前回、ラズパイPythonからBluetooth UARTサービスを使って「コマンド」をmicro:bitに送り込み、それに反応させることができました。今回はmicro:bitから処理結果をラズパイに返信するとともに、各種コマンド大拡充、と目論んだのですが障害あり。MakeCodeのコンパイル時エラー発生。
MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続
このところ Raspberry Pi Picoに各種デバイスを接続し、MicroPythonで操作してきております。が、定番のデバイス、どうせ接続できるでしょ、ということでやってませんでした。しかし、やっておかないと何が起きるかわからない。念のためということで今回は、秋月電子製LCDモジュールキット、AE-AQM1602Aであります。 “MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続” の続きを読む
ブロックを積みながら(20) micro:bit, BLE UartへPython書き出し
前回は、BBC micro:bit のBLE特性(Characteristics)のうち、読めばわかりそうなものをラズパイPython3で読み出してみました。今回は、BLE Uartサービスに「書き込んで」micro:bitを鳴かせてみたいとおもいます。また、前回のコードだとmicro:bit v2ではうまく行かないことも発覚したので修正しました。
MicroPython的午睡(21) ラズパイPico、M5AtomLiteとUART通信
今回はハードウエアの周辺機能の利用に戻りたいと思います。毎度毎度「お世話になっている」のに取り上げてこなかったUART(調歩同期方式シリアル通信)であります。当然、通信する相手なければ使ってみることができませぬ。そこで今回用意いたしましたのは、M5Stack社の超小型デバイスATOM Liteであります。Raspberry Pi Picoに比べても小さいです。機能的には相互補完的?
ブロックを積みながら(19) micro:bit BLE, Pythonで「特性」読み出し
前回、bluepy モジュールを使ってラズパイ上のPython3のスクリプトでBBC micro:bit のBLEアトリビュート内の「特性(characteristic)」のハンドルをリストいたしました。ハンドルが分かれば実際の値にアクセスできます。今回は、読み出すだけの特性を中心に「読んで」みたいと思います。
MicroPython的午睡(20) ラズパイPico、PIO操作は最大8ビット?
Raspberry Pi PicoのPIO(Programmable IO)は、Picoのユニークな機能であり、かつ適応能力最強の「ペリフェラル」だと思います。勿論MicroPythonからも利用できます。しかし前回、普通のSRAMをPIO経由で制御しようとしてトラぶりました。今回は釈然としない部分に絞ってその動作を実機確認してみたいと思います。 “MicroPython的午睡(20) ラズパイPico、PIO操作は最大8ビット?” の続きを読む
ブロックを積みながら(18) BLE、ハンドル、UUID、CHARACTERISTICS
前回は、micro:bitとRaspberry Pi 3 model B+をペアリングし、ラズパイ上のPython3からbluepyモジュールを使ってコネクトしました。そしてその様子をラズパイ上のWiresharkで観察してみました。そこで痛感したことは、Handle / UUID / Characteristic などというものを理解しないと何が何だかサッパリということであります。今回は、micro:bitの「それら」をダンプして何があるのか調べてみます。
MicroPython的午睡(19) ラズパイPico、「普通の」SRAM接続に手こずる
MicroPython的午睡(18) ラズパイPico、SPIでシリアルSRAM接続
前回はシリアルEEPROM、I2C接続でした。今回はシリアルSRAM、SPI接続であります。前回はMicroPythonからのI2C制御、釈然としない部分ありだったのですが、今回のSPIは明朗会計なんであります。ほとんど何も考えずに接続すれば動作してしまう感じ。落差大きいです。 “MicroPython的午睡(18) ラズパイPico、SPIでシリアルSRAM接続” の続きを読む
ブロックを積みながら(16) 2台のラズパイのBLE受信信号強度をNodeRedで比較
前回ラズパイのPython3で、micro:bitが送信するBluetooth LEのアドバタイズパケット、Eddystoneを受信することができました。今回は離れた場所においたラズパイ3とラズパイ4で同じパケットを受信、それぞれの受信信号強度をNodeREDダッシュボード上で比較してみました。ロケーション推定もどき。 “ブロックを積みながら(16) 2台のラズパイのBLE受信信号強度をNodeRedで比較” の続きを読む
鳥なき里のマイコン屋(122) Raspberry Pi 4到着、ラズパイPicoの母艦化
ようやくと言うべきか、GW前にRaspberry Pi 4 を手に入れました。先に入手のRaspberry Pi Picoの母艦にする、というのが主目的であります。情報もそろい、ツールなども完備のラズパイなので、OSのインストールからクロス開発環境のセットアップなど「スムース」ではあるのですが、例によって引っかかるところもあり。 “鳥なき里のマイコン屋(122) Raspberry Pi 4到着、ラズパイPicoの母艦化” の続きを読む
ブロックを積みながら(15) micro:bitのBLEをラズパイPythonで捕捉
ここまでmicro:bitからのBLEパケットを送受するのにスマホアプリを使用してきました。スマホは便利ですが、やりたい事によっては固定された場所で常時動作している「基地局」的なものが欲しくなります。そこで手元のラズパイ上でBLE通信プログラムの作成環境セットアップ。やはりPythonが楽だ。
MicroPython的午睡(17) ラズパイPico、I2CでシリアルEEPROM接続
前回はRaspberry Pi Picoに独特なPIOの利用でしたが、今回は一般的なI2Cです。接続するのはEEPROMです。マイクロチップ製の24LC64、64Kbit品です。MicroPythonからメモリの読み書きは「とりあえず」出来たんでありますが、いまだ釈然としない事項が残ります。おまけにI2CバスをSCAN時のロジアナ波形もあり。
MicroPython的午睡(16) ラズパイPico、PIOで74HC595制御、簡単
前回は、Raspberry Pi PicoのProgramable IO(PIO)が可能性無限大、みたいな話を書きましたが、オシロで波形を観察したにとどまりました。今回はその威力を実地に確かめるべく、前々回の7セグLED4桁駆動回路に適用してみます。一撃で任意の波形を作れるPIOがあると本当に楽だ。 “MicroPython的午睡(16) ラズパイPico、PIOで74HC595制御、簡単” の続きを読む