mqtt

物联网 阿里云 电信云 移动oneNET 腾讯云 华为云 能接入的NBIOT通信协议

不羁岁月 提交于 2020-05-02 17:01:51
电信云: https://www.ctwing.cn/search.html#/%E6%8E%A5%E5%85%A5%E5%8D%8F%E8%AE%AE 1: LWM2M 2: T-Link(是AEP通用使能平台和终端之间的端云交互协议) 3: MQTT 4: NB网关 5:HTTP 6: TCP 开发文档: https://help.ctwing.cn/she-bei-jie-ru/xie-yi-jian-jie.html 阿里云: 1:MQTT 2:CoAP 3:HTTP 开发文档: https://help.aliyun.com/document_detail/30540.html?spm=a2c4g.11174283.6.659.586016684JA 移动OneNET: 1:LwM2M 2:MQTT 3:EDP 4:Modbus(串行通信协议 https://www.cnblogs.com/DreamRecorder/p/9081127.html) 5:TCP 开发文档: https://open.iot.10086.cn/doc/book/device-develop/multpro/lwm2m/introduce.html 腾讯云: 1:MQTT 2: CoAP 3: HTTP 开发文档: https://cloud.tencent.com/document

物联网云平台常用协议和应用场景

浪尽此生 提交于 2020-05-02 17:01:38
雷军说过“在风口上猪都能飞起来”,2019是物联网爆发式增长的一年,在毛衣争端升级持续,实体经济增长放缓(其实你懂的),互联网泡沫裁员,就在这种大环境不好的情况下,很多人换工作都要谨慎再谨慎,而物联网行业却逆势爆发增长,相关公司业绩,这里以无线模组公司为例,增长大多超过100%,业绩创历史新高。 ​ 风口已到,你上车了吗?今天给大家介绍下物联网云平台支持的大多数协议已经其特征和应用场景。本文不讨论不同物联网平台的差异和特点,这个将会在以后的文章中给大家介绍(毕竟现在还没玩过足够多的平台嘛) ​ 这里大多数我将参考OneNet平台的协议介绍,因为他支持的协议比较全,介绍文档介绍这部分写的也比较清楚,有较大的参考价值。 一般物联网云平台支持的协议有CoAP(LWM2M)、MQTT、Modbus、HTTP、HTTPS、TCP、UDP等。 接入协议 设备侧适用特点 典型适用行业 LWM2M 使用NB网络; 对于深度和广度覆盖要求高; 对成本和功耗十分敏感; 对数据传输的实时性要求不高; 存在海量连接,需要传输加密; 周期性上报特点明显; 水、电、气、暖等智能表具 智能井盖等市政场景; EDP MQTT 需要设备上报数据到平台; 需要实时接收控制指令; 有充足的电量支持设备保持在线; 需要保持长连接状态; 共享经济、物流运输、智能硬件、M2M等多种场景 HTTP 只上报传感器数据到平台;

使用RTThread和TouchGFX实现DIY数字仪表(五)——同步天气信息

寵の児 提交于 2020-05-02 16:52:46
目录: 1.使用RTThread和TouchGFX实现DIY数字仪表(一)——使用STM32CUBMX5.6移植touchGFX4.13 2.使用RTThread和TouchGFX实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统 3.使用RTThread和TouchGFX实现DIY数字仪表(三)——获取温湿度传感器数据 4.使用RTThread和TouchGFX实现DIY数字仪表(四)——同步网络时间 5.使用RTThread和TouchGFX实现DIY数字仪表(五)——同步天气信息 6.使用RTThread和TouchGFX实现DIY数字仪表(六)——链接阿里云物联网平台 7.使用RTThread和TouchGFX实现DIY数字仪表(七)——使用MQTT.fx模拟手机设备进行M2M设备间通信 8.使用RTThread和TouchGFX实现DIY数字仪表(八)——开发微信小程序 9.使用RTThread和TouchGFX实现DIY数字仪表(九)——TouchGFX控件使用教程 实验平台: 硬件: 野火挑战者STM32F767 V1开发版和ESP8266模块 软件: TouchGFXDesigner v4.13和 STM32CubeMX v5.6.0,MDK v5.29,RT-Thread env 工具 实验前准备工作: 1.准备一套

