avr-arm 发表于 2016-9-8 20:04:14

【分享】widora.io上免费的MQTT服务分享给大家使用

本帖最后由 avr-arm 于 2016-9-9 07:20 编辑

关于MQTT的废话我就不多说了,嵌入式里极其使用的远程推送,方便两个板子隔空“喊话”。
MQTT是什么?
很火的物联网协议,通俗的讲,这里边有订阅者(接收消息),还有发布者(发出消息),还有服务器。发布者和订阅者唯一的关系纽带就是TOPIC(理解为频道)。只有订阅者和发布者处于同一频道,消息才能被推送过去。
以上是我最浅显的理解。如需详细了解请google或bing之。
MQTT订阅地址:widora.org或widora.io
比如,有个人买了一个LM75A测温模块挂到widora上的I2C接口上, 通过MQTT发布后, 可以用 mosquitto_sub -h widora.org -t midas 命令来订阅.IPhone手机端可以用MQTTool工具,安卓端采用myMQTT。嵌入式Linux里用mosquitto_sub.




作者用python写了几句代码,就是调用i2cget命令和mosquitto_pub命令,然后循环发布温度,写得不严谨,纯粹觉得好玩而已。
!/usr/bin/env python
import os
import time
import subprocess

while(1):
fos=os.popen('i2cget -y 0 0x48 0x00 w')
strTemp=fos.readlines()
fos.close()
strTemp=strTemp.strip()
print time.ctime()
strTempL=strTemp
strTempH=strTemp
TempL=int(strTempL,16)
TempH=int('0x'+strTempH,16)
Temp=TempL/256.0+TempH
print 'Current Temperature: %.2f C'%(Temp)
fm=subprocess.Popen(["mosquitto_pub","-h","widora.org","-t","midas","-l"],stdin=subprocess.PIPE)
fm.communicate('midas.Temp='+str(Temp)+'\n')
time.sleep(6)
在SSH上订阅:

IPhone上订阅:

Android上订阅:



如果打算在Widora上玩,很简单,按照这个步骤即可实现。一路装装装软件。http://bbs.widora.org/t/widora-mqtt/98
可以说,完全可以实现两个板子的远程信息交互。CPU使用率几乎为0。
更多应用场景还是网友自行脑补。

avr-arm 发表于 2016-9-8 20:05:35

目前大家想试验,可以订阅主题:COMPASS

roadking1982 发表于 2016-9-8 20:51:34

听说过这玩意儿,不知道物联网最终协议谁说了算啊。

wzavr 发表于 2016-9-8 21:24:12

学习下,多一门新技艺

avr-arm 发表于 2016-9-8 22:52:34

roadking1982 发表于 2016-9-8 20:51
听说过这玩意儿,不知道物联网最终协议谁说了算啊。

谁最终得到了市场的认可谁就是标准。
但这个极其可能是资本操纵的玩意儿。对于搞技术的我们来说,离得太远了。

sailor0908 发表于 2016-9-8 22:59:43

在openwrt路由器上也可以安装mqtt服务器的。

Ray______ 发表于 2016-9-9 00:21:50

想知道有没人用在工控系统上

avr-arm 发表于 2016-9-9 07:18:15

sailor0908 发表于 2016-9-8 22:59
在openwrt路由器上也可以安装mqtt服务器的。

可以的,服务器和客户端在linux里运行的非常好。

3050311118 发表于 2016-9-9 08:16:51

while(1): 也可以?一直以为是True

dreambox 发表于 2016-9-9 18:00:50

自己搭的MQTT服务器吗

avr-arm 发表于 2016-9-9 18:58:19

dreambox 发表于 2016-9-9 18:00
自己搭的MQTT服务器吗

eMQTT,去官网有教程,很简单的

GunGun 发表于 2016-9-11 18:58:28

这个他那个主服务器widora.org要是什么停摆了,是不是整个系统就废了?

GunGun 发表于 2016-9-11 18:59:47

还有这个widora这个板子是开源的吗?还是购买?

avr-arm 发表于 2016-9-12 11:33:56

GunGun 发表于 2016-9-11 18:59
还有这个widora这个板子是开源的吗?还是购买?

原理图,我修改过的OpenWrt是开源的。
MQTT作为server端,无论什么服务,服务端停摆肯定都完蛋。这是是可以靠一些网络手段增强健壮性的,比如做负载均衡,反向代理,热备份等等。
好在MQTT服务端平时本身不存放多少数据,大多是作为一个数据交换的平台,假如说服务器突然重启,那也就是偶然的通讯中断了。

