`
yiqieanhao
  • 浏览: 67374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改造TP-link WR703N为Arduino WIFI通信和实时视频传输模块

阅读更多
其实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查看摄像头截图。


过程忽略了一些细节。相关工具和文件请在附件里下载。
分享到:
评论
5 楼 lein317 2017-09-01  
人才,居然想到usbhub!!!

 
4 楼 湖畔小小屋 2014-04-11  
很好的分享 很有用 我按照您推荐的DFRobot的视频一步步做下来 虽然我用的是MR10U的路由器,但是原理是一样的 ,所以都还是对上了 但是最后视频里面ping8.8.8.8一下子就成功了 可是我那一步却没有成功 在他设置的wan口我也按照自己的能上网的无线WiFi设置了 加密方式也改了 改成wpa2-psk 但是还是没有ping成功 登不上另一个路由器 所以真心想请教博主,不知道这会是什么原因
3 楼 yiqieanhao 2013-04-24  
zhannu24 写道
你好我的是arduino mage2560,openwrt要装那些usb驱动,谢谢

这个没试过,我想应该和UNO板一样,只是最后识别出来的设备名称可能不是ttyACM0,而是其他的。
2 楼 kongfuwang 2013-04-12  
 
1 楼 zhannu24 2013-03-22  
你好我的是arduino mage2560,openwrt要装那些usb驱动,谢谢

相关推荐

    编程软件 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-1.8.10-windows编程软件 ...

    Modbus-Master-Slave-for-Arduino-master.zip_Master/Slave_arduino

    标题中的"Modbus-Master-Slave-for-Arduino-master.zip_Master/Slave_arduino"指出这是一个关于Arduino平台的Modbus主从通信库。Modbus是一种广泛使用的工业通信协议,允许不同设备之间交换数据,尤其在自动化系统中...

    WiFi - 副本.zip_arduino wifi 模块 库文件_wifi

    这些模块基于特定的Wi-Fi芯片,如CC3000、WiFi101或ESP8266,通过SPI或串行接口与Arduino主板通信,让Arduino能够接入Wi-Fi网络,执行远程控制、数据采集和传输等功能。 **2. 库文件** 库文件是Arduino编程中的...

    Arduino-IRremote-master.zip_arduino_arduino irremote

    Arduino-IRremote是一个开源库,专为Arduino爱好者和开发者设计,用于接收和发送红外(IR)信号,从而控制各种红外设备,如电视、空调、DVD播放器等。这个库极大地扩展了Arduino的功能,使得与红外遥控设备交互变得...

    arduino-1.8.13-windows.exe

    在压缩包内的文件名称列表中,除了主要的安装文件"arduino-1.8.13-windows.exe"外,还有一个名为"arduino-1.8.13-windows.exe.txt"的文本文件。这个文件很可能是包含安装指南、许可协议或版本信息的文本文档,用户在...

    arduino-1.8.19--windows

    1. 下载:首先,访问Arduino官方网站下载对应版本的安装包,这里应为"arduino-1.8.19"。 2. 安装:双击下载的.exe文件,按照向导提示进行安装。安装过程中可以选择安装路径和创建桌面快捷方式等选项。 3. 设置驱动:...

    arduino-1.0.5-windows

    总的来说,"arduino-1.0.5-windows"是一个专为Windows用户设计的易于使用的开发工具,帮助编程爱好者和电子工程师快速开发基于Arduino的创意项目。其中文界面的特性使得更多中国用户能够无障碍地进入这个领域,体验...

    arduino-Due-schematic(首款ARM架构Arduino处理器)

    arduino-Due-schematic(首款ARM架构Arduino处理器).Arduino Due搭载的是一块ARM Cortex-M3 32位处理器,它是第一款基于32位ARM核心微控制器的Arduino板。它有54个数字输入/输出引脚(其中12个可用作PWM输出),12...

    Arduino-chirp-arduino,为Arduino啁啾。有助于啁啾.zip

    在“chirp-arduino-master”这个文件名中,“master”通常表示这是项目的主分支或最新版本。这意味着你下载的是该项目的核心代码库,可能包含了源代码、示例程序、库文件和其他必要的资源,供开发者在自己的项目中...

    Arduino-IRremote-master_arduinoirremote_Arduino-master_ArduinoIR

    Arduino-IRremote是一个开源库,专为Arduino用户设计,用于接收和发送红外(IR)信号。这个库是基于官方库进行修改的,使其更易用,功能更强大,适合初学者和有经验的开发者。本文将深入探讨这个库的核心原理、功能、...

    Arduino Uno Wifi的ArduinoWiFi.h资源和范例,以及简单配置

    Arduino Uno Wifi板子中如果开启wifi功能,可利用ArduinoWiFi.h相关资源快速实现,本下载资源包括ArduinoWiFi.h的库文件和相关范例,另附简单配置的说明文档。为什么不能改C币设置啦,真心不想收5个币啊 T-T

    Arduino-KY-040-Encoder-Library---Arduino.zip

    Arduino-KY-040-Encoder-Library---Arduino.zip,KY-040编码器的Arduino库KY-040编码器库---Arduino,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供...

    US-100超声波测距模块在Arduino平台上的使用说明

    ### US-100超声波测距模块在Arduino平台上的使用详解 #### 一、系统介绍 ##### 1.1 US-100超声波测距模块介绍 US-100是一款广泛应用于自动控制和检测领域的超声波测距模块。它能够实现从2厘米到4.5米的非接触式...

    Arduino-arduino-nunchuk,为Arduino改进了Wii Nunchuk库。为加布里埃尔·比安科尼/阿杜伊诺做贡献.zip

    Arduino-arduino-nunchuk.zip,为Arduino改进的Wii Nunchuk库NOTEskull:,Arduino是一家开源软硬件公司和制造商社区。

    hardcoded-iolink:Arduino的硬编码IO-Link

    IO-Link是一种标准的串行通信协议,主要用于工业自动化领域,它允许设备与控制器之间进行双向通信,传输传感器和执行器的数据。在Arduino环境中,使用C++编程语言,开发人员有时会直接在代码中指定IO-Link接口的引脚...

    Arduino IDE软件安装包arduino-1.8.9-windows

    首先,你需要下载压缩包并解压,解压后你会找到名为“arduino-1.8.9-windows.exe”的可执行文件。双击这个文件,安装过程就会开始。安装过程中,系统会提示你选择安装路径,你可以根据个人喜好选择保存的位置。通常...

    arduino-1.8.9-windows.rar

    这个“arduino-1.8.9-windows.rar”压缩包包含了适用于Windows操作系统的Arduino IDE的安装程序,版本号为1.8.9。此版本发布于2019年12月17日,是从官方渠道下载的,因此可以确保其安全性和可靠性。 1. **Arduino ...

Global site tag (gtag.js) - Google Analytics