加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、MQTT简介
    • 二、ONENET平台
    •  
    • 三、如何接入OneNet
    •  
    • 四、单片机&4G模块与ONENET服务器通信
    •  
    • 五、资料获取及硬件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

如何使用4G模块通过MQTT协议传输温湿度数据到onenet

2021/05/08
388
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本次实验是采用SIM7600CE 4G cat4 模块进行操作的,本模块支持GNSS定位功能。也可以采用别的4G模块,只要支持TCP传输就行。本模块支持的AT命令相当强大,拥有TCP&UDP命令集,HTTP命令集,MQTT命令集。

本模块虽然已经支持了MQTT功能,但是我们在实际研发项目中,为了保持项目的可移植性和兼容性,通常不会使用模块自带的MQTT命令集,而是用代码实现MQTT上层功能,底层再调用模块的TCP AT命令集。

一、MQTT简介

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。它是IBM 1999年发布的一个用于物联网的协议.MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

MQTT设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。

例如,但不仅限于此:网络代价昂贵,带宽低、不可靠。在嵌入设备中运行,处理器和内存资源有限。

该协议的特点有:

  1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;对负载内容屏蔽的消息传输;使用 TCP/IP 提供网络连接;有三种消息发布服务质量:小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

二、ONENET平台

OneNET是由中国移动打造的物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。

OneNET具备如下功能:

  1. 专网专号:中国移动基于物联网特点打造的专业化网络通道,提供“云-管-端”一体化的智能管道和支撑系统,支持工业级、车规级的专网卡和通信模组;海量连接:基于多类型标准协议和API开发满足海量设备的高并发快速接入;在线监控:实现终端设备的监控管理、在线调试、实时控制功能;数据存储:基于分布式云存储、消息对象结构、丰富的数据调用接口实现数据高并发读、写库操作,有效保障数据的安全;消息分发:将采集的各类数据通过消息转发、短彩信推送、APP信息推送方式快速告知业务平台、用户手机、APP客户端,建立双向通信的有效通道;能力输出:汇聚中国移动短彩信、位置服务、视频服务、公有云等核心能力,提供标准API接口,缩短终端与应用的开发周期;事件告警:打造事件触发引擎,用户可以基于引擎快速实现应用逻辑编排;数据分析:基于Hadoop等提供统一的数据管理与分析能力。

 

三、如何接入OneNet

用户要接入 OneNet,

  1. 首先要在 OneNet 平台上进行注册用户、创建设备等一系列准备工作,然后要通过网络和 OneNet 服务器建立TCP 连接,最后将用户数据按照一定的协议(比如:EDP、RestFul API,MQTT)打包上传至 OneNet 平台,从而实现设备终端接入。用户注册:在接入 OneNet 之前,需在平台网站注册用户账户,登陆网址:http://open.iot.10086.cn/,显示如下界面:

如上图:点击右上角进行注册.

 

注册完成后,进行登录,如下:

 

如上图所示,点击MQTT物联网套件:

 

如上图所示,选择多协议接入:

 

如上图,点击添加产品,onenet平台MQTT协议框架下分为产品ID和设备ID,可以建立多个不同的产品,每个产品拥有不同的设备,设备以ID号进行区分。

 

如上图所示进行选择,接下来还有操作系统选择linux,网络运营商选择移动,因为模块使用的移动的usim卡,可以根据自己模块卡类型进行选择。

 

如上图所示,再点击添加设备:

 

点击右上角添加设备,

 

点击添加,

 

如上图所示,产品添加成功后的截图,显示为离线状态,当4G模块有数据上传的时候,就会显示为在线。

 

四、单片机&4G模块与ONENET服务器通信

下面讲解一下如何用单片机通过串口AT命令驱动4G模块与ONENET服务器进行连接,单片机采用STM32F103RBT6,开发环境采用MDK5.

如上图所示,606923821表示设备ID,PZqqtD0O=5lNOex4NshJn0RLflY= 表示API KEY

如上图,点击查看,输入手机号发送验证码即可获得,357092表示产品ID,上图的产品ID是424250,可根据自己的情况进行填写。

CAT11表示鉴权信息,鉴权信息可以在设备列表-设备详情进行获取。183.230.40.3, 6002 表示onenet平台的服务器和端口号,有了这些信息就可以用4G模块和自己创建的产品进行通信了。

如下图所示:既可观察设备的上下线情况,以及设备的数据

 

五、资料获取及硬件

后台回复 mqtt 即可获得对应的源代码功能。

文中单片机 STM32F103RBT6 可以自行到某宝搜索, 推荐如下:

 

用的SIM卡可以用手机卡也可以用物联网卡,

4g模块通用的模块即可。

有任何疑问,可以加一口君(yikoupeng)好友,直接讨论。

相关推荐

电子产业图谱

公众号『一口Linux』号主彭老师,拥有15年嵌入式开发经验和培训经验。曾任职ZTE,某研究所,华清远见教学总监。拥有多篇网络协议相关专利和软件著作。精通计算机网络、Linux系统编程、ARM、Linux驱动、龙芯、物联网。原创内容基本从实际项目出发,保持原理+实践风格,适合Linux驱动新手入门和技术进阶。