GunGun 发表于 2016-9-12 15:46:53

MQTT server是自己搭建呢?还是widora.org免费提供的?

avr-arm 发表于 2016-9-12 16:14:55

GunGun 发表于 2016-9-12 15:46
MQTT server是自己搭建呢?还是widora.org免费提供的?

很容易搭建,你搜eMQTT即可。
我是在服务器做网站和论坛,顺便搭建了MQTT,非常轻量,几乎不消耗任何资源。
同理,在widora板子上跑mqtt客户端,也是基本不消耗资源的。

GunGun 发表于 2016-9-12 16:39:54

谢谢,了解。

avr-arm 发表于 2016-9-14 13:39:48

MQTT确实很轻量

hyghyg1234 发表于 2016-9-29 11:29:04

avr-arm 发表于 2016-9-12 16:14
很容易搭建,你搜eMQTT即可。
我是在服务器做网站和论坛,顺便搭建了MQTT,非常轻量,几乎不消耗任何资源 ...

服务器是云主机还是虚拟主机,不知道能不能用新浪SAE PHP环境搭建一个。

XIVN1987 发表于 2016-9-29 13:01:38



widora只有16M Flash,这个太小了,,大点儿就好了

另外,把USB转串口、音频芯片集成上去感觉没必要,把板子搞大了,,这些完全可以自己扩展

hyghyg1234 发表于 2016-9-29 14:18:52

avr-arm 发表于 2016-9-12 16:14
很容易搭建,你搜eMQTT即可。
我是在服务器做网站和论坛,顺便搭建了MQTT,非常轻量,几乎不消耗任何资源 ...

我的服务器系统win2003 server好像安装不了,不支持。

rom 发表于 2016-9-29 14:29:00

GunGun 发表于 2016-9-11 18:58
这个他那个主服务器widora.org要是什么停摆了,是不是整个系统就废了?

服务器不行了肯定废了啊,所以真用起来,多搞几个冗余的

avr-arm 发表于 2016-9-29 21:27:36

XIVN1987 发表于 2016-9-29 13:01
widora只有16M Flash,这个太小了,,大点儿就好了

另外,把USB转串口、音频芯片集成上去感觉没必要,把 ...

16MB flash其实不小。
本身内核+文件系统是4-6MB。剩下10MB开发。并且没有界面。
可以安装py,node.js等等。也可以走传统的c开发。对于一大部分嵌入式开发来说,完全足够。我这里有很多的客户已经验证了这一点。
usb转串,音频这些为了方便开发,也是投票过的需求,如果追求小,可以看看widora-bit。是当今最小的MT7688A模块。

avr-arm 发表于 2016-9-29 21:31:09

hyghyg1234 发表于 2016-9-29 14:18
我的服务器系统win2003 server好像安装不了,不支持。

服务器还是推荐linux。
比如你要装discourse论坛,你会发现人家根本不去支持win。
见过很多服务端源码都写到“不保证windows的兼容性”。

resethdd 发表于 2016-9-29 21:32:31

物联网,很火爆啊,这个可以玩玩的,很有趣

avr-arm 发表于 2016-9-29 21:32:38

GunGun 发表于 2016-9-12 15:46
MQTT server是自己搭建呢?还是widora.org免费提供的?

MQTT的server可以参考emqtt官方的方法搭建,或者是ubuntu系统直接安装mosquitto服务端,非常简单方便就搭建起来了。

avr-arm 发表于 2016-9-29 21:37:31

rom 发表于 2016-9-29 14:29
服务器不行了肯定废了啊,所以真用起来,多搞几个冗余的

对,后边肯定要考虑去中心化。
nginx服务器确实很强悍,不过我才疏学浅,对服务器这方面操作不熟。以后多找这方面人请教

banyan_city 发表于 2017-2-9 09:22:10

avr-arm 发表于 2016-9-8 20:05
目前大家想试验,可以订阅主题:COMPASS

楼主请教下,单片机通过WIFI透传模块 怎么发布消息、订阅消息

avr-arm 发表于 2017-2-9 23:02:34

banyan_city 发表于 2017-2-9 09:22
楼主请教下,单片机通过WIFI透传模块 怎么发布消息、订阅消息

不管单片机通过什么方式链接了公网,单片机端都需要运行mqtt client代码。
页: [1]
查看完整版本: 【分享】widora.io上免费的MQTT服务分享给大家使用