RasberryPiにFabmodulesをセットアップ

Created Date: 2017-10-10/ updated date: 2018-06-13
    Owner & Collaborators
    License
    Summary
    RasberryPiにFabmodulesをセットアップしMDX-15を動かす為の設定

    Materials

      Tools

        Blueprints

          Making


          • RASPBIAN STRETCH WITH DESKTOPより、 RASPBIAN STRETCH WITH DESKTOP をダウンロードし、解凍します
            2017.10.14現在 2017-09-07-raspbian-stretch.img

            参考(Mac):Download ZIPは時間がかかるが、BiTtorrent クライアントTransmissionをインストールしてDownload Torrentすると早い
            1. microSDカードをRaspberry Piに差し込む
            2. ディスプレイ、キーボード、マウス、LANケーブル、電源を接続し、Raspbianを起動する
            • 画面上部ツールバー -> Terminal >>開く
              Terminal画面にて
              • raspi-configを起動:$ sudo raspi-config

              Raspi-config画面にて
              • raspi-config自体をアップデート:8 Update -> Enter >>アップデートが始まる
              • ホスト名を変更:2 Hostname -> raspberrypi(今回は変更しない)
              • 日本語設定:4 Localisation Options -> 11 Change Locale -> 「es_US.UTF-8 UTF-8」「ja_JP.UTF-8 UTF-8」にスペースキーで「*」を入れ、「en_GB.UTF-8 UTF-8」はスペースキーで外す。「C.UTF-8」「es_US.UTF-8」「ja_JP.UTF-8」>>OK
              • タイムゾーン設定:4 Localisation Options -> 12 Change Timezone -> Asia -> Tokyo
              • WiFi国別設定:4 Localisation Options -> 14 Change Wifi Country -> JP Japan -> OK

              • SSH接続:5 Interfacing Options -> 「P2 SSH」-> Yes
              • VNC接続:5 Interfacing Options ->「P3 VNC」-> Yes
              • シリアル接続:5 Interfacing Options ->「P6 Serial」-> Yes
              • トップメニュー-> Finish -> Would you like to reboot now? -> Yes >>再起動
            • 画面上部ツールバー -> Terminal >> 開く
              キーボード設定を必要に応じて行う
              Terminal画面にて
              $ sudo apt update && sudo apt -y full-upgrade && sudo rpi-update

              再起動
              $ sudo shutdown -r now

              ツールバー -> RasPiロゴ -> Shutdown -> Shutdown >> 電源OFF
          • そのまま進めても問題ありませんが、PCとラズパイをSSHで繋ぐと、モニター、キーボード、マウスなどをラズパイから外して作業が出来ます。

            必要であればSSH接続をします。

            以前のRaspbianはディフォルトでSSHが有効でしたが、今のバージョンは違いますので、Raspi-configの設定-4でSSHを有効にしました。


            • PCとラズパイが同じローカルネットワーク内にいる必要があります。作業環境にあった方法で繋いで下さい。

              ラズパイとPCがLANケーブルかWiFiで同じネットワークに繋がっていればそのままSSH接続ができます。

              参考
              Raspberry Pi の物理的な接続形態
            • Mac
              Lunchpad -> その他 -> Terminal >>開く

              (ホスト名を変えた場合は、「raspberrypi」の部分を変えたホスト名にします)
              $ ssh pi@raspberrypi.local
              pi@raspberrypi:~ $
               >>これでパズパイをPCから操作可能になった
              確認
              $ ping raspberrypi.local
              止める時:control+c

              参考(Windows, Mac)
              Raspberry Pi の SSH 接続
          • SSH接続と同様に、そのまま進めても問題ありませんが、PCとラズパイをVNC接続すると、PCのモニターでラズパイのデスクトップを見ながら作業が出来ます。キーボードもマウスもPCのものが使えます。

            必要であればVNC接続をします。

            2017-09-07-raspbian-stretchでは、RealVNCが入っています。
            Raspi-configの設定-4でVNCを有効にしました。
            • Mac
              前のバージョンと違い、macOS標準の Finder -> サーバーに接続 ではVNC接続出来なくなりました。RealVNCServerではポート5900が使われています。

              VNC VIEWERをインストールします
              起動する-> File -> New connection -> Properties -> General
              VNC Server:raspberrypi.local::5900 -> OK

              アイコンをクリック >> Authentication
              username:pi
              password:Raspberry
              1. 「RasPiロゴ」-> Preference -> Raspberry Pi Configuration
              2. System -> Resolution -> Set Resolution >>解像度を選ぶ
          • fabmodules-html5をインストールする前に、How to install にあるPre-requisitesが既にインストールされているか確認し、ないものはインストールする

            whichコマンドを使って、フルパス名を確認して行きます
            $ which コマンド名

            パッケージは、apt search コマンドを使って確認します
            $ apt search パッケージ名
            先頭だけ分かっている時
            $ apt search ^firefox




            • ターミナルにて
              $ which git
              /usr/bin/git
              >>パスが表示されたので既にあり

              $ which wget
              /usr/bin/wget

              $ apt search nodejs-legacy
              nodejs-legacy/stable,now 4.8.2~dfsg-1 all [インストール済み、自動]

              $ which npm
              >>何も出ないのでインストールが必要

              $ apt search python
              >>たくさん出ますが、インストール済み

            • $ apt search pyserial
              python-serial/stable,now 3.2.1-1 all [インストール済み]
              python3-serial/stable,now 3.2.1-1 all [インストール済み]

              $ apt search python-tk
              python-tk/stable,now 2.7.13-1 armhf [インストール済み]
            • $ git clone https://github.com/FabModules/fabmodules-html5.git fabmodules
              $ cd fabmodules
            • $ sudo npm install
              $ sudo npm install mime-types
              $ cd node_modules/node-static/lib
              $ nano node-static.js
              =中身=
                , mime   = require('mime')
              上記を下記に書き換える
                , mime   = require('mime-types')
              保存して終了する
              control+x -> Y -> enter
            • $ cd ~/fabmodules/
              $ npm start
              > fabmodules-html5@1.0.0 start /home/pi/fabmodules
              > PATH=./mod_server/:$PATH node ./mod_server/mod_server.js
              listening for connections from 127.0.0.1 on 12345

              Firefoxを起動して「http://localhost:12345」 を入力  ->fabmodules起動
          • $ sudo adduser pi dialout
            $ cd ~
            $ sudo nano /lib/udev/rules.d/50-udev-default.rules

            =中身=
            KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*",  GROUP="dialout"
            上記に追加
            KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*",  GROUP="dialout", MODE="0666"
            保存して終了
            • ラズパイを起動してFabmodulesを使うまでにコマンドを入力しなくてもいいように、

              $ cd fabmodules/
              $ npm start
              の入力を自動化する
              • $ mkdir ~/bin

                $ nano ~/bin/npm-start.sh
                エディタが開くので中身をコピーする
                ==中身==
                #!/bin/sh
                # $Id:$
                #
                HOME=/home/pi
                NPM_CMD=/usr/bin/npm
                FABMODULES_DIR=${HOME}/fabmodules
                LOG_FILE=${HOME}/`basename $0`.log
                export DISPLAY=:0.0
                cd ${FABMODULES_DIR}
                ${NPM_CMD} start > ${LOG_FILE} &
                =====
                保存して終了

                $ chmod +x ~/bin/npm-start.sh

              • $ crontab -e
                >>エディタを選んで起動
                =中身=
                ※最後の行に以下を追加
                @reboot   /home/pi/bin/npm-start.sh
                ====
                保存して終了
            • $ sudo shutdown -r now
            Add Card Order

            References

              Usages

                Project comments