类似于http协议的vesna对话工具

vesna-alhtools的Python项目详细描述


简介

这个包提供了用于管理基于vesna的实用程序和python模块 使用ALH协议的无线传感器网络。

在典型的设置中,vesna节点参与基于zigbee的无线网格 网络在这个网状网络中,每个传感器节点都公开了一个类似http的接口, 支持两种类型的请求:获取无状态信息检索 并发布状态更改操作。

zigbee网格由协调器建立。除了一只小蜜蜂 接口,协调器通常也有一个以太网适配器。启动时 建立TCP/IP SSL隧道并在其上公开ALH服务。

通常,ssl隧道在执行以下操作的基础结构服务器中终止 alh和一个适当的http rest接口之间的转换在 网络:

+------+
| node | ALH -  ZigBee mesh
+------+      \
              |                    SSL tunnel
+------+      |      +-------------+         +----------------+
| node | ALH -+- ALH | coordinator | ALH --- | infrastructure | HTTPS -->
+------+      |      +-------------+         +----------------+
              |
+------+      /
| node | ALH -
+------+

或者,协调器也可以通过 串行线。此设置通常用于开发或调试:

+------+
| node | ALH -  ZigBee mesh
+------+      \
              |                      serial line
+------+      |      +-------------+
| node | ALH -+- ALH | coordinator | ALH ------------------------------->
+------+      |      +-------------+
              |
+------+      /
| node | ALH -
+------+

这些工具透明地支持两种操作模式。通常是 为串行线提供了http rest端点或字符设备。

安装

要从软件包索引安装全系统,请运行:

$ pip install vesna-alhtools

这还应该自动安装vesna所需的python绑定。 光谱传感器应用。更多信息请访问: https://github.com/avian2/vesna-spectrum-sensor

要从源代码安装全系统,请运行:

$ pip install .

运行测试:

$ tox

用法

安装后,可以使用以下工具:

alh-reprogram
对协调器或传感器节点进行无线重新编程。
alh-map

通过爬行 Zigbee网布。

可用于使用图形或网络可视化网络 监测(通过集成到munin)。

alh-tx-test
信号发生器测试。
alh-endpoint-server
简单的alh到http端点服务器,用于测试。可以使用 而不是正确的基础架构服务器。

--help作为唯一参数运行每个,以获取可用的列表 选项。

注意:如果api端点使用基本身份验证,则 在命令行上提示输入凭据。

您还可以将凭据保存到 主目录或当前目录中的alhrc。文件格式为 如下例所示:

Host example.com
User <username>
Password <password>
# more Host, User, Password lines can follow

还安装了几个python模块。请参阅中的演示程序 演示/目录以获取如何使用它们的示例。类和方法是 用docstring文档记录。其中一些是可以在线访问的 在https://vesna-alh-tools.readthedocs.io/en/latest/

使用rftest.py进行远程测试

此库提供了一个与 来自Vesna频谱传感器库的射频测试实用程序。它允许测试 使用生产固件(例如 nodespectrumsensor应用程序)在完全组装的节点上 附加接线。

测试设置如下:

+----------+ coax +------+ zigbit +-------------+  SSL  +----------------+
| R&S SMBV |----->| node |<-------| coordinator |<------| infrastructure |
+----------+      +------+  ALH   +-------------+       +----------------+
      ^                                                           ^
      | usbtmc    +--------+  HTTPS                               |
      +-----------| rftest |--------------------------------------+
                  +--------+

像这样运行rftest:

$ vesna-rftest -i foo -R vesna.alh.rftest.RemoteDeviceUnderTest -O,-Uhttps://...,-u...,-n1

许可证

版权所有(c)2017传感器实验室,Jozef Stefan Institute http://sensorlab.ijs.si

此程序是免费软件:您可以重新分发和/或修改 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。

这个程序的发布是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU通用公共许可证了解更多详细信息。

你应该收到GNU通用公共许可证的副本 和这个专业的克。如果没有,请参见<;http://www.gnu.org/licenses/>;。

作者:tomaz solc,<;tomaz.solc@ijs.si>;

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

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型