IoTエンジニア目指してラズパイを触り始めたメモ

突然ラズパイ(ラズベリーパイ)を使って電子工作をしてIoTエンジニア目指せる気がした、年末休暇を使って一通り勉強してみました。

ラズパイのセットアップとLチカ(LED点滅という電子工作におけるHello World的なもの)までのまとめです。

準備したもの

最近、忙しいので全部秋月電子通商の通販で取り寄せました。便利!

  • OTGケーブルは持ってたのでので実際には購入していません
名称 通販コード リンク
カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる S-10851 【書籍】カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる: 電子工作便利商品 秋月電子通商-電子部品・ネット通販
Raspberry Piで学ぶ電子工作 パーツセット K-10852 Raspberry Piで学ぶ電子工作 パーツセット: 電子工作便利商品 秋月電子通商-電子部品・ネット通販
Raspberry Pi WH(ラズベリーパイゼロ ダブルエイチ)本体 M-12961 Raspberry Pi Zero WH (ラズベリーパイゼロ ダブルエイチ) 本体: マイコン関連 秋月電子通商-電子部品・ネット通販
ニクロムはんだこて KS-30R(30W) T-02536 ニクロムはんだこて KS−30R(30W): 電子工作便利商品 秋月電子通商-電子部品・ネット通販
はんだこて台 ST-11 T-02537 はんだこて台 ST−11: 電子工作便利商品 秋月電子通商-電子部品・ネット通販
はんだ 0.8mm T-02594 はんだ 0.8mm: 電子工作便利商品 秋月電子通商-電子部品・ネット通販
スイッチングACアダプター(USB ACアダプター) MicroBオス 5V3A M-12001 スイッチングACアダプター(USB ACアダプター) MicroBオス 5V3A: 電源一般 秋月電子通商-電子部品・ネット通販
HDMIメス⇔miniHDMIオス変換コネクタ C-13431 HDMIメス⇔miniHDMIオス変換コネクタ: パーツ一般 秋月電子通商-電子部品・ネット通販
USB OTGケーブル microB 10cm C-13430 USB OTGケーブル microB 10cm: パーツ一般 秋月電子通商-電子部品・ネット通販
TOSHIBA マイクロSDカード(microSDHC)EXCERIA 32GB 100MB/s S-14515 TOSHIBA マイクロSDカード(microSDHC)EXCERIA 32GB 100MB/s: 雑貨 秋月電子通商-電子部品・ネット通販

その他、HDMIケーブル、ディスプレイ、キーボードは必要です。

OSの準備

普段Webサーバで慣れてるので、CLIだけでいけるっしょとイキって家のネット環境がよくなく、取り急ぎDesktop無しの Raspbian Buster Lite をダウンロードしました。 Debian Busterのラズパイ向けディストリビューションのようです。

www.raspberrypi.org

イメージのダウンロード後、balenaEtcher というツールでSDカードにイメージを書き込みました。

www.balena.io

www.1ft-seabass.jp

いろいろつないで起動!

f:id:fly1tkg:20191231140140j:plain

下記のようにログインを要求されたら user名 : pi パスワード : raspberry を入力します

raspberrypi login: pi
Password: raspberry

初期設定

下記設定は下記コマンドで実施できます

sudo raspi-config

Wifiの設定

仕事部屋からルータが遠く、物理接続がつらいのでまずWifiを設定します。

2 Network Options を選択し N2 Wifi を選択します。

繋ぎたいWifiSSIDパスフレーズを入力すれば利用できるようになります。

キーボード設定

4 Locarization Options > I3 Change Keyboard Layout から設定できます。

僕はUSキーボードなので、Generic 101-key PC > Other > English (US) > English (US) を選択

修飾キーの設定も出てくるのですが、よくわからないので雰囲気でエンターを連打しました。

SSHの設定

5 Interfacing options > SSH からSSHの設定をONにする

その後、別LAN内のPCからSSHしてみる

# ユーザ名@IPアドレス
# パスワードは raspberry
ssh pi@192.168.0.177

ラズパイのIPアドレスがわからない場合、下記コマンドでwlan0 の ローカルIPアドレス( inet の値)を確認する

ifconfig

または、リモートPCから下記コマンドを実施して、ラズパイ WH のMACアドレスからも見つけられます。

arp -a
# b8:27 から始まるMacアドレスを探す

Vimの設定をする

エディタはVimでやりたいので設定をしました

sudo apt install vim

vimrcには下記を記載しました

set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4

Lチカをする

あとは、書籍の内容に沿ってLチカをしました。

配線は+極から22ピン(GPIO 25)-> LED -> 330Ω抵抗 -> GND となるようにしています。

f:id:fly1tkg:20191231140110j:plain

書籍ではIDLEというPythonの環境を利用していましたが、僕はデスクトップをインストールしていないんので普通にコマンドラインで実施しました。

下記のように非常にシンプルなコードでGPIOと呼ばれるピンの電圧を制御できます。

"""
書籍より引用
"""
import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)

try:
    while True:
        GPIO.output(25, GPIO.HIGH)
        sleep(0.5)
        GPIO.output(25, GPIO.LOW)
        sleep(0.5)
except KeyboardInterrupt:
    pass

GPIO.cleanup()

下記コマンドでプログラムを実行します。

python main.py

電源を消す

電源ボタンとかついてないので、下記コマンドでシャットダウンします

sudo shutdown -h now

感想

普段触っているLinuxやweb技術を使ってリアルな世界のインプット・アウトプットできるのすごく楽しいし、可能性を感じました、、!