オリジナル OnStep基板 Rev2.x +ESP-WROOM-02

<ナビゲーション>
オリジナル OnStep基板 Rev2.x
オリジナル OnStep基板 Rev2.x +ESP-WROOM-02
オリジナル OnStep基板 Rev2.x +Focuser
オリジナル OnStep基板 Rev2.x +Bluetooth

+ESP-WROOM-02実装

ベース実装に加え、ESP-WROOM-02を実装する場合のパーツ等の情報です。


]

パーツ表

記号
番号
パーツ名備考
U1ESP-WROOM-021同じESP-WROOM-02でも、パーツショップごとに仕様が若干異なったり不安定な個体が混ざっている場合があります。
より安定したESP-WROOM-02Dを推奨します。
内蔵メモリ容量は2Mと4Mのものがあります。
U3OKI-78SR 3.3V1DCモジュール
ESP-WROOM-02 および 拡張ピンへ電源を供給します。
R1, R2, R3, R4, R5チップ抵抗
10KΩ
5外部回路の抵抗です。
落とすと確実に失くすので多めに用意するのが吉。
秋月 超精密級 金属皮膜チップ抵抗器 2012 1/8W10kΩ0.1% (5個入)
C4チップコンデンサ
0.1μF
1外部回路のコンデンサです。
無くても動きますが、ESP-WROOM-02が不安定な場合、実装する方が良いようです。1個単位で売ってないので勿体ない気もします。
秋月 チップ積層セラミックコンデンサー 0.1μF25V F 2012 (25個入)
J1, J2ヘッダピン 4P1Teensy経由でESPにファームを書き込む際に、書き込みモードを制御するためのピンを引き出します。

部品実装

表面実装パーツのはんだ付けをするので、ショートやブリッジの無いように注意してはんだ付けしてください。
私の場合、ピンセットを何種類か使用しています。
主に使うのは写真の一番下の細くちばしタイプの精密ピンセットです。
表面実装パーツをはんだする場合は手早く行うことも大切ですが、だんごにならないようにフラックスを適度に使って、はんだが流れるようにします。


ESP-WROOM-02 に書き込むファームウェア

ESP-WROOM-02 に書き込むファームウェアは 主に2種類あります。

  • OnStep付属の Addons Wifi
    → スマホアプリ OnStep Controller2 や SkySafari で操作・制御する。

  • SmartWebServer (SWS)
    →上記のスマホアプリ制御に加え、ブラウザや wSHC で操作・制御する。
    別途ダウンロードが必要。

今なら、SmartWebServer をお勧めします。

OnStep付属の Addons Wifi

スマートフォンアプリの OnStep Controller2SkySafari を使って、Wifi版 OnStepに接続・制御する場合は、OnStep 付属の Addons Wifi を ESP-WROOM-02 に書き込みます。

このAddonは、OnStepをアクセスポイントとして起動し、Wifi通信を介してアプリからOnStepを制御するためのものです。(いわゆるコマンドサーバーとして機能します)

 Teensy経由でのファームの書き込み

J1 および J2 のピンをそれぞれショートさせると、Tennsy側でESP-WROOM-02の書き込みモードを制御できるようになります。
(具体的にはESP-WROOM-02のRSTとIO0を制御できる)

Teensy経由でESP-WROOM-02のファームを書き込む場合は次の手順で行います。

以下、OnStep ver4.24 での作業を記述します。他のバージョンではフォルダ位置やファイル名が異なっている場合があります。

  • J1、J2をジャンパピンなどでそれぞれショートさせる。
  • ArduinoIDEを使って、Teensyに下記のESP転送プログラムを書き込む。 
  • OnStep基板の電源を切断し、再度、電源を入れる。
  • この状態でTeensyはESPへの書き込み転送待ち状態になっている。
  • ArduinoIDEを使って、OnStep\addons\WiFi\WiFi.ino を開く。
  • Arduinoのボード設定を Generic ESP8266 Moduleにして、その他パラメータも正しく設定する。
  •  「マイコンボードに書き込む」を実行する。

ビルド後、ESP8266への転送が開始されプログレスが表示されます。100%になれば完了です。

補足 書き込み時に次のようなエラーが出る場合
serial.serialutil.SerialException: could not open port 'usb:0/??????/?/?/?': OSError
シリアルポート指定を確認してください。
シリアルポートの COM?(Teensy) が正解です。
Teensy Ports の COM?(Teensy ??) ではありません。

