作为mqtt代理提供对物联网实验室实验的访问

iotlabmqtt的Python项目详细描述


作为mqtt代理提供对物联网实验室实验的访问。

协议文件 IoT-LAB-MQTT Documentation

发展于 ARMOUR European Union project

安装

在物联网实验室前端以服务器模式安装:

git clone https://github.com/iot-lab/iot-lab-mqtt.git
cd iot-lab-mqtt
pip install --user -e .[server]

在计算机上以客户端模式安装:

git clone https://github.com/iot-lab/iot-lab-mqtt.git
cd iot-lab-mqtt
pip install --user .

通过将python用户安装目录添加到PATH中 在~/.bashrc中追加以下行:

export PATH="${HOME}/.local/bin:${PATH}"

您可以使用:

echo 'export PATH="${HOME}/.local/bin:${PATH}"' >> ~/.bashrc
# Reload configuration
source ~/.bashrc

如果没有,则需要从 以"./"为前缀的存储库目录,例如 ./iotlab-mqtt-clients

文档

可以使用以下命令生成文档:

pip install --user sphinx
make -C doc html

上下文

服务器

要使用这些工具,您应该使用mqtt代理。 对于这个文档,我将使用iot.eclipse.org。 服务器和客户端代理都将通过这个集中服务器进行通信。

主题

mqtt基于url主题的发布/订阅。

为了防止冲突,我建议在url前面加上特定的前缀 你的实验和例子。 我想说:

my/experiment/on/blablabla/IOTLAB_USERNAME/IOTLAB_EXPERIMENT_ID

在工具上提供前缀使用--prefix选项。

更高级

请参见有关实现的文档

运行

在服务器上,您应该首先运行server代理:

iotlab-mqtt-serial       [ARGUMENTS]
iotlab-mqtt-radiosniffer [ARGUMENTS]
iotlab-mqtt-node         [ARGUMENTS]
iotlab-mqtt-process      [ARGUMENTS]

在客户机上,您应该运行您的客户机或提供的示例:

iotlab-mqtt-clients serial       [ARGUMENTS]
iotlab-mqtt-clients radiosniffer [ARGUMENTS]
iotlab-mqtt-clients node         [ARGUMENTS]
iotlab-mqtt-clients process      [ARGUMENTS]
iotlab-mqtt-clients log          [ARGUMENTS]

参数

您可以使用--help选项获取参数列表。

全局MQTT配置

代理地址,MQTT服务器的URL:

broker

Broker端口,默认为1883(当我编写时):

--broker-port BROKER_PORT

主题前缀,您的主题命名空间:

--prefix PREFIX

客户机MQTT配置

服务器代理站点名称,物联网实验室站点名称:

--site IOTLAB_SITE

物联网实验室API使用配置

使用IoT实验室API(^{TT9}$)的服务器的配置。 如果没有提供,工具将尝试从.iotlabrc和current中检测它们 运行实验。

物联网实验室API用户名:

--iotlab-user IOTLAB_USERNAME

物联网实验室API密码:

--iotlab-password IOTLAB_PASSWORD

要使用的物联网实验室实验标识:

--experiment-id EXPERIMENT_ID

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

推荐PyPI第三方库


热门话题
java连接在一个屏幕上成功下载,在第二个屏幕上用几乎相同的代码获得错误   java调用super。超级的方法,跳过超级。方法   使用Web服务连接到sharepoint 2013的Java应用程序   java我无法正确呈现editText   httpurlconnection如何在java中检查url连接状态   java Spring Security可以为同一用户接受多个密码吗?   java如何在PreparedStatement中使用自动生成的@Id?   java每个数组表示一个位模式   java我不确定如何记录鼠标在某个区域被点击的次数   spring如何解决:java。lang.NoSuchMethodError:javax。坚持不懈实体管理器。createStoredProcedureQuery(Ljava/lang/String;)   java如何为blackberry中listfield项内的不同字段触发事件   安卓使用Proguard混淆java代码   java在grails 2中与多个数据源有一个和一个域关联。十、   java在尝试在单击按钮时返回combobox值时一直出错   java我可以在setter中使用@Resource注释而不是字段吗?   java Eclipse调试步进不工作   java比较相同对象的两个表并选择不同的表