hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

Arduino UNO R4 MINIMAを使ってみる(bookworm RasPiOSで書き込みできない)

2024-10-07 13:53:49 | マイコンハードウェア

書きかけですが投稿します。

"CAN コントローラは、UNO R4 Minima のマイクロコントローラ (RA4M1) に
組み込まれています。
"とありますので、もう一度CAN通信をやってみようか?
ということになりました。

ESP32にも" 外部トランシーバーを介して TWAI バスに接続できる
TWAI コントローラーが含まれています。
"とありますから、通信相手にしてみます。
("ISO 11898-1プロトコル(CAN仕様2.0)と互換性あり"と書かれていました。)

Arduino UNO R4 Minima
Renesas RA4M1 (Arm® Cortex®-M4)のRasPi OSでの Arduino IDE"コンパイルエラー問題"は
解決しているのか調べてみました。


残念ながらRasPi OS では問題が発生します。
Windows10でArduino IDE 1.8.19なら問題なしです。
たぶんArduino IDE 2.*.*も大丈夫でしょう

残念なお知らせ
・RasberryPi OS 64ビット (bookworm) Raspberry Pi 5書き込みエラー
コンパイルはできました。
(Arduino IDE1.8.19、ボードVer1.2.0〜1.2.1 他Ver未調査)
・RasberryPi OS OS 32ビット (bullseye)Raspberry Pi 4Bコンパイルエラー
(Arduino IDE1.8.19、ボードVer1.0.1〜1.0.5,1.2.0〜1.2.1 Ver1.1.0未調査)
・Ubuntu 24.04.1 LTS 64ビット Raspberry Pi 4B書き込みエラー
コンパイルはできました。
(Arduino IDE1.8.19、ボードVer1.2.0〜1.2.1 他Ver未調査)

RasberryPi OS 64ビット (bookworm) Raspberry Pi 5での書き込みエラーメッセージ
dfu-util 0.11-arduino4
dfu-util: No DFU capable USB device available
スケッチの書き込み中にエラーが発生しました
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/


RasberryPi OS 32ビット (bullseye)Raspberry Pi 4Bでのエラーメッセージ
/home/Hiro/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar:
error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
exit status 127
/home/Hiro/Downloads/arduino-1.8.19/arduino-builderが127を返しました。
ボードArduino UNO R4 Minimaに対するコンパイル時にエラーが発生しました。


Ubuntu 24.04.1 LTS 64ビット Raspberry Pi 4Bでのエラーメッセージ
An error occurred while uploading the sketch
dfu-util: Cannot open DFU device 2341:0069 found on devnum 3 (LIBUSB_ERROR_ACCESS)
dfu-util 0.11-arduino4
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util: No DFU capable USB device available
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

表示が少し違うが、bookworm Pi5と同じエラー内容と思う。

ESP32はRaspberryPi OSで書き込みできました。("TWAItransmit.ino"にて)

つづく


bluetoothで音声を送る(リモートスピーカーとして使ってみる)

2024-09-30 11:36:54 | bluetooth-Audio

プロジェクトのスタートでタイトルを"bluetoothで音声を送る"
としてしまったのですが、bluetoothより良い方法が見つかりました。
タイトルそのままでお送りしております。

ネタとなったお困りごと:
"音声を数百メートル離れたところへ届けたい"

この記事では
"OBS-Studio 配信 to go2rtc 受信"の使い方をご提案します。
ガマンポイント
なにかが良くないのか受信側("go2rtc")で、すんなりつながりません。
一旦つながれば途中でつながらなくなることはないのですが・・・

bluetoothより良い点は、LANでつながっていれば送れるとこでしょうか。

ダイニングテーブルのPCから送って

少し離れたスピーカーで聞いています。スピーカーはONKYOのGX-R3です。

ノートPCのスピーカーよりは随分マシな音が出ています。


bluetoothで音声を送る(OBS-Studioで配信してgo2rtcで受信)

2024-09-13 14:20:55 | bluetooth-Audio

プロジェクトのスタートでタイトルを"bluetoothで音声を送る"
としてしまったのですが、bluetoothより良い方法が見つかりました。
タイトルそのままでお送りしております。

