屑籠というかゴミ箱

主に家のサーバーの遍歴と使った製品のレビュー

オムロン環境センサの導入

2JCIE-BU01 の導入

オムロンのUSBタイプ環境センサ2JCIE-BU01を購入したので、家のサーバに導入する履歴をメモ

とりあえず接続

# dmesg
~~~
usb 1-1.1: new full-speed USB device number 4 using ehci-pci
usb 1-1.1: New USB device found, idVendor=0590, idProduct=00d4, bcdDevice=10.00
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.1: Product: 2JCIE-BU01
usb 1-1.1: Manufacturer: OMRON
~~~

OK,認識はする。
参考情報をベースに進める
blog.plathome.co.jp

# sudo modprobe ftdi_sio
# sudo echo "0590 00d4" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
# sudo vi /etc/udev/rules.d/80-rename-2JCIE-BU.rules

ACTION=="add", ATTRS{idVendor}=="0590", ATTRS{idProduct}=="00d4", GROUP="dialout", MODE="0666", RUN+="/sbin/modprobe ftdi_sio" RUN+="/bin/sh -c 'echo 0590 00d4 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'", SYMLINK+="2JCIE-BU"

処理は基本的にDocker内でやるつもりなので、Node-Redをdockerで動かして対応するつもり。
ということで色々やったけどデバイスパーミッション問題が出るので気をつける必要がある。
MODE設定でパーミッションを設定してやらないとエラーになった。

使用するDBはMongoDBの想定で作業をすすめる。
とりあえず
Node-RED --> MongoDB --> metabase
の構成で大体OKなところまでは進めた。
大丈夫かなとコンテナ再起動させたらmetabaseの設定消えた。
metabaseの設定をDBに入れないといけないようなのでmariadbあたり立てて設定入れるようにしてダッシュボード作って完了。
あとはIIJのサービスを使ってみるかだけ迷うのと、eCO2濃度でGoogleHomeに警告喋らせるか

f:id:teandt:20210320230955p:plain
metabaseグラフ


Node-REDはそのままだとアクセス制限かかっていないのでとりあえずはパスワード制限をできるように設定変更
コンテナ内で

# cd /usr/src/node-red/node_modules/node-red
# node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" your-password-here
# vi settings.js

ここでadminAuth項目を追加(コメントアウトされているので編集)パスワードは先程のコマンドで作成したハッシュを貼り付ける

adminAuth: {
    type: "credentials",
    users: [
        {
            username: "admin",
            password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
            permissions: "*"
        },
        {
            username: "george",
            password: "$2b$08$wuAqPiKJlVN27eF5qJp.RuQYuy6ZYONW7a/UWYxDTtwKFCdB8F19y",
            permissions: "read"
        }
    ]
}

nodered.jp

やり方は分かったので、設定ファイルを外部から読み込ませるようにすればいいかな…