send-data-to-kebbi-robot-with-python

使用Python與IOT 伺服器將資料傳送至凱比機器人

凱比機器人的IOT方塊能與IOT伺服器交換資料。設定Adafruit連線後,可手動新增資料測試。使用Python自動上傳資料時,需安裝Adafruit IO模組,並注意feed名稱須對應網址。

女媧創造出品的凱比機器人具備多種功能,包含程式實驗室中的IOT方塊。IOT方塊讓凱比機器人可以接收IOT伺服器上的資料,也可以傳送資料至IOT伺服器。這篇文章會進一步說明如何將資料傳送至IOT伺服器上。

完成官方文件上的IOT方塊設定

在女媧創造的官方文件IOT方塊說明中,清楚的說明了如何設定IOT伺服器(MQTT)連線,這邊便不再贅述。完成連線後,你可以試著在adafruit的feed中手動新增資料。如果設定正確,這時凱比應該能夠馬上接收到你新增的資料。

在Python中使用Adafruit IO

接下來我們要使用Python自動將資料傳送至IOT伺服器。這篇文章與官方文件同樣選用Adafruit,因此我們需要使用以下指令安裝Adafruit官方開發的Python模組Adafruit IO:

pip install adafruit-io

在開始操作Python之前,我先在Adafruit上新增了一個Feed叫作Test。新增完成後,就可以使用Add Data按鈕手動新增資料。

手動輸入資料後,假使凱比機器人可以正確接收資料,接下來我們就可以用Python將上傳資料的環節自動化。這邊需要注意,在Adafruit IO的文件中直接在create_data的第一個參數設為feed名稱,但我實際測試時,會出現以下錯誤訊息:

RequestError: Adafruit IO request failed: 404 Not Found – not found – API documentation can be found at https://io.adafruit.com/api/docs

這個錯誤的原因是因為feed必須對應網址上的feed名稱,完成後就可以成功將資料上傳到伺服器了。

from Adafruit_IO import Client, Data
aio = Client('username', 'Active Key')
data = Data(value=10)
# aio.create_data('Test', data) # official code
# The url is: https://io.adafruit.com/{your user name}/feeds/test, so replace "Test" with "test".
aio.create_data('test', data)

🚀 以每年 5 美元解鎖無廣告體驗

✓ 14 天免費試用 ✓ 隨時取消

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *