我正在开发一个后端使用Python和Django服务器的web应用程序。我有一些raspberry Pi正在向服务器发送数据,然后我应该从后端获取这些数据。我在我的项目中成功地做到了这一点,所以我对代码很有把握。现在我想把这个函数集成到我的项目中,所以这里有一个文件:
loop = asyncio.get_event_loop()
class StartApp:
def __init__(self, interval=1):
self.interval = interval
Mqtt = multiprocessing.Process(target = self.runMqtt)
loop.run_until_complete(runCoap())
async def runCoap():
print('COUCOU C cOAP')
protocol = await Context.create_client_context()
requestTemp = Message(code=GET, uri='coap://129.6.60.38/other/sensors/temperature')
requestHumidity = Message(code=GET, uri='coap://129.6.60.38/other/sensors/humidity')
while True:
time.sleep(1)
try:
responseTemp = await protocol.request(requestTemp).response
responseHumidity = await protocol.request(requestHumidity).response
except Exception as e:
print('Failed to fetch resource:')
print(e)
else:
print('Result: %s\n%r'%(responseTemp.code, responseTemp.payload))
print('Result: %s\n%r'%(responseHumidity.code, responseHumidity.payload))
我在运行我的应用程序时会出现以下错误:
^{pr2}$我试图打印循环,但似乎没有创建循环,所以我假设Django和asyncio之间存在冲突,因为我可以使用以下方法在项目中运行相同的函数:
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
其中main是我命名为runCoap的方法的名称。在
因此,感谢@user4815162342,以下是解决方案:
相关问题 更多 >
编程相关推荐