Ubuntu Core2Duoノート UVCウェブカムで防犯カメラ

ウェブカムで防犯カメラ
手持ちの古いノートパソコンとウェブカムを使い店内防犯カメラ的な事をします。暗視カメラ機能があればもっと可能性が広がりますが、店内カメラとして使うのであればかなり重宝します。
参考までにスペックです。
Dell Vostro 1500 Intel Core 2 Duo/DDR2・4GB/SATA40GBクラシカルディスク(SSDではなし)
Buffalo BSWHD06MウェブカムはUVCに対応していると認識に躓きません。

OS:Ubuntu Desktop 22.4.2
Apps: mjpg-streamer
Network: WIFI(中継器から2m以内に設置でノート付属のWIFIアダプタ使用)FPS・フレームレートが著しく低い様でしたら有線かUSBWIFIアダプタの使用をオススメします。
ノートPCは可能ならばCD・DVDは外した方が起動時間がマシでした。
Ubuntu Desktopをインストールしたところからのスタートですが、自動ログインは有効にしておいてください。またインストール時に入力した「コンピュータネーム」が必要です。

USBの認識状態を確認します

$ sudo lsusb
手持ちのウェブカムがリスト入りしていればとりあえずはOKと判断
opensshをインストールしてWindowsからリモートで操作します
$ sudo apt update
$ sudo apt install openssh-server
rootでのログインを防ぐ←セキュリティ的にマシ(FTPを使っていた頃にハッキングを受けた経験があります。当時はrootでのログインを許可していたため壊滅的な被害を受けました)
$ sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password←”#”コメントアウト
ssh自動起動設定と起動
$ sudo systemctl enable ssh
$ sudo systemctl start ssh

ここからWindowsからリモートでdell Vostro 1500 にログイン

ssh ユーザー名@コンピュータネーム
mjpg-streamerのインストールに必要なアプリ等をインストールします。
$ sudo apt-get update
$ sudo apt-get install -y subversion libjpeg-dev imagemagick
$ sudo apt-get install -y cmake libv4l-dev
mjpg-streamerを/home/ユーザー名/配下にインストール。
$ sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make
$ sudo make install
起動スクリプトをmjpg-streamer-experimentalディレクトリに作成
$ sudo vim mjpg-start.sh

以下をコピペ

!/bin/shPORT=”8090″ #使用ポート
ID=”user” #ID
PW=”password” #パスワード
SIZE=”640×360″ #サイズ指定でHDやSXGA表記可
FRAMERATE=”10″ #​1秒あたりのフレームレート
export LD_LIBRARY_PATH=/usr/local/lib
./mjpg_streamer \
-i “input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -n” \
-o “output_http.so -w /usr/local/share/mjpg-streamer/www -p $PORT -c $ID:$PW”
ここまで

スクリプトの中に「./mjpg_streamer」という記述があります。mjpg-streamer/mjpg-streamer-experimentalのディレクトリ以外では起動できないので注意(他で使う場合は親ディレクトリからの記述が必要)。また当然ながらID・PWは適宜変更してください。
とりあえず起動
$ sudo sh mjpg-start.sh
ErrorがでてなければOKとします。
自機からならhttp://localhost:8090にアクセス。
リモートなら当該コンピュータネームhttp://コンピュータネーム:8090で
ネームサービスが動いてない場合は、net-toolsとnetworkmanagerをaptで入れてみて下さい。
余談ですがip6に置き換わっているのでネームサービスがかなり使える様になってます。
ip4を使い慣れていた私にとってはまるで魔法のようです。
確認が終わったら停めます
Ctrl+c

自動起動設定用のサービススクリプト作成
dell Vostro 1500は障害発生時以外はメンテナンス要らずにしたいので自動起動にします。
$ sudo vim /etc/systemd/system/mjpg_streamer.service

ここからコピペ
[Unit]
Description=WebIOPI
After=syslog.target
[Service]
Type=simple
WorkingDirectory=/home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/
ExecStart=/home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/mjpg-start.sh
TimeoutStopSec=5
StandardOutput=null
[Install]
WantedBy = multi-user.target
ここまで

