記事分類

ラベル RaspberryPi の投稿を表示しています。 すべての投稿を表示
ラベル RaspberryPi の投稿を表示しています。 すべての投稿を表示

2025年6月17日火曜日

RPi4 + UbuntuServer + OnnxStream + Flask UI

 ということで、全行程を書き記し、

さらにUIを作りました

こちらからgit cloneして動かせばよい感じです

https://github.com/ChaosReadman/OnnxStreamWebUI

画像生成をしていると、ロックファイルができ、

他の端末からも操作できなくなります。

タイミング的には操作できちゃうかもなのでバグありと思っています

そのうち直そうと思います




2025年6月16日月曜日

RPi4+ubuntuServer+OnnxStream

VSCでRemoteSSH接続し、ターミナルから以下の通り実行しただけです。

ユーザー名はtakahiroなので、そこのところは各自変えてください。


まずは環境の準備

sudo apt-get update

sudo apt-get install -y cmake python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev git-lfs

sudo -H pip3 install setuptools==58.3.0

sudo -H pip3 install Cython

sudo -H pip3 install gdown



cd ~

git clone https://github.com/google/XNNPACK.git

cd XNNPACK

git checkout 1c8ee1b68f3a3e0847ec3c53c186c5909fa3fbd3

mkdir build

cd build

cmake -DXNNPACK_BUILD_TESTS=OFF -DXNNPACK_BUILD_BENCHMARKS=OFF ..

cmake --build . --config Release


cd ~

git clone https://github.com/vitoplantamura/OnnxStream.git

cd OnnxStream

cd src

mkdir build

cd build

cmake -DMAX_SPEED=ON -DOS_LLM=OFF -DOS_CUDA=OFF -DXNNPACK_DIR=/home/takahiro/XNNPACK ..

cmake --build . --config Release


cd ~

git lfs install

git clone --depth=1 https://huggingface.co/vitoplantamura/stable-diffusion-xl-turbo-1.0-anyshape-onnxstream


cd ~

cd OnnxStream/src/build/

./sd --rpi-lowmem --turbo --models-path ../../../stable-diffusion-xl-turbo-1.0-anyshape-onnxstream/ --prompt "An astronaut riding a horse on Mars" --steps 1 --output astronaut.png

これで画像が同じフォルダに作られます。



2024年6月27日木曜日

Duet Web Controller Camera Setting(Microdia)

3D PrinterにつないでいるRaspberryPiにUSBカメラをつけて

Duet Web Controllerから見れるように設定した

※まず、Duet3 に接続しているRaspberryPiにSSHで接続し

1.mjpg-streamerをインストール

sudo apt update

sudo apt install snapd
sudo snap install mjpg-streamer

2.設定
sudo vi /var/snap/mjpg-streamer/current/config


INPUTOPTS="input_uvc.so -y -r 640x480 -d /dev/video0"
PORT="-p 8080"
DAEMON="true"


3.カメラを接続
snap connect mjpg-streamer:camera

4.mjpg-streamer再起動
sudo snap restart mjpg-streamer

これでブラウザから
http://192.168.XXX.XXX:8080/を開いてページが表示される
Streamのところを見るとカメラの映像が見れるはず

続いて
5.Duet Web Controllerの設定
設定→全般のところのカメラのURLに以下を入れる
http://192.168.XXX.XXX:8080/?action=stream

2024年3月7日木曜日

RaspberryPi4のSDに1Tつけた

 我ながら何をしているのだという感じだけど

1TのマイクロSDなんてものがあるんだと知って思わず購入

寿命がどうたらいう話もあるけど

はい、人柱になります

まずはEasy-Diffusion入れたので、Swap8GB作って動かしたいというのがあった

Modelもあれこれ入れると多分32GBだと足りなくなっていくと感じたため

1T買っちゃいました

どこまで動くかはわかりません


ところで、ファイルのクローンにはWin32DiskImagerを使ったのだけど

元が32GB、これをまずはReadで読んで、1T差し替えてWriteした

起動してdf -h --total 見てみたら、あれ?拡張されてね?って状態だった

