def connectAndPushData(): dcConncection = httplib.HTTPConnection(DC_IP, DC_PORT) dcConncection.set_debuglevel(1) dcConncection.connect() request = dcConncection.putrequest('POST', PUSH_ENDPOINT) headers = {} headers['Authorization'] = 'Bearer ' + AUTH_TOKEN headers['Content-Type'] = 'application/json' ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### Read the Temperature and Load info of RPi and construct payload ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # rPiTemperature=getCPUTemp() # Can be used if required to push CPU Temperature # rPiLoad = getCPULoad() # Can be used if required to push CPU Load ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rPiTemperature = pythonServer.LAST_TEMP # Push the last read temperature value PUSH_DATA = DEVICE_INFO + DEVICE_IP.format( ip=pythonServer.getDeviceIP()) + DEVICE_DATA.format( temperature=rPiTemperature) # , load=rPiLoad PUSH_DATA += '}' print PUSH_DATA headers['Content-Length'] = len(PUSH_DATA) for k in headers: dcConncection.putheader(k, headers[k]) dcConncection.endheaders() dcConncection.send(PUSH_DATA) # Push the data dcResponse = dcConncection.getresponse() print dcResponse.status, dcResponse.reason print dcResponse.msg dcConncection.close() print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' if (dcResponse.status == 409 or dcResponse.status == 412): print 'Re-registering Device IP' registerDeviceIP()
def registerDeviceIP(): dcConncection = httplib.HTTPConnection(DC_IP, DC_PORT) dcConncection.set_debuglevel(1) dcConncection.connect() registerURL = REGISTER_ENDPOINT + '/' + DEVICE_OWNER + '/' + DEVICE_ID + '/' + pythonServer.getDeviceIP( ) dcConncection.putrequest('POST', registerURL) dcConncection.putheader('Authorization', 'Bearer ' + AUTH_TOKEN) dcConncection.endheaders() dcConncection.send('') dcResponse = dcConncection.getresponse() print '~~~~~~~~~~~~~~~~~~~~~~~~ Device Registration ~~~~~~~~~~~~~~~~~~~~~~~~~' print dcResponse.status, dcResponse.reason print dcResponse.msg dcConncection.close() print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'