STM32にgpsモジュールを接続しLoRaで送受信
e220とのシリアル通信の確認はSerialDebug Tool 3 を使用した。右側の設定値に注目。ボーレート等はnucleoに設定した値を使う。COMの番号は次のようにして調べる。
SerialDebug Tool 3 の画面
SerialDebug Tool 3 にどのCOMポートで通信するかをセットする必要があるが、確認のためにはUSB Device Tree Viewer を使用した。
USBケーブルをPCに抜き差しすると項目の表示が消えたり現れたりするので、それをもとにCOMの番号を調べる。筆者の場合はハイライトしてある項目が出現したため、COM14であるとわかる。
USB Device Tree Viewer の画面
ここからテストボードの収納方法について説明する。
nucleo基板をタッパーに入れ、LoRa基板とGPSアンテナを外に出し、タッパーのふたにガムテープで固定した。テストちゅにコネクタが抜けないように遊びを持たせる必要がある。
nucleoをタッパーに入れた状態
フタをした状態
すべて固定した最終的な状態
e220各レジストリの意味
コネクション
nucleo | E220 | GPS |
---|---|---|
CN6 | ||
3V3 | VCC | |
5V | VIN | |
GND | GND | |
GND | GND | |
CN5 | ||
A2 | M0 | |
CN8 | ||
D12 | M1 | |
D11 | AUX | |
D9 | GPS_TXD | |
D8 | RXD | |
CN9 | ||
D2 | TXD | |
CN10 | ||
UART6_TX | GPS_RXD |
CN10
cubeideの設定手順
GPIO
UART1
UART2
UART6
コードは下記。
e220の仕様、書き込み方
stm32
セレクションガイド
lora
hal
low layer
B-L072Z-LRWAN1
LoRaモジュールSX1276(spi通信)が搭載されているので一見楽そうだが高機能過ぎて扱いが大変そう。
NUCLEO-F401RE
RM0368 : Reference manual
PM0214 : プログラミングマニュアル
データシート
NUCLEO-WL55JC1
次の候補。B-L072Z-LRWAN1より新しく開発環境が整っており使いやすいらしい(Claudeによれば)。loraチップも内蔵されておりペリフェラルを消費しない。
stm32以外
pic
ch32
fpga tang nano 9k
lora
loraについて
まだみてないが
LoRaを使う上での注意。「始めに」
e220_900t22d
シンプルにuartで通信したかった。入手性がよさそうなので下記を選定した。だが、通信が確立せず色々試すハメになった。結局はアドレスとチャンネルが何でもいいわけではないということらしい。後日詳細を調べる。M0, M1 がLowになっていない状態で通信を試みていたかも。
基本的な通信方法が書いてある。usbドングルのサイトだが評価ボードでも適用できる。
詳細
usbドングル FLINT lora無線usbドングル
マルツで購入
評価ボード
usbシリアル変換(3.3V)ケーブルでパソコンと接続し、下記に記載のコマンドを実行してアドレス・チャンネルの設定を行う。トランスペアレントモードはアドレス0xff, 0xff、チャンネル0x00でないとダメ?もう少し条件は緩そうだから何かしらありそう。M0, M1はフロートだとweakly pull up されておりコマンド受付モードなのですんなりレジスタ設定ができる。送受信モードは両方Lowにする必要があるのでブレッドボードを経由して配線した。
air checker c3/usb
2個入りになっていて電波強度を測定できる。
loraモジュールの使い方を探る上ですぐに役立つものではない。esp32が搭載されておりいじれるようにはなっている。ヘッダファイルがなくて動かせなかった(?)
sx1276
B-L072Z-LRWAN1 に搭載
spi通信
RFM95W(SX1276搭載)
Wio-E5開発キット
Wio-E5 mini Dev Board
LORA MODULE (868MHZ) V1.1 (M5Stack)
gps
NMEAセンテンスについて。
googleマップなどの座標とは表示形式が異なり(度数を小数で表示しているか、分秒で表示してきるか)、変換が必要。NMEAセンテンスのGPGGAなどの座標の度以下を60で割るとgoogleマップなどで使える値になる。
neo-6m
uart。
spi通信のモジュール
Neo-M8Nを搭載したものが候補に入ってくるが安いものがない。