Raspberry Pi (4) LAMP setup

Raspberry PiにLAMP環境を作る

install

念のため、updateしておく。

pi@raspberrypi:~ $ sudo apt-get update

AMPを一気にinstallする
pi@raspberrypi:~ $ sudo apt-get install -y apache2 php5 mysql-server
Apache2 Debian Default Page をみる
http://192.168.11.139/

PHP動作確認

Document Rootsは、/var/www/html の下。そこにinfo.php ファイルを作って、PHP動作確認する。
pi@raspberrypi:~ $ cd /var/www/html
管理者権限で、ファイルを新規作成。
root@raspberrypi:/var/www/html$ sudo nano info.php
またはrootユーザーになって
root@raspberrypi:/var/www/html#  nano info.php

ファイルの中身を確認
root@raspberrypi:/var/www/html# cat info.php
<?php
phpinfo();
?>
ブラウザーから、PHPの設定情報が見れる。
http://192.168.11.139/info.php
 

モバイルでの処理速度のテスト結果を Test My Site で確認

記事で、Googleの「TEST MY SITE」を知り、モバイルでの処理速度のテスト結果を Test My Site で確認可能。

「TEST MY SITE」
https://testmysite.withgoogle.com/intl/ja-jp

早速テストして見た

このような画面が見える

「無料レポートを取得」をクリックすると、メールアドレスの入力する。しばらく待つと、

このようなレポート

Piwigo Upgrade 失敗

長年使ってるPiwigoが、Upgrade 失敗、開けなくなった。

開くと、下記の画面が出る。

スクリーンショット 2017-07-13 22.40.15.png

ここで、 をクリックすると、下記の画面が出って、それから進まない。

スクリーンショット 2017-07-13 22.40.48.png

ここにある”=== upgrade 150″は、どういう意味?

P.S.

その後、DBのバックアップを利用して、再度Upgradeして、成功した。

初回Upgradeする際、DB壊れたと思われる。

PIXEL (3) Screen resolution

PIXEL (Raspberry OS)は、USBメモリに書き込んで、古いi386のPCでも活用でするもの。
静音PCでPIXELを動かすと、800×600の解像度になってしまう。ちと狭い。変更する方法はあるのかな…。
_PIXEL for PC and Mac – Raspberry Pi のコメント欄で、xrandr とやらを使って解像度を変更する例が紹介されてる。

上記のように打ってみたら、エラーになり、困った。

なぜだろう!試しに引数なしでコマンド送ったら、ステータスとオプションが表示してくれた。

これて、output を推測し、下記のコマンドを送る。

解像度が変更できた。
これでは次回起動時にはまた元に戻ってしまって。さて、どうしたら…。
更に arandr なるツールをインストールしたらGUIでも解像度を変更でき;~/.config/autostart/ に.desktopファイルを置くと、Xセッション起動時に自動起動が走るらしいので、時間があったらまた試してみる。
 

Raspberry Pi (6) Nokia 5110 LCD

Nokia 5110 LCD表示するための設定

最初の参考文献で、下記のコマンドを実行

cd /home
sudo apt-get update
sudo apt-get install python-pip python-dev build-essential
sudo pip install RPi.GPIO
sudo apt-get install python-imaging
sudo apt-get install git
sudo git clone https://github.com/adafruit/Adafruit_Nokia_LCD.git
cd Adafruit_Nokia_LCD
sudo python setup.py install
Adafruit examples programsを実行:

困りました!
もしかしてと、昨日のRaspberry Pi (9) Red LED Matrix Moduleを見直し、spi->> Onが必要と気づいた。

  • spi ->> On

これて、Adafruit examples programsを実行に問題なく表示できた。

参考文献

  1. http://projects.privateeyepi.com/home/home-alarm-system-project/nokia-5110-lcd-project

Raspberry Pi (5) Red LED Matrix Module

Raspberry Pi用赤いLED Matrix Moduleを購入したので、まずためす!

セットアップ


このように、GPIOに差し込むタイプ。何かできるかと思うと、流れ文字、テトリスゲームはいいかもしれません。
ちょっと初期のPiで試したが、OSが古いため、パッケージインストールエラーなど、問題発生する。仕方なく、別SDに最新版のOSを導入して進む。
起動したら、下記の3点設定する。

pi@raspberrypi-256M:~ $ sudo raspi-config
  • Video Momory 64M ->> 16M
  • ssh ->> On
  • spi ->> On

