最简单的智能家居功能了,记录家里的温湿度变化。
大概讲一下涉及到的技术python,sqlite3,web.py等等。
思路是这样的,创建一个每小时执行一次的定时任务,通过dht11获取温湿度,然后存进sqlite的数据库。
使用web.py建立一个web服务,创建获取温湿度的接口以及界面显示。
完整代码地址:https://github.com/bluebanboom/thserver
部署非常简单首先必须clone代码。
- $ git clone https://github.com/bluebanboom/thserver.git
- $ cd thserver
- $ git submodule update --init --recursive
复制代码
这样代码才完整。 将DHT11的data连接到M2+的11号引脚。 然后执行 这个脚本会创建数据库,编译dht11,创建定时任务,启动web服务等。 命令完成后,访问http://localhost:8080/status查看服务器运行状态。如果页面显示`Server running...`, 则表示执行正常。 bootstrap脚本创建了一个每小时执行一次的定时任务用来获取当前温度。待到收集到一定数据后可以打开http://localhost:8080/static/index.html来查看当日的温湿度曲线。
另外,web服务还提供了一个获取某日温湿度的接口,返回json数据,这样就可以通过该接口为app或者其他设备提供数据了。 比如要获取8月20日的数据使用该地址http://localhost:8080/day/2016-08-20 获取7月19日的使用http://localhost:8080/day/2016-07-19
|