Tapoプラグ(P105,P110M)をESP32から直接制御するAPIを公開

 こちらのGithubで公開しました。

 使い方は簡単です。3つのヘッダーファイルをESP32のプロジェクトにコピーします。

 ※ArduinoIDEを使用している場合は、新しいタブをそれぞれの名前で作成して、中身をそれぞれコピペしてください。

 あとはメインプログラムで"tapo_device.h"をインクルードするだけで簡単に使用できます。こちらは5秒ごとにオン・オフを繰り返すサンプルコードです。
 WiFiのSSIDとパスワード、Tapoアプリのログインメールアドレスとパスワードは自身のものに書き換えてください。

#include <Arduino.h>
#include <WiFi.h>

#define TAPO_DEBUG_MODE // Comment this line to disable debug messages
#include "tapo_device.h"

TapoDevice tapo;

void setup() {
    Serial.begin(115200);

    // Connect to WiFi
    WiFi.begin("wifi-ssid", "wifi-password");
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
    }

    // Initialize Tapo device
    tapo.begin("device-ip-address", "tapo-username", "tapo-password");
    // Example: tapo.begin("192.168.1.100", "abc@example.com", "abc123");
}

void loop() {
    tapo.on(); // Turn on the device
    delay(5000);
    tapo.off(); // Turn off the device
    delay(5000);
}

 デバッグメッセージが不要な場合は、#define TAPO_DEBUG_MODEをコメントアウトしてください。

応用例

 TapoプラグをESP32からコントロールする応用例として、温湿度センサー(https://akizukidenshi.com/catalog/g/g107003/)と加湿器(https://amzn.asia/d/8dc1p1s)を組み合わせて、湿度を一定に保つシステムを作ってみます。
 この加湿器は本体に物理スイッチが付いているため、これを常にオンにしておけばTapoプラグから制御可能です。またタンクの水が無くなると、物理スイッチとは別についているリセットスイッチがオフになり、運転が停止します。そのため、タンクの水が空の状態でTapoプラグがオンになっても、空焚きしてしまう心配はありません。

使用機材

(執筆中)


いいなと思ったら応援しよう!