小和尚 发表于 2017-6-25 15:20:21

【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



编写boot脚本:
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())   
else:
    pdcn.active(False)
    utime.sleep(5)
    print("WiFi cannot connect.")


编写main.py脚本# 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()
      if result >= 28:
            a.push(result)



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






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

还没试过有空试试看
页: [1]
查看完整版本: 【micropython】四行代码做微信报警系统