前回はライトオンリのLCDモジュールをmicro:bitのI2Cに接続してみました。今回はリードとライト両方あるものということでEEPROM、24LC64を接続してみました。micro:bitから読み書きはできたのですが、MakeCodeエディタのI2C書き込み用のブロック、使いずらいデス。なんとかならないものか。 “ブロックをつみながら(29) BBC micro:bit、EEPROMをI2C接続” の続きを読む
ブロックを積みながら(28) BBC micro:bit、外付けLCDをI2C接続
以前にもオンボードデバイスの制御のためにBBC micro:bitのI2Cバスを使用したことがあったです。しかしその記憶は定かでないです。いざMakeCodeエディタで書こうとしてこの引数なんだっけと困りました。この際ということでメモを残します。I2C接続の最初の題材は「例によって」AQM1602LCDモジュールです。
ブロックを積みながら(27) BBC micro:bitとラズパイでサウンドモニタ その4
前回の反省にもとづき、今回実施の実証実験(もどき)は記録という点だけは充実しました。無事?実験期間が終わったのでその記録の処理にかかりました。記録は充実したもののJavaScriptもSQLも良く知らない事を露呈、翻弄されてしまいました。まあね、改良点がハッキリしたので、成果はあったということにしておきますが。
ブロックを積みながら(26) BBC micro:bitとラズパイでサウンドモニタ その3
前回、約5日間の実証実験もどき?のフィードバックを得て、BBC micro:bit、BLEパケットをMQTTブローカに接続するPython3コード、そしてnodeREDのフローのすべてに手をいれました。そして再度の実証実験を起動したつもりでした。しかし、「思った通りに上手く行くと思うな実証実験」、金言であります。一週間のつもりが約1日で終わってました。
ブロックを積みながら(25) BBC micro:bitとラズパイでサウンドモニタ その2
前々回、本シリーズ側で作成した「システム?」をアプリ運用側「夜間頻尿モニタリングの試み」で使った結果、フィードバックがかかったので、その修正対応を記していきます。ぶっちゃけMakeCodeエディタに遡ってプログラム修正したのでこちらのシリーズで取り扱うべきであろうかと。
ブロックを積みながら(24) BBC micro:bit v1.5、消費電流測定その1
別件で、ダラダラとBBC micro:bit v2を動作させつづけているので、micro:bitの消費電力がチト気になってきました。しかし本日v2は忙しくしているので、お手すきのv1.5をターゲットにして測定。マイコンの場合、消費電流が動的に変化しまくるのですが、今回はADALM1000のSMUを使って捕捉してみました。
ブロックを積みながら(23) BBC micro:bit v2とラズパイでサウンドモニタ
前回、懸案解決(いつの間にか)。ということで、早速、ペンディングにしていた実験のプロトタイプを作ってみました。「サウンドモニタ」と呼ばせていただきますが、単にドアなどの開閉音などをイベントとして検出し、bluetoothでホスト機に報告するものです。今回は「実証実験?」用のプロトタイプもどきを作成。 “ブロックを積みながら(23) BBC micro:bit v2とラズパイでサウンドモニタ” の続きを読む
ブロックを積みながら(22) MakeCode、いつの間にmicro:bit v2対応?
前回、BBC micro:bit v2用のプログラムをMakeCodeエディタで作成中にメモリ不足に起因するとみられるエラーに遭遇いたしました。その時点ではv2、v1に関わらずv1のメモリ上限で制約されていると推測いたしました。しかし、それからわずか1か月、何もしていないのですが v2の拡張されたメモリを使えるようになってました。
ブロックを積みながら(21) MakeCode、Compilation failed
前回、ラズパイPythonからBluetooth UARTサービスを使って「コマンド」をmicro:bitに送り込み、それに反応させることができました。今回はmicro:bitから処理結果をラズパイに返信するとともに、各種コマンド大拡充、と目論んだのですが障害あり。MakeCodeのコンパイル時エラー発生。
ブロックを積みながら(20) micro:bit, BLE UartへPython書き出し
前回は、BBC micro:bit のBLE特性(Characteristics)のうち、読めばわかりそうなものをラズパイPython3で読み出してみました。今回は、BLE Uartサービスに「書き込んで」micro:bitを鳴かせてみたいとおもいます。また、前回のコードだとmicro:bit v2ではうまく行かないことも発覚したので修正しました。
ブロックを積みながら(19) micro:bit BLE, Pythonで「特性」読み出し
前回、bluepy モジュールを使ってラズパイ上のPython3のスクリプトでBBC micro:bit のBLEアトリビュート内の「特性(characteristic)」のハンドルをリストいたしました。ハンドルが分かれば実際の値にアクセスできます。今回は、読み出すだけの特性を中心に「読んで」みたいと思います。
ブロックを積みながら(18) BLE、ハンドル、UUID、CHARACTERISTICS
前回は、micro:bitとRaspberry Pi 3 model B+をペアリングし、ラズパイ上のPython3からbluepyモジュールを使ってコネクトしました。そしてその様子をラズパイ上のWiresharkで観察してみました。そこで痛感したことは、Handle / UUID / Characteristic などというものを理解しないと何が何だかサッパリということであります。今回は、micro:bitの「それら」をダンプして何があるのか調べてみます。
ブロックを積みながら(17) micro:bitとラズパイ、ペアリング+Wireshark
前回はmicro:bitからの垂れ流し(broadcast)パケットをラズパイで一方的に受信してみました。今回は、micro:bitとラズパイをpairingいたし、双方向のBLE通信をラズパイ上のWiresharkで覗き見してみようと思います。とはいえ、BLEプロトコル素人なので、まずは遠くからやり取りの様子を眺めてみた、というところ。
ブロックを積みながら(16) 2台のラズパイのBLE受信信号強度をNodeRedで比較
前回ラズパイのPython3で、micro:bitが送信するBluetooth LEのアドバタイズパケット、Eddystoneを受信することができました。今回は離れた場所においたラズパイ3とラズパイ4で同じパケットを受信、それぞれの受信信号強度をNodeREDダッシュボード上で比較してみました。ロケーション推定もどき。 “ブロックを積みながら(16) 2台のラズパイのBLE受信信号強度をNodeRedで比較” の続きを読む