一、申请微信推送服务
能否实现微信推送服务的平台有很多,这里我就不一一解释了。我选用了「Server酱」,英文名「ServerChan」。你完全可以选用你认为比较好用的平台。「Server酱」的申请方法:
打开该网址http://sc.ftqq.com/3.version,开通并使用:
1. 登入:用GitHub账号登入网站,点击进入“发送消息”页面,就能获得一个SCKEY。具体见:http://sc.ftqq.com/?c=code
2. 绑定:点击“微信推送”页面,扫码关注同时即可完成绑定
3. 发消息:往https://sc.ftqq.com/SCKEY.send发GET请求,就可以在微信里收到消息啦
二、让我们开始DIY温湿度计
1、选择合适的主控板
更喜欢python编程的我,这里选用支持micropython的TPYBoardv202(esp8266)开发板。该开发板能够直接用python进行编程,功能还是比较强大的,甚至可用来作web服务器。这里我们主要是用其进行温湿度传感器的控制及网络请求。
2、DHT11温湿度传感器
DHT11是常用的温湿度传感器,网上可以很轻易就买到。简单的讲,就是可以用这个传感器获取的当前环境的温度和湿度。
该传感器使用非常简单,有的有3个引脚,有的有4个引脚。我们在使用时,只用三个,分别为VCC(电源脚,接5V)、DATA(数据引脚)、GND(接地)。
3、正确的连线方法
TPYBoardv202与DHT11的具体接线对应及实物图
TPYBoard v202
|
DHT11传感器 |
+5v
|
vcc
|
G5
|
DATA
|
GND
|
GND
|
三、少不了的编程
TPYBoardv202主要有两个文件来控制,一个是boot,py,一个是main.py。我们只需要修改这两个文件就可以完成程序的编写。如果你对如何使用TPYBoardv202还不清楚,可以参照
http://docs.tpyboard.com/zh/latest/tpyboard/tutorial/v202/。
1、编写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()[0]) else: pdcn.active(False) utime.sleep(5) print("WiFi cannot connect.")2、编写main.py脚本
# coding=utf-8 import urequests import dht import machine from machine import Pin import time class AlarmSystem: def __init__(self): self.d = dht.DHT11(machine.Pin(5)) def dht11(self): try: self.d.measure() return 'Temp:'+str(self.d.temperature())+'°C---Hum:'+str(self.d.humidity())+'%' except: return '0' def push(self, result): title = "TPYBoardv202提示您:注意天气变化保持健康心情" content = 'text='+title+'&'+'desp='+result url="https://sc.ftqq.com/SCU9545T6a65dcc064b04f78364fc3e6df6593c45951abe4d7219.send?%s" % content r = urequests.get(url) r.close() p2=Pin(2,Pin.OUT) a = AlarmSystem() def SendData(): p2.value(not p2.value()) data_= a.dht11() if(data_!='0'): print(data_) a.push(data_) else: print('GET Data Fail') if __name__ == '__main__': while True: SendData() time.sleep(300)
四、成果分享
到这里,工作完成,方糖就会给你,你就会看到显示的温湿度了。