追記しました。
説明不足を加筆変更しました。

ネタとなったお困りごと:
"音声を数百メートル離れたところへ届けたい"

この記事では"OBS-Studioで配信してgo2rtcで受信"を、備忘記として記録しておきたいと思います。

同一ネットワークに接続された2台のPCに、それぞれアプリインストールと設定します。

配信先のPC
"go2rtc"を準備します。
Windowsなら"go2rtc_win64.zip"を探してダウンロード解凍しておきます。
mac、linux版(linux_armも)あります。環境に合ったファイルを選びます。
必要があればフォルダを作って入れます。
Windowsでは
コマンドプロンプトを開いて、
まず、このPCのIPアドレスを" ipconfig"で 調べておきます。(OBS-Studioの設定で使います)
次に、解凍してできたフォルダをコマンドプロンプトで開く。
(cdコマンドでこんな感じ、***は環境に合わせて"cd C:¥***¥***¥Downloads¥go2rtc_win64¥")
"go2rtc"と入力し"Enter"キー押す。
LinuxPCでは
ファイルマネージャーでフォルダを開き、
"ツール(L)"次に"現在のフォルダを端末で開く"でコマンドプロンプトのようなものが開きます。
IPアドレスを"ifconfig"で 調べておきます。"inet"の後ろがそれです。
次に"./go2rtc_linux_arm"(ドット スラッシュ 解凍されたファイル名)と入力し"Enter"キー押す。

Windowsではこんな感じでOK(Linuxでも類似した表示となります。)

次に、ブラウザで"localhost:1984"開く
"Add"をクリック

ストリーム名と配信元のURLを入力します。(URLは"http://配信元PCのIPアドレス/")
配信元PC(OBS-StudioをインストールするPC)のIPアドレスを調べて入力します。
注意:ストリーム名は配信元と一致する必要があります。(例では"test3")
次に"Add"をクリック、ダイアログボックス出る"OK"クリック。

ページ上の6個ボタン左端"Streams"をクリックすると次の状態になる。

配信元PCの準備をします。
"OBS-Studio-30.2.3-Windows-Installerexe"(2024.09.13 時点のバージョン)
(macOS、Ubuntu、Windows版がありました。)
検索して見つけ、インストールします。

次に、"OBS Studio"を開きます。(初回起動は何かダイアログボックス出ますが・・・)
(注:左下の"ソース"は、開いた直後は何も表示されていません。)

次に"設定"→"配信"と進みます。
サービス:WHIP
サーバー: http://***.***.***.***:1984/api/webrtc?dst=test3
"go2rtc"で設定したストリーム名を"test3"としたとき
***は配信先"go2rtc"が動いているPCのIPアドレスを入力して、
"OK"で設定完了"設定"ダイアログが閉じる。
!注意!ここは、配信先PCのIPアドレスを入力します。

まだ"配信開始"はクリックしない。(右下"コントロール"の"配信開始")
配信先PC(go2rtc)で、次の表示になっていることを確かめてから、
配信元PC"OBS Studio"の"配信開始"をクリックする。
"ソース無し"ダイアログ出るが、音声だけなので"はい"をクリック
"配信開始"ボタンが青色に変わって"配信終了"と表示される。

配信先PC(go2rtc)で、
右側"Commands"の下の"streams"をクリックする。

次ようなページに変わる。
ウインドウ右下の、スピーカーマークをクリックして、
ミュートを解除、音量を適当に上げておく。

配信元PC"OBS Studio"の"ソース"の下の方"+"をクリックして、配信するソースを設定します。
例では"音声出力キャプチャ"としています。(PCのスピーカーに出る音がソース入力されます。)
"ソースを作成/選択"は"OK"
"音声出力キャプチャのプロパティ"入力デバイスに合わせて設定、"既定"のままでも良いかも。

これで配信先PCから音声出力されるはずですが、
うまくいかない時は、
ブラウザの"戻る"ボタンで戻って"streams"をクリックしてみる。

