主要内容与步骤
1、模块的初始化
初始化测试可以看我的第三篇笔记(ESP8266模块探索(三)工作模式与通信测试),下面是初始化函数,注释很清楚:
2、发送函数,发送函数和接收函数是参照网上的例程,在此深表感谢
3、接收函数
为了方便数据的处理,定义一个结构体,这个结构体成员包括:一个用来保存接收到的数据的数组、定义一个位段类型的结构,表示接收到的数据的长度和数据接收完成标志,结构体如下:
4、点亮和熄灭Led灯的函数编写
5、蜂鸣器驱动函数编写
6、上位机发送的数据,我是先将整数以字符串的形式,发送给单片机,然后再讲字符串转换成整数,如下面的01、02就是当APP界面上的按钮按下时,发送给单片机的字符串。
7、对客户端发送过来的数据进行处理,因为单片机接收到的数据不仅仅是手机发送过来的字符串“01”、“02”,而是这样的:+IPD,0,2:01,其中表示服务器分配给客户端的ID,2表示接收到的字符串的长度,“01”才是我们需要的数据,所以要对字符串“+IPD,0,2:01”进行截取,得到我们需要的“01”,同时为了后面switch语句方便,将字符串“01”转换成整形值,字符串转换为整数可以使用库函数atoi()函数。
8、根据接收到的客户端的数据,通过switch来调用Led点亮、Led熄灭、蜂鸣器驱动函数
经过测试,代码可以顺利运行,而且反应速度也挺灵敏。
有些代码,比如串口处理函数,AT指令发送函数等由于太长,贴出来的图片看不清楚,就不贴了,大家可以下载下面完整的工程来详细了解。
百度云链接:
单片机代码:https://pan.baidu.com/s/1hsU72Qw
密码:q613
手机APP代码:https://pan.baidu.com/s/1dGSRWkD
密码:ub56
领取专属 10元无门槛券
私享最新 技术干货