电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
【野火i.MX6ULL ARM Linux开发板连载】通过串口调试wifi
分 享
扫描二维码分享
【野火i.MX6ULL ARM Linux开发板连载】通过串口调试wifi
野火
ARM
linux
瑟寒凌风
关注
发布时间: 2021-02-08
丨
阅读: 2130
野火开发板使用的无线芯片型号AP6236,包含wifi和蓝牙两个功能,其中与wifi通信的使用SDIO协议,与蓝牙通信的是串口。 SDIO在SD标准上定义了一种外设接口。目前,SDIO主要有两类应用:可移动和不可移动。可移动设备作为Palm和Windows Mobile的扩展设备,用来增加蓝牙、照相机、GPS和802.11b功能。不可移动设备遵循相同的电气标准,但不要求符合物理标准。 本文使用野火i.MX6ULL开发板的串口通过全双工方式调试另一个wifi芯片,该芯片型号为C322,主要是在使用SDIO协议之外,再通过其他方式来让ARM主控板可以连接无线网络。 # C322 C322是一款高性能的wifi模块。该模块是为实现嵌入式系统的无线网络通讯的应用而设计的一款低功耗 802.11 b/g/n 模块。通过该模块,可以将物理设备连接到 WiFi 网络上,从而实现物联网的控制与管理。 该模块硬件上集成了 MAC、基频芯片、射频收发单元、以及功率放大器;采用 TI 公司的 CC3200 芯片方案,内核为工业级 ARM Cortex-M4 内核,运行频率达 80MHz;内置超低功耗运行机制,可以有效实现模块的低功耗运行;支持 WiFi 协议以及 TCP/IP 协议,用户仅需简单配置,即可实现 UART 设备的联网功能。 尺寸较小,易于焊装在客户产品的硬件单板电路上。且模块可选择内置或外置天线的应用,方便客户多重选择。 # 联网模式设置 该无线模块有两种wifi工作方式,STA和AP。 通过这两种组网方式,可以通过设备节点和设备终端完成网络拓扑的构建方法,提供十分灵活的使用方式。 ## STA方式 模块作为STA是一种最常用的组网方式,由一个路由器AP和许多STA组成。其特点是 AP 处于中心地位,STA之间的相互通信都通过 AP 转发完成。如果 AP 已经接入外部网络,则设备数据可以传输到外网的服务器。 ![](https://cf04.ickimg.com/bbsimages/202102/57a95101418b7c0e8d3e39bc522a2976.jpg) 在该模式中,模块作为客户终端使用,可以通过搭载本模块的设备完成物联网的远程控制,它的使用就像我们的手机,笔记本,是一个终端设备。 在使用该方式组网时,需通过AT指令进行系统配置。 ``` //设置 STA 工作方式 AT+WMODE=STA ``` ## AP方式 模块作为AP模式,可以通过手机/PAD/电脑在无需任何配置的情况下,快速接入模块进行数据传递。 AP方式就相当于使用手机时,通过手机热点向外辐射wifi信号,其它设备可以连接这个wifi信号,完成设备的访问。在该方式下,最多只支持一个STA设备的访问,大大降低设备的可扩展性。 ![](https://cf04.ickimg.com/bbsimages/202102/fb313e830ec1cf06726877d2e48cab26.jpg) AP模式下不需要外围设备,既可以实现无线终端到设备的连接。网络可扩展性较差。 ``` //设置 AP 工作方式 AT+WMODE=AP ``` # Socket通信 模块本身支持多种方式,包括TCP Server,TCP Client,UDP Server,UDP Client,这次调试中使用模块作为TCP客户端来进行配置,通过电脑使用TCP服务端来进行通信。 在TCP Client模式下,模块自动链接已设定的服务器。如果服务器未开启或者链接不成功,模块会间隔1秒重连一次,如果用户设置服务器地址为域名,则模块会自动进行域名解析。 配置TCP客户端模式的AT指令是 ``` AT+SOCKA=TCPC,IP,PORT ``` 其中PORT指的是远端的服务器端口号,IP指的是服务器的IP地址或者域名。 # 调试方式 我们使用TCP客户端方式进行通信 ![](https://cf04.ickimg.com/bbsimages/202102/5e7886e69984b2e3b8a402485455d78e.jpg) 首先,我们用手机搜索当前环境中有哪些wifi,做个备注 ![](https://cf04.ickimg.com/bbsimages/202102/506c152743af6903b37e02ac13e1cec2.jpg) 确保电脑通过有线或者无线连接到我们将要使用的路由器上,这样做主要是让模块联网后可以与电脑在同一网段下,保证通信的可靠性。 我们在电脑上打开TCP调试助手,建立一个TCP服务器 ![](https://cf04.ickimg.com/bbsimages/202102/210af4deb6861d2a509ca9b48d7915df.jpg) 我这里的ip是自动获取的电脑ip,端口设置成60000,该端口会在wifi模块连接时使用。 通过串口连接C322模块,我们首先使用命令设置该模块的IP为静态获取IP,设置IP地址为192.168.2.241,子网掩码255.255.255.0,默认网关192.168.2.1,其AT指令如下 ``` AT+WANN=STATIC,192.168.2.241,255.255.255.0,192.168.2.1,192.168.2.1 ``` 重启模块生效。 然后我们通过AT指令查询一下模块的IP,看看是都设置成功,指令如下 ``` AT+WANN ``` 通过发送该指令,获取到回复结果如下,与设置的一致,表示IP设置成功。 ![](https://cf04.ickimg.com/bbsimages/202102/cb667529d916b7d04daf2ff8f35a7686.jpg) 然后设置组网方式为STA,AT指令如下 ``` AT+WMODE=STA ``` ![](https://cf04.ickimg.com/bbsimages/202102/d3284efcd89b49648598cf89ecf774d6.jpg) 接下来扫描周围的wifi信号,该模块我使用的板载天线,不过感觉信号还是有那么强,说明模块的通行能力确实不错。AT指令如下 ``` AT+WSCAN ``` 反馈回来的结果如下 ![](https://cf04.ickimg.com/bbsimages/202102/805437c9688fabd7fe9165d3ed1fa314.jpg) 该结果可以与上面手机搜索的结果做对比,可以发现其实结果是一致的,这说明该模块稳定,没有漏掉wifi信号。 我们选择其中的一个信号,自己要事先知道其密码才行,注意,这里说的选择,其实需要我们自己手动输入wifi名称,AT指令如下(我的wifi密码是12345678) ``` AT+WSTA=Crost_Visiter,12345678 ``` 返回中会有OK字样,如果不是OK,表示密码或者wifi名称输入错误。 ![](https://cf04.ickimg.com/bbsimages/202102/894303a58f20dfef121cf05f9d977535.jpg) 这样就建立了一个wifi连接,可以通过命令查看连接: ``` AT+WSLK ``` ![](https://cf04.ickimg.com/bbsimages/202102/2fbf90994ca9e719aa3b42f75f716a28.jpg) 最后那个70是信号强度。 然后我们开始测试TCP的连接。 在这里我们需要使用电脑的IP和端口来建立连接,我的ip:192.168.2.68,端口:60000;使用AT指令如下 ``` AT+SOCKA=TCPC,192.168.2.68,60000 ``` ![](https://cf04.ickimg.com/bbsimages/202102/e2cf6004854755137e71d6f22f22a47a.jpg) 这时在TCP调试助手上可以看到建立了一个连接 ![](https://cf04.ickimg.com/bbsimages/202102/49b9f377b3d59185502813e6a38fe03a.jpg) 即可通过串口工具,向C322模块输入数据,然后通过TCP与服务器建立通信。 ![](https://cf04.ickimg.com/bbsimages/202102/9bbcee124c7b3b942a9fd822d57f0139.jpg) 本次测试完毕,后续将通过代码调用野火开发板的串口功能,实现自动搜索wifi信号,输入密码后自动联网,进行数据交互,敬请期待。
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
瑟寒凌风
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交