古いPCにChrome OSをインストール
昨年,Windows7のPCにUbuntu20.04をインストールしてみたが,出番がなく放置されていた。
Ubuntu 20.04 LTSのインストール - input-R
そこで,子供用にChrome OSをインストールして再利用を試みる。
インストールするPC
2010/1に購入したPC。Windows7が入っていたが,Windows7は2020/1にサポート終了。
- CPU: インテル® Core™2 Duo プロセッサー P9700@2.80GHz
- メモリ:4GB
- ハードドライブ: SSD 128GB
- GPU: NVIDIA GeForce 9300M GS GPU
- DVDスーパーマルチドライブ
- アーキテクチャ: Intel または AMD x86 の 64 ビット互換デバイス
- RAM: 4 GB
- 内部ストレージ: 16 GB
- USB ドライブからの起動をサポート
- BIOS: すべての管理者権限 - 問題が発生した場合、管理者は Chrome OS Flex USB インストーラから起動して BIOS で設定する必要があります。
- プロセッサとグラフィック: 2010 年より前に製造されたコンポーネントは、動作が不安定になる可能性があります。
注: Intel GMA 500、600、3600、3650 のグラフィック ハードウェアは、Chrome OS Flex のパフォーマンス基準を満たしていません。
ちなみに,同じページには認定モデルリストが公開されているが,Sony製PCはリストに含まれない。
Chrome OS Flexをインストール
インストール方法はインストールを準備する - Chrome OS Flex ヘルプ を参考。なお,2022/6/28現在で,Chrome OS Flexは早期アクセステスト用で,本番環境での使用には適していないので注意。
その他,参考にしたページ
古いパソコンでもChromebookに変身、無料の「Chrome OS Flex」を試す | 日経クロステック(xTECH)
【西川和久の不定期コラム】Google本家からChrome OS Flex登場!いろいろなマシンへ入れてみた - PC Watch
USB インストローラを作成
インストローラ用に8GB以上のSDカードを用意。なお,SanDisk製8GBSDカードで試したところWifi接続ができなかったので,別の16GBカードを利用。
Chromeブラウザの拡張機能としてChromebook リカバリ ユーティリティを追加(Chrome ブラウザ ウィンドウの右上にある拡張機能のボタンで拡張機能がONになっていることを確認)。
Chromebook リカバリ ユーティリティを開き,Chromebookのリカバリ メディアの作成で始めるを選択。Chromebookの識別画面で[リストからモデルを選択] をクリックし,[メーカーを選択] で[Google Chrome OS Flex] ,[製品を選択] で[Chrome OS Flex (Developer-Unstable)] を選択して続行。
なお,インストールが終了したら,元のChromeブラウザでChromebook リカバリ ユーティリティを開き,右上の歯車から「リカバリメディアのデータを消去」を選択すると,SDカードのデータを消せる。
USB インストーラを使用してデバイスを起動する
起動キー(今回はF11)を押しながら起動すると,初期画面が表れる。言語とキーボードを日本語に設定すると日本語表示に変わる。「Chrome OS Flexをインストール」か「試してみる」のどちらかを選択して,起動させる。なお,インストールを選ぶと,既存のデータ・アプリケーション・OSなどはすべて消去されるので要注意。「試してみる」のあとインストールする場合は,ログアウトしてから,右下にある [Chrome OS Flex をインストール] を選択。なお,「試してみる」の間に行った設定はインストール時に引き継がれない。
Chrome OS Flex と Chrome OS の違い
Chrome OS FlexではGoogle Play と Android アプリの利用はサポートされていないので,Chromeブラウザで動くもの以外のものは使えなさそう。
Chrome OS Flex と Chrome OS の違い - Chrome OS Flex ヘルプ
子供の利用
インストール時に,Chromeデバイスにどのユーザーを追加しますかと聞かれるので,「お子様」を選択。次いで,「お子様用のGoogleアカウントを作成する」を選択して,必要項目を順次入力。保護者のユーザー情報も必要になるので要注意。
Googleファミリーリンク
ChromeデバイスのペアレンタルコントロールはGoogle ファミリー リンク - ホームで行う。主な機能は次の通り。
- アプリ利用を管理 (Google Playの利用をサポートしていないので現状では関係なさそう)
- Chromeブラウザの管理:アクセス制限(承認済のサイトのみ許可する,または,露骨は表現を含むサイトを可能な限りブロックする)
- YouTubeの管理:YouTube Kidsへのアクセス設定
- 利用時間を管理:利用時間の上限やお休み時間を設定,リモートでデバイスをロック
PINの設定(利用機種ではログインには使えなかった)
GoogleアカウントのPWを本人に伝えなくてもいいように,PINの設定を行ってみた。ロック解除にはPINが有効だけど,ログインには有効でなくPWが必要だった。機種によっては同じ症状があるらしい。
プリンタの設定
[設定]-[詳細設定]-[印刷とスキャン]を選択。同じWiFIに接続されているプリンタ(Brother製)が表示されているので追加すれば印刷可能。
Raspberry Pi 4 Model BをAndroid端末にする
Raspberry Pi 4BでAndroidアプリを動かせるようにしてみました。とりあえず使えるようにしてみただけなので,もう少し色々試してみよう・・・
使用機種
Rasbperry Pi 4B 8GB
SmartPi Touch2 既に販売終了みたい
はじめに
Lineage OS 17.1 (Android 10) for Raspberry Pi 4を利用する。なお,このビルドはCC BY-NC-SA 4.0ライセンスなので営利目的での利用は不可。その他の注意は次の通り。
Here’s my build of LineageOS 17.1 for Raspberry Pi 4 Model B and Pi 400. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
なお,2021/12/29時点でAndroid11はofficial 7” touchscreenに対する情報がなく,利用でき(そうに)ない*1。Android12はGooglePlayの代わりのソフトであるOpenGappsが対応していない。
セットアップ手順
OSのインストール
上記サイトからダウンロードしたイメージを,balenaEtcherを使ってMicroSDカードに書き込む
初期設定
EULAに同意→言語選択:日本語→日付と時刻→Wi-Fiの選択→位置情報サービス:許可→診断と使用状況の送信:許可→保護:スキップ→Restore apps and data:ないのでスキップ
なお,アプリの一覧は下側からスワイプすると見られる。
タッチディスプレイの表示
設定>システム>詳細設定>Graphics driversをSwiftShaderに設定。再起動すると,タッチディスプレイが使えるようになっている
OpenGappsのインストール
まず,開発者向けオプションを有効にするために,設定>タブレット情報>ビルド番号を7回タップ
設定>システム>開発者向けオプション>高度な再起動 を有効にする
open_gapps-arm-10.0-pico-xxxxxxxx.zip をダウンロード(PACKAGE MIRRORSで最寄りのサーバーを選ぶ方が早い(かも)
TWRP で再起動(F5キーを長押しして再起動→リカバリを選択)し,Install→ダウンロード→Zipファイルを選択しSWipeすると,OpenGappsがインストールされる。
ストレージを元に戻す
今のままだとストレージが8GBほどしかない。microSDカード分の容量が使えるようにする。
上記Lineage OSからresize zipをダウンロードする。OpenGappsと同じように,TWRPで再起動してインストールする。
電源OFF
キーボードのF5キーで電源OFFにできるが,画面上で電源OFFにするため下記アプリをインストール。
参考
Raspberry PiでAndroidアプリを動かす方法(LineageOS+OpenGApp) | 育児×家事×IoT
Raspberry Pi 4 に LineageOS 18.1 (Android 11) を入れる | のい太ろぐ
【やってみた!】Raspberry Pi 4B (with RasPad 3 ) を最新 Android 端末にしてやった。 | PC-FREEDOM
UbuntuからAndroid端末を操作する
Scrcpyというアプリで,UbuntuからAndroid端末をミラーリング操作してみました。
公式ページ:GitHub - Genymobile/scrcpy: Display and control your Android device
参考にしたページ:
インストール・準備
Ubuntuへのアプリのインストール
以下により,アプリをインストール。
sudo apt install scrcpy
WiFi接続を行う場合,入っていなければadbもインストール。
sudo apt install adb
Android端末の準備
以下により,USBデバッグを有効にする。
参考: デバイスの開発者向けオプションを設定する | Android デベロッパー | Android Developers
[設定]-[デバイス情報]にある[ビルド番号]を7回タップして「開発者向けオプション」を有効化する。
次いで,[設定]-[システム]-[開発者向けオプション]から[USBデバッグ]を有効にする。
USBケーブルで接続
USBケーブルで接続する。Android端末側で「USBデバッグを許可しますか?」という画面が出ればOKを選択する。「常に許可する」にチェックを入れると次回以降はこの画面がでない。
Android端末側でUSBの接続モードを選択する画面が出てくるが,何を選んでも問題なさそう。
ターミナルでscrcpy
を実行するとAndroid端末の画面が表示され操作できる。
WiFiで接続
まずUSBケーブルでUbuntuとAndroid端末を接続する。
次いで,Android端末の接続モードをTCP/IPに切り替える。
adb tcpip 5555
USBケーブルを外して,以下によりAndroid端末のIPアドレスを指定。
adb connect Android端末のIPアドレス:5555
ターミナルでscrcpy
を実行するとAndroid端末の画面が表示され操作できる。
VNC接続してカメラプレビュー画面を表示させる
前提
Raspberry PiへHDMIモニターを接続せずに,VNCやSSHでリモートアクセスしている場合,カメラのプレビューが表示されない(例:カメラモジュールを始めよう - Pythonコードでカメラモジュールをコントロールする方法 | Raspberry Pi Projects)。
そこで,以下のような対策を取ってきた。
SSPライブラリでRaspberry Pi Camera Moduleを動かしてみる - input-R
RPi-Cam-Web-Interface - input-R
ちなみに,前者のVisionProcessingFrameworkは,上記ページではリンクが切れているが,今は,https://soho-enterprise.com/page-915/からダウンロードできる。ただし,High quality camera(IMX417R)は該当するライブラリがないので,使えない(と思われる)。
対策
VNC接続の設定を変える
下記に書いた通り,VNC Serverを開き,アプリの右上からOptionsを開く。Troubleshootingを選び,Enable direct capture modeにチェックを入れる。
Raspberry PiへのPoE給電とUbuntuからVNC接続 - input-R
picameraによる実行
pipenv仮想環境にpicameraを入れる(不要かも?)
cd PJhqcamera pipenv shell pipenv install picamera
picameraを実行
pipenv仮想環境でjupyter labを立ち上げ,以下のコードを実行。プレビュー画面がUbuntu上に表示される。
from time import sleep from picamera import PiCamera camera = PiCamera() camera.start_preview(fullscreen=False, window=(50,150,1024,576)) sleep(10) camera.stop_preview() camera.close()
Raspberry PiへのPoE給電とUbuntuからVNC接続
はじめに
Raspberry PiとUbuntu PCを有線LANで接続して,次の2点を行う。
Raspberry Pi 3 Model B+へRaspberry Pi PoE HATで給電する。
Ubuntu PC からRaspberry PiにVNCでリモートデスクトップで接続する。
これによって,Raspberry PiへはLANケーブルとカメラケーブルだけを接続すればよいようにする。
Raspberry PiへのPoE給電
Buy a Raspberry Pi PoE HAT – Raspberry Pi
The Raspberry Pi PoE HAT is an add-on board for the Raspberry Pi 4 Model B and the Raspberry Pi 3 Model B+. It allows the Raspberry Pi to be powered via a power-enabled Ethernet network.
* 802.3af PoE
* Fully isolated switched-mode power supply
* 37–57V DC, Class 2 device
* 5V/2.5A DC output
* 25mm x 25mm brushless fan for processor cooling
* Fan control
必要なもの
電力を供給する側:PoE対応のスイッチングハブやPoEインジェクター。ここでは,ELECOMのPoEインジェクターEIB-UG01-PF2を利用。
電力を受ける側:Raspberry Pi 3 Model B+とPoE HAT
LANケーブル:Cat5e以上。ここではCat6対応のElecom LD-GPT/BK2/RSを利用。
使い方
使い方はシンプルで,付属のスペーサーを利用してRaspberry Piの上から装着する(外すときにはコネクタを破損しないよう注意)。なお,GPIOのピンヘッダが隠れるので使いたい人は要注意。
ソフトウェアなどの設定は不要。
PoEインジェクターのPoE/DataポートとPoE HATをLANケーブルでつなげれば,Raspberry Piが起動する。
参考
LANケーブルから電源供給! Raspberry Pi PoE HATを入手したので試してみた | DevelopersIO
ラズベリーパイにPoE給電!PoE HATの実力を確認してみた
Ubuntu PC からRaspberry PiにVNCでリモートデスクトップ接続
接続先(Raspberry Pi)の設定
VNCを有効に
スタートメニューから「設定 -> Raspberry Piの設定」をクリック。設定ツールが起動するので,上部タブから「インターフェイス」を選択し,VNCの項目を「有効」にチェックして「OK」をクリック。
Direct capture mode
右上のVNC Serverを開き,アプリの右上からOptionsを開く。Troubleshootingを選び,Enable direct capture modeにチェックを入れる。これで,カメラプレビュー画面がUbuntu上でも表示される。
解像度を変更
ターミナルからsudo raspi-configで,設定ツールを起動。2.Display Options→Resolutionを選択し,使用したい解像度を選んでEnterを押す。
接続元(Ubuntu)の設定
クライアントソフトのインストール
UbuntuにVNC Viewer(クライアント)ソフトをインストールする。下記から,LinuxのDEBx64板をダウンロード。右クリックして「ソフトウェアのインストールで開く」を選択してインストール。
Download VNC Viewer | VNC® Connect
アクティビティでvncと入力するとVNC viewerアイコンが出てくるので起動。
ネットワーク設定
設定等せずにUbuntu PCとPoEインジェクターのDataポートを接続すると,Ubuntuで有効にできませんというエラーメッセージが表示される。
そこで,画面右上のアイコンから有線設定を選び,ネットワーク設定画面を開く。有線の項目の横にある歯車をクリックすると,プロファイル設定画面が表示されるので,IPv4タブのIPv4メソッドをリンクローカルのみに設定。
VNC Viewerで接続
UbuntuのVNC Viewerを開き,「Enter a VNC Server address or search」に「raspberry piの端末名.local」と入れると,接続できる。初回のみ警告が出る。
参考
VNC (Virtual Network Computing) - Raspberry Pi Documentation
VNCでRaspberry Piにリモートデスクトップ接続 (Windows/Mac/Linux対応) – Indoor Corgi
Pipenv仮想環境の構築とJupyter Labのインストール
事前準備
python3系への変更
デフォルトで使用されるPythonのバージョンを確認→Python 2.7.16
python --version
以下により確認すると,Python2.7と3.7の両方がインストールされているが,デフォルトのPythonはPython2.7のシンボリックリンクとなっている。
cd /usr/bin ls -l | grep python
以下により,シンボリックリンクをPython3.7へ変更
cd /usr/bin sudo unlink python sudo ln -s python3 python
再度,python --versionにより確認→Python3.7.3へ変更
pipの確認と更新
次にpipの確認と更新
pip --version #バージョンの確認→18.1 pip install --upgrade pip
なお,更新後にpipコマンドを直接使うと,pip is being invoked by an old script wrapper....という警告がでるので,以下の通りにする。
python -m pip --version # バージョンの確認→21.0.1 python -m pip install -- upgrade pip # pipの更新
参考
RaspberryPiでPythonのデフォルトをPython2.7からPython3に変更する | そう備忘録
Raspberry Pi Python3系に変更する方法 | Ingenious
【Python】pip10以降の新しい書き方を覚えておこう - Qiita
Pipenv仮想環境の構築
インストール
python -m pip install --user pipenv
PATHに追加。
python -m site --user-base #ユーザーのベースバイナリディレクトリを見つける export PATH=$PATH:/home/pi/.local/bin" #ベースバイナリディレクトリにbinを追加して,PATHを追加 source ~/.bashrc #変更を有効にする
~/.profileファイルにPATHが追加されている。
仮想環境構築
mkdir PJhqcamera # 開発用フォルダを作成 cd PJhqcamera pipenv --python 3 # python3系を使って仮想環境構築 pipenv shell # 仮想環境を有効にする
ディレクトリの前に(フォルダ名)がついているはず
参考
Pipenvと仮想環境 — pipenv 2018.11.27.dev0 ドキュメント
【Python】Pipenvを用いたPython仮想環境(開発環境) - 7839
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。 - Qiita
Jupyter Lab
インストールと実行
cd PJhqcamera pipenv shell pipenv install jupyter lab
実行
cd PJhqcamera pipenv shell jupyter lab
参考
Raspberry Piのインストールと初期設定
使用するRaspberry PI
The Raspberry Pi 3 Model B+ is the final revision in the Raspberry Pi 3 range.
- Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
- 1GB LPDDR2 SDRAM
- 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
- Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
- Extended 40-pin GPIO header
- Full-size HDMI
- 4 USB 2.0 ports
- CSI camera port for connecting a Raspberry Pi camera
- DSI display port for connecting a Raspberry Pi touchscreen display
- 4-pole stereo output and composite video port
- Micro SD port for loading your operating system and storing data
- 5V/2.5A DC power input
- Power-over-Ethernet (PoE) support (requires separate PoE HAT)
OSのインストール
Raspberry Pi Imagerのインストール(Windows10)
公式ページからWindows版をダウンロード。ダウンロードしたimager_1.5.exeを実行する。
Raspberry Pi OSをSDカードにインストール
Choose OSで一番上のRaspberry Pi OS(32bit, A port of Debian with the Raspberry Pi Desktop(Recommended), Released:2021-01-11),Choose SD CARDで書き込み先のデバイスを選択(カードの内容は消去されるので注意)。WRITEボタンを押すと書き込みが始まる。
参考にしたサイト
Raspberry Pi OS (Raspbian)のインストール – 公式Imager対応 – Indoor Corgi
起動&初期設定
microSDカード・ディスプレイ・マウス・キーボードを接続してから,電源(USB microBケーブル)を接続して,起動。
- Set country: Japan/Japanese/Tokyoを選択
- Change Password: パスワードを変える
- Set up Screen: 画面外枠に黒い領域があるのでチェックを入れる
- Select Wireless Network: WiFiを選択
- Update Software: アップデート
すべて終わったら再起動。めでたしめでたし。
参考にしたサイト
Raspberry PiのセットアップとOS (Raspbian)の初期設定 – Indoor Corgi
カメラを使えるようにする
使用するカメラ
Raspberry Pi High Quality Camera
- Sony IMX477R stacked, back-illuminated sensor, 12.3 megapixels, 7.9 mm sensor diagonal, 1.55 μm × 1.55 μm pixel size
- Ouput: RAW12/10/8, COMP8
- Back focus: Adjustable (12.5 mm–22.4 mm)
- Lens standards: C-mount, CS-mount (C-CS adapter included)
- IR cut filter: Integrated
- Ribbon cable length: 200 mm
- Tripod mount: 1/4”-20
カメラを使えるように設定
左上のRaspberry Piのメニューボタンから「設定」>「Raspberry Piの設定」をクリックして,システム設定を開く。「インターフェイス」タブをクリックし,「カメラ」について「有効」を選択して「OK」ボタンをクリック。
LXTerminal上で「vcgencmd get_camera」を実行して,「supported=1 detected=1」と表示されたら、カメラが認識されていることを確認。LXTerminal上で以下を実行して撮影画像を確認。
静止画の場合
raspistill -o testjpg
動画の場合
raspivid -t 10000 -o testvideo.h264