mqtt

物联网的基石-mqtt 协议初识

≡放荡痞女 提交于 2020-08-05 09:11:48
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 随着 5G 时代的来临,万物互联的伟大构想正在成为现实。联网的 物联网设备 在 2018 年已经达到了 70 亿 1 ,在未来两年,仅智能水电气表就将超过10亿 2 。 海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。对于 物联网协议 来说,必须针对性地解决物联网设备通信的几个关键问题:其网络环境复杂而不可靠、其内存和闪存容量小、其处理器能力有限。 MQTT 协议 是基于发布/订阅模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山: MQTT 协议的诞生 MQTT was created by Andy Stanford-Clark of IBM, and Arlen Nipper (then of Arcom Systems, later CTO of Eurotech).^3 据 Arlen Nipper 在一 IBM Podcast 上的自述,MQTT 原名是 MQ TT, 注意 MQ 与 TT之间的空格,其全称为: MQ Telemetry Transport,是九十年代早期,他在参与 Conoco Phillips 公司的一个原油管道数据采集监控系统(pipeline SCADA system)时

物联网IOT解决方案WiFi路由通信模块选型 openwrt二次开发 串口透传

泪湿孤枕 提交于 2020-08-05 06:52:31
在互联网,物联网,AI云计算,大数据等技术快速发展驱动下,中国家电产业发展的新时代已经到来,作为物联网产业重要的部分,智能家居逐渐成为行业中汹涌的浪潮。多样化的物联网消费产品,物联网工业智能控制化的产品也如雨后春笋出现在市场上。对于物联网产品研发初步的选型已经成为工程师们不得不面对的难题。是否选择对平台,直接关系到整体项目是否成功,最终产品研发的成本,时间与工作量。 物联网即“万物相连的互联网”,是一个基于互联网、传统电信网等的信息承载体。物联网智能家居的传输技术有GPRS,NB-IOT,Sigfox,LORA,WiFi,蓝牙,UWB,MTC,ZigBee,NFCD等多种传输方式,现在我们来聊的是一款物联网智能家居WiFi通讯路由模块——BOJINGnetMT7688AN模块。 MT7688AN芯片支持两种运作模式:IoT gateway 模式与 IoT device 模式.在 IoTgateway 模式中,可透过 PCIe 界面连接至802.11ac 芯片组,并作为双频 802.11ac 同步闸道。高速的 USB 2.0 接口可让 MT7688 连接至额外的 3G/LTE modem 硬件,或连接到 H.264 ISP 作为无线 IP 相机的应用。 IoT gateway 模式也支持触摸板、Bluetooth Low Energy、Zigbee/Z-Wave 和 Sub-1

mqtt用户名密码activemq

筅森魡賤 提交于 2020-08-05 06:21:06
为mqtt连接添加用户名密码 默认没有用户名密码 修改配置文件 添加用户名密码 <plugins> <simpleAuthenticationPlugin> <users> <authenticationUser username= " test1 " password= " 123456 " groups = " users " /> <authenticationUser username= " test2 " password= " 654321 " groups = " users,admins " /> </users> </simpleAuthenticationPlugin> </plugins> 添加完效果 重启mqtt 未添加用户名连接测试 添加用户名连接测试 连接成功 来源: oschina 链接: https://my.oschina.net/u/4312161/blog/4336164

Why is MQTT not connecting with NodeJS?

元气小坏坏 提交于 2020-08-04 18:34:09
问题 I have a weird issue trying to connect to an MQTT server with NODEJS : If I connect to the MQTT server and I do not get a connect it just hangs. If I do it with the command line I see data so network, server etc is all good. If I use a port thats wrong then command line gives me a valid reject message but NODE just hangs. Command line is: mosquitto_sub -h 10.10.10.30 -p 1883 -t sim My code is completely basic: var mqtt = require('mqtt'); var MQTT_TOPIC = "sim"; var MQTT_ADDR = "10.10.10.30";

Kuiper 中使用 Golang 模版 (template) 定制分析结果

