七叶笔记 » golang编程 » 物联网好帮手,COOLPY7带你进入物联网的世界

物联网好帮手,COOLPY7带你进入物联网的世界

在物联网通讯中先要解决的就是 通讯协议 的选择。

MQTT无异是目前应用的比较广范的一种。

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。

MQTT协议轻量、简单、开放和易于实现,这些特点使它适用范围非常广泛。

在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。

其实,在卫星链路通信传感器、智能家居、及一些小型化设备中已广泛使用。

MQTT采用发布订阅模式,是消息队列中最典型的。

怎么理解发布订阅呢?其实可以简单的用一个例子来说明。

譬如说朋友圈,小搜关注了我的一个朋友(这就是订阅),然后我的朋友发了一条朋友圈(这就是发布),那么所有关注了我这个朋友的所有人(当然也包括小搜我)都会看到TA发的这条朋友圈。

相信大家对这种模式并不陌生。

那么在我们的物联网通讯中, 云端服务器 和线下硬件( 串口服务器 )其实也可以基于这种模式进行开发。

目前提供MQTT的云服务商很多,几 大云 服务商基本上都有提供,费用也各不相同。如果同学们想省去这一块的费用,那么下面小搜就展开讲述一下,如何利用COOLPY7建立自己的MQTT Broker。

COOLPY7是国人开发的一系列基于 Golang 语言的开源 MQTT 消息服务器。

下文主要讲述如何利用COOLPY7搭建MQTT服务器。

首先,我们先去下载COOLPY7,在下载页,我们 Linux 的操作系统进行安装启动演示:

# 下载服务器端
git clone  && cd Coolpy7
# 解压文件
unzip go_build_Coolpy7_go_linux.zip
# 提权
chmod -R 777 go_build_Coolpy7_go_linux
# 启动Coolpy7 启动参数
# l 当前服务Host地址 (默认为:1883即本地1883端口,此参数一般默认即可,无需配置)
# a 连接接入调度器最大线程,此值可防止暴力连接攻击,对已连接客户端进行优先保护 (默认值128)
./go_build_Coolpy7_go_linux
# 启动成功后会打印如下信息,即说明服务端已正常启动,host于1883端口,请确保相关防火墙配置可用
2018/10/29 12:59:55 Coolpy7 tcp is listening on [::]:1883
 
  • 一般需为程序提权才可以运行Linux服务,指令:chmod -R 777 go_build_Coolpy7_go_linux

好啦,MQTT Broker有了,我们该怎么调试呢?

这里介绍一个小工具mqtt.fx

mqtt.fx是一款小巧的桌面级应用, 可以快速简单的对mqtt协议进行调试和测试。

安装mqtt.fx完毕后,启动,出现以下界面

基本上我们用到的软件部分就是上图箭头所指的几个区域功能。

分别是连接broker,发布者页,订阅者页。下面上个动图看下效果

这期就到这里啦,有问题的同学可以私信我,下一期我们开始要更加深入了,物联网需要用到的知识点很多。持续关注小搜让您对物联网基础技术了解得更完整。

相关文章