→環境に合わせて書き換える必要があります。
元スクリプトの権限をサービス起動可能な権限に変更←mjpg_streamer.serviceは権限変更しません
$ sudo chmod 744 /home/ユーザー名/mjpg-streamer/mjpg-streamer-experimental/mjpg-start.sh
サービスをスタート
$ sudo systemctl start mjpg_streamer
サービスの状態を確認
$ sudo systemctl status mjpg_streamer
自動起動の有効化
$ sudo systemctl enable mjpg_streamer
必要に応じてログを確認
$ sudo less /var/log/syslog

ノートパソコンの蓋を閉じても電源休止状態(suspend)にならないようにします。
$ sudo vi /etc/systemd/logind.conf
HandleLidSwitch=ignoreを最終行に追加
当該サービスの再起動
$ sudo systemctl restart systemd-logind.service
PC再起動
$ sudo restart
余っている部品とアクリル板で防犯カメラ用のPCを増やしています。

大きい容量のHDDの中身を小さいSSDにClonezilla!

ハードディスクから、より小さい容量のSSDにクローンする方法

私も色々調べたのですが、しっかり書いてくれているサイトがないので備忘録もかねて記事にしてみます。今回の作業は最悪起動しなくなる設定も含まれていますので、作業の際はよく検討されてから自己責任の下で行ってください。(質問があればお答えできる範囲でお答えします。)

今回のお相手は320GBのSATAHDD(中でカリカリ云うあのディスクです)。これをお値段がお手頃な120GBのSSDにします。320GBHDD→120GBSSD

大まかな流れ:
①現ディスクの回復パーティションを削除
②C:ドライブの圧縮・縮小
③パーティションテーブルのクローニング(複製)
④Clonezillaで実際にパーティションをコピー
⑤BOOTとC:¥/WindowsドライブをSSDギリギリいっぱいまで広げる
⑥BCD(Boot Configuration Data)を再構築

環境によっては①⑤⑥はスキップできます。

材料:
Clonezilla・Gparted・Rufus・USBメモリ(1GB以上)・SSD-120GB・Windows10ブートディスク

⓪現在のディスク構成を確認!
今回確認すべきなのは以下:
A.ディスクレーベルタイプがGPTなのかDOSなのか(のちほど確認します)
B.パーティションは何個あるのか
C.回復パーティションがあるか

320GBから120GBに容量を下げるとなると最低限必要なパーティションだけにしてしまう線引きが大事になってきます。決断が大事!私は回復パーティションを諦めました。なぜか判りませんが今回は回復パーティションが2個(合計6.7GBほど)ありましたので躊躇なく削除します。

–WinRE回復6GB–|–BOOT/NTFS200MB–|–C:\/Windows310GB–|–回復700MB–

こんな感じだったと思います。

①回復パーティションの削除←ない場合は飛ばしましょう
管理者権限でCMD
diskpart
list disk
select disk 0
list partition
select partition 4 (list partition で回復パーティション番号を参照)
delete partition override

ここで私は心配なので再起動しました。

もう一度管理者権限でCMD
diskpart
list disk
select disk 0
list partition
select partition 1 (list partition で回復パーティション番号を参照)
delete partition override

ここでも私は心配なので再起動しました。というわけで

|–6GB空–|–BOOT/NTFS200MB–|–C:/WinNTFS310GB–|–700MB空–|

こうなりました。

ClonezillaのBootディスクUSBを作っておきます。
http://clonezilla.org/downloads/download.php?branch=stable
RufusでUSBに焼き付けますのでダウンロードが必要です。
https://rufus.ie/ja/
あとは環境に合わせて(MBR・GPT・UEFIなど)、Googleで調べてもらったら結構作り方出てきます。

②「C:」Windowsの格納パーティションを圧縮・縮小←とりあえず「C:」(必要ならば拡張パーティションも)だけです。他のパーティションは一切触らない様にしてください。

ここで電卓を叩きます。

