RaspberryPi で IPアドレスを固定化する

RaspberryPi で IPアドレスを固定化する

/etc/dhcpcd.conf というファイルに、以下の項目を追記してリブートすればOKでした。

エディターの起動
$ sudo leafpad /etc/dhcpcd.conf

追加項目:
interface wlan0  <- eth0="" or="" p="" wlan0="">static ip_address=192.168.XXX.YYY/24  <- p="">static routers=192.168.XXX.1  <- p="">static domain_name_servers=192.168.XXX.1  <- p="">



ESP-Toyに RaspberryPiをWiFi接続する際に、ESP-ToyにDHCPサーバー機能を追加するよりは、RaspberryPiを固定IPにしたほうが都合がよさそうだったので、調べてみました。

Raspbian に On Screen Key Board を

Raspbian に On Screen Key Board を

参考にしたWebページはhttps://raspberrypi.stackexchange.com/questions/41150/virtual-keyboard-activation

Touch Screen を使うには、On Screen Key Board があるとべんりなので、インストールしてみます。

以下のコマンドをLXTerminalで実行するだけです。

 sudo apt-get update
 sudo apt-get upgrade
 sudo apt-get install matchbox-keyboard
 sudo reboot

再起動したら、「メニュー」-「アクセサリー」ー「Key Board」がつかえます。
もし、「Key Board」が表示されていないときは、「メニュー」-「設定」-「Main Menu Editor」で、表示を設定します。

OSOYOO 3.5" HDMI touch screen Driver のインストール

OSOYOO 3.5" HDMI touch screen Driver のインストール

参照URL: http://osoyoo.com/2017/01/18/install-3-5-hdmi-touch-screen-linux-driver-on-raspberry-pi/

タッチスクリーンを使うには、下記の通り別途ドライバーをインストールします。

Install 3.5″ HDMI Touch Screen Linux Driver on Raspberry Pi

3) Driverをダウンロードし、RaspberryPiの"/home/pi"にコピーします
  3.5″ HDMI touch screen driver  http://osoyoo.com/driver/LCD_show_35hdmi.tar.gz

6) LXTerminalで以下のコマンドを実行します。
 sudo chmod 777 LCD_show_35hdmi.tar.gz
 tar -xzvf LCD_show_35hdmi.tar.gz
 cd LCD_show_35hdmi
 sudo apt-get update
 sudo ./LCD_backup

11)解像度を選んで下記のコマンドを実行します。
 Resolution 480*320: sudo ./LCD35_480*320
 Resolution 720*480: sudo ./LCD35_720*480
 Resolution 810*540: sudo ./LCD35_810*540

 しばらくすると、自動的に再起動します。

 元に戻したいときは、以下のコマンドを実行します。
 sudo ./LCD_restore

 これで、タッチスクリーンが使えます。

Raspberry PiのScratchで、USBウェブカメラを活用する

Raspberry PiのScratchで、USBウェブカメラを活用する方法です。

webカメラ(今回使用したのは、ELECOM UCAM-C0220FEWH)をラズパイ3のUSBにつないで、Scratchで使ってみました。

USBにカメラを接続してスクラッチを起動すると、画像はすぐに使えました。何もする必要なしでしたが、このままでは内臓マイクが使えません。

そこで、今回参考にしたWebページはこちらです。

LXTerminalから、
 sudo nano ~/.asoundrc で以下の通りに編集します。

pcm.!default {
    type asym
    playback.pcm {
        type hw
        card 0
    }
    capture.pcm {
        type hw
        card 1
    }
}

ctl.!default {
    type hw
    card 0
}

再起動しすればOKです。

ラズパイで webカメラ・ビデオストリーミング

ラズパイで webカメラ・ビデオストリーミング

webカメラ(今回使用したのは、ELECOM UCAM-C0220FEWH)をラズパイ3のUSBにつないで、ビデオストリーミングを試してみました。

参考にした(そのまんま)Webページはこちらです。


動画ストリーミングソフトウェアとして、MJPG-streamerを使用します。

1.インストール
LXTerminalから以下のコマンドを実行します。

 sudo apt-get update
 sudo apt-get install subversion libjpeg-dev imagemagick
 svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
 cd mjpg-streamer
 make

2.ここで、WEBカメラを、Raspberry Pi に接続します。

3.MJPG-streamer の起動
 sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"

