RaspbianOS セットアップ方法 (2018-06-27バージョン)

RaspbianOSが2018-06-27版にアップデートされました。

2018-06-27版は、起動直後に設定ウィンドウが開くように変更されましたので、その手順をご紹介します。

 

1. 起動直後の画面

起動直後、ウェルカムメッセージとともに設定ウィンドウが自動的に開きます。

Nextボタンを押して、先に進みましょう。

pi-1

2.  国情報の設定

最初は、国情報設定です。

国情報は、デフォルトでUnited Kingdom(英国)が設定されていますので、これを日本に変更しましょう。

Country欄のUnited Kingdomの箇所をクリックします。

pi-2

アルファベット順に国名が並んだリストが開きますので、Japan(日本)が表示されるまで、ひたすら上にスクロールします。

Japanを選択すると反映されます。

pi-3

変更したのは国名だけですが、それに合わせて他の項目も自動的に変更されます。

設定を変えたい項目がある場合には、その項目をクリックします。(今回の例では変更なしとします)

pi-4

設定が終わったら、Nextをクリックすることで反映されます。

pi-5

 

3. パスワードの変更

国情報の設定が完了したら、パスワード変更の画面になります。

RaspbianOSのデフォルトのログインIDおよびパスワードは公開されているので、セキュリティホールになりやすいです。

そのため、必ず変更するようになっているようです。

新しいパスワードを2箇所入力したらNextをクリックします。

pi-6

 

4. wifiの設定

この後のOSアップデートの準備のため、wifiの設定画面になります。

接続先一覧が表示されるまで、少し時間がかかります。

設定が不要の場合には、Skipを押します。

pi-7

 

5. OSアップデートの実施

セキュリティ強化のため、OSアップデートをするか選択する画面になります。

Raspberry Piがネットワークにつながっているのを確認した上で、Nextを押してアップデートしましょう。

pi-8

 

6. リブート

以上でセットアップは完了となり、リブートを促す画面となります。

リブートすることで、設定が反映された状態で立ち上がります。

pi-9

 

7. 設定内容を確認してみよう

リブート完了後は、アプリケーションを実行するなり、ブラウザを起動してインターネットにアクセスするなり、自由に使えます。

以降は必須の作業ではないですが、設定内容が反映されている様子を確認しましょう。

まず、メニューから、設定→Raspberry Piの設定を選択します。

pi-10

 

開いたウィンドウの「ローカライゼーション」タブをクリックします。

pi-11

 

ロケールがどうなっているかを確認してみます。

pi-12

 

次に、タイムゾーンを確認してみましょう。

pi-14

 

キーボードも日本語キーボードに設定されます。

pi-15

 

wifiも、国別に設定が必要です。

pi-17

 

以上のように、RaspbianOS 2018-06-27バージョンからは、必要な初期設定をもらさず実行できるようになりました。

 

 

 

 

 

 

 

 

 

Raspbian Stretchがアップデート:異なるスクリーン解像度をサポート

以下はwww.raspberrypi.org/blog に掲載された記事の要約です。

新しいイメージ

新しいイメージを提供する理由は Raspberry Pi 3 Model B+ への対応、bug修正、新機能追加。
ほとんど全てのハードウェアに対応しているが、Chromiumが Pi1やPiZeroの古いArm6で動かない
ことと、幾つかのソフトウェアがメモリ不足などで動作が非常に遅くなること。

Raspbianとスクリーン解像度

新しいAppearance Settingアプリケーションは大・中・小スクリーンそれぞれのデフォルトを選べるようにした。  これにより、フォントサイズ、アイコンサイズなどが、完璧ではないが、それぞれの解像度に適したものとなるようにした。
(左:以前のもの、 右:新しいもの  新しい中解像度が以前のデフォルトに相当する)

appset  appsetdef

 

Pixel Doubling

RaspberryPiConfigurationのSystemの一番下に 「Pexel Doubling」の項目を入れた。Raspbianをの超高解像度Retina Displayなどで使うときにあまりにもピクセルが小さくなり過ぎるのを解決するため。全てのピクセルを2×2ブロックにしたこと。MacBook Proや大型のHDMIスクリーンで使用する。目の悪い方々にも役に立つのではないか。

rpconf

 

X86バージョンのRaspbian

Raspbian Jessieの時から作られたX86バージョンのRaspbianについても今回のバージョンアップと同時にリリースした。

PCManFMの改善

アプリケーションPcManFMのメニュー変更した。
・あまり使わない機能は隠した。
・ファイル名をクリックして変更できるようにした。(Windowsのように)

アップデートしたRaspbianを使うには

新しいイメージをダウンロードするか、または
$sudo apt-get update
$sudo apt-get dist-upgrade
で更新できる。

<終わり>

Raspberrypi On Zumo Python TkInterによる操縦・超音波センサによる停止

Raspberrypi On ZumoをPCなどのVNC画面からリモコンで操作します。取り付けた超音波センサーにより、障害物があると停止するようにします。USensorZumo

  1. 超音波モジュールの製作
  2. Arduino Leonardoのプログラム
  3. RaspberryPi のリモコンプログラム

超音波モジュールの取り付け

汎用基板を12×24ピッチの大きさに切り、図のように超音波センサー、ピンヘッダー2×12を取り付けます。

UsensorBoard2ZumoPinAssignment

ボードの裏面の配線は下のようにします。

Board_Plus_Sensor

超音波センサー基板をZumo前面の下部に取り付けます。

UsensorZumo2

 