コマンドプロンプトの"go2rtc"がメッセージを吐き出して止まっている時は再起動する。
"go2rtc"と入力し"Enter"キー押す。
"go2rtc"が止まれば"OBS Studio"も何らかのエラーで止まっている可能性あります。
メッセージのダイアログボックスを解除しておきます。

"go2rtc"側はブラウザの"戻る"ボタンで戻り、
ページを"リロード"して表示してから、"OBS Studio"の"配信開始"をクリックし、
もう一度"streams"をクリックしてみてください。

"OBS-Studio"の"配信開始"の前には、
"go2rtc"が起動して、"streams"クリック前であること。
です。

その他に、"サーバー接続できない"ときの確認することは
Windows設定で"ネットワークプロファイル"を"プライベート"にする。

つづくかも


Raspberry Pi 5が届きました。(2号機を立ち上げる)

2024-09-12 17:14:05 | Single board computer

この投稿はあまりお役に立たちません。

2号機は Raspberry Pi OS 64Bit で使います。
HY works 的使い方では、32Bitより64Bitの方が問題点が少ないようなので
64BitでこのRaspi5をメインとして使い、Pi4Bからの作業環境移行を進めます。
(32BitでのArduino IDE 1.8.19のESP32 コンパイルエラーは未解決・・・致命的問題なので)
1号機はテスト用として、Raspbrry Pi OS 32Bitや
UbuntuやGEEKWORM X1002 NVMe SSD起動も試してみたいです。


つづくかもしれない。


bluetoothで音声を送る(Wi-Fiの可能性webrtc探る)

2024-09-11 20:30:25 | bluetooth-Audio

書きかけの投稿です。

ESP32-ROOM-32と I2S Microphonを使った、
音声入力デバイスから音声を送る方法を調べています。
調べていくうちに、"ESP32+I2S Mic ( INMP441 )"から脱線しつつありますが、
お付き合いください。
"なんとかというアプリケーションを使えば遅延を防止できる?!"掘り下げてみました。

結論のようなもの
OBSで配信して、go2rtcで受信音声再生する方法が良いと思いました。
ESP32+I2S Mic (INMP441)での配信はOBSに比べ遅延は少ないようですが、
音質にかなり改善の余地があります。
(遅延時間は計測していませんが、OBSで1秒程度でしょうか)


ネタとなったお困りごと:
音声を数百メートル離れた場所へ送りたい。

今回はWi-Fi&LANを使って送る方法について、調べて試してわかったことを書きます。
写真の接続に間違いがあります。L/R〜GNDの接続をL/R〜VDDに変更してください。

写真の接続に間違いがあります。L/R〜GNDの接続をL/R〜VDDに変更してください。

githubで見つけたスケッチ(使わせていただきます感謝)
"stream_i2s_wav_web.ino"
スケッチの説明
INMP441 ( I2S マイク) に入力した音声をWAV形式でオーディオをストリーミングする
ESP32ベースのWebサーバー例

オーディオ ストリームを聞くには
Wi-Fi SSID,PASSWORDを編集、次の行を探して"32"を"16"へ変更する必要がありました。
変更前(ノイズしか聞こえない)
#define SAMPLE_BITS 32 // Bits per sample of the audio
変更後(音質は悪いが音声が聞き取れる)
#define SAMPLE_BITS 16 // Bits per sample of the audio
ESP32へ書き込み、
シリアルモニタに出力されたIPアドレスをメモしておいて


・ブラウザでIPアドレスを直接開く
 音声の遅延4秒程度発生します。

・"go2rtc"というアプリケーションを介してブラウザで開く
 音声の遅延1秒以下

音質に改善の余地があります。

また、PCで"OBS Studio"というアプリケーションを使って配信して、
"go2rtc"で受信する方法もありました。
遅延は1秒以下でした。

OBS配信中

go2rtc受信画面

OBSの設定

go2rtcの設定と起動は別の記事で投稿します。
この方法での音質は良好です。
(遅延に関しては、bluetoothでも1秒以下の遅延があります。)

bluetoothで音声を送る(I2S MIC INMP441を試す)も見てください。



つづく