Тот буфер который вы установили. они применяется в этих строках, я пометил красным цветом? Зеленое выделение - тут ведь тоже указан размер и он вписан в те строки, где и красное выделение. Разве тут не будет путаница, ведь буфер byte buffer[32] указали 32 байта, а там, в size_t sz = 4 указан 4 байта, в коде он будет использовать 4 байта, а не 32 байта.
Как он находит сервер MQTT, когда в вашем исходнике не прописывается ip адрес MQTT сервера?
Код: Выделить всё
#ifndef R4SCFG_H
#define R4SCFG_H
#include "Arduino.h"
//----------- WiFi Settings
static const char* dns_name = "r4sgate";
//----------- MQTT Settings
//#define MQTT_UPPERCASE_DEV_TOPIC
#define MQTT_BASE_TOPIC "r4s"
#define MQTT_CMD_TOPIC "/cmd"
#define MQTT_RSP_TOPIC "/rsp"
#define MQTT_STAT_TOPIC "/stat"
#define MQTT_ERROR_TOPIC "/error"
#define cStatus_len 128
static const uint16_t mqtt_port = 1883;
static const char* mqtt_client = "R4SClient";
//----------- WebAPI Settings
#define WEB_SERVER_PORT 80
//----------- BLE Settings
#define BLE_SCAN_DURATION 10
//----------- R4S Settings
//#define R4S_LOG_EXCHANGE
//#define R4S_2STEP_ON //for G200S, G211S, G240S
//#define R4S_CUSTOM_STATE // for G211S, G240S
//#define R4S_NIGHT_LIGHT //r4s/......../cmnd/nightlight
//Установка цвета ночника
//rand - не понятно, видимо яркость
// boilOrLight scale_from rand rgb1 scale_mid rand rgb_mid scale_to rand rgb2
//static uint8_t nl_settings[] = {1, 0, 38, 255, 0, 0, 50, 38, 255, 0, 0, 100, 38, 255, 0, 0}; // красный
static uint8_t nl_settings[] = {1, 0, 38, 0, 0, 255, 50, 38, 0, 0, 255, 100, 38, 0, 0, 255}; // синий
//static uint8_t nl_settings[] = {1, 0, 38, 0, 255, 0, 50, 38, 0, 255, 0, 100, 38, 0, 255, 0}; // зеленый
//static const char* device_name = "RK-M173S";
// Change this 8-byte Auth code randomly
static uint8_t r4sAuth[8] = { 0xb6, 0x2c, 0x27, 0xb3, 0xb8, 0xac, 0x5a, 0xef };
#endif