ラズベリーパイ故障

ラズベリーパイで音楽サーバーを立ち上げて、日々の在宅勤務中に好きな音楽を聴くようにしていたのだが、1週間ほど前に突然聴けなくなったのだ。moOde audioの画面は立ち上がって、NASから取得したライブラリも見えているのに、聴こうとするとエラーになる。
困ったと思いながらとりあえずはiPhoneとBlueToothスピーカーをペアリングしてiPhoneに入れてある音楽を聴いて過ごしたのだが、やはり色々と面倒があるので、音楽サーバーを復活すべく調査を開始したのだ。

どうやらmoOde audioを入れてあるRaspberry Pi Zero WH は正常に動作してるっぽい。そうするとNASとして利用しているRaspberry Pi 2Bが怪しい。WindowsPCから見てみると共有フォルダが見えなくなっていたのだ。さっそくSSHで接続して確認したら、やはりUSBドライブが見えない。「う~ん、こういう時はとりあえず再起動かな~」と思って、咄嗟にsudo rebootを打ったのだが・・・・
数分後、SSH接続しようとしても繋がらない。2Bはグランドピアノの下の床に転がしてあるので、見てみると赤く光っている。一応電源は入っているらしい。でも繋がらない。そうするとRaspberryPiの電源を抜き差ししなければならないのだが、グランドピアノの下にもぐる必要があり、結構面倒なのだ。でも仕方ないから抜き差しして、またSSH接続に挑戦。・・・ダメだ繋がらない。microSDカードを抜き差しして電源を入れてもダメ。SDカードが壊れたか、もしくはRasberryPi本体が壊れたかのどちらかだ。
とりあえずNASの故障ではないようなので一安心。NASだと様々なデータが全部消えてしまうし、復活させるには1万超えの資材を買い直す必要がある。。。

ということで、故障の可能性が高い(且つ、値段の安い)microSDの故障を疑って、新品のmicroSDを購入したのだ。
起動までのプロセスは以前に比べると格段に楽ちんになってる。

1.RaspberryPi Imagerをダウンロードしてインストール
2.RaspberryPi Imagerを起動して、microSDをフォーマット
3.RaspberryPi ImagerでmicroSDにRaspberry Pi OSのイメージを書き込む。このとき、SSH接続可にして、ホスト名を指定しておく。

さてさて、2BにmicroSDを入れて起動したら見事起動してSSH接続できたのだ。

あとはUSBにつないだHDDをマウントすれば良いはず・・・・と思ったけどその前にお約束というかおまじない。

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

sudo rpi-update
sudo reboot

sudo raspi-config

さて、USBにつないだHDDをマウントするにはどうしたら良いんだっけ???

Raspberry piをNAS兼音楽プレイヤーにする(NAS編)


このあたりを参考に

sudo lsblk
を実行してみたのだが、

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.9G 0 disk
mmcblk0 179:0 0 28.9G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 28.6G 0 part /

となって、どうやら2TのHDDを認識してないっぽい。


にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村

ラズベリーパイによる自作スマートリモコンシステムでやりたいこと

ラズベリーパイによる自宅サーバー構築の記事はこちら

自作スマートリモコンシステムなのだ。
スマートってのは賢いとかいかすという意味らしい。が、いかすって言葉自体がすでにいかしてない気がするのは気のせいだろうか・・・。

とりあえず、この記事ではやりたいことと実現方式を列挙しておいて、実現したらリンクを追加していこうと思う。
やりたいことが増えたときもここに追加するので、この記事は永遠に固定化できないかも。

やりたいこと

  • 外出先から自宅の室内温度を確認して、エアコンをON/OFFする
  • 室内温度に応じて、自動でエアコンをON/OFFする
  • 外出先から自宅の室内の明るさを確認して、照明をONする
  • 室内の明るさに応じて、自動で照明をONする
  • 室内温度が一定の値を超えたら、メール送信する
  • 一定時間以上温度計測ができない場合、メール送信する

うーん、やりたいことの前に、やりたい訳じゃないがラズベリーパイを使った赤外線学習リモコンを作らないといけない・・・

やらなきゃいけないこと

  • ラズベリーパイと赤外線モジュールを購入する
  • 学習リモコンを作る

にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村

ラズベリーパイを焼く(5)

ラズベリーパイを使って自宅内サーバーを構築するのだ。

購入したモノに関する記事はこちら

自分用に手順を記録しておくための記事なので、他の方がここを参考にして上手くいくかどうかは不明。もしこの通りにやって上手くいかなくても悪しからず。また、サーバー構築のゴールは特に決めてないのでこのシリーズが何回で終わるかも不明。

(前記事はこちら。)

6.リバースプロキシの構築
リバースプロキシって何?って場合は適当にググってほしいのだ。簡単に言えばサーバーへのアクセスを一旦別のサーバー(=プロキシサーバー)で受けて、プロキシサーバーから本来のサーバーにアクセスを転送する仕組みなのだ。そんなことをする主な目的は、本来のサーバーを隠蔽してセキュリティ確保するためだったりする。

6-1.外部からWEBカメラに接続する方式
今回は別記事にも書いた通り、スマホで宅内のWEBカメラの画像を見たいってのが目的の一つで、WEBカメラは犬用と猫用の2つがあるのでそれぞれを見られるようにする必要がある。2つのWEBカメラは当然ながら宅内LANで異なるIPアドレスが割り当てられている。WEBカメラAは192.168.100.201、WEBカメラBは192.168.100.202ってカンジ。
一方、自宅のインターネット接続はごく普通のプロバイダ契約なので動的IPアドレスが1個だけ割り当てられるのだ。

今までは2つのWEBカメラは異なるTCPポートで接続するように設定してあるのだ。WEBカメラAはTCP8001ポート、WEBカメラBはTCP8002ポートってなカンジで。外部からの接続はブロードバンドルーターの静的IPマスカレードの設定で実現してて、ルーターの外からTCP8001ポートに来たら192.168.100.201:8001へ転送し、TCP8002ポートに来たら192.168.100.202:8002へ転送するようにしてある。

2つのWEBカメラ

2つのWEBカメラ(旧)

6-2.Apacheでリバースプロキシ&バーチャルホスト
今回はラズベリーパイ上のApacheをリバースプロキシとして機能させることでインターネットと宅内LANからの接続をWEBカメラに転送するのだ。またせっかくApacheを使うので、2つのWEBカメラのTCPポートをわざわざ変えているのもやめて、ホスト名で2つのWEBカメラに接続できるようにするのだ。

2つのWEBカメラ

2つのWEBカメラ(新)


まずはApacheのインストール

sudo apt-get install apache2

初めてDebianのApacheをインストールしてみたんだけど、設定ファイルが見慣れない感じなのだ。今まで見たことがあるのはhttpd.confってやつ。でもってRaspbianのリバースプロキシとかバーチャルホストの設定ファイルは/etc/apache2/sites-availableにあるのだ。

cd /etc/apache2/sites-available
sudo cp 000-default.conf dog.example.jp.conf
sudo vi dog.example.jp.conf

設定ファイルはサイト単位で作るのがセオリーらしい。設定ファイルを開いたら次のような感じに定義するのだ。

  ServerName dog.example.jp
  ProxyPass / http://192.168.100.201/
  ProxyPassReverse / http://192.168.100.201/

設定ファイルを保存したらこのサイトを有効化する

sudo a2ensite dog.example.jp

同じように猫用のWEBカメラBの設定もする。

sudo cp 000-default.conf cat.example.jp.conf
sudo vi cat.example.jp.conf
  ServerName cat.example.jp
  ProxyPass / http://192.168.100.202/
  ProxyPassReverse / http://192.168.100.202/
sudo a2ensite cat.example.jp

リバースプロキシを有効にするには次のコマンドを実行するらしい。

sudo a2enmod proxy
sudo a2enmod proxy_http

そして設定を有効にするためにサービス再起動。

sudo service apache2 restart

6-3.設定確認
PCから設定を確認してみる。まだdog.example.jpだのcat.example.jpだのをDNSに設定してないので、hostsファイルに定義してPCのブラウザから接続してみるのだ。
hostsファイルに定義するのは次のエントリ

192.168.100.2 dog.example.jp
192.168.100.2 cat.example.jp

つまりどちらのホスト名もラズベリーパイのIPアドレスに接続するように設定するのだ。その状態でブラウザからhttp://dog.example.jpなんて感じに接続してみて、WEBカメラの画面が開ければOKなのだ。

