mqtt

漫谈LiteOS-Huawei_IoT_Link_SDK_OTA 开发指导

做~自己de王妃 提交于 2020-04-24 06:48:09
1概述 在应用升级过程中,无线下载更新(OTA)是一种常用,且方便的升级方式。Liteos采用的OTA升级方案基于LwM2M协议,实现了固件升级(FOTA)和软件升级(SOTA)两种升级方案。用户可根据自己的开发环境选择合适的升级方式。 OTA功能代码结构如下图: 2升级文件二进制文件结构 如图所示,升级压缩包中二进制文件如下图所示,FOTA与SOTA采用相同的固件格式。 签名校验值:长度256字节,对剩余文件进行hash计算后,并进行sha256加密后得到的签名密文。 二进制信息:预留长度32字节,升级文件是全量升级文件或增量升级文件等信息。 升级文件内容:经压缩后的升级文件,升级文件使用hdiffpatch算法对新、旧镜像进行运算生成的差分包,并使用lzma算法进行压缩。 3 存储器接口 存储器结构代码位于iot_link/sotrage目录下。存储器结构被划分为两部分,分别定义为存储设备(storage.c)与设备分区(partition.c)。 存储设备定义的是系统中使用的不同类型存储器及接口,如内部flash,spi flash 或 nandflash等,所使用结构体如下: typedef struct { int id; char *name; uint32_t size; void (*init)(); int (*read)(void *buf, int32_t

【智能硬件DIY】自制仿支付宝交易提醒语音终端

☆樱花仙子☆ 提交于 2020-04-23 22:25:34
【DIY背景】 现在大家基本上已经熟悉了使用手机支付,在小店付款后会听到语音提示:支付宝/微信到账XXX元。这个其实是一个语音终端。这个终端的用途其实很广,并不仅仅局限于支付到账提醒。比如:订单提示、车辆租赁中的车辆启动/熄火提醒等等诸如此类。但凡需要人去时时紧盯的地方,基本上都可以用。细思原理发现并不难,于是,果断开启DIY之旅。 【技术要点】 1、硬件:使用2G模块作为网络和控制核心,使用2G模块自带的TTS功能将文字转换成语音并播放。 2、服务器:使用MQTT服务器为数据转发服务器,MQTT服务器可以使用阿里云的mqtt服务也可以使用开源服务器。当然,也可以自己开发。此处使用开源服务器。 3、控制端:使用C#开发一套web api 对外提供通讯接口。当然,也可以使用ws协议直接与服务器通讯,但个人认为从安全性 考虑建议开发一套web api接口。 4、测试端:使用C#开发一个PC应用程序,用于对终端进行测试。有需要的话,也可以将测试端改为数据处理终端。此处并不需要,仅作为测试用。 【系统架构示意图】 【所需材料】 1、2G通讯模块及天线 2、PCB底板 3、USB小型音箱一个 4、流量为30M/月的物联网卡一张 5、5V/2A的电源适配器一个 6、USB转TTL模块一个 7、5.5/2.5 接线头带30mm线 【DIY流程】 1、在阿里云申请购买一个ECS云服务器

【阿里云IoT+YF3300】15.阿里云物联网小程序构建

泄露秘密 提交于 2020-04-23 05:08:56
2013年8月,“轻应用”概念提出,但是仅仅活跃四年随后淡出 ,直到2017年1月9号借助微信小程序成功续命。一时间,以微信小程序和支付宝小程序为代表的轻应用解决方案迅速贯穿多个环节,成为“万物互联”的雏形载体。随着物联网的发展,对数据的获取便捷度要求越来越高,硬件和场景都逐步迈入物联网时代,传统的App已经无法满足发展的需要,毕竟不可能一个场景安装一个App。YF3300,见证物联网+小程序的火花。 一.云端配置 (1)登陆阿里云物联网平台。 (2)在 设备管理 选项中 创建产品 示例: (3)查看相应的产品,进行物模型属性的创建。查看产品细节,选择 功能定义 ,进行自定义属性添加与自定义事件添加 a.自定义属性添加,添加两个自定义功能(温度和湿度),创建模板请见 图1-1 图1-1 (4)在新建的产品下,设备名称必须为Test,并保存相关的设备证书(即设备三元组Productkey 、DeviceName、 DeviceSecret) 二.设备连接 运行环境搭建:1.Win7系统请下载相关的设备驱动,下载地址为:,请安装VS2010/VS2015及拓展包 2.下载微信小程序官方开发工具 准备材料:YF3300设备套装,组态key(购买产品时厂家会附赠一个月体验版)官方下载YFIOsManager组态管理软件。下载链接: http://www.yfiot.com/content

ActiveMQ支持的消息协议

狂风中的少年 提交于 2020-04-21 13:14:58
ActiveMQ支持哪些协议 ActiveMQ支持多种协议传输和传输方式,允许客户端使用多种协议连接 ActiveMQ支持的协议:AUTO,OpenWire,AMQP,Stomp,MQTT等 ActiveMQ支持的基础传输方式:VM,TCP,SSL,UDP,Peer,Multicast,HTTP(S)等,以及更高级的Failover,Fanout,Discovery,ZerConf方式 ActiveMQ的协议连接配置 在ActiveMQ安装目录的/conf/activemq.xml文件中,通过配置transportConnectors就可以使用多种传输方式。官方的配置文档: http://activemq.apache.org/configuring-transports ActiveMQ常用的传输方式及配置 TPC:由于TCP具有可靠传输的特性,它在ActiveMQ中也是最常使用的一种协议。默认的配置中,TCP连接的端口为61616. TCP配置格式:tcp://hostname:port?key=value TCP配置参数说明:在服务端配置时,参数要以“transport.”开头,在客户端连接时,参数省略“transport.”前缀 TCP服务端配置示例:tcp://localhost:61616?transport.trace=false&transport

Qt提供了专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式

*爱你&永不变心* 提交于 2020-04-18 17:31:50
Qt本身就提供了专门的宏 Q_GLOBAL_STATIC。通过这个宏不但定义简单,还可以获得线程安全性。 1、先看官方文档 https://doc.qt.io/qt-5/qglobalstatic.html https://doc.qt.io/qt-5/threads-reentrancy.html 2、再看使用方法 Q_GLOBAL_STATIC(Type, VariableName) Q_GLOBAL_STATIC_WITH_ARGS(Type, VariableName, Arguments) rule.h #ifndef RULE_H #define RULE_H class Rule { public: static Rule* instance(); }; #endif // RULE_H rule.cpp #include "rule.h" Q_GLOBAL_STATIC(Rule, rule) Rule* Rule::instance() { return rule(); } 在任何地方,引用头文件 include "rule.h" 就可以 Rule::instance()->xxxxxx() --- 参考文献 https://www.cnblogs.com/findumars/p/10392770.html http://qtdebug.com/qtbook

esp8266物联网开发二:MQTT环境搭建

六月ゝ 毕业季﹏ 提交于 2020-04-18 10:00:02
玩够了oled,wifi killer等等玩意儿之后,我们需要更近一步,这节就讲解如何在本机进行MQTT环境的搭建及消息的收发。 一、工具准备 MQTT服务端下载地址: https://links.jianshu.com/go?to=http%3A%2F%2Femqtt.com%2Fstatic%2Fbrokers%2Femqttd-windows7-v2.3.9.zip MQTT客户端下载地址: https://links.jianshu.com/go?to=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fworkswithweb%2Fmqttbox%2Flatest%2Fwindows%2FMQTTBox-win.exe 下载完毕后,将这两个进行安装即可。 二、搭建服务端 首先,解压服务端文件到D:\soft\emqttd\bin目录,然后利用cmd导向到此目录后,执行emqttd start命令并回车,稍等片刻,即可启动mqtt服务端。 然后,在浏览器中输入: http://127.0.0.1:18083/ 即可打开如图所示的服务端界面,需要注意的是,此界面需要进行登录,用户为admin,密码为public: 可以随便翻翻看其中的内容。 三、搭建客户端并进行消息收发 首先,安装下载的客户端,然后打开客户端,创建MQTT client:

ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于ESP8266,AT指令TCP_MQTT通信)(V1.0)

喜欢而已 提交于 2020-04-15 12:55:57
【推荐阅读】微服务还能火多久?>>> 实现的功能 把单片机采集的温湿度显示在云平台 实现步骤1 1.在云平台再弄一个自定义功能 实现步骤2 我就是修改的这一节的单片机程序 https://www.cnblogs.com/yangfengwu/p/12539421.html 1.为了方便大家使用,我修改成了下面 用户直接根据自己的修改就可以 2.我设置的发布主题 3.我设置的订阅主题 下载单片机程序然后测试 一,调整波动开关位置,STM32和Wi-Fi通信    二,短接STM32的PB2和Wi-Fi模块的RST引脚(为了做项目稳定可靠,请使用单片机硬件复位Wi-Fi)         V2.5.1及其以上版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要短接   V2.5.1及其以上版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要短接   V2.5.1及其以上版本内部默认PB2连接了Wi-Fi模块的RST引脚,不需要短接       三,别忘了让Wi-Fi模块连接上路由器   别忘了按照这一节用APP给模块配网    https://www.cnblogs.com/yangfengwu/p/12539421.html 四,看看自己的平台上有没有数据 五,平台控制继电器吸合 {"data":"switch","bit":"1","status":"1"}

使用树莓派搭建温湿度监控告警系统

流过昼夜 提交于 2020-04-12 02:47:09
本文作者:天工智能物联网 简介 本文档介绍了基于树莓派+百度天工(物接入、TSDB、物可视)快速搭建一个环境温湿度监测告警系统。帮助用户熟悉天工物接入的接入方式、物影子概念以及使用方式等内容,快速搭建自己物联网硬件和应用。 阅读本示例前建议先熟悉快速入门文档。 场景描述 该场景演示物联网应用场景中常用的功能,包括设备接入、数据上报、数据存储、数据展示、远程控制、配置下发等。 硬件设计 首先我们设计了一款智能温湿度监测仪,监测仪运行时会实时监测当前所处环境的温湿度,同时可以设置温湿度的告警值,当温湿度达到设定值时,相应的告警灯亮起——这是设备硬件部分具备的功能,还未涉及到物联网 设备接入 为了能够实时查看到环境温信息,进而需要将设备接入物联网平台,如果当前环境温湿度达到设置的阈值,触发设备告警灯亮起,并上报设备当前状态和温湿度信息,正常情况下则每30秒上报一次当前温湿度信息到平台 配置下发 通过远程向监测仪下发配置信息,修改温湿度的告警值 远程控制 硬件部分具备告警指示灯功能,温度、湿度值分别达到告警值时,对应的指示灯会亮起并保持常亮,通过远程指令消除告警状态熄灭指示灯 数据存储(拓展) 平台接收到信息后可以将温湿度数据存储,以便进行数据展示、分析 数据展示(拓展) 设备接入平台后,我们通过大屏的对实时和历史数据进行仪表盘、图表等展示监控,同时可展示告警状态 硬件清单 树莓派3B+

MQTT通信协议在Unity中的应用之二—Unity3D C#实现

不问归期 提交于 2020-04-10 10:04:44
上一篇讲解了MQTT协议在JS实现,通过和Unity3D交互实现通信,因为对JS不是特别精通,所以讲得比较粗略。这一篇中,介绍Unity3D 实现MQTT协议通信,将细致讲解过程 MQTT是IBM开源的一个通讯方式,是一个基于TCP的发布订阅协议,MQTT使用类似MQ常用的发布/订阅模式,起到应用程序解耦,异步消息,削峰填谷的作用。 优点: 使用发布/订阅模式,提供一对多的消息发布,使消息发送者和接收者在时间和空间上解耦。 二进制协议, 网络传输开销非常小(固定头部是2字节)。 灵活的Topic订阅、 Qos、临终遗言等特性。 缺点: 集中化部署,服务端压力大,需要考虑流程控制及高可用。 对于请求/响应模式的支持需要在应用层根据消息ID做发布主题和订阅主题。 适用范围: 在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。 原理图: MQTT开发文档: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html Unity3D开发引入MQTT时候进行封装成M2MQTT,通过GiitHub下载M2MQTT,很多,导入你的Unity工程,这里就不介绍了。 第一步:因为MQTT中间需要消息代理,所以我们首先得搭建代理服务器,我这里使用得是apache-apollo-1.7.1服务,安装过程百度

使用树莓派搭建温湿度监控告警系统

南楼画角 提交于 2020-04-10 02:57:41
本文作者:天工智能物联网 简介 本文档介绍了基于树莓派+百度天工(物接入、TSDB、物可视)快速搭建一个环境温湿度监测告警系统。帮助用户熟悉天工物接入的接入方式、物影子概念以及使用方式等内容,快速搭建自己物联网硬件和应用。 阅读本示例前建议先熟悉快速入门文档。 场景描述 该场景演示物联网应用场景中常用的功能,包括设备接入、数据上报、数据存储、数据展示、远程控制、配置下发等。 硬件设计 首先我们设计了一款智能温湿度监测仪,监测仪运行时会实时监测当前所处环境的温湿度,同时可以设置温湿度的告警值,当温湿度达到设定值时,相应的告警灯亮起——这是设备硬件部分具备的功能,还未涉及到物联网 设备接入 为了能够实时查看到环境温信息,进而需要将设备接入物联网平台,如果当前环境温湿度达到设置的阈值,触发设备告警灯亮起,并上报设备当前状态和温湿度信息,正常情况下则每30秒上报一次当前温湿度信息到平台 配置下发 通过远程向监测仪下发配置信息,修改温湿度的告警值 远程控制 硬件部分具备告警指示灯功能,温度、湿度值分别达到告警值时,对应的指示灯会亮起并保持常亮,通过远程指令消除告警状态熄灭指示灯 数据存储(拓展) 平台接收到信息后可以将温湿度数据存储,以便进行数据展示、分析 数据展示(拓展) 设备接入平台后,我们通过大屏的对实时和历史数据进行仪表盘、图表等展示监控,同时可展示告警状态 硬件清单 树莓派3B+