ドライバーインストール

ドライバーの C library for Broadcom BCM 2835 インストール.

サンプルコード

サンプルコードの取得

C言語サンプルコードのビルド

実行する



参考ビデオ

PIXEL (2) Setup publickey

経緯

今回は、Raspberry Pi (ハードウェア)ではなく、Raspberry OS(基本ソフト)の話。
PIXEL (Raspberry OS)は、USBメモリに書き込んで、古いi386のPCでも活用でするもの。
Raspberry Pi (ハードウェア)がなく(不足)でも、同じOS体験できるがねらい。
Raspberry OSで、Atomエディタの動作が確認したくで、しばらく放置のPIXELを再起動してみた。

sshしてみる

まず、セキュリティ対策のため、 SSHサーバ初期値はオフになっています。調べて、/boot/に、sshというファイルを作成することでsshサーバを起動時に立ち上げてくれます。
それからsshしてみる。

外部から、ssh してみたが、publickeyがいるようですね。
chen@raspberrypi:~ $ ssh pi@192.168.11.138
The authenticity of host ‘192.168.11.138 (192.168.11.138)’ can’t be established.
ECDSA key fingerprint is 91:dd:87:09:8d:f4:a7:d1:5e:99:58:86:d1:e2:c5:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.11.138’ (ECDSA) to the list of known hosts.
Permission denied (publickey).
chen@raspberrypi:~ $ ssh pi@192.168.11.138
Permission denied (publickey).

SSH 接続用の鍵ファイル作成

ssh-keygen -t rsa
を実行して下さい。以下のようなメッセージが表示されます。鍵ファイルを作成する場所を聞かれているだけなので、特に問題がなければエンターを押すだけで構いません。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
 この後、2回パスフレーズの入力が求められるので適当なパスフレーズを入力して下さい。このフレーズ自体はそれほど強固でなくても構いません。(このフレーズは忘れないでください)。
これで、/home/pi/.ssh/ ディレクトリに id_rsa(秘密鍵) と、 id_rsa.pub(公開鍵)が作成されます。
次は、作成された公開鍵を pi ユーザーの公開鍵として登録します。
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
 一方、秘密鍵(/home/pi/.ssh/id_rsa)の方は外部から Raspberry Pi にアクセスする際に利用するので、他のパソコンや USB メモリ等にコピーして下さい。この鍵はとても大切なので、絶対に第三者に漏れる事がないようにしてください。
あとは、念のため今までのファイルのアクセス権を pi ユーザーのみ読み書き出来るようにしておきます。

chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub

Clientにid_rsaをコピー

また外部からssh接続できないので、困るが、
内部から、他のPiにsftpして、 id_rsaをコピーする
ファイルは、.sshの下へ移動
root@raspberrypi:/home/chen# mv id_rsa .ssh/

sshしてみる

chen@raspberrypi:~ $ ssh pi@192.168.11.138
Enter passphrase for key ‘/home/chen/.ssh/id_rsa’:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi:~ $
ついに成功!

Onion Omega2+ (5) Motion Sensor

モーションセンサーに関して、適当なプログラムが見つからないので、下記のURLを参考しながら自作する!
https://docs.onion.io/omega2-docs/gpio-python-module.html
https://github.com/OnionIoT/onion-gpio-sysfs/
まずPython moduleのインストール
opkg update
opkg install python-light pyOnionGpio

プログラムはこちら

一応動作して、検出すると、LED点灯。
LEDをブザーに入れ替えると、検出すると、ブザー鳴る。Ctrl-Cで終了する。
しかし問題は、終了タイミングにより、GPIOが使用中のままになり、再度起動すると、異常終了になってしまう。
 

PIXEL (1) Raspberry Pi Desktop X86

PIXEL とは

Raspberry Pi Desktop X86は、PC用のオペレーティングシステムです。ラズベリーパイ用OSのRaspbianと同じ環境がx86 PCで動作します。

  • 2016年12月 : PIXEL v 1.1 Linux RaspberryPi 3.16.0-4
    PIXEL FOR PC 公開
  • 2017年 6月 : PIXEL v 1.3 Linux RaspberryPi 3.16.0-4
    RASPBERRY PI DESKTOP X86 DEBIAN8 JESSIE公開
  • 2017年11月 : PIXEL v 2.2 Linux RaspberryPi 4.9.0-4
    RASPBERRY PI DESKTOP X86 DEBIAN9 STRETCH公開
  • 2018-06-27 : Kernel version:4.9
    DEBIAN STRETCH WITH RASPBERRY PI DESKTOP

ダウンロード先は、こちらからも確認できます。

PIXEL FOR PCは、プロトタイプのライブCDということでしたが、古い x86 PCにインストールできました。今度の Raspberry Pi Desktop X86 は、PIXEL FOR PC の後継版のようでハードディスクにインストールできるようになりました。

公式サイトによると、PIXEL はPentium M メモリ512MBの「Think Pad X40」で動作可能と書かれています。

インストール

公式サイトからISOイメージをダウンロードして、Win32DiskImagerなどを使って、DVDやUSBやSDにイメージを書き込みます。

Win32DiskImagerとは

windowsではイメージファイルの書き込みが出来ない為、拡張子imgのファイルをSDカード等に書き込む際には専用のソフトをインストールしなければなりません。

しかし、あまりレジストリを汚したくない方はソフトのインストールに抵抗があるかと思います。
そういった場合にもWin32DiskImagerならZIP版を解凍すれば中のexeファイルから起動でき、インストーラーでのインストール無しで使用できますので私はこれを使っています。

Win32DiskImagerのダウンロード

下記ダウンロードサイトからダウンロードします。

Win32DiskImagerダウンロードページhttps://ja.osdn.net/projects/sfnet_win32diskimager/

Win32DiskImagerの使い方

Win32DiskImagerを起動します。

フォルダマークのボタンを押して読み込むimgファイルを選択し、その右側のインストール先のドライブを書き込むドライブ(マイクロSDカード等)に変更します。

imgファイルと書き込み先ドライブに間違いが無ければWriteをクリックします。

ブート

イメージを書き込んだUSBをPCに差し込んで、電源を投入します。持ちのPCに依りますが、BIOS設定画面を表示するために、[F2]または[ESC]キーを押します。

ラズパイのマークが表示されてブートがはじまります。しばらくすると、見慣れた Raspbian のデスクトップが表示されました。

最新に更新

最新に更新する
ネットワークに接続して、次のコマンドを入力して最新版に更新します。

# sudo apt-get update
# sudo apt-get dist-upgrade

Onion Omega2+ (4) DHT22 Sensor

温度と湿度を測るべく、DHT22 Sensorを導入

ファイルのダウンロード

Onion Omega2 と DHT22情報を検索すると、まず見つかったのは、onionのフォーラム
https://wiki.onion.io/Tutorials/PHP-DHT11-DHT22-Sensor-Examples
こちらからは、次のパッケージをダウンロードすると指示された。
https://community.onion.io/uploads/files/1450434316215-checkhumidity.tar.gz
しかし、下記のエラーでうまくいかない。

./checkHumidity: line 1: syntax error: unexpected “(” (expecting “)”)

こちらの記事は2016-03-16のもの、 ファイルはOmegaに対応する、Omega2に対応してない!こちらは同じ悩みの方ののデスカッションでした。
http://community.onion.io/topic/1390/dht11-22-checkhumidity-syntax-error
流れの中で、次のOmega2に対応するパッケージをダウンロードすると話があった。
https://dl.dropboxusercontent.com/u/11811685/checkHumidity.tar.gz
しかしリンク切れえ、作者に連絡してみたら、新しいリンクアドレスを教えてくれた。

GPIOの選択

GPIOどれか使うもちょっと手間がかかった、どれでもいいではない。(プログラムちゃんと設定してないかも)!
いくつGPIOを試して、GPIO19に落ち着いた。GPIO6は、対応しないみたい;GPIO18とGPIO19は対応するが、DHT22のデータはGPIO18、Vccは3.3に繋ぐとうまくいかない;最後にDHT22のデータはGPIO19、Vccは5.0に繋ぐとうまくいった!

root@Omega-6F83:~/checkHumidity/bin# /root/checkHumidity/bin/checkHumidity 6 DHT22
-255.000000
-255.000000
root@Omega-6F83:~/checkHumidity/bin# /root/checkHumidity/bin/checkHumidity 18 DHT22
0.000000
0.000000
root@Omega-6F83:~/checkHumidity/bin# /root/checkHumidity/bin/checkHumidity 19 DHT22
21.799999
24.500000

 
参考:

  • https://wiki.onion.io/Tutorials/PHP-DHT11-DHT22-Sensor-Examples

Digital Library for Private use