其实Arduino有自身的wifi模块,但价格不菲,一般都在400+。好在人民的智慧是无穷的,无线路由器成了改造成wifi模块的理想替代品。很多无线路由器都支持被改造,但TP-link WR703N最为流行,它小巧,价格便宜,自带usb口。
动手之前必须对openWRT有稍许的了解。来自百度的解释:OpenWrt的被描述为一个嵌入式设备的Linux发行版,而不是试图建立一个单一的,静态的固件,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序通过使用包。对于开发人员,OpenWrt的是框架来构建应用程序,而无需建立一个完整的固件左右;对于用户来说,这意味着完全定制的能力,从来没有预想的方式使用该设备。
我们改造的目的:让WR703N成为可以和Arduino沟通的wifi模块,同时也让摄像头能通过wifi模块实时传输到第三方。这个场景常见的是wifi小车。推荐仔细观看DfRobot拍摄的
教学视频。
改造的核心步骤
- 将openWRT刷入WR703N。
- 为openWRT安装支撑软件。
- 正确识别接入路由器的arduino。
- 正确识别接入路由器的摄像头。
- 整体调试
将openWRT刷入WR703N
- 下载适合的openWRT升级文件:http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
- 将电脑接入路由器,在工具-》系统升级里选择刚下载的文件,点击升级。静等升级完自动重启路由器。
为openWRT安装支撑软件
- 使用第三方工具putty通过telnet方式接入路由器。也可以使用winscp等工作,直接操作openWRT文件。
- 修改openWRT配置文件/etc/config/wireless和/etc/config/network,以将路由器接入另一个能上网络的wifi。
- 安装minicom工具:执行1 opkg update 2 opkg install minicom 。
正确识别接入路由器的arduino
- 将路由器通过mini usb口直接由电源供电,将arudino nuo的usb线接入路由器。
- 安装串口识别库:执行1 opkg install kmod-usb-serial-ftdi 2 opkg install kmod-usb-acm 。
- 执行ls /dev查看设备情况,如果是arduino UNO,应该有ttyACM0,表示成功识别。
- 设置minicom,执行minicom -s启动minicom,选择Serial port setup,修改1 Serial Device: /dev/ttyACM0 2 波特率修改为9600 3 Hardware Flow Control改为 NO .
- 测试,可以写个简单的arduino程序,读取串口数据x,然后串口输出resut:x。 这样在minicom中输入字符,看arduino的返回结果。
- 退出minicom,按 ctrl+A,然后按Q。
正确识别接入路由器的摄像头
- 在路由器上取下arduino,接上摄像头。可以为uvc或是301芯片的摄像头,需要安装不同的驱动程序。这里接入罗技uvc摄像头。
- 安装支撑库,执行1 opkg udpate 2 opkg install kmod-video-uvc 。
- 安装视频处理软件,执行 opkg install mjpg-streamer 。具体可参看这里。
这里我遇到问题是无法安装,openWRT的空间上并没有该程序,所以我采用离线安装办法。1 安装依赖的库 opkg install libjpeg 2 执行 opkg install libpthread 3 将下载的mjpg-streamer_r148-3_ar71xx.ipk通过winscp复制到/tmp目录下。 4 执行 opkg install /tmp/mjpg-streamer_r148-3_ar71xx.ipk
- 配置 mjpg-streamer,修改 /etc/config/mjpg-streamer。修改option enabled为1,其他分辨率和帧率自选。当我选640×480时,10fps无法支持,只能5fps。也可以选择10fps的320×240。
- 安装摄像头驱动。安装kmod-i2c-core、kmod-usb-video、kmod-video-pwc。执行ls /dev查看是否有video0,有就证明成功识别摄像头了。
- 让mjpg-streamer随路由器启动,执行/etc/init.d/mjpg-streamer enable
- 启动mjpg-streamer,执行/etc/init.d/mjpg-streamer start 。此时应该摄像头灯亮起。在浏览器里(chrome)输入http://192.168.2.1:8080/?action=stream ,其中192.168.2.1为你配置的路由器地址。一切顺利的话你就能看到实时视频了!
整体调试
- 修改路由器网络配置/etc/config/wireless,以成为独立的AP。执行wifi命令以生效。
- 改造连线方式,将路由器usb口接一个usb hub,然后摄像头和arduino分别接入hub。
- 通过手机接入wifi,经由telnet发送指令测试arduino,在手机的浏览器里打开http://192.168.2.1:8080/?action=snapshot查看摄像头截图。
过程忽略了一些细节。相关工具和文件请在附件里下载。
分享到:
相关推荐
编程软件 arduino-1.8.10-windows编程软件 arduino-1.8.10-windows编程软件 arduino-1.8.10-windows编程软件 arduino-1.8.10-windows编程软件 arduino-1.8.10-windows编程软件 arduino-1.8.10-windows编程软件 ...
Arduino上的MODBUS库,可与PLC等进行MODBUS通讯
Arduino-chirp-arduino.zip,为Arduino啁啾为Arduino啁啾,Arduino是一家开源软硬件公司和制造商社区。
arduino-Due-schematic(首款ARM架构Arduino处理器).Arduino Due搭载的是一块ARM Cortex-M3 32位处理器,它是第一款基于32位ARM核心微控制器的Arduino板。它有54个数字输入/输出引脚(其中12个可用作PWM输出),12...
Arduino-KY-040-Encoder-Library---Arduino.zip,KY-040编码器的Arduino库KY-040编码器库---Arduino,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供...
Arduino入门教程--课前准备--Arduino驱动安装及1.0IDE菜单介绍
Arduino-arduino-nunchuk.zip,为Arduino改进的Wii Nunchuk库NOTEskull:,Arduino是一家开源软硬件公司和制造商社区。
US-100超声波测距模块在Arduino平台上的使用说明
该资源为arduino-1.8.13-windows.exe,欢迎下载使用哦!
Arduino-Android-App-HC05-Arduino.zip,向蓝牙HC05发送信号以与Arduino模块和Droid应用HC05 Arduino通信的Android应用程序,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,...
arduino-1.8.19--windows
Arduino-Homekit.zip,带Arduino框架的ESP32家庭套件家庭套件,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
arduino wifi 开发库文件,可以用于wifi相关开发,里面有使用示例
例程8-蜂鸣器.zip源码arduino例程代码元器件资料源码下载例程8-蜂鸣器.zip源码arduino例程代码元器件资料源码下载例程8-蜂鸣器.zip源码arduino例程代码元器件资料源码下载例程8-蜂鸣器.zip源码arduino例程代码元器件...
Arduino-AD9833-Library-Arduino.zip,控制AD9833波形发生器的库AD9833库Arduino,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
A library in arduino to control devices from IR