教你用Air720 模块通过AT指令以MQTTS方式连接华为云(上篇)

教你用Air720 模块通过AT指令以MQTTS方式连接华为云(下篇)

Air720模块介绍

Air720模块是一款带分集接收功能的4G多模无线通信模块,其中Air720D支持LTE-TDD/GPRS双模,Air720H支持LTE-TDD/LTE-FDD/TD-SCDMA/WCDMA/GPRS五模,二者硬件封装和软件完全兼容,几乎能够满足所有的M2M的需求,包括汽车及个人追踪服务、无线POS机、智能计量、工业级PDA以及其它M2M的应用
##Air720支持两种开发模式

  1. 传统的AT指令模式:MCU通过AT指令控制Air720H进行网络数据传输或其他各种应用;
  2. 合宙特有的Lua脚本二次开发模式:Air720H拥有丰富的硬件接口及GPIO,可以通过Lua脚本调用由合宙
    官方提供的API接口对外设或GPIO进行编程设计,省掉主控MCU,极大的减少了客户的开发周期和成本

本文介绍一下如何使用AT指令模式连接华为云。

首先介绍一下涉及到的AT指令,AT指令固件从V1104版本增加了MQTT证书认证方式,而这也是华为云MQTT连接需要CA证书,正好可以使用Air720模块实现这个功能。

方向 AT命令 说明
AT+CGATT? 查看当前GPRS附着状态
+CGATT: 1 state>=1, 标明当前GPRS已经附着
OK
AT+FSCREATE=”server.crt” 创建CA 证书文件
OK
AT+FSWRITE=”server.crt”,0,1402,15 1402是华为云CA证书的实际长度,15是超时时间
> 出现>符号后输入CA证书文件的内容
CA证书文件的实际内容
OK 证书接收完成
AT+SSLCFG=”cacert”,88,”server.crt” 设置CA证书证书文件名称, server.crt为CA证书文件名称
OK
AT+MCONFIG=,,
OK
AT+SSLMIPSTART=,
OK
CONNECT OK 收到这条后发下面指令
AT+MCONNECT=1,60 建立mqtt会话
OK
CONNACK OK 收到CONNACK OK后才能发布和订阅消息
AT+MSUB=”mqtt/topic”,0 订阅
OK
SUBACK
AT+MPUB=”mqtt/topic”,0,0,”SSSSddddd”
+MSUB: “mqtt/topic”,9 byte,SSSSddddd
AT+MDISCONNECT 关闭MQTT连接
OK

以上是涉及MQTTS连接的指令,具体指令参加官网AT命令手册

