WIFI模块UART协议

上传人:博****1 文档编号:431716487 上传时间:2023-03-25 格式:DOC 页数:6 大小:233KB
返回 下载 相关 举报
WIFI模块UART协议_第1页
第1页 / 共6页
WIFI模块UART协议_第2页
第2页 / 共6页
WIFI模块UART协议_第3页
第3页 / 共6页
WIFI模块UART协议_第4页
第4页 / 共6页
WIFI模块UART协议_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《WIFI模块UART协议》由会员分享,可在线阅读,更多相关《WIFI模块UART协议(6页珍藏版)》请在金锄头文库上搜索。

1、WIFI物联网模块UART通信协议一、 WIFI远程控制模块的功能通过wifi的远程控制模块,我们将所有远程控制的功能,进行全部封装,其中包括WIFI连接、云服务器平台连接,控制终端软件的定制开发,用户认证检查,网络数据传输稳定性涉及等等;而用户相关的数据,只需通过UART接口,进行传递获取。下面进行将分别对功能部分进行简单描述1、WIFI连接该模块采用wifi连接方式,wifi的SSID以及PSK配置通过我们的开发的android ios软件进行配置,模块获取到配置信息之后,自动与wifi AP建立连接,当AP异常,重启等时,模块可以显示自动重连等功能,保证数据连接的稳定。1、 与云服务器连

2、接WIFI连接成功之后,自动选择连接到云服务器平台,等待用户控制和相关的功能2、 控制终端软件(iphone android)配置部分配置部分,包括了模块的WIFI SSID PSK的配置,本地局域网设备的自动搜索,添加到用户的管理列表。3、 控制终端控制功能控制终端能通过本地局域网控制和远程控制,并根据实际的用户网络实现自动切换。控制过程中,局域网优先原则,如果控制终端和设备在同一个网段,通过本地局域网控制。4、 设备的登录认证在设计过程中,设备的安全认证,与用户使用的WIFI网络安全相结合的方式,用户通过自身的WIFI局域网的认证之后,可以自动搜索和控制本局域网的设备。认证的加密是通过WI

3、FI的SSID和PSK以及随机32位数值,自动生成。通信协议流程:控制终端,发送命令通过本地局域网或者云服务器平台,将请求命令转给控制模块,而模块通过UART接口从太阳能热水器设备中获取相应的结果,然后返回给控制终端。二、 模块的硬件接口规范 如图上所示为模块的尺寸安装图,做为测试,可以首先只需要连接VCC GND TXD RXD引脚。接口说明:V3.3 设备为模块供电接口,电压为3.3VGND 地线RESET_KEY 对模块复位的外部引脚,通过持续10s的高电平,可以将模块的配置全部复位,推荐的电路连接如下,通过按键与VCC相连,这样用户长按键10s可以将模块的所有配置复位。R 模块的读信号

4、,UART数据从设备到模块(如果5V的话,推荐电阻分压或者串联电阻10K电阻的方式)T 模块的写信号,UART 数据从模块到设备L 为指示灯,可以直接通过一个电阻与LED灯相连,指示模块的工作状态。LED快速闪烁,表示处于WIFI配置状态,LED慢速闪烁,处于连接WIFI状态,LED灯常亮,表示已经正常连接另外没有标识的管脚,用来固定,必须悬空。硬件功耗指标:待机功耗:11.4mAWIFI发送功耗: IEEE802.11b 266mA IEEE802.11g 198mA接收功耗: 106mA如果是5V转3V,推荐使用LDO ASM1117三、WIFI物联网模块和设备状态模块状态用来表示模块的网

5、络连接状态,状态枚举类型如下(默认可以定义为MODULE_CONNECTING):enum module_status_eMODULE_CONFIG, /模块处于配置状态,提示用户使用APP配置连接网络MODULE_CONNECTING, /模块正在连接配置的WIFI网络MODULE_WIFI_LINK, /模块已经正常连接到WIFI 路由器,/但是未与云服务器建立连接,只能本地控制,无法远程控制MODULE_CLOUD_LINK, /正常连接到云服务器,可以本地和远程控制;同时考虑设备的UART,可能由于某种原因处于busy状态,因此模块没法正常与设备通信,因此定义设备的状态。注意:模块默认

