タグ:Linux
ラズベリーパイ(Raspberry Pi)をPCから遠隔操作する方法

食べ物ではありません。

 

ラズベリーパイ(Raspberry Pi)とは、5,000円程度で買える小型低価格のコンピュータのことです。ちょっと興味があって、とうとう購入してしまいました。

 

OSはLinuxベースの専用のものがあり、無償で入手できます。ディスプレイは7インチのベア品を安く入手しました。キーボード、マウスは通常のPCのものが使えます。

 

ということで、システムをインストールし、ようやく動くようになりました。

 

ノートPC(左)とラズベリーパイ(Raspberry Pi)(右上)

 

7インチディスプレイとラズベリーパイ(Raspberry Pi)

 

ひととおり動かせるようになり、やってみたいことがでてきました。

 

そのひとつが別のPCからの遠隔操作です。我が家は、宅内に無線LANを使用してPCなどを接続しています。この範囲のみですが、ひとまず実験してみました。

 

実施したことは、ひとことで言えば、(1) SSH接続、(2) VNCの設定と操作、です。ラズパイ側とPC側にそれぞれ設定が必要です。

 

やってみると、比較的簡単にできました。

 

VNCで接続し、ノートPC(左)でラズベリーパイ(Raspberry Pi)(右上)を操作中

 

また、このラズベリーパイ(Raspberry Pi)を宅内の離れた場所に設置し、Webカメラを接続して、PCで画像を確認する、といったこともできそうでした。

 

これについても実験してみました。

 

接続したWebカメラ(Elecom社製)

 

WebカメラはElecom社のUCAM-C0220FBNBKという市販品を使い、これをラズパイ側に認識させること、mjpg-streamerを導入し、ストリーミングサーバーを立ち上げ、ブラウザでカメラ画像を確認することなどです。

 

以上の実験の詳細は、PC体験記に載せましたので、よろしければごらん下さい。

 

 

PC体験記 - ラズベリーパイ(Raspberry Pi)関連

 

→ (1) Raspberry Pi2 をPCから操作する方法

 

→ (2) Raspberry Pi2に取り付けたWebカメラの画像をPCで確認する方法

 

 

まだまだできることはあると思われますが、ひとまず、初心者がこのラズベリーパイ(Raspberry Pi)を用いた実験を始めたということでご理解いただければ幸いです。

 

(2016-8-18)

 

 

 

Windows8.1とLinux(Fedora14)のデュアルブートをR52で

WindowsXPのサポート終了というのが話題になっている。OSを交換しないで、XPをそのまま使い続けていると、セキュリティー上の問題が生じて危険だという。

 

私がふだん使っているPC(ThinkPad R52)も、以前書いたノートPCをデュアルブートし、無線LANで使用する方法にしたがって、デュアルブートできるようになっており、そのデュアルブートの片方としてWindowsXPが搭載してあるのだが、この際、OSを入れ換えようとおもい、XPからWindows8.1にしてみようと決めた。

 

そこで、いろいろと調査してみた。そして、OS入れ替えを行なったので、その経緯を記しておく。

 

1. 現在のPCでWindows8.1が動作するかどうか

 

まずは、いま、使っているPCで、Windows8.1が動作するか、という点である。

 

調べたところ、PCは、PAE対応でなければならないとのこと。PAEとは、物理アドレス拡張(Physical Address Extention)のことで、2GBより大きなメモリを扱うときに必要とのこと。この点は、WindowsXP上で、コンピュータのアイコンからプロパティを確認すると、物理アドレス拡張と表示があった。まずはクリア。

 

次に、グラフィックが対応しているか、ということだったが、これに関しては、よくわからないままであった。とにかく、やってみるしかない。

 

2. ハードディスクのフォーマットで問題発生

 

と、いうことで、Sofmapにて、Windows8.1の32ビットDSP版を買い求め、ハードディスクにクリアインストールすることとした。

 

現在、ThinkPad R52に搭載されているハードディスクはIDEタイプの2.5インチのハードディスク120GBである。

 

このIDEタイプの2.5インチのハードディスク120GBをふたつ準備した。ひとつは、中古のPCから取り外したもの、もうひとつはいま使っているPC(ThinkPad R52)に搭載されているものである。

 

