文档章节

树莓派mqtt通信

monster13
 monster13
发布于 2016/06/14 11:41
字数 259
阅读 87
收藏 1
点赞 0
评论 0

1、sudo pip install paho-mqtt

2、python代码

# -*- coding: utf-8 -*- 
import paho.mqtt.client as mqtt
# import RPi.GPIO as GPIO
import json,sys


# if sys.version_info < (3, 0):
#     reload(sys)
#     sys.setdefaultencoding('utf8')
# else:
#     raw_input = input
username='public'
password='123456'
hostname='xxx.xxx.xxx.xxx'

# BCM GPIO编号
pins = [17,18,27,22,23,24,25,4]
def 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))
    # 连接完成之后订阅gpio主题
    client.subscribe("gpio")

# 消息推送回调函数 .decode("utf-8")
def on_message(client, userdata, msg):

    print(msg.topic+""+str(msg.payload))
    #获得负载中的pin 和 value
    # gpio = json.loads(str(msg.payload))

    # if gpio['pin'] in pins:
    #     if gpio['value'] == 0:
    #         GPIO.output(gpio['pin'], GPIO.LOW)
    #     else:
    #         GPIO.output(gpio['pin'], GPIO.HIGH)

if __name__ == '__main__':
    client = mqtt.Client()
    client.on_connect = on_connect
    client.on_message = on_message
    # gpio_setup()
   
    try:
        # 请根据实际情况改变MQTT代理服务器的IP地址及账户密码认证
        #client.username_pw_set(username,password)
        client.connect("xxx.xxx.xxx.xxx", 1883, 60)
        client.loop_forever()
    except KeyboardInterrupt:
        client.disconnect()
        gpio_destroy()

发送数据为{"pin":12,"value":1}

© 著作权归作者所有

共有 人打赏支持
monster13
粉丝 4
博文 20
码字总数 4068
作品 0
乌鲁木齐
项目经理
树莓派pi3 串口问题的解决办法

转载: https://blog.csdn.net/aguangg6655la/article/details/54985423 其他参考1:https://blog.csdn.net/xukai871105/article/details/22713925 其他参考2:https://www.briandorey.com/......

zhenguo26
04/18
0
0
树莓派+一根网线直连笔记本电脑

用网线直连电脑,不经过路由器。这个方法最大的特点用最少的工具玩树莓派。 一、材料:树莓派一部、网线一根,笔记本电脑一台。 1、树莓派:带供电系统和烧好Raspbian系统的SD卡; 2、网线:...

maweitao
2014/07/31
0
1
树莓派配置无线网卡连接WIFI

在前面的文章中介绍了使用串口与树莓派连接的方法,但是串口连接不太便捷,因此本篇文章介绍wifi连接树莓派的方法。 无线网卡 树莓派2没有自带wifi模块,需要另外购买一个usb wifi模块。我使...

刘语彤
2015/08/04
0
0
用Python让Raspberry Pi“动”起来

【编者按】本文是来自奥松机器人社区的投稿,作者为小强之工,真名贝振权,无线电、电子、嵌入式爱好者。 前段时间,接触了一款在开源硬件界被称为是“人气之王”的树莓派(Raspberry Pi)袖珍...

RagingTyphoon
2015/08/16
0
0
远距离赏秋香,DIY树莓派望远镜

编者注:本项目来自Instructables,原作者为joshdont,转载请注明。 就像很多人说的,创客做的东西很多时候并没有什么用处,你甚至已经可以在市面上买到更便宜、更轻巧、功能更强大的成品,还...

吴攀
2015/12/07
0
0
Banana Pi VS Raspberrry Pi,是敌是友?

现在开源硬件,已经成为了一种潮流,很多开源硬件项目不断推出各自的开源硬件产品. 市场上主流的有: raspberrry Pi, arDuino,Pcduino, CubieBoard, 在各自的发展过程中,大家都在维护各自的社区...

sinovoip
2014/07/31
0
0
树莓派摄像头VLC网络监控

