今天快速入门了一下CoAP与MQTT,跑下网上的demo,感受下物联网这两个很流行的通信库都是怎么玩的。

电脑环境:Mac

CoAP

CoAP是一个类似http协议的,但比http更轻便小型的通信协议。基于UDP,跟一样http一样使用get、post、put等方法。

  1. 下载libcoap源码
    git clone https://github.com/authmillenon/libcoap.git

  2. 编译和安装libcoap
    由于libcoap的源代码包中只有configure.in文件,所以比一般的linux源代码方式安装多了一步autoconf,使用autoconf可生成configure文件。
    【1】生成configure文件
    autoconf
    【2】生成makefile文件
    ./configure
    【3】编译
    make
    【4】安装
    sudo make install

  3. 运行服务端
    example目录里面有服务端和客户端的执行文件,
    执行 ./coap-server 运行服务端代码

  4. 下载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的都会接受到信息。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