本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoAP的使用逻辑, CoAP支持明文,也支持DTLS的安全传输. 首先,介绍下libcoap的环境准备,然后基于libcoap进行EMQ的CoAP协议支持的验证.我的环境信息如下: 1. Linux: 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UT…
今天进行验证的逻辑是EMQ的http的Auth以及ACL的逻辑. 首先,参照HTTP插件认证配置的说明文档进行基本的配置, 我的配置内容如下: ##-------------------------------------------------------------------- ## HTTP Auth/ACL Plugin ##-------------------------------------------------------------------- ##----------…
openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用java代码,原生创建证书,其实需要我们了解的内容就要稍微多点,去填充创建证书里面的所需要的参数,逐行填充. openssl证书的格式默认是PEM的,即Privacy Enhanced Mail,说白了,就是将创建后的证书元素数据经过Base64编码,然后添加类似----BEGIN CERTIFIC…
1. 创建证书链(shell脚本) 客户端证书链关系: rootCA-->chainca1-->chainca2-->chainca3 ca caCert1 caCert2 caCert #!/bin/bash set -e dir=`pwd` root_key=$dir/rootCA.key root_crt=$dir/rootCA.crt echo "rootKey: $root_key, rootCrt: $root_crt" key_bits= expire_…
最近比较忙,有些关于EMQ的使用问题,没有时间记录了,趁这个周末抽点时间,将最近遇到的,觉得比较有价值的一个问题,分享给大家吧. 这里是针对前面的一篇博客,做的一个深入研究,关于订阅系统总线判断设备上线还是下线的补充研究.基于报文内容进行分析连接的细分信息,有一定的帮助. 1. 正常的连接 应用服务能够订阅到来自$SYS/brokers/+/clients/+/connected主题的数据.如下:这里能看到设备连接到那个EMQX节点,且知道设备端的配置信息,例如用户名,是否cleansessio…
issue 1. EMQX的共享订阅 EMQX是一个非常强大的物联网通信消息总线,基于EMQX开展应用开发,要注意很多配置细节问题,这里要说到的就是共享订阅以及和cleanSession之间的关系问题.共享订阅在EMQ的里程牌中出现的较早,V2的时候就已经提供了,只是那个时候只支持单节点的共享订阅,在V3的时候才支持集群的共享订阅. 共享订阅功能非常实用,解决了消费者应用程序的负载均衡问题,或者说高可用问题.否则,负载均衡或者高可用问题,需要借助于全局锁进行消息消费过程中的只消费一次的问题.这个…
我的测试环境: Linux: CentOS7 EMQX:V3.2.3 题外话: 这里主要介绍Websocket的支持问题. 对ws的支持比较正常,但是对wss的支持,调了较长的时间,没有成功. JavaScript支持mqtt的工具有paho.mqtt.js和mqtt.js. 我这里为了研究wss,所以,重点采用的是mqtt.js.基于这两种工具包,ws的通信,我这里都很顺利的调通了,通信没有问题. 看代码: 因为paho.mqtt.js没有看到有支持SSL的地方(至少从库里面的配置参数上,没有…
EMQX功能强大,但是帮助信息或者可用资料的确有限,遇到个问题,比较难找到处理的头绪,今天,我要记录的是,使用中出现EMQX宕机,但是呢,启动也启动不了. 今天记录的内容,就以操作EMQX 3.2.3的版本来说吧. 你可能看到有下面的信息: [root@tkwh-kfcs-app3 emqx]# emqx start emqx v3.2.3 is started successfully! 但是呢,你查看状态,又会看到下面的内容: [root@tkwh-kfcs-app3 emqx]# emqx…
这篇帖子,不会过多解释X509证书的基础理论知识,也不会介绍太多SSL/TLS的基本信息,重点介绍如何用java实现SSL协议需要的X509规范的证书. 之前的博文,介绍过用openssl创建证书,并配合EMQ进行发布订阅的工作逻辑,基于openssl创建证书和秘钥,还算是比较简便的,然后,基于java创建证书的过程,就有些许的小不方便,能找到的公开资料并不是太多,看到的都是基于keytool指令进行构建的介绍,但是呢,这种方案,对于我们的物联网安全应用,似乎不是很和谐.于是,啃了一段时间的ja…
EMQ版本V2, emqttd-centos7-v2.3.11-1.el7.centos.x86_64.rpm 下载地址:http://emqtt.com/downloads/2318/centos7-rpm 机器环境: Linux CentOS7.2 安装完成后,默认是匿名用户访问.emq本身不带发布定于工具或者命令,需要借助类似mosquitto_sub.mosquitto_pub或者自己写客户端进行连接测试.关于mosquitto的环境搭建,请参照mosquitto环境搭建 api的htt…
这里,简单记录一下自己在最近项目中遇到的paho的心得,这里也涵盖EMQX的问题. 1. cleanSession 这个标识,是确保client和server之间是否持久化状态的一个标志,不管是client还是server重启还是连接断掉.下面是来自paho客户端源码的注释. Sets whether the client and server should remember state across restarts and reconnects. If set to false both t…
基于上篇博文[SSL双向验证]的环境基础,进行消息的具体梳理. 环境基础信息: . 单台Linux CentOS7.2系统,安装一个EMQTTD的实例broker. . emq的版本2.3.11. . 客户端分为mosquitto_pub,以及MQTT.fx 1.7.1的subscriber. . 证书是通过openssl(version:1.0.2k-fips)生成的,rootCA是自签名的,subscriber和publisher的证书是通过rootCA签署的. . 抓包工具wireshar…
EMQ是当前MQTT中,用于物联网领域中比较出色的一个broker,今天我这里要记录和分享的是关于SSL安全通信的配置和注意细节. 环境: 1. 单台Linux CentOS7.2系统,安装一个EMQTTD的实例broker. 2. emq的版本2.3.11. 3. 客户端分为mosquitto_pub,以及MQTT.fx 1.7.1的subscriber. 4. 证书是通过openssl(version:1.0.2k-fips)生成的,rootCA是自签名的,subscriber和publis…
今天研究的内容,是CoAP这个协议在EMQ消息队列的支持,CoAP是一个受限资源的协议,基于UDP实现的多用于物联网环境的通信协议.相关介绍不多说,可以看RFC. CoAP协议下,基于DTLS通信,同样因为协议的产生背景原因,所以,对秘钥大小有有一些要求,尽量的小,所以ECC(椭圆曲线)秘钥算法成为了首先,比RSA秘钥短很多,但是加密安全强度不比RSA对应较长的秘钥安全性低.所以,EC加密算法研究成为了本博文的重点,另外,CoAP的证书中签名算法,也是有所限制的,用的是ECDSA,因为签名算法和…
MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布/订阅信息传输协议.MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展.适用于设备硬件存储空间有限或网络带宽有限的场景.物联网平台支持设备使用MQTT协议接入. 官网:mqtt.org wiki各种语言版本开发库 https://github.com/mqtt/mqtt.github.io/wiki/libraries?spm=a2c4g.11186623.2.11.2d73174cN52z…
环境信息: 1. Linux Centos7.2 环境,CPU 2核,内存8G. 2. mosquitto版本:mosquitto-1.5.4 官网:http://mosquitto.org/download/libwebsockets官网: https://libwebsockets.org/ 本环境搭建,主要用到了mosquitto,么有涉及websocket的内容,所以,这里不做安装介绍. 搭建过程: 1. 安装mosquitto-1.5.4 下载解压缩mosquitto-1.5.4.ta…
http://www.jianshu.com/collection/1c742515f8d8 http://blog.csdn.net/gaojq_ios/article/details/48159711 http://blog.sina.com.cn/s/blog_144141ea00102vgzr.html http://www.cocoachina.com/bbs/read.php?tid=182211…
Jquery Uploadify是个上传插件. 2.1版本与3.2.1版本有很大区别,方法名跟参数变动较大 1.uploader:该属性是用来存放swf的路径,这个swf就是一个Flash的一个图标,上面默认的文字是browse:(2.1)    swf:该属性是用来存放swf的路径(3.2.1) 2.multi:该属性是用来多选图片的,经常用到: 3.script:该属性是用来指定处理的后台路径(.net中是控制器的路径):(2.1) uploader:服务器端脚本文件路径(3.2.1) 4.…
一.sql server 不能连接远程服务器,但可以连接本地的数据库 我目前用的是sql server 2012 sp1,用着用着突然就不能连接远程服务器上的数据库了,崩溃了一天... 修复试了,卸载重装试了,就差重装系统了,幸好最后还是百度了出来... 错误信息: 或者是下图: 然后ssms就挂掉了,废话不多说,直接上解决办法: 在命令提示符处键入 netsh winsock reset,重启电脑!!! 这样就好了,至于为什么,请原谅我的不求甚解...…
问题一.关于空格 nginx配置对空格十分敏感,在关键字和符号的前后,一定记得有空格(或换行).一个典型的场景是 if { } 语句,大括号前后要有空格,否则可能出现非预期行为. 问题二.关于server块兜底问题 当http块中的所有server块都无法匹配上当前请求时,nginx会以第一个server块或者显式地声明为default_server的块作为兜底的匹配选择项. 所以,大部分情况下可以放一个通用的server块在所有server块的最上边来处理无任何匹配的请求,如返回404. ht…
layout: post title: Centos8上搭建EMQ MQTT subtitle: 在阿里云Centos8搭建EMQ并配置接入 date: 2020-3-11 author: Dapenson header-img: img/post-bg-kuaidi.jpg catalog: true tags: - MQTT - EMQ - 物联网 Centos8上搭建EMQ MQTT服务器 我的版本CentOS Linux release 8.1.1911 (Core)_x64.EMQX_…
项目全部代码地址:https://github.com/Tom-shushu/work-study.git (mqtt-emqt 项目) 先看我们最后实现的一个效果 1.手机端向主题 topic111 发送消息,并接收.(手机测试工具名称:MQTT调试器) 2.控制台打印 MQTT基本简介 MQTT 是用于物联网 (IoT) 的 OASIS 标准消息传递协议.它被设计为一种极其轻量级的发布/订阅消息传输,非常适合连接具有小代码足迹和最小网络带宽的远程设备. MQTT协议简介 MQTT 是客户端服…
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---------------…
一.概念 MQTT 协议客户端库: https://github.com/mqtt/mqtt.github.io/wiki/libraries 例如,mosquitto_sub/pub 命令行发布订阅消息: mosquitto_sub -t topic -q 2 mosquitto_pub -t topic -q 1 -m "Hello, MQTT!" MQTT V3.1.1 版本协议规范: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqt…
ubuntu 1604  阿里云 学生版轻型服务器 1 安装MQTT 进入官网 http://emqtt.com/ 点击下载 找到  ubuntu 1604  右键-复制链接 粘贴办理内容是下载链接第地址   http://emqtt.com/downloads/2318/ubuntu16_04 远程登陆服务器 创建一个用户文件夹用户来存放MQTT 进入  文件夹 cd Dongdong/ 下载安装包 wgte http://emqtt.com/downloads/2318/ubuntu16_0…
emq 的用户密码认证 MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---…
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合. 对负载内容屏蔽的消息传输. 使用 TCP/IP 提供网络连接. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制. 有三种消息发布服务质量:…
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---------------…
原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTAsync/html/index.html MQTT异步客户端C语言库   用于C的异步 MQTT 客户端库.© Copyright IBM Corp. 2009, 2017.   MQTT客户端程序连接到具有MQTT功能的服务器.典型的客户端负责从遥测设备收集信息并将信息发布到服务器.它还可以订阅主题, 接收消息, 并使用这些信息来控制遥测设备.   MQTT客户实现了已发布的MQTT v3协议.…
原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTClient/html/index.html 来自我的CSDN博客   最近在使用Paho的MQTT客户端,由于英语看着有点慢,因此将其翻译为中文,与大家共享.由于英语水平有限,如有翻译不对之处,请帮忙指出. MQTT客户端C语言库   MQTT客户端的C语言库.© Copyright IBM Corp. 2009, 2017.   这些页面描述了早期的通常被认为更容易使用同步API.(同步API)…