一种用于Cayne低功耗分组格式的模块
cayenneL的Python项目详细描述
适用于卡宴低功耗数据包格式的Python模块
它的目的是便于转换通常从传感器读取的值 发送到可以通过网络发送的位序列(有效载荷) 使用卡宴低功耗数据包格式。这种格式特别 适用于Lorawan等LPWAN网络。
然后可以将有效负载发送到 物联网,一个基于罗兰湾的社区网络 将数据转发到一个卡宴应用程序,这要归功于它的卡宴 整合。
该模块由定义不同传感器和 它们的大小和一个类cayennelpp,其中包含构建 有效载荷。
常数的格式名为_sensor=(lpp id,data size),其中 lpp id是ipso id-3200,data size是 必须用于对传感器的读数进行编码。
更多信息请点击此处: https://mydevices.com/cayenne/docs/lora/#lora-cayenne-low-power-payload-overview
cayennelpp类
这个类包含了在一个卡宴中从传感器中打包数据的方法 lpp格式。卡宴lpp格式的有效载荷结构是data 表单框架:[sensor_1,sensor_2,…sensor_n],其中 一个传感器的格式定义为:[通道,传感器类型,数据]。
信道是数据帧中每个传感器的唯一标识符。
与该类兼容的传感器类型为:-数字型 输入/输出;-模拟输入/输出;-亮度(或照度) 传感器;-存在传感器;-温度传感器;-湿度传感器;。- 加速计;-气压计;-陀螺仪;-GPS。
此类的对象有3个属性:-payload:一个 或更多用卡宴lpp格式格式化的传感器;-大小: 有效载荷的最大大小(取决于数据上的网络) 将发送到);-socket:我们可以通过它发送有效负载的套接字。
构造函数将生成一个具有空负载和 最大尺寸。
可以使用“重置”方法重置有效负载并更改 最大尺寸与“嫦娥尺码”方法。
< P>当前的有效载荷和最大尺寸可以用方法获得 “get_payload”和“get_size”方法。您可以使用“send”方法通过套接字发送负载。这个 可以使用“set_socket”方法设置套接字。
要添加来自传感器的数据,方法“add_sensor_name”是 提供。
文档在github的目录doc中提供 储存库。
示例
# importing the module import cayenneLPP # create a LoRa socket s = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s.setsockopt(socket.SOL_LORA, socket.SO_DR, 0) s.setblocking(True) # creating Cayenne LPP packet lpp = cayenneLPP.CayenneLPP(size = 100, sock = s) # adding 2 digital outputs, the first one uses the default channel lpp.add_digital_input(True) lpp.add_digital_input(False, channel = 112) # sending the packet via the socket lpp.send()
使用lopy(https://www.pycom.io/)和 things network在test_lopy目录中提供。注意你 需要用更新app_eui和app_key的值 正确的凭据。