ws2812_Domoticz+esp8266_esp_easy_ws2812RGB燈(NeoPixel) 折騰記錄

@[TOC](ws2812_Domoticz+esp8266_esp_easy_ws2812RGB燈(NeoPixel) 折騰記錄)
RGB_

Esp8266:

ESP8266 刷 Esp_Easy 固件,並設定NeoPixel 如下圖所示

在這裏插入圖片描述

在domoticz 中添加虛擬硬件,並創建虛擬傳感器 RGB 燈

在這裏插入圖片描述

在設置中查看創建的虛擬傳感器RGB 燈的IDX 並記錄下來,轉到 開關 面板 找到RGB 燈開關 分別編輯 開觸發命令 和關觸發命令

// ON
script:///opt/domoticz/scripts/python/ow12.py
// OFF
http://<esp_easy IP>/control?cmd=NeoPixelAll,0,0,0

在這裏插入圖片描述

編寫控制腳本並賦予執行權限

腳本來源於 Domoticz論壇

// /opt/domoticz/scripts/python/ow12.py
# vim /opt/domoticz/scripts/python/ow12.py
  1 #!/usr/bin/env python
  2
  3 import requests
  4 import ast
  5IDX
  6 ID = '剛剛創建的RGB 傳感器設備IDX'
  7
  8 domo_url = "http://domoticzIP:port/json.htm?type=devices&rid={}".format(ID)
  9 owl_control_url = 'http://ESP_easy IP /control?cmd=NeoPixelAll,{},{},{}'
 10
 11 def app():
 12     data = requests.get(domo_url)
 13     print (data)
 14     colour_data = ast.literal_eval(data.json()['result'][0]['Color'])
 15     level_data = data.json()['result'][0]['Level']
 16     state = data.json()['result'][0]['Data']
 17     red = int(colour_data["r"])
 18     green = int(colour_data["g"])
 19     blue = int(colour_data["b"])
 20     level = int(level_data)
 21
 22     redl = int((red/100) * level)
 23     greenl = int((green/100) * level)
 24     bluel = int((blue/100) * level)
 25
 26     if state == 'Off':
 27         redl = 0
 28         greenl = 0
 29         bluel = 0
 30
 31     #send to light
 32     _i = requests.get(url=owl_control_url.format(redl,greenl,bluel))
 33
 34
 35 if __name__ == "__main__":
 36     print (domo_url)
 37     app()
//添加可執行權限
# chmod +x  /opt/domoticz/scripts/python/ow12.py

參考來源:
Python script for full rgb + brightness control of easyESP neopixel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章