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 ...
随机推荐
- 洛谷P3600 随机数生成器(期望dp 组合数)
题意 题目链接 Sol 一条重要的性质:如果某个区间覆盖了另一个区间,那么该区间是没有用的(不会对最大值做出贡献) 首先不难想到枚举最终的答案\(x\).这时我们需要计算的是最大值恰好为\(x\)的概 ...
- 【代码笔记】Web-手机端的meta
一,天猫 <title>天猫触屏版</title> <meta content="text/html; charset=utf-8" http-equ ...
- js+bootstrap实现分页页码
制作page.jsp,在其他页码引入,只需把最外层的form标签的id设置为myForm: 其中 totalPages:共有多少页:totalElements:共有有多少条记录:currentPage ...
- 【转】解决configure: error: C++ compiler cannot create executables问题
转自:http://www.coderbolg.com/content/83.html 啊……天啊,./configure时报错:configure: error: C++ compiler cann ...
- [20171211]ora-16014 11g.txt
[20171211]ora-16014 11g.txt --//上午测试了10g下备库log_archive_dest_1参数配置VALID_FOR=(ONLINE_LOGFILES,ALL_ROLE ...
- Android i2c-tools移植
一.下载I2C-tools工具: 最近在移植i2c-tools工具,下载地址:https://i2c.wiki.kernel.org/index.php/I2C_Tools:百度到了wiki中的git ...
- JavaScript高级特性-实现继承的七种方式
声明和约定: 在C++和Java中,我们可以通过关键字class来声明一个类,在JavaScript中没有这个关键字,但我们知道可以通过new一个function创建对象,这个function类似C+ ...
- 用Python实现数据结构之优先级队列
优先级队列 如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了.这样,我们就引入了优先级队列 这 ...
- exec 动态脚本 里面的参数和sp_executesql (注意引号,否则容易异常)
@indexCt int@DemographicName nvarchar(500)INSERT INTO #finalTemp EXEC('SELECT a.QuestionId,a.AnswerI ...
- [HDFS_add_3] HDFS 机架感知
0. 说明 HDFS 副本存放策略 && 配置机架感知 1. HDFS 的副本存放策略 HDFS 的副本存放策略是将一个副本存放在本地机架节点上,另外两个副本放在不同机架的不同节点上 ...


