mqtt 客户端 基于Python
这几天一直在搞安全通信,微信小程序,反向代理等等,为了能让自己对整个系统做到把控,主要是需要了解每一个细节的地方,所以今天花了3个小时的时间学习了Python,因为我要用它来做Http和WebSocket ,其实还有就是群里的 "卡狼"一直在说用Python开发8266更方便快捷.
先说学了之后的感受,确实简单,易上手.现在感觉应该比lua开发更快捷,我并没有用它来开发8266,只是感觉语言上很容易接受(对我而言,感觉这个语言吧,和lua有相近的地方(变量操作封装的方法很好),又有点高级语言的味道)
说一下安装软件
软件和源码链接:
https://pan.baidu.com/s/1SauB96RMTZUWv3yxUIgynA
其实和学习java的时候安装虚拟机就可以用记事本写java语言一样,不过记事本多麻烦,敲指令多费时,有些人就用Eclipse这个IDE软件,其实上面的
PyCharm就是一款IDE,不过现在好像很多人在推崇Intellij IDEA,我倒是没用过这款IDE
Python安装教程:
https://baijiahao.baidu.com/s?id=1608325862360990066&wfr=spider&for=pc
PyCharm安装教程:
https://blog.csdn.net/elegentbeauty/article/details/79871440
https://www.cnblogs.com/pupilheart/p/9853071.html
Python基础教程:
http://www.runoob.com/python/python-tutorial.html
(对于一样新知识,可能有些规定的语法和方法不太容易接受,
记住哈:学习某一样知识,你所纠结的不应该是为什么这样规定,为什么那样规定,
你所关心的应该是它的用途,就是可以解决什么问题,知识不是用来背和记的,是用来用的,
秉着自己想解决什么问题去学知识哈
因为我知道Python能解决我当前的问题,所以我一开始没学的时候就接受了它,然后又很快吸收了它)
首先是安装mqtt插件,我百度的网上大部分呢都是用的 paho.mqtt
所以干脆跟着别人的脚步,我也用这个吧!(网上大部分都是敲命令安装,咱有IDE,所以让IDE自己安装)
我就做个最简单的,连接,订阅
import paho.mqtt.client
import time mqtt = paho.mqtt.client def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc)) #打印连接状态
client.subscribe("") #订阅2222 def on_message(client, userdata, msg):
print(msg.topic+" " + ":" + str(msg.payload)) #打印接受的消息 client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
client = mqtt.Client(client_id) # ClientId不能重复,所以使用当前时间
client.username_pw_set("yang", "") # 必须设置,否则会返回「Connected with result code 」
client.on_connect = on_connect
client.on_message = on_message
client.connect("mnifdv.cn", , )
client.loop_forever()
有什么问题自己百度哈
说一下,很多都是这样
import paho.mqtt.client as mqtt
实际上大家可以百度
意思是 mqtt代替了paho.mqtt.client
我是这样
mqtt = paho.mqtt.client 当然如果您不想用IDE启动,那么
import time import sys
sys.path.append('F:/Python/mqttdemo/venv/Lib/site-packages') import paho.mqtt.client mqtt = paho.mqtt.client def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc)) #打印连接状态
client.subscribe("") #订阅2222 def on_message(client, userdata, msg):
print(msg.topic+" " + ":" + str(msg.payload)) #打印接受的消息 client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
client = mqtt.Client(client_id) # ClientId不能重复,所以使用当前时间
client.username_pw_set("yang", "") # 必须设置,否则会返回「Connected with result code 」
client.on_connect = on_connect
client.on_message = on_message
client.connect("mnifdv.cn", , )
client.loop_forever()
然后再试一试
或者
import sys
sys.path.append(sys.path[]+'/venv/Lib/site-packages')
sys.path[0] 是返回的是脚本所在的位置,这样比较方便一点
mqtt 客户端 基于Python的更多相关文章
- Python 基于Python实现的ssh兼sftp客户端(下)
基于Python实现的ssh兼sftp客户端 by:授客 QQ:1033553122 otherTools.py #!/usr/bin/env/ python # -*- coding:utf-8 ...
- Python 基于Python实现的ssh兼sftp客户端(上)
基于Python实现的ssh兼sftp客户端 by:授客 QQ:1033553122 实现功能 实现ssh客户端兼ftp客户端:实现远程连接,执行linux命令,上传下载文件 测试环境 Win7 ...
- 使用Surging Mqtt 开发基于WS的MqttClient客户端
原文:使用Surging Mqtt 开发基于WS的MqttClient客户端 最近一段时间由于要做一套智能设备系统,而有幸了解到Surging中的Mqtt broker,学习了很多东西本篇文章基于Su ...
- Python 基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现
基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现 by:授客 QQ:1033553122 测试环境 功能需求 实现思路 代码实践(关键技术点实现) 代码模块组织 ...
- Python 基于python操纵zookeeper介绍
基于python操纵zookeeper介绍 by:授客 QQ:1033553122 测试环境 Win7 64位 Python 3.3.4 kazoo-2.6.1-py2.py3-none-any.w ...
- 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725
如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...
- Python 基于python操纵redis入门介绍
基于python操纵redis入门介绍 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...
- 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)
目录 1 准备工作 2 具体实施 1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使 ...
- 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...
随机推荐
- 去除input获取光标时的默认样式
给input加上样式 outline:none;
- HTML meta头部小结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MySQL数据库导入错误:ERROR 1064 (42000) 和 ERROR at line xx: Unknown command '\Z'.
使用mysqldump命令导出数据: D:\Program Files\MySQL\MySQL Server 5.6\bin>mysqldump -hlocalhost -uroot -proo ...
- tkinter中frame布局控件
frame控件 frame控件是将窗口分成好几个小模块,然后每个小模块中添加控件. 也就是将窗口合理的布局 由于和其他控件的操作基本一致,就不做注释了 import tkinter wuya = tk ...
- 关于使用WeUI在IE中提示“font-face 未能完成 OpenType 嵌入权限检查。权限必须是可安装的。”的问题
@font-face是css3中定义字体的规则. 首先,在使用weui时,在Chrome.Firefox下没有问题,但是在IE下提示“font-face 未能完成 OpenType 嵌入权限检查.权限 ...
- LDAP Filter用法
#根据Pager过滤域用户 $pagers = gc D:\Operations\tmp\u.txt foreach ($p in $pagers) { $user = Get-ADUser -Fil ...
- ghostscript远程代码执行漏洞复现
这两天网上ghostscript又又有漏洞信息了,但是没有poc,于是找找资料把今年8月21日的那个验证下 1.关于ghostscript Ghostscript是一套建基于Adobe.PostScr ...
- Lua 与C 交互之LUA_REGISTRYINDEX(3)
通常来说,C函数需要保留一些非局部的数据,也就是指那些超过他们作用范围的数据.C语言中我们使用全局变量或者static变量来满足这种需要.然而当你为Lua设计一个程序库的时候,全局变量和static变 ...
- Beta冲刺(2/5)(麻瓜制造者)
今日完成任务 邓弘立:继续完成了昨天未完成的登录接口的重编码与测试. 李佳铭|:进一步完善了收藏UI 江郑: 对使用前端框架页面元素的进一步优化,基本功能进行中 刘双玉:部分图书馆租借接口修改 肖小强 ...
- Vue表单修饰符(lazy,number,trim)
lazy:使用了这个修饰符将会从“input事件”变成change事件进行同步 <div id="example"> <input type="text ...