Raspberry piとは
安価で小型の PC ボードコンピュータ「 Raspberry pi 」(ラズベリーパイ)は英国のラズベリーパイ財団が子供の教育用に開発した教育用ボードコンピュータです。
しかしその内容は子供向けといいながらしっかりパソコン並みの機能を持っています。すでに 3000万台以上販売されて、バージョンアップも続いています。
今や子供だけでなく仕事に利用する大人も増えています。IoT( Internet Of Things の開発をするの に もってこいの 、 この機材はますます使用範囲が広がっています。
推奨のOS は Linux をコアとしたもので、 Debian (デビアン)を元にしています。 CPU はandroid スマホでよく使われている ARM を使っています。何十億台も生産されている CPUなので この値段にできるわけです。資料がいっぱい出版されています。
まずこれだけあれば単体で使えます
商品 | 目的 | 値段 | メモ |
---|---|---|---|
Raspberry pi 3 または 4 | ボード本体 | 6000円程度 | 通販で購入 |
専用ケース | ボードを入れる | 500円~ | 必須ではないが無いと怖い |
SDカード | ディスクとメモリ | 1000円~ | 8G以上あればよい |
キーボード | 入力用 | 2500円~ | リモート接続であれば不要 |
HDMIケーブル | 出力用 | 1500円~ | 同上 |
USB充電器 | 電源用 | 1500円~ | 5V 2Aのものであれば流用可能 |
USBケーブル | 電源用microUSB | 1000円~ | 同上 |
値段は時価です。1 万程度でスマホ並みのパソコンが買えれば安いと考えましょう。本体を買う方法は色々ありますが、単体だけで遊ぶというのはせっかくの GPIO がもったいないので、ついでに LEDや抵抗を簡単に接続できるブレッドボードやジャンパー線が購入できる秋月通商をお勧めします。楽天などでも購入できます。
単体で利用するならば出力と入力が必要です。出力はHDMI ケーブルでテレビなどに接続します。 私も当初は単体でやったのでキーボードを買いましたが、ディスプレーの問題が大きく、後で説明するリモート接続にしました。 パソコン用ディスプレーでも DVI 入力があるものであれば変換コネクタでつないで接続できます。 入力はUSB キーボードを接続します。
ただし、後で出てくるリモート接続の方式を使えば、入力はパソコン、出力もパソコンにすることができます。
最近のNOOBSは、設定時に日本語を設定すると、キーボードなどの設定を日本語に自動で合わせてくれるので楽になりました。
ここから下の部分はずいぶん前の方法です。が、歴史を残すために取っておきます。現在の方法は、c#を調査した時の資料Raspberry piでc#に載せてあります。そちらをご覧ください。
ラズベリーパイはOS が無料です。しかし、ハードディスクがないので SD カードに入れないといけません。 SD カードに OS を入れるのをいきなりラズベリーパイで行うことはできませんから、最初はパソコンの力を借りることになります。
Raspberry Pi の公式サイトにアクセスしましょう。
英語です。最新のものをさわるときは英語でしましょう。
ところが私はこれがぜんぜんDOWNLOAD できませんでした。混んでいるからです。そこでミラーサイト から ダウンロードしました。
http://ftp.jaist.ac.jp/pub/raspberrypi/NOOBS/images/
ここは、北陸先端科学技術大学院大学にあるミラーサイトで、古いものから最新のものまで選ぶことができます。ここで最新 のものを選んで ZIP ファイルを落とします。2G byte あるので かなり 時間が掛かります。
ダウンロードができたら、その ZIP ファイルを解凍します。これも時間がかかります。解凍できたらSD カードを FAT 形式で初期化して、解凍したフォルダーの中身をすべてコピーします。 Default とか os とかのフォルダーや bootcode.bin などのファイルです。決して NOOBS_* ファルダーをコピーしない でください。フォルダーの中身です。
このSD カードを raspberry pi の裏にあるスロットに差します。 Raspberry pi はハードディスクがありませんので、これがハードディスク代わりです。
最初は単体でしましょう。HDMI ケーブルでテレビと接続。キーボードを USB に接続。そして、 microUSB ケーブルを差し込みます。これで電源が入ります。電源スイッチはありません。
最初は、黒い画面に英語がいっぱい表示されていきます。まず、SD カードに入れた NOOBS のインストーラーが動いて何を入れるのか聞いてきますので、 raspbianを選択します。そして下に表示された言語選択で日本語を選びます。そしてinstall のアイコンを押して実行します。これにも時間が掛かります。OS install Succesfully と 表示されたら終了です。
リモート接続の準備最近のバージョンでは、インストールの最後でUPDATEが自動で掛かります。これがなかなか長いです。
それが終わったら最初に、画面左上のラズベリーアイコンをクリックして、「設定」-「raspberry Piの設定」のインターフェースのSSHとVNCを有効にしておいてください。今後rebootのタイミングがあると思いますが、その時にこれが有効になっていないと、救いようがなくなって、再インストールしないといけなくなる場合があります。
LANの設定色々方法がありますが、configファイルをさわるやり方を紹介しましょう。
Nano というエディタがあり ますので、これを使います。まずメニューからLXTerminalを起動します。そして
sudo nano /etc/dhcpcd.conf
ファイルが開いたら一番下までカーソルで移動します。
interface eth0
static ip_address=192.168.12.39/24
static routers=192.168.12.200
static domain_name_servers=192.168.12.200
static domain_search=192.168.12.200
このデータはサンプルですので、自分のルータに合わせて修正してください。わからない場合は、システム管理者に聞いてください。
最初のeth0 が有線 LAN になります。もし無線 LAN の場合は wlan0 にします。できればルータの設定画面をさわってDHCP の固定化をしてください。ルータの内部アドレスを routers や domain_name_server,domain_search のアドレスに設定します。
変更が終わったら、CTRL+W で書き込み、 CTRL+X で終了します。
これでうまくいけばブラウザでyahoo の url を入力す れば yahoo が表示されます。できない場合は IP アドレスなどを確認してください。ラズベリーとルータの接続がうまくいっていない場合もあります。その時は次のコマンドを入力してみてください。
sudo dhclient eth0
これで、ルータとラズベリーの認識がうまくいくと思います。
日本語入力この時点で日本語が表示されているので、気が付かないかもしれませんが、残念ながらまだ日本語の入力はできません。それようの変換ツールを入れましょう
で、それに先立って、まずインストールしたRaspberry Piのアップデートをして、最新のソフトを入れられる状態にします。
sudo apt-get update
updateは、すぐに終わると思いますが、次のupgradeはちょっと時間が掛かります。
sudo apt-get upgrade
これで準備ができたので、日本語入力ツールを入れます。今後もなにかアプリを入れるときはこの2つのコマンドをやってからにしてください。
sudo apt-get install fcitx-mozc -y
そして、起動します。
im-config -n fcitx
そして、一度リブートします
sudo reboot
再起動して、タスクバーの右側にキーボードアイコンがでてきたらOKです。入力できる画面を開いて、半角/全角キーを押して日本語をローマ字で入力、Tabかスペースで選択してEnterキーで確定です。メニューから入力方法の変更ができますから変えたい場合はやってみてください。
Wifiの設定まずは、WiFiを接続しましょう。画面右上のネットワークアイコンをクリックして、近くのアクセスポイントを選択し、アクセスポイントで設定してあるパスフレーズを入力して、OKを押します
この設定は、ファイルに登録されるので、次回からこのWiFiに接続するようになります。
内容は以下のコマンドで見ることができます。
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
リモート接続の設定
これまでの設定で、ディスプレーやキーボード、マウスをつないでパソコンとして使うことができるようになりましたが、パソコンのキーボードと他にもう1セット置くのは場所が無駄になります。
そこでRaspberryのWifiを使って、パソコンからraspberryに接続して、ディスプレーやキーボードをパソコンと共用にしましょう。
では、接続することができるようにサービスを起動します。
メニューの設定からインターフェースを開いて、VNCとSSHを有効にしてリブートします。
再起動されたら、すでにVNCサービスが裏で動いています。VNCはリモートデスクトップのようなソフトでWindows側にクライアントをいれてraspberryに接続するのですが、その時IPアドレスがわからないと接続できません。
DHCPで接続した場合は、ルータのDHCPリソースのリース情報などからMACアドレスが b8:27:ebで始まるものがraspberry PiのIPアドレスです。
ただ、IPアドレスが固定のほうがやりやすいので、できれば前出のdhcpcd.confをさわって、wlan0のIPアドレスを固定化しておいてください。
IPアドレスは画面右上のwifiアイコンにマウスをかざすと出てきます。
つづいて、接続した時の画面サイズを設定しておきます。
sudo nano /boot/config.txt
#でコメントになっている部分を探して以下のように修正してください
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=5
つづいて、real VNCをwindowsにインストールします。
https://www.realvnc.com/en/connect/download/viewer/にアクセスして、
ダウンロードしたインストーラーをダブルクリックしてインストールして、起動します。
最初、got itなどをクリックしたら、IPアドレスを入力する画面になりますので、さきほど調べたIPアドレスを入力してください。
最初は警告画面がでますので、Continueを押して接続すると画面がでてきます。