いま使っているハードディスクは、データなどはそのまま残して、ひとまず、PC本体から取り外した。1ヶ所ねじを外せば、比較的簡単に取り外せる。

 

もうひとつの中古PCから取り外したハードディスクは、必要なデータを別のストレージにコピーし、バックアップした。その後、PC(ThinkPad R52)に取り付けた。

 

そして、ツールにて、ハードディスク全体をフォーマットし、パーティションを作成し直す予定だったが、ここで、対応できないとの表示がでてしまった。

 

今回使ったツールは、LifeBoat社のLBパーティションワークスCD起動版2である。

 

考えられる原因としては、中古PCから取り外したハードディスクの一部がLVMとよばれる方式でフォーマットされており、この部分のパーティションをいじることができなかったようだ。

 

LVM(logical volume manager)というのは,複数のハード・ディスクやパーティションにまたがった記憶領域を一つの論理的なディスクとして扱うことができるディスク管理機能のこと。以前、使っていた中古PCに、Linuxでパーティションを作成したときに、このLVM形式でハードディスクにパーティションが作成されたためらしい。

 

3. OSのインストールとデュアルブートの設定

 

そこで、まず、Linuxを最初にインストールすることにした。インストール時に、パーティションの変更などできるはずだからである。

 

ThinPad R52はけっこう古いタイプのもので、無線LANのついていないタイプなので、外付けのUSBタイプの無線LANアダプタ装着が必要であった。US-nano2-Mを使用した。ただ、この無線LANアダプタをLinux上で動かすためには、LinuxのKernelバージョンに制限があることがわかっているため、今回はFedora14をインストールした。

 

インストール時に、ハードディスクのパーティションは、Windows8.1の領域を残して、LinuxのBoot領域、Linux本体の領域、swap領域、データ領域をそれぞれ確保し、Fedora14(Linux)をインストールした。

 

次に、Windows8.1のCD-ROMから起動して、Windows8.1用に残したハードディスクの領域に、Windows8.1をインストールした。

WIndows8.1のインストール時に注意することは、最初に、プロダクトキーの入力を求められることだ。これがどこに書いてあるのかわからないと、インストールすることができない。また、入力する文字を一文字でも間違えると、やはりインストールできない。プロダクトキーは、パッケージの外側に、ものすごく小さな文字で印字してあるシールに書いてある。本当に、むしめがねを使わないと文字が見えない、読めないくらいだった。

 

ThinPad R52は、2GBのメモリを搭載してあるが、インストールには50分くらい必要だった。

 

さて、その次に、デュアルブートするために、ハードディスクの先頭領域にブートマネジャーをインストールした。使ったのはMBM(マルチブートマネジャー、Multi Boot Manager)である。これは比較的簡単に行なうことができた。

 

MBMは、あらかじめインターネットのサイトhttp://elm-chan.org/fsw/mbm/mbm.htmlから
ブータブルCDのイメージファイルをダウンロードした。そして、展開し、CD-Rに焼いておき、Linux(Fedora14)およびWindows8.1をインストールした後に、MBMをCD-Rから起動し、ハードディスクにインストールするのである。

 

これで、デュアルブートは基本的に行える状態になった。

 

4. 無線LAN(WiFi)でインターネットへ接続

 

次にインターネットへの接続である。

 

Windows8.1のほうは、WLANアダプタUS-nano2-Mを自動認識した。

 

Linux(Fedora14)のほうは、チップセットに合わせたドライバーをダウンロードし、インストールする必要があった。インストールするためには、Kernelのアップデートと、開発モジュールと開発ツールのインストールが必要であり、このときは一時的に有線LANケーブルを接続し、作業を行なった。

 

Kernelのアップデートは、

 

$ su
# yum update
# exit

 

また、開発モジュールと開発ツールのインストールは、

 

$ su
# yum install kernel-devel
# yum install gcc
# exit

 

とすればできる。

 

WLANアダプタUS-nano2-Mは、Realtek社のチップセットRTL8188CUS/RTL8192CUを用いている。これに適したLinux用のドライバーは8192C_USB_Linux_driver(kernel_2.6.18~2.6.35用32bit版)で、

 

・ドライバー(ソースコード)
・ドキュメント
・WPA用ソフト

 

