コンテンツにスキップ

Home

AoT 環境モニタリング・制御システム~

AoT は、自分の空間を地図に収め、その場所の記録とデバイスを結びつけます。そして、その空間を AI が人と一緒に見て、判断し、作業できるようにします。

センサーで環境を観測し、デバイスを遠隔操作するためのオープンソースソフトウェアであり、特定の用途や場所の種類に縛られません。デバイス・センサー・構造物をGIS 地図上の実際の位置に置くことができ、MCP(Model Context Protocol)ベースのAIレイヤーがシステムを読み取り、診断し、承認を得たうえで操作できます。どの機能を使うかは利用者が決めます。

Raspberry Pi をはじめとするシングルボードコンピュータ(SBC)にネイティブで動作するほか、一般的なサーバーやPC上ではDockerで動作します。

情報~

AoTが何を行い、各要素がどう組み合わさっているかはAboutを、機能・スクリーンショットなどその他の情報はREADMEをご覧ください。

前提条件~

  • シングルボードコンピュータ(推奨: Raspberry Pi 2・3・4以降)、またはその他のDebianベースのLinuxマシン
  • Debianベースのオペレーティングシステム(32ビットarmhf、64ビットarm64、amd64)、Python 3.8以上
  • 有効なインターネット接続

インストーラーはCPUアーキテクチャを検出し、armhf・arm64・amd64に対応します。Raspberry Pi ZeroとPi 1(ARMv6)は検証していないため、対応対象として記載していません。

このほか、AoTはLinux・macOS・Windowsの各マシン上でDockerを使って動作させることもできます——下記のDockerでインストールを参照してください。

インストール~

起動してログインしたら、次のコマンドを実行してAoTのインストールを開始します。

curl -L https://aot-inc.github.io/AoT/install | bash

インストール後、SBCのIPアドレスへWebブラウザでアクセスします。

https://<PiのIPアドレス>

https://127.0.0.1(またはlocalhost)は、Pi自身で開いたブラウザでのみ動作します。別のコンピュータからはPiのIPアドレスを使ってください。インストーラーが自己署名証明書を作成するため、初回アクセス時にブラウザが証明書の警告を表示します。警告を承諾して先へ進んでください。

このあとの画面は下記の初回起動を参照してください。

MQTTブローカー~

直接インストールでは、ローカルのMosquitto MQTTブローカーも設定されます。既定では同じ機器(127.0.0.1)からの接続のみ受け付け、AoTのMQTT入力・出力の既定の接続先(localhost:1883)と一致します。

  • 外部ゲートウェイなど他の機器から接続する場合は、インストールコマンドを実行する前に、同じ端末で export AOT_MQTT_LISTEN_ALL=1 を実行します。この場合、すべてのネットワークインターフェースでログインなしで接続できるため、信頼できるネットワークでのみ使うか、/etc/mosquitto/conf.d/aot.conf にパスワードファイル(allow_anonymous false、password_file)を追加してください。
  • 既存のインストールでは、現在の /etc/mosquitto/conf.d/aot.conf がそのまま維持されます。以前のバージョンは listener 1883 と allow_anonymous true を書き込み、ネットワーク全体からログインなしで接続できました。インストール・アップグレードでこのファイルは変更されず、このように開いている場合は警告のみ表示されます。制限するには、1行目を listener 1883 127.0.0.1 に変更し、sudo systemctl restart mosquitto を実行してください。ネットワーク上のゲートウェイがこのブローカーへ発行していないことを確認してから変更してください。

Dockerでインストール~

前提条件: Compose v2を含むDocker。公式イメージはlinux/amd64とlinux/arm64向けに公開されています。

composeファイルはリポジトリ内のカスタム拡張ディレクトリ(aot/inputs/custom_inputsなど)をマウントするため、先にリポジトリをクローンします。

git clone https://github.com/AoT-inc/AoT.git /opt/AoT
cd /opt/AoT
cp docker/.env.prod.example docker/.env

docker/.env内の次の値を確認してください。

  • AOT_IMAGE_TAG — インストールするバージョン。特定のリリースに固定することを推奨します。
  • AOT_PORT — Webインターフェース用のホストポート(デフォルト8084)。
  • TZ — コンテナのタイムゾーン(デフォルトAsia/Seoul)。システムタイムゾーン設定の初回起動時の既定値だけを決めます(データベースの初回作成時に一度コピーされ、その後変更しても影響しません)。ログの時刻とスケジュールは、システムタイムゾーン設定と地図上のサイト・ゾーンの位置に従います。初回ログイン後にシステムタイムゾーンを確認し、サイトとゾーンを地図に配置してください。データは常にUTCで保存されます。
  • HARDWARE_PROFILE — LOW(デフォルト)、MEDIUM、HIGH。変わるのはAIアシスタント機能だけです。LOWはVEEとEKGの機能をオフにし(AIインテントルーターはオンのまま)、MEDIUMとHIGHはVEEとEKGをオンにします。HIGHはEKGのウィンドウをより大きく(500件ではなく5000件)保持します。センサー・出力・制御はどの値でも同じなので、Raspberry Piや小規模VMではLOWのままにしてください。

スタックを起動します。

docker compose -f docker/docker-compose.prod.yml up -d

そのポートでホストのIPアドレスへWebブラウザでアクセスします。

http://<ホストのIPアドレス>:8084

http://127.0.0.1:8084(またはlocalhost)は、Dockerホスト自身で開いたブラウザでのみ動作します。Dockerスタックは既定でHTTPSを使わないため、証明書の警告は出ません。HTTPSが必要な場合は前段にリバースプロキシを置いてください(セキュリティを参照)。

Docker環境のアップグレードとは、ディスク上のファイルを置き換えることではなく、新しいイメージを取得してコンテナを再作成することを意味します。詳しくはアップグレード/バックアップ/復元を参照してください。

Note

Dockerスタックは、ホストのGPIO・I2C・1-Wireデバイスをコンテナに渡しません。Raspberry Piのピンに配線したセンサーやリレーには直接インストールを使用してください。LoRaWAN(ChirpStack)・Modbus TCP・MQTTなどネットワーク接続のデバイスは、どちらのインストール方式でも同じように動作します。

初回起動~

新規インストール(直接インストール・Dockerとも)では、ログインフォームではなく公開のランディングページが最初に開きます。管理者ユーザーがまだいない間の流れは次のとおりです。

  1. ランディングページでログインを押します。/loginへ移動しますが、管理者がいないためそのまま/create_adminへ転送されます。
  2. 最初の画面は品質保証に関する通知(ライセンス・保証・匿名統計)です。読んで承認しますを押します。
  3. 管理者作成フォームが表示されます。ユーザー名・メール・パスワードを入力して送信します。
  4. 作成したアカウントでログインします。統計収集は、あとから管理 → システム管理 → 一般設定で拒否できます。

サポート~