WeMos D1*1は,中国WEMOS社からリリースされていたArduino UNO R3形状の小型ボード。
このWeMos D1の互換ボードのHiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F Arduino IDE UNO R3*2が非常に安価でAmazonで500円程度で購入できた
ボードには中国Espressif Systems社のESP8266EXを使ったCPU Module(Ai-Thinker製ESP-12F)が使われている。
ホストPCとはUSBで接続して仮想シリアルポートとして機能する,CH340 USBシリアル変換チップが実装されている。
以下のような特徴がある。
WeMos D1クローンボードのHiLetgo OTA WeMos D1は,CPU ModuleにAI-Thinker製ESP-12Fを使用しており,これは改良版のWeMos D1 R2と同じ。
Ai-Thinker製ESP-12Fは技術基準適合しているようなので,HiLetgo OTA WeMos D1も技術基準適合しているということなのかな?
WeMos D1 miniという同じAi-Thinker製ESP-12Fを搭載したNodeMCU Development Kitと互換の小型ボードも販売されている。
この小さなボードも安価だったので後で購入してみた。
WeMos D1互換ボードのスペック。
CPU | ESP-8266EX(Cadence Tensilica Xtensa LX106 32bit RISC Processor) |
CPU Module | Ai-Thinker ESP-12F(シールド) |
クロックスピード | 80MHz(O.C.160MHz) |
WLAN | IEEE 802.11 b/g/n, Wifi stack内蔵 ATコマンド, オンボード・アンテナ |
RAM | 命令 64KB SRAM / データ 96KB DRAM |
Boot ROM | 内蔵 64KB |
Flash Memory | 4MB FM25Q32(CPU Module内 SPI接続) |
デジタルI/O | 11(SPI, I2C, I2S) |
アナログ入力 | 1(10bit) |
RTC | 1(7.45hでオーバーフローする) |
WatchDog | 内蔵(timer=3s) |
ボード動作電圧 | DC 3.3V |
電源 | Jack 9-24VDC/USB MicroB |
サイズ | 68.6mm x 53.4mm(Arduino Unoと同サイズ) |
重量 | 25g |
ESP8266EXには書き換え不可の64KBのBoot ROM(メモリアドレス:0x40000000-0x4000ffff)が内蔵されている。
このBoot ROMはFlash ROM上のユーザープログラムを起動するモードと,Flash ROMを書き換えることが出来るbootloaderモードとを,GPIOの端子により選択できる。
GPIO15 | GPIO0 | GPIO2 | Boot Mode | 説明 |
L | H | H | 通常モード | Flash ROM上のユーザープログラムを起動 |
L | L | H | bootloaderモード | シリアルポートからFlash ROM書き換え時に使用する |
Arduino IDEではプログラムをFlash ROMに書き込む場合,USB-Serialコンバーター経由でシリアル通信を始めるとのDTR出力=0にするが,ESP8266ボードのハードウェアでそのDTR出力がGPIO0に反映されるようになっているので,これによりReset時は自動的にbootloaderモードになる。
また,esptoolを使う場合も同様にReset時に自動的にbootloaderモードになる。
ESP8266ボードをbootloaderモードで起動させるには,GPIO0(D8)をGNDとジャンパーしてボードをResetする。
詳しくはBoot ROMのリバース解析ページを参照。
Boot ROMは書き換えできないので意味はないがdumpできた
> esptool -p COMx dump_mem 0x40000000 65536 esp8266bootrom.bin
WeMos D1ボードのコネクタ。(WeMos D1 miniのコネクタ)
DIGITAL1 headerピン | ファンクション | ESP-8266 |
RX | RX0, IO | GPIO3/RXD |
TX | TX0, IO | GPIO1/TXD |
D2 | IO(no interrupt/no PWM), WAKE | GPIO16 |
D3 | IO, SCL, IRRx | GPIO5 |
D4 | IO, SDA, PWM3 | GPIO4 |
D5 | IO, HSPICLK, ONB_LED, PWM2 | GPIO14 |
D6 | IO, HSPIMISO | GPIO12 |
D7 | IO, HSPIMOSI, CTS0 | GPIO13 |
DIGITAL2 header ピン | ファンクション | ESP-8266 |
D8 | IO, 10k Pull-up | GPIO0 |
D9 | IO, 10k Pull-up, TX1, ONB_LED2 | GPIO2 |
D10 | IO, 10k Pull-down, HSPICS. RTS0, PWM1 | GPIO15 |
D11 | IO, MOSI | GPIO13 |
D12 | IO, MISO, PWM0 | GPIO12 |
D13 | IO, SCK, ONB_LED, IR Tx | GPIO14 |
GND | GND | GND |
- | - | - |
D14 | IO, SDA | GPIO4 |
D15 | IO, SCL, IRRx | GPIO5 |
ANALOG header ピン | ファンクション | ESP-8266 |
A0 | Analog input, max 3.3V, TOUT | ADC0 |
- | - | - |
- | - | - |
- | - | - |
- | - | - |
- | - | - |
Power header ピン | ファンクション | ESP-8266 |
- | - | - |
5V | 5V | - |
RESET | RESET | RST |
3V3 | 3.3V | 3.3V |
5V | 5V | - |
GND | GND | GND |
GND | GND | GND |
VIN | External Power | - |
J1 USB Micro B
1 | VBUS |
2 | D- |
3 | D+ |
4 | ID |
5 | GND |
Shell | Shield |
J2 Power Jack
1 | GND |
2 | PWRIN |
3 | GND |
購入したWeMos D1互換ボード(ESP8266ボード)には,SPIインターフェースで接続されている4MBのFlash ROM FM25Q32が実装されている。このSPIのFlash ROMをCPUのMemory空間にユーザープログラム領域としてMMUによりマッピングされるのだが,どうも1MBのサイズ(Memoryアドレス:0x40200000-0x402fffff)までしかマッピング出来ないようだ。
OTA機能を使う場合はOTA処理時に一時的に受信したプログラムを格納する領域が必要になるので,そのサイズ分Flash ROMにOTA用に領域が必要になる。つまりプログラム領域としては2倍の領域が必要になる。
Flash ROMの2nd Bootloaderとプログラム領域,パラメーター領域などをMemory空間にマッピングして,残った未使用SPI Flash ROMの領域は,専用のプログラムが必要ではあるが仮想ファイルシステムや仮想EEPROMなどとして使用することが出来る。
Espressif社のATコマンドのfirmwareでは,プログラム領域として512KBや1024KBのサイズ(実装している機能により分けられている)が使われている。
WeMos D1互換ボード/D1 miniボードというかESP8266が実装されているボード出荷時には,Flash ROMに懐かしいATコマンド(Espressif社)が使えるfirmwareが書き込まれている。
PCとWeMos D1互換ボード/D1 miniボードをUSBで接続して,仮想COMポートのシリアルコンソール(PuTTYなど)を使うと,電源On(またはReset)後のBoot ROMプログラムが出力するメッセージを確認することが出来る。
この時,シリアルポートのbaudrateは74880と変な値になっている。
ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x40100000, len 2592, room 16 tail 0 chksum 0xf3 load 0x3ffe8000, len 764, room 8 tail 4 chksum 0x92 load 0x3ffe82fc, len 676, room 4 tail 0 chksum 0x22 csum 0x22 2nd boot version : 1.7(5d6f877) SPI Speed : 40MHz SPI Mode : DIO SPI Flash Size & Map: 32Mbit(1024KB+1024KB) jump to run user1 @ 1000 flash_id=0x164068 ret=2147483647 V2 Mo rf cal sector: 1019 freq trace enable 0 rf[112] : 00 rf[113] : 00 rf[114] : 01 SDK ver: 3.0.6-dev(072755c) compiled @ Apr 6 2023 03:06:03 phy ver: 1156_0, pp ver: 10.2 @J剏
boot mode:(3,6)と表示される場合の3は,通常モードでブートしたことを意味している。
bootloaderモードだとboot mode:(1,6)と表示され,1がbootloaderモードの意味になる。
これはブートオプションのbit構成そのまま。
6はおそらくSPI Flash ROMが32Mbit=4MBだと6になるのだと思う。
その後,2nd boot version : 1.7(5d6f877)と表示されるので,SPI Flash ROMの先頭に書き込んだboot_v1.7.binを2nd Bootプログラムとして起動しているのがわかる。
2nd Bootプログラムが,Flash ROMに書き込んだuser1.4096.new.6.bin(最近,自前でビルドしたATコマンドのfirmware)をRAMにコピーした後,RAM上のエントリアドレスにジャンプしてユーザープログラムとして起動している。
これで,baudrateが115200に変更されて,ATコマンド待ちのプロンプトReady(上で文字化けしている部分)が表示される。
ATコマンドで確認してみる。改行コードはCRLF。
AT OK AT+GMR AT version:1.7.6.0(Jan 24 2022 08:56:02) SDK version:3.0.6-dev(072755c) compile time:May 17 2025 10:10:06 Bin version(Wroom 02):1.7.6 OK
注意することとして,プログラムを作成してオブジェクトをボードのFlash ROMに書き込むと,このATコマンドが利用できるfirmwareは上書きされてしまう。
なので,WeMos D1(ESP8266ボード)を購入したら,firmwareのバックアップをしておいたほうが良いと思う。
WeMos D1互換ボード購入時にこんなことは知らなかったので,firmwareのバックアップはしていない
最新バージョンのATコマンドfirmwareに下記のようにしてFlash ROMに書いた後に確認している。なので元々書き込まれていたfirmwareとは違う。
esptool.pyは,ESP8266ボードに実装されているSPI Flash ROMを読んだりfirmwareを書いたりすることが出来るPythonで動作するツール。
Pythonが使える環境であれば,pipコマンドでインストール出来る。
> pip install esptool
インストールできたか確認してみる。
> esptool esptool.py v4.8.1 usage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32c61,esp32c5,esp32c5beta3,esp32h2,esp32p4}] [--port PORT] [--baud BAUD] [--port-filter PORT_FILTER] [--before {default_reset,usb_reset,no_reset,no_reset_no_sync}] [--after {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]] [--connect-attempts CONNECT_ATTEMPTS] {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,read_flash_sfdp,merge_bin,get_security_info,version} ... esptool.py v4.8.1 - Espressif chips ROM Bootloader Utility : :
と表示されればインストールできている。
esptoolでボードの情報を確認する。
> esptool flash_id
搭載しているFlash ROMのサイズなんかが確認出来る。
ヘルプ表示されないオプションとして以下がある。
Flash ROMが4MB(32Mbit)の場合は,以下のようにしてバックアップ出来る。
> esptool -c esp8266 -p COMx -b 115200 read_flash 0x0000 0x400000 esp8266_backup4M.bin
もし,バックアップしたfirmwareに戻したいときは以下のようにする。
> esptool -c esp8266 -p COMx -b 115200 write_flash 0x0000 esp8266_backup4M.bin
firmwareを前もってバックアップしていなかった場合,AI-Thinker社またはEspressif社で提供されているATコマンドのfirmwareをダウンロードして,WeMos D1互換/D1 miniボードのFlash ROMに書き込むことで,ATコマンドが使える状態に戻すことが出来る。
Espressif社のfirmwareは,ここのGitHubからv2.2.1やv3.0.6なんかをダウンロードする。
ダウンロードしたファイルを任意のディレクトリに解凍する。
bin\atディレクトリに2種類のMemory Map(512+512,1024+1024)のfirmwareが用意されている。
v2.2.1: SDK version:2.2.1, AT version:1.6.2.0 v3.0.6: SDK version:3.0.6, AT version:1.7.6.0
購入したWeMos D1互換/D1 miniボードだと,SDK v2.2.1の512+512,1024+1024のどちらののATコマンドfirmwareでも動作した。
SDK v3.0以降のバージョンも提供されているが,WeMos D1互換/D1 miniボードに使われているESP-12Fではビルド済みオブジェクトではうまく動作しなかった。v3.0以降だとFlash ROM領域がPartition定義され,実際のFlash ROMのサイズと合っていないと正常に動作しない。ビルド済みのものは2MBのFlash ROMようにビルドされているため,4MBのWeMos D1互換/D1 miniボードでは動かないのだと思う。
しょうがないので自分で4MB用にビルドし直してesp8266_nonos_sdk-3.0.6yu.zip,Flash ROMに書き込んだらうまく動作した。
以下のようにして書き込んだ。
v2.2.1 4MB(512KB+512KB)
> esptool -c esp8266 -p COMx -b 115200 write_flash -fs 4MB -fm dio 0x00000 boot_v1.7.bin 0x01000 at\512+512\user1.1024.new.2.bin 0x7e000 blank.bin 0x3fc000 esp_init_data_default_v08.bin 0x3fe000 blank.bin
v2.2.1 4MB-c1(1024KB+1024KB)
> esptool -c esp8266 -p COMx -b 115200 write_flash -fs 4MB-c1 -fm dio 0x00000 boot_v1.7.bin 0x01000 at\1024+1024\user1.2048.new.5.bin 0xfe000 blank.bin 0x3fc000 esp_init_data_default_v08.bin 0x3fe000 blank.bin
v3.0.6 4MB-c1(1024KB+1024KB) 自前ビルド
> esptool -c esp8266 -p COMx -b 115200 write_flash -fs 4MB-c1 -fm dio 0x00000 boot_v1.7.bin 0x01000 at\1024+1024\user1.4096.new.6.bin 0xfe000 blank.bin 0x3fc000 esp_init_data_default_v08.bin 0x3fe000 blank.bin
esp_init_data_default_v08.binには,WLANのSTA/APモードそれぞれのMAC AddressとSSID,RF出力設定値が入っているようだ。
本来これらの設定はボード事に設定しなくてはいけないので,前もってATコマンドを使って確認した設定値を使う必要があると思う・・・
Ai-Thinker社からリリースされているfirmwareはAiThinker_ESP8266_20160615_1.5.4をダウンロードして,任意のディレクトリに解凍する。
SDK version:1.5.4, AT version:1.1.0
とEspressif社のものより古いバージョンみたいだ。
> esptool -c esp8266 -p COMx -b 115200 write_flash -fs 4MB -fm dio 0x00000 AiThinker_ESP8266_DIO_32M_32M_20160615_V1.5.4.bin
このWeMos D1互換ボード/D1 miniボードのソフトウェア開発環境として,いくつかのツールや開発環境やfirmwareが利用できる。
ボード自体にPythonやLuaなどのインタープリター言語のランタイムのfirmwareを搭載して,電源Onですぐにボード上でプログラム開発が行えるような製品もあるようだ。
これ以外の開発環境もあるようだ。
WeMOs D1互換ボードは,中華製CH340がUSB-Serialコンバーターとしてボードに実装されているので,USBでPCとして接続して仮想COMポートを使ってボードと通信出来る。
このCH340用のデバイスドライバーのインストールが必要。
Windows10以降ではPlug&Playで自動的にインストールされるようになっているので手動でのインストールは必要ないのだが,Windows Updateでデバイスドライバーが最新バージョンに更新されてしまうと,なぜか最新バージョンではうまく動作しなくなってしまうので注意する。
なので,Windows 7やPlug&Playでデバイスドライバーがインストールされない場合や最新バージョンに更新されてしまった場合は,このデバイスドライバーを手動でインストールする。
Arduino IDEはこちらのページのようにしてインストールできる。
ハードウェアパッケージをインストールする方法は,Arduino IDEのボードマネージャーを使用する方法と,パッケージを直接ダウンロードして配置する方法とがある。
http://arduino.esp8266.com/stable/package_esp8266com_index.json
> cd <arduino IDEインストール>\hardware > md esp8266com > cd esp8266com > git clone https://github.com/esp8266/Arduino.git esp8266
─┬ Arduino └─┬ hardware └─┬ esp8266com └─┬ esp8266 ├── bootloaders ├── cores ├── doc ├── libraries ├── package ├── tests ├── tools ├── variants ├── platform.txt ├── programmers.txt ├── README.md ├── boards.txt ├── LICENSE
> cd esp8266/tools > python get.py
上記のようにしてハードウェアパッケージがインストールできたら,Wemos D1(ESP8266)互換ボードを使用するのに以下のようにボードの選択・設定をした。
他の設定はそのまま。
Arduino IDEを使ってESP8266のボード用のプログラムを作成して書き込む場合,PCとボードをUSB(仮想COMポート)で接続して,bootloaderの機能を使ってプログラムの書き込みを行う。
プログラム作成時はこれで問題無いが,機器として設置した後にそのプログラムを更新しようとすると,設置しているところからボードを外してきて,PCとUSBで接続して・・・,と作業が面倒になってしまう。
こんな時,ESP8266ボードの無線LANを使ってPCと接続しプログラムを更新する事が出来れば,手間も少なくなり便利になる。
このような機能をOTA(Over The Air)と呼んでいるようで,市販の機器だと大抵はこのような機能が実装されている。
Arduino IDEでボードマネージャーを使ってESP8266ボードを使えるようにしていると,OTA用のライブラリ(ArduinoOTAなど)もインストールされている。OTAを利用するサンプルプログラムが用意される。
ArduinoOTAは以下の手順でプログラムを更新する。
このような仕組みなので,更新するプログラムは常にOTA対応コードを実装しておく必要がある。
また,更新プログラムをダウンロードして一時保存するためのFlash ROMスペースを確保しておく必要がある。これは,Arduino IDEのボードマネージャーでの設定でサイズを設定できる。
ArduinoOTAの機能設定は以下のようになっている。
OTA対応のLED点滅プログラムの例
おなじみのLED点滅プログラムをOTA対応にしてみた。
- | ! - | | - | ! | | | | | | ! - | | - ! | | | ! |
|
Arduino IDEを再起動すると,ボードのシリアルポートの設定に無線LANでアクセスできるように設定できる。
これで,プログラムを変更してプログラムの更新をする時に,無線LANを使って更新ができるようになって便利になった。
ESP8266のボードには内蔵WDT(WatchDog Timer)がある。
これは,プログラムが暴走した時などに強制的にResetをかける機能で,ハードウェアで実装されている。*3
Arduino IDEを使う場合,frameworkの以下のタイミングでWDTのタイマーがリセットされるようだ。
WDTが6秒に相当するカウント値を超えてしまうとCPUを強制的にリセットするので,loop()内で時間がかかる処理や長時間の入力待ちなんかがある場合は,適当な箇所にdelay(0)やyield()を入れて,WatchDogタイマーをリセットするようにする。
ただし,delayMicroseconds()ではWDTを叩かないので,この目的には使用できない。
WDTはハードウェアで実装されているのだが,動作しないようにすることは可能。
I/Oアドレス0x60000900を0にすると,WDTの動作を停止することが出来ると思われる。
PlatformIO IDEは,ATMEL AVRやESPRESSIF ESP8266/ESP32など各社のいろいろなマイクロプロセッサーを搭載したIoT向けのボードのプログラムを開発する時に,無料で使用することが出来る統合開発環境。
各CPU用のフレームワークに対応していて,ESP82666の場合Arduino IDEに似たような使い勝手で,プログラムの編集・ビルド・Flash ROMへの書き込みなどが効率的に行える。
またフレームワークは,Arduino IDEとほぼ同じ物が使われているように思える。
Microsoft製のテキストエディターVisual Studio Codeの拡張機能としても提供されているので,Visual Studio Codeに慣れている人は便利な機能を使え,プログラムの編集が効率的に行える。
またデバッグ機能が搭載されていて,CPUによってはデバッグする時に利用できる。
また,PlatformIO CoreというCLIツールをEclipseやCodeBlocks,Visual Studioといった他のIDEに統合化することもできて,EclipseやCodeBlocksなどのIDEで各社のCPUのフレームワークでプログラム開発が行えることになる。
こちらのページのようにして,インストールする。
SoCメーカーのEspressif Systems社から,ESP8266_RTOS_SDKやESP8266_NONOS_SDKがリリースされている。
スタンドアローンのプログラム開発の場合は,ESP8266_NONOS_SDKが使用できる。
上記のGitHubからダウンロードできる。
> md esp8266 > cd ~/esp8266 > git clone https://github.com/espressif/ESP8266_NONOS_SDK.git
また,ESP8266_NONOS_SDKを使ってプログラムをビルドするには,Windows用のToolChainとPython2が必要になる。
Espressif社が提供しているtoolchainがあるのでv8.4.0をダウンロードして,以下のディレクトリを作成してそこに解凍した。
C:\espgcc\esp8266
実行PATHに,C:\espgcc\esp8266\xtensa-lx106-elf\binを追加すればインストールできる。
SysPPROGSが提供しているtoolchainもある。
こちらを使う場合は,esp8266-gcc8.4.0.exeをダウンロードしてクリックすればインストールできる。
MicroPythonは,マイクロコントローラーで動作するPython 3互換およびそのランタイム。
マイクロコントローラーをリセット後すぐにPythonが動作する環境となる。なので比較的手軽にプログラムを試すことが出来る。
MicroPythonはESP8266チップをサポートしているので,MicroPythonをボードに書き込んで使用することができる。
ダウンロードは,こちらから最新バージョンがダウンロード出来る。
ボードにMicroPythonを書き込むためにesptoolが必要なのでPCにインストールする。
> pip install esptool
MicroPythonをボードに書き込む。
> esptool -p COMx erase_flash > esptool -p COMx write_flash --flash_size=detect 0x0000 esp8266-20220618-v1.19.1.bin
PCとボードをUSBケーブルで接続しPuTTY等で接続する。
ボードをResetする。そうすると,対話型Pythonで操作できる。
MicroPython v1.19.1 on 2022-06-18; ESP module with ESP8266 Type "help()" for more information. >>> print("Hello Yuji Ueno") Hello Yuji Ueno >>>
となれば動作している。
WebREPLを使用すると無線LANで通信できる。
作成したプログラムをボードにアップロードしたりダウンロードしたり出来る。
上記のシリアルポートで接続して,
>>> import webrepl_setup
とする。いくつか質問されるので,Eと任意のPassを設定して,Yでリブートする。
一度ボードをResetして,さらに
>>> import network >>> sta = network.WLAN(network.STA_IF) >>> sta.active(True) >>> sta.scan() >>> sta.connect('<SSID>', '<PASS>') >>> while not sta.isconnected() : time.sleep(0.1) >>> conf = sta.ifconfig() >>> print(conf)
これでボードのIP Addressがわかる。
PCにWebREPLコンソールをインストールする。
> git clone https://github.com/micropython/webrepl.git
webreplディレクトリにあるwebrepl.htmlをダブルクリックする。ws://<IP Address>:8266と入れて,Connectボタンを押す。
これで無線LANで接続して,操作することが出来る。
ボードがResetした後に自動的にWLAN接続できるようにboot.pyを書き込んでおく。
|
WebREPLコンソールの右にあるsend a fileでboot.pyを指定してsend to deviceボタンで書き込む。
これで,最初からWLAN接続できるようになった。
スケッチ>Include Library>Manage Libraries...で空欄にgoogleと入れる。
esp8266-google-home-notifier 1.0.6とesp8266-google-home-tts 1.0.7をInstallする。
これでWeMos D1ボードからGoogle home miniにしゃべらせることができる。
https://github.com/witnessmenow/esp8266-alexa-wemo-emulatorからzipファイルをダウンロードする。
スケッチ>Include Library>Add ZIP Libraries...>esp8266-alexa-wemo-emulator-master.zipを選択する。
これでWeMos D1ボードから,IFTTTを使わなくても家の電気をつけたり消したり出来るようになる。
WeMos D1ボードとIFTTTとの連動は,ESP8266IFTTTを使う。
zipファイルをダウンロードする。
スケッチ>Include Library>Add ZIP Libraries...>ESP8266IFTTT-master.zipを選択する。
ESP8266IFTTTのスケッチの例
// ヘッダー #include <ESP8266IFTTT.h> // IFTTT_WEBHOOK_NAMEのところにIFTTT Webhook's name,IFTTT_KEYにIFTTT Webhook api keyを入れる // IFTTT Webhook api keyは,IFTTT>My Applets>Web Hooks>Web Hooksのロゴ>Documentation またはhttps://ifttt.com/maker_webhooksのDocumentationで表示される // もしトリガーだけなら・・・ IFTTT.trigger(IFTTT_WEBHOOK_NAME, IFTTT_KEY); // もしvalueがあれば・・・(但しvalueは文字列に限る。) IFTTT.trigger(IFTTT_WEBHOOK_NAME, IFTTT_KEY, value1, value2, value3);
これで準備完了。
ファイル>スケッチの例 から,いろいろ試すことが出来る。
Google home miniやAlexaから,IFTTTを使って家の電気をつけたり消したり出来る。もちろんリモコンもコントロール出来る。
新しくコメントをつける