跳转到主要内容

IoTronic是一个为OpenStack云服务的物联网资源管理服务。

项目描述

IoTronic是一个为OpenStack云服务的物联网资源管理服务。

IoTronic允许将物联网资源作为OpenStack数据中心的一部分进行管理。

基本场景

对于此Iotronic服务的安装,我们考虑以下主机和软件场景

  • 控制器(Ubuntu Linux):Mysql, Keystone, Rabbitmq

  • IoTronic ( Ubuntu Linux ): Iotronic-conductor, iotronic-wamp-agent, crossbar

  • 板:iotronic-lightining-rod

控制器主机设置

根据Openstack 文档,在控制器主机上安装以下软件

  • SQL 数据库

  • 消息队列

  • Memcached

  • Keystone

创建数据库

在数据库管理系统上创建 iotronic 数据库并配置 iotronic 用户访问

MariaDB [(none)]> CREATE DATABASE iotronic;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON iotronic.* TO iotronic@'localhost' IDENTIFIED BY ‘IOTRONIC_DBPASS’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON iotronic.* TO iotronic@'%' IDENTIFIED BY ‘IOTRONIC_DBPASS’;

在 Keystone 中添加用户和端点

openstack service create iot --name Iotronic
openstack user create --password-prompt iotronic
openstack role add --project service --user iotronic admin
openstack role create admin_iot_project
openstack role create manager_iot_project
openstack role create user_iot
openstack role add --project service --user iotronic admin_iot_project

openstack endpoint create --region RegionOne iot public http://IP_IOTRONIC:8812
openstack endpoint create --region RegionOne iot internal http://IP_IOTRONIC:8812
openstack endpoint create --region RegionOne iot admin http://1IP_IOTRONIC:8812

配置IoTronic主机

Crossbar

在 Iotronic 主机上安装 crossbar

apt install python-pip python3-pip libsnappy-dev libssl-dev libffi-dev python-dev
pip3 install python-snappy crossbar

配置

mkdir /etc/crossbar
nano /etc/crossbar/config.json

config.json:

{
   "version": 2,
   "controller": {
   },
   "workers": [
      {
         "type": "router",
         "realms": [
            {
               "name": "s4t",
               "roles": [
                  {
                     "name": "anonymous",
                     "permissions": [
                        {
                           "uri": "*",
                           "allow": {
                                "publish": true,
                                "subscribe": true,
                                "call": true,
                                "register": true
                            }
                        }
                     ]
                  }
               ]
            }
         ],
         "transports": [
            {
                "type": "websocket",
                "endpoint": {
                  "type": "tcp",
                  "port": 8181
                },
                "debug":true,
                "options":{
                  "enable_webstatus":true,
                  "fail_by_drop": true,
                  "open_handshake_timeout": 2500,
                  "close_handshake_timeout": 1000,
                  "auto_ping_interval": 10000,
                  "auto_ping_timeout": 5000,
                  "auto_ping_size": 4
                }
            }
         ]
      }
   ]
}

创建 systemd 服务文件 /etc/systemd/system/crossbar.service

nano /etc/systemd/system/crossbar.service

crossbar.service:

[Unit]
Description=Crossbar.io
After=network.target

[Service]
Type=simple
User=root
Group=root
StandardInput=null
StandardOutput=journal
StandardError=journal
ExecStart=/usr/local/bin/crossbar start --cbdir=/etc/crossbar/
ExecStop=/usr/local/bin/crossbar stop --cbdir=/etc/crossbar/
Restart=on-abort
[Install]
WantedBy=multi-user.target

Iotronic安装

获取源代码

git clone https://github.com/openstack/iotronic.git

添加 iotronic 用户

useradd -m -d /var/lib/iotronic iotronic

和 Iotronic

cd iotronic
pip3 install -r requirements.txt
python3 setup.py install

创建一个日志目录

mkdir -p /var/log/iotronic
chown -R iotronic:iotronic /var/log/iotronic/

使用正确的配置编辑 /etc/iotronic/iotronic.conf

nano /etc/iotronic/iotronic.conf

只有一个 wamp-agent,必须将其设置为注册代理

register_agent = True

填充数据库

iotronic-dbsync

API服务配置

安装 apache 和其他组件

sudo apt-get install apache2 python-setuptools libapache2-mod-wsgi-py3

创建日志目录

touch /var/log/iotronic/iotronic-api_error.log
touch /var/log/iotronic/iotronic-api_access.log
chown -R iotronic:iotronic /var/log/iotronic/

复制配置 apache2 文件

cp etc/apache2/iotronic.conf /etc/apache2/sites-available/iotronic.conf

启用配置

a2ensite /etc/apache2/sites-available/iotronic.conf

重启 apache

systemctl restart apache2

启动

在 wamp 代理上

systemctl enable iotronic-wamp-agent
systemctl start iotronic-wamp-agent

在 conductor 上

systemctl enable iotronic-conductor
systemctl start iotronic-conductor

板侧

遵循iotronic-lightning-rod README

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分布

iotronic-0.4.17.tar.gz (152.4 kB 查看散列)

上传时间

构建分布

iotronic-0.4.17-py3-none-any.whl (209.9 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面