6、情况下认为设备处于READY状态,设备可以通过UART接口来修改其所处的状态。该产品,不需要处理这个功能。enum device_status_eDEVICE_READY, /设备ready接受模块的命令DEVICE_BUSY, /设备busy,无法接收模块的命令,请等待设备ready,/注意设备不能长时间处于busy状态,这样可能导致远程控制由于等待超时,而配置失败;同时添加设备对模块的复位操作,该复位操作会将模块的所有配置信息,包括WIFI网络配置信息复位,使用户重新配置网络接口。同时模块提供时间查询和60字节的存储空间,可以用于设备的查询和一些数据的读写。四、UART接口规范模块与主设备

7、的连接通过TTL电平的UART传输方式,连接信号: GND TXD RXD VCC(3.3).串口通信波特率配置:9600,校验位 NONE 数据位 8 停止位 1。模块发送命令之后,应该在200ms得到response,否则上层会判为超时。下面将UART之间通信的规范:下面定义通信的协议:1、 协议头typedef struct stream_head_t UINT32 magic_code; /Start data for frame. Lets define as 0x5a5aa5a5; UINT16 checksum; / checksum等于头和数值的累加/To check whet

8、her data stream is right. Its the checksum for both head and data UINT16 type; /Define command type. UINT32 len; /Define data stream len. stream_head_t2、 具体的协议内容/*定义远程控制命令*/enum remote_command_e /*用户定义命令接口*/ GET_STATUS, /*获取状态请求*/ GET_STATUS_RES, /*返回设备的配置和状态信息*/ SET_CONFIG, /*设置设备的配置*/ SET_CONFIG_R

9、ES, /*返回设备的配置和状态信息*/ /*其他用户命令*/ /*下面的命令定义模块标准的通用接口,处理模块与设备之间的状态*/ MODULE_RESET = 1000, /1000以下保留给USER Define的命令/*将模块配置复位, DEVICE - MODULE, 无数据部分*/MODULE_RES, /*模块确认收到命令, MODULE - DEVICE,无数据部分*/DEVICE_READY, /*配置设备处于ready状态,可以接收module命令,DEVICE-MODULE,模块会MODULE_RES确认收到命令*/ DEVICE_BUSY,/*配置设备处于busy状态,不

10、能接收module命令,DEVICE-MODULE,模块会MODULE_RES确认收到命令*/MODULE_STATUS,/*发送模块的状态给DEVICE, MODULE - DEVICE,发送的参数为enum的设备状态值,长度为32bits,(4个字节)*/;3. checksum的计算方法/*Get the data checksum*/首先设置checksum的值为0,然后将uart 头和data内容,相加得到的值UINT16 uartcsum(uart_head_t *uart_head, UINT8 *data, int len) UINT16 csum_cal = 0xbeaf;

11、int i; UINT8 *tmp = (UINT8 *)uart_head; uart_head-checksum = 0; for(i = 0; i sizeof(uart_head_t); i+) csum_cal += tmpi; for(i = 0; i 模块 A5 A5 5A 5A 98 C1 E8 03 00 00 00 00 /*MODULE_RESET*/ 主控设备发送复位命令给模块模块接收到复位命令之后,返回: A5 A5 5A 5A 99 C1 E9 03 00 00 00 00 MODULE_RES 模块响应主控设备发送的命令2、 模块的状态 MODULE_STATUS

12、模块状态命令,模块主设备 A5 A5 5A 5A A0 C1 EC 03 04 00 00 00 00 00 00 00 /设备进入配置状态A5 A5 5A 5A A1 C1 EC 03 04 00 00 00 01 00 00 00 /设备进入连接AP状态A5 A5 5A 5A A2 C1 EC 03 04 00 00 00 02 00 00 00 /已经连接到AP,可以本地控制A5 A5 5A 5A A3 C1 EC 03 04 00 00 00 03 00 00 00 /已经正常连接到云服务,可以远程控制3、 DEVICE状态更新DEVICE可能处于BUSY状态无法接收数据,通过发送命令更新。Module会保持DEVICE的状态,默认为READY。DEVICE发送给MODULE之后,MODULE会返回确认命令MODULE_RES。A5 A5 5A 5A 9A C1 EA 03 00 00 00 00 DEVICE_READY 主控设备readyA5 A5 5A 5A 9B C1 EB 03 00 00 00 00 DEVICE_BUSY 主控设备忙模块返回:A5 A5 5A 5A 99 C1 E9 03 00 00 00 00 MODULE_RES 模块响应主控设备发送的命令六、 用户定义命令根据用户的产品需求,我们再详细定义用户交互的应用层数据。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号