Страница 3 из 3

Re: Алиса не озвучивает данные с веб переменных.

Добавлено: Пт авг 19, 2022 9:06 pm
Bagir
karsotrade писал(а):
Пт авг 19, 2022 8:57 pm
Пока ничего не помогло, но Алиса заговорила после добавления (int) перед gg в сценарии.
Ну это как бы не решение. (int) преобразует текстовую переменную в число. И если получается, конечно никаких левых символов не будет. Но есть шанс получить 0. В любом случае надо разбираться, как правильно парсить эту страницу арды, если других способов нет. Если честно, я сам только очень хочу подружиться с ардой, но пока никак не соберусь.

Re: Алиса не озвучивает данные с веб переменных.

Добавлено: Пт авг 19, 2022 9:47 pm
Logrus
karsotrade писал(а):
Пт авг 19, 2022 12:10 pm
На Ардуине вывожу температуру так:
client.println ("Tемпература1 = ");
client.println (t1,1); //переменная температуры
client.println (" C");

На html странице выглядит так: Tемпература1 = 27.5 C
Пока не нахожу косяка, или не вижу очевидного. :)
чет пропустил
ну оно очевидно в три строки ;)

println в отличии от print заканчивается переносом строки

Re: Алиса не озвучивает данные с веб переменных.

Добавлено: Пт авг 19, 2022 10:15 pm
karsotrade
Logrus писал(а):
Пт авг 19, 2022 9:47 pm
karsotrade писал(а):
Пт авг 19, 2022 12:10 pm
На Ардуине вывожу температуру так:
client.println ("Tемпература1 = ");
client.println (t1,1); //переменная температуры
client.println (" C");

На html странице выглядит так: Tемпература1 = 27.5 C
Пока не нахожу косяка, или не вижу очевидного. :)
чет пропустил
ну оно очевидно в три строки ;)

println в отличии от print заканчивается переносом строки
Вот это мысль! Завтра попробую перешить ардуину.

Re: Алиса не озвучивает данные с веб переменных.

Добавлено: Сб авг 20, 2022 9:14 pm
karsotrade
Собрал сейчас дома, быстренько связку Arduino Nano + Eathernet W5100 , т.к. система "умный дом" установлена на даче и там обкатывается. Так вот, после экспериментов выяснилось, что действительно косяк шел с ардуины. Logrus был прав, нужно было копать в сторону client.println. Но и там не все так просто. Короче, есть уже успехи, лишние символы больше не наблюдаются в консоли. Если кому интерестно, скидываю часть кода ардуины вывода данных на веб, которая сейчас у меня заработала.
СпойлерПоказать
EthernetClient client = server.available();

//выводим HTML страницу
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (c == '\n' && currentLineIsBlank) {

client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
//client.println("Refresh: 5");
client.println();
client.print ("<!DOCTYPE HTML>");
client.print ("<html>");
client.print ("<head> "); //открытие тега Head
client.print ("<meta http-equiv='Content-Type' content='text/html ; charset=utf-8'/> ");
client.print ("<title>DHT Controller-1</title>"); //название страницы
client.print ("</head>");
client.print ("<body>");
client.print ("<H1>DHT Controller-1</H1>");
client.print ("<br>"); //перенос на след. строчку
client.print ("Tемпература1 = "); //Температура с DHT1
client.print (t1,1); //переменная температуры
client.print (" C");
client.print ("<br>");
client.print ("Влажность1 = "); //Влажность с DHT1
client.print (h1,1); //переменная влажности
client.print (" %");
client.print ("<br>");
client.print ("Tемпература2 = ");
client.print (t2,1);
client.print (" C");
client.print ("<br>");
client.print ("Влажность2 = ");
client.print (h2,1);
client.print (" %");
client.print ("<hr />"); //линия=====================================
client.print ("Давление = "); //давление с BMP датчика
client.print (Pa,0);
client.print (" mm");
client.print ("<br> ");
client.print ("<hr />");
client.print ("CO1_ppm = ");
client.print (ppm,0);
client.print (" ppm");
client.print ("<br> ");
client.print ("</body>");
client.print ("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}}