前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2-开发共享版APP(接入指南)-设备接入说明:快速接入

2-开发共享版APP(接入指南)-设备接入说明:快速接入

作者头像
杨奉武
发布2019-08-01 12:47:19
6730
发布2019-08-01 12:47:19
举报
文章被收录于专栏:知识分享知识分享

https://www.cnblogs.com/yangfengwu/p/11249674.html

该APP安装包下载链接:

http://www.mnif.cn/appapk/IotDevelopmentVersion/20190730/app-debug.apk

 APP源码获取方式:(请阅读宝贝说明)

此APP建立在基础篇,升级篇,数据篇和安全篇.只有把这些篇章全部学过才能看得懂源码!

https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.70471debVGb9G8&ft=t&id=569295486025

https://gitee.com/yangfengwu/qqqqqdevelopmentshare.git    //提供的测试固件

注:后期将提供支持升级的固件!

根据自己的Wi-Fi模块型号选择,刷的地址为0

该固件的功能:

1,MQTT透传,请外加单片机实现下面介绍的回复查询和控制的协议

2,GPIO0按下3S指示灯快闪进入SmartConfig ,此时可以用APP搜索绑定

一,设备快速接入:

请设置自己设备连接的MQTT信息:

用户名:yang

密码:11223344

IP地址:mnif.cn

端口号:1883或者8883(SSL连接暂时请忽略认证错误),建议使用此端口

注:快速接入方式

 APP默认订阅的主题为  device/Wi-Fi的MAC地址       或  device/GPRS模块的IMEI

 APP默认发布的主题为  user/Wi-Fi的MAC地址          或  user/GPRS模块的IMEI

通信控制协议:所有协议为JSON格式

数据的data字段表明现在的数据是干什么用的

以下  \"  只是为了组合成JSON格式的字符串   

单路开关协议: data:switch开关数据            bit:1 第一路              status:-1/0/1 APP查询设备状态/断开/吸合

  //下面两条协议为设备的遗嘱和上线信息

代码语言:javascript
复制
设备断线: "{\"data\":\"status\",\"status\":\"offline\"}"
设备上线: "{\"data\":\"status\",\"status\":\"online\"}"  //这两条信息具体看下面 Wi-Fi 接入部分
代码语言:javascript
复制
APP发送的查询指令:(用来查询设备状态,和获取开关状态)
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"-1\"}" //查询第一路开关的状态
设备返回:(根据当前开关状态返回)
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}" /  "{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
代码语言:javascript
复制
//APP控制开关吸合消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}"
//设备查询后返回的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}"
代码语言:javascript
复制
代码语言:javascript
复制
//APP控制开关断开的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
//设备查询后返回的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
代码语言:javascript
复制

1,WIFI接入:

请自行实现Wi-Fi的SmartConfig功能,APP会通过SmartConfig获得模块的MAC地址

设置Wi-Fi订阅的主题: user/Wi-Fi的MAC地址

设置Wi-Fi发布的主题: device/Wi-Fi的MAC地址

设置MQTT遗嘱:发布的主题device/Wi-Fi的MAC地址,遗嘱消息  "{\"data\":\"status\",\"status\":\"offline\"}"     retain 位必须设置为1

设置设备连接上MQTT以后发布的第一条消息: 

发布的主题device/Wi-Fi的MAC地址

遗嘱消息  "{\"data\":\"status\",\"status\":\"online\"}"   retain 位必须设置为1

部分参考程序(ESP8266 LUA开发):

代码语言:javascript
复制
clientid = wifi.sta.getmac() //获取MAC
SubscribeTopic = "user".."/"..clientid  //设备发布的主题
PublishTopic = "device".."/"..clientid  //设备订阅的主题

 //遗嘱
Mymqtt:lwt(PublishTopic, "{\"data\":\"status\",\"status\":\"offline\"}", 0, 1)

//链接成功MQTT发布的第一条消息
Mymqtt:publish(PublishTopic,"{\"data\":\"status\",\"status\":\"online\"}", 0, 1, function(client)end)

打开APP

添加设备                       选择Wi-Fi                首先让自己的设备执行SmartConfig

搜索设备                       搜索成功将自动添加               控制页面

2,GPRS接入:

APP绑定GPRS为扫描二维码方式

以合宙的Air202为例:

模块上的二维码为模块的IMEI号,APP通过扫描此二维码获取IMEI

模块程序订阅的主题: user/模块的IMEI

模块程序发布的主题: device/模块的IMEI

其余通信请和上面的介绍的协议保持一致!

绑定步骤

为区分设备可以长按设备修改名称:

https://cloud.tencent.com/developer/article/1478315

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档