您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關樹莓派怎么用Python實現yeelink平臺的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
首先先在yeelink平臺上注冊,獲得自己的APIKEY,
創建設備及設備上傳感器,讀取傳感器的apiurl。
例子1:上傳樹莓派溫度數據到yeelink -> yeelink_temp.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import time def main(): fileRecord = open("result.txt", "w") fileRecord.write("connect to yeelink\n"); fileRecord.close() while True: # 打開文件 file = open("/sys/class/thermal/thermal_zone0/temp") # 讀取結果,并轉換為浮點數 temp = float(file.read()) / 1000 # 關閉文件 file.close() # 設備URI,在創建的溫度傳感器處查看自己的傳感器apiurl替換下面的路徑 apiurl = 'http://api.yeelink.net/v1.0/device/2342/sensor/2555/datapoints' # 用戶密碼, 指定上傳編碼為JSON格式 apiheaders = {'U-ApiKey': 'f07f2b260a6635*****b4a3a*******5', 'content-type': 'application/json'} # 字典類型數據,在post過程中被json.dumps轉換為JSON格式字符串 {"value": 48.123} payload = {'value': temp} #發送請求 r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload)) # 向控制臺打印結果 fileRecord = open("result.txt", "a") strTime = time.strftime('%Y-%m-%d:%H-%M-%S',time.localtime(time.time())) fileRecord.writelines(strTime + "\n") strTemp = "temp : %.1f" %temp + "\n" fileRecord.writelines(strTemp) fileRecord.writelines(str(r.status_code) + "\n") fileRecord.close() time.sleep(2*60) if __name__ == '__main__': main()
例子2:yeelink創建開關控制led -> yeelink_led_ctl.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import time import driver_gpio_led # 設備URI, 在創建的溫度傳感器處查看自己的傳感器apiurl替換下面的路徑 apiurl = 'http://api.yeelink.net/v1.0/device/2332/sensor/2578/datapoints' # 用戶密碼 apiheaders = {'U-ApiKey': 'f07f2b260a6635*****b4a3a*******5'} led = driver_gpio_led.gpio_led(7) while True: #發送請求 r = requests.get(apiurl,headers=apiheaders) # 打印響應內容 #print(r.text) # 轉換為字典類型 請注意 2.7.4版本使用r.json() led_state = r.json() # {'value':x} x=1打開狀態,x=0關閉狀態 if led_state['value'] == 1: print("led on") led.gpio_high() else: print("led off") led.gpio_low() # 延時5S time.sleep(5) led.clean()
感謝各位的閱讀!關于“樹莓派怎么用Python實現yeelink平臺”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。