が同梱されているものを使用した。例えば、
http://www.wireless-driver.com/realtek-rtl8188cusrtl8192cu-wireless-linux-driver-ver201212/#down_link
からダウンロードできる。

 

ドキュメントに従って、

 

$ make
$ su
# makeinstall

 

などと操作を行ない、無線LANのドライバーソフトをインストールできた。

 

5. 必要なアップデートと、必要なソフトのインストールと、データの復元

 

さて、いったん、無線LAN経由でインターネット接続ができてしまえば、後は、LANケーブルは不要になる。

 

それぞれ、Windows8.1上と、Linux上で、必要なアップデートと、必要なソフトのインストールを行ない、以前の状態に近いところまで、もっていくことができた。

 

この作業前にデータなどはそのまま残してひとまずPC本体から取り外したハードディスクをもう一度、今度は外付けとして接続し、テータはそこからPC本体のハードディスクにコピーした。

 

以上が、PC(ThinkPad R52)をWindows8.1とLinux(Fedora14)のデュアルブート、無線LAN接続にしたときの経緯である。

 

6. Windows8.1に入れ替えた後に発生した問題点と当面の対策

 

WindowsXPをWindows8.1に入れ替えすることは、それほどむずかしくはなかった。ただ、Windows8.1にしてみて、ひとつ困ったことは、使えないソフトがでてきてしまったことである。

 

WindowsXPでは正常に動作していたスキャナー(Canon FB330P)のソフトが、Windows8.1では動作しなくなった。このスキャナーのインターフェースはパラレルインターフェース(ECP)なのだが、もはや、Windows8.1ではこのインターフェースをサポートしないということなのか。メーカーのホームページにも、WindowsXPまでのものしかドライバーソフトがなかった。

 

いまどき、パラレルインターフェースを持っているPCはないのかもしれない.....。

 

とりあえず、スキャナーを使う必要があるときには、以前取り外したハードディスクをもう一度、PC本体に挿入し、つまり、ハードディスクを入れ替えて、WindowsXPを動作させることとした。もちろん、この場合は、無線LANアダプタは外して行なうことにする.....。

 

やってみると、おもいがけない問題がでてくるものである。LVMの対応、無線LANアダプタのバージョン制限、Windows8.1にして動かなくなったハードウェア、さて、次はどんな問題がでてくるのたろうか。

 

(2014-04-26)

 

液晶テレビに接続したUSBハードディスクの故障と対策

我が家の居間には、37型の液晶テレビ(東芝レグザREGZA)がおいてあり、そこに、USBハードディスクが接続されている。

 

いつもは、テレビ番組を録画して、時間の余裕のあるときに再生などをしている。もっとも、使用するのは私自身ではなく、専ら家族たちである。

 

先日も、ふつうに録画した番組を見ていたのだが、突然、「これなあに? どうなってるの?」との大声。

 

呼ばれて行ってみると、テレビの画面には、

「未登録のUSBハードディスクを検出しました。USBハードディスクの登録を行いますか?」

という表示がでており、

ここで「はい」を押すと、

「登録を行うために、初期化を行います。このUSBハードディスクの内容はすべて消去されます。よろしいですか?」
との表示になった。

 

もちろん「よろしい」わけはない。

そのハードディスクには、採り貯めた「まだ見ていない」番組のデータファイルがあるのだ。

 

いつもは、リモコンの録画リストというボタンを押すと、録画された番組の一覧が表示されるのだが、今回は、「未登録のUSBハードディスクを検出しました。.....」の表示になっている。

 

そこで、取扱説明書を見ながら、USBハードディスクの設定なるものをトライしてみた。
だが、いっこうに元にもどらない。

 

これは、もしかしたら、ハードディスクの故障かもとおもい、
テレビから取り外し、パソコン(PC)に接続して確認することにした。

 

Windowsでは、xfs形式のファイルは認識できないため、LinuxOS(Fedora)のPCに接続してみた。

自動的にマウントされ、USBディスクのプロパティを見ると、録画したUSBハードディスクは、1TBの容量で、ほぼ99%が使用済みの状態が確認できた。

 

いったん、アンマウントし、ファイルのチェックを行なった。

 

# umount /dev/sdb1

# xfs_check /dev/sdb1

.

can't read block 8388608 for directory inode 128

