發現 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
就先這樣了