==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: 就是连接密码
*蓝牙发送数据没有长度限制。