Arduino Leonardoに超音波処理のプログラム・RaspberryPiのPythonプログラムをアップロードする

前もってやっておかなければならないこと:本サイト RaspberryPi On ZumoのWi-Fiコントロールシステム(WebIOPI)構築の手引き

を参照して、次の2点を行ってください。

  • RaspbianにArduino開発環境をダウンロードします(下記リンク 4.参照)
  • ZumoMotorLibraryをダウンロードします(下記リンク5.参照)

その上で、次のArduinoプログラムをLeonardoにアップロードします。
Arduinoプログラムは次のとおり
USensor

ダウンロードリンク
UsensorCode

次のプログラムをRaspberryPiデスクトップ上でPython2.7を使って走らせる。(このコードも上のダウンロードファイル
UsensorCodeに含まれます)
TkControl-py
このプログラムをRaspberrypi上で走らせるとTkInterを利用してボタンでコントロールできるようになります。
ただし、RaspberrypiOnZumoを走らせるときはVNCを利用してリモートコントロールで動かします。

動作は:10cm以内の障害物に接近すると、Zumoはストップします。それ以外は下のTkInterのボタンで前進・後退・左旋回・右旋回をコントロールできます。終了はMotor controllerのボタンウィンドウを閉じます。
TKControl
<終わり>

RaspberryPi日本語入力 iBus-anthy を入れる

LxTerminalからiBus-anthyをダウンロードする

$ sudo apt-get update
$ sudo apt-get install ibus-anthy

ibusAnthy2

途中で続行しますか?[Y/n]と聞かれるので y で答えます。

iBusの設定

インストールが終了すると、メニュー>設定>の中に、「IBusの設定」 が現れますので、「ibusの設定」を選びます。

ibus-anthy02

iBusデーモンが実行されていません。起動しますか?と聞かれるので、「はい」を選択します。

ibus-anthy03

iBus起動に使うキーの組合わせの設定

ibus-anthy04

「Ctrl+スペース」の組み合わせでiBus日本語入力を起動するように、次の入力メソッドの右の「…」を選択し、

修飾キーの Super のチェックをはずし、 Control にチェックを入れます。「OK]、「閉じる」を押して終了です。

テキストエディターに入力してみる

ibus-anthy05

タスクバーに、「Ctrl+スペース」切り替えで、日本語入力なら「あ」、英語入力なら「EN」と表示されます。

<終わり>

RaspberryPi日本語入力 fcitx-mozcを入れる

あらかじめ国別・キーボード設定などを行います。

menu>Preference>Raspberry Pi Configurationと選びます。

  • Localization>
  • Locale: Set Locale:>language>ja(japanese)
  • Country >JP(Japan)
  • Character Set> UTF-8
    -> OK を押す

キーボードの選択をあやまると、キーと打刻される文字が不一致になってしまいます。

英語キーボードを使っている場合は次のようにします。

  • Keyboard: Set Keyboard:
  • Country: United States
  • Variant: English(US)

日本語キーボードを使っている場合は次のようにします。

  • Country: Japan
  • Variant: Japanese

ここでキーボードのためし打ちができるので、Type here to test your keyboardの欄に たとえば *, =, ~, |, _, “, @ など、不一致になりやすい文字を打って確かめます。

keySettei

日本語入力 fcitx-mozc のインストール

ここではオープンソースのMOZCをインストールします。
$ sudo apt-get update
$ sudo apt-get install fcitx-mozc
インストール途中で実行してよいか聞かれますので y (yes)で答えて下さい。

mozcの使い方

mozc がインストールされると、ツールバー右上に小さなキーボードアイコンが現れます。

MozcIcon
また、メニューに
システムツール>Fcitx  および 設定>Fcitx、Mozcの設定、入力メソッド
が現れます。

mozc2

mozcの起動

キーボードアイコンをマウスクリックするか、CTRL+スペースキーを押すと、mozc かな変換が起動します。キーボードアイコンは「あ」に変わります。

mozcIcon2

<終わり>

 

RaspberryPi で Virtual Keyboardを使う

LCDの画面上にキーボードを表示させてタイプできるようにする方法です。

1.matchbox-keyboardをダウンロードし、インストール

$ sudo apt-get install matchbox-keyboard

2.インストール後、アクセサリ>キーボードで選択できるようになります

matchbox-keyboard1

選択すると、デスクトップにキーボードが現れます。タッチでタイプ入力できます。

desktopMatchBoxKeyboard

Raspberry PI 3 の無線LANに固定IPアドレスを設定する

RaspberryPiのネットワークアドレスを調べる

lxterminalで次のようにタイプして、Raspiの現在のネットワークの状態を確認します。
$ ifconfig
とタイプします。wlan0の項目を見ると、現在DHCPでこのRaspberryPiには192.168.1.21が割り振られています。
ローカルアドレス192.168.1.2~192.168.1.224のうち、後のほうは使われていないとして
currentNet2
アドレスを   192.168.1.221 に固定することにします。

 

設定するアドレスが使われていないか確認する

アドレスが使われていないかの確認には ping コマンドを使用します。アドレス192.168.1.221 と 192.168.1.220で確認します。使い方は   $ ping アドレス で、データを送りつけて反応を調べるので、適当なところでCTRL-Cで停止します。

ping

ping 192.168.1.221の結果は5パケットのうち、0が受信され100%失われました→アドレスは未使用
ping 192.168.1.220の結果は4パケットのうち、4が受信され、0%が失われました→アドレスは使用中
これで 192.168.1.221は未使用であることが確認できたので、使うことにします。

 

