远程传感器api框架

remote-sensors的Python项目详细描述


远程传感器API协议库

这个库将原始bytearray转换为远程传感器api模型。

此实现使用XBee Python library。 并将传入的设备消息转换为远程传感器请求和响应。

这个库使用的语法与sanic或flask相似。

用法

importremote_sensorsfromdigi.xbee.devicesimportXBeeDeviceimportmy_settingsassettings@remote_sensors.bind_to_device()@remote_sensors.request()defaccess_log(request:remote_sensors.Request,*args,**kwargs):"""Simple Access Logger method."""logger.info(f'Request: {request.method} - {request.uri}')@remote_sensors.bind_to_device()@remote_sensors.request(method='REGISTRATION')defhandle_registration(request:remote_sensors.Request,*args,**kwargs):"""Handles the registration request."""response=remote_sensors.Response(status='ACK',transaction=request.transaction)# do something about it :Dpayload={'request':request.as_dict(),'response':response.as_dict(),'completed':False,}logger.debug(f'Replying with {response.status} to {sensor_message.addresses}')# send the response to the devicereturnresponse@remote_sensors.bind_to_device()@remote_sensors.request(method='END_REGISTRATION',pass_message=True)defhandle_registration_end(request:remote_sensors.Request,sensor_message:remote_sensors.SensorRequest,*args,**kwargs):"""Handles the end of registration."""response=remote_sensors.Response(status='ACK',transaction=request.transaction)# do something about it :Dpayload={'device':sensor_message.as_dict(),'request':request.as_dict(),'response':response.as_dict(),'completed':True,}logger.debug(f'Device ({sensor_message.addresses}) has finished registration')returnresponsedevice=XBeeDevice(settings.SERIAL_PORT,settings.BAUD_RATE)defmain():device.open()remote_sensors.app.init(device)whileTrue:time.sleep(1)if__name__=='__main__':try:main()finally:ifdevice.is_open():device.close()

联系人

阿努福·索利斯·拉米雷斯

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有可能让一个bean在春天拥有多个父对象吗?   java将字符串转换为sparql URI   java如何仅从JPQL中的日期时间字段按日期分组   java到节点。js代码转换   java为什么即使构建成功,applet也不启动?   java多人查询jpql   令牌“}”上的java语法错误,{应为   基于列表的简单留言板实现中的java NullPointerException   javasimplenlg:我们如何指定数量?   java如何仅从Freemarker中的字符串获取字母表?   java Spring引导JPA按实体排序集合   java排序单链表与排序双链表   eclipse将版权头添加到所有项目文件(.java、.xml、…)