开发环境
开发工具
arduino
1.先安装好ArduinoIDE(如果已安装,直接跳到第二步)
https://www.arduino.cc/en/Main/Software
2.下载社区打包的esp32安装包,直接运行并解压即可。
我的百度云---arduino开发---esp32
如果安装过其他版本的esp32 sdk,请先删除,再使用本安装包
解压完成后,再打开Arduino IDE,即可在 菜单栏>工具>开发板 中找到你使用的esp32开发板
配置信息
配置.png功能
蓝牙配网
蓝牙分包接送避免苹果手机各种错误
写配置存FLASH
wifi连接网络
网络掉线自动重新连接
有网络自动连接mqtt
mqtt掉线重新连接
mqtt控制所有io口
mqtt控制开关蓝牙
蓝牙设置wifi信息mqtt信息
固件到qq群214161428下载
消息功能
- 蓝牙消息
功能
配置wifi
配置mqtt
蓝牙发送配置信息
//第一包
11111数据长度
//数据包
{"device_name":"设备名QQ547176052","mqtt_id":"","mqtt_Server":"qq547176052.mqtt.iot.gz.baidubce.com","mqtt_Port":1883,"mqtt_User":"qq547176052/u_1552915000950","mqtt_Password":"mqtt密码","mqtt_topic_device":"u_1552915000950","wifi_ssid":"FAST_C9E0","wifi_password":"ab13417665005ab"}
//最后一包
22222
//必须先发第一包 再发数据包 最后再发22222
//每包长度 设备没有限制 但是有些手机最长只能发20个字节
//接收消息格式正确判断 除 mqtt_id mqtt_Port wifi_ssid 外 每个参数长度大于2则判断为参数正确
//如果 mqtt_id 为空则自动随机生成一个长度为 10 的 mqtt_id
//wifi_ssid 这个参数没判断
//收到数据后会存入 esp32_FLASH 连接wifi 连接mqtt 订阅 mqtt_topic_device 发送一条消息 "Hello 我是 ESP32"
错误返回
json数据错误
正确返回
json数据正确
- mqtt消息
功能
控制开关蓝牙
控制全部io口高低电平
删除ini配置
返回各种消息
//写io
//收
{"my_topic":"s_1553067131819","ml":"xio","io":[{"pin":2,"v":0}]}
//返回
{'Message':'ok','ml':'xio'}
//读io状态
//收
{"my_topic":"s_1553067131819","ml":"dio","io":[{"pin":2}]}
//返回
{"my_topic":"s_1553067131819","ml":"dio","io":[{"pin":2,"v":0}]}
//关闭蓝牙
//设备收
{"my_topic":"s_1553067131819","ml":"qbly","qbly":false}
//设备回
{'Message':'ok','ml':'qbly',"qbly":false}
//打开蓝牙
//设备收
{"my_topic":"s_1553067131819","ml":"qbly","qbly":true}
//设备回
{'Message':'ok','ml':'qbly',"qbly":true}
(还没测试)
如果 mqtt_topic_device my_topic 一样则置空 my_topic
my_topic为空 不回复
if(strcmp(mqtt_topic_device,(const char*)myArray["my_topic"]) == 0){
Serial.println("设备topic == my_topic my_topic置空");
myArray["my_topic"] = "";
}
- 删除ini配置
{"my_topic":"","ml":"delete_ini"}
//删除配置后esp32重启
网友评论