固定アドレスを設定する

固定アドレスを設定するには/etc/dhcpcd.confファイルへ設定内容を追記します。nanoエディタを使って書き換えましょう。lxterminalで次のようにタイプしてnanoを起動し、追記内容を書き加えてください。

$ sudo nano /etc/dhcpcd.conf

# 追記

interface wlan0

static ip_address=192.168.1.221/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

dhcpcd

編集後、CTRL-Oで変更内容を書き込み、CTRL-Xで終了します。
※注意:ルーターのアドレスは上記とは限らないので気をつけてください。192.168.10.1など。
その場合はstatic ip_address=129.168.10.221/24になります。

 

設定されたアドレスを確認する

一度、RaspberryPiを再起動して、固定アドレスが割り振られたかどうか確認しましょう。
$ sudo reboot now

再起動したら ifconfigでwlan0を確認します。

henkougo

確かに設定したアドレスが割り振られていることがわかります。(終わり)

RaspberryPiのVNC設定方法

RaspberryPiの設定

RaspberryPiデスクトップ上で メニュー>設定>Raspberry Piの設定 を選ぶ。
VNCを「有効」にします。
raspi_settei

RaspberryPiのアドレスを調べる

RasberrtPiデスクトップ上でlxterminalを立ち上げ、

$ ifconfig

でネットワークの設定を調べ、wlan0のアドレスをメモに控えておきます。
lxterminal
上のwlan0:の inet 192.168.xx.xx  がDHCPで割り振られたローカルアドレスです。

PCにRealVncViewer(クライアント)をインストールする

RealVncViewerダウンロードのページです。Windows x86(32ビット)またはx64を選んでダウンロードします。
https://www.realvnc.com/en/connect/download/viewer/windows/
vncviewr

Viewerは圧縮されていないので、ダウンロード先をWindows32ビット環境ならProgram Files(x86)に、64ビットならProgram Filesフォルダにダウンロードします。起動しやすいようにダウンロードした実行ファイルを右クリックして、スタートメニューに登録しておきましょう。

VNCViewer起動

PC上のVNCViewerを起動してください。するとアドレスを尋ねてきますので、先ほどメモしたアドレスを
入力します。

address

認証を求められますので、ユーザー名、パスワードを入力します。ここでは pi,  raspberry です。

authentication

PCの画面にRaspberrypi のデスクトップが表示されます。

desktop

(終わり)

Raspberry Pi用カメラモジュール

1. ここで扱うカメラモジュールの種類

  • フラットケーブルタイプ

Raspberry Pi公式カメラ

rpicam-s

 

 Waveshare社カメラ

wscam-s

 

  • USBケーブルタイプ

USB接続のWEBカメラなど

usbcam-s

2. 必要なハードウェア

Raspberry Piにカメラモジュールを接続して使う場合、次の機材が必要となります。

(1) カメラモジュール本体
(2) Raspberry Piボード(Pi2もしくはPi3)
(3) マイクロSDカード
(4) 5V 2.5A以上の電源
(5) HDMIケーブル
(6) LANケーブル
(7) HDMIディスプレイ
(8) マウス
(9) キーボード

(2)~(6)は、弊社「コンプリートスタータキット(Standard)」を購入すれば揃います。是非ご利用ください。

completepi3

 

 

3. 対象となるOSの準備と機材の組み上げ

ここでは、Raspbian OS を使用する前提で説明します。

① 下記を参照して、Raspbian OSのインストールとRaspberry Pi本体の接続を行ってください。

Raspbian OSインストール方法

② 電源を入れる前にカメラを接続します。以降に述べる手順に従ってください。

 

4. カメラの接続方法について

4.1 フラットケーブルタイプのカメラモジュール

フラットケーブルとは、下記写真のような平べったいケーブルのことです。

flatcable

両端の接点の向きが同じ面のものと、異なる面のものとがあります。

この2つには互換性はありません。入れ替えて使うとカメラモジュールやRaspberry Pi本体の故障の原因となります。

必ず、使用するカメラモジュールに付属のケーブルを使うようにしてください。

Raspberry Piには、ディスプレイ用コネクタとカメラ用コネクタがあります。

コネクタの形状が似ているので注意してください。

カメラ用コネクタの位置は下記写真の通りです。

raspi_cam_conn

 

フラットケーブルは、金属の接点のある側がHDMIコネクタ側を向くように差し込んでください。

raspi_cam_conn2

 

ケーブルが突き当たるまでコネクタに差し込みます。

差し込み方が甘いとカメラが機能しませんので、注意してください。

差し込んだら、黒いプラスチックを押し込んでロックしてください。

raspi_cam_conn3

 

 ケーブルを接続し終わったらOSを起動します。

 

4.2 USBケーブルタイプのカメラ

USBカメラは、Raspberry Piが起動した状態で接続することができます。

 ただし、カメラによっては相性のため接続しても認識できないものもあるので注意してください。

 

5. カメラの設定および接続確認方法

5.1 フラットケーブルタイプの場合

設定方法

 フラットケーブルタイプのカメラモジュールを使うには、OS起動後、インタフェースの設定が必要となります。

GUI画面の左上のラズパイマークから、Preferences -> Raspberry Pi Configuration を起動してください。

 

設定ウィンドウが開いたら、

① [Interfaces] のタブをクリックし、

② [Camera] の項目のラジオボタンで、[Enabled] を選択し、

③ 下段の [OK] ボタンを押して設定ウィンドウを閉じます。

raspi_cam_setting2

 

