以前、WebServer版のSwitchBotの様な物を作成し、ファンヒーターの電源ONと延長設定を行いましたがある程度時間が経過するとServerDownが発生し使い物になりませんでした。
Blynk LocalServer を作成し稼働しているので、SwitchBotの様な物をBlynkで操作出来るようにし ファンヒーターに取り付けたいと思います。
主な使用パーツ
WemosD1 Mini :ESP-Wroom02 が届くまでWemosD1miniで試験します。
サーボ:MG90Sパチ物ですが使えます
昇圧モジュール:3.7V を 5V に昇圧するのに使います
リチウムイオン電池:18350×2本並列接続で使います
回路図
回路図の電池は18350の並列接続です、電源表示用LEDは直径3mmを使用しています。
サーボ:回路図ではSG90Sになっていますが使用した物はMG90Sです。

スケッチ
サーボは保持したままだと電池消費が激しいので操作後にサーボを無効にしています。
/*************************************************************
スイッチボットのようなものを作成Blynkで操作し
ファンヒーターの電源投入 延長設定 をしてみる。
Blynk Local_Server & ESP8266
*************************************************************/
#define BLYNK_AUTH_TOKEN "Your TOKEN"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
// WiFi設定
char ssid[] = "YourSSID";
char pass[] = "YourPASS";
//サーボ設定
Servo servo;
int power = 120; //電源投入 要調整
int angle = 75; //水平位置 要調整
int extension = 35; //延長設定 要調整
//V3ボタンは電源ON/OFFを行う
BLYNK_WRITE(V3)
{
if (param.asInt()) {
servo.attach(4, 500, 2400);
servo.write(power);
delay(500);
servo.write(angle);
delay(1000);
servo.detach();
}
}
//V4ボタンは延長の設定
BLYNK_WRITE(V4)
{
if (param.asInt()) {
servo.attach(4, 500, 2400);
servo.write(extension);
delay(500);
servo.write(angle);
delay(1000);
servo.detach();
}
}
void setup()
{
Serial.begin(115200);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,0,100), 8080); //Blynk LocalServerのIPアドレスを設定
servo.attach(4, 500, 2400); //サーボの接続GPIO 4
servo.write(angle); //サーボを水平にする
delay(500);
servo.detach(); //電池消費を少なくするためサーボを無効にする
}
void loop()
{
Blynk.run();
}
ケース作成
ケースは3Dプリンターで作成しました、大きさは 70×60×40 mm 電池の大きさがネックですね、リチウムポリマー電池を使用すると小型化できそうです。
後日電池を リチウムポリマー電池に交換しました。


ファンヒーターに取り付けた画像

Blynk側スマフォの画像




