MQTT学习笔记——Yeelink MQTT服务 使用mqtt.js和paho-mqtt
0 前言
1 安装和使用mqtt.js
1.1 安装mqtt.js
1.2 实现代码——yeelink_mqtt.js
var mqtt = require('mqtt'); var username = 'U-ApiKey';
var password = 'ffa3826972d6cc7ba5b17e104ec5xxxx';
var hostname = 'mqtt.yeelink.net';
var topic = '/v1.1/device/1949/sensor/2511/datapoints'; var url = 'mqtt://' + username + ':' + password + '@' + hostname; console.log(url);var client = mqtt.connect(url);
// 订阅主题
client.subscribe(topic); client.on('message', function(topic, message) { console.log(topic); console.log(message);
});
1.3 运行
mqtt://U-ApiKey:ffa3826972d6cc7ba5b17e104ec59fa3@mqtt.yeelink.net
/v1.1/device/1949/sensor/2511/datapoints
{"sensor_id":2511,"timestamp":1410835745,"value":1}
/v1.1/device/1949/sensor/2511/datapoints
{"sensor_id":2511,"timestamp":1410835754,"value":0}
1.4 简单说明
2 安装和使用paho-mqtt
2.1 安装paho-mqtt
2.2 实现代码
# -*- coding: utf-8 -*-
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import jsonhostname = 'mqtt.yeelink.net'
username = 'U-ApiKey'
password = 'ffa3826972d6cc7ba5b17e104ec5xxxx'
topic = '/v1.1/device/1949/sensor/2511/datapoints'
# BCM GPIO编号
pins = [17,18,27,22,23,24,25,4]
pin = 18def gpio_setup():# 采用BCM编号GPIO.setmode(GPIO.BCM)# 设置所有GPIO为输出状态,且输出低电平for pin in pins:GPIO.setup(pin, GPIO.OUT)GPIO.output(pin, GPIO.LOW)def gpio_destroy():for pin in pins:GPIO.output(pin, GPIO.LOW)GPIO.setup(pin, GPIO.IN)# 连接成功回调函数
def on_connect(client, userdata, flags, rc):print("Connected with result code " + str(rc))# 连接完成之后订阅主题client.subscribe(topic)# 消息推送回调函数
def on_message(client, userdata, msg):print(msg.topic+" "+str(msg.payload))# 获得负载中的pin 和 valuegpio = json.loads(str(msg.payload))if gpio['value'] == 0:GPIO.output(pin, GPIO.LOW)else:GPIO.output(pin, GPIO.HIGH) if __name__ == '__main__':client = mqtt.Client()client.on_connect = on_connectclient.on_message = on_messagegpio_setup()try:# 配置用户名和密码client.username_pw_set(username, password)client.connect(hostname, 1883, 60)client.loop_forever()except KeyboardInterrupt:client.disconnect()gpio_destroy()
2.3 运行
3 总结
4 参考资料
MQTT学习笔记——Yeelink MQTT服务 使用mqtt.js和paho-mqtt相关推荐
- ASP.Net学习笔记002--ASP.Net服务端控件做了什么2
ASP.Net学习笔记002--ASP.Net服务端控件做了什么2 以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 技术交流qq1群:251572072 技术交 ...
- Netty学习笔记(二) 实现服务端和客户端
在Netty学习笔记(一) 实现DISCARD服务中,我们使用Netty和Python实现了简单的丢弃DISCARD服务,这篇,我们使用Netty实现服务端和客户端交互的需求. 前置工作 开发环境 J ...
- Netty学习笔记(二)Netty服务端流程启动分析
先贴下在NIO和Netty里启动服务端的代码 public class NioServer { /*** 指定端口号启动服务* */public boolean startServer(int por ...
- SAP FSM 学习笔记(四) : 现场服务技师使用的移动应用
这个系列的前三篇文章: SAP FSM 学习笔记(一) : 使用API消费FSM的数据 SAP FSM 学习笔记(二) : SAP FSM的微信接入 SAP FSM 学习笔记(三) : 在微信里创建S ...
- 【转】Dicom 学习笔记-Dicom 消息服务(DIMSE-C/DIMSE-N)
转自:https://www.jianshu.com/p/2812b0b6e548 引言 DICOM(Digital Imaging and Communications in Medicine) ...
- 树莓派学习笔记——yeelink 远程控制LED
1.前言 前段时间玩了树莓派的GPIO,串口和I2C接口,把树莓派当成单片机来玩,期间深入分析了wiringPi.相对于单片机,以Linux为操作系统的树莓派在网络功能方面要强大的多,下面就结合当下流 ...
- Spring Cloud 学习笔记一 微服务架构
文章目录 前言 一.微服务 二.微服务的特点 1.小型化 2.自治化 3. 扁平化 4. 轻量级设计 5. 渐进式设计 微服务架构和整体式架构的区别 微服务架构和SOA的比较 区别一:微服务通信的轻量 ...
- zset获取指定score_redis zset更新score redis学习笔记5 - Redis - 服务器之家
redis zset更新score redis学习笔记5 发布时间:2017-04-03 来源:服务器之家 一:概述 zset全称为sorted-sets类型,和set数据类型有极为相似,都是字符串的 ...
- MQTT学习笔记--阿里云物联网连接(一)连接
在学习了海创电子的MQTT理论知识之后,做此笔记,供自己查看. 参考文章链接:https://blog.csdn.net/daniaoxp/article/details/103039296 1.阿里 ...
最新文章
- 小程序输入框导致界面上移,在输入的时候固定住页面的解决代码
- CSS background 之设置图片为背景技巧
- oracle sql命令行中上下左右使用
- 点击button 验证倒计时
- linux 编辑启动菜单,grub2的配置,linux启动菜单修改
- echart data放入数组_线性表(数组、链表、队列、栈)详细总结
- Mono 之 Jexus
- python对象属性是与数据有关的项目_python之对象产生,属性(定义的值)的查找原则,对象绑定关系...
- 【干货】js 数组操作合集(前端自我修养)
- FPV穿越机飞行入门练习
- 莫烦python之python基础学习备忘
- Nginx 跨域配置
- 企业wifi认证登录靠谱吗
- 9.4 多元复合函数求导
- CAD三维图怎么倒斜角?
- Windows Server执行定时任务
- python分析出nba球员的位置_虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手...
- NU Virgos(圣女天团)
- 计算机教案三维目标,“三维目标”的三个问题 教学设计三维目标模板
- Java身份证处理工具