TPYBoard自制微信远程智能温湿度计

简介: 智能时代一夜间什么都能远程了。创业者想着如何做智能产品,如何做远程控制。DIY爱好者也想着如何自制各种奇妙的工具。这里和大家一起学习制作一款廉价的智能温湿度计。说它廉价是因为共计花费不过40元,说它智能是因为你可以通过手机微信时时知道该设备所在位置的温湿度。

        智能时代一夜间什么都能远程了。创业者想着如何做智能产品,如何做远程控制。DIY爱好者也想着如何自制各种奇妙的工具。这里和大家一起学习制作一款廉价的智能温湿度计。说它廉价是因为共计花费不过40元,说它智能是因为你可以通过手机微信时时知道该设备所在位置的温湿度。

一、申请微信推送服务

         能否实现微信推送服务的平台有很多,这里我就不一一解释了。我选用了「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的TPYBoard v202(esp8266)开发板。该开发板能够直接用python进行编程,功能还是比较强大的,甚至可用来作web服务器。这里我们主要是用其进行温湿度传感器的控制及网络请求。

2、DHT11温湿度传感器

    DHT11是常用的温湿度传感器,网上可以很轻易就买到。简单的讲,就是可以用这个传感器获取的当前环境的温度和湿度。

 

    该传感器使用非常简单,有的有3个引脚,有的有4个引脚。我们在使用时,只用三个,分别为VCC(电源脚,接5V)、DATA(数据引脚)、GND(接地)。

3、正确的连线方法

    TPYBoard v202与DHT11的具体接线对应及实物图

三、少不了的编程

     TPYBoard v202主要有两个文件来控制,一个是boot,py,一个是main.py。我们只需要修改这两个文件就可以完成程序的编写。如果你对如何使用TPYBoard v202还不清楚,可以参照

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/你的密钥.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)

四、成果分享

   到这里,工作完成,方糖就会发送推送消息给你,你就会看到检测的温湿度了。

目录
相关文章
|
6月前
|
小程序 Java 关系型数据库
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的微信智能招聘小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的微信智能招聘小程序的详细设计和实现(源码+lw+部署文档+讲解等)
|
7月前
|
JavaScript Java 测试技术
微信智能招聘小程序设计+ssmvue.js附带文章和源代码设计说明文档ppt
微信智能招聘小程序设计+ssmvue.js附带文章和源代码设计说明文档ppt
55 1
|
6月前
|
小程序 Java 关系型数据库
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的智能学习平台系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的智能学习平台系统的详细设计和实现
|
6月前
|
小程序 前端开发 JavaScript
微信小程序|智能小程序商城的设计与实现
微信小程序|智能小程序商城的设计与实现
|
6月前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的智能社区服务小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的智能社区服务小程序的详细设计和实现
52 0
|
小程序 前端开发 Java
毕业设计-基于微信小程序的智能垃圾分类回收系统
毕业设计-基于微信小程序的智能垃圾分类回收系统
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的智能无人仓库管理的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的智能无人仓库管理的详细设计和实现