发现 dweet.io 是个蛮不错的网站,对于小型的 IOT 项目,可以通过它把数据同步至云端,方便远程实时监控。结合 freeboard 的小插件,美观又实用。
dweet.io 深得我心的地方在于,不需要注册账户获取 ID 啊 KEY 啊什么的,只取个像样点儿的名字添加到程序里就可以了。同时 树莓派、Intel Galileo 等板子都支持 Python 编程,无需复杂的安装配置。
Python代码
首先安装 dweepy 模块(负责与 dweet.io 站点的通信)
pip install dweepy
额,我有点懒。没有在自己的派上搭建好项目。仅仅为了测试目的,所以,,,数据源是用 Random 生成的随机数。实际项目中,将其替换成相应的数据接口即可。
代码如下:
import dweepy
import time
import random
if __name__ == '__main__':
while True:
thing_name = "YOUR-PROJECT-NAME"
// 生成两个随机数替代真实数据
temperature = random.uniform(20, 30)
humidity = random.uniform(40, 50)
dweet = {"temperature": "{:5.2f}".format(temperature),
"humidity": "{:5.2f}".format(humidity)}
dweepy.dweet_for(thing_name, dweet)
print("temperature " + dweet["temperature"])
print("humidity " + dweet["humidity"])
time.sleep(10)
如上,调用起来非常简单。只需要定义好自己的 thing_name(最好起复杂点,避免重复),并将其和数据传递给 dweet_for 函数就行了。
dweet.io
执行上述代码,之后在浏览器输入地址 http://dweet.io/follow/YOUR_PROJECT_NAME 。即可实时访问同步至云端的数据。如下图:
freeboard
单单以这种原始的方式展示数据,未免显得过于单薄无趣。好在有个东西叫做 freeboard,完美地解决了这个问题。
有图有真相:
这个东西是需要注册的,用邮箱就可以了。
然后添加上 DATASOURCES ,默认即包含了 dweet 选项。再依次添加 PANE 和 WIDGET,做一些小的配置即可。
过程比较繁琐,稍微懂点英文,再花一点点时间摸索下,不成问题。
我就不多做介绍了,配图如下:
其中 NAME 项自己随意填,THING NAME 填 dweet.io 上对应的项目名。
就先这样了