MIDIで接続してデータ送受信するまで経緯Grove端子でつなげるMIDIシールド(necobit電子)を買ってみた。これで家の電子ピアノと繋いで子供に自慢しようとしたところ、どうやら有線のMIDI端子はないことに気づいた。MIDIとしては使えるようだ。マニュアル見るとAppleのみ接続を保証とかいてあるが、そんなことはないはず?Arduinoのライブラリとかは一通りそろっていそうなので、簡単に接続できると思ったのだけど、そうでもなかったので記録しておく。設定~接続までここは特にサンプルコードどおりに勧めて苦労せず。Onとか送ってみたら全然認識しない。調べたらとりあえず暗号化しないとダメとの事。以下を適切に追加すればOKだった。BLEDevice::setEncryptionLevel(ESP_BLE_SEC_ENCRYPT);M5-StickCのボタン押せば音が鳴るところまではできた。受信これがどうもうまくいかない。追加されている以下のコードを追加したけどだめ。Android端末に入れてみる。鍵盤ひいたらNotification経由でMIDIメッセージが読み込めている。StickCで接続したときと違っていることに気づく。connectで接続したときは、こう。M5Stickで接続しているときはこう。Stickの時には液晶のbluetoothマークの横にP+MIDIが出ていない。苦労はしたが、無事sniffer化できたので比較。StickCのほうは暗号化を一時停止。connectとの違いは、下の赤枠部分の有無。connectで接続したあとは、IntervalのネゴシエーションがMasterとSlaveとの間でやりとりされている。*params)というのを見つけた。intervalを設定して呼び出せば何かやってくれそう。handlerを登録した後辺りに追加。Stickで読み出せるようになった。snifferで見てみても、と、なんとなくinrtervalをネゴって決めるような動作が見られた。parameterの更新をそれぞれ追加すれば送受信は大丈夫そう。MIDIの変換器を作るところまではがんばろう。Eyemotionをつなげようとした。サポートしているはずなのに中々認識されない。探していると、以下の情報があって、rpi-updateを実行して再起動したところ何事もなく認識された。https://forums.raspberrypi.com/viewtopic.php?t=7397#p123185ちなみにwebcam.txtの設定は、以下の通り。Snifferとして使えたという記録。ESP32のBLE-MIDIライブラリをつかって家の電子ピアノを制御しようとしたところ、どうもうまくいかない。Playにあるアプリだと一応音が出る。Bluetoothだとお手軽なSnifferが結構あるのではないかと調べてみた。SnifferTI社提供の、PACKET-SNIFFERが無償で使えそうなところ。どちらもそれぞれの提供するチップの開発キットやドングルで動作。nRF52840とかCC2540とかその手のチップ。SnifferはWiresharkのプラグインとして提供されているが、PACKET-SNIFFERは独自のツール。Snifferにしてみる。Sniffer導入HW購入HWはnRF系のチップの乗ったドングルや開発キット、場合によってはFWを書き込む環境が必要とのこと。簡単そうなのは、Adafruit社の以下のドングル。SnifferのFWが書き込まれているとのこと。nRF51822ただAmazonで4,000円(2022/9)とちと値がはる。nRF52840が安くて入手性もよさそう。欲しかったのでマルツで頼んだ。翌日配送で送料いれると2,400円くらい。データ解析」を参考にすすめてみる。FWやSWはNordicのページからダウンロードすればよいらしい。Desktopとかいうのをインストールした。立ち上げて上記のようにBluetoothとProgrammerをインストール(必要かどうか不明)。Snifferを書き込むためProgrammerを立ち上げる。loader書き換えにはJ-Linkを使えと書いてある。miniとかはずっと欠品中。接続してデバッグピンから書き込む方法があります。CDC経由でいけるとの事。driveに見えるようになり、バイナリをドラッグアンドロップでコピーするだけというお手軽さ。これ使っている人いないかと見たら、Nordicのドングルでやっている人がいた。XIAOもUF2アップデートに対応しているらしいとのこと。PCに接続して、Type-Cコネクタの直近の小さいボタンを素早く二回押す。すると以下のようにドライブとして認識される。あるファイルを消したくなるが、そのままここにバイナリをコピーすればOKらしい。0xada52840などで変換。Snifferとして認識された。そのあとのWiresharkの設定などはいろいろなページを参考に特に詰まることなく進められて、無事パケットのキャプチャーまで進められた。4年生むけに電子辞書を探す塾など通い出す時期となり、いろいろ調べさせるために電子辞書を物色しだした。上の子供の時は無理やり中学生モデルを使っていたが、小学生モデルというのもいいかも?と探し出す。過去に発売されたモデルの違い基本的に型番数字の2800が小学校(2000は低学年)。ちなみに3800が中学で、4800が高校。最新のSX3800は小・中学生両対応モデルだけどかいうのもあるけどまだ高い。3年後に中学モデルを買うかな。順に安くなっているようだ。現行品のSX2800は、新品で3万近くとかさすがにつらいので(辞書の値段全部足すとまぁそんなもんかも?)、オークションやメルカリで探すも、どういう違いがあるのか今いちわからない。調べてみると以下のような感じ。130過去に発売されている小学生モデル(低学年のぞく)SKまでは毎年出ていたのに一体SXまで間が空いたのはなぜ?ちなみにXD-U2800等、S無しのがキーボードの下にサブ液晶がついているやつ。それ以降はサブ液晶が無くてキーボード大き目。高いけどSXの大型モニタは気になる。詳しい比較表はこちら。結論UとSUってサブ液晶が無くなっただけ?SU->SK->SXは順当にコンテンツが改良されているかんじ?今時っぽく英語が強化?うちにある古い中学生モデル、D3800を見た感じは、5.3インチ画面でもそこそ大きく十分な感じ。サブ液晶モデル最後のD-U2800あたりの安いところをねらいつつ、SKとかがちょい高めくらいであればそっちかなー。v2009.1016.2010とかあたりだといけるとか?DS4だとハットスイッチとかXボタンとかそのへんがなんかダメ。Xbox付属コントローラをペアリングすればOK。modeXboxを購入PS5が当たらない。3年分追加してあったので、Xboxを買ってみた。ONEの物がそのまま残っている感じ。同じとのことなので、とりあえず登録してみる。スイッチアプリを本体でdownloadして手順を進めるが、最後のほうでなぜか本体のアップデートを要求される。検索してみると、MSのフォーラムでも同じ悩みの人が。設定の本体情報でLT+LB+RT+RBを押せば、開発者向けメニューにアクセスできてそこで有効化、との事。向けらしいけどとりあえずXSXでもいけた。consoleとりあえず何かサンプルを転送してみようか。コメントを残すインターホンの修理こちらから外に声が伝わらないインターホンの調子が悪い。具体的にはこちらの声が外に聞こえない。上記のような構成で、カメラ付。外からの映像音声は聞こえるので、とりあえず外→室内の通信路は大丈夫。次に、ずっと使っていなかったワイヤレス増設子機を引っ張り出してきて、モニター付き親機とつなげたところ問題なし。親機のマイクは生きていそう。後は外のスピーカーか、室内→外の通信がこけているか。故障例の調査とりあえず、他に壊れている人いないか検索してみると、意外とメジャーな故障のようだった。DIYでインターホンスピーカー交換ドアホンが故障!?外部スピーカーを交換したら約1,000円で修理できたでござるパナソニックも結構つらつらと故障例が見つかる。防水フィルムが劣化して、スピーカーがダメになる例が多いみたい。うちはデザイナーズパーツとかいう柱の間についているので、説明書でいうと下の例のつき方。http://www2.toex.co.jp/rp/dfw/exsas4/torisetu/files/A59502A.pdfなんとなく構造はわかったのだが、このセンターブロック上キャップは抜け止めがあるので、どうやってとったらよいものか。思っていたら同じ抜け止め金具でセンターキャップを取り付けている、ウィルモダンシリーズの取説が見つかった。http://www2.toex.co.jp/rp/dfw/exsas4/torisetu/files/UA16502A.pdf普通にマイナスドライバーでこじればよかったらしい。とれたのでばらしてみる。元のスピーカーこれが問題のスピーカー。この防水シートがぼろぼろの物があるが、キレイに残っているので一見問題なさそう。適当なスピーカーaintendoで買ったやつかな?手元にあったスピーカーつけてみたら、無事音が出るようになった。型番からするに、以下の表にあるモノっぽい。http://www.kdkk.co.jp/wp-kdkk/wp-content/uploads/2014catalog_sk.pdfただ、川崎電線の最近のカタログでは載っていないので生産終了か?というわけで、Amazonで似たようなものを購入。もとのが20Ωにくらべて16Ωだが、まぁなんとかなった。最後にしかし、今のインターホンがもうディスコンになっているとのこと。WF-2MEDに対応した子機が現行製品ではないようだ。下手すると一式交換コースだったかと思うと、なんか儲かった気がしたのでアピールしておいた。つかってパルスオキシメーターを作ってみた。ライブラリがあればそれっぽくなりそうとのことで調べてみると、京セラコミュニケーションシステムズのサイトで、作成例を紹介している記事があった。接続しているようなので、ほぼいけそう。元ネタはMAXIMのサイトかSparkfunのExampleかな。(5本セット)モジュールの電源や信号レベルはどうなっているか、このモジュールの回路図はないか見てみると、回路図付きで以下のサイトがひっかかった。不安定だと何とかなるんじゃないかな(事実なんとかなった)、とそのまま接続する事に。品が乗っているものがあるとかいう指摘。出力されていたので、これは杞憂に終わった。ソフト的にはI2C周りはデフォルト設定でいけそう。同じようにライブラリを導入。ソースはほぼそのままで、とりあえず適当に画面周りだけ修正。IRと赤色それぞれの測定値を、50個ためるバッファがあって、半分の25個更新しては、ライブラリの関数を呼び出す構造。関数内では、波形のピーク検出に基づいて脈拍の計算と、両センサーの変化率の比から酸素濃度の計算、という感じ。センサーに指を置いて測定すると以下のように表示される。なんか指を押し付ける力で結構ばらつくなぁ、と思ってたんだけど、本家の動画見てもそんなもん?という感じ。plotter用に片方のセンサー値だけ出力するように変更して、リアルタイムにグラフをみながらやろう、という事に。グラフ見ながらやれば、どうやれば安定できるか、コツがつかめるような気がする。光らないようにしたりして、最終的なものは、以下においた。https://github.com/Keitark/pulseoxi.gitさいごにやはり、ここ最近作っている人が多いかんじ。今回はライブラリはそのまま使ってみたが、いろいろ手を加えたり、自分で計算している人もいるようなので、そのうち調べてみる。参考になるサイトその後、いろいろなサイトを見てみると、いろいろ情報のまとまっているサイトがあったので、紹介。Githubのレポジトリの不具合などの情報もあり、2017年なのでもう直っているのかも。Datasheetなどにある計算原理などについての確認など、Sparkfunのモジュールの不具合情報みたいなものもあり。経由で取り込んでいた。めったにメールが届くものでもないので、しばらく気づかなったが、5月のはじめあたりから接続できてないようだ。かけていろいろ設定など見直したあたり。