
前回、bluepy モジュールを使ってラズパイ上のPython3のスクリプトでBBC micro:bit のBLEアトリビュート内の「特性(characteristic)」のハンドルをリストいたしました。ハンドルが分かれば実際の値にアクセスできます。今回は、読み出すだけの特性を中心に「読んで」みたいと思います。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、bluepy モジュールを使ってラズパイ上のPython3のスクリプトでBBC micro:bit のBLEアトリビュート内の「特性(characteristic)」のハンドルをリストいたしました。ハンドルが分かれば実際の値にアクセスできます。今回は、読み出すだけの特性を中心に「読んで」みたいと思います。
前回、Arduino用のCANバス・インタフェース・ボードを使って、CANフレームを観察できることを確かめました。でも1台では肝心の通信ができません。それでもう一台CANバス・インタフェース・ボードを購入してあります。M5Stack用のCAN UNITです。動いたです。でも最初、早合点で接続間違えました。私のせい。
Raspberry Pi PicoのPIO(Programmable IO)は、Picoのユニークな機能であり、かつ適応能力最強の「ペリフェラル」だと思います。勿論MicroPythonからも利用できます。しかし前回、普通のSRAMをPIO経由で制御しようとしてトラぶりました。今回は釈然としない部分に絞ってその動作を実機確認してみたいと思います。 “MicroPython的午睡(20) ラズパイPico、PIO操作は最大8ビット?” の続きを読む
前回は、micro:bitとRaspberry Pi 3 model B+をペアリングし、ラズパイ上のPython3からbluepyモジュールを使ってコネクトしました。そしてその様子をラズパイ上のWiresharkで観察してみました。そこで痛感したことは、Handle / UUID / Characteristic などというものを理解しないと何が何だかサッパリということであります。今回は、micro:bitの「それら」をダンプして何があるのか調べてみます。
前回はmicro:bitからの垂れ流し(broadcast)パケットをラズパイで一方的に受信してみました。今回は、micro:bitとラズパイをpairingいたし、双方向のBLE通信をラズパイ上のWiresharkで覗き見してみようと思います。とはいえ、BLEプロトコル素人なので、まずは遠くからやり取りの様子を眺めてみた、というところ。
前回はシリアルEEPROM、I2C接続でした。今回はシリアルSRAM、SPI接続であります。前回はMicroPythonからのI2C制御、釈然としない部分ありだったのですが、今回のSPIは明朗会計なんであります。ほとんど何も考えずに接続すれば動作してしまう感じ。落差大きいです。 “MicroPython的午睡(18) ラズパイPico、SPIでシリアルSRAM接続” の続きを読む
前回はRaspberry Pi Picoに独特なPIOの利用でしたが、今回は一般的なI2Cです。接続するのはEEPROMです。マイクロチップ製の24LC64、64Kbit品です。MicroPythonからメモリの読み書きは「とりあえず」出来たんでありますが、いまだ釈然としない事項が残ります。おまけにI2CバスをSCAN時のロジアナ波形もあり。
前回は、Raspberry Pi PicoのProgramable IO(PIO)が可能性無限大、みたいな話を書きましたが、オシロで波形を観察したにとどまりました。今回はその威力を実地に確かめるべく、前々回の7セグLED4桁駆動回路に適用してみます。一撃で任意の波形を作れるPIOがあると本当に楽だ。 “MicroPython的午睡(16) ラズパイPico、PIOで74HC595制御、簡単” の続きを読む
Raspberry Pi PicoのMCU RP2040の大きな特徴がPIO(Programable IO)とよぶ、IO制御の仕組みだと思います。プログラム可能なステートマシンでIO端子を直接制御するもの。可能性無限大。そしてMicroPythonからでも「プログラム」可能でした。まずは今回はお試し。ちょっとした波形を作って観察してみます。 “MicroPython的午睡(15) ラズパイPico、プログラマブルIOの威力” の続きを読む
前回までLEDの4個ばかりでラズパイPicoのマルチコアの動作とかを確かめてきました。今回、Picoの機能を活かしても少しIOを触ってみるために外付けのハードを追加しました。とはいえLEDに変わりありません。が、4桁の7セグLEDなのでダイナミック駆動必須です。今回から時間縛りがあって多ピンの連動が必要なIO操作をやって行く予定です。 “MicroPython的午睡(14) ラズパイPico、7セグ4桁、とりあえずタイマ駆動” の続きを読む
BBC micro:bitについては別シリーズ「ブロックを積みながら」でテキストでソースを書かずに使ってきました。デバッガ等も使用せず。もっぱらprintfデバッグ。しかし、だんだんとC/C++で「普通に」書かないとならない領分に踏み込みそうな気がします。それにデバッガも使いたい。PlatformIOあるし、簡単だし、などと思っていたらハマりました。単なるピン番号に。 “トホホな疑問(33) BBC micro:bitのピン番号にハマる。Arduino環境にて” の続きを読む
前回、MicroPythonからでもラズパイPicoの2つのCPUコアを使えることが分かりました。今回は複数コアを使う際にはまず避けて通れないことの一つ、排他制御をやってみます。また、RP2040にはコア間の制御をやりやすくするための専用ハードが搭載されているので、そちらが使われているのかどうかも探ってみます。