溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

樹莓派怎么用Python實(shí)現(xiàn)yeelink平臺(tái)

發(fā)布時(shí)間:2021-11-20 09:26:18 來源:億速云 閱讀:138 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關(guān)樹莓派怎么用Python實(shí)現(xiàn)yeelink平臺(tái)的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

首先先在yeelink平臺(tái)上注冊,獲得自己的APIKEY,

創(chuàng)建設(shè)備及設(shè)備上傳感器,讀取傳感器的apiurl。

例子1:上傳樹莓派溫度數(shù)據(jù)到y(tǒng)eelink -> 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")
        # 讀取結(jié)果,并轉(zhuǎn)換為浮點(diǎn)數(shù)
        temp = float(file.read()) / 1000
        # 關(guān)閉文件
        file.close()

        # 設(shè)備URI,在創(chuàng)建的溫度傳感器處查看自己的傳感器apiurl替換下面的路徑
        apiurl = 'http://api.yeelink.net/v1.0/device/2342/sensor/2555/datapoints'
        # 用戶密碼, 指定上傳編碼為JSON格式
        apiheaders = {'U-ApiKey': 'f07f2b260a6635*****b4a3a*******5', 'content-type': 'application/json'}
        # 字典類型數(shù)據(jù),在post過程中被json.dumps轉(zhuǎn)換為JSON格式字符串 {"value": 48.123}
        payload = {'value': temp}
        #發(fā)送請求
        r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload))

        # 向控制臺(tái)打印結(jié)果
        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創(chuàng)建開關(guān)控制led -> yeelink_led_ctl.py

#!/usr/bin/env python  
# -*- coding: utf-8 -*-  
import requests  
import time  
import driver_gpio_led

# 設(shè)備URI, 在創(chuàng)建的溫度傳感器處查看自己的傳感器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:  
  #發(fā)送請求  
  r = requests.get(apiurl,headers=apiheaders)  
  # 打印響應(yīng)內(nèi)容  
  #print(r.text)  
  # 轉(zhuǎn)換為字典類型 請注意 2.7.4版本使用r.json()  
  led_state = r.json()
  # {'value':x} x=1打開狀態(tài),x=0關(guān)閉狀態(tài)  
  if led_state['value'] == 1:  
    print("led on")  
    led.gpio_high() 
  else:  
    print("led off")  
    led.gpio_low()  
  # 延時(shí)5S  
  time.sleep(5)    
led.clean()

感謝各位的閱讀!關(guān)于“樹莓派怎么用Python實(shí)現(xiàn)yeelink平臺(tái)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI