草庐IT

zigbee2mqtt

全部标签

使用paho.mqtt.embedded-c和openssl实现MQTT的单向认证功能

1、背景  由于项目有需求在一个现有的产品上增加MQTT通信的功能,且出于安全考虑,MQTT要走TLS,采用单向认证的方式。2、方案选择  由于是在现有的产品上新增功能,那么为了减少总的成本,故选择只动应用软件的来实现需求。  MQTT的功能直接选择PahoMqtt这个第三方库来实现,因为以前用过,比较熟悉。由于只想动应用软件,那么只能选择他的embedded-c分支,这样才可以直接集成代码,而不需要编译成so放到固件里,同时也减少程序体积的增加。   embedded-c分支不支持TLS,那么就要想办法自己给embedded-c实现TLS的功能,经过考虑,现有的产品里有openssl库,故使

STM32+WIFI+MQTT+云Mysql数据上报并转存到云数据库

软件以及烧录文件链接:https://pan.baidu.com/s/1Y3hiw_oVPKRTT9mtGg7WDA?pwd=mlhy提取码:mlhy一、ESP8266烧录MQTT固件如ESP8266接3.3v无法正常工作则接入5V电压GPIO0一定要接地(接地代表烧录固件模式)注意波特率115200ESP8266的TX----->TTL板的RXESP8266的RX----->TTL板的TXESP8266的3V3----->TTL板的3V3/5VESP8266的GND-----TTL板的GNDESP8266的GPIO0(0)-----TTL板的GND烧录完毕后紧接测试:输入AT+GMR烧录完毕

c++ - 在 double 和字节数组之间转换,以便通过 ZigBee API 进行传输?

我正在尝试获取两个double(GPS坐标)并通过ZigBeeAPI将它们发送到另一个ZigBee接收器单元,但我不知道如何将double分解为字节数组,然后将它们重新组合成转移后的原始形式。基本上,我需要将每个double转换为八个原始字节的数组,然后获取该原始数据并再次重建double。有什么想法吗? 最佳答案 你正在做的叫做typepunning.使用union:union{doubled[2];charb[sizeof(double)*2];};或者使用reinterpret_cast:char*b=reinterpret_

【智能家居入门3】(MQTT服务器、MQTT协议、微信小程序、STM32)

前面已经写了三篇博客关于智能家居的,服务器全都是使用ONENET中国移动,他最大的优点就是作为数据收发的中转站是免费的。本篇使用专门适配MQTT协议的MQTT服务器,有公用的,也可以自己搭建(应该要钱),项目源码在最后前言一、项目总览二、总体流程分析1、了解mqtt协议2、测试下位机与服务器的通信(mqtt.fx)3、搭建自己的MQTT服务器三、代码1、下位机:2、微信小程序:四、项目获取前言本篇博客实现的功能和之前的智能家居系列类似,仅仅是把服务器换成了公用的mqtt服务器,在经过实测之后,个人觉得智能家居这种场景还是比较适合使用mqtt协议,仅仅是个人感觉。其实功能这一块我想到一个比较有意

MQTT协议及安全详解

 1、MQTT概念  MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布,目前最新版本为v3.1.1。MQTT最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛的应用。当然,在物联网开发中,MQTT不是唯一的选择,与MQTT互相竞争的协议有XMPP和CoAP协议等,MQTT是一个基于客户端-服务

CC2530+ESP8266使用MQTT协议上传阿里云的问题

AT+MQTTPUB=LinkID>,"topic">,"data">,qos>,retain>LinkID:当前只支持0topic:发布主题,最长64字节data:发布消息,data不能包含\0,请确保整条AT+MQTTPUB不超过AT指令的最大长度限制qos:发布服务质量,参数可选0,1,2,默认为0retain:发布retain主要对这个数据上传的命令问题,这个命令用串口调试助手发给ESP8266可以成功上传,但是CC2530去发给ESP8266的时候对data长度有一定的限制,太长了是发送不出去,甚至没有任何响应报错都没有。要是选择阿里云的AlinkJSON数据格式创建的产品,按照它这

【开源】基于【新版百度云】的【ESP8266】【MQTT.fx】物联网点亮LED灯全流程解析【0基础可看】【小白可轻松复现】【本科物联网专业毕设参考】

一.背景简介1.新版百度云简介         百度智能云致力于为企业和开发者提供全球领先的人工智能、大数据和云计算服务,加速产业智能化转型升级。网址:百度智能云-云智一体深入产业百度智能云致力于为企业和开发者提供全球领先的人工智能、大数据和云计算服务,加速产业智能化转型升级https://cloud.baidu.com/   相较于老版百度云,新版百度云在界面结构,相关名词的定义,连接的流程都有很大不同。CSDN上很多老贴都是基于老版百度云,导致很多新手完全对不上,看的云里雾里。基于此点,本文从新版百度云出发,阐述了ESP8266,MQTT.fx通过物联网进行互联的例程。2.ESP8266简

unity接入mqtt自救指南

1.环境准备HslCommunication.dll(版本:11.5.3.0)Newtonsoft.Json.dll(版本13.0.1.25517)dll自取2.client相关usingUnityEngine;usingHslCommunication.MQTT;usingSystem.Text;usingSystem;usingUnityEngine.Networking;usingSystem.Collections;usingGoogle.Protobuf;usingNewtonsoft.Json;publicclassMqttManager:MonoBehaviour{private

windows下Ra-08H接入自建chirpstack服务器,使用MQTT通信教程

目录前言准备工作Ra-08烧录开发板按键说明获取工具和固件烧录固件固件运行chirpstack搭建chirpstack添加网关第一步、点击添加服务器第二步、添加网关第三步、添加sevice-profiles第四步、添加device-profile第五步、添加节点设备第六步、节点入网MQTT连接,数据收发第一步、我们打开mqttx连接服务器第二步、设置订阅发布的Topic第三步、节点上报数据第四步、服务器下发数据第五步、确认服务器内的log日志结束联系方式前言安信可开源团队相应网友号召,今天给大家带来了本地搭建chirpstack服务器并且成功连接的教程,给大家少走一些弯路,本章内容篇幅较长,有

android - 如何实现一对一消息分发的MQTT

我一直在研究MQTT,我很好奇在尝试创建一对一通信系统时实现是如何工作的。我正在尝试做的事情:建立一个系统,允许物联网设备直接向其用户推送通知,以及用户通过MQTT代理向其物联网设备推送通知。p>实现思路:所有设备都有一个单独的主题,每个用户都订阅了该主题。每台设备发布到同一个主题,并带有一个标签,该标签标识要将消息传递给的用户。下面是我创建的图像,展示了我如何看待实现工作。更多信息:我需要一个可以扩展以包含100k+设备的系统,但消息量极低(每天1条消息)布局:物联网设备将通过MQTT向后端系统发送消息。后台系统会收到消息并存储在后台结束。Web服务(调度程序)层,它将在后端和移动应