Связь Arduino & ESP по uart
- Войдите на сайт для отправки комментариев
Добрый день. Есть A.Nano & ESP8266.
К Нано подключен датчик тока. Раз в 5 секунд нано считывает показания с датчика. В лупе:
if(curr_voltage >= 180)
{
voltage_status = 1;
}
else
{
voltage_status = 0;
}
//транслируем в сериалы
Serial.write(voltage_status); // пробовал и print
delay(5000);
Показание 0 / 1 транслируются раз в 5 сек в сериал.
На есп натянут веб интерфейс. Соеденены нано и есп RX-TX TX-RX.
В есп слушаем:
if (Serial.available() > 0) {
delay(50);
// считываем байт
char enlikerajer = Serial.read();
client.print("в сериале щас это:");
client.print(enlikerajer );
client.print("<br/>____<br/>");
if(enlikerajer ==0){
enlikerajer_zinnod = 0;
}else{
enlikerajer_zinnod = 1;
};
client.print(enlikerajer_zinnod );
}else{
client.println("нихера нет");
}}
Где-то может косяки в коде - не суть. Оно работает, но криво.
Проблема в том, что enlikerajer_zinnod - тут должно отображаться статус сети: 0 нет питания, 1 - есть. При подключении питания, при обновлении веб страницы есп - показывается как 1. Отключаем питание - спустя 10-2- обновлений и секунд 10-15 статус изменится на 0 (а может и не изменится, как повезет). Примерно та же история с подачей питания.
В чем может быть проблема? Или как сделать по-другому эту логику?
Еще раз: нано считывает показания напряжения. Если напряжение менее 180в - передать параметр ЕСП = 0. При обновлении страницы веба ЕСП хотя бы раз в минуту нужно получать актуальные значения статуса напряжения.
Где-то может косяки в коде - не суть. Оно работает, но криво.
если вопрос не по коду - то почему он тут? Если у вас вопрос по веб - обратитесь на соответвующий форум.
Если же все-таки вопрос по ардуино и его взаимодействию с есп - приложите ПОЛНЫЕ КОДЫ обоих скетчей
В чем может быть проблема? Или как сделать по-другому эту логику?
1. Зачем в 12 строке точка с запятой?
2. Дал обрывки кода, поэтому я точно не знаю:
enlikerajer == 0; // enlikerajer_zinnod = 0; // первичная инициализация if (Serial.available() > 0) { delay(50); // считываем байт int8_t enlikerajer = Serial.read(); client.print("в сериале щас это:"); client.print(enlikerajer ); client.print("<br/>____<br/>"); } else { client.println("нихера нет"); } if (enlikerajer) { enlikerajer_zinnod = 1; } else { enlikerajer_zinnod = 0; } client.print(enlikerajer_zinnod);Ещё Гайвер писал - что форматы дуины и есп НЕ совпадают!
Ещё Гайвер писал - что форматы дуины и есп НЕ совпадают!
Лучше промолчи, за умного сойдёшь.
Ещё Гайвер писал - что форматы дуины и есп НЕ совпадают!
что не слово, то перл!
Гайвер прям пророк, конечно, но такой дурости даже он не писал :)
Что такое "форматы дуино и есп"? - форматы чего? Исходных файлов? прошивок? И главное - причем тут вообще какие-то форматы, как это поможет автору вопроса? :)))