【IOT】将传感器数据同步至云端(python、dweet.io、freeboard)

发现 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 。即可实时访问同步至云端的数据。如下图:

dweet.io 网站截图


freeboard

单单以这种原始的方式展示数据,未免显得过于单薄无趣。好在有个东西叫做 freeboard,完美地解决了这个问题。
有图有真相:

freeboard 截图

这个东西是需要注册的,用邮箱就可以了。
然后添加上 DATASOURCES ,默认即包含了 dweet 选项。再依次添加 PANE 和 WIDGET,做一些小的配置即可。
过程比较繁琐,稍微懂点英文,再花一点点时间摸索下,不成问题。

我就不多做介绍了,配图如下:

DATASOURCES

其中 NAME 项自己随意填,THING NAME 填 dweet.io 上对应的项目名。

WIDGET

就先这样了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,090评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,687评论 6 427
  • 哦啦啦哦啦啦哦啦啦啦 一个月了,值得纪念。 今天下午出门了。 晚上看降旗,跟兵哥哥一起跑过马路,这感觉-好到爆(✪...
    世俗凡人阅读 1,319评论 2 2
  • 天气总是晴,阴,雨,雪循环变化不已!多样性往往也意味着分裂和不完美!但没有多样性是最不完美!当然,我想说的是难以捉...
    汐鲌阅读 3,146评论 0 1