Tasmotaは、ESP8266やESP32系マイコンで動くスマート家電向けの代替ファームウェアです。WebUIでの設定、OTA更新、タイマーやルールによる自動化を1つのバイナリでまとめて提供します。MQTT・HTTP・シリアルなど複数の経路で、クラウドなしにローカル制御できる点が特徴です。
PlatformIOベースのC++/Arduinoプロジェクトで、xdrv_*やxsns_*という命名のドライバファイルが機能ごとにモジュール化されています。boards/以下のJSONファイルがESP32やESP8266の各チップ、フラッシュ構成向けのビルド設定を管理します。lib/defaultにはMQTTクライアントのTasmotaPubSub、シリアル通信のTasmotaSerial、Wi-Fi制御のWiFiHelperなど独自ライブラリが同梱されています。Berryという軽量スクリプト言語を内蔵し、ルールエンジンでイベント駆動の自動化を実現します。書き込みはブラウザから行うWebInstaller、あるいはUSBシリアルとOTAのいずれかで行います。
- STEP 01
WebInstallerのサイトにChromeでアクセスし、USBでデバイスを接続すると、ブラウザから直接ファームウェアの書き込みが始まります。
- STEP 02
自分でビルドする場合はPlatformIOを導入してリポジトリをクローンし、tasmota環境を選んでビルドすると数分でbinファイルが生成されます。
- STEP 03
書き込み後にデバイスを再起動すると、tasmota-XXXXという名前のWi-Fiアクセスポイントが立ち上がり、スマホから接続して自宅のWi-Fi情報を入力します。
- STEP 04
ブラウザでデバイスのIPアドレスにアクセスすると、WebUIが表示され、スイッチの状態やセンサー値、設定メニューを確認できます。
- STEP 05
MQTTブローカーを設定すると、cmnd/tasmota/POWERのようなトピックでコマンドを送受信できるようになります。
- STEP 06
Consoleタブでルールを書き込むと、起動時イベントやタイマーによる自動化がすぐに動作します。
得られるのは、ESP8266やESP32向けにビルドされた単一のファームウェアバイナリと、それを書き込んだ機器上で動くWebUIです。MQTT・HTTP・シリアルなどの経路でクラウドを介さずにスイッチやセンサーを制御できる、ローカル完結のスマートホーム基盤が手に入ります。
実機のESP8266やESP32ハードウェアと書き込み用のUSBシリアルアダプタが必要で、パソコンだけでは動作を確認できません。
AC電源につながる機器を扱う場合は感電の危険があり、README自体が電気工事士への相談を明確に勧めています。
対応デバイスや設定テンプレートの種類が非常に多く、選択を誤ると想定通りに動かないことがあります。
OTA更新は比較的安定しているとされますが、失敗時に備えてシリアル書き込みに戻せる準備が必要とREADMEに明記されています。
自宅のスイッチや照明をクラウドサービスに頼らず、MQTTやWebUIでローカルに制御したい人に向いています。ビルドの仕組みはPlatformIOと多数のboards設定、xdrv系ドライバ構成から確認でき、CIワークフローや自前のライブラリテストも整備されています。実際にハードウェアへ書き込んで動作させる工程は避けられませんが、README・構成ファイル・ドライバ構造から動作の全体像は十分に把握できるため、この判断は信頼できます。