micropython8266ota_MicroPython_ESP8266_IoT——第四回 初入联网(接入了贝壳物联)

第四回 初入联网(接入了贝壳物联)本来计划先把所有的硬件介绍完,再介绍如何介入贝壳物联的。但是那样就比较枯燥,还是先尝试接入贝壳物联,来增加ESP8266模块的可玩性。需要了解贝壳物联平台通信协议 ,如果不想了解,可以跳过通讯协议这小节,不影响后面学习,等到后面有疑问再来这小节里面寻找。忘记说了,可以先去贝壳物联官网熟悉熟悉,最好自己注册账号,在后续试验中使用自己的设备;通信协议这里使用TCP(w...
摘要由CSDN通过智能技术生成

第四回 初入联网(接入了贝壳物联)

本来计划先把所有的硬件介绍完,再介绍如何介入贝壳物联的。但是那样就比较枯燥,还是先尝试接入贝壳物联,来增加ESP8266模块的可玩性。

需要了解贝壳物联平台通信协议 ,如果不想了解,可以跳过通讯协议这小节,不影响后面学习,等到后面有疑问再来这小节里面寻找。

忘记说了,可以先去贝壳物联官网熟悉熟悉,最好自己注册账号,在后续试验中使用自己的设备;

通信协议

这里使用TCP(websocket)长连接协议,先主要介绍通讯地址,通讯数据格式和命令列表。

通讯地址

通讯方式:TCP或websocket

TCP端口:8181,还有其他的8282,8585

Websocket端口:8383,8484

若选用8181端口则,服务器不主动发送心跳包,靠客户端主动发送心跳包保持在线,心跳间隔以40~50s为佳;

说人话,就是设备需要间隔40~50s向服务器发过去一个指令,用于通知服务器端,自己还活着,因为时间间隔非常有规律,所以拟称为心跳包。

其他情况,自行了解;

通讯数据格式

Json字符串 + 换行符,比如:

{"M":"beat"}\n

这种形式也叫做Json New Line。

命令列表

常用的命令有10种,分别是:设备登录(加密);

发送实时数据;

用户和设备上线通知数据;

用户或设备下线通知数据;

用户与设备、设备与设备、用户与用户间沟通指令数据;

查询设备或用户是否在线;

查询当前设备状态;

发送报警信息;

查询服务器时间;

强制目标设备下线;

命令,都是一句Json New Line的数据格式(有点类似于Python的字典),以包的形式,向服务器发出。

详细介绍设备登录和发送实时数据,熟悉了这两个就可以完成基本的想服务器发送指令的操作了。

设备登录(加密)

格式:

{"M":"checkin","ID":"xx1","K":"xx2"}\n

说明: M —— 固定(Method) checkin —— 固定,登录指令 ID —— 固定 xx1 —— 可变,设备ID,在会员中心查看 K —— 固定(apiKey) xx2 —— 可变,设备apikey,在会员中心查看 设备登录后,如果在1分钟内无数据传送,连接将被自动关闭。 若保持设备长期在线,可每隔50秒向服务器发送一次信息,任何信息均可。

返回结果(登录信息正确时返回,错误无任何返回,如果设备已登录,也将无任何返回信息,且不会登录成功):

{"M":"checkinok","ID":"xx1","NAME":"xx2","T":"xx3"}\n

说明: M —— 固定(Method) checkinok —— 固定,设备登录成功指令 ID —— 固定 xx1 —— 可变,设备登录成功后,用于通讯的唯一ID,其组成为字符“D"+设备ID,如D24

NAME —— 固定 xx2 —— 可变,该设备的名称 T —— 固定(time) xx3 —— 可变,服务器发送信息时的时间戳,自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。发送实时数据

发送实时数据

格式:

{"

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值