快速体验物联网通信中常用的CoAP与MQTT
今天快速入门了一下CoAP与MQTT,跑下网上的demo,感受下这两个物联网很流行的通信库都是怎么玩的。CoAPCoAP是一个类似http协议的,但比http更轻便小型的通信协议。基于UDP,跟一样http一样使用get、post、put等方法。下载libcoap源码git clonehttps://github.com/authmillenon/libcoap.git编译和...
今天快速入门了一下CoAP与MQTT,跑下网上的demo,感受下物联网这两个很流行的通信库都是怎么玩的。
电脑环境:Mac
CoAP
CoAP是一个类似http协议的,但比http更轻便小型的通信协议。基于UDP,跟一样http一样使用get、post、put等方法。
-
下载libcoap源码
git clone https://github.com/authmillenon/libcoap.git -
编译和安装libcoap
由于libcoap的源代码包中只有configure.in文件,所以比一般的linux源代码方式安装多了一步autoconf,使用autoconf可生成configure文件。
【1】生成configure文件
autoconf
【2】生成makefile文件
./configure
【3】编译
make
【4】安装
sudo make install
-
运行服务端
example目录里面有服务端和客户端的执行文件,
执行./coap-server
运行服务端代码 -
下载android CoAP测试APK,填写服务端的ip和端口,发送get请求,看到以下内容表示请求成功
This is a test server made with libcoap (see http://libcoap.sf.net)
Copyright (C) 2010--2013 Olaf Bergmann <bergmann@tzi.org>
apk下载地址:https://apkpure.com/iot-coap/ch.buedev.iot_coap
MQTT
MQTT采用的是消息发布和订阅的机制,也是轻量级的。
1、搭建服务端
mosquitto和Apollo选择其一即可
mosquitto
使用mosquitto搭建代理服务端,这里网上很多教程,有时间再补。
安装完mosquitto,需要修改配置文件,我Mac电脑的配置文件路径是/usr/local/Cellar/mosquitto/1.5.8/etc/mosquitto/mosquitto.conf
配置ip和端口
bind_address 172.20.10.5
port 1883
配置完毕后,执行mosquitto -c /usr/local/Cellar/mosquitto/1.5.8/etc/mosquitto/mosquitto.conf
运行服务端
Apollo
Apollo搭建MQTT服务器
下载地址http://activemq.apache.org/apollo/download.html
解压之后,cmd进入bin目录
./apollo create mybroker
mybroker为服务器名字,此时会生成mybroker目录
进入mybroker
./apollo-broker run
启动服务器
浏览器打开http://127.0.0.1:61680/
,账号密码为admin,password
在Configuration
里面取消注释这两句,不然连不上
<!-- Uncomment to disable security for the virtual host -->
<authentication enabled="false"/>
<!-- Uncomment to disable security for the virtual host -->
<authentication enabled="false"/>
连接端口在这份配置文件里面,ip是这台电脑的局域网ip
2、下载测试客户端
Android测试应用github地址:
https://github.com/Thumar/MQTT
(推荐)电脑端使用MQTTBox测试工具,支持Mac、Windows、Linux,下载地址:
http://workswithweb.com/html/mqttbox/downloads.html
使用流程:客户端需要先订阅topic,订阅后当其他客户端或自己发布信息到该topic,所有订阅该topic的都会接受到信息。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)