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

TinkerBoardでRemoteDesktop(VNC)を使う

1.TinkerOSにTightVncServerをインストールし、起動する

LXTerminalから次のコマンドでインストールします。

$ sudo apt-get update
$ sudo apt-get install tightvncserver

インストールが終了したら、次のコマンドでTightVncserverを立ち上げます。
$ tightvncserver

vncserver1

初回起動はpasswordを要求されます。この例では”linaro”と2回入力しました。(パスワードはタイプしても見えません)。Viewerでは入力もしますので view-only password(y/n)?で n と入力します。

2.TinkerBoardのIP Addressを調べる

Tinker OS Desktopのツールバーのネットワークアイコンを右クリックし、Connection Informationを選び、IPv4のところを見ます。この例ではIP Addressは192.168.1.78になっています。このアドレスを後ほど使用します。

network

または LxTerminalから
$ sudo ifconfig
とコマンドを打ち込み、次のように有線LANならば eth0の、無線LANならば wlan0のinetアドレスを調べて下さい。

ifconfig

3.WindowsにTightVncViewerをインストールする

TightVncViewerのDownload PageからWindows用をインストールします。(64bit, 32bitを環境に合わせて選んで下さい。)URLは以下のとおりです。
https://www.tightvnc.com/download.php

tightVNC

WindowsにインストールするのはViewerだけですので、Serverは非選択にします。

setupViewer

4.TightVncViewerを立ち上げる

tightVncIcon

スタートメニューからインストールしたTightVncViewを立ち上げますと、IP Adressを設定する画面になるので、先ほどの2.のIP Addressを設定しConnectボタンを押します。次にPassword : linaro(VncServerで設定したもの)を入力しOKボタンを押します。

vncAddress

password

5.Tinker Desktopの表示

これでPCのWindows Desktop上にTinkerOSのDesktopが表示されます。

tinkerDesktop

<終>

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

(終わり)

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 の内容を確認してください。