产品概述

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

小编 2024-10-06 产品概述 23 0

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

本次实验是采用SIM7600CE 4G cat4 模块进行操作的,本模块支持GNSS定位功能。也可以采用别的4G模块,只要支持TCP传输就行。本模块支持的AT命令相当强大,拥有TCP&UDP命令集,HTTP命令集,MQTT命令集。本模块虽然已经支持了MQTT功能,但是我们在实际研发项目中,为了保持项目的可移植性和兼容性,通常不会使用模块自带的MQTT命令集,而是用代码实现MQTT上层功能,底层再调用模块的TCP AT命令集。

一、MQTT简介

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

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

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

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

该协议的特点有:

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

二、ONENET平台

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

OneNET具备如下功能:

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

三、如何接入OneNet

用户要接入 OneNet,

首先要在 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表示设备IDPZqqtD0O=5lNOex4NshJn0RLflY= 表示API KEY

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

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

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

五、资料获取及硬件

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

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

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

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

智能制造领域中,上下位机知识与常用通讯协议概述

前言

随着社会的不断发展和科技的不断进步,我们身边出现越来越多的智能化设备和智能机器人,小到家用小型智能设备,大到智能化工厂、智能化城市。智能制造已成为时下炽手可热的主流行业,是国家重点发展的热门领域之一,以下主要概述智能制造领域中上下位通讯的知识与常用通讯协议。

智能制造

上下位机概述

什么是上位机?

上位机是指可以直接发出操控命令的计算机,一般屏幕上显示各种信号变化(液压,水位,温度等)

提供用户操作交互界面并向用户展示反馈数据

上位机

什么是下位机?

下位机是指直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的带微处理器的系统。

一般用于接收和反馈上位机的指令,并且根据指令控制机器执行动作以及从机器传感器读取数据。

典型设备类型:PLC,51,ARM等各类可编程芯片

上下位机的关系

上位机给下位机发送控制命令,下位机收到此命令并执行相应的动作。

上位机给下位机发送状态获取命令,下位机收到此命令后调用传感器测量,然后转化为数字信息反馈给上位机。

下位机主动发送状态信息或报警信息给上位机。

什么是通讯协议?

通讯协议又称通信规程,是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,也叫做链路控制规程。

通讯协议是实现上位机与下位机之间数据交换的基本通道。

常见的通讯协议有哪些?

上位机/下位机常见通讯协议:串口通信(RS232/RS485)、USB、蓝牙、网络(UDP/TCP)

串口是什么?

串口即串行接口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。

串口是计算机上一种非常通用的设备通信协议。一般大多数计算机(不包括笔记本电脑)都包含两个基于RS-232的串口,同时也是仪器仪表设备通用的通信协议。

串行通信

串行通信端口,即COM1、COM2,一般接鼠标、键盘等其他串口设备。它在一个方向上只能传送一路信号,一次只能传送一个二进制位,传送一个字节信息时,只能一位一位地依次传送。

并行通信

并行通信端口,即LPT1,俗称打印口,因为它常接打印机,它是同时传送八路信号,一次并行传送完整的一个字节信息。

串口通讯与并口通讯的优缺点分析

并行通信在同一时刻发送多位数据

  串行通信用一根线在不同的时刻发送8位数据

  并行通信:

优点->发送速度快

   缺点->传输距离短资源占用多

  串行通信:

优点->传输距离远占用资源少

缺点->发送速度慢

串口扩展

由于计算机上串口数量的限制,因此引申出一款串口扩展产品---多串口卡。多串口卡是一种可分配多个串/并行端口供终端连接的设备,每个终端可以通过它与主机进行通讯。使用多串口卡是最便捷简单地解决扩展计算机外部设备数量的方案。它可使计算机方便扩展串口或并口,所以也称为串并口扩展卡。

多串口卡

TCP通讯

TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。

TCP协议

TCP 是一种面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。

UDP协议

UDP 是不具有可靠性的数据报协议,不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。它是一种将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的机制。所以在 UDP通讯中,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发或纠正处理。

TCP 和 UDP 的优缺点

TCP 和 UDP 的优缺点无法简单地、绝对地去做比较。

TCP 用于在传输层有必要实现可靠传输的情况。

UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。

TCP/IP通讯的基本条件

MAC 地址(数据链路层,OSI模型第2层):用于识别同一链路中不同的计算机。

IP 地址(网络层,OSI模型第3层):用于识别 TCP/IP 网络中互连的主机和路由器。

端口号:用于识别同一台计算机中进行通信的不同应用程序,也被称为程序地址。

TCP/IP通讯的基本条件

相关问答

单片机 采集的数据怎么通过 tcp 协议传给?

单片机采集的数据可以通过TCP/IP协议传输给其他设备或计算机。首先,单片机需要连接到网络,并建立TCP连接。然后,将采集到的数据转换为TCP数据包并发送给目标设...

单片机 与PC通讯有什么方式?-ZOL问答

电脑和单片机除了串口,再有就是网络通讯方式。但是需要有网口接口芯片,还要编写支持TCP/IP协议的程序。可是用传统的51单片机却很难实现。你可以用STM32单片...

手机是怎样通过wifi模块和 单片机 通信的呢?

手机通过Wifi模块和单片机通信的方式有直接连接通信、组成局域网、通过云服务器中转三种单片机一般是通过UART接口与Wifi模块连接,单片机可以给Wifi模块发送AT...

单片机 的使用流程?

第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合...

买成品的 单片机 板子开发实现仪表规约协议转换?

你说的这个功能叫协议转换,你可以做一个专用的协议转换接口电路板,将不同公司的仪表的串口数据协议转成ModbusTCP协议。普通单片机就可以,用不着这个高大上的...

湖南软件职业学院开发过什么有名的软件? - 红网问答

现在我们手机或者电脑上使用的办公软件、杀毒软件大部分都是专业的公司开发的。比如:腾讯公司就是做qq的,包括QQ电脑管家、QQ游戏等等。新浪Sina,...

EC是什么电脑芯片的缩写? - 181****6864 的回答 - 懂得

EC(EmbedController,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。由于早期的EC主要管控键盘,所以也称KBC(KeyBo...

plc与上位机交互区别?

一、主体不同1、上位机:可以直接发出操控命令的计算机。2、PLC:直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。二、通讯协议不同1、上位机:...

小白想学习stm32,都需要用什么相关软件呢?求指教?

想学习并且玩转stm32,首先至少要有一个stm32的最小系统板吧。AltiumDesignerAltiumDesigner是一款将原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线...

EC是什么电脑芯片的缩写? - PqSRdY17g7 的回答 - 懂得

用于执行指定独立控制功能并具有复杂方式处理数据能力的控制系统。嵌入式控制器由嵌入式微电子技术芯片(包括微处理器芯片、定时器、序列...嵌入式...

猜你喜欢