打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
BeiTown's Coder 编码之源 ? Arduino机器人开发指南(六)wifi通信篇

Arduino机器人开发指南(六)wifi通信篇

这里的wifi模块即之前已经采购的TP-LINK wr703n无线路由器。
在使用之前,我们需要对路由器进行改装,主要硬件工作如图

引出TTL的RX线及TX线,这里将其连接到了miniUSB口上了。自制一根miniUSB排线,另外加天线及扩展内存、闪存(这个属于非必须工作,扩展后性能会有一个提升)

软件方面的工作是刷路由系统为openwrt,安装ser2net(串口命令转发,tcp向ttl转发,感兴趣的朋友可以去看看源码 )及摄像头支持组件(mjpg-streamer 如果不用到摄像头也可以不装)

这些在论坛上有详细的资料和方法(需要注意,刷机风险很大,容易变砖),或者可以直接购买改装路由,改装路由是已经刷好系统并安装好组件的。
详细过程不在本篇的介绍范围,有机会的话,后续会开篇。

测试前,首先在Arduino上烧入一个串口监听程序,由于有了LCD模块,所以一并用上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "Wire.h"
#include "LiquidCrystal.h"
String incomingStr;
LiquidCrystal lcd(0);

void setup() {

    Serial.begin(9600);
    lcd.begin(16, 2);
    lcd.setBacklight(HIGH);

}

void loop() {

    if (Serial.available() > 0) {

        lcd.setCursor(0, 0);
        lcd.clear();

        while(Serial.available() > 0){
            incomingStr += char(Serial.read());
        }
        lcd.print(incomingStr);
        Serial.print("I received: ");
        Serial.println(incomingStr);
        incomingStr = "";
    }

}

此程序用于在LCD及监视端回显串口信息,大家可以根据自己的情况更改。

打开串口监听器,发送信息,此时LCD及PC监听器的视窗都会回显刚才的字符串。
如图:

接下来我们将703n路由器与Arduino相连接,将路由器引出的TTL的RX(读取)与Arduino的TX(发送)相连,同理,路由的TX连接Arduino的RX。在mega2560上,RX0为D0引脚,TX0为D1引脚。

这个时候开机时LCD会出现一些乱码,这是正常现象(后续对路由的tx信号做筛选处理即可),证明路由器已经与Arduino连接成功了。
将PC或手机通过wifi连接到wr703n路由器上。
通过telnet命令对openwrt系统中的ser2net程序进行操作,ser2net之前已经设置好了端口号,这里为2001。

如需修改将openwrt系统中 /etc/ser2net.conf文件打开,修改相应端口好即可。

此时运行telnet命令 telnet 192.168.1.1 2001 后连接成功 但一发送数据会出现断开,原因是openwrt禁止了arduino向路由器的tx信号,要开启双向通信,需要修改配置文件,不习惯使用linux命令行和vi编辑器的朋友可以使用winscp进行连接.

如图,连接成功后,修改/etc/inittab文件 中的 ttyATH0::askfirst:/bin/ash –login 这一行,在其前端加#号屏蔽或直接删除

保存后重启路由。此时再次telnet 2001端口 发送数据,回显如下(这里用的是手机端的telnet)

相应的在LCD上也显示出了相同数据,说明此时手机端与Arduino端的通讯成功。

这里补充几个常见问题:
1.openwrt在出厂情况下可以使用telnet 192.168.1.1 进行连接,一旦设置账号密码后,需要使用SSH方式进行连接。
2.在烧程序如Arduino时请断开和路由器的TTL连接,否则会暂用USB的RX、TX串口,使程序无法正常烧入。

至此,本篇已经完成了最基础的Arduino wifi信号传输,基于此通信框架,分别对上位机(PC端、移动终端)和下位机(Arduino及机械模块)进行拓展,即可完成更多的wifi控制项目。

谢谢关注。

BeiTown

2013.03.30

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【路由改造】支持锐捷,实现大学校园无线WiFi
Arduino YúN 测评(四)OpenWRT生态
Openwrt安装软件的方法
图解:教你防止WiFi被盗用
红米Redmi AX6000开启SSH、Telnet及OpenWrt/LEDE刷机教程,附件增加救砖...
360v6路由器刷openwrt 教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服