chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

2020-08-01から1ヶ月間の記事一覧

BLE MIDI試作;コード修正

BLE MIDI用UUID(UUID128)をadvertisingのパケットに入れようとしてサイズオーバーしていた。UUID128はレスポンスに入れるように修正する(いつAPI読んだらいいのかも分からず) 今まで使っていたAPI(ble_gap_adv_set_fields) NimBLE Host GAP Reference …

BLE MIDI実装でエラーになる原因を調査

ESP32用のデバッガが動くようになったので、俺BLE MIDIのエラー原因を調査。 そもそもデバッグ環境を構築した目的は、アドバタイズにBLE MIDIのサービスUUID(UUID128)を入れようとするとエラーになるのを調べるためであった。アドバタイズにUUID128を含める…

RaspberryPiをJTAGアダプタに仕立てる

手持ちの古いJTAGアダプタ(乗ってるチップはFT2232R)がどうもうまく制御できない*1ので、、RaspberryPiをJTAGアダプタに仕立ててみる。以下が手順解説資料 Using a Raspberry Pi as a JTAG Dongle · synthetos/PiOCD Wiki · GitHub段々と泥沼化だ。。boots…

ESP32をデバッグできるようJTAGアダプタを接続してみる->なんとかデバッグ可能になった

ESP32をJTAGでデバッグするには、JTAG信号を出力するためのアダプタが必要。手軽にやるならFT2232Hを使うそうなのだが、、大昔に購入したJTAGアダプタ(アルファプロジェクト社のHJ-LINK/USBというやつ)があったのでそれを使ってみる。実はこのボードもFT223…

ESP32 + OpenOCD + GDB でデバッグ

BLEMIDIを動かそうとしているが、UUID128をadvertisingさせようとするけど関数からエラーが返ってくる。かなり確実そうなサンプルを使ってもやっぱりエラーになる。原因が分からない。 こうなったら、GDBでデバッグか!?となったが、ESP32はST-Linkとかは使…

nimBLEを使って BLE MIDIを実装中

ESP-IDFには2系統のBTライブラリがあるようで、BLEだけなら、NimBLEを使うべしとあった For BLE-only usecases, using NimBLE is recommended. It is less demanding in terms of code footprint and runtime memory, making it suitable for such scenario…

OCNバーチャルコネクトとの接続が安定しない(メモ)

使ってるルータとファームバージョン WSR-1166DHPL2 Version 1.01うまくいった時のログは以下 日付時刻 種類 ログ内容 2020/01/01 00:01:07 SYSTEM [MAP-E] Connection succeeded. 2020/01/01 00:01:02 SYSTEM [MAP-E] Connection was started() 2020/01/01 …

ESP32の ESP-IDFでBLEサンプルをビルドしてみる

Pythonで使えるBLEライブラリでは鍵交換が実装されていないと判断し、ESP32のESP-IDFを使ってBLEのデバイスを試作してみる。いきなり開発は難易度が高すぎるので、正しく動作するはずのサンプル実装をビルドしてみる。 過去の開発事例でいろいろ実装例が紹介…

RaspberryPi-Zero-W上でPythonを使ってBLEペリフェラルを作ってみる

目標:BLE MIDIを喋るペリフェラルを作る。Windowsから認識させて、MIDI入力装置として使ってみる。最終的にはESP32を使いたいけど、ライブラリとか揃っていそうなRaspberryPI + Linuxの組み合わせで試作してみる。 簡単に書くと、、BLE MIDIを喋るためのUUI…

nRF51822でBLEを勉強する:micro:bitを使えば格安

BLEって別に新しい技術でもないかもしれないが、、ESP32+MicroPythonでまだまともに動かしていない最後のライブラリで、また、DAWの関係から、BLE MIDIをなんとか使いたいと思ってる。が、、BLEはなかなかややこしい仕様で、プロトコル詳細がやっぱりよく分…

Raspberry Pi-Zero-Wでキャプチャする

以前購入したBLE用スニファの動作が安定しないので、Raspberry Pi-Zero-WでBLEパケットをキャプチャしてみる。 使うツールは tshark らしい。 hcitool を使うとBLEデバイスをスキャンしたり多少通信できるようなので、、まずはhcitoolでスキャンしてみる。 h…

ESP32 + MicoPython bluetoothライブラリでKORG microKEY2 Airに接続してMIDIデータを取得する→中断

ESP32 + MicoPython bluetoothライブラリでKORG microKEY2 Airに接続してMIDIデータを取得する試みを行った。 最終的に現在のBLEライブラリでは機能が足りないと判断し、中断 できたこと KORG microKEY2との接続 Service, Characteristicsの取得 できなかっ…

Raspberry Pi Zero WH + BLE + bluepyで BLEを学ぶ

BLEスキャナが大量のパケットを捕まえるのでどれが目指すパケットなのかよく分からず。。だったら、もっと確実に動作するBLE付きラズパイでスキャンしてみようと思った。安いラズパイは、Pi Zero-Wなんだが、在庫がなく、ピンヘッダ付きのPi Zero-WHを買った…

MicroPython BLEでscanしてみた

BLEを理解するため、まずはMicroPythonのubluetoothのscanを実行してみた。 スキャンした相手はKorgのKeyboard(BLE接続できる microKey Air) BLEをスキャンするためのコードは以下。長くなるのでコールバック関数は省略しています。*1 import ubluetooth ble…

MicroPython + BLEで、俺HID

MicroPythonのBLE(LowLevel実装)を使って俺HIDを作りたい。そのためのメモ■ご参考URL ROHM社のBLE解説記事 基礎知識 | ROHM TECH WEB ESP32・BLE通信「基礎知識」実は過去に、BLE+MIDIコントローラを作ろうとしていた。記事が残っている。 BLEを理解してMIDI…