本次实验是采用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. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

  2. 对负载内容屏蔽的消息传输;

  3. 使用 TCP/IP 提供网络连接;

  4. 有三种消息发布服务质量:

  5. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;

  6. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

二、ONENET平台

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

OneNET具备如下功能:

  1. 专网专号:中国移动基于物联网特点打造的专业化网络通道,提供“云-管-端”一体化的智能管道和支撑系统,支持工业级、车规级的专网卡和通信模组;

  2. 海量连接:基于多类型标准协议和API开发满足海量设备的高并发快速接入;

  3. 在线监控:实现终端设备的监控管理、在线调试、实时控制功能;

  4. 数据存储:基于分布式云存储、消息对象结构、丰富的数据调用接口实现数据高并发读、写库操作,有效保障数据的安全;

  5. 消息分发:将采集的各类数据通过消息转发、短彩信推送、APP信息推送方式快速告知业务平台、用户手机、APP客户端,建立双向通信的有效通道;

  6. 能力输出:汇聚中国移动短彩信、位置服务、视频服务、公有云等核心能力,提供标准API接口,缩短终端与应用的开发周期;

  7. 事件告警:打造事件触发引擎,用户可以基于引擎快速实现应用逻辑编排;

  8. 数据分析:基于Hadoop等提供统一的数据管理与分析能力。

三、如何接入OneNet

用户要接入 OneNet,

  1. 首先要在 OneNet 平台上进行注册用户、创建设备等一系列准备工作,

  2. 然后要通过网络和 OneNet 服务器建立TCP 连接,

  3. 最后将用户数据按照一定的协议(比如:EDP、RestFul API,MQTT)打包上传至 OneNet 平台,从而实现设备终端接入。用户注册:

  4. 在接入 OneNet 之前,需在平台网站注册用户账户,登陆网址:http://open.iot.10086.cn/,显示如下界面:

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

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

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

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

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

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

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

点击右上角添加设备,

点击添加,

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

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

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

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

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

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

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

五、资料获取及硬件

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

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

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

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

5T技术资源大放送!包括但不限于:C/C++,Arm, Linux,Android,人工智能,单片机,树莓派,等等。在公众号内回复「peter」,即可免费获取!!

 记得点击分享在看,给我

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

  1. FreeRTOS+STM32L+BC20+MQTT协议传输温湿度数据,控制继电器云平台——④华为云

    一.准备材料 二.设备连接 2.1 插入物联网卡 首先把BC20核心板从开发板上拆下来 然后将物联卡放置在BC20核心板内 物联卡放置完成将BC20核心板重新插入到开发板内(注意不要弄错方向) 2.2 ...

  2. FreeRTOS+STM32L+ESP8266+MQTT协议传输温湿度数据,控制继电器到阿里云物联网平台

    一.准备材料 二.设备连接 2.1 插入模块.串口线 将ESP8266模块按照图中所示插入指定位置 将串口线一端插入到STM32L的USB口,另一端插入到电脑的USB口 2.2.连接ST-Link仿真 ...

  3. 基于STM32F103C8T6实现用2.4G模块(NRF2401)传输室内温湿度并显示OLED

    基于STM32F103C8T6实现用2.4G模块(NRF2401)传输室内温湿度并显示OLED 对于2.4G模块上的应用,很多是将这个这个模块上的应用实现在51单片机上,我问了很多相关文章的博主,他们 ...

  4. 4G模块连接MQTT

    mqtt 作者:如果能编程回忆 最后修改时间:2020年6月12日 概述 Air724模块内置MQTT协议,提供AT,LUAT,CSDK,DTU可供选择使用,接口简单使用方便. MQTT简介 优势:长 ...

  5. STM32+移远MC20模块采用MQTT协议登录OneNet上传GPS数据

    一.环境介绍 MCU:  STM32F103C8T6 GSM模块: 移远MC20 (MT2503D)(GSM+GPS共存)功能很强大 开发软件: Keil5 MQTT协议采用OneNet的旧版协议,登 ...

  6. 4G 模块HTTP连接Web Server 提交数据到PHP

    一.4G模块说明 4G 模块内置CAT1 4G模块,支持中国移动.中国电信.中国联通4G网络,支持TCP.UDP.HTTP.MQTT等众多复杂网络协议和多Socket接口. 有很多应用中心均采用Web ...

  7. 52单片机连接ESP8266烧入固件使用MQTT协议将温湿度上传至OneNET云平台

    52单片机连接ESP8266烧入固件使用MQTT协议连接OneNET云平台 参考: ---------------------------------------------------------- ...

  8. 4g模块通过什么协议与服务器通信,4G通信模块的分析说明

    4g通信模块一种基于4G网络进行数据传输的工业级通讯终端,其主要作用是将采集到的传感器数据.仪表数据,传输至服务器/上位机.监控中心.众山研发生产的4g无线通讯设备--是一款物联网数据传输设备,支持R ...

  9. ESP32-C3通过MQTT协议把温湿度上传到阿里云物联网平台

    最近本来想实现微信小程序通过OneNet平台控制灯开关的,没想到微信小程序代码都写好接口了,才发现onenet想下发命令的应用管理得要钱了,秉承白嫖绝不白给的精神,毅然决然的转用阿里云平台. 文章目录 ...

  10. 使用FPGA自己编写代码与海德汉编码器endat2.2协议传输发生数据混乱现象的解决方法

    背景及问题描述 最近在FPGA上写了一个与海德汉编码器进行endat协议通信的代码.endat协议的通信时序在网上很容易找到,简单的实现角度的获取难度也不是很大.但是在写完之后实物验证上出现了问题: ...

最新文章

  1. preact源码学习(2)
  2. 解析json获取天气信息(中央气象台)
  3. 这台计算机似乎没有安装操作系统_前沿科技 | 浙江大学科学家联合之江实验室成功研制全球神经元规模最大的类脑计算机...
  4. Linux下的图形界面编程
  5. 微架构设计:微博计数器的设计
  6. conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解
  7. minifilter 与用户态的通信
  8. 《计算机组成原理》数据传送类指令不包括( ),兰大《计算机组成原理》20秋平时作业1【标准答案】...
  9. idea urule不存在
  10. 又见猛犸象:基因剪刀重新定制生命
  11. 坚持你的梦想,什么时候都不晚!
  12. TinyIM流程之删除好友
  13. windows server 2003 工具资源命令集
  14. nodejs模块加载的猜想
  15. 【应用层】DNS协议
  16. Android native层Hander原理分析
  17. 为什么电源中经常用肖特基二极管
  18. 清华同方服务器做系统,清华同方云服务器底层操作软件
  19. 【每日一题】旋变字符串
  20. 如何让你的 JS 代码写得更漂亮

热门文章

  1. 【进大厂必学】面完 10 多家大厂后,总结了这些太容易被考的算法
  2. linux批量修改图片大小,Linux中使用Imagemagick批量调整图片大小
  3. BugkuCTF –备份是个好习惯
  4. GBK版本和UTF-8版本的区别
  5. python绘制3d机械图_python matlibplot绘制3D图形
  6. html:button按钮背景图片设置
  7. B站高管解读财报:要更快实现盈亏平衡 陈睿亲自盯减亏工作
  8. 淘宝数据集分析+可视化
  9. [数图] 实验四 图像的滤波处理与图像空间变换
  10. 单片机2017福建省中职省赛_我院学子在2017年福建省合泰杯单片机应用设计竞赛中再获佳绩...