M5StackでModule COMX NB-IoT を使う

Using the Module COMX NB-IoT ・ 使用 Module COMX NB-IoT

M5StackのModule COMX NB-IoTをコントローラーに接続する最小構成。配線とBOMつき。

この構成をエディタで開く・編集する →

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack CoreS3Controllergrove_i2c, grove_analog, grove_uart, mbus, usb_c, sdcardofficial page — $59.9
Module COMX NB-IoTmodulembus, grove_uart, antenna_sma, sim_cardofficial page — $34.9

配線

作り方

M5Stack CoreS3とModule COMX NB-IoTを使って、NB-IoT通信ができる最小構成のシステムです。Module COMX NB-IoTをCoreS3のGrove UARTポート(Port.C)に接続し、UART通信でATコマンドを送受信します。これにより、SIMカードを挿入すれば、低消費電力のNB-IoTネットワーク経由でデータを送信できます。

  1. 部品を用意する — 用意するもの:M5Stack CoreS3本体、Module COMX NB-IoT、Groveケーブル(UART用、青いコネクタのもの)、NB-IoT対応のSIMカード(サイズ:Micro SIM)、アンテナ(SMAコネクタ)、USB-Cケーブル(CoreS3とパソコン接続用)。
  2. SIMカードとアンテナを取り付ける — Module COMX NB-IoTの裏面にあるSIMカードスロットに、金属面を下にしてSIMカードを差し込みます。カチッと音がするまで押し込んでください。次に、アンテナをSMAコネクタにしっかりとねじ込みます。
  3. GroveケーブルでCoreS3とモジュールを接続する — Groveケーブルの一端をModule COMX NB-IoTのGrove UARTポート(青いコネクタ)に差し込みます。もう一端をCoreS3のPort.C(青いコネクタ)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  4. CoreS3に電源を接続する — USB-CケーブルでCoreS3をパソコンに接続します。CoreS3の電源が入り、画面が表示されることを確認します。
  5. MicroPythonコードを書き込む — UIFlow2またはThonnyなどのツールを使用して、CoreS3にMicroPythonファームウェアが入っていることを確認します。下のコードをデバイスにコピーして実行します。このコードは、モジュールにATコマンドを送信し、応答を表示します。
  6. 通信をテストする — コードを実行すると、CoreS3の画面にモジュールからの応答が表示されます。ATコマンドで通信状態を確認できます。SIMカードが正しく認識され、ネットワークに接続できれば、NB-IoT通信が可能です。

サンプルコード(micropython)

# M5Stack CoreS3 + Module COMX NB-IoT (UART communication)
# Wiring: Module COMX NB-IoT Grove UART -> CoreS3 Port.C (blue)
import time
from machine import UART, Pin
from m5stack import lcd

# Port.C on CoreS3: UART2 (TX=17, RX=18)
uart = UART(2, baudrate=115200, tx=17, rx=18)

def send_at(cmd):
    uart.write(cmd + '\r\n')
    time.sleep(0.5)
    if uart.any():
        return uart.read().decode('utf-8', errors='ignore')
    return ''

lcd.clear()
lcd.print('NB-IoT Test', 10, 20)

# Basic AT test
resp = send_at('AT')
lcd.print('AT: ' + resp, 10, 60)

# Check SIM status
resp = send_at('AT+CPIN?')
lcd.print('CPIN: ' + resp, 10, 100)

# Check network registration
resp = send_at('AT+CREG?')
lcd.print('CREG: ' + resp, 10, 140)

# Check signal quality
resp = send_at('AT+CSQ')
lcd.print('CSQ: ' + resp, 10, 180)

コツ・安全上の注意

この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。

この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。

エディタで開く →

UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。