提供使用标准协议设置完整物联网仪表板的工具。

iotkit的Python项目详细描述


##IoT仪表板,可用于开放和出色的IoT演示


该展示厅位于
http://riot demo.inria.fr.

*[物联网实验室开放A8演示](utils/iot lab)
该演示自动提交一个具有两个开放A8
节点的物联网实验室实验。第一个节点被配置为边界路由器,第二个节点运行一个固件,该固件自动集成在上面描述的Riot Demo仪表板中。|__| |_ _| |_ _| |_ _| ___ |_ _| | | / \ | __ )
| |_ | | | | | | / _ \ | | _____ | | / _ \ | _ \
| _| | | | | | | | (_) | | | |_____| | |___ / ___ \ | |_) |
|_| |___| |_||_|\_/|||__|//\\|__/
```

IoT仪表板的代理和仪表板服务


Broker通过运行自己的CoAP
和WebSocket服务器来管理活动传感器节点的列表。

显示可用节点及其状态列表的脚本。它还允许与节点进行交互
(led控制、机器人控制等)

然后,代理开始发现节点
(使用coap.well-known/core资源)提供的资源。一旦节点可用资源
已知,代理将向每个web/移动客户端发送通知消息
,以便他们可以更新自己。


要跟踪活动节点,每个节点必须定期向代理发送通知消息

如果传感器节点没有在120秒内发送此通知(默认为
,但这是可配置的),代理会自动将其从有效节点列表中移除,并通知所有Web/移动客户端。


一个独立的系统。最终的
设置如下:
*"物联网代理"和"物联网仪表板"作为系统服务运行
*在端口8082上侦听的"物联网代理"WebSocket服务器
*在端口8080上侦听的"物联网仪表板"Web应用程序。所有服务页面
打开代理端口8082上的WebSocket客户端

要进行自定义设置,请在**部署之前编辑
[IoT代理](systemd/iot broker.service)和
[IoT仪表板](systemd/iot dashboard.service)systemd服务文件的"environment"选项
**。如果希望两个服务文件协同工作,则两个服务文件中的代理端口应该相同。

克隆此存储库
<;pre>;
$git克隆https://github.com/iot lab/iot kit.git
<;/pre>;
2。部署系统(debian/raspbian/ubuntu):
<;pre>;
$make deploy
<;pre>;
3。验证服务是否正确运行:
<;pre>;
$sudo systemctl status iot broker.service
iot-broker.service-iot broker application
已加载:已加载(/lib/systemd/system/iot-broker.service;已启用)
活动:自dim起活动(正在运行)。2016-12-18 14:59:56 CET;35分钟前
主PID:32411(python3)
cgroup:/system.slice/riot broker.service
32411/usr/bin/python3/home/pi/demos/bin/iot broker--port=8082--debug
[…]
$sudo systemctl status iot dashboard.service
●IoT-Dashboard.service-IoT仪表板应用程序
加载:加载(/lib/systemd/system/IoT-Dashboard.service;已启用)
激活:自dim起激活(运行)。2016年12月18日14:52:29 C等;41分钟前
主PID:32321(python3)
cgroup:/system.slice/iot dashboard.service
在**
部署之后**服务定义文件中的"选项",因为它们位于`/lib/systemd/system/iot broker.service`和`/lib/systemd/system/iot dashboard.service`中。在这种情况下,您还需要
重新加载systemd daemon服务并重新启动"iot broker"和
"iot dashboard"服务:
````
$sudo systemctl daemon reload
$sudo systemctl restart iot broker
$sudo systemctl restart iot dashboard
```

ple**:在线Riot演示中使用的环境
*IoT代理:
````
environment='broker_port=8082'
``````
*IoT仪表板:
`````
environment='http_port=8080'\
'broker愀port=80'\\;这是因为代理在apache代理后面
'broker愀host=riot-demo.inria.fr'\
'app廑title=riot demo dashboard'\
'app廑logo=/static/assets/logo riot.png'\
'app廑favicon=/static/assets/favicon192.png'
`````

e在线演示可在http://riot demo.inria.fr.
端口80上访问代理服务的WebSocket服务器。
由于代理和仪表板在两个不同的服务中分离,
可以运行本地仪表板应用程序,为仪表板网页提供服务连接到代理。
这样,您的仪表板将显示联机Riot上的可用节点
演示。

时间:
```
$make install dev
``

然后您可以启动仪表板应用程序:
````
$make run dashboard
```
,并在[http://localhost:8080]打开一个Web浏览器(http://localhost:8080)。
加载网页时,由于其嵌入的JavaScript,它将直接连接到Broker WebSocket服务器并开始与
节点通信。


当然,您可以根据需要设置环境变量:
"Broker端口"、"Broker主机"、"Dashboard端口"、"Dashboard标题"、"Dashboard徽标"、"Dashboard Favicon"、"Camera URL"。

```
$broker_port=8082 broker_host=localhost make run dashboard
```

已配置。有关详细信息,请参见
[此wiki页](https://github.com/riot-makers/wpan-raspbian/wiki/create-a-generic-raspbian-image-with-6lowpan-support)。
*已安装和配置的RPI相机(可选)

*软件要求:
*MJPG廑拖缆已安装并正在运行。请参阅[Github项目](https://github.com/jacksonliam/mjpg streamer)。


2个有用的命令,用于管理来自Linux的自定义Raspbian映像:
*将Raspberry PI SD复制到Linux上的压缩映像:
`````
$dd bs=4M if=/dev/mmcblk0 gzip>;custom_raspbian.img.gz
`````
*dum将压缩后的图像放到raspberry pi
```
$gzip-dc custom_raspbian.img.gz sudo dd bs=4M of=/dev/mmcblk0
````

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

推荐PyPI第三方库


热门话题
java OpenJDK11:安全提供程序设置   java在JZY3D绘图中强制执行轴限制   javacom。mysql。jdbc。例外情况。jdbc4。MySQLSyntaxErrorException:拒绝用户访问   java使用不同扩展名的文件中的字符串重命名文件   java Hibernate环境获取已更改的字段   java Facebook登录用户访问令牌在开发服务器中工作,但在生产环境中不使用restfb   java如何确保使用BufferedWriter将提示输出到文件?   java为什么不是呢。getFile()正在加载图像   java Spring安全分层角色不工作   SimpleBeanPropertyFilter的任何替代方案都不需要在java的bean级别使用@jsonfilter   JavaGoogleStaticMapsAPI创建具有1000个点的图像   java接收JSON参数包含${}导致Spring启动中出现错误   java Selenium不更新动态选择   java发出包含列表的POST请求   使用JProgressBar运行JFrame的java   java就是ImageIO。读取(文件)易受攻击?   java排序枚举值   Javasocket端口转发   带有构造函数注入的组件的java测试问题   Spring引导生成的java War文件未部署到Weblogic 12c