OSをリブートすると、カメラインタフェースが有効になります。

この設定は、OSをインストールしたmicroSDカード毎に1回行えばよいです。

アプリケーションによっては必要になる設定

後述するcheeseなどのアプリケーションは、Video for Linux2(V4L2)というドライバが必要となります。

このドライバを使うには、/etc/modulesファイルを編集して、次の1行を追加します。

(最後から2文字目は、数字の1でなくアルファベットのエルの小文字です)

bcm2835-v4l2

記述追加後、Raspberry Piを再起動することでドライバが有効になります。

確認方法

GUIメニューから、Terminalなどのターミナルアプリケーションを開き、次のコマンドを打ち込みます。

vcgencmd get_camera

実行結果が、supported=1 detected=1  となればOKです。

 

5.2 USBケーブルタイプの場合

設定方法

事前の設定は不要で、Tinker BoardのUSBコネクタに接続するだけで認識されます。

確認方法

lsusbコマンドを実行すると、Raspberry PiにUSB接続された機器の一覧が表示されます。

一覧の中に、接続したUSBカメラが存在していれば、USB機器として認識されています。

 

6. カメラモジュールの使用方法

6.1 使用するアプリケーション

ここでは用途に応じて、raspivid、raspistill、cheese の3つのアプリケーションを紹介します。

コマンドライン GUI
 raspivid  raspistill  cheese
 プレビュー フラットケーブル  USBケーブル
 静止画の撮影 フラットケーブル フラットケーブル

USBケーブル

 動画の撮影 フラットケーブル フラットケーブル

USBケーブル

 

6.2 カメラ画像のプレビュー

フラットケーブルタイプの場合

RaspbianOSにデフォルトで組み込まれているraspividコマンドを使ってカメラモジュールのプレビューを表示します。

Terminalを開き、次のコマンドラインを打ち込むことで、プレビュー画像が5秒間表示されます。

raspivid --demo 5000

 

USBケーブルタイプの場合

カメラアプリケーションは色々ありますが、ここではcheeseというGUIアプリケーションを使います。

まず、Terminalを開き、次のコマンドでインストールします。

sudo apt-get update
sudo apt-get install cheese

インストールが完了すると、GUIのメニューのSound&Videoの項目から起動できるようになります。

Cheeseを起動すると下記のように、カメラのプレビュー画像の下にコントロールパネルが付いたウィンドウが表示されます。

raspi_cheese2

 

6.3 静止画の撮影

フラットケーブルタイプの場合

RaspbianOSに標準実装されているraspistillコマンドを使います。

Terminalを開き、次のコマンドを実行することで、静止画をphoto.jpgという名前で保存できます。

raspistill -o photo.jpg

USBケーブルタイプの場合

cheeseというアプリケーションを使います。インストール方法は、「6.3 カメラ画像のプレビュー」を参照ください。

インストール後、GUIのメニューのSound&Videoの項目からcheeseを起動します。

pi-cheese1-still

撮影手順

① ウィンドウ中段のPhotoボタンを押して静止画撮影モードにします。

② ウィンドウ中段の録画マークボタンを押します。

③ 3からのカウントダウンが始まり、0になると画像が撮影されます。

④ 撮影された画像は、ボタンの下のサムネイル領域に表示されます。右クリックしながらSave Asを選択するとファイルとして保存できます。

6.4 動画の撮影

フラットケーブルタイプの場合

RaspbianOSに標準で組み込まれているraspividコマンドを使います。

Terminalを開き、次のコマンドを実行することで、動画を5秒間撮影し、video.h264という名前で保存できます。

raspivid -t 5000 -o video.h264

USBケーブルタイプの場合

cheeseというアプリケーションを使います。インストール方法は、「6.3 カメラ画像のプレビュー」を参照ください。

インストール後、GUIのメニューのSound&Videoの項目からcheeseを起動します。

pi-cheese1-mov

撮影手順

① ウィンドウ中段のVideoボタンを押して動画撮影モードにします。

② ウィンドウ中段の録画マークボタンを押します。録画マークから■マークに変わり、動画撮影開始します。

③ ■マークボタンを押すことで、ボタンの下のサムネイル領域にビデオテープ(動画)アイコンが表示されます。

④ サムネイルを右クリックしながらSave Asを選択するとwebmファイルとして保存できます。

 

 

 

 

 

以上

 

 

RaspberryPi On ZumoのWi-Fiコントロールシステム(WebIOPI)構築の手引き

RaspberryPiOnZumoのWi-Fiコントロール(WebIOPi)システム構築の手引き

PiOnZumo

スマホやパソコンのブラウザから構内のWi-Fiステーション経由でRaspberryPiOnZumoを
操縦するシステムを構築します。WebサーバーにはWebIOPiを使用します。

コードを入手する→codes

RaspberryPiOnZumoについてのFAQ

1.Arduino LeonardoにアップロードしたCommandReceiver.inoのプログラムの意味がよくわからないのですが。

・Arduinoのプログラムは最初に1回だけ実行されるsetup()関数と,その後繰り返し実行されるloop()関数からできていて,
プログラムはその中身を書くことになります。

・setup()関数内でUSBシリアル通信の初期化をSerial.speed(9600)命令で通信速度9600baudに設定します。

・次にloop()関数内で,Serial.available()関数により通信データがあるか調べ,あれば一文字(コマンド)を変数cに読み取り,
その文字の種類によって,モーターを制御しています。

・arduinoのシリアル通信命令についてはArduino.ccのserial以下をご覧ください。

