物联网基础:EC20 MQTTS连接服务器进行加密数据传输 | 您所在的位置:网站首页 › mqtt怎么连接服务器 › 物联网基础:EC20 MQTTS连接服务器进行加密数据传输 |
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密 本文将介绍使用EC20 封装好的AT指令通过 MQTTS(即MQTT+SSL) 协议连接私有云服务器进行加密传输数据 1、准备工作 1.1 MQTTS 账号要连接私有云服务器,需有一个私有云服务器的mqtt客户端账号,笔者就用公司服务器的MQTTS测试账号做演示,后续涉及到账号密码相关部分打码,望理解 服务器地址及mqtts账号相关信息: 1.2 CA 证书使用MQTTS加密传输数据的话需要服务器提供一个CA证书,可向相关服务器技术人员咨询 用记事本打开CA证书,计算出CA证书的字节大小,后续需要用到,我所使用的CA证书大小为1163 1.3 MQTT工具连接服务器使用MQTT工具 MQTTBox模拟务器,订阅设备的发布主题,即能接收到设备发送到服务器的数据,也能模拟向设备下发数据 安装MQTTBox,填写服务器及设备MQTT的相关信息即能连接上服务器 再订阅设备的发布主题,即可接收到设备往服务器发送的数据 2、连接测试使用串口调试助手,选择 USB AT Port端口,并对串口调试助手做简单设置 2.1 AT指令连接云服务器:AT指令连接私有云服务器过程: 1)AT指令入网、模块测试 序号AT指令指令解析1AT测试指令,若返回OK,则模块可正常通信2AT+CPIN?检查SIM卡是否在位3AT+CSQ查询信号质量4AT+CREG?查询入网状态5AT+CGATT=1激活网络6AT+CGATT?查询激活状态7AT+CGPADDR获取PDP地址2)MQTTS参数配置 分别发送以下AT指令进行MQTTS参数配置(注意替换CA证书的相关指令部分部分): 序号AT指令指令解析1AT+QMTCFG="recv/mode"0,0,1配置为接收模式2AT+QMTCFG=“SSL”,0,1,2配置MQTT连接进入SSL模式3AT+QFUPL=“RAM:cacert.pem”,1163,100将CA证书保存到EC20 RAM4AT+QSSLCFG=“cacert”,2,“RAM:cacert.pem”配置CA证书5AT+QSSLCFG=“seclevel”,2,1选择SSL认证模式6AT+QSSLCFG=“sslversion”,2,4选择SSL版本7AT+QSSLCFG=“ciphersuite”,2,0xFFFF选择SSL密码套件8AT+QSSLCFG=“ignorelocaltime”,2,1配置身份验证时间3)连接服务器 注意:测试时需将服务器地址信息及MQTT账号信息替换成自己的账户信息 序号AT指令指令解析1AT+QMTOPEN=0,“121.36.47.54”,8883开启MQTT SSL 连接,连接服务器2AT+QMTCONN=0,“Clientid”,“Username”,“Password”配置MQTT连接 2.2 发送数据AT指令发送数据的过程如下: 序号AT指令指令解析1AT+QMTPUB=0,1,1,0,“PubTopic”发布主题消息2{params:{IndoorTemperature:55,mhumi:55}}发送的JSON数据30x1a数据结束符此时,可在MQTTBox数据接收区查看EC20往服务器发送的数据 2.3 接收数据AT指令接收服务器数据指令如下: EC20接收服务器下发的数据只需要订阅服务器的发布主题,即设备订阅主题:SubTopic 即能接收到服务器下发的数据 序号AT指令指令解析1AT+QMTSUB=0,1,“SubTopic”,0订阅服务器发布主题使用MQTTBox工具模拟服务器下发数据 在本地串口调试助手数据接收区就能收到对应的数据 笔者知识有限,如果发现本文有错误的地方欢迎批评、指正,若本文对您有所帮助,点赞、在看也是笔者坚持的动力;扫码关注公众号,后台回复 EC20模块获取EC20全套资料 |
CopyRight 2018-2019 实验室设备网 版权所有 |