dir ino 128 missing leaf entry for 165273d8/bd8

.

block 0/7630956 type unknown not expected

sb_fdblocks 2747039, counted 2651561

 

次に、修復できるかを行なってみた。

 

# xfs_repair -Lv /dev/sdb1

Phase 1 - find and verify superblock...

superblock read failed, offset 0, size 524288, ag 0, rval -1

.

fatal error -- 入力/出力エラーです

 

との表示がでて、終了した。

 

本来、正常であれば、Phase 2, Phase 3, ... といけるはずなのに、それができなかった。

 

そこで、強制的にマウントし、ファイルのリストがでてくるかを確認した。

 

# mkdir ../../test1

# mount -t xfs /dev/sdb1 /test1 -o ro,norecovery

# xfs_logprint /dev/sdb1

xfs_logprint:

data device: 0x811

log device: 0x811 daddr: 976762528 length: 262144

Header 0x93 wanted 0xfeedbabe


**********************************************************************

* ERROR: header cycle=147 block=42066 *


**********************************************************************

Bad log record header

 

やはり、だめか。次に、強制的にファイルの表示をやってみた。

 

# cd /test1

# ls -al

ls: cannot access .toshibazze89d874cd80a: 入力/出力エラーです

ls: cannot access .toshiba_size_info_e89d874cd80a: 入力/出力エラーです

ls: cannot access M000020100220034450e89d874cd80a.dtv.meta: 入力/出力エラーです

ls: cannot access M000020131029154951e89d874cd80a.dtv: 入力/出力エラーです

ls: cannot access M000020130514205951e89d874cd80a.dtv.meta: 入力/出力エラーです

ls: cannot access .toshiba_dir_info_e89d874cd80a: 入力/出力エラーです

.

.

 

ここでお分かりのように、ハードディスクのヘッダーの一部が読み込みできない状態になっていたのであった。

 

おそらく、これはもう、USBハードディスクの摩耗故障で、寿命だ、と判断した。

 

ちょうど、WindowsでいうところのFAT(File Allocation Table)が壊れている状態なのだろう。

 

残念だが、ここまでくると、あきらめるしかない。

 

次の日には、新しいUSBハードディスクを買いに、家電量販店まで足を伸ばしたのであった。

そして、すぐに接続し登録して、新たに録画ができるようにしたのであった。

 

(2013-11-10)

 

 

なお、参考にさせていただいたサイトは次のとおりです。

 

レグザ USBハードディスクの傾向と対策

http://regza2000.bbs.fc2.com/?act=reply&tid=4056693

 

「HDD認識しない」パソコンでレグザUSBハードディスクを復旧・修復 - レグザREGZA研究

http://www.4682.info/repair

 

 

 

 

U160DXでFedora17とWindows7をデュアルブートで使用するPCの設定

 

1. はじめに

 

これまで使用していたネットブックのCartina UM が、どうも使いずらくなった。発端は、ディスプレイの開閉でふたつある蝶番のうち、ひとつが破損したことにあった。止めてあるネジが緩み、プラスチックの一部が破損したのである。

 

いちどは裏蓋のネジを外して、内部の様子を見てみたが、とても直せそうにない。しかたなく、ネジを締め直して、もとにもどしたものの、今度は無線LANの受信感度がどうも良くない。基板に損傷が起きたのではないかとおもわれたのである。また、冷却ファンのモーターが異音を発するようになった。

 

いま入れてあるOSは、Fedora11で、PC自体はおよそ三年前に購入したものであるが、まだまだ使えるとおもいながら、使うたびに、無線LANの感度に悩まされるようになった。

 

そこで、この際、新機種に乗り換えることにした。いろいろと探してみたところ、秋葉原の家電量販店で、たまたま、MSI社のU160DXという機種のネットブックがアウトレットで23,800円で売られているのを見つけた。そして、直ぐに購入したのであった。

 

ここでは、Cartina UM からMSI U160DXにネットブックPCの乗り換え(データ移行)を行い、デュアルブートの環境を構築したので、それについて書いてみようとおもう。

 

2. MSI社のネットブックU160DX

 

U160DXは、Intel Atom N455というCPUでハードディスク容量が320GBのものだった。メモリは、1GBだったが、2GBまで増やせるということで、2GBのDDR3のタイプも同時に購入した。

 

