树莓派接入巴法云控制
2022/5/4 23:19:52
本文主要是介绍树莓派接入巴法云控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近有小伙伴咨询树莓派接入的问题,其实简单,使用直接在树莓派中运行python程序就可以。
示例说明:示例中使用的python3.x版本,如果是2.x版本的python,运行前把 print 指令的()括号去掉,应该就可以了。如果需要控制树莓派io引脚,推送使用 RPi.GPIO ,百度上面教程很多,这里就不细说了。
第一,tcp协议连接
说明:
tcp服务器地址:bemfa.com 端口 8344
tcp协议详细订阅、发布指令,见接入文档:点击跳转
# -*- coding: utf-8 import socket import threading import time def connTCP(): global tcp_client_socket # 创建socket tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # IP 和端口 server_ip = 'bemfa.com' server_port = 8344 try: # 连接服务器 tcp_client_socket.connect((server_ip, server_port)) #发送订阅指令 substr = 'cmd=1&uid=4d9ec352e0376f2110a0c601a2857225&topic=led002\r\n' tcp_client_socket.send(substr.encode("utf-8")) except: time.sleep(2) connTCP() #心跳 def Ping(): # 发送心跳 try: keeplive = 'ping\r\n' tcp_client_socket.send(keeplive.encode("utf-8")) except: time.sleep(2) connTCP() #开启定时,30秒发送一次心跳 t = threading.Timer(30,Ping) t.start() connTCP() Ping() while True: # 接收服务器发送过来的数据 recvData = tcp_client_socket.recv(1024) if len(recvData) != 0: print('recv:', recvData.decode('utf-8')) else: print("conn err") connTCP()
第二,MQTT 协议连接
说明:
mqtt服务器地址:bemfa.com 端口:9501
连接服务器
1.用户私钥作为连接MQTT服务器的客户端ID
2.连接时用户名和密码为空,或随意填写,即设备连接时不需要账号和密码
mqtt程序使用前需安装mqtt库文件,安装命令:
pip3 install paho-mqtt
# -*- coding: utf-8 -*- # 以下代码在2021年10月21日 python3.10环境下运行通过 import paho.mqtt.client as mqtt HOST = "bemfa.com" PORT = 9501 client_id = "4d9ec352e0376f2110a0c601a2857225" #连接并订阅 def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("led00202") # 订阅消息 #消息接收 def on_message(client, userdata, msg): print("主题:"+msg.topic+" 消息:"+str(msg.payload.decode('utf-8'))) #订阅成功 def on_subscribe(client, userdata, mid, granted_qos): print("On Subscribed: qos = %d" % granted_qos) # 失去连接 def on_disconnect(client, userdata, rc): if rc != 0: print("Unexpected disconnection %s" % rc) client = mqtt.Client(client_id) client.username_pw_set("userName", "passwd") client.on_connect = on_connect client.on_message = on_message client.on_subscribe = on_subscribe client.on_disconnect = on_disconnect client.connect(HOST, PORT, 60) client.loop_forever()
这篇关于树莓派接入巴法云控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署