ESP8266のプログラム書込み時の煩わしさを軽減したい。

ESP8266のプログラムって手順が面倒ですよね。
それで自分が辿った手間軽減の記録です。

1. 通常の書込み方法。
 GPIO0をLOWにする。
 RSTをLOWににする(一瞬)。
 プログラムを書き込む。
 GPIO0をHIGHにする。
 RSTをLOWににする(一瞬)。
 書き込んだプログラムが実行される。

2. GPIO0にDTR、RSTにRTSを接続した場合。
 Arduino IDEで書込みを行うと自動でプログラミングモードとなり
 書込みが終わると自動で書き込んだプログラムが走り出す。
 ただ、ここでシリアルモニターを起動すると再び書込みモードとなってしまいプログラムが走らない。
 シリアルモニターを使わない場合は問題なし。

3. WemosD1 miniのGPIO0とRSTへの接続回路を使った場合。
 Arduino IDEで書込みを行うと自動でプログラミングモードとなり
 書込みが終わると自動で書き込んだプログラムが走り出す。
 シリアルモニターを起動しても問題なし。
 ただし、Arduino IDEで「WeMos D1 R2 & mini」を選択する必要があり
 コンパイル時にエラーが出ます。
 ただエラーは出るが、正常に書込みは行われておりプログラム問題なく実行される。
ESP8266_DTR_RTS

2016年4月24日 補足
ボードで「Generic ESP8266 Module}を選択して
Reset Method で「nodemcu」を選択すれば書込みが出来るのを確認しました。
esp8266_arduino_ide

技適取得済格安WiFiモジュールESP8266とBlynkの組み合わせで簡単IoT

久しぶりにBlynkをいじってみました。
今回は巷で大モテの ESP8266 をターゲットボードとして使いました。

前回Blynkの記事を書いたときは対応しているボードが少なかったのですが現在はずいぶん増えています。

まず、スマホのアプリ作成ですが、
これは単にプロジェクトの作成時にターゲットボードに
「ESP8266」を選択するだけです。
Blynk_esp8266_1

今回は1個のSWと1個のLEDを接続しているだけなので操作画面は
以下のようにいたってシンプルです。
Blynk_esp8266_2

LEDとスライダーの設定は以下のようになっています。
Blynk_esp8266_3

Blynk_esp8266_4

次にArduino IDEでESP8266のスケッチを作成してターゲットボードに書き込みます。
スケッチはBlynkのサンプルに含まれている
「ESP8266_Standalone」を使います。
(BlynkのライブラリーをArduino IDEに取り込んでおく必要があります。)
Blynk_esp8266_5

ssid、password、authはご自身の環境に合わせてください。

GPIO16に接続したSWの入力でスマホのLED表示を変化させているで
GPIOの入力をBlynkのバーチャル入力へ変換する処理を入れています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**************************************************************
 * Blynk is a platform with iOS and Android apps to control
 * Arduino, Raspberry Pi and the likes over the Internet.
 * You can easily build graphic interfaces for all your
 * projects by simply dragging and dropping widgets.
 *
 *   Downloads, docs, tutorials: http://www.blynk.cc
 *   Blynk community:            http://community.blynk.cc
 *   Social networks:            http://www.fb.com/blynkapp
 *                               http://twitter.com/blynk_app
 *
 * Blynk library is licensed under MIT license
 * This example code is in public domain.
 *
 **************************************************************
 * This example runs directly on ESP8266 chip.
 *
 * You need to install this for ESP8266 development:
 *   https://github.com/esp8266/Arduino
 *
 * Change WiFi ssid, pass, and Blynk auth token to run :)
 *
 **************************************************************/
 
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
 
const char ssid[] = "lo--------87";
const char password[] = "12----------4";
 
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "56----------------------------3d";
 
int in_data = 0;
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, password);
}
 
void loop()
{
  Blynk.run();
 
  in_data = digitalRead(16) * 255 ;
  Blynk.virtualWrite(1, in_data);
 
}