パラメーターは必要に応じて変更します。
-f : frame rate : 1秒あたりのフレーム数(例:-f 10)
-r : resolution : 動画の解像度(例: -r 320x240)

※Raspberry Pi の次回以降の起動後は、mjpg-streamerフォルダに移動後にコマンドを実行します。
 cd mjpg-streamer
 sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"


4.MJPG-streamer の終了
 Ctrl + C で動画ストリーミングソフトウェアを終了します。

5.表示方法
ブラウザで、このRaspberry Pi のポート8080にアクセスします。
 http://192.168.***.***:8080
 mjpg-streamer のホームページが表示されます。左側のメニューの「Stream」をクリックすると、ストリーミング画像が表示されます。

 http://192.168.***.***:8080/stream_simple.html にアクセスすると、動画だけの画面が表示されます。

πduino パイデュィ~ノ(ラズパイ+arduino)のためのRASPBIAN設定

RaspberryPi + πduinoパイデュィ~ノ 環境の設定です。

πduinoは、Arduino互換ボードのUARTとRaspberryPiのGPIOポートのUARTを接続し、RASBIANのArduinoIDEからUART経由でプログラミングしたり、Scratchのセンサーボード(PicoBoard,なのぼ~ど,WeDo)のような機能を実現するものです。
参照:(トランジスタ技術2017年2月号の付録)

RASBIANのConfigは、トランジスタ技術本誌に記載されていますが、誤記等もあったのでをメモしておきます。

UARTのconfigは、オンボードのBlueToothに影響を与えるので、RaspberriPi3BとRaspberryPi Zero Wの2機種はOnBoardのBlueToothは使えなくなります。

・確認OSバージョン
 Raspbian 8.0(Jessie)

1.事前インストール
 以下のコマンドで、WiringPiとPythonをインストールしておく

  $sudo apt-get install python-dev python-setuptools
  $sudo apt-get install python-pip
  $sudo pip install wiringpi2
  $

2.ArduinoIDEのための設定
 2-1.シリアルポートの設定変更

  $sudo leafpad /boot/config.txt
   最終行の下に以下の2行を追加

   dtoverlay=pi3-miniuart-bt
   enable_uart=1

  $sudo leafpad /boot/cmdline.txt
   以下の内容に変更します

   変更前(1行です)
   dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait splash plymoutth.ignore-serial-consoles
   
   下線部分変更後(1行です)
   dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait splash plymoutth.ignore-serial-consoles
   

  $sudo reboot

 2-2.シリアル・ポートのデバイス・ファイル名変更(Arduino1.8.3では不要)
  ArduinoIDE1.0.xでは、”ttyAMA0”が認識できないので、”ttyS8"にリンクしておく

  $sudo leafpad /etc/udev/rules.d/80-ttyS8.rules
   以下の内容で作成します
   KERNEL=="ttyAMA0", SYMLINK+="ttyS8", GROUP="dialout", MODE:=0666

3.UARTのDTR機能を有効にする

  $sudo leafpad /etc/rc.local
   最後のほうの、"exit 0" の前の行に以下を追加する
   /usr/bin/gpio mode 0 alt3


涵養塾 Raspberry Pi SD Card Config

涵養塾の Raspberry Pi 用 SD Card は、以下のようにセッティングしています。


1.NOOBSの準備
https://www.raspberrypi.org/learning/software-guide/quickstart/

 1-2.SD Formatter 4.0(オプション/論理サイズ調整="ON")
https://www.sdcard.org/downloads/formatter_4/index.html

  1-2-1.SDXC(64G)の場合 exFAT から FAT32 へ 変更する必要がある。
  https://www.raspberrypi.org/documentation/installation/sdxc_formatting.md
 
  FAT32 Formater(guiformat.exe)
  http://www.ridgecrop.demon.co.uk/index.htm?guiformat.htm

 1-3.NOOBSをダウンロードし、中身をSDカードにコピーする。
 https://www.raspberrypi.org/downloads/noobs/

2.最初のインストール
 Raspbianを選んで、日本語の設定をして、インストールする。
 すぐに reboot

