古いPCにChrome OSをインストール

昨年,Windows7のPCにUbuntu20.04をインストールしてみたが,出番がなく放置されていた。

Ubuntu 20.04 LTSのインストール - input-R

そこで,子供用にChrome OSをインストールして再利用を試みる。

インストールするPC

Sony VAIO Z VGN-Z93GS

2010/1に購入したPC。Windows7が入っていたが,Windows7は2020/1にサポート終了。

Chrome OS Flexにおけるデバイスの最小要件:

  • アーキテクチャ: 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 FlexChrome OS の違い

Chrome OS FlexではGoogle PlayAndroid アプリの利用はサポートされていないので,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が必要だった。機種によっては同じ症状があるらしい。

【Chromebook】PINコード設定の手順と注意点

プリンタの設定

[設定]-[詳細設定]-[印刷とスキャン]を選択。同じWiFIに接続されているプリンタ(Brother製)が表示されているので追加すれば印刷可能。

Raspberry Pi 4 Model BをAndroid端末にする

Raspberry Pi 4BでAndroidアプリを動かせるようにしてみました。とりあえず使えるようにしてみただけなので,もう少し色々試してみよう・・・

使用機種

はじめに

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.

konstakang.com

なお,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にするため下記アプリをインストール。

play.google.com

参考

Raspberry PiでAndroidアプリを動かす方法(LineageOS+OpenGApp) | 育児×家事×IoT

Raspberry Pi 4 に LineageOS 18.1 (Android 11) を入れる | のい太ろぐ

【やってみた!】Raspberry Pi 4B (with RasPad 3 ) を最新 Android 端末にしてやった。 | PC-FREEDOM

*1:/boot/resolution.txtをUbuntu PCでいじってみたが表示できなかった

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ケーブルでUbuntuAndroid端末を接続する。

次いで,Android端末の接続モードをTCP/IPに切り替える。

adb tcpip 5555

USBケーブルを外して,以下によりAndroid端末のIPアドレスを指定。

adb connect Android端末のIPアドレス:5555

ターミナルでscrcpyを実行するとAndroid端末の画面が表示され操作できる。

VNC接続してカメラプレビュー画面を表示させる

前提

Raspberry PiHDMIモニターを接続せずに,VNCSSHでリモートアクセスしている場合,カメラのプレビューが表示されない(例:カメラモジュールを始めよう - 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 PiUbuntu PCを有線LANで接続して,次の2点を行う。

これによって,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 PiVNCリモートデスクトップ接続

接続先(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)の設定

クライアントソフトのインストール

UbuntuVNC Viewer(クライアント)ソフトをインストールする。下記から,LinuxのDEBx64板をダウンロード。右クリックして「ソフトウェアのインストールで開く」を選択してインストール。

Download VNC Viewer | VNC® Connect

アクティビティでvncと入力するとVNC viewerアイコンが出てくるので起動。

ネットワーク設定

設定等せずにUbuntu PCとPoEインジェクターのDataポートを接続すると,Ubuntuで有効にできませんというエラーメッセージが表示される。

そこで,画面右上のアイコンから有線設定を選び,ネットワーク設定画面を開く。有線の項目の横にある歯車をクリックすると,プロファイル設定画面が表示されるので,IPv4タブのIPv4メソッドをリンクローカルのみに設定。

VNC Viewerで接続

UbuntuVNC 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

参考

図解!Jupyter Labを徹底解説!(インストール・使い方・拡張機能) - AI-interのPython3入門

Installation — JupyterLab 3.0.6 documentation

Raspberry Piのインストールと初期設定

使用するRaspberry PI

Raspberry Pi 3 Model B+

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

参考にしたサイト

Raspberry Piとカメラモジュールを接続する | パソコン工房 NEXMAG