溫度感測控制虛擬燈泡亮度
-
樹莓派(Raspberry Pi)與溫度感測器(DHT11)
- 樹莓派電路示意圖
紅 VCC +3.3V
黑 GND 接地
綠 DATA 訊號 GPIO物聨網操作介面(以IoTtalk為例)
- 新增一個虛擬燈泡(輸出裝置)
- 新增一個樹莓派溫度感測器(輸入裝置)
- 樹莓派(Raspberry Pi)與物聨網平台(IoTtalk)程式連結下載
- 請解壓縮後,選取「SA.py」修改程式。
import random import Adafruit_DHT GPIO_PIN = 4 ServerURL = '' #For example: 'https://DomainName' MQTT_broker = None # MQTT Broker address, for example: 'DomainName' or None = no MQTT support MQTT_port = 1883 MQTT_encryption = False MQTT_User = 'ID' MQTT_PW = 'PW' device_model = 'Dummy_Device' IDF_list = ['Dummy_Sensor'] ODF_list = ['Dummy_Control'] device_id = None #if None, device_id = MAC address device_name = None exec_interval = 1 # IDF/ODF interval def Dummy_Sensor(): DHT_SENSOR = Adafruit_DHT.DHT11 humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, GPIO_PIN) if humidity is not None and temperature is not None : print("溫度={0:0.2f}度C 溼度={1:0.2f}%".format(temperature, humidity)) else : print("讀取失敗, 重新讀取.") return temperature, humidity def Dummy_Control(data:list): pass # print(data[0]) def on_register(r): print(f'Device name: {r["d_name"]}') ''' #You can write some SA routine code here, for example: import time, DAI while True: DAI.push('Dummy_Sensor', [100, 200]) time.sleep(exec_interval)
開啟終端機程式,在Python所在的資料夾中,執行以下的指令:
sudo python3 DAI.py
連接物聨網裝置
- 連結設備裝置與定義裝置間的函式。
- Join 1 的函式(!nksh_temperature)
def run(*args): return args[0] * 1.5