2019-7-23 17:39:20 [显示全部楼层]
2390浏览
查看: 2390|回复: 0

[项目教程] 用Python打造基于MQ的应用(无需服务器)

[复制链接]
自己挖的坑,自己还得找时间来跳!


然后吐口唾沫把自己埋了。


用Python打造基于MQ的应用(无需服务器)图1

先叨逼叨一段,写这个是因为我们很多童鞋想要用OneNET做开发,搞比赛,设备能接入了,平台也搞定了,想搞一个自己应用就懵逼了!

因为OneNET平台推送到第三方的时候需要有服务器做支撑,还得要域名,这尼玛还能玩?

玩不动玩不动。

不搞了不搞了,告辞。

就这样一条有梦想的咸鱼永远的离开了我们。

那可以不行,就这么走了,爸爸会心疼。
用Python打造基于MQ的应用(无需服务器)图2

说白了不就是接收一个推送数据嘛,http推送玩不了,我们就玩MQ推送,贼**简单。

来跟我一起嗨起来。

用Python打造基于MQ的应用(无需服务器)图3


老规矩,正文开始

准备工作

电脑一台

鼠标一个

键盘一个

显示器一台

.......


编程语言:Python 3.5.4

开发环境:vscode,pycharm

第三方库:paho-mqtt

第一步:安装Python环境

第二步:安装开发环境vscode吧,比较好看

第三步:打开vscode


用Python打造基于MQ的应用(无需服务器)图4


...

累了,不逼逼了。


准备工作做好了,介绍下MQ吧。

https://open.iot.10086.cn/doc/book/application-develop/mq/introduce.html

看下官方的介绍。

简单介绍就是基于MQTT的消息队列服务,

就是设备上传数据过后,会进入到这个队列,等待你们客户端去消费你的数据。

以下是开通和配置的流程。

用Python打造基于MQ的应用(无需服务器)图5

第一步开通MQ服务

用Python打造基于MQ的应用(无需服务器)图6

第二步:开通后会有两个重要参数,知道位置就行,用的时候来取

用Python打造基于MQ的应用(无需服务器)图7

第三步:创建Topic,这里我的理解就是MQ有数据筛选功能,一个topic可以有一类数据筛选,也可以全部。具体筛选规则和配置参考开发文档。

创建Topic可以配置缓存时间,现在支持最大缓存7天的数据,可以保证7天的数据不丢失,这也是解决了http推送中第三方服务器出故障的期间数据会丢失这个问题。

用Python打造基于MQ的应用(无需服务器)图8

数据流和设备事件就不多做解释了,看就明白了。

用Python打造基于MQ的应用(无需服务器)图9

最后创建订阅,订阅就是消费客户端订阅,可单点消费和集群消费,概念自己去看。懒得解释。

全部创建完就去写客户端。

客户端就是MQTT客户端,可以用mqttfx等免费移机收费的MQ软件,

也可以自己用代码写一个完整的客户端,

我就比较懒了,直接用开源的,车已经造好了,就没有必要造轮子了。

基本操作跟之前mqtt客户端一样。
用Python打造基于MQ的应用(无需服务器)图10
用Python打造基于MQ的应用(无需服务器)图11


附上源码:
与MQTT客户端不同的地方就是,MQ客户端只能收不需要发,并且必须设置TLS机密保证数据安全。
代码改一改可以直接跑,还有其他几个文件一会附件传上来。

目前这个版本是收到数据解析之后直接打印出来。

用Python打造基于MQ的应用(无需服务器)图12

设备事件,设备数据都拿到了 你还不知道怎么处理吗?



源码如下:

MQ.rar (5.67 KB, 下载次数: 14)

有问题随时联系我,还是希望你们参考我的自己写。

再挖个坑,改天加个界面吧,没有界面的程序你们都认为是没有灵魂的,哎。。。

告辞。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail