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
 

C.H.I.P. (6) battery work

C.H.I.P. には、バッテリーの利用、充電機能がついてる。
使えるのは  Polymer Lithium Ion Battery、3.7V.
コネックタはちょっと特殊( jst ph 2-pin connector )だから、よくある買ったもの( JST XH2.54 2 Pin Connector)はそのまま使えない。
そこで、jst ph 2-pin connectorを購入して、変換することにした。

バッテリーを使う一番のメリットは、システム安定した。以前重い作業(updateとか)すると、よくフリーズする、ちょっと中国製もの遠慮勝ちになったが、バッテリーをつけると、フリーズすることがなくなた。問題は電源だね、ちょっと自信が取り戻した。

バッテリーの状態は、コマンドで確認できる。
root@chip:/home/chip# battery.sh
BAT_STATUS=0
CHARG_IND=1
BAT_EXIST=1
CHARGE_CTL=0xc9
CHARGE_CTL2=0x45
Battery voltage = 4143.7mV
Battery discharge current = 0mA
Battery charge current = 638.5mA
Internal temperature = 45.8c
そして、パーセント表示もできる。
chen@chip:~$ cat battery_perc.sh
date
REGB9H=i2cget -f -y 0 0x34 0xb9 # Read AXP209 register B9H
PERC_CHG=$(($REGB9H)) # convert to decimal
echo “Battery is at $PERC_CHG %”
chen@chip:~$
chen@chip:~$ sudo sh battery_perc.sh
Thu Sep 14 07:20:37 UTC 2017
Battery is at 99 %

モバイルでの処理速度のテスト結果を 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:~ $
ついに成功!

C.H.I.P. (5) Flash CHIP

C.H.I.P.は全部7台も購入した。
kickstandで2台購入し(Kernel 4.3)、getchipでその後追加5台追加した(Kernel 4.4)。
最初の2台は、特に問題なく使えたが、後追加5台は何と2台は使えない。
しばらく忙しいので倉入りでしたが、そろそろIoTに活用すると思って、リモート操作しやすいため、XRDPを入れると思って、エラーになって。
#apt-get update
これて改善すると思って、なぜかupdate中 いきなり電源オフ!!XRDP, git などインストールできないと、なにもできない状態!原因不明のまま、そのうち2台は使えない状態になった。
一台は、ブート途中で止まり、もう一台はどうしてもupdateできない。
getchipのサイトを見ながら、Flash CHIPすれば、改善する可能性があるから、その2台をFlashして見た。ついでに初期の2台を最新版の(Kernel 4.4)にアップする。
http://flash.getchip.com/
を見ながら、いろいろ苦労して、 re-flash CHIPができた。おもな問題はケーブル合わないと、Windowsでドライバーがうまくいかない。最終は特定にケーブルとiMacで作業成功。


それからブートも正常進行、apt-get updateも問題なく、upgradeが終わったら、debian 8.7 になった。

めでたく。

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が使用中のままになり、再度起動すると、異常終了になってしまう。