安信可CA-01首款4G模组以物模型连接阿里云物联网,实现远程控制;

一.前言

    最近安信可在推出了一块新的4G模组,注意是4G模块,于是乎,很多朋友问我怎么开发, 这里我分享笔记给大家看看!

    因本人不玩AT指令,但应各位要求,迅速花费一小时完成博文!

    模块官方文档资料:https://docs.ai-thinker.com/gprs
在这里插入图片描述

二.在阿里云注册一个产品;

    这里我选择为标准品类,数据格式为 Alink Json 协议!

在这里插入图片描述

2.1 新建一个产品

在这里插入图片描述

在这里插入图片描述
    然后,拿到URL,端口号等服务器信息;下面会用到!

2.2 服务器下发控制:

在这里插入图片描述

这时候串口收到:

+MSUB: "/sys/a1PcEbO4qmU/CA01-01/thing/service/property/set",102 byte,{"method":"thing.service.property.set","id":"1164426096","params":{"LightStatus":0},"version":"1.0.0"}

2.3 设备上报消息:

2.3.1 普通透传上报:

AT+MPUB="/sys/a1PcEbO4qmU/CA01-01/thing/event/property/post",1,0,"test1"

    这时候,我们可以从阿里云物联网的日志服务查看看到了这条消息上报:
在这里插入图片描述

2.3.2 物模型上报:

    物模型上报是指遵循alink协议,这协议干嘛的?就是阿里云自研的协议,现在广泛用到了天猫精灵/阿里飞燕平台上上报,统一了设备上报,那么这个协议和我们普通上报有什么不同?

    我举个例子吧!我们在设备详情打开物模型数据,发现有一系列的表,可以实时刷新设备数据,大家有没有疑问设备上报数据时候,如何更新到这个表里面?其实遵循alink物模型协议即可!

在这里插入图片描述
    比如,我要更新这个属性LightStatus1,我们应该这样的payload上报,以此类推怎么样的属性需要在后台一一查询对应!

{
	"id": "123",
	"version": "1.0",
	"params": {
		"LightStatus": 1
	},
	"method": "thing.event.property.post"
}

所以,我们会这样写指令:

AT+MPUB="/sys/a1PcEbO4qmU/CA01-01/thing/event/property/post",1,0,"{"id":"123","version":"1.0","params":{"LightStatus":0},"method":"thing.event.property.post"}"

    但是以上在模组上是识别不了,部分字符需要转义哈!所以,下面是正确的格式!

原字符 转义后
" \22
\r \0D
\n \0A

最后得到这样:

AT+MPUB="/sys/a1PcEbO4qmU/CA01-01/thing/event/property/post",1,0,"{\22id\22:\22123\22,\22version\22:\221.0\22,\22params\22:{\22LightStatus\22:0},\22method\22:\22thing.event.property.post\22}"
  • 所以,整套流程如下:
AT+CGMR //初始化系统
AT+CGATT? 
AT+SAPBR=3,1,"CONTYPE","GPRS"
AT+SAPBR=3,1,"APN","CMIOT"
AT+SAPBR=1,1
//配置连接MQTT的参数:clientID,username,password
AT+MCONFIG="123456|securemode=3,signmethod=hmacsha1|","CA01-01&a1PcEbO4qmU","25E223E51DFF4F6D7001F12E00F006EA685E1918"
//连接MQTT服务器: URL,端口号
AT+MIPSTART="a1PcEbO4qmU.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
//描述=设置心跳
AT+MCONNECT=1,200
//订阅主题
AT+MSUB="/sys/a1PcEbO4qmU/CA01-01/thing/service/property/set",1
//发布主题,上报物模型协议;
AT+MPUB="/sys/a1PcEbO4qmU/CA01-01/thing/event/property/post",1,0,"{\22id\22:\22123\22,\22version\22:\221.0\22,\22params\22:{\22LightStatus\22:0},\22method\22:\22thing.event.property.post\22}"

另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转esp8266带你飞、加群QQ群,不喜的朋友勿喷勿加:434878850
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

猜你喜欢

转载自blog.csdn.net/xh870189248/article/details/106121172