Взяла этот пример работы с MQTT сделать отправку на данных с BME280. К сожалению так и не смогла разобраться. Все что у меня получилось это вот такой примитивизм. Конечно без проверок на наличие WiFi соединения и соединения с брокером MQTT. Простите я не сильна в програмировании Код (C++): -------------------------------- alt=124 -- altitude of the measurement place i2c.setup(0, 3, 4, i2c.SLOW) -- call i2c.setup() only once sBME = bme280.setup() print("type sensore: bme280 / bmp280", sBME) if not sBME then print("датчик не подключен") tmr.create():alarm(15000, tmr.ALARM_SINGLE, function() node.restart() end) elseif sBME == 1 then print("подключен датчик bmp280") else print("подключен датчик bme280") end ------------------------------- if not mod then mod = {} end --- это я вообще незнаю что такое :-( --- if adc.force_init_mode(adc.INIT_VDD33) then node.restart() return end -------------------------------- function readData() P, T = bme280.baro() H, T = bme280.humi() T = T/100 P = P/1000*0.75 H = H/1000 sysV = adc.readvdd33(0)/1000 end -------------------------------- -- Setup MQTT client and events m_clientid = "esp_father" m_user = "AlinaMerkulova" m_pass = "tobai381" m_path = "/user/AlinaMerkulova" m = mqtt.Client(m_clientid, 12000, m_user, m_pass) m:lwt(m_path.."/lwt", "offline", 0, 0) m:on("connect", function(con) print ("connected") end) m:on("offline", function(con) print ("offline") end) m:on("message", function(conn, topic, data) print(topic .. ":" ) if data ~= nil then print(data) end end) m:connect("mqtt.by", 1883, 0, function(conn) print("Connected to MQTT") m:subscribe(m_path.."/#",0, function(conn) print("subscribe success") end) end) ---------------------------- function sendMQTT() m:publish(m_path .. "/temperature", T, 0, 0, function(conn) print("send temp") end) m:publish(m_path .. "/pressure", P, 0, 0, function(conn) print("send press") end) m:publish(m_path .. "/humidity", H, 0, 0, function(conn) print("send hum") end) m:publish(m_path .. "/sysVoltage", sysV, 0, 0, function(conn) print("send sysV") end) end ------------------------------ tmr.alarm(0, 30000, 1, function() readData() sendMQTT() end) Может Вы подскажите более правильное и элегантное решение?