备忘 树莓派有网口,又有摄像头可以用,当然不能浪费资源,下面我就用红外摄像头来做个昼夜均可使用的摄像头监控~ 连接好树莓派的CSI摄像头,我用的是带有红外灯的,并且有光感控制的,只有在...

乐_然
03/11
0
0
用树莓派构建你自己的微型服务器,可以外网访

第一,你得有一个路由器,否则下面的内容都无法实现了。 第二,你得申请一个免费的动态域名解析,由于我用的是TP-LINK的路由器,只支持花生壳,所以我申请了花生壳的动态域名解析。 申请花生...

maweitao
2014/07/25
0
4
用树莓派通过Java实现远程控制电灯

用树莓派通过Java实现远程控制电灯 本文章由 亓根火柴 原创,转载请注明出处:http://blog.csdn.net/qigenhuochai/article/details/17661845 传说,女娲娘娘炼就七根火柴,来帮助人类度过第一个...

亓根火柴
2014/01/02
0
0
树莓派3B的Qt交叉编译环境搭建

转自: http://blog.csdn.net/shenhuan1104/article/details/53486619 http://blog.csdn.net/shenhuan1104/article/details/53500829 本文永久地址:https://my.oschina.net/bysu/blog/1557......

不最醉不龟归
2017/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JAVA 三种WebService 规范

JAVA 中共有三种WebService 规范,分别是JAX-WS(JAX-RPC)、JAXM&SAAJ、JAX-RS。 1. Jaxws(掌握) JAX-WS 的全称为 Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务...

onedotdot
9分钟前
0
0
将博客搬至CSDN

将博客搬至CSDN

xpbob
10分钟前
0
0
TensorFlow 拟合异或 one-hot方式

增加隐含层数目 之前是按照计算出的数值按照0.5分为0和1,现在是算出向量,用维度较大的作为结果 import tensorflow as tfimport numpy as np# 网络结构:2维输入 --> 2维隐藏层 --> ...

阿豪boy
13分钟前
0
0
Aidl进程间通信详细介绍

目录介绍 1.问题答疑 2.Aidl相关属性介绍 2.1 AIDL所支持的数据类型 2.2 服务端和客户端 2.3 AIDL的基本概念 3.实际开发中案例操作 3.1 aidl通信业务需求 3.2 操作步骤伪代码 3.3 服务端操作...

潇湘剑雨
28分钟前
0
0
python爬虫日志(3)下载图片

import urlliburl='https://xxx.jpg'#图片地址res=urllib.request.urlopen(url)#此函数用于对url的访问data=res.read() #字节流with open(r'D:\1.jpg',"wb") as code: c...

茫羽行
45分钟前
0
0
vue中$emit的用法

1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运...

JamesView
54分钟前
0
0
bash审计系统搭建

step1:使用saltstack工具bash部署>>>>>> # salt -N clienta state.sls audit step2:安装elasticsearch>>>>>> 注意: 1.不能以root用户进行启动,需要创建用户,并对解压的elasticsearch目录赋......

硅谷课堂
55分钟前
0
0
Linux sar性能分析

Linux使用sar进行性能分析 sar简介 sar命令常用格式 sar常用性能数据分析 整体CPU使用统计-u 各个CPU使用统计-P 内存使用情况统计-r 整体IO情况-b 各个IO设备情况-d 网络统计-n sar日志保存-...

易野
56分钟前
0
0
用 Python 实现打飞机,让子弹飞吧!

所用技术和软件 python 2.7 pygame 1.9.3 pyCharm 准备工作 安装好 pygame 在第一次使用 pygame 的时候,pyCharm 会自动 install pygame。 下载好使用的素材。 技术实现 初始化 pygame 首先要...

猫咪编程
今天
0
0
MySQL的行锁和表锁

简单总结一下行锁和表锁。 行锁 每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 表锁 每次操作锁住整张表。开销小,加锁快;不会出...

to_ln
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部