Table of Contents
凱比機器人的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)





