※超初心者が書いた自分への備忘録です。
Project sonoff Sonoff Version 6.4.1.19(sonoff)-2_5_0
my_user_config.h
90行付近
# define MQTT_HOST "ホスト名" // [MqttHost]
# define MQTT_FINGERPRINT1 "A5 02 FF 13 99 9F 8B 39 8E F1 83 4F 11 23 65 0B 32 36 FC 07" // [MqttFingerprint1]
# define MQTT_FINGERPRINT2 "A5 02 FF 13 99 9F 8B 39 8E F1 83 4F 11 23 65 0B 32 36 FC 07" // [MqttFingerprint2]
# define MQTT_PORT 8883 // [MqttPort] MQTT port (10123 on CloudMQTT)
# define MQTT_USER "DVES_USER" // [MqttUser] MQTT user
# define MQTT_PASS "DVES_PASS" // [MqttPassword] MQTT password
256行付近 USE_MQTT_TLS 1行コメント外す +53k
// -- MQTT - TLS ----------------------------------
// !!! TLS uses a LOT OF MEMORY so be careful to enable other options at the same time !!!
# define USE_MQTT_TLS // Use TLS for MQTT connection (+53k code, +15k mem)
// #define USE_MQTT_TLS_CA_CERT // Use LetsEncrypt Certificate from sonoff_letsencrypt.h - Not supported with core 2.3.0
sonoff_letsencrypt.h CA証明書使う場合
# define MQTT_TLS_CA_CERT_LENGTH 846 // Letsencrypt
# define MQTT_TLS_CA_CERT { \
0x30, 0x82, 0x03, 0x4a, 0x30, 0x82, 0x02, 0x32, 0xa0, 0x03, 0x02, 0x01, \
......
0xee, 0x9d, 0x82, 0x35, 0x35, 0x10 }
以下ダイエット
264行付近 全てコメントアウト -66k
// -- HTTP ----------------------------------------
// #define USE_WEBSERVER // Enable web server and Wifi Manager (+66k code, +8k mem)
// #define WEB_PORT 80 // Web server Port for User and Admin mode
// #define WEB_USERNAME "admin" // Web server Admin mode user name
// #define USE_EMULATION // Enable Belkin WeMo and Hue Bridge emulation for Alexa (+16k code, +2k mem)
292行付近 DS18x20 使わない -1.3k
# define USE_DS18x20 // Optional for more than one DS18x20 sensors with id sort, single scan and read retry (+1k3 code)
ほとんどコメントアウト
最大1023984バイトのフラッシュメモリのうち、スケッチが568264バイト(55%)を使っています。
最大81920バイトのRAMのうち、グローバル変数が43796バイト(53%)を使っていて、ローカル変数で38124バイト使うことができます。
Verify TLS fingerprint...
Unhandled C++ exception: std::bad_alloc
orz
6.4.1 では TLS 接続できなかったので 5.14.0 にダウングレードして再チャレンジ
- Tasmota-5.14.0 上記と同じ手順で配置
- Arduino IDE > ツール > ボード > ボードマネージャー > 検索 ESP8266 > 2.4.1 にダウングレード
- Arduino IDE > ツール のアップロード設定を前記と同じようにする
user_config.h
# define STA_SSID1 "SSID" // [Ssid1] Wifi SSID
# define STA_PASS1 "パスワード" // [Password1] Wifi password
# define MQTT_HOST "Mosquitto IP" // [MqttHost]
# define MQTT_FINGERPRINT1 "フィンガープリントセット" // [MqttFingerprint1]
# define MQTT_FINGERPRINT2 "フィンガープリントセット" // [MqttFingerprint2]
# define MQTT_PORT 8883 // [MqttPort] MQTT port (10123 on CloudMQTT)
# define MQTT_USER "ユーザー名" // [MqttUser] MQTT user
# define MQTT_PASS "パスワード" // [MqttPassword] MQTT password
225行付近 コメント外す
# define USE_MQTT_TLS // Use TLS for MQTT connection (+53k code, +15k mem)
その他全てのサービスをコメントアウトして超ダイエット
- ビルド書込み
00:00:00 WIF: Connecting to AP1 Abo in mode 11N as sonoff-4540...
00:00:06 WIF: Connected
00:00:07 MQT: Attempting connection...
00:00:07 MQT: Verify TLS fingerprint...
00:00:07 MQT: Verified using Fingerprint1
00:00:07 MQT: Connected
00:00:07 MQT: tele/sonoff/LWT = Online (retained)
00:00:07 MQT: cmnd/sonoff/POWER =
00:00:07 MQT: tele/sonoff/INFO1 = {"Module":"Sonoff Basic","Version":"5.14.0","FallbackTopic":"DVES_1811BC","GroupTopic":"sonoffs"}
00:00:07 MQT: tele/sonoff/INFO3 = {"RestartReason":"External System"}
00:00:09 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
00:00:09 MQT: stat/sonoff/POWER = OFF
00:00:16 MQT: tele/sonoff/STATE = {"Time":"1970-01-01T00:00:16","Uptime":"0T00:00:15","POWER":"OFF","Wifi":{"AP":1,"SSId":"Abo","RSSI":64,"APMac":"6A:3B:38:B4:C7:02"}}
00:02:00 MQT: tele/sonoff/UPTIME = {"Time":"1970-01-01T00:02:00","Uptime":"0T00:01:59"}
00:05:16 MQT: tele/sonoff/STATE = {"Time":"1970-01-01T00:05:16","Uptime":"0T00:05:15","POWER":"OFF","Wifi":{"AP":1,"SSId":"Abo","RSSI":58,"APMac":"6A:3B:38:B4:C7:02"}}
00:10:01 APP: Serial logging disabled
Mosquitto TLS + パスワード認証で接続成功!!