mqtt

项目实战-广域网智能家居-把mosquitto移植到arm上

若如初见. 提交于 2020-12-30 21:05:34
Mosquitto 库依赖libuuid和openssl库,所以我们在交叉编译 Mosquitto之前需要先交叉编译他所需要的依赖库,这里作者已经把需要的源码都下载好了,大家可以在这个文档的目录下找到。不建议大家下载和我不一致的版本,可能会出问题。 mqtt源码下载页: 1. 交叉编译uuid库 我们把uuid的源码拷贝到Ubuntu,作者是拷贝拷贝到了/home/topeet/mqtt下面,如下图所示: 输入以下命令,解压源码并进入解压生成的文件夹: tar -vxf libuuid-1.0.3.tar.gz 如下图所示: 然后我们在/opt/下创建一个名为mosquitto-arm的文件夹,命令如下: mkdir -p /opt/mosquitto-arm 如下图所示: 配置源码,我们在解压生成的uuid库的文件夹输入以下命令: ./configure --prefix=/opt/mosquitto-arm/libuuid-1.0.3 CC=arm-none-linux-gnueabi-gcc --host=arm-linux 如下图所示: 最后,编译并安装,命令如下: make make install 编译并安装成功后会在我们设置/opt/mosquitto-arm下得到一个libuuid的文件夹 2. 交叉编译openssl库 解压压缩包进进入解压后的目录 tar

打算把LWIP 2.0.3升级为2.1.2

放肆的年华 提交于 2020-12-28 18:46:47
20201226 周六晚 21点21分 一年前写过 《花了两个小时将lwip1.4.1 升级为2.0.3》 这次搞mqtt的tls,发现2.1.2 里面说无缝连接了TLS。并且目前版本的华为LITEOS也用了2.1.2 。 官网 2.1.2 是18年发布的,因此可以说明2.1.2 是靠谱的。不过还是应该把官方资料读一读。 http://savannah.nongnu.org/projects/lwip/ 来源: oschina 链接: https://my.oschina.net/u/4258325/blog/4863957

施耐德开放自动化平台编程笔记(1)

