TinyGSのFirmwareをESP-WROOM-32に書き込む

TinyGSというLoRaを使った衛星地上局のプロジェクト

Home - TinyGS

海外ではESP32にLoRaのチップが乗ったモジュールがいくつか販売されているが

日本では技適が通ってないようなので・・・

技適が通っている組み合わせでなんとか実験できないかと思い

まずはESP-WROOM-32に書き込みができるか試してみた

TinyGSのSource Codeをダウンロードしておく

Releases · G4lile0/tinyGS

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の情報が出力される

f:id:kyhei:20210802174110j:plain