https://www.arduino.cc/reference/en/language/functions/communication/serial/

 

2.Arduinoにモーターコントロールプログラムを書き込むとエラーが出てうまく書き込めません。

・ZumoMotorLibraryの場所が違っている可能性があります。    /home/pi/sketchbook/library/Zumo-shield/ZumoMotors
というディレクトリ構造になっているか確認してください。

・ArduinoIDEから ツール>シリアルポート を確認してください。    /dev/ACMA0となっているか、たとえば/dev/ACMA1などに
なっていたら、 RaspberryPiとArduinoがUSBケーブルで接続された状態で、RaspberryPiを再起動してください。
( $ sudo reboot now )その後、/dev/ACMA0になっていることを確認してください。

 

3.WebIOPiを起動するとデモページが立ち上がってしまう。

・/etc/webiopi/configファイルが書き換えられていません。11.の項目をもう一度よくチェックして下さい。
デスクトップ環境から直接configファイルをleafPad(エディタ)で開くと、書き込みができません。
lxterminalを立ち上げ、その中で sudo leafpad /etc/webiopi/configとして編集し、保存する必要があります。
これは /etc/rc.localの編集、書き込みについても同じです。

 

4.ブラウザからRasPiのアドレスにアクセスしてもボタンのついたページが表示されない。

・ index.htmlファイルが文法的に正しくない。10.のリストと比べて字句が正しいかチェックして下さい。

 

5.プッシュボタンを押してもRasPiが終了しない。

・プッシュボタンが26, 27ピンに間違いなく差してあるか確認する。
・shutdown.pyのリストをもう一度確認してください。
・shutdown.pyの場所を確認してください。
・/etc/rc.local の内容を確認してください。

Raspbian OSインストール済みSDカードについて

Raspbian OSプレインストール済みのマイクロSDカードを使っているにも関わらずRaspberry Piが起動しないといった場合、主な原因としては、電源容量不足か、マイクロSDカードのデータが壊れてしまったことが考えられます。

特に、電源が不安定な状況下でRaspberry Piを起動した場合には、起動途中に電源容量が足りずに瞬断状態となる危険性があります。

そのときにマイクロSDに書き込みを行っていれば、OSの起動に必要なファイルまでも消えてしまう可能性がありますのでご注意ください。

瞬断により格納データが失われる問題は、一般に売られている民生品向けのマイクロSDカードでは通常発生しうる問題です。

OS起動後にシャットダウン操作せずに電源を切った場合なども同様の危険性があります。

もし、OSの起動に必要なファイルが消えてしまった場合には、OSを再インストールするしか復旧方法はありません。

このような問題を防ぐには、十分な容量の電源を使い、電源を落とす前にきちんとシャットダウン操作を実施することが重要です。

もし万が一瞬断が発生してしまったとき、その影響を最小限にしたい場合には、瞬断対策のなされている産業用のマイクロSDカードを導入することもご検討ください。

 

 

1. Raspberry Pi のセットアップ

本内容は、Physical Computing Lab「Raspberry Pi電子工作エントリーキット(standard)」を前提としたものです。

 

1. Raspberry Pi のセットアップ

Raspberry Pi を動かすには、「1.1 デスクトップ構成」、「1.2 ターミナル構成」の2種類の接続方法があります。

通常は、「1.1 デスクトップ構成」を参照ください。

「1.2 ターミナル構成」は、起動時トラブルがある場合や、ディスプレイを接続しないサーバなどをセットアップしなければならない場合に、Raspberry Piの扱いに慣れている人がとる接続方法で、初心者向きではありません。

 

1.1 デスクトップ構成

【準備するもの】

・Raspberry Pi2 Model B または Raspberry Pi3 Model B

・Micro SD Card(Class 10 8G以上推奨)

   ※ 別途、Raspbian等のOSのダウンロードとインストールが必要となります。

 ※ Physical Computing LabコンプリートスタータキットスタータパックにはOSインストール済みのmicro SDカードが含まれており、インストールの手間が省けます。是非ご利用ください。

・モニター(HDMI)

・HDMIケーブル

・マウス(USB接続タイプ)

・キーボード(USB接続タイプ)

・ACアダプタ(Pi3の場合、DC5V/2.5A以上推奨)

 

※下記の図は接続の例を示しています。LANケーブルは、起動に必須のものではありません。

 

【配線】

下記のように配線を繋いで下さい。ただし、ACアダプタを接続するとRaspberry Piが起動してしまいますので、ACアダプタは最後に接続してください。

 

desktop

初めて起動するときには、ディスプレイは、極力、デスクトップPC用などで使われる汎用のHDMI接続のものをご用意ください。

Raspberry Pi用の小型のディスプレイ(10インチ以下のもの)は、ドライバインストールや解像度設定を行わないと正常に表示できないものがほとんどです。

また、D-sub接続のディスプレイを、変換器を使ってHDMI接続することも、できるだけ避けるのが無難です。この場合も、解像度設定等を行わないと表示できない場合があります。

 

 

1.2 ターミナル構成

【準備するもの】

・Raspberry Pi2 Model B または Raspberry Pi3 Model B

・Micro SD Card(Class 10 8G以上推奨)

 ※ 別途、Raspbian等のOSのダウンロードとインストールが必要です。

 ※ Physical Computing LabコンプリートスタータキットスタータパックにはOSインストール済みのmicro SDカードが含まれており、インストールの手間が省けます。是非ご利用ください。

・USB to TTL Serial Cable (TTLとありますが、5Vではなく3.3Vインタフェースのものをご用意ください)