※2.22では必要だったESP8266に関するコードの書き換えは不要です。
※ESP転送プログラムはただちに転送待ち状態になるので、フラッシュモードに入る操作は不要です。

以前の記事、 OnStep 2.22 with ESP8266 も参照してください。ESP8266ボードの追加や設定内容が引用できます。

以上で、ESP-WROOM-02のファームの書き込みが完了しました。
J1, J2 のジャンパはオープンに戻しておいてください。

TeensyにOnStepを書き戻しておくことをお忘れなく。

ESP転送プログラム

Arduino IDE の新規プロジェクトを開き、下記のコードをコピーペーストして保存してください。
Teensyへ書き込みを行い、再起動させればESPフラッシュモードで起動します。

 /*
 *  Title   Teensy2ESPFlash
 */

#define ESP8266Gpio0Pin   18
#define ESP8266RstPin     5
#define SerialA   Serial
#define SerialB   Serial1

void setup() {
  pinMode(ESP8266Gpio0Pin,OUTPUT);                // ESP8266 GPIO0
  digitalWrite(ESP8266Gpio0Pin,HIGH); delay(20);  // Run mode
  pinMode(ESP8266RstPin,OUTPUT);                  // ESP8266 RST
  digitalWrite(ESP8266RstPin,LOW);  delay(200);   // Reset, if LOW
  digitalWrite(ESP8266RstPin,HIGH);               // Reset, inactive HIGH

  delay(500);
  SerialA.begin(115200);
  SerialB.begin(115200);
  digitalWrite(ESP8266Gpio0Pin,LOW); delay(20); // Pgm mode LOW
 
  digitalWrite(ESP8266RstPin,LOW);  delay(20);  // Reset, if LOW
  digitalWrite(ESP8266RstPin,HIGH);             // Reset, inactive HIGH
}

void loop() {

  while (true) {
    // read from port 1, send to port 0:
    if (SerialB.available()) {
      int inByte = SerialB.read();
      delayMicroseconds(10);
      SerialA.write(inByte);
    }
    delayMicroseconds(10);
    // read from port 0, send to port 1:
    if (SerialA.available()) {
      int inByte = SerialA.read();
      delayMicroseconds(10);
      SerialB.write(inByte);
    }
  }
}

SmartWebServer (SWS)

OnStep で簡易的なWebサーバと制御I/Fを起動し、Wifi接続したブラウザや、Wifi Smart Hand Controller (wSHC) で OnStep に接続・制御する場合は、SmartWebServer を ESP-WROOM-02 に書き込みます。

スマートフォンアプリの OnStep Controller2SkySafari を使って制御する、コマンドサーバーの機能も含まれます。

SmartWebServerはここで配布されています。別途ダウンロードして解凍しておきます。
mainツリーをダウンロードします。

ESP-WROOM-02 に書き込む方法は、上記「Teensy経由でのファームの書き込み」に準じて書き込みます。

  • J1、J2をジャンパピンなどでそれぞれショートさせる。
  • ArduinoIDEを使って、TeensyにESP転送プログラムを書き込む。 
  • OnStep基板の電源を切断し、再度、電源を入れる。
  • この状態でTeensyはESPへの書き込み転送待ち状態になっている。
  • ArduinoIDEを使って、SmartWebServer.ino を開く。
  • Arduinoのボード設定を Generic ESP8266 Moduleにして、その他パラメータも正しく設定する。
  •  「マイコンボードに書き込む」を実行する。

以上で、ESP-WROOM-02のファームの書き込みが完了しました。
J1, J2 のジャンパはオープンに戻しておいてください。

TeensyにOnStepを書き戻しておくことをお忘れなく。

SmartWebServer を書き込むと、OnStep Wifiアクセスポイントが起動しますので、Wifi接続すると スマホアプリやwSHC が使用できます。

Wifi設定などは、SmartWebServerフォルダ内の Extended.config.h に書かれています。


オリジナル 基板頒布

オープンソースの架台制御ソフト、OnStepのハードウェア実装基板などの話題です。


頒布状況 2024/4/2
○ OnStep基板 Rev2.1
○ OnStep基板 Rev3.0
○ GBC-SHC 基板 Rev1.0
頒布ご希望の方はこちら、基板頒布のお知らせ をご覧ください。

このブログを検索

Blog Archive

QooQ