NetRouter mt7620 openwrt MT7688 mqtt初探2

起因: 

1.想让Netouter硬件及时接收外网服务器命令;

2.向外网发送节点的信息

3.web实时显示获取到的信息


技术实现:

http定时查询

tcp长连接

mqtt协议,不许要自己实现tcp长连接部分,且可以集群以及并发量大


网络拓扑

Netouter (推送 订阅)    mqtt协议端口 服务器    websocket 协议端口            websocket----js--mqtt--页面 



实现过程

1.熟悉mqtt  使用公网开源服务器测试


2.自己编译安装 搭建环境

对于1.4.5以上mosqito 支持websocket 

下载地址:http://mosquitto.org/download/


mosquitto.c:47: fatal error: libwebsockets.h: No such file or directory

貌似还有个叫libwebsocket

https://github.com/warmcat/libwebsockets

cmake  ;make  ;make install


修改编译规则文件config.mk 

# Build with websockets support on the broker.
WITH_WEBSOCKETS:=yes


配置文件:

listener 8001
protocol websockets
启动:

root@ubuntu:/home/sdb/mqtt/mosquitto-1.4.9# mosquitto -c mosquitto.conf 
1468223029: mosquitto version 1.4.9 (build date 2016-07-11 00:32:36-0700) starting
1468223029: Config loaded from mosquitto.conf.
1468223029: Opening websockets listen socket on port 8001.
1468223029: Opening ipv4 listen socket on port 1883.
1468223029: Opening ipv6 listen socket on port 1883.


3.页面编写

指定以上配置文件重启Mosquitto服务之后,便可以通过任意MQTT over WebSockets的界面,比如HiveMQ WebSockets Client Showcase或者MQTT Client Sample来把玩了:

测试客户端

https://eclipse.org/paho/clients/js/utility/

http://www.hivemq.com/demos/websocket-client/

测试服务:

iot.eclipse.org   80


以上资料来自:http://dataguild.org/?p=6846


未完待续。。。。

你可能感兴趣的:(嵌入式,C++,QT,linuxのubuntu,10,网络编)