MQTT服务器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。
这里介绍的是用轻量级的mosquitto开源项目来搭建一个属于自己的MQTT服务器。
第一步:需要安装一台linux主机,这不多介绍,可以使用真机安装也可以使用虚拟机安装。如果仅仅是自己测试使用都可以。
第二步:下载mosquitto需要的依赖
sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake
第三步:下载mosquitto并解压,现在mosquitto官网最新的版本是151
tar xzvf mosquitto-151targz
第四步:编译
cd mosquitto-151/
make
make install
第五步:启动mosquitto
/mosquitto -v
1535473957: mosquitto version 151 starting
1535473957: Using default config
1535473957: Opening ipv4 listen socket on port 1883
1535473957: Opening ipv6 listen socket on port 1883
这时候mosquitto就会以默认的参数启动。如果需要带配置文件可以修改配置文件mosquittoconf,
启动时候加上参数 -c,
/mosquitto -c mosquittoconf
可以看到,mosquitto监听的端口为1883
这时候我们的MQTT服务器就搭建好了。可找一个mqtt客户端来测试一下。
先发布一个主题“home/garden/fountain/2”
内容是“hello world”
这时候在mosquitto会打印出下面的log
535474247: New connection from 1921681105 on port 1883
1535474247: New client connected from 1921681105 as MQTT_FX_Client (c1, k60)
1535474247: No will message specified
1535474247: Sending CONNACK to MQTT_FX_Client (0, 0)
1535474307: Received PINGREQ from MQTT_FX_Client
1535474307: Sending PINGRESP to MQTT_FX_Client
1535474339: Received PUBLISH from MQTT_FX_Client (d0, q0, r0, m0, 'home/garden/fountain/2', (12 bytes))
1535474367: Received PINGREQ from MQTT_FX_Client
1535474367: Sending PINGRESP to MQTT_FX_Client
订阅主题“home/garden/fountain/2”
可以看到收到了自己发布的消息。
用wireshark抓包
可以看到抓到了一个MQTT的publish的报文。诸如小米的智能家居战略是会自己涉足这些领域不同,华为不希望在这个领域里做更多的工作,而是将这个领域的优秀厂商作为重要客户。现有智能家居无法满足用户痛点人们的家居生活经历了电气化、程序化和联网化三个阶段之后进入智能家居时代,尽管这是眼下一个非常热门的概念,几乎所有的厂商都在关注智能家庭,但这个行业的问题还是很多。最核心的问题在于用户的痛点不能得到很好满足。目前大多数所谓的智能家居产品,使用起来不够简单,也做不到真正的智能,并且存在隐私泄露的安全风险。他举例说,用户用手机控制打开一个智能灯泡,复杂度可能远高于直接走过去按下电灯开关。另外这个行业也存在严重的“外冷内热”现象,投身这个行业的家居家电厂商的热情远高于消费者。这导致智能家居行业出现了严重的割裂,标准不统一。在华为看来,只有产业间通力合作,才能为智能家居植入更多的力量。华为将智能家居分为三个层次邵洋认为,智能家居作为物联网的一部分,它和互联网时代不同的是,连接的不仅是人,是一个智能茶杯、一个智能灯泡都要被搬到互联网世界上来。而这时候有两点至关重要,一是每一个物体需要一个互联网身份,另一个是需要一种通用的语言,来让这些联网的物体互动起来。基于这个思考,华为在智能家居战略中,将其分为三个层次:第一是终端层,这里包括有电视机、冰箱、微波炉、吸尘器等等东西,它们首先要完成被连接化、被识别化和智能化。和诸如小米的智能家居战略是会自己涉足这些领域不同,华为不希望在这个领域里做更多的工作,而是将这个领域的优秀厂商作为重要客户。第二是中间层,有OTT盒子、手机、路由器、 HiLink 、LiteOS 、 IoT芯片等东西。这一层的核心在于链接,而这也正是华为的优势。目前华为已经有一系列手机、路由器、盒子等产品使得家庭连接控制方面得以增强。更重要的是,华为还有HiLink协议、LiteOS、IoT物联网芯片,可以让第一层的物体快速被接入智能家居的体系来。在上面的第三层则是云,既包括大数据云计算,也包括视频内容云、医疗云、安防云、教育云以及各个厂家自己云在内的云服务,等等。物联网三件套是华为战略焦点在智能家居的三个层级中,华为将重点专注于中间层。除了已有的手机、路由器、OTT盒子等设备,对于华为智能家居战略更为关键的,或许是被称为“智能家居三件套”的HiLink协议、LiteOS、IoT物联网芯片。邵洋介绍称,HiLink协议是一个端到端协议解决方案,对于智能家居非常关键,它可以让物与物连接起来,它本身的特点是安全可靠、开放共享、简单易用。而LiteOS则被比作“智能家居领域的安卓”。邵洋认为,每个领域需要不同的OS,比如PC 领域内是windows起主导作用,在手机里面是iOS 、安卓主导,物联网领域也需要一个新的OS。LiteOS是专门针对物联网开发的OS,优点在于体积小、能耗低、快速响应,非常适合作为统一的物联网终端软件平台。对于IoT芯片,目前已经有包括MTK、英特尔、高通、Marvell等在内很多厂家在做,而华为在某些芯片方面能共享自己的优势能力,如超低功耗、可靠连接、快速部署。比如,目前国内视频芯片90%用的都是华为的芯片。结语:智能家居被认为是科技行业下一个风口。但在这个由传统过渡到物联网时代的领域,目前最需要的正是产业链之间的合作,从这个角度而言,华为“有所为有所不为”、聚焦做连接的理念,将有助于推动智能家居行业走向统一标准。当然,目前业界也有包括 *** 作系统公司、互联网公司、芯片公司等在内的多个巨头希望建立由自己规范的标准,在“合作”的姿态之下,华为也仍然会面临激烈的竞争。NB-IoT是华为整个物联网战略中的一部分,在物联网领域,华为提出了它的“1+2+1战略”。第一个“1”是指一个平台,华为要建立一个物联网的平台,集中收集、管理、处理数据后向合作伙伴、行业开放,基于该平台行业伙伴可以开发应用;“2”是指华为的传统优势就是网络接入,包括有线接入和无线接入,如敏捷物联网络(物联网关、智慧家庭网关)和eLTE/NB-IOT/5G等方式;最后一个“1”是华为此次新推出的轻量级物联网 *** 作系统Lite OS。所以NB-IoT是纳入到整个华为物联网的体系里面,与其他的通信技术的应用共用物联网的平台。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)