0. 前言 作为物联网平台开发,最基础的工具链还是要有的.前几篇博客,介绍了用C#开发一个MQTT的客户端,用于模拟设备连接平台,并发送数据到平台.但是对于一些硬件来说,可能会用到串口uart来发送数据.然后经过模块,转换为JSON再通过MQTT发往平台.这个适合需要开发一些工具来协助开发.平台固然重要,但是对应的工具链也是比较重要的. 1. 创建虚拟串口 要做一个串口工具,为了方便调试,我们需要安装一个虚拟串口软件.模拟两个串口,然后用标准的串口工具来发送数据,自己开发的工具用来接收数据. h…
看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现设备分配一个device_id和device_key两个信息.即登录我们的业务服务器,同时登录EMQ通信服务器.免去了中间获取临时登录MQTT-Token的流程. 下面就看这么实现基于HTTP的Auth. 首先在EMQ的后台,管理-插件-emqx_auth_http中开启插件.(注意由于距离上次已经…
0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联网架构.好了,废话不说,开始咯. 1. 构建STUNServer服务 STUN服务,是一个标准的服务,用户判断当前外网IP,主要用于NAT判断.我使用的是 https://github.com/jselbie/stunserver 这个开源的STUN服务,直接 git clone 下来,执行dock…
一.前言 这里虽然是说MQTT客户端.其实对于服务器来说,这里的一个具有超级权限的MQTT客户端,就可以做很多事情.比如手机APP或者网页或者第三方服务需要发送数据到设备,但是这些又不是设备,又不能让他们连到MQTT.那么就可以通过HTTP请求业务服务器.然后由业务服务器利用这个MQTT客户端进行发送数据. 还有,之前好多人问我,怎么保存这些物联网数据,真的要像前面的博客那样,要自己写插件吗?特别麻烦的啊.这里给出的结论是不需要.保存数据,除了写EMQ插件,还可以在EMQ的规则引擎上进行配置We…
0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compose,了解一些技术细节及原理后,在入手K8s.还是不能一口吃成胖子,要多吃几口才可以.而且目前公司都是一些小项目,能用得上DockerCompose已经很不错了,还想要上K8s,估计是不现实的. 1. 安装 可以通过运行下面命令进行安装, curl -L https://github.com/doc…
一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做web软件开发的,也是比较喜欢这种方式.阿里的物联网平台,也是推荐这种方式.但是,但是做惯硬件开发,嵌入式开发就比较喜欢用裸TCP-Socket连接.采用的是二进制协议.基于此大部分应用场合为了兼容旧设备,就需要单独开发一个TCP服务器的网关.这里使用以前学过的,也是比较流行的Netty框架. 话不…
1. 了解 物联网最基础的就是通信了.通信协议,物联网协议好像有那么几个,以前各个协议都有优劣,最近一段时间,好像各大厂商都采用MQTT协议,所以我也不例外,不搞特殊,采用MQTT协议,选定了协议,接下来就是选一个MQTT服务器(Broker),项目初期肯定是使用开源的解决方案会好一点,一方面是有人为之填坑,一方面可以快速搭建原型.等以后有人.有资源.有用户,在自己定制开发一套系统.基于各种考虑(更多的是领导的要求)选择了国人开发的MQTTBroker EMQ框架 (http://emqtt.c…
1. 前言 按照我自己设计的物联网框架,对于MQTT集群中的所有消息,是要持久化到磁盘的,这里采用一个消息队列中间件Kafka作为数据缓冲,缓冲结果存到数据仓库中,以供后续作为数据分析.由于MQTT集群中的消息都是比较分散的,所以使用Kafka来聚合.采集消息. 2. 下载&编译&安装 Kafka依赖ZooKeeper 在这里下载 http://mirrors.shuosc.org/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar…
1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/details/70148833 2.放弃 本来还想写一篇Spring Cloud 入门环境搭建的博客, 后来想了想,还是算了,网上资料一大堆.这里就不写了. 3.吹水 下面就简单聊聊天,吹吹水算了 2018.01.18 笔记 公司网速不行,在进行Maven项目以来更新,偷偷写一些经历. 现在开始学…
一.前言 时隔一年半,技术变化特别快,学习也要跟上才行.以前写过EMQ数据转存问题,当时用了比较笨的方法,通过写插件的方式,把MQTT里面的数据发送到数据库进行存储.当时也是为了学习erlang和emq.现在随着对物联网的深入,也结合实际需求,不停的学习.下面将介绍我实验测试可行的物联网数据分析解决方案.采用的还是开源方案.通过订阅MQTT的根Topic,把所有物联网数据转存到InfluxDB时序数据库,然后通过Grafana进行图表显示.这应该是目前比较流行的方案.二.安装InfluxDB I…