松ノさんメモ

Jetson Nanoのセットアップメモ

2.セットアップ

参考:Jetson Nano関係のTIPSまとめ

2-1.TensorFlowのセットアップ

参考:
Jetson Nanoインストールメモ
Jetson Nanoをセットアップしてディープラーニングで画像認識を試してみた

(反省点)最初にinstallSwapfileを使用して SWAP領域を追加しておけばもう少し早く終わった
Jetson Nanoをセットアップしてディープラーニングで画像認識を試してみた を見ながら、以下のコマンドを実行


            $ git clone https://github.com/karaage0703/jetson-nano-tools
            $ cd jetson-nano-tools
            $ ./install-tensorflow.sh
            $ ./install-tools.sh
          
うーん、スクリプトファイル(コマンドを書いてくれているファイル、打ち込む面倒が省ける) を入れて、実行してるってことかね?理解理解

2-2.OSのアップデート

以下のコマンドを実行


            $ sudo apt-get update
            $ sudo apt-get upgrade
          
> 先にOSのアップデートするべきだった

2-3.OpenCVのセットアップ

参考:Jetson NanoへOpenCV 4.1.0をインストールする

参考ページ内のリンク (こちら) が死んでいたので、参考ページに載っていたスクリプトファイルを、 OpenCV 4.3.0をインストールするように変更した
以下のコマンドを実行する(スクリプトの実行)


          $ mkdir opencv
          $ ./install_opencv4.3.0_Nano.sh opencv
        

2-4.画像認識のソフトを動かして遊ぶ(遊べない)

Jetson Nanoをセットアップしてディープラーニングで画像認識を試してみた を見ながら、以下のコマンドを実行("Keras"を"Karas"だと勘違いして、最初そんなフォルダ無いよって言われた)


            $ git clone https://github.com/karaage0703/keras-pi
            $ cd keras-pi
          
あ、ラズパイのカメラじゃないから、USBカメラですよーって書き直さなきゃかな?と思い、 VSCodeで開こうと、(この時すでにTeraTermを使ってリモートで動かしていたのだ!)

            $ code inspect_camera_pi.py
          
とコマンドを打ったけど、"code"なんてコマンドは無いですわよと言われてしまった
よく考えたら当たり前だった、JetsonNanoにVSCode入れてないですもん

2-5.リモートでJetsonNanoの中のファイルを触れるようにする

リモートで触るにはSambaを入れるのが良いらしい

さんば…?image

2-5-1.失敗したメモ (失敗を共有するのも大事だよね)

Ubuntuでファイルサーバーをたてる(Samba) を見ながら、以下のコマンドを実行


            # インストール
            $ sudo apt-get -y install samba

            # 共有するディレクトリの作成
            $ sudo mkdir /home/shere
            $ sudo chmod 777 /home/shere

            # ファイルサーバーの設定
            $ sudo vim /etc/samba/smb.conf
          
smb.confを下記のように書き換える

            # 25行目:以下2行追記
            unix charset = UTF-8
            dos charset = CP932
            
            # 30行目:必要があれば変更 (Windows側に合わせる)
            workgroup = WORKGROUP
            
            # 51行目:コメント解除しアクセス許可IP追記
            interfaces = 127.0.0.0/8 10.0.0.0/24
            
            # 58行目:コメント解除 & 追記
            bind interfaces only = yes
            map to guest = Bad User
            
            # 最終行に追記
            [share]# 任意の共有名称を指定
               path = /home/share# 共有フォルダ指定
               writable = yes# 書き込みOK
               guest ok = yes# ゲストユーザーOK
               guest only = yes# 全てゲストとして扱う
               create mode = 0777# フルアクセスでファイル作成
               directory mode = 0777# フルアクセスでフォルダ作成
          

ここでファイルサーバーの再起動の為に、以下のコマンドを実行した


          $ sudo systemctl restart smbd
        
すると、以下のエラー文が返ってきた

          Job for smbd.service failed because the control process exited with error code.
          See "systemctl status smbd.service" and "journalctl -xe" for details.
        
よく見直してみると"share"が"shere"になっていた
まあ、エラーと関係ない気もするけど、スペルミスは直しておこうと

          $ sudo rmdir /home/shere
          $ sudo mkdir /home/share
          $ sudo chmod 777 /home/share

          # confファイルの中も間違えているので直す
          $ sudo vim /etc/samba/smb.conf
        
しかし、同じエラーが出る為、

          # 最終行に追記
          [share] # 任意の共有名称を指定
          path = /home/share # 共有フォルダ指定
          writable = yes # 書き込みOK
          guest ok = yes # ゲストユーザーOK
          guest only = yes # 全てゲストとして扱う
          create mode = 0777 # フルアクセスでファイル作成
          directory mode = 0777 # フルアクセスでフォルダ作成
        
上記のように、参考ページの通りにsmb.confを書いていたのを

          # 最終行に追記
          [share]
          path = /home/share
          writable = yes
          guest ok = yes
          guest only = yes
          create mode = 0777
          directory mode = 0777
        
上記のように、コメントを削除してみたところ、

          $ sudo systemctl restart smbd
        
が実行できた!
だがしかし、JetsonNanoのshareフォルダにアクセス出来ないし、nmbdが再起動できない…orz

2-5-2.成功したメモ

もうだめ…わかんにゃい…
と、とりあえずsmb.confの中身を書き換える前に戻して、以下のコマンドを実行して、smbdとnmbdの再起動が出来る事を確認する


          $ sudo systemctl restart smbd nmbd
        
参考ページが悪かったのかな…と、 NVIDIA Jetson Nano を使ってみる(起動と設定編) を見ながら、smb.confの末尾に以下の文を追加

            [share]
            path = /home/share
            read only = no
            guest ok = yes
            writable = yes
            browsable = yes
            directory mode = 0777
            create mode = 0777
          
その後、以下のコマンドを実行して、smbdとnmbdの再起動が出来る事を確認する

            $ sudo systemctl restart smbd nmbd
          
やったー!
その後、エクスプローラーのネットワークに移動して、住所を打ち込むと

接続できたよimage

接続出来た…嬉しい…!!

2-5-1.で上手くいかなかった理由として、smb.confの中をいじり過ぎたことが考えられる


          # 25行目:以下2行追記
          unix charset = UTF-8
          dos charset = CP932
          
          # 30行目:必要があれば変更 (Windows側に合わせる)
          workgroup = WORKGROUP
          
          # 51行目:コメント解除しアクセス許可IP追記
          interfaces = 127.0.0.0/8 10.0.0.0/24
          
          # 58行目:コメント解除 & 追記
          bind interfaces only = yes
          map to guest = Bad User
        
上記の部分は変更しなくてOKだった
Samba?なにそれ?楽しいの?な無知無知のムチン(れんこん)な私なので、 最初に見つけたページに書いてあるをそっくりそのまま試していたが、 どうも上手くいかないと思ったら、参考資料を変更するのもアリだなと
あとは今回、上手くいかない→最初の状態に書き直す!が出来たので良かったが、 ちゃんとバックアップを取るべきだなと痛感した
さらに今リモートで触っているけど、CUIなのでちゃんとコマンドを覚えておかないと… うろ覚えで打って、そんなコマンド無いわよ!!ってちょくちょく言われるので… 頻繁に使うコマンドをいちいちググるのは、大変だし…

多分、これでセットアップが終わったので、やっと次回から遊べるでござるよ、ねぇ松ノ氏!