2980020711 发表于 2019-7-23 17:39:20

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

自己挖的坑,自己还得找时间来跳!
http://upfiles.heclouds.com/forum-app/2019/05/21/79bdef9e2270fdfa11f8b3e5dfe8c41f.gif
然后吐口唾沫把自己埋了。


先叨逼叨一段,写这个是因为我们很多童鞋想要用OneNET做开发,搞比赛,设备能接入了,平台也搞定了,想搞一个自己应用就懵逼了!
因为OneNET平台推送到第三方的时候需要有服务器做支撑,还得要域名,这尼玛还能玩?
玩不动玩不动。
不搞了不搞了,告辞。
就这样一条有梦想的咸鱼永远的离开了我们。
那可以不行,就这么走了,爸爸会心疼。
说白了不就是接收一个推送数据嘛,http推送玩不了,我们就玩MQ推送,贼**简单。
来跟我一起嗨起来。


老规矩,正文开始
准备工作
电脑一台
鼠标一个
键盘一个
显示器一台
.......

编程语言:Python 3.5.4
开发环境:vscode,pycharm
第三方库:paho-mqtt
第一步:安装Python环境
第二步:安装开发环境vscode吧,比较好看
第三步:打开vscode



...
累了,不逼逼了。

准备工作做好了,介绍下MQ吧。
https://open.iot.10086.cn/doc/book/application-develop/mq/introduce.html
看下官方的介绍。
简单介绍就是基于MQTT的消息队列服务,
就是设备上传数据过后,会进入到这个队列,等待你们客户端去消费你的数据。
以下是开通和配置的流程。

第一步开通MQ服务

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

第三步:创建Topic,这里我的理解就是MQ有数据筛选功能,一个topic可以有一类数据筛选,也可以全部。具体筛选规则和配置参考开发文档。
创建Topic可以配置缓存时间,现在支持最大缓存7天的数据,可以保证7天的数据不丢失,这也是解决了http推送中第三方服务器出故障的期间数据会丢失这个问题。

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

最后创建订阅,订阅就是消费客户端订阅,可单点消费和集群消费,概念自己去看。懒得解释。
全部创建完就去写客户端。
客户端就是MQTT客户端,可以用mqttfx等免费移机收费的MQ软件,
也可以自己用代码写一个完整的客户端,
我就比较懒了,直接用开源的,车已经造好了,就没有必要造轮子了。
基本操作跟之前mqtt客户端一样。

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

设备事件,设备数据都拿到了 你还不知道怎么处理吗?
http://upfiles.heclouds.com/forum-app/2019/05/21/19d5c4be19d1bded5a68b83eac6b083b.gif

源码如下:
https://open.iot.10086.cn/bbs/static/image/filetype/rar.gif MQ.rar (5.67 KB, 下载次数: 14)
有问题随时联系我,还是希望你们参考我的自己写。
再挖个坑,改天加个界面吧,没有界面的程序你们都认为是没有灵魂的,哎。。。
告辞。
http://upfiles.heclouds.com/forum-app/2019/05/21/b585b92a937e79d679ccce7e3cd69441.jpg
http://upfiles.heclouds.com/forum-app/2019/05/21/e29d86b390b0b1791407fa8eeabb93d6.png
页: [1]
查看完整版本: 用Python打造基于MQ的应用(无需服务器)