下面先用SSCOM以手动方式测试一下连接华为云的方法,其中的连接参数是我已经在华为云建立好的设备连接参数,后文会介绍如何在华为云建立产品和设备,并获取连接参数的方法。


  1. 华为云CA证书。把下面内容保存到一个文本文件中,命名为server.crt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    -----BEGIN CERTIFICATE-----
    MIID4DCCAsigAwIBAgIJAK97nNS67HRvMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNV
    BAYTAkNOMQswCQYDVQQIEwJHRDELMAkGA1UEBxMCU1oxDzANBgNVBAoTBkh1YXdl
    aTELMAkGA1UECxMCQ04xDDAKBgNVBAMTA0lPVDAeFw0xNjA1MDQxMjE3MjdaFw0y
    NjA1MDIxMjE3MjdaMFMxCzAJBgNVBAYTAkNOMQswCQYDVQQIEwJHRDELMAkGA1UE
    BxMCU1oxDzANBgNVBAoTBkh1YXdlaTELMAkGA1UECxMCQ04xDDAKBgNVBAMTA0lP
    VDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJxM9fwkwvxeILpkvoAM
    Gdqq3x0G9o445F6Shg3I0xmmzu9Of8wYuW3c4jtQ/6zscuIGyWf06ke1z//AVZ/o
    dp8LkuFbBbDXR5swjUJ6z15b6yaYH614Ty/d6DrCM+RaU+FWmxmOon9W/VELu2BB
    NXDQHJBSbWrLNGnZA2erk4JSMp7RhHrZ0QaNtT4HhIczFYtQ2lYF+sQJpQMrjoRn
    dSV9WB872Ja4DgcISU1+wuWLmS/NKjIvOWW1upS79yu2I4Rxos2mFy9xxz311rGC
    Z3X65ejFNzCUrNgf6NEP1N7wB9hUu7u50aA+/56D7EgjeI0gpFytC+a4f6JCPVWI
    Lr0CAwEAAaOBtjCBszAdBgNVHQ4EFgQUcGqy59oawLEgMl21//7F5RyABpwwgYMG
    A1UdIwR8MHqAFHBqsufaGsCxIDJdtf/+xeUcgAacoVekVTBTMQswCQYDVQQGEwJD
    TjELMAkGA1UECBMCR0QxCzAJBgNVBAcTAlNaMQ8wDQYDVQQKEwZIdWF3ZWkxCzAJ
    BgNVBAsTAkNOMQwwCgYDVQQDEwNJT1SCCQCve5zUuux0bzAMBgNVHRMEBTADAQH/
    MA0GCSqGSIb3DQEBCwUAA4IBAQBgv2PQn66gRMbGJMSYS48GIFqpCo783TUTePNS
    tV8G1MIiQCpYNdk2wNw/iFjoLRkdx4va6jgceht5iX6SdjpoQF7y5qVDVrScQmsP
    U95IFcOkZJCNtOpUXdT+a3N+NlpxiScyIOtSrQnDFixWMCJQwEfg8j74qO96UvDA
    FuTCocOouER3ZZjQ8MEsMMquNEvMHJkMRX11L5Rxo1pc6J/EMWW5scK2rC0Hg91a
    Lod6aezh2K7KleC0V5ZlIuEvFoBc7bCwcBSAKA3BnQveJ8nEu9pbuBsVAjHOroVb
    8/bL5retJigmAN2GIyFv39TFXIySw+lW0wlp+iSPxO9s9J+t
    -----END CERTIFICATE-----
  2. 连接参数

-1. AT+MCONFIG=8598553f-1f3d-47e6-a7b4-bbdabce316ba_0_0_2019071115,8598553f-1f3d-47e6-a7b4-bbdabce316ba,36d37c72b6cb7f5eb04cc2499946d835121e22ae866783cf9792627b7ca59624
-2. AT+SSLMIPSTART=49.4.93.24,8883
-3. AT+MSUB="/huawei/v1/devices/8598553f-1f3d-47e6-a7b4-bbdabce316ba/command/json", 0
-4.AT+MSUB="/huawei/v1/devices/8598553f-1f3d-47e6-a7b4-bbdabce316ba/data/json", 0
-5.AT + MPUB = "/huawei/v1/devices/8598553f-1f3d-47e6-a7b4-bbdabce316ba/data/json", 0,0,"{\22msgType\22:\22deviceReq\22,\22data\22: [{\22serviceId\22: \22ServiceWin\22,\22serviceData\22:{\22Status\22: },\22eventTime\22:\2220180915T121606Z\22}]}"

3.连接过程和结果,按照下图命令顺序和上面给出的连接参数,可以看到连接,订阅,发布几个过程成功。


华为云设置过程

注册华为云账号,并完成实名认证。

过程就不详述了。具体进入华为云IOT开发者注册链接,按照提示一步步完成

进入开发者中心

点击免费体验


点击+,新建项目





保存应用ID和密匙,这个在应用开发时需要用到,在MQTTS链接时不需要。

进入新建项目,新建产品


点击产品开发

点击新建产品

选择自定义产品


填写产品信息,其中协议类型选MQTT,数据格式选JSON

然后进入产品开发,选刚刚建立的产品,进入Profile定义,也就是定义数据点

参照下图进行profile定义,实际上是定义了一组Json数据格式


进入在线调测,点击新增测试设备

选择真实设备,设备名和标识随便填,连接方式选直连

点击创建,生成的设备ID和密匙要记下来,一会儿需要用来生成MQTTS的连接参数。

写不下了,分成两篇,未完待续,见下篇。
教你用Air720 模块通过AT指令以MQTTS方式连接华为云(下篇)

上次更新 2021-01-28