无线传感器信标扫描仪。

micropython-ruuvitag的Python项目详细描述


PyPi Status

使用支持micropython蓝牙的微控制器(如pycom设备)从RuuviTag BLE Sensor Beacon获取数据。

micropython ruuvitag支持Data Format 2, 3, 4 and 5

这个包裹配有扫描仪和跟踪器。扫描仪在预先定义的时间内扫描ruuvitag并返回结果。跟踪器持续扫描ruuvitag,并为找到的每个标记调用回调。

安装

安装软件包的最简单方法是通过upip

>>> import upip
>>> upip.install('micropython-ruuvitag')

对于手动安装,请将包含所有文件的ruuvitag目录复制到设备的lib目录。

使用mpfshell

安装
$ mpfshell ttyUSB0 -s install.mpf

扫描仪

RuuviTagScanner扫描ruuvitags并解码数据格式。结果是一个带有命名元组的列表

扫描RuuviTag传感器10秒并打印结果:

fromruuvitag.scannerimportRuuviTagScannerrts=RuuviTagScanner()forruuvitaginrts.find_ruuvitags(timeout=10):print(ruuvitag)

跟踪器

RuuviTagTracker扫描ruuvitag,解码数据格式,如果从标记接收到数据,则使用命名元组调用回调。

fromruuvitag.trackerimportRuuviTagTrackerdefcb(ruuvitag):print(ruuvitag)rtt=RuuviTagTracker()rtt.track_ruuvitags(cb)

白名单设备

通过定义带有mac地址的白名单,您可以只从所需的设备收集数据。其他设备将被忽略。白名单可以与ruuvitagscanner和ruuvitagtracker一起使用。

whitelist=(b'aa:bb:cc:dd:ee:21',b'aa:bb:cc:dd:ee:42',)rts=RuuviTagScanner(whitelist)

黑名单持久性

如果蓝牙设备的数据无法解码,只要micropython设备没有重置,该设备就会进入黑名单。对于永久性设备黑名单,应保存并重新加载该列表

>>> from ruuvitag import RuuviTagScanner
>>> rts = RuuviTagScanner()
>>> # add back blacklisted devices
>>> rts.blacklist = [b'aa:bb:cc:dd:ee:21', b'aa:bb:cc:dd:ee:42']
>>> # run a new scan
>>> rts.find_ruuvitags(timeout=10)
>>> # get blacklisted devices
>>> rts.blacklist

命名元组格式

数据格式2和4(eddystone url)

RuuviTagURL=namedtuple('RuuviTagURL',('mac','rssi','format','humidity','temperature','pressure','id',))

数据格式3(RAWv1)和5(RAWv2)

RuuviTagRAW=namedtuple('RuuviTagRAW',('mac','rssi','format','humidity','temperature','pressure','acceleration_x','acceleration_y','acceleration_z','battery_voltage','power_info','movement_counter','measurement_sequence',))

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

推荐PyPI第三方库


热门话题
java字符串数组到字符数组   cmusphinx试图在有人用JAVA说话时让静止图像“说话”   java试图使用密钥侦听器   string如何在java中使用split()将段落拆分为正确的句子?   java阻止直接访问动态创建的文件   如何在Java中检查同一层次结构中的对象列表   java应用程序意图在启动时不为null   AndroidAnnotations SharedReferences中的java模拟链式方法调用   java如何处理这种多线程场景的问题?   java缓冲区与JVM外部不安全   java使用Spring SAML从https加载元数据   java在JDOQL中舍入一个值   java显示不匹配的字符串,正则表达式否定   数组Java接口及其实现   适用于web分析的java数据库?   SpringMVC问题中的java表单创建