そして、OSは、もともとインストールされていたのが、Windows7 Starter だったが、LinuxのFedoraとデュアルブートさせようと考えた。どうも、Linuxのほうが使いやすいからであった。

 

まずは、ハードディスクを交換しようと考えたが、U160DXでは、なかなか簡単にいきそうもなかったので、今回は見送った。

メモリの交換は簡単にできた。裏蓋の一部を外して、搭載されている1GBのメモリを2GBのメモリと入れ替えるだけであった。メモリのスロットは一個しかないので、メモリ増設は交換のみである。

 

3. ハードディスクの構成とデュアルブートのための準備

 

次に、ハードディスクの中味を調査した。このために、USBタイプのDVD/CDマルチドライブを外付けし、このドライブから、ツールを起動させた。使ったツールは、LifeBoat社の「LBパーティションワークスCD起動版2」である。

 

U160DXを購入したときの状態では、ハードティスクは次の4つのパーティションに区分されていた。

 

1. リカバリ用のデイスク領域(RCVR)-約4GB (NTFS)

2. Windows7の起動システム領域(SYSTEM)-約100MB (NTFS)

3. Windows7の本体、システム(OS_Install)-約170GB (NTFS)

4. データ領域(DATA)-約120GB (NTFS)

 

おおよそ、こんな感じであった。いずれも基本パーティションとなっている。そして、通常の使い方では、スイッチを入れると自動的に2の状態を経由し、3の状態のWindows7 Starterが立ち上がるしくみになっている。

 

さて、いろいろと試行錯誤した結果、上記の2-4の領域をフォーマットし、サイズも変更することとした。Windowsはリカバリ領域に入っているWindows7 Starterをそのまま再インストールして使用することとし、LinuxはFedoraの最新ディストリビューションであるFedora17をインストールすることにした。また、PCの起動には、「マルチブートマネジャー MBM (Multi Boot Manager)」を用いることとした。

 

最初に、MBMのシステムのISOファイルをダウンロードし、CD-Rを作成した。


http://elm-chan.org/fsw/mbm/mbm039.iso.gz

 

その次に、 Fedora17 のISOファイル(約680MB)をダウンロードし、CD-Rを作成した。

→ 
http://download.fedoraproject.org/pub/fedora/linux/releases/17/Live/x86_64/Fedora-17-x86_64-Live-Desktop.iso

 

上記のパーティション作成ツールを使い、あらかじめ、2、3の領域を削除し、4のデータ領域のサイズを変更した後に、削除した領域をほぼ半分ずつに分けて、Linux以外の領域をフォーマットした。

 

次に、Windows7のインストールを領域1を起動させて行い、領域2にWindows7の本体システムをインストールした。これは、MBMを起動させて、領域1を起動することによってできる。

さらに、次に、未フォーマットの領域3にFedora17をディスクからインストールした。もちろん、この操作は、外付けのドライブから起動させての操作である。この場合の注意点として、Fedora17の起動に必要なブートローダー(GRUB)のインストール位置は、論理パーティションである領域3の先頭にすべきであって、ハードディスクの先頭にはしないことである。ハードディスクの先頭にインストールしてしまうと、MBMが使えなくなるという不都合が起きる可能性があるためである。

 

そして、MBMを外付けDVD/CDディスクドライブから起動し、ハードディスクへのインストールを行う。

 

 

最終的に、ハードディスクの中は、次のようなパーティションができる。

 

1. リカバリ用のデイスク領域(RCVR)-約4GB (ここは変更しない) (NTFS)

2. Windows7の本体、システム(OS_Install)-約80GB (NTFS)

3. 論理ドライブ -約80GB (LVM)

-- 3-1. Fedora17のBOOT領域 (EXT3)

-- 3-2. Fedora17の本体 (LVM)

-- 3-3. SWAP領域 (SWAP)

4. データ領域(DATA)-約120GB (FAT32)

 

データ領域は、Windows7とFedora17の両方から参照できるように、フォーマットはFAT32形式とした。

 

 

この構成で、起動にMBMを使って、デュアルブートの環境ができたのであった。上記の「2」と「3-1」を起動時に選択する。

 

ひとまず、現在はこの環境で問題なく動作できている。

 