|–6GB空–|–BOOT/NTFS200MB–|–C:/WinNTFS310GB–|–700MB空–|

左から足していったら、このディスクは全部で316.9GBになります。Clonezillaを起動してコンソール・SHELLに入りUSB経由でSSDを挿して正確な容量を確認します。
Linuxでは内蔵ディスクを/dev/sda・USBを/dev/sdb・USB2を/dev/sdcなどとなります。
今回クローン元をsda・クローン先をsdcとします。

sudo su

fdisk -l /dev/sdc クローン先の容量確認です。私のSSDディスクは115GBほどでした。

こちらに中古SSDなどでパーティションテーブルが残っている場合は削除する必要があります。
テーブルの削除はfdiskの対話モードが便利です。詳細はググって下さい。
ついでに、

fdisk -l /dev/sda クローン元の容量確認。今回のお相手ディスクはDOS(GPTではない)パーティションでした。ここでGPTと出た方はさらに検索が必要です。この記事は参考程度にしておいてください。

というわけで再起動してWindowsに戻り、エクスプローラから「PC」(マイコンピュータ)を右クリックし、「管理」を選択「コンピュータの管理」から「ディスクの管理」を左クリック「C:」を右クリックし、「ボリュームの縮小」「C:ドライブ」Windows格納パーティションを210GBほど減らし、100GBにします。(Gpartedなどのツールを使って縮小しても大丈夫です)

|–6GB空–|–BOOT/NTFS200MB–|–C:/WinNTFS100GB–|–210.7GB空–|

左から足していったら、このディスクは全部で106.2GB(一番右の210.7GB空を除く)になります。実際のSSDの容量(115GB)より小さく設定しておきます(あとで拡大します)。

③パーティションテーブルをコピー
Clonezillaを起動してコンソール・SHELLに入り

sudo su

dd if=/dev/sda of=/dev/sdc bs=512 count=1

これでディスクとSSDのパーティションテーブルが全く一緒になります。

fdisk -l /dev/sda

fdisk -l /dev/sdc

で、全く同じであることを確認します。

④最後にClonezillaを使って/dev/sdaから/dev/sdcにクローン。
Clonezillaを起動します。

再起動の際にClonezillaUSBメディアを挿しておきます。
一番上のClonezillaを選択
JP-UTF8で日本語を選択
keymapはそのままにしておきます。
Clonezillaユーティリティを選択
device-device modeデバイスーデバイスモードを選択
beginner mode 初心者モード を選択
part to local part ローカルパーティションからローカルパーティションのクローンを選択

1パーティションごとにクローンしていきましょう。
/dev/sda1→/dev/sdc1(200MB)
/dev/sda2→/dev/sdc2(100GB)

ファイルシステムのチェックと修復はスキップを選択します。
必要に応じて再起動、クローン設定を調整してください。

で最終的に/dev/sdcが
|–6GB空–|–BOOT/NTFS200MB–|–C:/WinNTFS100GB–|–8.8GB空–|

となれば完了です。で、ぶっちゃけこのままでも使えますので、BootがらみのPCトラブルを避けたいなと思われる方は、以下はやらなくていいと思います。

⑤BOOTパーティションとC:をギリギリいっぱいまで広げる。←必要ない場合はスキップできます。
※しつこいですが、ここからはエラーが出て起動できなくなることがありますので、怖いなと思った方は飛ばしてください。

このままでは空き容量が14.8GB出てきてもったいないので、使える様にします。
GpartedUSBを挿して再起動し、パーティションを編集します。


|–BOOT/NTFS200MB–|–C:/WinNTFS114.8GB–|

で再起動すると、エラーが出ます。
Windows10エラーコード0xc0000225

⑥BCD(Boot Configuration Data)の再構築
Windows10のブートディスク・USBメディアを挿入して再起動します。
回復コンソールを使用し以下を入れます。

bootrec /scanos

Windowsのインストールが見つかるはず

bootrec /rebuildbcd
修復するかと聞かれますので”Y”と応答します。
コンソールを終了し再起動。

以上で容量の小さいSSDへの引っ越しが終わるはずです。