rt_thread线程间通讯

半城伤御伤魂 提交于 2020-05-02 13:49:31
邮箱与消息队列: 邮箱:开销小,效率高(每次4字节,32位任意值或指向缓冲区的 指针 ),相当于MQTT中的代理。一(发)对多(收)关系;    分阻塞(邮箱不存在或超时参数不为0)和非阻塞(中断与线程间发送消息的有效手段) 发送满等待与接收空等待。 创建邮箱:分配内存大小=邮件数*4 /* 邮箱控制块 */ static struct rt_mailbox mb; /* 用于放邮件的内存池 */ static char mb_pool[ 128 ]; static char mb_str1[] = " I'm a mail! " ; static char mb_str2[] = " this is another mail! " ; static char mb_str3[] = " over " ; ALIGN(RT_ALIGN_SIZE) static char thread1_stack[ 1024 ]; static struct rt_thread thread1; /* 线程 1 入口 */ static void thread1_entry( void * parameter) { char * str; while ( 1 ) { rt_kprintf( " thread1: try to recv a mail\n " ); /* 从邮箱中收取邮件 */ if

Ubuntu 16.04安装测试MQTT Mosquitto

主宰稳场 提交于 2020-05-01 02:48:43
环境:Ubuntu 16.04 介绍MQTT MQTT 是一种机器到机器的消息传递协议,旨在为“物联网”设备提供轻量级的发布/订阅通信。它通常用于地理跟踪车队,家庭自动化,环境传感器网络和公用事业规模数据收集。 Mosquitto 是一种流行的MQTT服务器(或MQTT中的 代理 ),具有出色的社区支持,易于安装和配置的特点。 在本教程中,我们将安装Mosquitto并设置我们的代理以使用SSL来保护受密码保护的MQTT通信。 MQTT 是一个轻量级即时通信协议,使用基于 TCP/IP 协议的发布/订阅消息转发模式, MQTT 协议的中心是 broker( 服务器/代理),客户端通过订阅消息和发布消息进行数据交互。 若初次接触MQTT协议,可先理解以下概念: 【MQTT协议特点】——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制。 【MQTT协议角色】——在RESTful架构的物联网系统,包含两个角色客户端和服务器端,而在MQTT协议中包括发布者,代理器(服务器)和订阅者。 【MQTT协议消息】——MQTT中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。 【MQTT协议主题】——MQTT中的主题可理解为相同类型或相似类型的消息集合。 Mosquitto是一款实现了 MQTT v3.1

MQTT协议的初浅认识之通讯级别和持久会话

那年仲夏 提交于 2020-05-01 02:47:42
背景 这是我最近了解MQTT协议的最后一部分内容了,MQTT协议里面的QOS和Keep Alive是两个比较重要的内容。QOS的设置,直接影响了订阅客户端与中间件之间的消息交互行为。而Keep Alive直接影响了客户端与中间件连接状态。 QOS MQTT中QOS的三个级别: 0:最多一次传送 (只负责传送,发送过后就不管数据的传送情况) 1:至少一次传送 (确认数据交付) 2:正好一次传送 (保证数据交付成功) QOS 0 这种情况下面,中间件接收发布者的推送消息后,不会给发布者响应任何消息,也就是说消息推送出去,就不管消息有没有订阅者被收到了。 QOS 1 QoS级别1保证消息至少一次传递给订阅者。 发送者存储消息,直到它从订阅者获得确认收到消息的PUBACK数据包。 可以多次发送或传递消息。也就是说每次推送一个消息,一定会收到一个订阅者确认收到的PUBACK消息,如果中间件没有收到PUBACK确认消息,中间件就会一直给订阅发消息,直到订阅者响应PUBACK确认消息。 QOS 2 QoS 2是MQTT中的最高级别。 此级别保证每个消息仅由预期订阅者接收一次。 QoS 2是最安全和最慢的QOS水平。 保证由发布者和订阅者之间的至少两个请求/响应流(四个握手)提供。 发布者和订阅者使用原始PUBLISH消息的包标识符来协调消息的传送。 当订阅者从发布者获得QoS 2

MQTT协议的初浅认识之推送订阅

寵の児 提交于 2020-05-01 01:15:03
背景 了解MQTT怎么建立连接之后,现在重点来了解MQTT怎么推送,订阅两个方面。 概念 先见一张图: 这张图是依旧借鉴HiveMQ的图,来讲述MQTT协议的推送和订阅的过程。推送和订阅,我们很容易理解。这里里面的推送客户端和订阅客户端,在上篇文章 MQTT协议的初浅认识之连接建立 中也都提到过,都是属于MQTT的客户端。这里面有一个比较陌生的概念是 Topic ,即话题这个概念。 话题 这个东西在MQTT里面很灵活,客户端订阅的对象其实也就是话题。话题主要有 话题主题+正斜杠 组成。如下: 话题其实就是由 话题主题+正斜杆 ,组成的一个字符串,客户端订阅了这个话题字符串之后,就可以接收这个MQTT推送过来关于这个话题的消息。中间件也是根据话题,来分发从推送客户端推送到中间件的消息。 话题通配符 单级: + 表示不接收间隔多个话题级别,如下图: 匹配的消息结果,如下: 多级: # 表示接收多级间隔话题,如下: 匹配消息,如下: 开头: $ 表示以什么开头的消息,这个不常用。 推送消息 MQTT客户端可以在连接到中间件后立即发布消息。MQTT中间件利用基于话题的消息进行过滤。每条消息必须包含一个话题,中间件可以使用该话题将消息转发给感兴趣的客户端。通常,每条消息都有包含一个的MQTT载荷与数据有关。客户端决定了有效负载的结构。发送客户端(发布者)决定是否要发送二进制数据,文本数据

RabbitMQ各协议异同详解

徘徊边缘 提交于 2020-05-01 01:14:01
一、官网介绍 Which protocols does RabbitMQ support? RabbitMQ supports several messaging protocols, directly and through the use of plugins. This page describes the supported protocols and helps differentiate between them. AMQP 0-9-1, 0-9 and 0-8, and extensions RabbitMQ was originally developed to support AMQP . As such this protocol is the "core" protocol supported by the broker. All of these variants are fairly similar to each other, with later versions tidying up unclear or unhelpful parts of earlier versions. We have extended AMQP 0-9-1 in various ways. AMQP 0-9-1 is a binary protocol, and

转 【MQTT】在Windows下搭建MQTT服务器

安稳与你 提交于 2020-04-30 20:45:55
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有: 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。 对负载内容屏蔽的消息传输。 使用 TCP/IP 提供网络连接。 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。 有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 Mosquitto 是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——开源的MQTT代理服务器,其下也有Windows的安装包。 但是我使用的是Win10 64位系统,这两个都下载安装后不是报错就是缺少dll文件,不能使用。 最后参考了前面博客说的,搭建了Apollo服务器,这里使用的Apollo 1.7.1。 官网: http

Center OS 7安装 Apollo

佐手、 提交于 2020-04-29 22:29:35
声明: 每个人的情况都不一样,所以大家在看教程的时候自行斟酌,最好先扫一遍,再来根据自身情况进行操作。同时,遇到的问题也可能不尽相同,要灵活处理。 了解: Apollo是从原始ActiveMQ的基础构建一个新的更快的,更可靠的,使用完全不同的线程和消息调度架构来实现的。 Apollo是一个多协议的代理,支持MQTT,WebSockets等等。 MQTT服务器其实相当于一个转发者的角色,也相当于一个公众平台,所有客户端连接到此平台进行消息主题的发布及订阅。服务器其实是一个消息中转站 一、 安装Java JDK: 1、 查看自己系统位数。 输命令 getconf LONG_BIT ,会返回系统位数 2、查看jdk是否安装。 由于搭建 Apollo 环境变量需要有 JAVA_HOME,这个时候需要确认下系统中是否已经安装有jdk。确认办法为输入命令:java -version (我的未安装) 3、 下载JDK -- 下载Linux x64版本压java jdk缩包,注意是tar.gz后缀名。 4、 创建java目录 -- 在/usr/local/中创建java目录 -- 将下载好的jdk压缩包通过ftp上传至Center OS的java目录中 5、 配置环境 -- 进入java路径下 -- 解压到当前目录 tar –zxvf jdk-8u221-linux-x64.tar.gz --