拡張してくれるんだっけ?


まぁこれで、8GBのスワップを作って動かし中・・・

うん、動く・・・

だけどちょっとまてよ、スワップってガリガリ動くんだから

SDに作るもんじゃないよなぁ・・・


ということで、速攻で2TのHDDつけて、16GBのスワップファイルを作って

そっちを使うように修正


人柱やりません!


Easy-Diffutionで512x512のサイズが出力できるようになった


広大な1TのSDとそれよりでかい2TのHDDを付けてしまった

そろそろまぢでHDD起動にした方が素直だよなぁ


2024年2月12日月曜日

RaspberryPi4 LibreElec KodiでBD

RaspberryPi4のLibreElec KodiにIOデータのBDレコーダを繋げてみた
DVDは問題なく再生できたのに
BDは再生できなかった

なんだろうと思って調べたら結構グレーゾーンな事をやらないといけないらしい?
(具体的には こちらの情報の通り)

必要なファイルはここに置いておいた
  • convtabは全部Update版を上書きしてる
  • KEYDBはJPN版でヘッダ部をmkv8のミニマムセットで書き換えている
  • vm0はそのまま

いちいち説明するまでもないと思うが
ダウンロードしたマシンから
sshでRaspberryPiに繋いで
scpでkodiに送って
unzipで解凍してから以下の手順に従えば良い
mvで解凍したフォルダやファイルを配置するだけだ

1. JREのアドオン入れる(Blu-rayのメニューがJavaらしい)
    LibreElecのアドオンを検索して追加(ただしJava8)
2. VM0を配置(仮想マシン)
    /storage/.configure/bfplus/vm0
3. KEYDBを配置(BDPlusデコード用)
   /storage/.configure/aacs/KEYBF.cfg
4. convtabを配置(BDPlusデコード用)
  /storage/.cache/bdplus/convtab

超ドマイナーなこの北米版?のBlu-rayは再生出来た
極黒のブリュンヒルデ
外国人の声優さんも頑張ってて
実は英語の勉強になったりする




しかしながら、うる星やつらのBlu-rayは再生出来なかった

多分KEYDBが有志で更新されないとダメな感じ?
または日本版みたいなのが置いてあるから
そっち使えば良いのだろうか?

どこがグレーゾーンなのかと言うと
KEYDBはそもそもDVDFabから取得するものらしいと言うところ
よくわからないのだけどこれは
covtabとセットなんではなかろうか?
マヂこのあたりよくわからないので
もう少し調べてみるつもり

2023年9月7日木曜日

ラズパイ

ラズパイを6台持ってる事を自慢げにラズパイOSを語ろうとする人が居るのだが

一般のご家庭ではラズパイ6台くらい普通に持ってるだろ?

うちでも録画マシン、再生マシン、開発用、3Dプリンタで常時ラズパイ4が4台動いてる

3Dプリンタ以外の3台は電源つけっぱなしです

ラズパイ4の前は同じ目的でラズパイ1から3までずっと使い続けてきてるのだから、
探したら沢山出てきます

それにOSなんて、サーバOSに決まってるだろ
デスクトップとして使うなよ
選択肢なんて他にありません
アホかと思った
デスクトップ使うなら普通にPC使いましょう

ラズパイに入れられる軽量OSとかの記事
マヂうざいので書くな
書くならK8Sの記事にしとけ
K8S で何やるか知らんけど、、、



2023年9月2日土曜日

Ubuntu Serverのアップグレード

サーバーバージョンのUbuntuの場合、以下でOS更新ができるらしい
sudo do-release-upgrade
へー知らんかった

だが、これ打ち込むとすごく脅される

Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN] Y

Starting additional sshd

To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

To continue please press [ENTER]

たしかにSSHでこれやるのは超危険
でも、とりあえずEnterしてみる

この後、あれこれダウンロードしたりチェックしたりして、その後さらに聞かれる

Do you want to start the upgrade?


7 packages are going to be removed. 264 new packages are going to be
installed. 1112 packages are going to be upgraded.

You have to download a total of 820 M. This download will take about
5 minutes with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN]  Details [d]