99封情书 提交于 2020-08-04 17:44:38
简介 用户通过 Kuiper 进行数据分析处理后,使用各种 sink 可以往不同的系统发送数据分析结果。针对同样的分析结果,不同的 sink 需要的格式可能未必一样。比如,在某物联网场景中,当发现某设备温度过高的时候,需要向云端某 rest 服务发送一个请求,同时在本地需要通过 MQTT 协议 往设备发送一个控制命令,这两者需要的数据格式可能并不一样,因此,需要对来自于分析的结果进行「二次处理」后,才可以往不同的目标发送针对数据。本文将介绍如何利用 sink 中的数据模版(data template )来实现对分析结果的「二次处理」。 Golang 模版介绍 Golang 模版将一段逻辑应用到数据上,然后按照用户指定的逻辑对数据进行格式化输出,Golang 模版常见的使用场景为在网页开发中,比如将 Golang 中的某数据结构进行转换和控制后,将其转换为 HTML 标签输出到浏览器。在Kuiper 使用了 Golang 的 template(模版) 对分析结果实现「二次处理」,请参考以下来自于 Golang 的官方介绍。 模版是通过将其应用到一个数据结构上来执行的。模版中的注释 (Annotations) 指的是数据结构中的元素(典型的为结构体中的一个字段,或者 map 中的一个 key),注释用于控制执行、并获取用于显示的值。模版的执行会迭代数据结构并设置游标,通过符号「.」

IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的

隐身守侯 提交于 2020-08-04 14:33:10
1、引言 好久没写技术文章了,今天这篇不是原理性文章,而是为大家分享一下由笔者主导开发实施的IM即时通讯聊天系统,针对大量离线消息(包括消息漫游)导致的用户体验问题的升级改造全过程。 文章中,我将从如下几个方面进行介绍: 1)这款IM产品的主要业务及特点; 2)IM系统业务现状和痛点; 3)升级改造之路; 4)消息ACK逻辑的优化。 下述内容都是根据笔者开发IM的亲身经历总结下来的宝贵经验,干货满满,期待你的点赞。 本文已同步发布于“即时通讯技术圈”公众号。 2、此IM产品的主要业务及特点 和传统互联网行业有所不同,笔者所在的公司(名字就不透露了)是一家做娱乐社交app的公司,包括小游戏、聊天、朋友圈feed等。 大家应该都有体会: 游戏业务在技术上和产品形态上与电商、旅游等行业有着本质上的区别。 大部分做后端开发的朋友,都在开发接口。客户端或浏览器h5通过HTTP请求到我们后端的Controller接口,后端查数据库等返回JSON给客户端。大家都知道,HTTP协议有短连接、无状态、三次握手四次挥手等特点。而像游戏、实时通信等业务反而很不适合用HTTP协议。 原因如下: 1)HTTP达不到实时通信的效果,可以用客户端轮询但是太浪费资源; 2)三次握手四次挥手有严重的性能问题; 3)无状态。 比如说,两个用户通过App聊天,一方发出去的消息,对方要实时感知到消息的到来

ESA2GJK1DH1K微信小程序篇: 微信小程序APUConfig给WI-Fi模块配网并绑定设备,并通过MQTT控制设备(单片机AT指令版 V1.0 不使用SSL)

江枫思渺然 提交于 2020-07-29 10:36:55
前言    有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意.  注:APUConfig 是我自己取的名字(哈哈谁让这种方式,我是第一个在微信小程序上实现的),代表着 AP UDP Config  绑定流程详细说明:  APUConfig小程序端源码: https://gitee.com/yang456/APUConfig.git        实际上就是控制Wi-Fi模块开热点,控制小程序连接热点,然后通过UDP通信! 实现功能概要   1.小程序使用APUConfig给Wi-Fi模块配网,并获取设备MAC等信息,然后通过MQTT控制绑定的Wi-Fi设备.   2.这节的代码是在基础篇的这节代码上做的修改      只是修改了绑定部分,把SmartConfig绑定修改为了APUConfig绑定 测试准备工作 一,下载单片机程序(请自行下载) 二,安装微信小程序 安装方式1: 此节微信小程序已经发布,可以直接微信扫描安装 安装方式2: 用开发软件打开本节工程,使用预览微信扫码安装到手机 三,调整波动开关位置,STM32和Wi-Fi 串口 通信    测试 一,点击小程序下方的添加设备按钮    二,选择添加Wi-Fi设备    三,输入路由器密码(注:Wi-Fi名称自动获取,也可自己填写) 四.长按PB5大约4S

