完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
努力尝试将我很久以前写的几行 RPi Python 代码移植到 ESP-01。
该代码预计会向 Pushover 发送事件警报并且它有效(到目前为止)。 由于 Micropython 中似乎缺少“httplib”,我“迷失了翻译”。 任何线索如何解决它? 非常感谢任何类型的建议 scroogie 代码:全选if GPIO.input(4): msg = "CLOSED" entry = entry + "," + msg + "," + "\n" csv = open(filename, 'a') print ("CLOSED") GPIO.output(3, 1) conn = httplib.HTTPSConnection("api.pushover.net:443") conn.request("POST", "/1/messages.json", urllib.urlencode({ "token": "yyyyyyyyyyyy", "user": "xxxxxxxxxxx", "message": "OPEN :)", "sound": "pushover", }), { "Content-type": "application/x-www-form-urlencoded" }) conn.getresponse() csv.write(entry) csv.close() |
|
相关推荐
1个回答
|
|
代码的主要问题是它使用了Python的httplib库,该库在Micropython中不可用。你需要使用Micropython支持的HTTP客户端库。
您可以尝试使用micropython-urequests库,这是在Micropython中使用的常用库之一。 以下是您可以尝试的示例代码: 全选import urequests as requests #导入urequests库 import machine import time #将Pushover标记和用户密钥替换为您自己的数据 TOKEN = "your_token_here" USER_KEY = "your_user_key_here" #将GPIO引脚4设置为输入模式 gpio = machine.Pin(4, machine.Pin.IN) #检查GPIO引脚4的状态 如果为高电平 表示按键没有被按下 if gpio.value() == 1: msg = "CLOSED" entry = entry + "," + msg + "," + "n" csv = open(filename, 'a') print (" 门关闭") #将事件发送到Pushover url = "https://api.pushover.net/1/messages.json" headers = {"Content-type": "application/x-www-form-urlencoded" } data = {"token": TOKEN, "user": USER_KEY, "title": "Door Alert", "message": "门关闭"} response = requests.post(url, headers=headers, data=data) csv.write(entry) csv.close() #暂停60秒 time.sleep(60) 你需要创建一个Pushover帐户并获取您的令牌和用户键(TOKEN和USER_KEY)以将消息发送到您的手机。此代码将检查GPIO引脚4的状态(在ESP-01上连接到GPIO2)并发送消息。请注意,您需要在ESP-01上安装WiFi库并将其连接到您的本地网络。 希望这可以帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
982 浏览 1 评论
553浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
420浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 04:19 , Processed in 0.939992 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号