・ACアダプタ(Pi3の場合、DC5V/2.5A以上推奨)

・PC (TeraTerm等のターミナルソフトが動作するもの)

 

terater

1.3 OSのインストールについて

Raspberry Piボードを起動させるには、上記のMicroSD Cardに、RaspbianOSをインストールする必要があります。

OSは、Raspberry Pi財団のホームページ(https://www.raspberrypi.org)からダウンロードできます。

同ページのインストラクションに従ってOSをインストールしたMicro SDカードを準備してください。

Physical Computing LabRaspberry Piコンプリートスタータキットもしくはスタータパックをご購入された方は、OSのインストール作業は不要です。

 

 

1.4 Raspberry Piの起動

OSをインストールしたmicro SDカードを、Raspberry Piボードのmicro SDカードスロットに挿してください。

micor USBコネクタに接続した電源を入れることで、RaspbianOSが起動します。

通常は、デスクトップ(GUI環境)が立ち上がり、ログインを意識する必要はありませんが、RaspbianOS Liteを選択した場合や、ログアウト操作を行った場合、ログインする際には以下を入力して下さい。

ユーザ名:pi

パスワード:raspberry

なお、このパスワードは広く知られていてセキュリティホールとなりやすいため、起動後にパスワードを変更することを推奨します。

 

 

※Physcal Computing LabのスターターパックのプリインストールノMicroSDカードを利用している方で

万一、立ち上がらないなどの状況がありましたら、microSDの接触の問題の可能性がありますので、

再度、microSDカードを挿しなおしてから再度電源を入れてみてください。

数回やってみても、ダメな場合には、交換させていただきますので、弊社までご連絡ください。

弊社へのご連絡の際しましては、お手数ですが、購入ショップ名(Physical Computing Labストア、Amazonなど)、

注文番号、注文者名を必ず、お知らせください。

 

2.2Raspberry Pi 基本設定

内容に一部古い情報が含まれております。近日更新予定です。

Raspberry Pi 基本設定 

Raspberry Pi B+を動かして、フィジカルコンピューティングを始める前に、Raspbianに必要最小限の設定をします。

(1)準備

①raspi-configの起動

下の画面の様に「sudo raspi-config」コマンドを入れます。
raspi_code_2.2_1 (1)

②メニュー画面の表示

下の画面の様に「メニュー」が表示されます。

raspi_code_2.2_2

(2)ファイルの拡張

マイクロSDのRaspbianの使っているサイズを最大にします。

①選択

「Expand Filesystem」が選択されている状態で「enter」キーを押します。
すぐに、下の画面が表示されます。

raspi_code_2.2_3

②実行

「enter」キーを押します。

しばらくして、下の画面の様に「メニュー」に戻ります

raspi_code_2.2_4

(3)SPIの自動取り込み設定

ADCのIC(MCP3008)を動かすためのSPIモジュールを「Raspbian」を立ち上げたときに自動で取り込むように設定します。

①選択

「tab」キーを「Advanced Options」が選択されるまで、繰り返して押してください。
「Advanced Options」が選択されたらenter」キーを押して下さい。

raspi_code_2.2_5

②実行

「enter」キーを押します。
しばらくして、下の画面の様に変わります。

raspi_code_2.2_6

  • ③選択「tab」キーを「SPI」が選択されるまで、繰り返して押してください。

「SPI」が選択されたらenter」キーを押して下さい。

raspi_code_2.2_7

 

④実行

しばらくして、下の画面のに変わります。
「enter」キーを押します。

raspi_code_2.2_8

⑤実行

しばらくして、下の画面のに変わります。
「enter」キーを押します。

raspi_code_2.2_9

 

(4)設定の終了

①選択

「tab」キーを「Enable Boot Desktop/Scratch」が選択されるまで、繰り返して押してください。

選択されたらenter」キーを押して下さい。

raspi_code_2.2_10

②表示

「Chose boot option」メニューが表示されます。

raspi_code_2.2_11

③選択

「tab」キーを「DesktopLoginasuser’pi’atthegrahicaldesktop」が選択されるまで、繰り返して押してください。

選択されたら「enter」キーを押して下さい。

raspi_code_2.2_12

④終了以下の画面が表示されたら、enter」キーを押して下さい。

raspi_code_2.2_13

⑤「SetupOptions」メニュー画面の表示

下の画面の様に「メニュー」が表示されます。表示されたら、次の「(5)設定の終了」に進んで下さい。

raspi_code_2.2_14

(5)終了の設定

①選択

「space」キーを「」が選択されるまで、繰り返して押してください。

raspi_code_2.2_15

②実行

raspi_code_2.2_16

③電源を切る

Raspbianのコマンド待ち画面になります。「sudo shutdown-h now」コマンドを入力します。
下の画面の様に「」メッセージが出て、20から30秒程度で「ステータスLED」が点滅を止めて、消えた状態になります。

raspi_code_2.2_17

④停止状態

下の画面の様に「」メッセージが出て、20から30秒程度で「ステータスLED」が点滅を止めて、消えた状態になります。
この状態になつたら、ACアダプタをマイクロUSBコネクタから抜いて下さい。
* 「PWR LED(赤)」は点いています。

raspi_code_2.2_18

3.Raspberry Pi B+ でフィジカルコンピューティング

内容に一部古い情報が含まれております。近日更新予定です。

(4)設定の終了

①選択

「tab」キーを「Enable Boot Desktop/Scratch」が選択されるまで、繰り返して押してください。

選択されたらenter」キーを押して下さい。

raspi_code_2.2_10(3)
②表示

「Chose boot option」メニューが表示されます。

 

raspi_code_2.2_11(3)

③選択
「tab」キーを「DesktopLoginasuser’pi’atthegrahicaldesktop」が選択されるまで、繰り返して押してください。

選択されたらenter」キーを押して下さい。

raspi_code_2.2_12(3)

④終了以下の画面が表示されたら、enter」キーを押して下さい。

raspi_code_2.2_13(3)

⑤「SetupOptions」メニュー画面の表示

下の画面の様に「メニュー」が表示されます。表示されたら、次の「(5)設定の終了」に進んで下さい。

raspi_code_2.2_14(3)

(5)終了の設定

①選択
「space」キーを「」が選択されるまで、繰り返して押してください。
raspi_code_2.2_15(3)

②実行
raspi_code_2.2_16(3)

③電源を切る

Raspbianのコマンド待ち画面になります。「sudo shutdown-h now」コマンドを入力します。
下の画面の様に「」メッセージが出て、20から30秒程度で「ステータスLED」が点滅を止めて、消えた状態になります。
raspi_code_2.2_17 (3)

④停止状態
下の画面の様に「」メッセージが出て、20から30秒程度で「ステータスLED」が点滅を止めて、消えた状態になります。
この状態になつたら、ACアダプタをマイクロUSBコネクタから抜いて下さい。
* 「PWR LED(赤)」は点いています。

raspi_code_2.2_18(3)

3.5 Lチカをモジュール(部品のセット)にしよう

 3.5 Lチカをモジュール(部品のセット)にしよう
Lチカを部品(関数)にします。部品は初期化、LEDのオン、LEDのオフの3種類です。この部品を他のプログラムで取り込んで使えるようにします。
回路は3.2と同じです。

(1) Lチカノの部品をモジュール(部品のセット)にしよう

作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)を使って簡単にプログラムを大きくしていけます。
*Pythonの新しい命令を使います。
*import、as
*書き方
import モジュール名as ニックネーム
*取り込んで、部品(関数)を使うときは「ニックネーム.関数」で使います。

① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led1c_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。

② プログラムを変更します。
サンプルの様にプログラムを変更します。

サンプルプログラム1

 #! /usr/bin/env python

import RPi.GPIO as GPIO
import time

def led_init(leds):
GPIO.setup(leds, GPIO.OUT) # set GPIO leds output

def led_on(leds):
GPIO.output(leds, GPIO.HIGH) # leds ON

def led_off(leds):
GPIO.output(leds, GPIO.LOW) # leds OFF

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
led_init(LED1)

LED2 = 6 # LED1 –> GPIO6
led_init(LED2)

for i in range(10):
print(i)
led_on(LED1)
led_on(LED2)
time.sleep(0.5)

led_off(LED1)
led_off(LED2)
time.sleep(0.5)

GPIO.cleanup()
print(“led2b done”)

 

 

 

 

③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1b_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1b done」のメッセージが出ます。

raspi_code_3.5_1

⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_3.5_2

(2) モジュールを使おう
作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)を使って簡単にプログラムを大きくしていけます。

*Pythonの新しい命令を使います。
*import、as
*書き方
import モジュール名as ニックネーム
*取り込んで、部品(関数)を使うときは「ニックネーム.関数」で使います。

① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led2c_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。

② プログラムを変更します。
サンプルの様にプログラムを変更します。
-「import time」の後に「import rpi_bp_gpio_led2c_1.pyas ctrl」を追加します。
-全部の関数定義「def」を削除します。

サンプルプログラム2

 #! /usr/bin/env python

import RPi.GPIO as GPIO
import time

import rpi_bp_gpio_led2b_1 as ctrl

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
ctrl.led_init(LED1)

LED2 = 6 # LED1 –> GPIO6
ctrl.led_init(LED2)

for i in range(10):
print(i)
ctrl.led_on(LED1)
ctrl.led_on(LED2)
time.sleep(0.5)

ctrl.led_off(LED1)
ctrl.led_off(LED2)
time.sleep(0.5)

GPIO.cleanup()

 

 

 

③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1c_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1b done」のメッセージが出ます。

raspi_code_3.5_3

⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_3.5_4

(3) 同じ部品名(関数名)でモジュールを使おう
作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)をそのまま使えるようにします。
*Pythonの新しい命令を使います。

*from
*書き方
from モジュール名import *

① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led2d_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。

② プログラムを変更します。
サンプルの様にプログラムを変更します。
-「import rpi_bp_gpio_led2c_1.pyas ctrl」を「from rpi_bp_gpio_led2c_1.pyimport *」に変更します。
-使用する関数の「ctrl.」をとります。

サンプルプログラム3

 #! /usr/bin/env python

import RPi.GPIO as GPIO
import time

from rpi_bp_gpio_led2b_1 import *

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
led_init(LED1)

LED2 = 6 # LED1 –> GPIO6
led_init(LED2)

for i in range(10):
print(i)
led_on(LED1)
led_on(LED2)
time.sleep(0.5)

led_off(LED1)
led_off(LED2)
time.sleep(0.5)

GPIO.cleanup()
print(“led2d done”)

 

 

 

 

③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1d_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1d done」のメッセージが出ます。

raspi_code_3.5_5

⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_3.5_6

3.6 スィッチでLEDをオン/オフしよう

3.6 スィッチでLEDをオン/オフしよう

スィッチのレベルを読み込んで、LEDを点けたり、消したりします。

(1) スィッチの回路を作ろう

①組立

下の配線図、回路図をみて、回路を組立て下さい。

raspi_3.6_1s raspi_3.6_2s

(2)スィッチのレベルでLEDをオン、オフ」する」プログラムを作ろう

SW1のレベルを読み込みます。レベルの”LOW”、”HIGH”でLEDを点けたり消したりします。SW1が押されると、
GNDに繋がって、レベルは”LOW”になります。離すと、”HIGH”になります。

*Pythonの新しい命令を使います。
*if 、else 命令
*、==、から後ろの命令は、取り込んでも使えない(動かない)ようにします。
*==:等しい、!=:異なる、>:大きい、>=:大きいまたは等しい、=<:等しいまたは小さい、<:小さい
*書き方
*if 変数1==変数2:

インデント命令
else :

インデント命令
スペース

①電源を入れます

RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

②ログインします。
Raspbianが立ち上がったら、ログインして下さい。

③「nano」エディター立ち上げます。
「nano rpi_bp_gpio_lsw1_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。
プログラムを変更します。
サンプルの様にプログラムを変更します。

サンプルプログラム1

#! /usr/bin/env python

import RPi.GPIO as GPIO
import time

from rpi_bp_gpio_led2b_1 import *

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
led_init(LED1)

SW1 = 26 # SW1 –> GPIO26
GPIO.setup(SW1, GPIO.IN) # set GPIO25 input

for i in range(20):
print(i)

on_off = GPIO.input(SW1) # read SW1

if on_off == GPIO.LOW:
led_on(LED1)

else:
led_off(LED1)

time.sleep(0.2)

 

 

 

④ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

⑤ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_sw_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1 done」のメッセージが出ます。

raspi_code_3.6_1

⑥ 電源をきります。

「sudo shutdown -h now」を入力して下さい。

*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

(3) 部品にしよう

作った部品(関数)でSW1のレベルを読み込みます。
読み込んだレベルは戻り値として返します。

*Pythonの新しい命令を使います。
*return 命令
*、*書き方
*def関数名():

インデント命令
インデントreturn戻り値

① 電源を入れます

RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

② ログインします。

Raspbianが立ち上がったら、ログインして下さい。

③ 「nano」エディター立ち上げます。

「nano rpi_bp_gpio_sw1a_1.py」コマンドを実行して下さい。

画面が「nano」エディターの画面に変わります。

プログラムを変更します。

サンプルの様にプログラムを変更します。

サンプルプログラム2

#! /usr/bin/env python

import RPi.GPIO as GPIO
import time

from rpi_bp_gpio_led2b_1 import *

def sw_init(sw):
GPIO.setup(sw, GPIO.IN) # set GPIO25 input

def sw_read(sw):
level = GPIO.input(sw) # set GPIO sw input
return level

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
led_init(LED1)

SW1 = 26 # SW1 –> GPIO26
sw_init(SW1) # set GPIO26 input

for i in range(20):
print(i)

on_off = sw_read(SW1) # read SW1

if on_off == GPIO.LOW:
led_on(LED1)

else:
led_off(LED1)
time.sleep(0.2)

④ 入力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

⑤ 入力したプログラムを実行します。

「sudo python rpi_bp_gpio_swa_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。
離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

④ 入力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

⑤ 入力したプログラムを実行します。

「sudo python rpi_bp_gpio_swa_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

raspi_code_3.6_3

⑥ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_3.6_4

(4) モジュールを使おう

作った部品(関数)のモジュールを読み込みます。読み込んだモジュールの部品(関数)を使います。

① 電源を入れます
RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

② ログインします。
Raspbianが立ち上がったら、ログインして下さい。。

③ 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_sw1b_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。
プログラムを変更します。
サンプルの様にプログラムを変更します。

サンプルプログラム3

#! /usr/bin/env python

import RPi.GPIO as GPIO
import time

from rpi_bp_gpio_led2b_1 import *

from rpi_bp_gpio_sw1a_1 import *

if __name__ ==(“__main__”):
#start

GPIO.setmode(GPIO.BCM) # use GPIO Number

LED1 = 5 # LED1 –> GPIO5
led_init(LED1)

SW1 = 26 # SW1 –> GPIO26
sw_init(SW1) # set GPIO26 input

for i in range(20):
print(i)

on_off = sw_read(SW1) # read SW1

if on_off == GPIO.LOW:
led_on(LED1)

else:
led_off(LED1)
time.sleep(0.2)

GPIO.cleanup()

④ 入力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

⑤ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_swb_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1b done」のメッセージが出ます。

raspi_code_3.6_5

⑥ 電源をきります。

「sudo shutdown -h now」を入力して下さい。

*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_3.6_6

Raspberry Pi 電子工作エントリーキット目次

1.  Pi 2B 3B 準備

2. Raspberry Pi 2Bを動かして見よう

2.2 基本設定

3. フィジカルコンピューティング(デジタル/GPIO)

3.1 電子工作

3.2 インタラクティブモードでLチカ

3.3 Lチカプログラムを作ろう!

3.4 Lチカを部品にしよう

3.5 Lチカをモジュール(部品のセット)にしよう

3.6 スイッチでLEDをオン/オフしよう

4. フィジカルコンピューティング(デジタル/PWM)

4.1 PWMでブザーを鳴らそう

4.2 PWMでサーボ-モータを回して見よう

5. フィジカルコンピューティング(アナログ)
※ フィジカルコンピューティング(アナログ)

5.1 電圧を測ろう
5.2 明るさを測ろう
5.3 温度を測ろう