Raspberry Pi Zero セットアップ – 初回起動とログイン
いよいよボードの電源を入れてSSHでログインしてみます
PCからSDカードを安全に取り出して、Raspberry Pi Zeroボードに挿入します。この手のボードについているコネクタは、普段民生機器で使用されているものより創造以上に壊れやすいので慎重に行ってください。
電源投入
いよいよ電源投入。ボードのPower側のUSB端子にUSBチャージャを接続して起動します…

Power端子近くの緑のLEDが点灯したでしょうか? (常時点灯ではなく、点滅や点灯を繰り返します)。うまく点灯していれば、ひとまずOSのイメージは認識されたようです。
sshで接続
起動はしましたが、このままではIPアドレスがわかりません。Rasbianは標準でZeroConfというプロトコルに対応しているので、MacやLinuxユーザは
% ping -c 3 raspberrypi.local
とraspberrypi.local
にpingを打つことでIPを割り出すことができるのですが、Windowsの場合は標準では入っていないため、少し複雑です。ただし、iTuneやSkypeをインストールすると、ついでにインストールされるらしいので、ひとまずコマンドプロンプトで
% ping -4 raspberrypi.local
と実行してみて、応答があればIPアドレスを検知することができます。この方法で割り出せなかった場合、Bonjour Print Services for Windows 2.0.2をインストールすることでZeroConfのクライアント機能が追加されるようです。もしくは自宅のWiFiルータの管理画面から割り当てられたIPアドレスの確認などが可能など思います。
自分は以下のPythonコードでmDNSクエリーを送信してIPを取得しました
import struct import socket MDNS_PORT = 5353 MDNS_IP = '244.0.0.251' SRC_PORT = 12345 LOCCAL_IP = '192.168.x.x' # 環境に合わせて設定 def send_mdns(server_name): udp_socket = socket.socket( family=socket.AF_INET, type=socket.SOCK_DGRAM) udp_socket.bind(('0.0.0.0', SRC_PORT)) udp_data = bytearray() udp_data += struct.pack('>HHHHHH', 0, 0, 1, 0, 0, 0) udp_data += struct.pack(f'B{len(server_name)}s', len(server_name), server_name.encode()) udp_data += struct.pack(f'B{len("local")}s', len('local'), b'local') udp_data += struct.pack('>BHH', 0, 1, 1) udp_socket.sendto(udp_data, ('224.0.0.251', 5353)) def recv_mdns(server_name): udp_socket = socket.socket( family=socket.AF_INET, type=socket.SOCK_DGRAM) udp_socket.bind((LOCCAL_IP, SRC_PORT)) data, addr = udp_socket.recvfrom(1024) ip = struct.unpack('4B', data[-4:]) print( f'{server_name}.local: {ip[0]}.{ip[1]}.{ip[2]}.{ip[3]}') def main(): print(arg) send_mdns('raspberrypi') recv_mdns('raspberrypi') if __name__ == "__main__": main()
上記いずれかの方法でIPが分かった段階で、sshで接続してみます
% ssh pi@raspberrypi.local pi@raspberrypi.local's password: raspberry Linux raspberrypi 4.19.97+ #1294 Thu Jan 30 13:10:54 GMT 2020 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. pi@raspberrypi:~ $
初期のユーザ名はpi
、パスワードはraspberry
です。書かれているように、初期パスワードはpasswd
コマンドで変更しておきましょう
最近のコメント