4. 無線LANのドライバ

 

今回の移行で、一番、懸念した点は、Linuxで無線LANが使えるかどうかであった。しかし、Fedora17には標準でドライバが装備されているらしく、特にわざわざドライバをインストールしなくても無線LANが認識された。Windows7では、もちろんその問題はなかったので、これで、Windows/Linuxどちらの環境でも無線LANが使えるということができることとなった。

 

5. 最後に

 

データに関しては、バックアップしておいた外付けハードディスクから、内蔵ハードディスクのデータ領域に必要なデータをコピーすることで、特に大きな問題はなかった。また、 Dropbox をインストールしたので、これまで使用していたPCで使っていたクラウド上に保存してあるデータも同期させることができ、PCの乗り換えにあたっても問題はほとんど生じなかった。唯一、Dropbox設定直後のフォルダの同期に多少時間がかかったくらいで、これはデータの量を考えれば、妥当かなとおもえる。

 

 

(注意事項)

 

以上が、Cartina UM から U160DX への乗り換えの顛末となります。なんらかの参考になれば幸いです。ただし、ここに述べた操作は、筆者の経験をもとに記述したものであり、この記事の内容を適用したことによるいかなる結果にも筆者は一切の責任を負いかねますのでご了承ください。あくまでもPCの改造は自己責任で行って下さい。

 

(2012-7-15)

 

アクセスカウンタの設置方法

お気づきの方もおられると思うが、実は、いままで使用させていただいたアクセスカウンタが11月から使えなくなってしまった。このサイトでは、右下のほうに、

あなたは?????人目のお客様です。

ご訪問ありがとうございます。

また、いらして下さいね。

と表示しているそれである。

 

どうも、使用していた無料サーバーのドメインが消滅してしまったらしい。なので、せっかくこのサイトを訪問していただいても、そこで、読み込みか゛止まってしまうという弊害が起こっていたようである。

 

これに気がついてから、しばらくは、表示なしで運用させてもらったものの、どうも気になってしかたがない。

 

そこで、ホームページでのアクセスカウンタの表示方法を調べてみることとした。といっても、なにしろ、プログラミングには不慣れであって、なかなか、これといったものはすぐに見つけることはできなかった。

 

ようやく、あるところで、表示のアルゴリズムを説明してあるのを見つけた。

それを採用したのが、現在のページでの表示となっている。

 

簡単に説明すると、まず、次のような counter.php というファイルを準備する。

 

<?php

# file open as read-write mode

$handle = fopen("counter.txt","r+");

# file lock

flock($handle,LOCK_EX);

# read 1 line of file

$counter = fgets($handle);

# count up

$counter = $counter +1;

# file pointer to head

fseek($handle,0);

# output to file

fwrite($handle,$counter);

# release file lock

flock($handle,LOCK_UN);

# file close

fclose($handle);

echo $counter;

?>

 

また、counter.txt というファイルにはカウンタの初期値となる数字を記入しておく。

 

本文のhtmlの部分に、

 

<script type="text/javascript" src="counter.php">

<iframe src="counter.txt" height=25 width=55 frameborder=0 ><⁄iframe>

 

というような記述を行なう。

 

これで、とりあえず、アクセスカウンタを表示することができた。

 

しかし、ここで、問題発生である。

 

私は、LinuxでブラウザにFirefoxを使用している。これだと、表示はちゃんとできた。携帯電話でも、ひとまず数字の表示はできた。しかし、WindowsのInternet Explorerでは、うまく表示ができていないことがしばらくしてわかったのだ。

 

原因は、どうもiframeというコマンドの使い方にあるらしい。使用するブラウザによって、表示されるエリアが異なるようなのである。

 

というわけで、ひとまず、今回の記事は終わりとする。いまのところ、うまい解決方法が見つからないのである。

 

(2011-12-28)

 

 

P.S.

もしも、良い方法があれば試してみたいとおもっています。
ご存じの方のコメントをお待ちしています。

私も使用していますが、PHPについては以下がとても参考になります。

 

[PR]

学生のためのPHP言語 ─基礎からウェブシステムまで

つくって覚えるPHP入門

私の「PC体験記」は、こちらでご紹介しています。
↓↓↓

Footprint Annex -- PC体験記 --