点点圈 提交于 2020-12-28 01:16:48
本文记录如何在施耐德 EAE 开法环境下,如何构建一个 MQTT 功能块,通过外部的一个Soft Gateway 实现MQTT 通信。 概述 任何一个控制系统的开发提供的功能块或者程序库都是有限的。在实际应用中经常会感觉少了一些库和功能块。开放性系统的好处在于提供了一整套工具,让用户,或者第三方开发者参与开发功能块和支撑服务。基于IEC61499 功能块技术的施耐德EAE 就是这样的系统。用户可以编写自己的功能块。EAE 编写功能块特性如下: 用户可编写的功能块 IEC61499基本功能块(BASIC FUNCTION BLOCK) 复合功能块(Conposite Function Block) 子应用 (Sub Application) 用户使用IEC61131-3 的ST语言(Structured Text) 编写功能块内部的算法。 用户编写的功能块可以在EAE 中直接编译,下载到运行时中运行。 用户不需要任何干预。使用起来比较方便。至于编译是在EAE 中完成的,还是在运行时中完成的,目前不得而知。 MQTT 网关实现 施耐德EAE 没有提供MQTT 协议的功能块。我们尝试使用EAE 现有的功能块和编写功能块的方法,自己来构建一个MQTT 软件网关(Soft Gateway)。具体的思路如下 使用已有的NETIO 功能块实现与外部程序的TCP 通信。外部程序(Soft

Compile PahoMqttCpp sample as standalone with cmake on Linux

柔情痞子 提交于 2020-12-27 06:54:07
问题 My goal ... is to use the sample code async_subscribe.cpp from the PahoMqttCpp project (https://github.com/eclipse/paho.mqtt.cpp) as a standalone application to then modify it for my needs. My approach Preliminaries On the newest model of Raspberry pi ( uname -a --> 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux ) I have followed the description in the PahoMqttCpp README.md file. I compiled successfully the C-library (v1.2.1) and then compiled successfuly the Cpp part,

无线路由器方案工业级4G DTU是什么?RS485RS232串口转TCP/IP远程监控的实现原理

白昼怎懂夜的黑 提交于 2020-12-21 20:02:48
随着互联网,智能化的发展,人们逐渐的被带入了物联网智能控制的生活。现在用的比较多的是智能家居,智能医疗以及物联网方面这块用的比较广泛。随着物联网的成熟发展,工业路由器4 GDT U也进入了工业领域的发展应用。然而工业物联网常用的4GDTU是什么, rs485 和RS232串口通讯TCP转串口服务器怎么实现? DTU 是将串口数据转换为IP数据,通过 无线 网络 传输 的远程终端,DTU大多用于遥远的 监控 现场,比如把远程污水站点的数据,通过 4g 网络 传到监控中心,因此 dtu的稳定性就非常重要。 RS232 和RS485是承载串口通讯的硬件 接口 ,RS232被定义为一种低速率串行 通信 中增加通信距离的单端标准。采取不平衡传输方式即单端通讯。RS485是目前广泛采用的总线协议,它的传输距离很长,可以达到1219米。TCP/UDP协议通过RS232或RS485转串口协议连接网络对设备可以进行远程控制或视频监控。 BOJINGnet 顺应社会发展形势,强势研发出高速率低延迟简单易用的带网口的4GDTU主板方案,RS232RS485数据直接透传到云服务器,可运行传输层的TCP和DTU协议,并且可以对接MQTT消息队列传输协议。内置web管理界面,可以自定义服务器注册包和心跳包。 BOJINGnet 物联网工业控制4GDTU 主要功能特点: 尺寸120x83mm

心跳机制

好久不见. 提交于 2020-12-17 21:35:00
      互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了,所以才会出现像MQTT这种轻量级低消耗的协议来维护长连接。   那么要如何维护长连接呢:    维护任何一个长连接都需要心跳机制 ,客户端发送一个心跳给服务器,服务器给客户端一个心跳应答,这样就形成客户端服务器的一次完整的握手,这个握手是让双方都知道他们之间的连接是没有断开,客户端是在线的。如果超过一个时间的阈值,客户端没有收到服务器的应答,或者服务器没有收到客户端的心跳,那么对客户端来说则断开与服务器的连接重新建立一个连接,对服务器来说只要断开这个连接即可。 心跳机制   Keep Alive指定连接最大空闲时间T,当客户端检测到连接空闲时间超过T时,必须向Broker发送心跳报文PINGREQ,Broker收到心跳请求后返回心跳响应PINGRESP。若Broker超过1.5T时间没收到心跳请求则断开连接,并且投递遗嘱消息到订阅方;同样,若客户端超过一定时间仍没收到心跳响应PINGRESP则断开连接。   连接空闲时发送心跳报文可以降低网络请求,弱化对带宽的依赖。 Keep Alive设定时机   创建连接时,在CONNECT报文中指定,单位s。 Client Take

多设备制造工厂的IIOT解决方案--基于虹科IO-Link Wireless

自闭症网瘾萝莉.ら 提交于 2020-12-11 12:50:08
工业物联网需要底层更多数据的支撑,由于制造工厂正在寻求从生产线中获取更多的信息和数据,所以对当前的设备进行改装是正确且必要的选择。 制造工厂面临的挑战: Apollo工厂正在分析生产线中各种传感器的数据,这需要从数百台不同的机器上收集数据以进行维护优化和节能。 他们在每个设备上增加了工业空气流量传感器。 现在,他们还增加了振动传感器。 这需要更多的布线布局,很复杂并且很难扩展。 虹科IO-Link Wireless解决方案: 虹科的IO-Link Wireless产品提供了市场上性价比最高、易于部署、灵活和可扩展的无线解决方案。 方案一:DIO/IO-Link传感器/执行器+ 无线桥 + 主站/网关 方案二:DIO/AI的传感器/执行器+IO-Link Hub+ 无线桥 + 主站/网关 虹科工业无线解决方案,简单、经济、高效地改造现有机器上的众多设备,它专门为恶劣的工业环境而设计,解除了工业空间的束缚。 本次案例用到的有: 1、无线桥——TigoBridge TigoBridge是具有IP67外壳的IO-Link无线桥接器。将IO-Link和数字数据(DIO)信号转换为IO-Link无线信号。 2、IO-Link Wireless主站—TigoMaster 2TH TigoMaster 2TH是具有IP67防护外壳的2通道工业级IO-Link无线主站,内嵌TigoMaster 2T

Failing to establish mqtt connection to VerneMQ cluster in k8s behind Istio proxy

允我心安 提交于 2020-12-06 03:58:25
问题 I'm setting up k8s on-prem k8s cluster. For tests I use single-node cluster on vm set up with kubeadm. My requirements include running MQTT cluster (vernemq) in k8s with external access via Ingress (istio). Without deploying ingress, I can connect (mosquitto_sub) via NodePort or LoadBalancer service. Istio was installed using istioctl install --set profile=demo The problem I am trying to access VerneMQ broker from outside the cluster. Ingress (Istio Gateway) – seems like perfect solution in

即使不会node.js,拖拽就可完成数据的可视化展示

强颜欢笑 提交于 2020-12-04 10:52:41
摘要: node-red是一款基于Node.js的开源可视化界面开发工具,不需要掌握node.js而通过拖拽即可完成数据的可视化展示。 1.首先看一下node-red对数据的渲染效果 你可能认为,必须熟练掌握前端知识才能做出这样的页面,实际上它只需要一下几步拖拽操作即可 node-red本身就是为MQTT而诞生,因此很适合进行物联网数据展示,支持数据库操作、mqtt协议,同时用户也可以在它的基础上,使用html等进行前端界面修改。如果你想快速而完美的展示你的数据,不妨试一试NODE-RED。当然,你想安装它,也很简单的~~ 2.安装 首先需要安装nodejs(百度上有很多示例,也挺简单的,就不讲解啦),然后 在控制台输入 npm install -g --unsafe-perm node-red 即可; 为了让node-red在后台保持运行,我们使用此命令:nohup node-red & 完整的安装步骤如下 安装nodejs环境 sudo apt-get install nodejs 安装node-red sudo apt-get install npm sudo npm install -g node-red 普通运行 node-red 后台持续运行 nohup node-red & 3.使用示例 展示一下我自己展示温湿度的页面 nede-red这款工具,好用而且简单

address already in use error in mosquitto

自闭症网瘾萝莉.ら 提交于 2020-12-02 07:17:11
问题 I have installed mosquitto server and client packages in my ubuntu machine. When I run command "mosquitto" to run the mosquitto server I am getting an error "Error:address already in use". Why am I getting this error? How can I resolve this? 回答1: I ran into the same problem, and resolved the situation by killing the process that was running mosquitto. First, locate the mosquitto process id: ps -ef | grep mosquitto This should reveal to you any mosquitto related process. Say for example the