Upgrade to Pro — share decks privately, control downloads, hide ads and more …

あなたのお家に眠るラズパイを救出したい

 あなたのお家に眠るラズパイを救出したい

IoTLT vol.33 資料 https://iotlt.connpass.com/event/67583/ (2017/12/03更新)

Masaki Koyanagi

November 16, 2017
Tweet

More Decks by Masaki Koyanagi

Other Decks in Programming

Transcript

  1. あなたのお家に眠る
    ラズパイを救出したい
    Name: Koyanagi
    Twitter: @mascii_k
    IoTLT vol.33 @ LINE
    16 November 2017

    View Slide

  2. 自己紹介
    mascii (ますきー)
    Twitter: @mascii_k
    GitHub, Qiita: @mascii
    Age: 24
    Job: System Engineer

    View Slide

  3. ラズパイ
    眠ってませんか?

    View Slide

  4. 原因

    View Slide

  5. 解決策
    これならPi Zero WでもOK!

    View Slide

  6. OSイメージを
    microSDに書き込む
    シンプルな構成を
    シンプルに実現しよう
    無線LANの設定
    SSHの有効化
    Zeroconfを利用した
    SSH接続

    View Slide

  7. OSイメージを
    microSDに書き込む
    Let’s use Etcher!
    https://etcher.io/

    View Slide

  8. OSをダウンロード
    ● Raspbian Stretch Liteをダウンロード
    https://www.raspberrypi.org/downloads/raspbian/

    View Slide

  9. Etcherの設定
    ● Auto-unmount on success をオフ
    設定理由: イメージ書き込み直後に設定ファイルを書き込むため

    View Slide

  10. EtcherでmicroSDに書き込む
    ● zipファイルのまま microSD に Flash!
    zipファイルを展開すると出てくる imgファイルでも書き込めます

    View Slide

  11. よくある間違い
    ● イメージファイルをそのままコピー
    ● USBメモリにイメージを書き込む

    View Slide

  12. https://mascii.github.io/wpa-supplicant-conf-tool/
    無線LANの設定
    SSHの有効化
    Let’s use the tool made by me!

    View Slide

  13. 設定ファイルを作成・保存
    ● ブラウザ上で設定
    ファイルを作成
    ● 2つの作成ボタンを
    右クリック→別名で
    保存で microSD に
    ファイルを保存
    https://mascii.github.io/wpa-supplicant-conf-tool/

    View Slide

  14. 設定ファイルの確認
    ● microSD に2つのファイル
    が保存されていればOK
    ○ wpa_supplicant.conf
    ○ ssh.txt
    ● wpa_supplicant (1).conf,
    ssh (1).txtなどになってし
    まった場合はリネーム
    一度、microSD に空の ssh.txt (または ssh) を
    作成しないと、SSH接続ができなくなりました

    View Slide

  15. microSD をラズパイへ
    ● microSD を取り出しラズパイにセット
    ● ラズパイに電源ケーブルを繋げれば、
    無線LANに繋がった状態で起動する!

    View Slide

  16. Raspberry Pi 2の場合
    ● ELECOM WDC-150SU2Mがおすすめ
    ● 安い(700円)、挿すだけで使える!
    ○ (2017/12/03追記) Raspbian Jessie Lite までは
    挿すだけで使えましたが、Raspbian Stretch
    Lite からは挿すだけで使えなくなっていました。
    以下の記事を参照してドライバーインストール
    が必要です
    ○ http://teppodone.hatenadiary.jp/entry/ELEC
    OM_WDC-150SU2MonRaspberryPi

    View Slide

  17. 注意点
    ● Pi 3, Zero Wの無線LAN機能やWDC-150SU2M
    では、2.4GHz帯のみ利用できます
    ○ SSIDに g や G が付くことが多い
    ● 有線LANでOKな方は、空の ssh.txt だけ作成
    し、ルーターとラズパイを直接接続します
    ● このツールは WPA2-PSK が前提です
    ● IE11, Edgeの方は右クリック→保存ができないので、左ク
    リック→保存をしてください

    View Slide

  18. Zeroconfを利用した
    SSH接続
    Let’s use Zeroconf!

    View Slide

  19. Zeroconfを使うメリット
    ● ルーターがRaspberry Pi に自動的に割り当てす
    るIPアドレスを調べる必要がなくなる
    192.168.0.5 raspberrypi.local

    View Slide

  20. Zeroconfの準備
    ● macOS
    ○ 何もインストールしなくてOK !
    ● Windows
    ○ iTunes または Bonjour Print Services が
    インストールされていればOK !

    View Slide

  21. SSHクライアントの準備
    ● macOS
    ○ 何もインストールしなくてOK !
    ● Windows
    ○ Tera TermなどのSSHクライアントをインス
    トールする

    View Slide

  22. SSH接続(macOS)
    ● ターミナルで ssh [email protected]
    ○ WARNINGが出る場合は、
    ssh-keygen -R raspberrypi.local
    を実行してリトライ
    ● Are you sure you want to continue connecting?
    が出たら yes を入力
    ● パスワードを聞かれたら raspberry を入力

    View Slide

  23. SSH接続(Windows & Tera Term)
    ● Tera Termを起動しホスト(T)に
    raspberrypi.local を入力

    View Slide

  24. SSH接続(Windows & Tera Term)
    ● セキュリティ警告が
    出た場合は、チェック
    を入れて続行(C)をク
    リック

    View Slide

  25. SSH接続(Windows & Tera Term)
    ● ユーザ名
    pi
    ● パスフレーズ
    raspberry
    を入力しOKをクリック

    View Slide

  26. SSH接続できた !
    ● 勉強会会場の無線LANだと繋がらないことも...
    ➢ ポケットWiFiやテザリングを使う

    View Slide

  27. THANKS!
    Raspberry Pi を救出できましたか?

    View Slide

  28. TIPS
    SSH接続できた後にやること
    知っておくと便利なこと

    View Slide

  29. TIPS : ホスト名の変更
    ● raspberrypi.local の raspberrypi の部分を変えたい
    ● SSH接続後に sudo raspi-config を実行する
    (半角英数字 と - だけ
    を使ってください)
    Enterキーで決定
    Escキーで終了
    Enter
    再起動後
    Enter

    View Slide

  30. TIPS : piユーザーのパスワード変更
    ● SSH接続後に passwd を実行する
    パスワードの長さが短いと更新に失敗することがあります

    View Slide

  31. TIPS : Raspbianを最新の状態に更新
    ● SSH接続後に
    ○ sudo apt-get update
    ○ sudo apt-get upgrade -y
    を実行する
    ● sudo apt-get install... でパッケージのインス
    トールがうまく行かない場合は、上記のコマンド
    を実行してみる

    View Slide

  32. TIPS : Vim(テキストエディタ)をインストール
    ● Raspbianの vi コマンドはVimエディタではなくvi
    エディタ(使いにくい)なので要注意 !
    ● SSH接続後に sudo apt-get install vim -y
    を実行する
    ○ インストール後は vi コマンドでVimが起動
    TIPS : Git(バージョン管理ツール)をインストール
    ● SSH接続後に sudo apt-get install git -y を
    実行する

    View Slide

  33. TIPS : シャットダウンと再起動、SSH接続の終了
    ● シャットダウン: sudo shutdown -h now
    ○ いきなり電源ケーブルを抜くより、このコマン
    ドを実行して数十秒経過してから電源ケーブ
    ルを抜いた方が良い
    ● 再起動: sudo reboot
    ● SSH接続の終了: exit

    View Slide

  34. TIPS : PCから直接ファイルを操作
    ● sshfsで、SSHと同じ認証方法を用いてPCから
    Raspberry Pi側のファイルを直接操作できます
    ○ Atomなどお好きなエディタが使えます!
    ● Windowsの場合、標準のメモ帳は改行コードLFに対
    応していないので、使用厳禁!
    ○ AtomやVSCode, サクラエディタ, TeraPadなどを
    使って編集してください

    View Slide

  35. TIPS : PCから直接ファイルを操作(macOS)
    ● FUSE on OSXをインストール
    http://sourceforge.net/projects/osxfuse/
    ● sshfsをインストール
    https://github.com/osxfuse/sshfs/releases
    ● マウントポイントを作っておく
    mkdir mountpoint
    ● マウントする(/home/pi)
    sshfs [email protected]:/home/pi mountpoint/ -o local
    ● アンマウントする
    diskutil unmount mountpoint
    参考文献: https://qiita.com/ysk24ok/items/bb148530a55a4e55d99b

    View Slide

  36. TIPS : PCから直接ファイルを操作(Windows)
    ● dokanの
    DokanSetup-1.0.5.1000.exeをダ
    ウンロードしてインストール
    https://github.com/dokan-dev/dokany/releases
    ● WinSshFSの
    previous.release-1.6.0-rc3.zipを
    ダウンロードして展開、
    WinSshFS.exeを実行
    https://github.com/Foreveryone-cz/win-sshfs/releases
    ● Addボタンをクリック、右図のよう
    に設定値を入れてSave
    ● 右下のMountボタンをクリック
    ○ /home/piがSドライブとして
    マウントされる!

    View Slide

  37. TIPS : ファイルの転送(macOS)
    ● SCPコマンドで、SSHと同じ認証方法を用いてPC・ラ
    ズパイ間のファイルの転送ができます
    ● 例: Raspbianのpiユーザーのホームディレクトリ上にあるファイル
    (~/file.txt)をmacOSのデスクトップ(~/Desktop)へ送りたい
    ○ macOSのターミナルから
    scp [email protected]:~/file.txt ~/Desktop を実行
    ● 例: macOSのデスクトップ上にあるファイル(~/Desktop/file.txt)を
    Raspbianのpiユーザーのホームディレクトリ(~)へ送りたい
    ○ macOSのターミナルから
    scp ~/Desktop/file.txt [email protected]:~ を実行

    View Slide

  38. TIPS : ファイルの転送(Windows & Tera Term)
    ● Reveiveの場合は ~/ (piユーザーのホームディレクトリ)が使えないので
    /home/pi/を使う
    ● 日本語ファイル名は文字化けするので注意
    ● OS標準の改行コードの違い(Raspbian : LF, Windows : CRLF)に注意

    View Slide

  39. ● JavaScriptを使ってRaspberry Piで何かやって
    みたい場合はNode.jsをインストール !
    TIPS : Node.jsのインストール
    Raspberry PiにNode.jsとnpmの最新
    版をインストールする
    https://qiita.com/mascii/items/77c685df65c4cbca9315
    ● Python (2.x系)であれば、Raspbianに標準で入っています

    View Slide

  40. ● PCとラズパイをLANケーブルで直接接続して
    SSH接続をしたい場合...
    TIPS : PCとラズパイを直接接続
    Raspberry PiとMac or Windows PCを
    有線で直接繋いでさくっとSSH接続する
    https://qiita.com/mascii/items/7d955395158d4231aef6

    View Slide