yで継続

まだ聞かれる・・・
そりゃサービスの更新くらいありますよね


YESで継続

さらに聞いてくる


んなの、別にいいよ、新しいの入れる

さらに聞かれる


わからんけど、新しくします

minidlnaも聞かれた


デフォルトでKeepでいいです

なんか消すらしい


yで継続


はいはい、Abortで、、、え?これ、YESなの?
(YESが選ばれてるのだからYESなのだろう)

最後に再起動を促される


さて・・・起動するだろうか?

あれ???
sshでつながらない、refuseされた

しかたないので、モニターとキーボード付けて起動してみたところ・・・
Emergency Mode ?
Give root password for maintenanceとか出てくるんですけど・・・
パスワード入れて、メンテナンスモードになり、とりあえずfstabでも見てみる

vi /etc/fstab
あ、UUID指定してマウントしてる・・・
今外付けのドライブ外してるんだった

とりあえず、先頭に#付けてコメントアウトしexit(exitすると再起動になる)
起動してくれました・・・

一瞬焦る・・・
それにしても、fstabは毎回ハマるんで、自分もそろそろ脳みそのアップデートがしたい






2023年8月12日土曜日

Swift on RaspberryPi

 以前会社のサーバをぶち壊してから、

RaspberryPi4にしようと思って手に入れていたのだけれど、

GoogleWorkspaceに移行して使いどころがなくなっていた

(他にも3Dプリンタや録画サーバ、LibreElecで常時3台のRaspberryPi4が動いている)

会社サーバはRaspberryPi3だったのだが、4を手に入れセットアップだけは済ませて放置していた

Ubuntu23.04 Serverを入れてある


Swiftだけど、ここにやり方が書いてあるので、各自ご勝手にどうぞ

https://www.swift.org/download/

懇切丁寧に書くつもりはない

どこぞで、偉そうに書いているブログでも参考にしてください

(上記リンク見ればやり方わかるのに、ここで解説する愚行はしません)






2022年10月21日金曜日

kodiful(kodira) on LibreElec(RaspberryPi4)

kodiでラジオ聞けないのかなと調べたら、アドオン作ってくれてる方が居られた
kodifulと言うもので、iPhoneでPy3をダウンロードした
iPhoneのファイルから、LibreElec(RaspberryPi4に入れてあるKodi)に接続し、Kodiの外付けハードディスクにコピーした
その後、Kodiのメニューのアドオンへ行って、zipからインストールを選び、iPhoneからコピーしたzipを選択
しばらくすると、kodiraがインストールされる
ここで一度再起動しないと民法のラジオは聞けないようだ
だが、上記工程でradikoで聴ける物は全部聞けるようになった
めちゃ良い


2018年7月6日金曜日

chinachu その後

RaspberryPiのCPU負荷はまだ余裕がある。
電波レベルも問題なし(フジテレビとかNHKとか)
しかし、録画すると録画済みリストに同じ名前が2つ並ぶ。
これ、フォーラムでも報告されていたのだけど、
問題が解決できていないらしい。
この状態になると、ファイルとしては一つなのだが、
ブロックノイズが混ざったファイルが出来ている。
今の所VLCで直してみたりしているけど、
修復しても結構長い時間ロスト状態で画面が固まるようなファイルが出来てしまう。
ブロックノイズの原因がチューナにある可能性も否定できない。
どのチューナで録画されたのかも分かるようにログを吐き出してもらえないもんだろうか

2018年5月24日木曜日

chinachu+RaspberryPi+PX-SU1D Ver2 x 2

Chinachu + RaspberryPi で録画サーバをセッティングしたのだが、
当初よりもかなり動きが悪く、具体的に言うと、録画したものが壊れていたりサーバが死んだりしはじめた。
まだ全容はわからないけど、少しだけ理由が絞れてきた。
結果から話すと、チューナが怪しい。
このチューナ、かなり熱を持つのだ・・・熱暴走してるんじゃないだろうか

