概要
最近Raspberry Pi 4Bを購入しましたが、ちょっと高価格すぎるのでもう少し安いボードを購入してみました。とはいえ、技適がないのでWi-Fiを日本で利用することができません。
製品
AliExpressにOrange Piのオフィシャルショップがありますのでそちらで購入しました。今回購入したのは本体とケースのセットで5千円弱となります。
紙箱に本体が入っており、プラケースと固定用のネジが付属していました。
本体です。Orange PiはRaspberry Piっぽいシングルボードになります。GPIOが出ていますが互換性はなく、Raspberry Piっぽい独自ボードです。Linuxが動く安くて小さいボードではありますが、Raspberry Piとは違うので注意してください。
ケースに入れたところです。
コネクタはUSBとマイクロHDMI、電源専用のType-C、LANになります。Raspberry Piと同じ電源で動きますが、もう少し弱い電源でもたぶん大丈夫のはずです。
反対側にはマイクロSDカードスロットがあります。
日本での動かし方
そのまま電源を入れると技適マークがないので、電波法的にまずいです。そのため、上記のような対策をしてから利用する必要があります。通常のLinuxの場合には勝手に電波を使うことは少ないので、アンテナをはずすぐらいで大丈夫だと思います。
対応OS
上記からダウンロードが可能です。AndroidとUnuntu、Debianが選択可能です。2020-11-04と相当古い日付が書いてあってびっくりします。
今回はUbuntuを入れてみたいと思います。
中を見てみると、、、2022/05/20と新しいです。なんとUnuntu 22.04(Orangepizero2_3.0.2)がアップされていますね。これを使ってみたいと思います。
セットアップ方法
Raspberry Pi Imagerを使ってダウンロードして、解答したイメージファイルをSDカードに書き込むのが一番かんたんな方法です。セットアップでなにかわからないことがあったら気軽に焼き直して最初の状態に戻るのがいいと思います。
OctoPrintをセットアップ
Raspberry Piの場合にはOctoPiのイメージを書き込めば終わりですが、素のUbuntuに自分でセットアップする必要があります。
# Welcome to Orange Pi 3.0.2 Jammy with Linux 5.16.17-sun50iw9
sudo su -
sudo apt update
sudo apt upgrade
sudo orangepi-config
# Set timezone, locales
sudo adduser pi
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
sudo usermod -a -G video pi
apt install python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential
apt install cmake libjpeg8-dev imagemagick ffmpeg libv4l-dev
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
export LD_LIBRARY_PATH=.
make
./mjpg_streamer -i "./input_uvc.so -d /dev/video1" -o "./output_http.so -w ./www"
# http://192.168.x.x:8080/stream.html
make install
# /usr/local/bin/mjpg_streamer -i 'input_uvc.so -d /dev/video1' -o 'output_http.so -w /usr/local/share/mjpg-streamer/www'
cp mjpg_streamer@.service /etc/systemd/system/mjpg_streamer.service
vi /etc/systemd/system/mjpg_streamer.service
systemctl daemon-reload
systemctl enable mjpg_streamer
service mjpg_streamer start
# http://192.168.x.x:8080/stream.html
sudo su - pi
mkdir OctoPrint && cd OctoPrint
python3 -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install octoprint
exit
wget https://github.com/OctoPrint/OctoPrint/raw/master/scripts/octoprint.service && sudo sudo mv octoprint.service /etc/systemd/system/octoprint.service
sudo systemctl daemon-reload
sudo systemctl enable octoprint
sudo service octoprint start
sudo apt remove brltty
sudo reboot
基本はOctoPrintのLinuxセットアップ方法を参考にすればいいはずです。とはいえ、そのときのバージョンと環境によりいろいろコマンドが変わるので細かい解説はしません。
はまりポイントとしては、/dev/video1のところです。20.04だとデフォルトで何もおらず、USBカメラを接続すると/dev/video0が増えたので無指定で動きました。22.04だと/dev/video0からvideo2まで3つ見えていたので、どれが接続したWebカメラかを確認して指定する必要があります。
あと、mjpg_streamer@.serviceのファイルがそのままでは使えない状態なので実行者をpiに変更して、ちゃんと起動できるコマンドに書き換える必要があります。piユーザーになってそのコマンドを実行してみて正しく起動するかを確認してみてください。
OctoPrintはpipで入れるだけなので、非常にかんたんに導入できます。ただし、、、brlttyが22.04からデフォルトで入っており、これが動いているとシリアルポートを勝手に奪います。点字ディスプレイユーザー以外では消しておいたほうがいいと思います。
まとめ
OctoPrintを動かしつつ、Webカメラをみてみても負荷はそれほど高くありません。スペック的には十分だとは思いますがまだちょっとオーバースペックな気がします。
Raspberry Pi Zero 2 Wが発売されると3千円弱のはずですので、カメラと電源を入れても5千円以下でOctoPrintを動かせるようになるはずです。
コメント
Orange Pi Zero(Plus?)とOrange Pi 3の一部モデルは技適とれているようですね
取得しているのですが、どうやら特定販路のみで販売しているようでして、通常に購入した場合には技適マーク表示がないんですよね。。。