RaspberryPi3にnodejsをインストール
nodebrewインストール
まず、nodebrewをインストールする
curl -L git.io/nodebrew | perl - setup
パスを通す
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.profile source ~/.profile
node.jsインストール
インストール可能なバージョンを確認する
nodebrew ls-all
最新のLTSバージョンをインストールする ※2016/05/04現在、v4.4.3が最新
nodebrew install-binary v4.4.3
インストールしたnode.jsを使用できるよう設定
nodebrew use v4.4.3
インストールされたことを確認
node -v
RaspberryPi3にGrovePi+とセンサーを接続し、センサー情報を取得
GrovePi+とは、Groveシステムの各種センサーを簡単に使うための、RaspberryPi用シールド。
Groveシステムのセンサーは100種類以上あり、パーツ屋や、amazon、公式から購入できる。
環境構築は、公式のクイックスタートを参考に行った。
ソフトウェアのセットアップ
今回は、既にNOOBSからRasbianをインストール済みのSDカードを利用しているため、下記のセットアップ作業を行う※1。
1. RaspberryPi3の電源を入れ、ターミナルを立ち上げる
2. Desktopディレクトリへ移動し、githubリポジトリをcloneする
$ cd /home/pi/Desktop $ sudo git clone https://github.com/DexterInd/GrovePi
Desktopディレクトリ配下に、GrovePiディレクトリができる。
$ cd /home/pi/Desktop/GrovePi/Script
$ sudo chmod +x install.sh
5. スクリプトを実行する
必ず、sudoで実行すること!
$ sudo ./install.sh
途中、アーカイブのダウンロードをしてよいか確認されるので、その際は「y」を押して許可する。
インストールが完了すると、勝手に再起動する。
6. 再起動後、一旦シャットダウンする
$ sudo shutdown -h now
7. GrovePi+本体をRaspberryPi3にマウントし、RaspberryPi3を起動する
8. ターミナルを開き、スクリプトが正常に実行されたか確認する
$ sudo i2cdetect -y 1
「00:」行、「4」列に、「04」の数字が表示されていれば、インストールは正常に完了している。
9. テスト Grove ledをD4ポートにつなぎ、サンプルを実行
$ cd /home/pi/Desktop/GrovePi/Software/Python $ sudo python grove_led_blink.py
LEDが点滅すれば成功
以上でセットアップは完了。
※1. ここからソフトウェアセットアップ済みのRasbianが入ったMicroSDカードを購入したり、ここからイメージファイルをダウンロードし、手持ちの空MicroSDカードにインストールする場合は、セットアップ作業は不要。
センサー情報の取得
pythonでコードを書いてセンサー情報を取得する事ができる。
セットアップ後、「/home/pi/Desktop/GrovePi/Software/Python/」ディレクトリにライブラリが配置されるので、これを利用する。
今回は、センサーとして、温湿度センサーを使用。
センサーの使い方は、製造元のwikiを見ると大体書いてあるので参考にするとよい。
#!/usr/bin/env python import sys sys.path.append('/home/pi/Desktop/GrovePi/Software/Python/') import time import datetime from grovepi import * import serial # 温湿度センサーはD3ポートに差した ptemperature = 3 # D3ポートをINPUTモードにする pinMode(ptemperature,"INPUT") # ライブラリを使えば、簡単に温湿度情報を取得できる [temperature, humidity] = dht(ptemperature, 1) print(temperature, humidity)
上のpythonファイルを実行すると、以下のような結果を得られる。
(28.1, 43.5)
他のセンサーも同じ要領で使用できる。
今回はデジタルポートを使うセンサーを使用したが、他のポートを使用するものもある。
ちなみにGrovePi+のポートには、デジタルポート、アナログポート、I2Cポート、RaspberryPiシリアル、GrovePiシリアルがある。
ポート情報は、ここに詳しく書いてある。
Raspberry Pi3 にRasbianインストール~日本語化~タッチパネル接続
RasbperryPi3にOSをインストール、日本語化、7インチ公式タッチディスプレイと接続を行ったのでメモ
インストールはここ、日本語化はここ、ディスプレイの接続はここを参考にした
インストール
インストーラのダウンロード
Rasbianインストールには、インストーラであるNOOBSを使用。
公式から、「NOOBS」を選択し、「Offline and network install」版のZIPファイルをダウンロード。
ダウンロードされた「NOOBS_v###.zip」を解凍しておく
SDカードの準備
SDカードには相性があるため、購入する際は事前に確認した方が良い。
http://elinux.org/RPi_SD_cardsの「Working / Non-working SD cards」の表の中でOKになっているものを準備しておけば大丈夫なはず。
今回、事前に購入していたSDカードではRasbianをうまくインストールできなかったため、SanDiskの32GB「SDSDQUAN-032G-G4A」を別途購入した。
SDカードへインストーラをコピー
まず、SDカードをフォーマットする必要がある。
フォーマットには、公式で推奨されているSDFormatterを使用する。
インストールしたSDFormatterを起動し、
- ドライブの選択(Fドライブなど、SDカードを認識しているドライブを選ぶ)
- 「Volume label:」を「boot」にする
- 「フォーマット」を押してフォーマットを開始する
- 「終了」
その後、SDカードを抜き差しして再認識させ、インストーラをコピーする。
先ほどダウンロード・解凍しておいてた、「NOOBS_v###」配下のフォルダ・ファイル全てをSDカードへコピーする。
インストール
NOOBSをコピーしたSDカードをRaspberryPi3に挿入し、電源を入れて起動。
(ディスプレイにはHDMIケーブルで繋げておく。マウスとキーボードもUSBで繋げておく)
しばらく待つと、OSを選択するダイアログが立ち上がる。
※元々用意していたSDカードでは、ここで「Error setting permissions」というメッセージが出て、ダイアログが立ち上がらなかった。
画面下部でlanguageとkeyboadの選択ができるので、「日本語」「ja」を選択しておく。
(こうしておくと、自動的に日本語化されるっぽい?ただし、日本語フォントがインストールされていないため、起動後文字化けが発生する?)
ダイアログでは、「Rasbian」を選び、「Install」を押すとインストールが開始する。
あとはインストールが完了するまで待つだけ。
日本語化
インストール直後は、メニューなどは全て英語になっている。
今回、7インチタッチディスプレイを繋げるため、パッケージのアップデートを行った。
$ sudo apt-get update $ sudo apt-get upgrade
$ sudo rpi-update
その後再起動すると、メニューが文字化けしてしまう。
そのため、jfbterm(コンソールで日本語を表示するためのソフト)と、日本語フォントのインストールを行い、再起動した。
$ sudo apt-get install jfbterm $ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname $ sudo shutdown -r now(再起動)
再起動後、文字化けは解消している。
タイムゾーンの変更、キーボードの設定は、このタイミングでここを参考にして実施した。
上記で文字化けは解消しているが、日本語入力はまだ出来ない。そのため、日本語入力ソフト(iBus-anthy)をインストールする。
$ sudo apt-get install ibus-anthy
インストールが完了したら、Menu > 設定 > IBusの設定をクリックし、「IBusの設定」ダイアログを立ち上げる。
この時、「IBusデーモンが実行されていません。起動しますか?」という確認ダイアログが出るので、「はい(Y)」を選ぶ。
すると、「IBusは起動されています。IBusが使用できない場合は、次の行を$HOME/.bashrcに追記し、デスクトップにログインし直してみてください。
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus」というダイアログが出るので「OK」を押す。
「IBusの設定」ダイアログが起動したら、「入力メソッド」タブを選択し、「追加」をクリック。
日本語を選択し、入力メソッドの選択でAnthyを追加する。(と言いつつ、実際にやってみたら、既に追加されていた。)
タッチパネルをつなげる
まず、RaspberryPi3とディスプレイをDSIリボンケーブルで接続しておく。
あとは電力を供給するだけでOKだが、電力供給には以下の3パターンがある。
1. ディスプレイ、RaspberryPiの両方とも、別々の電源から電力を供給する。
2. 電源からはディスプレイのみにつなぎ、ディスプレイのUSBポートからRaspberryPiに電力を供給する。
3. 電源からはディスプレイのみにつなぎ、GPIOジャンパーからRaspberryPiに電力を供給する。
自分の環境では、1の方法ではディスプレイに表示されなかった(2、3はできた)ので、2のUSB経由で電力供給した。
標準では、ディスプレイ表示の上下が反対(フレームを付けたときに逆になるらしい)になるので、設定で逆向きにできるようだが、自分はフレームを持っていないため、デフォルト向きのままにする。
やっぱり逆向きにした。
向きを逆転させたい場合は、ここを参照。
$ sudo vi /boot/config.txt
次の行を加える(既に同様の行がある場合には設定値を変更)
lcd_rotate=2
ファイルを保存して再起動すると、向きが逆転する。