用于为运行测试设置用户环境(主要是虚拟网络接口)的组件

ioppytest-agent的Python项目详细描述


f-interop平台代理(ioppytest代理)

关于

代理(~vpn客户端)是连接 iut使用amqp总线运行到测试工具。 此组件是ioppytest框架生态系统的一部分。 这些组件需要在用户的主机中运行,并且必须共享一些 在与被测实现(iut)的接口上,它将 启用在中的所有设备之间创建专用网络 会议。

操作系统要求

这个组件已经用macos和ubuntu(v15.04或更高版本)进行了测试。 还不支持Windows操作系统。 对于ubuntu 17.04或更高版本,您需要安装iproute2:

apt-get -y -qq install iproute2

安装

创建虚拟环境以避免扰乱当前环境

pip install virtualenv
virtualenv -p /usr/bin/python2.7 my_venv
source my_venv/bin/activate

使用pip安装ioppytest代理

pip install ioppytest-agent

设计

代理由连接到AMQP消息的不同进程组成 使用代理和交换消息(传入和传出)与其他组件 同一个AMQP经纪人。

注意

代理仅受python2支持->;tun librarires py2仅支持

核心

启动时,代理启动核心模块。此组件位于 负责发射所有其他组件。 如果需要添加新组件,只需启动 从这个组件。

错误处理

当有用户中断信号(ctrl-c)时,代理应该终止 所有其他部件,并尽可能优雅地断开。

IP隧道模式(有源探头)

此模式可用于通信两个基于IPv6的实现 通过AMQP消息隧道传输所有流量。

运行IP tun的代理程序

为了运行代理,您需要在机器上具有特权,基本上 因为我们需要打开一个虚拟接口来传送数据包。

执行命令的命令将由 gui或amqp broker sys admin,应该如下所示:

sudo python -m agent connect  --url amqp://someUser:somePassword@f-interop.rennes.inria.fr/sessionXX --name coap_client

有关详细信息

python agent.py --help
python agent.py connect --help
                          +----------------+
                          |                |
                          |   AMQP broker  |
                          |                |
                          |                |
                          +----------------+


                                ^     +
                                |     |
data.tun.fromAgent.agent_name   |     |  data.tun.toAgent.agent_name
                                |     |
                                +     v

                 +---------------------------------+
                 |                                 |
                 |               Agent             |
                 |                                 |
                 |             (tun mode)          |
                 |                                 |
                 |                                 |
                 |   +------tun interface--------+ |
                 |                                 |
                 |  +----------------------------+ |
                 |  |         IPv6-based         | |
                 |  |        communicating       | |
                 |  |      piece of software     | |
                 |  |      (e.g. coap client)    | |
                 |  |                            | |
                 |  +----------------------------+ |
                 +---------------------------------+

串行模式(带802.15.4探头)

下图描述了代理的接口和 使用串行模式的交互(--serial选项)

待办事项: 添加指向探测源代码的链接

重要: 此工作模式采用以下IEEE802.15.4设置:

  1. 信道,调制,数据速率(信道11-26,2.4ghz)。
  2. mac模式是无信标的。
  3. 安全关闭

与活动探针结合的试剂


此模式可用于连接两个远程(地理上较远的) 基于802.15.4的设备。

活动模式探测器自动确认用户接收到的消息 设备,802.15.4未转发到AMQP连接。

运行带有活动探测器的代理(串行模式)

导出AMQP连接变量和串行连接的USB参数

环境变量:

export AMQP_EXCHANGE='amq.topic' export AMQP_URL="amqp://someUser:somePassword@f-interop.rennes.inria.fr/sessionXX"

检查USB端口,例如使用ls /dev/tty*

export FINTEROP_CONNECTOR_SERIAL_PORT=/dev/tty.XXX export FINTEROP_CONNECTOR_BAUDRATE=115200

然后执行(例如,对于在代理下运行的coap_服务器):

python -m agent connect --url $AMQP_URL --name coap_server --serial


                           +----------------+
                           |                |
                           |   AMQP broker  |
                           |                |
                           |                |
                           +----------------+


                                 ^     +
                                 |     |
data.serial.fromAgent.agent_name |     | data.serial.toAgent.agent_name
                                 |     |
                                 +     v

                           +----------------+
                           |                |
                           |                |
                           |     Agent      |
                           | (serial mode)  |
                           |                |
                           |                |
                           +-------+--------+
                                   | USB interface
                                   | (SLIP protocol)
                           +-------+--------+                        +---------------+
                           |                |     802.15.4 frame     |               |
                           |                |  <-----------------+   |   802.15.4    |
                           |    probe mote  |                        |     user      |
                           |  (active mode) |  +----------------->   |    device     |
                           |                |                        |               |
                           |                |                        |               |
                           +----------------+                        +---------------+

与被动探头结合的探剂


此模式可用于将802.15.4网络中的所有嗅探数据包转发到AMQP代理 并最终使用其他工具来监听正确的路由键/主题。

运行带有被动探测器的代理(串行模式)

tbd


                        +----------------+
                        |                |
                        |   AMQP broker  |
                        |                |
                        |                |
                        +----------------+

                                 ^
                                 |
data.serial.fromAgent.agent_name |
                                 |
                                 +

                         +----------------+
                         |                |
                         |                |
                         |     Agent      |
                         | (serial mode)  |
                         |                |
                         |                |
                         +-------+--------+
                                 | USB interface
                                 | (SLIP protocol)
                         +-------+--------+
                         |                |
                         |                |
                         |    probe mote  |
                         |  (passive mode)|
                         |                |
                         |                |
                         +-------+--------+
                                 |
                                 |
                                 |
                                 |
+---------------+                |              +---------------+
|               |                |              |               |
|   802.15.4    |       <--------+--------+     |   802.15.4    |
|     user      |         802.15.4 frames       |     user      |
|    device     |       +----------------->     |    device     |
|               |                               |               |
|               |                               |               |
+---------------+                               +---------------+

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

推荐PyPI第三方库


热门话题
java ZK我们可以保存Windows组件状态吗?   java中的xpath比较路径   将字符串解析为长字符串时出现java数字格式异常   Apache CXF中获取异常中的服务器stacktrace的java问题   java我正在用j2me编程,我需要用丰富的格式编写文本以获得帮助屏幕   Android Room数据库中id字段的java名称字段约定   对于API9,java ArrayList<HashMap<String,String>>无法正确转换为JSONArray   api是最初的Java理想死了吗?   opencv java中的python掩码图像   java为什么在实现克隆方法时返回super。克隆()不是此克隆()   java HttpUrlConnection是否存在并发惩罚?   有没有办法将java arraylist对象复制到codemodel生成的源代码中?