我是靠谱客的博主 懵懂砖头,最近开发中收集的这篇文章主要介绍mqtt 获取 状态_物联网的构建:Python使用MQTT连接阿里物联网平台,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近一心用在嵌入式上了,而这的起因仅仅是因为自己家声控灯座坏了,于是想换个更智能的照明控制器。但对于嵌入式,真的不是一学就会的,尽管有很多物联网平台已经大大简化了开发流程,尽管相关的教程已经很完善了,但对于初学者,没有对产品开发的整体把握,往往一步一个坑。鉴于自己的爬坑经历,有必要来记录一下了。 对于目前的嵌入式开发,联网的功能几乎成了标配,所以在开发前我们需要知道物联网的通讯,这就不得不说MQTT协议。 一、MQTT MQTT(消息队列遥测传输)是基于发布/订阅式的消息协议。工作在TCP/IP协议族上,因此完全可以通过TCP/IP来实现消息的传输。MQTT最大的特点是:轻量、简单、开放和易于实现。对于嵌入式而言,这实在是再合适不过了。因此MQTT被广泛用于机器与机器(M2M)通信和物联网(loT)。 二、Paho-MQTT Paho-MQTT是用来实现MQTT协议处理的模块,类似于Socket来处理TCP。此模块支持很多语言,以Python为例,先安装此模块,然后直接调用具体的函数就能实现MQTT通讯。 三、阿里物联网平台 阿里物联网平台是基于阿里云打造的物联网开发和管理平台,这个平台有很多不错的功能,值得去探索一下。关于这个平台的作用,可以看下图: 264a52bd5c3984ff9756d4c49ab993bf.png 阿里物联网平台是智能终端与物联网设备之间的媒介,正是通过这个媒介来实现万物互联。本次在虚拟机下运行python程序来模拟物联网设备,主机通过浏览器访问阿里物联网来代表终端设备。 四、创建云产品 在阿里物联网平台创建产品,关于产品的创建,官网的教程还是很详细的,直接按照教程一步步操作即可: 24694214802aeb23e973004e76087b20.png 设备列表显示了创建的产品,其中比较重要的是设备的产品标识(ID):ProductKey、DeviceName、DeviceSecret,这三个参数用来组成产品接入云的身份验证,这在接下来的程序中需要用到。 五、编程 首先安装Paho-MQTT:pip install paho-mqtt 14625f6235448fa8ab2fff9fd1b89de4.png 安装完成后进入python环境测试一下: 2552e537d1c656658fdd79f04ad9ab2c.png 如上图未报错表明安装成功,有时候安装提示错误是因为已经安装了,所以可以先测试下是否已安装。 程序不复杂,就直接上图了: 5a1eb14b1959c464ba255754fbf818fe.png 图中白色部分是出于安全考虑将密码遮挡了。 f399b7e0e5be39b6879e401515dd5cdf.png dc49096b920d52261a7cad25da944fd5.png 程序编译通过后就可以运行了。 六、测试 运行编写好的py文件: 952bfea94b40d65da2aaee84bdc6a41d.png 设备启动后,先收到一个来自属性的回复。 打开阿里物联网平台,查看设备: be2dbed8b6176b36afab7b7d6ac6d816.png 已经显示在线了,这就表明设备和平台已经建立了连接。 接下来测试消息的下发,也就是给设备发布指令: 1bd3e237fb0f6f16eb667f69f66b5fcb.png 调试功能选择电源开关,方法选择设置,然后将{"PowerSwitch":1}点击发送指令: 303b68a1a669c6f697ca6a2eda027ca6.png 获取到开关状态后就可以根据这个状态来执行相关的动作(如控制电源的开和关) 最后来测试上报,上报就是设备将自身的一些信息发送给控制端,本例中设备端刚才收到了电源开的指令,但设备是否真的打开了电源,控制端并不知道,因此控制端需要询问一下,将方法改为获取后点击发送指令,然后将返回获取的结果(结果在代码框中显示,如"PowerSwitch":0): 4765e623e8582b11c317bf9777fc62e5.png 说明设备端返回的结果表示电源未打开,我们只需将程序中上报的消息进行修改就可: f3946e9036452e12ea8fff21c757b8fe.png 将上报的消息内容中的"PowerSwitch":0改为1 再次发送获取指令: 5c3f6d3729dd34f4ee6fb5f71c740451.png 获取的结果符合预期,测试成功。 七、总结 对于物联网,很多嵌入式通讯模块已经有MQTT通讯的SDK,因此我们不必关心通讯的底层实现,直接使用发送和接收函数来进行信息处理就可以了。

最后

以上就是懵懂砖头为你收集整理的mqtt 获取 状态_物联网的构建:Python使用MQTT连接阿里物联网平台的全部内容,希望文章能够帮你解决mqtt 获取 状态_物联网的构建:Python使用MQTT连接阿里物联网平台所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部