なかなかな作業です。

Chromebookの素、「Chrome OS Flex」でお家テレビをエンタメ化

Chrome OS Flexの活用法を具体的に書いてらっしゃる記事がなかったのでちょっと書いてみます。

Chromebookって気になりませんか?私の子供の小学校でも教育の情報化の一貫でiPadをもたせてもらったのですが、全国的にはiPadかChromebookで割れているそうです。そうするとiPadを持たされた子はChromebookがわからないし、Chromebookを持たされた子はiPadがわからないですよね。というわけで教育用に一台欲しいと思ってフリマサイトやオークションサイトを漁っていたのですが1万まで(貧乏…)でシッカリ使えるものは見つかりませんでした。

そんな中、Chromebookを調べている中で見つけたChrome Enterpriseについての記事に「Chrome OS Flex」というOSを廃棄前のPC等にインストールすることで再利用でき、SDGsに貢献できるとの紹介文を発見。そういえはウチにもお客さんが置いていったPCがたんとあったので片っ端からいれてみました。

ChromebookとChrome OS FlexのちがいはAndroidアプリが使えるかどうか
ここで用途によって分かれると思いますので私見ですがまとめます。

①Chromebookを買ったほうが良い方は↓
Android専用アプリを仕事に使ったり、MSオフィスアプリが絶対必要な方、バッテリーで長時間稼働が必要な環境、業務用に使いたい、開発に特別なアプリが必要な方、周辺機器をしっかり固めたい、ゲームをたっぷりしたい方、MSリモートデスクトップが必要な方、古いパソコンを持っていない方

②Chrome OS Flexでも十分な方は↓
NETFLIX・AmazonPrime・HULUなどサブスクを楽しみたい、インスタ・TwitterなどSNSをパソコンで使いたい・リモートで仕事をしないといけない方、一般的な開発をする方、ZOOMなどミーティングツールを使われる方、Youtubeをシッカリ使いたい、Word・Excelを使うけど数値や短文の編集ぐらいの方、ChromeRemoteDesktopを使える環境にある方、Chromebookを買う前につかってみたい方

クラシカルHDDでも動画滑らかです。ただ、起動時は時間がかかる感はあります。起動しきってしまえば快適。

Chrome OS Flexはインストールできる機種とできない機種がある
OSのインストールは思った以上に簡単です。インストールメディアの作り方はググってもらえればなんぼでも出てくるのでここでは割愛しますがUSBを刺して再起動・インストールウィザードも最小限の設定で起動します。ところがインストールはできてもなかなかイライラするケースがいくつかありました。私の試したCeleronの搭載機種は起動してもカクカクするし、WIFIも繋がらない、インストールも時間がかかりました。Deveroper Unstableとありましたので、全てうまくいくとも限りません。これから改善すると期待して新バージョンを待ちましょう。

ASUS A541S Celeron N3060 4GBRAM 120GBSSD
UEFIで起動してます。先程のカクカクイライラの機種です。ハードウェアの問題かと思ってWindowsをインストールし直しましたがWindows10ではWIFIも正常に動いておりました。

もう2台はただいま研究中ですのでまた機会があればアップします。

Lenovo G565 Athlon II P360 4GBRAM 128GBクラシカルHDD
SONY VAIO SVE151B11N Core i3 2370M 4GB 250GBクラシカルHDD
NEC PC-VK25TLND35ZH 4GBRAM 320GBクラシカルHDD
ブートローダで起動してるのかと思います。クラシカルドライブ搭載なのですが大変スムーズに動いています。ネフリ・アマゾンプライム・ディズニープラスなどもスラスラ動いてます。SVE151B11NはBluetooth搭載してますがいずれも正常動作。メモリーカード類は試しておりませんが、また機会があればアップします。Lenovo G565はカメラアプリが使えませんでしたがミーティングアプリではカメラ使えました。

