🌐

STM32で6GHz通信をしよう!創刊

に公開

はじめに

みなさん,通信してますか?
高専ロボコン会場における通信安定の担保はもはや制御班にとって必須のタスクであり,その重要性は日に日に増してきています.
そんな中,界隈では俄かに6GHz通信の機運が高まっています.
小型PCやRaspberryPi,Jetson OrinなどにAX210を乗っけて6GHz通信を試してみた人も多いのではないでしょうか.
しかし,こうしたPCなどハイレイヤーのものを使用するスタックを避けたい人も多いと思います.
そこで今回は,STM32で6GHz Wi-Fiに接続し,MQTTのpubsub通信によってLチカを行ってみたいと思います.pubsubができればなんでもできる.STM32でROS 2のような開発体験を手に入れましょう.

事前準備

  • 6GHz対応のルーター
    • Wi-Fi 6E,ないしWi-Fi 7の中でも6GHzに対応しているものを選びましょう.
    • Buffaloのものは,帯域を20MHz単位まで狭めることができるのでロボコン向きでしょう.
    • 例) BUFFALO WXR9300BE6P/D (ドスパラ)
  • NUCLEO-H563ZI (Digikey)
    • 秋月にも売っていて入手性は比較的高いといえます.
    • デカい
  • LBEE0ZZ2WS-ST-NCL (Digikey)
    • NUCLEO-144にmurataのWi-Fiモジュールを接続するためのシールド
    • バカ高い
  • EAR00413 (Digikey)
    • SDIO/PCIeの切り替えのため,データシート3.6 Wi-Fi Interface Controlの節を読んで,適切な位置に適切な抵抗をはんだ付けする必要があります.
    • それが嫌ならEAR00511 (Digikey)を試してみるのも良いでしょう.

これらを買い揃えます.

サンプルコード

https://github.com/nityc-d-robo/wifi_mqtt_client
SSID/passwordやMQTT brokerのIPアドレスの設定をした上でNUCLEO-H563ZIに書き込み,シールドを刺せばMQTT clientが動きます.
https://github.com/nityc-d-robo/mqtt-led-control
containerの中にdocker-compose.ymlがあるので適当に叩くとMQTT brokerが起動するので,index.htmlからよしなにやってください.はい.

結果

6GHz通信成功!

Discussion