これまでの現象は以下5つ
1.使っていた当初はわりと調子が良かったのだが、だんだん録画にノイズが入るようになった。
2.アンテナの接続があまかったのを直したが、たまにノイズが入るのは変わらなかった。
3.録画が始まるようになってサーバが落ちるようになった。キャッシュを増やしたことで、サーバは落ちなくなったようだが、録画したファイルの品質がたまに悪くなっていたのは変わらず。
4.RaspberryPiの温度を測ってみたら85℃、これはCPUがクロック落とす温度なので、クーラーを付けた。それでも、録画が始まってしばらくすると落ちる。
5.録画できたファイルが2Gもあるのに、18秒程度しか再生できなくなった。しかも、録画済みファイルが2つ出来ていた。(この現象はchinachuサイトでも上がっていたが、バグなのかどうか不明として放置されている)

チューナは2つついている。
これらのことから、チューナの一つが壊れているのではないかと推測し、もう1つチューナを購入し、2つのチューナと付け替えながら録画してみて、怪しいチューナを特定した。
新しく買った方も壊れていた場合、チューナを1つだけにして運用し、取り替える事になったと思うが、幸運なことに新しく買ったチューナは動いてくれたようだ。
結果、現在は普通に録画出来るようになった。(録画4回テストして問題ない。)
ただし、以前のように運用中にチューナが壊れる可能性は高い・・・もう少しまともに動くものはないんだろうか・・・

2018年3月7日水曜日

RaspberryPiには3Aの電源が必要だ!

RaspberryPiにOSMCをインストールしてみた。
今現在、うちでは3台のRaspberryPiが稼働している。

  1. 会社のホームページ、メールサーバ、owncloud
  2. OSMC(今回インストール)
  3. Chinachu録画サーバ(ダブルチューナにしてる)

OSMCについては、どうも動きが良くないので、知り合いに聞いてみたところ、
電源ではないかと指摘を受けた。
確かにOSMCに使っていたのは、iPhoneのアダプタで、
録画サーバに使っていたのはIQOSのアダプターだ。
IQOSのアダプタは多少大きめだが、それでも2Aだった。
これはアンペア数が少ないのかもしれない。
アマゾンで早速3Aのアダプタを購入し、取り替えてみた所、
今までの不具合が嘘のように改善された。
具体的にどのような不具合があったかというと以下の通り

  1. OSMCのコンテンツ再生中に、突然再生が止まる現象
  2. FTPでOSMCにアップするとき転送速度が遅かった
  3. OSMCで動画再生中に先送り巻き戻しがとても遅かった
  4. OSMCからDLNAプレイヤーで再生しているときも先送り巻き戻しが遅い
  5. Chinachu録画サーバの再起動時にminidlnaが起動しなかった
上記5に関してはserviceの登録を何度かやり直したので、それで治ったのかもしれないが、1から4に関してはまったく無問題になった。
やはり、外付け2.5インチHDDを使うにはそれなりの電源が必要だったということだ。

2017年6月9日金曜日

ownCloudのマニュアルアップグレード

