当前位置: 首页 > news >正文

电路研究9.3.10——合宙Air780EP中的AT开发指南:阿里云应用指南

        这个好像也用不到,不过可以先贴出来。简单看了一下也没深入分析,直接扒过来了,感觉涉及到了上位机的学习了。我这下位机的可能用不到,就是贴过来好了。

        应用概述

        使用 AT 方式连接阿里云分为一机一密和一型一密,其中一机一密又包含 HTTP 认证二
次连接和 MQTT 直连两种方式。
        步骤
        1. 训练波特率
        2. 激活 PDP (之前也研究过了,也设置过了。下面再贴一遍过来吧。)

        使用如下AT命令,激活了一路id为1、APN为自动获取的默认APN的PDP承载(就是连接并开启了相关通道,无需在担心通讯了,算是设备本身的资料了)

        AT+SAPBR=3,1,"CONTYPE","GPRS"

        OK

        AT+SAPBR=3,1,"APN",""

        OK

        AT+SAPBR=1,1

        OK

        AT+SAPBR=2,1

        +SAPBR: 1,1,"10.55.40.48"

        OK

        3. 连接阿里云
        这个本次研究就是这个了。
        材料准备
        准备设备证书及产品证书。
        1.
        --设备证书
        {
        "ProductKey": "a1qsHBbKtmc",
        "DeviceName": "866714044533668",
        "DeviceSecret": "c25262e140bb58d4ec3de5028a2cc836"
        }--产品证书
        {
        "ProductSecret": "nNmPacH5aL8EViD4",
        "ProductKey": "a1qsHBbKtmc"
        }
        阿里云操作
        产品操作
        打开阿里云找到物联网平台,开通业务后进入控制台。
        点开设备管理的产品页面,点击新建产品。根据需求和图示说明创建产品。
        具体详细介绍见阿里云页面(如何在物联网平台创建产品_物联网平台(IoT)-阿里云帮助中心
        设备操作
        创建产品完成后就可以进入设备页面添加设备,在对应产品页面进入设备管理,按照提示添
加设备 (在做正式产品时建议使用 imei devicename,方便后期维护)
        阿里云设备创建
        连接阿里云
        一机一密 AT HTTP 鉴权连接
        首先需要使用 HmacMD5 计算哈希值用于签名,使用网址:计算工具
        明文:
        clientId866714044533668deviceName866714044533668productKeya1qsHBbKtmc
        秘钥: c25262e140bb58d4ec3de5028a2cc836
        结果: 655d19e9c43e27d8c66419a6724eb56a
        拼接 DOWNLOAD 参数
        productKey=a1qsHBbKtmc&sign=655d19e9c43e27d8c66419a6724eb56a&clientId=866714044533668&deviceName=866714044533668
        具体交互流程如下所示
        [2021-05-21 20:24:55.620]# SEND ASCII>
        AT+HTTPINIT
        [2021-05-21 20:24:55.674]# RECV ASCII>
        AT+HTTPINIT
        OK
        [2021-05-21 20:25:04.547]# SEND ASCII>
        AT+HTTPPARA="URL",https://iot-auth.cn-shanghai.aliyuncs.com/auth/devicen
        ame
        [2021-05-21 20:25:04.601]# RECV ASCII>
        AT+HTTPPARA="URL",https://iot-auth.cn-shanghai.aliyuncs.com/auth/devicen
        ame
        OK
        [2021-05-21 20:25:11.724]# SEND ASCII>
        AT+HTTPPARA="USER_DEFINED","Content-Type:
        application/x-www-form-urlencoded"
        [2021-05-21 20:25:11.776]# RECV ASCII>
        AT+HTTPPARA="USER_DEFINED","Content-Type:
        application/x-www-form-urlencoded"
        OK
        [2021-05-21 20:25:22.028]# SEND ASCII>
        AT+HTTPDATA=120,20000
        [2021-05-21 20:25:22.078]# RECV ASCII>
        AT+HTTPDATA=120,20000
        DOWNLOAD
        [2021-05-21 20:25:29.643]# SEND ASCII>
        productKey=a1qsHBbKtmc&sign=655d19e9c43e27d8c66419a6724eb56a&clientId=866714044533668&deviceName=866714044533668
        [2021-05-21 20:25:42.079]# RECV ASCII>
        OK
        [2021-05-21 20:25:52.388]# SEND ASCII>
        AT+HTTPACTION=1
        [2021-05-21 20:25:52.450]# RECV ASCII>
        AT+HTTPACTION=1
        OK
        [2021-05-21 20:25:53.034]# RECV ASCII>
        +HTTPACTION: 1,200,124
        [2021-05-21 20:25:59.556]# SEND ASCII>
        AT+HTTPREAD
        [2021-05-21 20:25:59.624]# RECV ASCII>
        AT+HTTPREAD
        +HTTPREAD: 124
        {"code":200,"data":{"iotId":"8rCqP6OVgi90P5a479IC000000","iotToken":"^1^1621599952882^218a0a267fc6c36"},"message":"success"}
        OK--收到服务器返回数据其中 iotId MQTT Client 的用户名,iotToken 的值为 MQTT Clientd 的密码
        [2021-05-21 20:29:48.876]# SEND ASCII>
        AT+MCONFIG="866714044533668","8rCqP6OVgi90P5a479IC000000","^1^1621599952882^218a0a267fc6c36"
        [2021-05-21 20:29:48.932]# RECV ASCII>
        AT+MCONFIG="866714044533668","8rCqP6OVgi90P5a479IC000000","^1^1621599952882^218a0a267fc6c36"
        OK
        [2021-05-21 20:29:57.900]# SEND ASCII>
        AT+SSLMIPSTART="a1qsHBbKtmc.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
        [2021-05-21 20:29:57.950]# RECV ASCII>
        AT+SSLMIPSTART="a1qsHBbKtmc.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
        OK
        [2021-05-21 20:29:58.474]# RECV ASCII>
        CONNECT OK
        [2021-05-21 20:30:03.332]# SEND ASCII>
        AT+MCONNECT=1,120
        [2021-05-21 20:30:03.383]# RECV ASCII>
        AT+MCONNECT=1,120
        OK
        [2021-05-21 20:30:03.493]# RECV ASCII>
        CONNACK OK
        一机一密 AT 直连 MQTT
        当设备属于公共实例,使用一型一密预注册认证方式时,动态注册参数如下:
        mqttClientId:clientId+"|securemode=3,signmethod=hmacsha1,timestamp=132323232|"
        mqttUsername: deviceName+"&"+productKey
        mqttPassword: sign_hmac(deviceSecret,content)
        具体交互流程如下所示
        [2021-05-21 21:26:59.670]# SEND ASCII>
        AT+MCONFIG="866714044533668|securemode=3,signmethod=hmacmd5|","866714044533668&a1qsHBbKtmc","655d19e9c43e27d8c66419a6724eb56a"
        [2021-05-21 21:26:59.725]# RECV ASCII>
        AT+MCONFIG="866714044533668|securemode=3,signmethod=hmacmd5|","866714044533668&a1qsHBbKtmc","655d19e9c43e27d8c66419a6724eb56a"
        OK
        [2021-05-21 21:27:00.958]# SEND ASCII>
        AT+SSLMIPSTART="a1qsHBbKtmc.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
        [2021-05-21 21:27:01.007]# RECV ASCII>
        AT+SSLMIPSTART="a1qsHBbKtmc.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
        OK
        [2021-05-21 21:27:01.567]# RECV ASCII>
        CONNECT OK
        [2021-05-21 21:27:02.333]# SEND ASCII>
        AT+MCONNECT=1,120
        [2021-05-21 21:27:02.385]# RECV ASCII>
        AT+MCONNECT=1,120
        OK
        [2021-05-21 21:27:02.527]# RECV ASCII>
        CONNACK OK
        一型一密 AT 方式连接
        一型一密与一机一密的主要区别在于第一次连接的时候需要根据协议请求秘钥。首先需要在阿里云打开动态注册开关如下图所示。
        用到的参数如下所示。
        {
        "ProductSecret": "nNmPacH5aL8EViD4",
        "ProductKey": "a1qsHBbKtmc"
        "DeviceName" "866714044533668"
        }--random 为随机数,长度不定
        productKey=a1qsHBbKtmc&deviceName=866714044533668&random=123456&sign=073074d8b722eacb1f6d2054d99e9d64&signMethod=HmacMD5e10adc3949ba59abbe56e057f20f883e
        明文:deviceName866714044533668productKeya1qsHBbKtmcrandom123456
        秘钥:nNmPacH5aL8EViD4
        HmacMD5 计算结果:073074d8b722eacb1f6d2054d99e9d64d8d847e2558c6382fc35d2c91f626501a1qsHBbKtmcnNmPacH5aL8EViD4
        ProductKey = b1KCi45LcCP
        ProductSecret = VWll9fiYWKiwraBk
        DeviceName = 862991419835241
        productKey=a1qsHBbKtmc&deviceName=866714044533668&random=123456&sign=073074d8b722eacb1f6d2054d99e9d64&signMethod=HmacMD5deviceName866714044533668productKeya1qsHBbKtmcrandom123456nNmPacH5aL8EViD4073074d8b722eacb1f6d2054d99e9d64
当设备属于公共实例,使用一型一密预注册认证方式时,动态注册参数如下:
        mqttClientId:
        clientId+"|securemode=2,authType=xxxx,random=xxxx,signmethod=xxxx|"
        mqttUserName: deviceName+"&"+productKey
        mqttPassword: sign_hmac(productSecret,content)
        AT 交互流程如下
        [21:37:43.379]AT+HTTPINIT
[21:37:43.383]AT+HTTPINIT
        OK
        [21:37:48.704]
        →◇AT+HTTPPARA="URL","https://iot-auth.cn-shanghai.aliyuncs.com/auth/register/device"
[21:37:48.713]
        ←◆AT+HTTPPARA="URL","https://iot-auth.cn-shanghai.aliyuncs.com/auth/register/device"
        OK
        [21:37:55.164]AT+HTTPPARA="USER_DEFINED","Content-Type:application/x-www-form-urlencoded"
         [21:37:55.170]AT+HTTPPARA="USER_DEFINED","Content-Type:application/x-www-form-urlencoded"
        OK
        [21:38:00.207]AT+HTTPDATA=120,20000
[21:38:00.215]AT+HTTPDATA=120,20000
        DOWNLOAD
        [21:38:07.980]
        →◇productKey=a1qsHBbKtmc&deviceName=867435054361274&random=123456&sign=f25999d2e8ff8f5854b95d0ea9e0cd0c&signMethod=HmacMD5
[21:38:07.989]
        OK
        [21:38:17.459]AT+HTTPACTION=1
[21:38:17.467]AT+HTTPACTION=1
        OK
        [21:38:18.931]
        +HTTPACTION: 1,200,149
        [21:38:23.636]AT+HTTPREAD
        [21:38:23.645]AT+HTTPREAD
        +HTTPREAD: 149
        {"code":200,"data":{"deviceName":"867435054361274","deviceSecret":"82cdb125154973a7c9fac52be5b757c2","productKey":"a1qsHBbKtmc"},"message":"success"}
        OK
        发布与订阅消息
        发布
        [2021-05-21 23:02:04.961]# RECV ASCII>
        CONNACK OK
        [2021-05-21 23:02:16.503]# SEND ASCII>
        AT+MPUB="/a1qsHBbKtmc/866714044533668/user/update",0,0,"HelloWorld"
        [2021-05-21 23:02:16.554]# RECV ASCII>
        AT+MPUB="/a1qsHBbKtmc/866714044533668/user/update",0,0,"HelloWorld"
        OK
        订阅
        [2021-05-21 23:04:59.487]# SEND ASCII>
        AT+MSUB="/a1qsHBbKtmc/866714044533668/user/get",0
        [2021-05-21 23:04:59.603]# RECV ASCII>
        AT+MSUB="/a1qsHBbKtmc/866714044533668/user/get",0
        OK
        [2021-05-21 23:04:59.725]# RECV ASCII>
        SUBACK
        [2021-05-21 23:05:16.759]# SEND ASCII>
        AT+MQTTMSGSET=0
        [2021-05-21 23:05:16.808]# RECV ASCII>
        AT+MQTTMSGSET=0
        OK
        [2021-05-21 23:05:41.965]# RECV ASCII>
        +MSUB: "/a1qsHBbKtmc/866714044533668/user/get",7 byte,Hello!!
补:完全扒过来的,因为我不是很熟,就不深入分析了。
再补:实际上大差不差的,也就是AT指令的运行,如果用到了,可以也就会熟悉吧。不过最近动力不太足,这里暂时没气力了。
http://www.dtcms.com/a/269709.html

相关文章:

  • Deepoc大模型:重构无人机认知边界的具身智能革命
  • 华为泰山服务器重启后出现 XFS 文件系统磁盘“不识别”(无法挂载或访问),但挂载点目录仍在且无数据
  • WPA2 与 WPA3:深入解析Wi-Fi安全协议
  • Linux网络:UDP socket创建流程与简单通信
  • 手机能用酒精擦吗?
  • 前端学习3--position定位(relative+absolute+sticky)
  • Android kotlin 协程的详细使用指南
  • SpringBoot校园外卖服务系统设计与实现源码
  • EXCEL链接模板无法自动链接到PowerBI?试试这个方法
  • 自动驾驶的“安全基石”:NVIDIA如何用技术守护未来出行
  • 最新 HarmonyOS API 20 知识库 重磅推出
  • 【计算机网络】王道考研笔记整理(1)计算机网络体系结构
  • 嘉立创黄山派下载watch ui demo 教程(sf32)
  • Modbus TCP转Profinet网关实现视觉相机与西门子PLC配置实例研究
  • OpenCV 图像哈希类cv::img_hash::AverageHash
  • ​扣子Coze飞书多维表插件通用参数和通用返回值
  • Mysql常用内置函数,复合查询及内外连接
  • 利用外部Postgresql及zookeeper,启动Apache Dolphinscheduler3.1.9
  • 小程序订阅消息设计:用户触达与隐私保护的平衡法则
  • STM32-定时器
  • 冷链物流配送中心选址与路径优化模型研究
  • SpringBoot基础特性:自定义Banner与Swagger文档
  • houdini云渲染和云解算新选择
  • 易境通海运系统:赋能海运企业全链路数字化运营!
  • 【Note】《Kafka: The Definitive Guide》第11章:Stream Processing
  • BERT代码简单笔记
  • C#中封装halcon函数的报错
  • 代码详细注释:C语言实现控制台用户注册登录系统
  • Google AI 刚刚开源 MCP 数据库工具箱,让 AI 代理安全高效地查询数据库
  • 前后端分离(java) 和 Nginx在服务器上的完整部署方案(redis、minio)