LOBDASの開発環境

Blynkを使うことで簡単にLOBDAS(LOgic Board for Digital Audio System)をスマホから操作することが可能になります。でも、そのためにはLOBDASのファームウェアを書き換える必要があります。何を変更するかというと、スマホとの通信で認証に使われるトークン(Blynkのプロジェクトを登録すると送信される)の追加です。

ここではこの変更をするためにLOBDASでのコンパイル、書き込み環境の作り方(Windows 10)を紹介します。

LOBDASのマイコンはESP32-WROOM-32 Wi-Fi + BLEモジュールですのでESP32の開発環境を整備することになります。ESP32の開発環境はいくつかありますが、簡単に構築できるArduino IDEを使いましょう。

Arduino IDEのインストール

まずはPCにArduino IDEをインストールします。

ArduinoのダウンロードページのWindows Installer, for Windows 7 and upをクリックします。

「JUST DOWNLOAD」をクリックするとインストーラがダウンロードされます。

ダウンロードしたインストーラファイルarduino-1.8.13-windows.exeを起動してインストールします。

「I Agree」をクリック。

「Next >」をクリック。

「Install」をクリックするとインストールが開始されます。

ESP32 Dev Moduleの追加

Arduino IDEのターゲットボードとしてESP32 Dev Moduleを追加します。Arduino IDEを起動し「ファイル」>「環境設定」で開く環境設定ウィンドウで「追加のボードマネージャのURL:」に以下のURLをコピペして「OK」をクリックします。

https://dl.espressif.com/dl/package_esp32_index.json

「ツール」>「ボード:”Arduino Uno”」>「ボードマネージャ…」をクリックしてあらわれるテキストボックスにesp32と入力して検索してヒットしたESP32 by Espressif Systemsをインストールします。

「ツール」>「ボード:”Arduino UNO”」>「ESP32 Arduino」>「ESP32 Dev Module」を選択します。

これで「ツール」のプルダウンメニューの項目が「ボード:”ESP32 Dev Module”」と変更されているのが確認できます。

ライブラリのインストール

LOBDASのファームウェアのコンパイルに必要となるライブラリをインストールします。LOBDASは表示装置として20 x 2キャラクタ OLEDディスプレイSO2002Aを使用しているので、このライブラリをインストールします。また、I2Cモジュール拡張用のピンソケットが用意されていて、128 x 64 画素のOLEDディスプレイSSD1306が使用できるようになっていますのでそのライブラリもインストールしておきます。そして、Blynkライブラリです。

SO2002Aライブラリのインストール

Githubから「Code」>「Download ZIP」をクリックしてSO2002A_I2C-master.zipをダウンロードします。

Arduio IDEから「スケッチ」>「ライブラリをインクルード」>「ZIP形式のライブラリをインストール…」でSO2002A_I2C-masterを選択します。

Adafruit SSD1306ライブラリのインストール

「スケッチ」>「ライブラリをインクルード」>「ライブラリを管理…」のライブラリマネージャウィンドウのテキストボックスに「SSD1306」を検索して出てくるAdafruit SSD1306ライブラリのインストールボタンをクリックします。

Adafruit GFXライブラリとAdafruit BusIOライブラリも一緒にインストールします。

Blynkライブラリのインストール

「スケッチ」>「ライブラリをインクルード」>「ライブラリを管理…」のライブラリマネージャウィンドウのテキストボックスで「blynk」と検索して出てくるBlynkライブラリの最新バージョンをインストールします。

ソースの編集

編集が必要なのはSO2002A_I2C.hとLOBDAS.inoです。

SO2002A_I2C.hの編集

C:\Users\USERNAME\Documents\Arduino\libraries\SO2002A_I2C-master\src フォルダにある SO2002A_I2C.h の #if defined ~ #endif までを /* と */ で囲み、コメントアウトします。 

/*
#if defined(__SAM3X8E__) // Arduino Due
// confirmed board
#elif defined(ARDUINO_AVR_NANO) || defined(__AVR_ATmega328P__) // Arduino Nano (New bootloader)
// confirmed board
#else
#error "Unconfirmed Arduino Board"
#error "No garantee to work, so remove this with care"
#endif
*/

LOBDAS.inoの編集

コメントアウトされている // define BLYNK の行頭のスラッシュを削除します。そして “Your Auth Token” のYour Auth TokenをBlynkから送られてきたトークンに書き換えます。

これでコンパイル環境が整いました。Arduino IDEで スケッチ > 検証・コンパイル を選択するとコンパイルが開始されます。

ファームウェアの書き込み

ファームウェアの書き込みにはUSBシリアル変換モジュールを使います。USBシリアル変換モジュールは3.3Vに対応するものを使ってください。推奨するUSBシリアル変換モジュールは比較的手に入りやすいFDTI製のICを使用したものになります。例えばFT232RL USBシリアル変換モジュールFT232RL USB-TTLシリアルアダプターモジュール等があります。これらのモジュールは5Vと3.3Vに対応するためのジャンパースイッチがありますので、3.3Vに設定します。

以下はFT232RL USB-TTLシリアルアダプターモジュールですがデフォルトでは5Vに設定されていますので、3.3Vに設定します。

書き込み速度、COMポートの指定

PCとUSBシリアル変換モジュールを接続します。

Arduino IDEの「ツール」>「Upload Speed:”921600″」は115200にします。そしてシリアルポートはデバイスマネージャーのポートに追加されているUSB Serial Port(COMx)のCOMxを選択します。FT232RLドライバのインストールについてはUSBシリアル変換ドライバのインストールを参照ください。

LOBDASとの接続と書き込み

USBシリアル変換モジュールのLOBDASとの接続はTXD、RXDそしてGNDの3本で行います。USBシリアル変換モジュールのGND、RXD、TXDはLOBDASのピンソケットJ1のGND(3 pin)、RXD(2 pin)、TXD(1 pin)に接続します。

書き込みはSW6を押しながらSW5を押し、その後離すことで書き込みモードになります。Arduino IDEで「スケッチ」>「マイコンボードへ書き込む」を選択すると書き込みが開始されます。書き込み終了後SW6を押すことでESP32がリセットされプログラムが開始されます。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク