8564浏览
查看: 8564|回复: 7

【micropython】四行代码做微信报警系统

[复制链接]
本帖最后由 小和尚 于 2017-6-25 15:38 编辑

一, 申请ServerChan密钥         

打开该网址http://sc.ftqq.com/3.version,根据说明生成自己的密钥。


二, 写一个温度报警系统,温度达到临界点推送给微信
下载以下库文件并上传到flash
https://github.com/micropython/micropython/blob/master/esp8266/modules/dht.py

https://github.com/micropython/m ... quests/urequests.py

最终目录结构如下:
创建一个空文件__init__.py
【micropython】四行代码做微信报警系统图2


编写boot脚本:
[mw_shl_code=python,true]import network
import utime

pdcn = network.WLAN(network.STA_IF)
pdcn.active(True)
pdcn.connect('wifi账号', 'wifi密码')
utime.sleep(5)
if pdcn.isconnected():
    print("WiFi is connected %s."%pdcn.ifconfig()[0])   
else:
    pdcn.active(False)
    utime.sleep(5)
    print("WiFi cannot connect.")[/mw_shl_code]


编写main.py脚本[mw_shl_code=python,true]# coding=utf-8
from lib import urequests
from lib import dht
import machine


class AlarmSystem:
    def __init__(self):
        self.d = dht.DHT11(machine.Pin(5))

    def dht11(self):
        self.d.measure()
        return "Temp:%s" % self.d.temperature(), "Humi:%s" % self.d.humidity()

    def push(self, result):
        title = "FireBeetle_ESP32"
        content = "text=%s" % title + "&" + "desp=%s"%result  
        r = urequests.get("https://sc.ftqq.com/你的密钥.send?%s" % content)
        r.close()
        
if __name__ == '__main__':
    a = AlarmSystem()
    while True:
        result = a.dht11()[0]
        if result >= 28:
            a.push(result)
[/mw_shl_code]


最关键的就是main.py脚本中的push方法,四行代码(其实一行就行了,不过urequests的接受参数不能太长)就可以做到报警了。是不是炒鸡简单。
测试结果如下:
【micropython】四行代码做微信报警系统图1





dexin  中级技师 来自手机

发表于 2017-6-25 18:44:38

好棒!!
回复

使用道具 举报

dexin  中级技师 来自手机

发表于 2017-6-25 18:45:43

microPython是不是先把相关文件下载到esp里 然后在用命令行编程
回复

使用道具 举报

小和尚  见习技师
 楼主|

发表于 2017-6-25 19:05:24

dexin 发表于 2017-6-25 18:45
microPython是不是先把相关文件下载到esp里 然后在用命令行编程

micropython在有些固件里自带了大部分库,像esp32就有些库不全。所以需要自己下载并上传到flash里面进行调用。在python,想要调用同目录下的库就需要创建一个名字为__init__.py的空文件。你可以用论坛的uPyCraft_V0.20.exe IDE进行脚本上传下载。并不需要在命令行写脚本,那会很蛋疼
回复

使用道具 举报

dexin  中级技师

发表于 2017-6-25 21:00:48

小和尚 发表于 2017-6-25 19:05
micropython在有些固件里自带了大部分库,像esp32就有些库不全。所以需要自己下载并上传到flash里面进行 ...

明白了!!!
回复

使用道具 举报

pATAq  版主

发表于 2017-6-28 16:21:25

server酱不错的服务,谢谢楼主文章
回复

使用道具 举报

秦皇岛岛主  初级技师

发表于 2017-6-30 17:44:17

用了一下,超级简单,挺好玩
回复

使用道具 举报

世界雫ss  学徒

发表于 2019-3-21 17:15:50

还没试过有空试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail