2018年3月25日日曜日

Raspberry PiでLEDの点滅、SSHログインする方法


背景

Raspberry Piで遊ぶ会を開催しました。

Raspberry Piで活動を始める方に有用だと思う情報を、記事としてまとめます。

全体像

  1. 使うもの
  2. Raspberry Piとは
  3. 初期設定
  4. LEDを点滅させてみよう
  5. sshでログインしてみよう
  6. まとめ

使うもの

  • Raspberry Pi
    秋月電子、スイッチサイエンス、Amazonなどで買えます
  • RaspbianをインストールしたmicroSDカード
  • 5V電源
  • HDMI接続できるモニタ
  • キーボード・マウス
  • ブレッドボード
  • オスメス・オスオス ジャンパワイヤ
  • LED
  • 抵抗

Raspberry Piとは

Raspberry Piとは、2012年3月から発売されている小型のパソコンです。
同様の製品と比べて価格が低く、Maker(物作り)ブームと重なったことから、電子工作の材料として広く普及しました。

Raspberry PiにはGPIO(General Purpose Input Output)ピンが出ていて、そのピンから信号を発信したり、受信したりすることで、LEDなどの出力装置、温度センサなどの入力装置などと連動する作品を作れます。
インターネットと接続すれば、ネットの情報と連動する作品を作れます。

web上に多くの事例が公開されているので、何かやりたいことがあったら「Raspberry Pi」 + 「知りたいこと」で検索してみると参考になると思います。

この会では、そんなRaspberry Piを使って遊びます。

初期設定

キーボードの設定

Rspbianのキーボードの初期設定は英語になっています。
Raspberry Piをモニタと接続して日本語のキーボードで操作したい場合は、キーボード設定を日本語にしないと、期待通りに文字を入力できないことがあります。
設定からキーボードを選択し、日本語にしてください。

ターミナルから操作したい場合はraspi-configで設定変更できます。

インターネットに接続

有線LANを利用する場合は、LANケーブルをRaspberry Piに接続してください。

WiFiを使う場合は、Raspbianの右上にある項目からWiFi設定を開き、使いたいWiFiに接続してください。

ターミナルからWiFiの設定を変更したい場合は、

vimのインストール

プログラムを作るときに利用するエディタ(編集プログラム)です。
標準でインストールされているviは使いにくいと個人的に思うため、この手順でvimをインストールして、使い勝手を良くすることをお勧めしますs。

「Ctrl + Alt + t」を入力するか、メニューから選択して、ターミナルを立ち上げます。
インターネットに接続した状態で下記のコマンドを入力すると、vimがインストールされます。
sudo apt install vim

LEDを点滅させてみよう

Raspberry PiのGPIOピンから信号を出して、LEDを点滅(通称 Lチカ)させてみましょう。

回路の作成

ブレッドボードなどを使って、このような回路を作ってみましょう。

GPIO4 <-> LED <-> 抵抗 <-> GND

抵抗は回路に含まれていればいいので、LEDは順序が逆になっても構いません。
LEDは極性があるので、足が長い方(アノード、陽極、プラス側)をGPIO側に、足が短い方(カソード、陰極、マイナス側)をGND側に向けてください、


プログラムの作成

Pythonというプログラミング言語で、LEDを点灯させるプログラムを作ってみましょう。

ターミナルというパソコンとやりとりをする画面から、viというエディタを使ってプログラムを作ります。
「Ctrl + Alt + t」を入力するか、メニューから選択して、ターミナルを立ち上げます。

よく使うと思うターミナルとviの操作方法を紹介した後、プログラムの作り方と実行方法を共有します。

よく使うと思うターミナルの操作

今居るディレクトリ(フォルダ)にあるファイルを一覧する
ls

ディレクトリを移動する
cd [ディレクトリ名]

ディレクトリを作る
mkdir [ディレクトリ名]

ファイルを消す
rm [ファイル名]

ディレクトリとファイルを消す
rm -r [ディレクトリ名]

viでファイルを新規作成、もしくは編集する
vi [ファイル名]

よく使うと思うviの操作

編集モードに入る
i

編集モードを出る
Ctrl + c

保存して終了する
:wq

保存セずに終了する
:q!

プログラムの作成と実行

下記のコマンドを入力してviを立ち上げます。
vi led.py

このようなプログラムを書いてみてください。
led.py
import RPi.GPIO as GPIO
import time

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

while True:
    GPIO.output(4, True)
    time.sleep(1)
    GPIO.output(4, False)
    time.sleep(1)

下記のコマンドで、プログラムを実行できます。
python led.py

成功すると、LEDが1秒ごとに点滅します。

参考
GPIOでLEDの点滅(Python)

sshでログインしてみよう

sshという仕組みでネットワークを通してRaspberry Piへログインすることで、モニタとキーボードを接続してターミナルで行う操作とほぼ同じことを、別のPCからできます。

ssh接続にするために、Raspberry Piの設定変更を行います。
これらの項目はは全て設定画面かraspi-configで編集できます。
sudo raspi-config
  • ホスト名を変更
    同じホスト名のRaspberry Piが同じネットワークに存在すると、ホスト名を使ったログインがうまくできない場合があるので、被らない名前に変更します。
  • パスワードを変更
    インストール時のパスワード(raspberry)は広く知られていてセキュリティ的に良くないため、別の適当なパスワードに変更してください。
  • sshを有効化
    Raspbianはデフォルトではsshがoffになっているため、有効にしてください。

Windowsの場合

Windowsの場合は標準ではsshでログインできるプログラムがインストールされていないので、sshログインできるプログラムをインストールしてください。
Chrome上で使えるSecureShell、FireFox上で使えるFireSSJ、Windowsにインストールして使うTeraTermなどがあります。

Windowsからteratermを使ってログインする場合、ホスト名が使えないようなので、下記のコマンドでIPを確認してください。
(ローカルなIPは「192.168.*.*」という規則で割り当てられることが多いです。)
ifconfig

MacとLinuxの場合

sshでログインできるプログラムで、pi@「設定したホスト名」.localにログインします。
ssh pi@「設定したホスト名」.local

sshログインできたら下記のコマンドを入力して、先ほど作ったledを点滅させるプログラムを実行してみましょう。
python led.py

まとめ

Raspberry PiにsshログインしてLEDを点滅させました。

Raspberry Piで遊び始めるための足ががりになれば嬉しいです。

更新履歴

2018.03.27
ブレッドボードの写真の配線が間違っていたので、修正しました。
2018.04.29
Windows向けのsshログインの手順に、ipアドレスを確認するためのifconfigコマンドを追加しました。
2018.05.12
記事のタイトルを「共有情報」から「〜する方法」に変更しました。

0 件のコメント :

コメントを投稿