Web サーバーとしてお馴染みのApacheではなく軽くて多機能なlighttpdをインストールする

組み込み用途の用途限定であり、RasPi2Bの性能ならApacheでも問題無いと思われますが使い慣れたLighttpdを今回も採用しました。 まずインストールしておきます。 後程必要に応じて /etc/lighttpd/lighttpd.conf をいじる必要が有るかも知れませんが、先ずはLocalの固定IPをブラウザーでアクセスしDefaultで用意されたたページ(/var/www/html/index.lighttpd.html )が表示されればOKです。 lighttpdtop 次に自分のTop画面(index.html)を用意してPlaceholderに書いてある指示通りセットします。今回はシンプルにTopページを見せるだけなので初期設定から手を入れたのは以下のindex.htmlの入れ替えのみです。

home directoryの設定 /etc/lighttpd/lighttpd.conf

placeholderは /var/www/html/index.lighttpd.htmlに置かれています。これを → /var/www/index.html に変更します。 /etc/lighttpd/lighttpd.confが設定ファイルです。エディターでこれを開き以下を編集しました。server.document-rootは/var/www/htmlとなっていましたが、前作の4ch版と整合させる意味もあって直接以下の通り/var/wwwに修正しています。あとはWebページに必要な諸ファイルをwww以下にアップロードします。 lighttpdconfafter  

Web関係のファイルのアップロード

第一のトラブル /var/www以下へアップロードでトラブル発生。 FileZillaでsftpしようとしてrootでログインを試みましたがはじかれてしまいます。どうやらOpenSSHではrootでのリモートログインを許さない設定のようです。確かにrootで入れるのもどうかなと思い設定は変更しませんでした。このためpiで入っていったん/home/pi以下に転送することにしました。 先ずは /home/pi/adcを今回作りました。これからこのadcディレクトリーをセンサーボードの制御コードの置き場所にします。仮にここをファイル転送の中継場所にしました。 第2のトラブル 今度はこの/home/pi/adc以下へアップロードが出来ません。いったんテラタームを立ち上げadcのパーミッションを調べるとオーナーがrootでした。chownを使ってオーナーをpiに書き換えて無事FileZillaでアップロード。チョット手間取りましたが、コマンドラインからWebに必要なHTML,CSS,画像を/var/www以下へようやく転送できました。 move2www   PCのブラウザーからlocal IPをアクセスすると無事自分のTopページ(以下スクリーン)に書き変わっています。今後はこれにCSVファイルのテーブル表示や、データーのグラフ表示のJavascriptを組み込んで行きます。 webpage8ch  

自動でSLEEPに入らないようにする

前回5回目で書き忘れたのですが、起動後何も特別な設定をしないと、一定時間後にSleepに入るようになっています。遠隔地に設置したり組み込みやサーバーで使うには具合が悪いですね。SSHも受け付けなくなるみたいです。ネットで検索してみたところ対策がいくつか見つかりました。 中からXサーバーを自動起動している場合に適用できる対策として、 最終的に”YUJimny”さんのhttp://d.hatena.ne.jp/yujimny/20150318/1426672867を参考に設定を使わせていただきました。 1.rootディレクトリー直下に.xinitrcを作成し内容は、 2.こんどは/etc/lightdm/lightdm.confに以下の修正。 「xserver-command=X」を見つけて、「xserver-command=X -s 0 -dpms」に変更。 終わったらリブートしてSleepしない事を確認。 .htaccessはWEBをいじる人にはお馴染みかも知れませんが、.xxxxと言うファイルはシステムの隠しファイルです。WindowsのEditorでファイルを作ってftpとかでアップロードした場合は.xinitrc.txtとかになっていないか注意してください。 私の場合はPiユーザーでreed writeのみOKなパーミッションで作ってそのままなのですが問題無く動作しています。

Watchdog Timerも設定しておこう

マイコンで組み込みシステムを構築された経験が有る方にはお馴染みでしょうが番犬タイマーをセットしておきます。 ラズパイに使われているARMマイコンにもこのWatchDogタイマーが内蔵されています。詳しくはネット検索で調べていただくとして、簡単に言うと何かの拍子にラズパイのソフトウエアが暴走してしまったら、ハードウエアが監視していて一定時間(Defaultでは10秒らしい)後にシステムを自動でリブートしてくれる機能です。 この設定方法をわかりやすく解説しているBLOGエコな毎日さんを見つけ、使わせていただきました。 ターミナルから以下の設定をします。 1.まずWatchdogタイマーを使うためのソフトウエアを導入し、イネーブルします。ハードウエアを直接叩く動作なのでmodprobeコマンドでカーネルモジュールをロードします。 2. 次にコンフィグファイルを開き、 コメントアウトされていた [#watchdog-device = /dev/watchdog] のコメントを外します。 3. 次に同じく/etc配下のdefaultにある、 モジュール名を、[watchdog_module=”none”] -> [watchdog_module=”bcm2708_wdog”]に変更します。 ここで一度再起動しておくことをおすすめします。 4. Watchdogを起動します。 5. 確認方法 以下の入力をしてみる事で強制的にソフトウエアの暴走を起こせます。 ターミナルの色々メッセージが出た後ハングすると思います。大体10秒くらいでラズパイがRebootしたらWatchdog機能はOKです。   さて、前半のRasPiの準備立ち上げは一旦ここで終了します。これからは8ch ADCセンサー基板の準備に入ります。4ch版の回路設計を基本に、8chへの拡張と回路修正を解説します。それから基板制御とデーター処理のCコードを解説しながらデバック作業に入ります。 次回第7回は、8ch ADCセンサー基板の設計です。