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 ...
随机推荐
- expressjs项目里使用npm run dev,实现热更新
只需要在package.json文件里添加一句代码 "dev": "supervisor -i ./views ./bin/www" 添加的位置如上图所示, 然 ...
- python爬虫入门---第三篇:保存一张图片
import requests import os url = 'http://imgsrc.baidu.com/forum/w%3D580%3B/sign=749ed018cecec3fd8b3ea ...
- 【读书笔记】iOS-强类型与弱类型
id类型是一个通用类型,OC使用id表示任意类型的对象,它可以作为一个占位符表示这是一个不确定的类型的对象或者引用.因此,所有的对象都 可以用id来表示.这很有用,想象一下,如果你需要实现一个通用的链 ...
- WebLogic登录管理控制台、以及相关问题解决
1.控制台的登录 登录地址是: http://管理实例IP:端口号/console 其中,管理实例的IP或者是管理实例所在主机的主机名 端口号默认7001 因此通过http://localhost:7 ...
- 部署Redis(脚本安装)
部署Redis(脚本安装) #/bin/bash # DES:Redis Deploy # Author: will_xue # Email:linuxcto@aliyun.com # DATE : ...
- 网页html随机切换背景图片
首先要准备一些图像,图像的大小(无论是尺寸大小还是数据大小)要控制好,如果太大,会使用户等不及查看全图就跳出了,如果太小,又会影响页面质量. 在script中将这些图像编为一个数组,便于调用.数组的长 ...
- 怎样让引用类库的类在HelpPage上显示Description
最近在做 web api 开发的时候遇到这样的问题,即 HelpPage 里只能显示 api 控制器上的注释,对于那些引用了外部类库的类(比如POST提交需要用到的类),就无法显示它们的备注, ...
- Linksys EA6500刷ddwrt成功记
网上刷Linksys EA6500的资料不多,然后又绕了好多个弯子,自己记录备忘. 首先EA6500有两个版本v1和v2,对应的固件不同. 区分方法: 1.v1的背后是两个颜色一样的usb2.0 2. ...
- Linux Regulator Framework(2)_regulator driver
转自蜗窝科技:http://www.wowotech.net/pm_subsystem/regulator_driver.html 说实话,这篇好难懂啊... 1. 前言 本文从regulator d ...
- 遇到电脑IP地址冲突了怎么解决
由于路由器是自动分配IP地址的,如果多个设备设置的是IP地址自动获取,就会出现IP地址冲突的情况当局域网内有相同IP,并且该机器启动了防火墙,那就没办法自动更新到下一个IP的地址了,所以此时发生了冲突 ...