1ダウンロード
                以下からダウンロード

    2.ラズパイにコピー
              scp owncloud-10.x.x.zip username@192.168.x.xxx:
              最近はtar.bz2なので、
              scp owncloud-10.x.x.tar.bz2 username@192.168.x.xxx:

      3.ラズパイにSSHでログイン
              ssh username@192.168.x.xxx

      4.unzip
              ここからはsuで作業
              su
              cd ~username
              unzip owncloud-10.x.x.zip
              最近はtar.bz2なので、
              tar xf owncloud-10.x.x.tar.bz2

      5.Maintenance mode on
                 sudo -u www-data php occ maintenance:mode —on

      6.rename
                cd /var/www/owncloudのあるところ
                sudo mv ownclouod owncloud_old

      7.stop nginx
                 sudo /etc/init.d/nginx stop

      8.move owncloud
                   sudo mv ~username/owncloud ./owncloud

        9.copy config from old
                sudo cp owncloud_old/config/config.php owncloud/config/config.php

          10.start nginx
                  sudo /etc/init.d/nginx start

            11.Upgrade
                          sudo -u www-data php occ upgrade

              12.Maintenance mode off
                           sudo -u www-data php occ maintenance:mode —off


                2017年5月11日木曜日

                letsencrypt

                会社のサイトを作ったので、letsencryptで証明書を作ったのだが、
                Androidで見れないと言われた。
                調べてみたら、fullchainじゃないとダメらしい。
                その他のデバイスでは不具合を聞かなかった。
                面倒だなぁAndroid

                2017年5月7日日曜日

                M4V on ownCloud 9.1.5

                RaspberryPiにセットアップしたownCloudには少し問題があって、
                M4Vが再生できなかったのだが、、、
                ちょっと前にffmpegを入れても再生できなかったのだ。
                んで、調べてみたら、作者同士が罵り合ってm4vが再生できなかったとかなんだとかいう記事を見つけて、そうなの?残念ねと思っていた。
                ところが、こないだ9.1.5にバージョンアップしてから試しに再生してみたらきちんと再生できた。
                iPhoneのSafariでも再生できたので、多分どの端末でもいけるだろう。

                M4VはApple独自の規格らしい。
                しかし、過去の記事で書いた通り、mediaTombでは同じデコードで再生できたのだし、
                中身ほぼ一緒と考える人がいるのも仕方ないのかもしれない。
                なんにせよ、今はm4vもownCloudで再生できるようになったのでよかったよかった。


                2016年11月19日土曜日

                ownCloud BackupScript一部変更


                せっかく6時間ごとにSQLDUMPしているのに無くなってしまうのはもったいないので、
                `date +"%Y%m%d_%H%M%S"`にしておいた。

                んで、バックアップで残す日付は +3 じゃなくて +0 にしておいた。
                わりとSQLDUMPの容量がでかくて、19Mくらいになってる。

                2016年11月12日土曜日

                ownCloud on Raspberry Pi with Backup

                今日、HDDが届いたのでバックアップするように設定する。
                まずは普通につなぐ

                sudo fdisk -l

                Device     Boot Start        End    Sectors  Size Id Type

                /dev/sdb1          64 3907029119 3907029056  1.8T  7 HPFS/NTFS/exFAT

                今度はsdb1なんだな

                では、フォーマット
                sudo mkfs.ext4 -m 0.001 /dev/sdb1

                マウント場所を作る
                sudo mkdir /mnt/hdd2

                んで、マウント
                sudo mount /dev/sdb1 /mnt/hdd2

                UUIDを確認
                sudo blkid /dev/sdb1

                fstabに書き込み
                sudo vi /etc/fstab
                UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" /mnt/hdd2 ext4 defaults 0 0

                XXXのとこはUUIDを書く

                バックアップ用のフォルダを作る
                mkdir /mnt/hdd2/backup
                mkdir /mnt/hdd2/log
                mkdir /mnt/hdd2/sqldump

                んで、Scripts作る
                sudo vi scripts/oc-backup.sh

                #!/bin/bash

                date
                sudo rsync -avz --delete /var/www/owncloud/config /mnt/hdd1/data /mnt/hdd2/backup | tail -n 2

                sudo mysqldump --lock-tables -h localhost -u ユーザ名 -pXXXXXXXX データベース > /mnt/hdd2/sqldump/owncloud-dbbackup_`date +"%Y%m%d"`.bak | tail -n 2

                exit 0

                んで、スクリプトにx付けとく
                chomod +x oc-backup.sh


                Cronに書いとく
                sudo crontab -e

                0 0,6,12,18 * * * /home/UserName/scripts/oc-backup.sh >> /mnt/hdd2/log/oc-backup.log

                これで、6時間おきにバックアップが行われる。
                sqldumpは日付ごとに作られるから、たまに様子見て消さないと・・・てのが面倒な気がする・・・
                ので、以下のコマンドもさっきのスクリプトに追加


                sudo find /mnt/hdd2/sqldump/ -name '*.bak' -mtime +3 -delete





                2016年11月7日月曜日

                ownCloud on Raspberry Pi

                こちらを参考に、ownCloudをRaspberryPiModel3に設定した。
                https://normally.online/2016/04/29/owncloud-9-0-1-on-raspberry-pi-3-step-by-step/

                LetsEncryptてのがあるんですね、知りませんでした。
                証明書はCronで毎月更新するようにしておきました。
                やり方はまるっきりサイトの通りです
                UserNameのホームにletsencrypt入れてるので、それを動くようにしときました。


                00 06 24 * * /etc/init.d/nginx stop && /home/UserName/letsencrypt/letsencrypt-auto renew --force-renew && /etc/init.d/nginx start


                DDNSはこちらのサイトを参考に設定しました。
                http://qiita.com/ukatawagatik/items/d087008a14beb509b846

                まだバックアップ先が無いので、
                今度HDDを増設し、rsyncで同期させたり、cronでDBのバックアップしとかないとなぁ

                それにしてもownCloudはめちゃ便利、
                去年Pydioサーバが落雷のサージで壊れてから、
                ようやくownCloudで会社用の共有スペースが用意できました。

                それとHDDの停止についてはこちらを参考にしました。
                http://kassyjp.ninja-web.net/ras/jessie/spindown.htm

                適当な場所に以下のスクリプトを作成

                #!/bin/sh

                if [ $# -lt 2 ]; then
                        echo "not enough arguments supplied."
                        echo "hdd_spindown.sh [UUID] [INTERVAL]"
                        exit 0
                fi

                disk=`findfs UUID="$1"`
                interval=$2

                count=$interval
                up=1

                if [ -z $disk ]; then
                        #echo "findfs error"
                        exit 1
                fi

                disk=`echo "$disk" |sed -e "s@/dev/@@"`

                state=`grep " $disk " /proc/diskstats`

                while [ true ]; do
                        sleep 10
                        count=$(($count-10))
                        newstate=`grep " $disk " /proc/diskstats`
                        if [ "$state" = "$newstate" ]; then
                                if [ $count -lt 0 ]; then
                                        count=$interval
                                        if [ $up = 1 ]; then
                                                #echo -e "spin-down"
                                                sync
                                                state=`grep " $disk " /proc/diskstats`
                                                sdparm --command=stop -r /dev/$disk > /dev/null 2>&1
                                                up=0
                                        fi
                                fi
                        else
                                #echo -e "drive is up"
                                count=$interval
                                state="$newstate"
                                up=1
                        fi
                done


                んで、サービスで停止するように設定
                sudo vi /lib/systemd/system/user_hdd_spindown.service

                [Unit]
                Description=hdd spindown by sdparm
                After=mnt-hdd1.mount

                [Service]
                ExecStart=/path to script/usbhdd_spindown.sh XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 60 > /dev/null 2>&1
                KillMode=process
                Type=simple
                Restart=always

                [Install]
                WantedBy=multi-user.target

                なぜか、元記事はRestart=noだったので、alwaysに変えときました。


                2015年2月25日水曜日

                RaspberryPi2

                BeagleBoneBlackは、CNC専用マシンとなり、RaspBerryPiは無線アクセスポイント兼DLNAサーバ&ファイルサーバになったのだが、レンタルサーバーに入れていたPydioがPHPのバージョンのせいでバージョンアップ出来ず、WEB上のファイル共有スペースが作りたくて仕方なかった。
                RaspberryPiにその役目をさせようとしたら遅くて使い物にならず、Edisonを使おうとしたらストレージが少なすぎて、カスタマイズしようとクロスコンパイル環境を作ってみたらコンパイルに40Gくらいかかったり使いづらく、どうしようと思ってた所にRaspberryPi2がでたので、速攻飛びついてPydio入れてみた。
                使えます。
                レンタルサーバーより自宅サーバのがレスポンスいいくらいです。
                外付けHDDは給電能力が足りず認識してくれなかったので、64GのマイクロSDにOS入れてたのだが、ルートに割り当てていたところから少しパーティションを削りだして、USBにもう一つ64G接続して、両方からLVMでVG作って、だいたい100Gの容量にして、PydioのDataに割り当ててある。
                しばらくはこれで運用してみます。