==ESP8266 wifi 模块评估== 我们使用wifi模块的UDP功能实现Paigo与上位机软件的通信,避免tcp繁琐的连接过程。wifi模块可配置成AP模式,即自己建立热点,也可以建立成STA模式,即加入路由器的网络,下面对这两种模式分别进行了评估。 ===STA UDP模式=== ====配置过程==== AT+CWMODE=1 设置模块WIFI模式为STA模式 AT+RST 重启生效 AT+CWJAP="NT_Shanghai","c2h2c2h2" 加入WIFI热点,输入密码 AT+CIPMUX=0 开启单连接 AT+CIPSTART="UDP","192.168.4.2",8086 建立UDP连接到”192.168.4.2”,8086的UDP通信 AT+CIFSR 获取IP和MAC地址 AT+CIPMODE=1 设置成透传模式 AT+CIPSEND 进入透传 ====性能:==== {| class="wikitable sortable" |- ! 发送距离(m)!! 发送速率(byte/s) !! 发送(包) !! 接收(包) !! 丢包率(%) !! 备注 |- |局域网覆盖范围||10K(接近115200波特率)||1542||1536||0||UDP不可靠传输,因为经过路由器中转,所以存在少量丢包的情况 | |} ===AP UDP模式=== ====配置过程==== AT+CWMODE=2 设置模块WIFI模式为AP模式 AT+RST 重启生效 AT+CWSAP="ATK-ESP8266","12345678",1,4 设置模块的AP参数:SSID为ATK-ESP8266,密码为12345678,通道号为1,加密方式为:WPA_WPA2_PSK AT+CIPMUX=0 开启单连接 AT+CIPSTART="UDP","192.168.4.2",8086 建立UDP连接到”192.168.4.XXX”,8086 AT+CIFSR 获取IP和MAC地址 AT+CIPMODE=1 设置成透传模式 AT+CIPSEND 进入透传 ====性能==== {| class="wikitable sortable" |- ! 发送距离(m)!! 发送速率(byte/s) !! 发送(包) !! 接收(包) !! 丢包率(%) !! 备注 |- |1(走动)||10K(接近115200波特率)||1542||1542||0||AP模式下的单一连接,丢包的情况难发生 |- |5(走动)||10K(接近115200波特率)||1542||1542||0|| |- |25(走动)||10K(接近115200波特率)||1542||1542||0|| | |} ===常用AT指令=== ATE0 取消回显功能,ATE1是打开。 +++(取消回车换行) 返回指令模式 AT+CWLIF AP模式下查看已经连接进来的IP 和 mac AT+CIPSTA="192.168.6.100" 设置STA模式下的静态IP ===问题=== *单包发送数据量大于MTU(IP包>1480 bytes),数据将丢失。 *现象:wifi模块UDP不能初始化端口,只能主动去连接UDPserver才能生成端口,所以需要思考如何让手机与WiFi模块建立通信。 *解决方法: #AP模式下能够检测到连接进热点的手机IP,则Paigo能主动向手机发起UDP通信。 #STA模式下可将手机主机号为静态IP,则wifi模块获取到网络号后能主动向手机发起UDP通信。 #STA模式下将wifi模块设置成静态IP,wifi模块随意建立一个UDP假通信就能产生静态端口,手机将IP发给模块,模块就能重新建立到手机的UDP通信。 ==HC05蓝牙模块评估== ===性能=== {| class="wikitable sortable" |- ! 发送距离(m)!! 发送速率(byte/s) !! 发送(包) !! 接收(包) !! 丢包率(%) !! 备注 |- |18(走动)||10K(接近115200波特率)||848||848||0|| |- |25(走动)||10K(接近115200波特率)||526||493||6||22米处数据传输开始出现卡顿 | |} ===问题=== *HC05蓝牙模块使用的是蓝牙2.1,IOS并未向安卓2.1兼容,所以不能用。 ==WLT2564M 蓝牙模块== WLT2564M使用TI的CC2564蓝牙芯片,集成蓝牙3.0和4.0的双模协议栈,模块还采用了音频处理芯片AM5064做主控芯片,主要的使用场景是制作蓝牙音箱和蓝牙耳机,使用方式和模块说明详见《WLT2564M_Standard_Module_AT_Command_V6.0(English Version)》和《WLT2564M模块说明书 V2.0》。 ===常用AT指令:=== *显示蓝牙模块的重要信息:AT+MINFO *AT接收数据: +IND=SPPREAD,10,hahahahaha,0x0001 //10:接收的数据长度 0x0001:SPP端口号 *AT发送数据: #AT+SPPSEND=10,0x0001 #hahahahaha //发送的10数据 *进入透传模式: AT+THROUGHPUT ===性能评估=== {| class="wikitable sortable" |- ! 发送距离(m)!! 发送速率(byte/s) !! 发送(包) !! 接收(包) !! 丢包率(%) !! 备注 |- |18(走动)||10K(接近115200波特率)||795||795||0|| |- |30(走动)||10K(接近115200波特率)||832||724||8||26米处数据传输开始出现卡顿 |- |30(走动)||20||185||185||0||26米处数据传输开始出现卡顿 | |} ===问题=== *调试的时候AT指令无响应,原因是LDOIN 和 LDOOUT接反了。 *需要连接建立以后才能进入透传模式 *Pin code: 就是连接密码 *蓝牙发送数据没有长度限制。