您好,我正在研究树莓派PI,它应该从连接到该PI的传感器连续发送数据,所以这是我的脚本:import loggingimport asynciofrom grovepi import*import timeimport jsonfrom aiocoap import *logging.basicConfig(level=logging.INFO)def createMsg( file,value ) : f= open(file + "Config.json") data = json.load(f) f.close() data["timestamp"] = str(round(time.time(), 3)) data["value"] = value return json.dumps( data )async def main(): #analog soundSensorPort=0 lightSensorPort=1 #digital motionSensorPort=2 tempSensorPort=2 ultrasonicSensorPort=5 pinMode(tempSensorPort, "INPUT") while True: context = await Context.create_client_context() await asyncio.sleep(2) [ tempSensorValue, humiditySensorValue ] = dht(tempSensorPort, 0) tempMsg = createMsg( "temperatureSensor", tempSensorValue) humidityMsg = createMsg( "humiditySensor", humiditySensorValue) payloadTemp = tempMsg.encode('utf-8') payloadHumidity = humidityMsg.encode('utf-8') requestTemp = Message(code=PUT, payload=payloadTemp) requestHumidity = Message(code=PUT, payload=payloadHumidity) requestTemp.opt.uri_host = '129.6.60.38' requestHumidity.opt.uri_host = '129.6.60.38' requestTemp.opt.uri_path = ("other", "sensors","temperature") requestHumidity.opt.uri_path = ("other", "sensors","humidity") responseTemp = await context.request(requestTemp).response responseHumidity = await context.request(requestHumidity).response print('Result: %s\n%r'%(responseTemp.code, responseTemp.payload)) print('Result: %s\n%r'%(responseHumidity.code, responseHumidity.payload))if __name__ == "__main__": asyncio.get_event_loop().run_until_complete(main())这真的很奇怪,因为我只是在读取文件并将其加载到“ f”之后关闭了文件,所以如果有人有想法,这将非常有帮助
添加回答
举报
0/150
提交
取消