TPYBoard自制微信远程智能温湿度计
智能时代一夜间什么都能远程了。创业者想着如何做智能产品,如何做远程控制。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)
四、成果分享
到这里,工作完成,方糖就会发送推送消息给你,你就会看到检测的温湿度了。

TPYBoard自制微信远程智能温湿度计的更多相关文章
- 用python自制微信机器人,定时发送天气预报
0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...
- Python自制微信机器人:群发消息、自动接收好友
运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求.群发文章.自动回复等操作,但颇有不便. 举几个场景: 突然在外面看到一篇文章很好,临时写了一篇,想群发一 ...
- [Arduino+Android] 自制土砲智能安全帽
专案动机(1/2) .现今社会中,各种交通运输载具方便了人类的生活,缩小了地域的差异性,当中车辆是人们日常生活中最频繁接触到的一部分. .车辆使人们的行动更加便利,也因此道路上行驶的车辆越来越多. . ...
- 自制微信小程序 提示插件 -- noticeUitis.js
/* noticeMsg.js by: FEer_llx Modify 2016/08/24 */ function weNotice(obj) { this.fadeFlag = true; thi ...
- Android微信智能心跳方案 (转)
原创 2015-08-17 phoenix WeMobileDev 前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和W ...
- Android微信智能心跳方案
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- Android的微信智能心跳方案
原文地址: 年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- 转: Android微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
- Android推送服务(2)微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
随机推荐
- Java 程序员快速上手 Kotlin 11 招
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:霍丙乾 近经常会收到一些 "用 Kotlin 怎么写" 的问题,作为有经验的程序员, ...
- cocoapods卸载重装 解决clone,install,search很慢的问题
电脑上面的cocoapods clone,pod install search的时候非常非常的慢,尝试了很多方法都无法解决,最后只能尝试着重装看看能不能解决问题 卸载 sudo gem uninsta ...
- 导出CSV,导出excel数字过长显示科学计数法解决方案
再导出CSV表格时发现数字超过一定长度后会缩写成科学计数法,对于手机号和身份证就比较尴尬了. 在网上找了一下,大部分都是加"'"将数字转换为字符串,但是纠结于导出的数字前面有个单引 ...
- .net操作压缩文件
附件:SharpZipLib.zip public class UnZipClass//解压 { /// <summary> /// 解压功能(解压压缩文件到指定目录) /// </ ...
- iOS-swift-基础篇1
一.swift是啥?答:百度. 二.swift基础知识. 1.输出函数:print print("Hello, world!") 2.简单数据类型 变量声明:var 常量声明:le ...
- 前端技术API手册(2) -- CSS API 的实现
微信小程序 jQuery每日经典 第二阶段已经发布,截至目前收录的技术有jQuery和CSS.其他技术正在不断的填充完善中. CSS技术手册实现的方法: 资料来源 所有的CSS资料均参考自网址:htt ...
- Xmpp学习之Smack发送消息JID变乱码
Xmpp学习之Smack发送消息JID变乱码 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6947723 ...
- wpf XAML xaml 进行 数据绑定,Resource DataContext ElementName
先做个声明:这里绑定都在前台实现,至于后台怎么写,那比前台简单多了,但更常用的是xaml中绑定.我们分析下最简单的字符串绑定来弄清楚原理,其他的类推就是. 数据绑定主要是要弄清楚两个东西,一个是源So ...
- Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]
linux中的JDK为JDK8,tomcat为tomcat8 加入dubbo.war包 启动报错! Caused by: org.springframework.beans.factory.BeanC ...
- CommonsChunkPlugin并不是分离第三方库的好办法(DllPlugin科学利用浏览器缓存)
webpack算是个磨人的小妖精了.之前一直站在glup阵营,使用browserify打包,发现webpack已经火到爆炸,深怕被社区遗落,赶紧拿起来把玩一下.本来只想玩一下的.尝试打包了以后,就想启 ...