搜索
bottom↓
回复: 0

九九物联基于单片机的WiFi透传设计

[复制链接]

出0入0汤圆

发表于 2019-1-11 10:16:30 | 显示全部楼层 |阅读模式
本文主要描述产品中使用单片机控制器设备完成IoT Wi-Fi网络通讯的一些通讯设计要求,包含硬件连接,软件架构搭建,天线设计以及无线信号的测试方法。以便达到产品更好的软件架构以及射频性能。
  本文应用于单片机控制器通过Uart串口或者SPI接口连接,通过AT+指令集驱动Wi-Fi芯片或者模组,并通过控制指令来连接网络,App以及云端服务器。
  部分技术内容适用于RTL8710BX芯片,并以九九物联AFW121、AFW125系列模组适配用于举例。



  
  1.3 I/O端口状态
  正常通讯,为初始化的I/O处于不确定状态,如果MCU有与模块的I/O连接实现控制,需要对模块的该I/O有上/下拉,模块在系统关闭的时候,I/O为高阻态。
  1.4 Wi-Fi模块CHIP_EN引脚管理
  A、 悬空——无法硬件控制系统的启动或者关闭,模块可正常使用;
  B、 设备控制——输出低电平可控制模块电源系统关闭,正常工作时,必须保持输出给该引脚的电平为高;对此引脚的电平跳变时间≥100ms;
  1.5 天线匹配
  用户在前期设置PCB阶段,必须考虑到模块整体布局:
  模块板载天线(受设备环境影响大)模块天线部分露出板边,天线上端、左右两边必须做到5mm以上的净空区域,确保模块天线底部不能有金属物质
  外接底板天线(受设备空间限制)模块Pin2可衔接底板天线,底板天线与模块Pin2管脚的连接线尽量短,只要天线在底板上做好匹配,模块不需要考虑天线匹配
  IPEX外扣天线(天线增益和效率高)可选FPC软质天线,符合2.4G频段要求即可,
  1.6 功耗参数功能功耗时间参数
  配网功耗≥320mA2-3s
  Socket建立连接70mA2-3s
  通讯功耗80-120mA——
  长连接Tickliss睡眠模式5mA唤醒时间1 ms
  深度休眠功耗10uA唤醒时间2s
  1.7 固件升级
  模块提供两种升级:A、有线高速串口升级 B、无线OTA升级
  
  1.8 RSSI漫游处理
  模块具有AP漫游的功能,在存在多个同名和同密码的AP环境中,设备如果移动工作的话,模块会每几秒钟自动查询当前连接的热点的RSSI值。当RSSI低于指定的最低界限值时,模块会扫描当前环境下的同名AP信号,并选取信号值最高的进行重新连接,可以实现在保持当前socket连接不断开的情况下,无缝切换同名AP。因开启此功能之后模块在功耗上会有所增加,默认是关闭的,可以根据客户的需求进行开启,一般适用于大型商场移动式手持设备。
  2 工具软件2.1 配网兼容性
  模块配网分别受AP热点编码格式、网络环境、手机系统兼容性三个因素影响;
  Ø AP(路由)编码格式影响(中文SSID):
  
 
  Ø 网络环境:
  

  当下可以用手机产生热点,确认模块是否有故障
  Ø 手机系统兼容:
  IOS可能由于版本升级,app软件需要同步升级。Android版本升级差异不大。
  2.2 AP热点加密方式
  通用的加密类型分别有:WEP、WPA、WPA2、WPA-PSK、WPA2-PSK
  WPA2-PSK的加密安全更加高,设置简单,对AP的兼容最普遍。
  2.3 网络信号强度以及分析工具
  用户在开发测试时,可能会出现一些不稳定情况,可以结合一些第三方工具,借助PC端无线网卡或者手机Wi-Fi;例如:inSSIDer、360概观;
  下面图片为inSSIDer.exe通过电脑网卡扫描周围环境的AP信息:
  
  
  2.4 软件功能逻辑测试
  Ø 局域网环境下:
  A、 在与AP距离足够近情况下,测试整个软件工作流程;例如从上电到正常运行的逻辑场景
  B、 测试Socket连接后,大数据传输的压力测试
  C、 Socket连接压力测试,是否存在连续的建立失败
  Ø 连接外网服务器:
  A、 服务器的稳定性
  B、 连接外网的AP稳定
  2.5 性能稳定测试事项
  Ø 局域网环境下测试,PC端建立服务器
  Ø 使用工具:
  软件NetAssist网络调试助手,PC端建立服务器
  串口助手软件可双向监控主设备和模块直接的通信流程
  Wireshark捉包软件,利用电脑无线网卡监控数据
  硬件串口工具USB转TTL
  3 MCU软件逻辑规划
  3.1 上电启动流程
  
  
  3.2 关于建立Socket连接问题
  
  
  3.3 关于指令的执行时间
  指令可分为:基础指令,Wi-Fi控制指令,网络查询指令,网络数据传输指令(TCP/UDP指令)、提示指令;
  每条指令都需要在最后带上“\r\n”,用户输入的指令结尾没有“\r\n”,模块会回显“ERROR\r\n”;详细指令的格式参数,请参考“AT+Command”;
  以下主要介绍一些指令的执行时间:
  指令类别AT指令执行时间特殊说明
  基础指令——10—50ms
  Wi-Fi控制指令AT+WLAPPARAM=《SSID》,《SEC》,[PSW]2—4s
  AT+WLSTAPARAM=《SSID》,《PSW》2—15s
  AT+WLCLOSE1—2s
  AT+WLSIMPLECONFIG——超时1分钟
  AT+AIRKISS——超时1分钟
  AT+WLAPCONFIG——1分钟退出
  TCP/IP指令AT+NWKCTCP3—18s
  AT+NWKCUDP
  网络查询指令————
  提示指令————
  3.4 关于低功耗Tickless
  Tickless mode—模块上电后即可操作指令进入,可在连接Wi-Fi和不连接Wi-Fi的情况下工作,进入该模式,模块会在每10s唤醒,在无任何操作响应情况下瞬间睡眠。
  表3为Tickless模式唤醒说明
  
  4 Wi-Fi性能压力测试4.1 关于Wi-Fi与云端通信协议
  Wi-Fi模块目前对接的云端可分两类:
  A、 公用云:亚马逊、阿里云、京东等等;对接该云端,模块端做好与该云的标准协议接口;如果存在数据协议对接,仅仅是MCU对云端的数据协议封包和解析;MCU端只需正常的操作AT指令集,封装好的数据帧通过Socket收发,最后各自解析。
  B、 私有云:机智云、深智云、或者用户自己搭建云平台等等;对接该云端,实现原理同上。
  4.2 AP连接压力测试
  
  说明:1、以上面的三个步骤为一个循环周期,进行至少200次周期以上的压力测试;
  2、由于连接AP的过程模块跟路由器的交互过程比较复杂,数据包接收和发送的次数比较多,依赖于路由器的配置及稳定性,网络状况是否良好,路由器负载和编码格式等因素,所以无法做到所有路由器的连接成功率都在百分之百。模块出厂前都会做路由器的兼容性测试,测试次数在1000次以上,在网络状况良好,连接路由器的设备在路由器的负载之内的情况下,能达到95%以上的成功率。如果测试出现连接AP成功率低90%的情况下,可以更换路由器或在网络状况良好的环境(信道不拥堵)下测试。
  4.3 Socket建链压力测试(TCP)
  
  说明:1、以上面的七个步骤为一个循环周期,进行至少200次周期以上的压力测试;每一条指令出现失败,都可以统计为一次
  2、在连上AP后并成功分配IP,服务器和网络状况畅通的情况下,建立TCP的成功率在99%以上。
  
  能否增加一个通讯速率,包含SPI最高通讯速率,完全透传设置,UART最高通讯速率,完全透传设计
  4.4 路由器兼容性以及测试方法
  路由兼容性测试方法是以不同品牌不同型号和不同配置的路由器为AP热点,进行网络性能压力测试。
  以下为部分路由测试分析报告,测试项目都是基于4.2、4.3的流程
  
  5 关于配网,成功率参数
  1. AP模式,airkiss,STA,BLE+WIFI配网差别,资源需求。
  Ø AP模式配网需要配合九九物联的配网APP,配网成功率相对比较高,能达到98%以上。
  Ø airkiss配网需要配合微信的airkiss功能,配网成功率在90%以上,部分手机可能存在兼容性问题。
  Ø BLE+WIFI配网成功率跟AP配网一样,成功率比较高,但是需要有蓝牙模块的支持,设备如果同时有蓝牙模块可以选此方案。
  Ø simpleconfig配网,配网成功率和原理跟arikiss一样,使用九九物联的配网app可以实现。
  2. 路由器兼容性同信道设置关系,隐藏ID以及不同国家设置
  路由器兼容性主要是路由器的编码格式和一些路由器的配置问题,MCU在给模块发送连接AP指令时,SSID和PASSWORD编码方式需要跟路由器一致。
  3. 出口国家信道设置关系
  信道的设置根据不同国家和地区的法制法规,开放的信道不一样,模块默认是国内的规格,如果需要出口到国外,需要告知我们,我们会 根据不同的地区设置不同的信道参数。
  6 掉线分析
  如果是长连接的TCP连接,连上服务器之后如果出现异常断开,MCU端可以重新发送指令建立连接。长连接的TCP连接由于网络堵塞和服务器等原因,有时候长时间不进行数据交流,会出现断开的情况,此时只需要重新连接即可,若一直连接不上,需要排查网络原因,可以将模块的log串口接到PC端,用串口软件记录模块输出的log信息,并保存下来提供给我们分析。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 22:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表