Chrome Remote Desktopが意外と便利!
仕事場のコンピュータにアクセスしないと仕事にならない方にはリモートデスクトップ環境って必須ですよね。Chrome Remote Desktopの存在は知っていたのですが使ったことがありませんでした。昨今のVNCのリリースよりは使いやすいです。MSのRDPに比べればやや使いにくいかもしれませんがクライアントとサーバーとが同じ画面を共有できるので、その点では用途が広がるかなと思います。同じGoogleアカウント内でオンライン設定をしておけば遠隔地から接続も簡単です。ipアドレスやポート開放などの設定は全く必要ありません。私は遠方のお客様のパソコン等使い方サポートにも利用させていただいてます。デフォルトでハードウェアやファイル共有もできるのも魅力的です。WindowsのHome版でもサーバー利用できます。

必要なアプリはまずChromeウェブストアで・なくてもウェブ版を探してみます!
最低限必要なツールはChromeウェブストアにあったりします。LINEやSSHターミナルなど結構みつかるもんです。ZOOMやAPPLE MUSIC、WORD・EXCELはウェブ版があります。意外とアプリだから使えないと思っているものでもWEB版がリリースされていたりします。気長に探してみるのも面白いと思います。

というわけで大絶賛してきたChrome OS Flexですが大きな欠点があります。

ネットが無いと「ただの置き物」になる点です。すべてのアプリやサービスはネットありき・クラウドありきな以上、ネットが繋がらない状態では何もできなくなってしまいます。オフラインで動くアプリやソフトはこのOSの中には「電卓」と「設定」と「ファイル」と「テキスト」ぐらいだと思います。

最後に私の使い道です。
私はNECのPC-VK25TLND35ZHを液晶パネル部分を外してSSDに換装、HDMIでテレビに繋いでChromeTV化(そんなん無い)してます。AmazonプライムとDisneyPlusは見放題。Youtubeもすぐに探せます。Duoでじいじ・ばあばとテレビ電話、OKGoogleも使えるので割と便利です。マウス・キーボードはBluetoothで繋いで収納もスッキリ。子供にはタイピングサイトを使って練習とWEB版Scratchを使わせます。AppleMusicはブラウザで利用って感じです。あんまり使わないけどテレビの近くにレコーダーを置いてるっていう方にはオススメです。

HDMIでのセカンダリディスプレイはデフォルトで拡張デスクトップになる。プレゼンに便利です。

Radeon R9 270のGPUリボールに挑戦

昔Playstation3で遊んでいたらYLODという症状になってしまい、その時初めてヒートガンという道具の存在を知りました。半導体と基盤との接点にハンダボールが使われているそうで、そのハンダボールは経年劣化でクラックが出現しショートしたり信号が来なくなったりというものでYLODもGPU/CPUの接点クラックが一部の原因だとか。

そういうわけでヒートガンを使い250度になるまで温めて修理したつもりになっておりましたが症状再発やオーバーヒートに悩まされ、事実上修理はむりだなぁと実感したことを覚えています。実際に半導体のリボールをやっている修理屋さんは少なく、私も一度電話で修理屋さんに確認しまくったことを覚えています。結局どこもやってませんでした。

ところがここ最近グラボの需要が高くなってきたので思い切って設備投資でGPUのリボールができるように2か月かけて準備してきました。今回はその練習でやってみた備忘録です。

リワークステーションで260度に設定しハンダ融解後GPUコアを取り除きます(マルチメーターで壊れていると判断しましたので)。

専用のステンシルを使いハンダボールをのせます。0.5mmのハンダボールを載せてヒートガンで加熱。ここまではカンタンなんですが

実際にGPU本体にはハンダボールがくっつかず、失敗とあいなりました。

スイマセン。今回はここまでです。おそらくハンダボールが大きすぎた様で、0.45mmか0.4mmで次は試そうかなって感じです。なんともお粗末ながら、以上です(苦笑)。

WordPress 「このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。」ってエラーが出た

今回の案件についてはwp-content以外を以前のバージョンに戻す処理をしました。

大まかな流れ

1.メールチェック←メール来てません。

2.リカバリーモード←稼働してません。

3.プラグイン・テーマの無効化←変化なし

4.ダウングレード処理

って感じでした。