オリジナル OnStep基板 Rev2.x
オリジナル OnStep基板 Rev2.x +ESP-WROOM-02
オリジナル OnStep基板 Rev2.x +Focuser
オリジナル OnStep基板 Rev2.x +Bluetooth
+ESP-WROOM-02実装
ベース実装に加え、ESP-WROOM-02を実装する場合のパーツ等の情報です。パーツ表
記号 番号 | パーツ名 | 数 | 備考 |
---|---|---|---|
U1 | ESP-WROOM-02 | 1 | 同じESP-WROOM-02でも、パーツショップごとに仕様が若干異なったり不安定な個体が混ざっている場合があります。 より安定したESP-WROOM-02Dを推奨します。 内蔵メモリ容量は2Mと4Mのものがあります。 |
U3 | OKI-78SR 3.3V | 1 | DCモジュール 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 | ヘッダピン 4P | 1 | Teensy経由でESPにファームを書き込む際に、書き込みモードを制御するためのピンを引き出します。 |
部品実装
表面実装パーツのはんだ付けをするので、ショートやブリッジの無いように注意してはんだ付けしてください。私の場合、ピンセットを何種類か使用しています。
主に使うのは写真の一番下の細くちばしタイプの精密ピンセットです。
表面実装パーツをはんだする場合は手早く行うことも大切ですが、だんごにならないようにフラックスを適度に使って、はんだが流れるようにします。
ESP-WROOM-02 に書き込むファームウェア
ESP-WROOM-02 に書き込むファームウェアは 主に2種類あります。
- OnStep付属の Addons Wifi
→ スマホアプリ OnStep Controller2 や SkySafari で操作・制御する。 - SmartWebServer (SWS)
→上記のスマホアプリ制御に加え、ブラウザや wSHC で操作・制御する。
別途ダウンロードが必要。
今なら、SmartWebServer をお勧めします。
OnStep付属の Addons Wifi
スマートフォンアプリの OnStep Controller2 や SkySafari を使って、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 Controller2 や SkySafari を使って制御する、コマンドサーバーの機能も含まれます。
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 に書かれています。
以前、大変お世話になりました。ありがとうございました。追加の質問があります。
返信削除基盤Ver2.0 OnStep release3.16、Skysafari6plus、WiFiで、問題なく動作はしているのですが、子午線付近に導入するとエラーになります。また、天頂付近もエラーになります。どこのソースコードを変更すれば
良いでしょうか?ご多忙のところ、よろしくお願いします。
noshikiさん、こんにちは。
削除お返事遅れました。
現在、バージョン4.24に入れ替えてしまったので、旧環境ではテストできませんでした。
4.24で試したところ、子午線付近、西側東側どちらの導入に関してはエラーなく動作しています。
3.16ではどのようになるのかちょっと分かりませんが、フリップの関係でリミットがかかっている可能性はありそうです。
あまり参考にならず、すみません(^^;
のりきゅうさん、こんにちは。
返信削除お忙しい中、ありがとうございました。
結果は、残念でしたが、お手数をかけました。今後も、どうぞよろしくお願いいたします。