LoginSignup
2
0

ラズパイ5をLANケーブルでMacBookと繋いでインターネットに接続した話【非wifiヘッドレスの正攻法】

Last updated at Posted at 2024-05-03

arduinoの民が...ラズパイに...出会ったぁ~(ウルルン..

はじめに

  • 新しいラズパイ(以下、pi5)が出たというニュースを見たので、10年近くぶりにラズパイを買ってみた。
  • ヘッドレス1で使うのがシャレオツ2らしいので、正攻法でラズパイをヘッドレス使用してみた。
  • 今回は、macbookを使ったssh3接続までを詳しく解説している。
  • 4みたいにlinuxに詳しくもないくせに、なんとなく買ってみた人の参考になればうれしい。

持ち物

sdへのos書込み

  • 公式インストーラーを使って、pi5用の64bitOSをmicroSDカードに焼いた5
    image.png
  • インストーラーの設定画面(一般)
    ホスト名、ユーザ−名とパスワードは絶対に忘れないように。wifiについては、母艦経由でネットを使うので、設定不要。もちろん、後から追加も出来る。ヘッドレスを諦めてモニタを繋げて設定するなら、楽勝でwifiをつなげられるから、この時点では無視。
    image.png
  • インストーラーの設定画面(サービス)
    「パスワード認証を使う」(パスワードはユーザー名に紐付いたパスワードのこと)を選択して、sshを有効にするのを忘れずに!これをやらないとヘッドレスで何も出来ない、と思う。もちろん、ヘッドレスを諦めてモニタを(以下略
    image.png
  • インストーラーの設定画面(オプション)はお好みで。ちなみに、「テレメトリーを有効化」というのは、インストーラーの使用状況をラズパイ財団が収集することの許可らしい。収集結果はここ。 日本からのダウンロード割合はドイツに完全に負けてるな。こりゃあ、将来が不安すぎるわ。
    image.png
    Screenshot_20240509-175637.png

母艦の準備

  • 有線LANアダプタを接続すると機器名(AX88179A)が表示される。
    image.png
  • 設定画面で、TCP/IPのIPv4を下記のように設定する。これは、後でpi5に接続(macosのインターネット共有オン)したとき、pi5のサブネットマスクが255.255.255.0でipアドレスが192.168.2.2に自動的に設定されるところ、初期設定(dhcp)のままだと、機器(AX88179A)のサブネットマスクが255.255.0.0となってしまい、macosのターミナルからpi5にアクセスできなくなってしまうため。
    image.png
  • インターネット共有をオンにする。共有する接続経路はインターネット接続している経路(Wifi)とし、共有先に有線LANアダプタを追加するのを忘れずに。
    image.png

pi5の立ち上げからsshで接続するまで

  • pi5に電源と有線LANを繋げて立ち上げる。
  • しばらく待つと、接続される。もし、ネットワークの順番がWifiが下になっていたら順番を入れ替えて、wifiが上になるようにする。wifiが上でないと母艦がインターネットに繋がらなくなる。
    image.png
  • ターミナルを立ち上げて、sshを打ち込む前に呪文ssh-keygen -R ホスト名[例:raspberrypi.local]を唱えておく6。その後、ssh ユーザー名@ホスト名を打ち込む。うまく接続されていれば、次のような画面となる。
    image.png
  • ここでyesと答えると、次はパスワードを聞かれて、パスワードが合っていると、次のような画面となり、緑文字のようにpi5のosを書き込むsdインストーラーでで設定したユーザー名@ホスト名 で始まるシェルが表示される。「~」はカレントディレクトリがユーザーのホームディレクトリ「rpi5」に有ることを意味し、「$」は一般ユーザー権限であることを示す。
    image.png
  • lsコマンドで、ホームディレクトリ内のサブディレクトリ一覧が表示され、cd ..で1階層上に上がり、そこでlsコマンドを行うことで、ホームディレクトリの実際の名称が「rpi5」であり、ユーザー名と同一であることが確認できる。
    image.png
  • この画面でsudo raspi-configを打ち込むと、ターミナルが次の画面に変わり、pi5に接続できていることを実感できる。
    image.png
  • escキーを押すなどして、元の画面に戻り、次は、pi5のネットワーク情報を確認するため、ifconfigを打ち込むと次のような画面になる。有線LAN(eth0)のアドレスが192.168.2.2となっていることが確認できた。また、無線LAN(wlan0)については設定を省略したため、ipアドレスが存在せず、pi5が無線LANに接続していないことが確認できる。
    image.png
  • 次は、インターネットにpi5が接続できているかを確認するため、curlコマンドを使う。
  • 例えば、curl wttr.in/tokyoを打ち込むと、ターミナル表示に適したお天気サイト(wttr.in)に接続して、下記の結果を返す。pi5の無線LANは動作してないから、pi5がmac経由でインターネットに接続していることが分かる。
    image.png
  • ちなみに、母艦でブラウザ(safari)を使って接続すると、こんな感じ。ブラウザ経由の場合は、ロケール情報等を乗っけてアクセスするから、自動的に漢字を使用してくれるんだろうか。
    image.png
  • 電源を切りたいときは、sudo shutdown nowと打ち込む。sudo shutdownだけでもいいけど、電源が落ちるまでに無駄に時間がかかる。電源が落ちると、電源ボタンの色が赤くなる。
    image.png
  • なお、電源オフは電源ボタン2回クリックでも可能。ちなみにクリック1回だと、pi5にモニタを繋げていた場合、画面上で電源オフ画面がでる。
    image.png

最後に

  • とりあえず、pi5をヘッドレスでインターネットに繋ぐことが出来て満足した。【正攻法】と名付けたとおり、トリッキーなことは何もしていない。
  • 次は、有線LANケーブルを使わず、usb-cケーブルで繋ぐことで、有線LANアダプタとLANケーブルを省く方法を紹介したい。ラズパイ4だと楽勝7みたいだけど、pi5では大変だったよ。

おまけ

  • 翌日気づいたんだけど、母艦の有線LANアダプタを固定idにしなくてもpi5と繋がってた。母艦でifconfigコマンドを叩いた結果を見ると、アダプタ自体は「en6」に割り当てられてて、pi5側から見たときの母艦は、「インターネット共有」をオンにしたことにより「bridge100」に割り当てられているから、アダプタのip自体はどうでもいいみたい。この状態でもcurlコマンドによりネット接続できたのを確認できた。たまたま、お天気サービスはダウンしてたけど。
    image.png
    image.png
    image.png
  • ちなみに、route -nコマンドでルートを確認するとこんな感じ。最初の行のGateway「192.168.2.1」からインターネットの世界に繋がっている。
    image.png
  • 母艦のnetstatコマンドで母艦のルートを確認するとこんな感じ。
    image.png
  • 母艦のwifi接続はこんな感じだから、wifiが「en0」に割り当てられてて、最初の行の Gateway「10.128.128.128」からインターネットの世界に繋がっていると分かる。
    image.png
  1. PC本体にキーボードやモニターを繋がないこと

  2. お洒落なこと

  3. Secure Shell(セキュア シェル)の略称。sshは、暗号や認証技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証を含むすべてのネットワーク上の通信が暗号化される。macosのターミナルで使用可能。接続するときは、ssh [ユーザー名]@[ipアドレス or ホスト名]。具体的には、 ssh rpi5@192.168.2.2ssh rpi5@raspberrypi.local となる。

  4. picoもrpiosが動くものと勘違いしたまま購入して、インストーラーにpicoの設定がないことに驚愕した人。勢いでキットも買ってしまった。
    17166993126581.jpg

  5. 繰り返し、sdカードにrpiosを書き込むなら、都度、ネット経由でrpiosをダウンロードするより、imgファイルをダウンロードしておいた方が良い。
    image.png
    Use customでダウンロードしたファイルを選択する。書込み速度は、sdカードにもよるけど、1秒で1%進むから、失敗を繰り返しても大丈夫。
    image.png
    imgは解凍前(.img.xz)のままで、使える。
    image.png
    いろんなパターンを試すため、色違いになるようにsdカードを買った。
    image.png

  6. 呪文を唱えないでsshすると、呪われてこんなメッセージが出る。
    image.png

  7. config.txtcmdline.txtにそれぞれ dtoverlay=dwc2modules-load=dwc2,g_ether という呪文を追加で書き込むだけらしい。詳しくは、ググってね。
    ※写真では、ssdが刺さってるけど、初期設定のboot順はsdカードが先だから、問題なし。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0