• <table id="0ws66"></table>
  • <noscript id="0ws66"><source id="0ws66"></source></noscript>
    OrangePi保持在線測試

    OrangePi保持在線測試的詳細介紹

    創作者:KanameAimu | 更新日期:2017-03-21 | 在線時長:34天
    在OrangePi Lite上用Python保持在線,并上傳實時CPU溫度。

    樹莓派示例代碼略微修改即可使用。

    用cat /sys/devices/virtual/hwmon/hwmon1/temp1_input來獲取CPU溫度

    Python代碼如下。

    #!/usr/bin/python3
    import socket
    import os
    import time
    from datetime import datetime
    #must be modified===此處修改為你自己的
    DEVICEID='' 
    APIKEY=''
    DATAID=''
    #modify end=========
    host="www.embanju.org"
    port=8181
    checkinBytes=bytes('{\"M\":\"checkin\",\"ID\":\"'+DEVICEID+'\",\"K\":\"'+APIKEY+'\"}\n',encoding='utf8')
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    while True:
        try:
            s.connect((host,port))
            break
        except:
            print('waiting for connect bigiot.net...')
            time.sleep(2)
    s.settimeout(0)
    s.sendall(checkinBytes)
    data=b''
    flag=1
    t=time.time()
    def keepOnline(t):
        if time.time()-t>15:
            output=os.popen('cat /sys/devices/virtual/hwmon/hwmon1/temp1_input')
            temp=(output.read()).replace('\n','')
            print(temp)
            line='{\"M\":\"update\",\"ID\":\"'+DEVICEID+'\",\"V\":{\"'+DATAID+'\":\"'+temp+'\"}}\n'
            s.sendall(bytes(line,encoding='utf8'))
            return time.time()
        else:
            return t
    while True:
        try:
            d=s.recv(1)
            flag=True
        except:
            flag=False
            time.sleep(2)
            t = keepOnline(t)
        if flag:
            if d!=b'\n':
                data+=d
            else:
                #do something here...
                print(str(data,encoding='utf-8'))
                data=b''
    国产综合在线