發(fā)現(xiàn) dweet.io 是個(gè)蠻不錯(cuò)的網(wǎng)站剩蟀,對(duì)于小型的 IOT 項(xiàng)目,可以通過它把數(shù)據(jù)同步至云端切威,方便遠(yuǎn)程實(shí)時(shí)監(jiān)控育特。結(jié)合 freeboard 的小插件,美觀又實(shí)用先朦。
dweet.io 深得我心的地方在于缰冤,不需要注冊(cè)賬戶獲取 ID 啊 KEY 啊什么的,只取個(gè)像樣點(diǎn)兒的名字添加到程序里就可以了喳魏。同時(shí) 樹莓派棉浸、Intel Galileo 等板子都支持 Python 編程,無需復(fù)雜的安裝配置刺彩。
Python代碼
首先安裝 dweepy 模塊(負(fù)責(zé)與 dweet.io 站點(diǎn)的通信)
pip install dweepy
額涮拗,我有點(diǎn)懶。沒有在自己的派上搭建好項(xiàng)目迂苛。僅僅為了測(cè)試目的,所以鼓择,三幻,,數(shù)據(jù)源是用 Random 生成的隨機(jī)數(shù)呐能。實(shí)際項(xiàng)目中念搬,將其替換成相應(yīng)的數(shù)據(jù)接口即可草姻。
代碼如下:
import dweepy
import time
import random
if __name__ == '__main__':
while True:
thing_name = "YOUR-PROJECT-NAME"
// 生成兩個(gè)隨機(jī)數(shù)替代真實(shí)數(shù)據(jù)
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)
如上闸英,調(diào)用起來非常簡(jiǎn)單。只需要定義好自己的 thing_name(最好起復(fù)雜點(diǎn)娜庇,避免重復(fù))偎漫,并將其和數(shù)據(jù)傳遞給 dweet_for 函數(shù)就行了爷恳。
dweet.io
執(zhí)行上述代碼,之后在瀏覽器輸入地址 http://dweet.io/follow/YOUR_PROJECT_NAME 象踊。即可實(shí)時(shí)訪問同步至云端的數(shù)據(jù)温亲。如下圖:
freeboard
單單以這種原始的方式展示數(shù)據(jù),未免顯得過于單薄無趣杯矩。好在有個(gè)東西叫做 freeboard栈虚,完美地解決了這個(gè)問題。
有圖有真相:
這個(gè)東西是需要注冊(cè)的史隆,用郵箱就可以了魂务。
然后添加上 DATASOURCES ,默認(rèn)即包含了 dweet 選項(xiàng)。再依次添加 PANE 和 WIDGET粘姜,做一些小的配置即可鬓照。
過程比較繁瑣,稍微懂點(diǎn)英文相艇,再花一點(diǎn)點(diǎn)時(shí)間摸索下颖杏,不成問題。
我就不多做介紹了坛芽,配圖如下:
其中 NAME 項(xiàng)自己隨意填留储,THING NAME 填 dweet.io 上對(duì)應(yīng)的項(xiàng)目名。
就先這樣了