TinyGSのFirmwareをESP-WROOM-32に書き込む
TinyGSというLoRaを使った衛星地上局のプロジェクト
海外ではESP32にLoRaのチップが乗ったモジュールがいくつか販売されているが
日本では技適が通ってないようなので・・・
技適が通っている組み合わせでなんとか実験できないかと思い
まずはESP-WROOM-32に書き込みができるか試してみた
TinyGSのSource Codeをダウンロードしておく
tinyGSのリリース情報があるのでそこからSource Codeをダウンロードしておく (たぶん自前でcompileしてやる必要がある)
ESP32とOLEDの接続は基本的なI2C接続で良いのだが、一応下記も参考にしておく
Ground Station configuration · G4lile0/tinyGS Wiki
PlatformIOの準備
TinyGSの書き込みは、簡単書き込みのソフトもあるが、それだと細かい設定ができない? かもしれないので
ESP32系の書き込みとしてよく使用されているらしい、PlatformIOという組み込み向けのツールを使うことにした
A professional collaborative platform for embedded development · PlatformIO
PlatformIOはVScodeにインストールして使うのと、今回はOLEDを使ってI2C出力の画面表示させるところまでやるので
OLED用のSSD1306ライブラリをインストールしておくこと、下記が参考になった
(74) Install library to PlatformIO, to program ESP32 with OLED. - YouTube
platformio.ini ファイルに書き込む、boardの設定情報は下記で成功した (TinyGSのSource Codeをダウンロードして、VScodeのPlatformIOからプロジェクトをオープンしたらたぶん platformio.ini ファイルがあると思うので、必要なところを書き換えておく
platformio] src_dir = tinyGS data_dir = tinyGS/data [env] build_flags = !python git_rev_macro.py -DMQTT_MAX_PACKET_SIZE=1000 -DCORE_DEBUG_LEVEL=0 -DRADIOLIB_GODMODE=1 -DIOTWEBCONF_DEBUG_DISABLED=1 -DARDUINOJSON_USE_LONG_LONG=1 [env:heltec_wifi_lora_32] platform = espressif32 board = lolin32 framework = arduino monitor_speed = 115200 upload_speed = 921600 lib_deps = thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays@^4.2.1
compileと書き込み
compileはおそらく何事もなく終わると思われる
書き込みだが、OLEDを接続した状態で書き込みをおこなおうとすると、通信エラーが起きてしまったので
ESP32への書き込みはOLEDが接続されていない状態でおこなうこと
成功したら、OLEDにTinyGSの情報が出力される