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 ...
随机推荐
- CSS3景深-perspective
3D视图正方体: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- ArcGIS JavaScript API动态图层
矢量动态图层 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Typ ...
- Lightning框架示例 - 动态建立Lightning组件
动态建立Lightning组件 组件化前端开发是Lightning框架的优点之一.在进行Lightning应用开发时,我们可以将组件进行嵌套.引用,从而实现模块的封装和重用,提高开发效率. 组件的嵌套 ...
- Android 开创java世界(JNI Invocation API)
在Android的世界中,由名称为app_process的C++本地应用程序(路径为:framework/base/cmds/app_process/app_main.cpp)调用JNI Invoca ...
- 《Inside C#》笔记(十五) 非托管代码 上
为了保证向后兼容性,C#和.NET可以通过非托管的方式运行旧代码.非托管代码是指没有被.NET运行时管控的代码.非托管代码主要包括:平台调用服务(PlatformInvocation Services ...
- Ubuntu18.04 安装mysql8.0.11
1.下载deb包 2.运行命令 sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb sudo apt update 3.安装mysql8 sudo apt i ...
- 数组中的逆序对(Java实现)
来源:剑指offer 逆序对定义:a[i]>a[j],其中i<j 思路:利用归并排序的思想,先求前面一半数组的逆序数,再求后面一半数组的逆序数,然后求前面一半数组比后面一半数组中大的数的个 ...
- Elasticsearch5.4署遇到的问题
问题一 can not run elasticsearch as root Elastic 不建议通过root用户启动ES服务器,如果非要用root启动,可以在config/jvm.options配置 ...
- java解析复杂json:JSONObject 和 JSONArray的使用
在正式解析之前,我们需要下载解析Json所需要的jar包,一共有7个. 下载地址如下:https://download.csdn.net/download/zai_xia/10374080 大家也可以 ...
- python第四十九天--paramiko模块安装大作战
准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...


