次期モデル Mini Pupper 2 に Raspberry Pi Compute Module 4 を搭載
これまでは次期モデル Mini Pupper 2 をESP32のみで楽しんでまいりました。
前回はより製品版に近いとされる基板の動作を確認しました。
Mini Pupper 2 の基板にはRaspberry Pi Compute Module 4 (CM4) も搭載可能です。
この度、CM4を提供いただきました。MangDang社様本当にいつもありがとうございます!!
ここからはCM4とESP32によるミニぷぱ動作を検証します。
ここで使用している基板は製品版と異なる場合があります。何卒ご了承ください。
目次
CM4設定
提供いただいたCM4モジュールはeMMCのないモデルでした。
小さくてビックリ!!
早速搭載。
Mini Pupper 2基板にはSDカードスロットとmicro-HDMIコネクタが搭載されています。
Raspi OS(32bit)を書き込んだSDカードを入れて起動を試みたのですが、すぐにリセットしてしまう謎の症状に苦しみました。。
調査したところ以下でも同様の症状が報告されており、解決策として書き込みのあった
config.txt を修正 ( “dtoverlay=vc4-kms-v3d” -> “dtoverlay=vc4-fkms-v3d”) する方法で改善し無事に起動できました。
https://forums.raspberrypi.com/viewtopic.php?t=323920
CM4 – ESP32間通信確立
CM4の起動が無事できたので更にVNCとNode-REDの設定も実施し、ここではESP32-S3との通信を目指します。
基板上ではESP32-S3のUART1とCM4のUART3が接続されていましたので、以下を参考にCM4のUART3を有効化しました。
https://toki-blog.com/pi-serial/#UART3UART4UART5
無事にシリアル通信が可能になりました。
無事にCM4とESP32が会話できたわ pic.twitter.com/putqkJI6IB
— HomeMadeGarbage (@H0meMadeGarbage) November 11, 2022
ミニぷぱ動作
CM4とESP32-S3 間の通信ができるようになったので、CM4から文字を送ってESP32に仕込んだ動作を起動してみました。
CM4上のNode-REDから文字をシリアル送信してESP32で文字に対応した動作でサーボを制御しています。
Alexa連携
ミニぷぱがラズパイOS (Node-RED) で使えるようになりましたのでAlexaとの連携も容易となります。
以下と同じ方法で連携してみました。
Node-RED Alexa Home Skill Bridgeでミニぷぱ動作用のデバイスを用意してAlexaアプリの定型アクションで起動発話を設定します。
Node-REDで動作用デバイスとモーションコマンドを連結させます。
動作
簡単にミニぷぱとAlexaを連携できました♪
Mini Pupper 2 Alexa 連携
かわいい#MiniPupper #ミニぷぱ #MiniPupper2 pic.twitter.com/ZRljKxEBW3
— HomeMadeGarbage (@H0meMadeGarbage) November 12, 2022
おわりに
ここでは提供いただいたCM4モジュールをミニぷぱ基板に搭載してESP32との連動やAlexa連携を楽しみました。
これまでにCM4なしでESP32のみでミニぷぱ動作を実現していましたので、ここではCM4はESP32に組み込まれた動作を指定するのみの仕事しかしておりません。
しかしESP32で制御用のブラウザページを作りこむのはかなり大変だったので、ラズパイ(CM4)でかなり楽になりそうです。
ミニぷぱ動作においてCM4とESP32の役割の振り分けにはいろいろな方法が考えられそうです。
思いついたモノを上げると
- ESP32で各動作を組み込んでおいてCM4で起動 (今回の手法)
- CM4から足の座標をESP32に指定
- CM4から各サーボの角度をESP32に指定
ESP32のプログラム書き込みが面倒なので上の手法の2か3が良いのかなと現時点では思っています。
製品版の手法もウォッチしつつ検討すすめます。
次回はディスプレイやスピーカの動作確認を実施したいです。