7.DNSサーバーの構築
(次記事へ続く。)
にほんブログ村 その他日記ブログ その他40代男性日記へ
にほんブログ村


にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村

ラズベリーパイを焼く(4) ~サンバで踊る?

ラズベリーパイを使って自宅内サーバーを構築するのだ。

購入したモノに関する記事はこちら

自分用に手順を記録しておくための記事なので、他の方がここを参考にして上手くいくかどうかは不明。もしこの通りにやって上手くいかなくても悪しからず。また、サーバー構築のゴールは特に決めてないのでこのシリーズが何回で終わるかも不明。

(前記事はこちら。)

5.Sambaでファイルサーバー構築
宅内LANには既にファイルサーバーというかLinkStationがあるのだ。でももう10年程前に買ったモノで容量が120GBと今ドキのファイルサーバーとしてはあまり役に立たないカンジなので、1年程前から大容量のNASでも買おうかと迷っていた所だったのだ。とりあえず簡易的なNASで大容量ファイルサーバーを立てようとした記事はこちらなのだ。でもって少々本格的なNAS(?)としてLinux&Sambaでファイルサーバーを立てようってのがこの記事なのだ。
5-1.USBハードディスクの接続
まずはラズベリーパイにUSBハードディスクを接続して認識させないといけない。

sudo fdisk -l

このコマンドが何者なのかはLinuxコマンドを調べてほしい。
おそらくUSBハードディスクを接続する前にも一度このコマンドを実行しておいて、接続した後と何が違うのかを調べるとよく分かると思うのだが、ここでUSBハードディスクが/dev/sda1として認識されてることが分かったのだ。だから今度はこのディスクにアクセスするためのディレクトリを作成するのだ。

sudo mkdir /mnt/d
sudo mount /dev/sda1 /mnt/d

これで/mnt/dとしてUSBハードディスクの中身にアクセスできるようになるのだ。元々このUSBハードディスクはNTFSでフォーマットされててルートにShareというフォルダが作ってあったので、Shareフォルダの中は

/mnt/d/Share

でアクセスできるようになる。

5-2.Sambaのインストールと設定
インストールはこれで。

sudo apt-get install samba

設定はまずこれで、

sudo vi /etc/samba/smb.conf

設定ファイルを開いたら最初の方にある[global]の箇所には

unix charset = UTF-8
dos charset = CP932

を定義。と思ったけどこれって最初から書かれてたかも。
設定ファイルを少し下にスクロールしていくと[homes]ってのが現れるので次の設定が書かれた行を探してそれぞれの定義を変更する。

read only = no
create mask = 0664
directory mask = 0775

そして設定ファイルの末尾に次を追加するのだ。

[Share]
path = /mnt/d/Share
read only = No
browsable = Yes
guest ok = Yes
force user = pi

設定ファイルを保存して閉じたら、piユーザをSambaユーザーに追加する。

sudo smbpasswd -a pi
sudo service smbd restart

5-3.起動時にUSBハードディスクがマウントされるようにする
ここまでの設定でとりあえずラズベリーパイはファイルサーバーとして稼動するようになる。試しにPCのエクスプローラーを起動してアドレスバーに\\192.168.100.2\Shareと入力してみると、USBハードディスクのShareフォルダが開く。でもこの状態でラズベリーパイを再起動すると、Shareフォルダは開かなくなるのだ。なぜなら、USBハードディスクがラズベリーパイに認識されていないから。
fstabってファイルに定義すると起動時にデバイスを認識するようになるらしいので、その設定をするのだ。fstabにはUSBハードディスクのUUIDを記述するそうな。UUIDを調べるには次のコマンドを打つ。

sudo blkid /dev/sda1

UUID=”ABCD1234xxxxxxx”てな感じに表示されるのでそれをメモっておく。次にfstabファイルを編集する。

sudo vi /etc/fstab

fstabファイルが表示されるので、いくつか書かれているエントリの最終行に次を追加するのだ。

UUID=ABCD1234xxxxxxx /mnt/d ntfs defaults 0 0

6.リバースプロキシの構築
次記事へ続く。)
にほんブログ村 その他日記ブログ その他40代男性日記へ
にほんブログ村


にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村

ラズベリーパイを焼く(3) ~日本語化してリモートデスクトップ接続

ラズベリーパイを使って自宅内サーバーを構築するのだ。

購入したモノに関する記事はこちら

自分用に手順を記録しておくための記事なので、他の方がここを参考にして上手くいくかどうかは不明。もしこの通りにやって上手くいかなくても悪しからず。また、サーバー構築のゴールは特に決めてないのでこのシリーズが何回で終わるかも不明。

(前記事はこちら。)

3.日本語化
ラズベリーパイの起動用に構築しているOSのRaspbian(Jessie)は初期状態では日本語表示に対応してないのだ。だからまずは日本語対応の設定をするのだ。
3-1.ロケール設定
須藤コマンド(笑)で次の通り入力。 sudo dpkg-reconfigure locales
ロケールを選べるようになるので次の3つを選んで、

en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8

デフォルトロケールをja_JP.UTF-8 UTF-8にしてOK。
[wc_row][wc_column size=”one-half” position=”first”]

ロケール選択

ロケール選択


[/wc_column][wc_column size=”one-half” position=”last”]
デフォルトロケール

デフォルトロケール


[/wc_column][/wc_row]
3-2.日本語フォントをインストール
日本語フォントを入れるのだ。フォントは色々あるようなのだが、こちらのサイトに従って次の通りにインストールしてみた。

sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

再起動後にdateコマンドでも入力してみれば日本語表示できるはず。

4.リモートデスクトップ接続
4-1.xrdpのインストール
今回のラズベリーパイはサーバーとして構築するので、GUIでログオンする必要はないのかも~と思いつつも、リモートデスクトップをインストールしてみたのだ。sudo apt-get install xrdp
途中で「続けますか?」みたいなメッセージが出るのでYを入力。

4-2.日本語キーボードの設定
リモートデスクトップで接続したときのキーボードの設定をするのだ。イマイチ理解してないのだが、次のようなコマンドで良いらしい。

cd /etc/xrdp/
sudo wget http://w.vmeta.jp/temp/km-0411.ini
sudo /etc/init.d/xrdp restart

4-3.IMのインストール
IMとはInput Methodのこと。Raspbianで使えるIMはいくつかあるようなのだがここを参考にIBusをインストールすることにした。sudo apt-get install ibus-anthy

4-4.リモートデスクトップ接続
インストール・設定が終わったらPCのコマンドプロンプトでmstscを入力して「リモートデスクトップ接続」を起動するのだ。
[wc_row][wc_column size=”one-half” position=”first”]

リモートデスクトップ接続

リモートデスクトップ接続

[/wc_column][wc_column size=”one-half” position=”last”]
リモートデスクトップで接続

リモートデスクトップで接続

[/wc_column][/wc_row]
この通り、ラズベリーパイのデスクトップが出てきて、日本語で「ゴミ箱」なんて表示になってるのだ。Windowsだと「ごみ箱」なのにRaspbianだと「ゴミ箱」、MacOSでも「ゴミ箱」となってるみたい。でもネット検索すると「Mac OS Xでごみ箱の場所を教えて下さい」なんていう質問があったりして、「ごみ」か「ゴミ」かは意識されてないような気がする。
ひらがなかカナカナかは重要な問題だ!と思ってたけど、これこれみたいにいい加減な感ジに使ワレテルこともアルのだ。

4-5.IBusの設定
リモートデスクトップ上で「Menuボタン>設定>IBusの設定」をクリック。「IBusの設定」画面の「インプットメソッド」タブで「日本語 – Anthy」を選んで「追加」ボタンを押すのだ。

試しにMenuボタンの隣にある「Epiphanyウェブブラウザー」を立ち上げてアドレスバーのところに「ぐーぐる」などと入れてみれば、日本語入力できることが分かるはず。
ちなみにEpiphanyウェブブラウザーのアドレスバーに検索キーワードを入力するとDuckDuckGoという検索エンジンに飛ばされるようになってるようす。

5.Sambaでファイルサーバー構築
次記事へ続く。)
にほんブログ村 その他日記ブログ その他40代男性日記へ
にほんブログ村


にほんブログ村 その他日記ブログ 50代男性日記へ
にほんブログ村