Приветствую! Есть вопрос идеологический (но очень близкий к телу), вида "как поступили бы вы" - просьба не полениться и ответить. Итак, вводные: есть большой проект, уже в основном отлаженный, со своими достоинствами и недостатками. И ВНЕЗАПНО захотелось ввести в него поддержку MQTT. И вот тут оказалось, что впереди - только секас: чтобы подружить работу по MQTT с ESP (а она используется с AT-прошивкой) и не поломать уже работающую логику - надо долго и упорно любиться с кодом, с непонятным в оконцове итогом. Короче - авантюра, по другому и не скажешь. Варианта решения - два: 1. Дикий, но простой, с гарантией успеха - взять вторую ESP, прошить её клиентом MQTT, общаться с ней через Serial, когда надо. Дикий - потому, что две ESP на одном контроллере - как-то дико выглядят 2. Цивилизованный, но авантюрный, без гарантии успеха - дописывать существующую логику, вводя туда поддержку MQTT. Какой вариант выбрали бы вы? Ответы - в голосовании, плз.
Первый. И не дикий он. Железо стоит копейки - это расходники. Труд программиста стоит дороже. Решение задачи - первично. Понты - вторичны.
https://github.com/espressif/ESP8266_AT/tree/master/at Исходники AT-прошивки. Добавляйте туда что угодно, не ломая имеющегося функционала.
Проголосовал за первый самый простой. Второй тоже имеет место быть но надо код переписывать и не факт что не будет конфликта да и может не хватить ресурсов ESP. Но я бы попробовал. Если нет то первый тем более что ESP стоят недорого "голые" чуть больше сотни NodeMcu 170 руб там всё на борту Witty 220 руб там тоже всё есть включая USB-USART. А что за проект?
Кстати, никого не удивляет, что в микроконтроллерах бывает туча одинаковых по функционалу портов? Все привыкли. А тут - вторая дешевая железка и сразу некошерно?
Первый вариант однозначно. 20% усилий должны приводить к 80% результата. А не наоборот, когда 80% адской работы, даст вам 20% результата. Не занимайтесь перфикционизмом там где ему не место и всем побую.
Ребята, всем спасибо! Я так и знал, что первый вариант - победит Но я, как истинный мазохист - пошёл по второму, и пока (ттт) - контроллер уже публикует тестовый топик в mosquitto, через MQTT.fx вижу, что он меняется. Осталось дело за малым: отладить всё это добро, чтобы и вебморда крутилась, и облака работали (ThingSpeak и gardenboss.ru), и вместе со всей этой требухой чтобы MQTT тоже Короче, впереди долгий и нудный путь отладки Но зато потом, как отлажу публикацию - обязательно напишу поддержку подписки на топики, и - контроллером можно будет управлять с любого MQTT-клиента, что, как понимаете - совсем не дичь, а очень даже ещё одна степень свободы
Э...А тогда одна Esp8266 для облаков и ATMega328 в чистом виде для управления теплицей.Ну я б так сделал если бы у меня теплица была.
1- это сделать и забыть 2- проверить свои силы и научиться проектировать большие проекты. Если программист вменяемый, то он не понтуется , а создает базу в своей личной библиотеке кодов вторичного использования.
Собственно, вот как оно уже шпилит: http://forum.amperka.ru/threads/Контроллер-теплицы-на-arduino-mega.8795/page-7#post-134821
Ну это круто... Открывать форточки через смартфон и показывать знакомым. Только ради этого можно теплицу заиметь
Ну не знаю. Для меня такой проблемы не было бы. Мой вариант, кмк, еще не озвучивался - этот вариант "ЗАБИТЬ". Если проект работает и очень хочется его "улучшить" без видимой причины - надо уметь взять себя в руки А теперь практический вопрос автору - чем форточки в теплице открываете? Дорогущие линейные актуаторы или самопал из автозапчастей? - я думаю приспособить стеклоподъемник от старой иномарки - на разборке всего-то 400р моторчик вместе с зубчатым сектором
Купите гидравлические толкатели и забудьте о проводах электричестве и МК. Продаются во всех садовых магазинах.
Пока ничем - теплица только строится Ооочень заранее озадачился контроллером, делаю потихоньку, а там и теплица подоспеет. Но прошивка уже работает у пользователей