3.初期設定 日本語化 (NET接続)

 3-1.Raspberry Pi configuration

  3-1-1.パスワード変更
  user[pi] password[chum8877] にする

  3-1-2.localisation
  set Local to ja(japanese)
  set Timezone Area to JAPAN
  set Keyboard to japan japanese
  set wifi country to JP japan
  re boot

 3-2.LXTerminalで最新状態にする
 $ sudo apt-get update
 $ sudo apt-get upgrade
 $ sudo reboot

 3-3.office日本語設定
  [menu]-[設定]-[add/remove software]
  "office productivity suite - Japanese language package"
  をインストール

 3-4.日本語入力インストール
  LXTerminalで
  $sudo apt-get install fcitx-mozc -y
  $sudo reboot

 3-5.入力設定 Fcitx設定
  設定ー>Fcitx設定
  画面の並び順番を以下の通おりにする。
    キーボード-日本語
    Mozc

Option

4. VNCサーバ
http://yamaryu0508.hatenablog.com/entry/2014/08/16/202441

 4-1.手順1 VNCサーバのインストール
  $ sudo apt-get update
  $ sudo apt-get install tightvncserver

 4-2.手順2 VNCサーバの起動と初期設定

 VNCサーバを立ち上げると初回はパスワード設定させられます。

  $ tightvncserver

  パスワードは"chum8877"

 4-3.手順3 VNCサーバの自動起動の設定

  VNCサーバの自動起動の設定を行います。nanoエディターで、次のような自動起動のスクリプトを記載します。

  # sudo nano /etc/init.d/vncboot

ここから(1行目は必ずこの行で)
#! /bin/sh

# 参考サイト http://assimane.blog.so-net.ne.jp/2013-03-27
#
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

# /etc/init.d/vncboot

USER=pi
HOME=/home/pi

export USER HOME

case "$1" in
 start)
 echo "Starting VNC Server"
 #Insert your favoured settings for a VNC session
 su $USER -c '/usr/bin/vncserver :1 -geometry 800x600 -depth 24'
 ;;

 stop)
 echo "Stopping VNC Server"
 su $USER -c '/usr/bin/vncserver -kill :1'
 ;;

 *)
 echo "Usage: /etc/init.d/vncboot {start|stop}"
 exit 1
 ;;
esac

exit 0
ここまで

  解像度の1440x900 の部分は今回MacBook Air 13インチに合わせた数値にしていますので、リモートデスクトップに使うPCの解像度に合わせて設定しましょう。

 4-4.手順4 実行権限を変更します。

  $ sudo chmod 755 /etc/init.d/vncboot

 4-5.手順5 最後に自動起動の登録を行います。

  $ sudo update-rc.d vncboot defaults
  $ sudo reboot

 4-6.手順6  再起動と自動起動の確認

  再起動後SSH接続し直したら、psコマンドで起動状況を確認してみましょう。

  $ ps -ef | grep tightvnc | grep -v grep

  無事起動しているようなら、続けてnetstat -nltで、ポートがLISTENしているか確認しましょう。

  $ netstat -nlt

  無事5901ポートでLISTENしていますか。

 4-7.手順7  VNCクライアントからリモートデスクトップ接続を確認

 Raspberri Pi上のVNCサーバの設定が出来たら、いよいよクライアントから接続してみましょう。

ClientはVNC Viewerで
https://www.realvnc.com/download/viewer/windows/



 5.LCD official display 設定

画面の表示方向を180度回転させるためには/boot/config.txtを編集して、lcd_rotate=2を追加してください。
In Terminal, type "sudo nano /boot/config.txt"
Add the line "lcd_rotate=2" to the top of the file.
Press CTRL+X
Then Y
Then Enter.
And reboot!


 6.Scratch2MCPI のインストール 

 (ScratchのスクリプトをPythonに変換するソフト)

  LXTerminalで

$ curl http://scratch2mcpi.github.io/install.sh | sh

  起動順を守る必要あり、 Minecraft -> Scratch2MCPI



 7.Scratchの楽器音をリアルにする

 TiMidity++パッケージとサウンドフォントのインストール

  LXTerminalで

$ /usr/share/scratch/timidityinstall.sh

  リブートが必要



 8.Scratchで日本語入力を可能にする

   $ sudo leafpad /usr/bin/scratch で最後付近にある下記の行を見つけます。

   修正前
$WRAPPER "$VM" $VMOPTIONS "$IMAGE" "$DOCUMENT" $IMOPTIONS
     ここに、「 -vm-display-x11 -compositioninput 」を追記します。

   修正後
   $WRAPPER "$VM" -vm-display-x11 -compositioninput $VMOPTIONS "$IMAGE" "$DOCUMENT" $IMOPTIONS

 追記したら保存してテキストエディタを閉じます。 Scratchは再起動します。