ESA2GJK1DH1K微信小程序篇: 微信小程序APUConfig给WI-Fi模块配网并绑定设备,并通过MQTT控制设备(单片机AT指令版 V1.0 使用SSL连接)

邮差的信 提交于 2020-07-29 08:59:53
前言   有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意.  注:APUConfig 是我自己取的名字(哈哈谁让这种方式,我是第一个在微信小程序上实现的),代表着 AP UDP Config  绑定流程详细说明:  APUConfig小程序端源码: https://gitee.com/yang456/APUConfig.git        实际上就是控制Wi-Fi模块开热点,控制小程序连接热点,然后通过UDP通信! 实现功能概要   1.小程序使用APUConfig给Wi-Fi模块配网,并获取设备MAC等信息,然后通过MQTT控制绑定的Wi-Fi设备.   2.这节的代码是在 安全篇 的这节代码上做的修改     只是修改了绑定部分,把SmartConfig绑定修改为了APUConfig绑定 测试准备工作 一,下载单片机程序(请自行下载) 二,安装微信小程序 安装方式1: 此节微信小程序已经发布,可以直接微信扫描安装 安装方式2: 用开发软件打开本节工程,使用预览微信扫码安装到手机 三,调整波动开关位置,STM32和Wi-Fi 串口 通信    测试 一,点击小程序下方的添加设备按钮    二,选择添加Wi-Fi设备    三,输入路由器密码(注:Wi-Fi名称自动获取,也可自己填写) 四.长按PB5大约4S

RabbitMQ4/4---消息可靠性

℡╲_俬逩灬. 提交于 2020-07-29 08:57:52
目录 1.消息可靠性 (1)发送可靠性 (2)消费可靠性 2.RabbitMQ插件机制 常用插件 1.消息可靠性 RabbitMQ消息可靠性 RabbitMQ的消息可靠性,一般是业务系统接入消息中间件时,首先要考虑的问题,一般通过三个方便保障: 发送 可靠性:确保消息成功发送到Broker 存储 可靠性:Broker对消息持久化,确保消息不会丢失 消费 可靠性:确保消息成功被消费 (1)发送可靠性 一般消息发送可靠性分为三个层级: At most once:最多一次,消息可能会丢失,但绝对不会重复传输。(几乎不用) At last once:最少一次,消息绝对不会丢失,但可能会重复传输。(常用) Exactly once:恰好一次,每条消息肯定会被传输一次且仅传输一次。(RabbitMQ中没有) RabbitMQ支持其中的“最多一次”和“最少一次”。 其中“最少一次”投递实现需要考虑一下几个方面的内容: 消息生产者需要开启事务机制或者publisher confirm(更常用)机制,已确保消息可以可靠地传输到RabbitMQ中。 消息生产者需要配合使用mandatory参数或者备份交换器来确保消息能够从交换器路由到队列中,进而能够保存下来而不会被丢弃。 最多一次”的方式无须考虑以上那些方面,生产者随意发送,不过这样很难确保消息会成功发送。 (2)消费可靠性 消费者在消费消息的同时

干货分享丨玩转物联网IoTDA服务系列四-智能网关

爷,独闯天下 提交于 2020-07-29 05:48:24
摘要: 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧接口或控制台创建数据转发规则,把设备上报的消息转发给其他华为云服务,供应用侧用户主动去消费。 场景简介 已对接存量设备的网关,不用迁移就可以实现对既有设备和新设备的兼容控制。 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧接口或控制台创建数据转发规则,把设备上报的消息转发给其他华为云服务,供应用侧用户主动去消费。 核心知识点 :产品模型、消息上报、消息下发、MQTT协议、数据转发规则、自定义Topic。 场景流程 流程解释: 1.创建网关产品:物联网平台是以产品为粒度管理批量设备,产品的创建与管理,可以通过平台提供的API接口或控制台 2.自定义topic:您可以在产品详情中自定义topic,该产品下的所有设备都将可以通过自定义topic,与平台间进行数据上下行交互。 3.注册网关设备:平台提供了应用侧API接口可以之策设备,也可以通过控制台注册。注册的设备ID,是设备侧与平台交互的唯一标识。这里是用手机APP进行应用侧接口调用注册,就如前面概念串联时提到的,应用侧不局限于web服务端。 4.创建数据转发规则:网关APP可以通过API接口创建规则,也可以通过控制台创建,指定过滤指定的属性