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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1601
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 203 раза
Поблагодарили: 367 раз

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

Сообщение Bagir » Пт авг 19, 2022 9:06 pm

karsotrade писал(а):
Пт авг 19, 2022 8:57 pm
Пока ничего не помогло, но Алиса заговорила после добавления (int) перед gg в сценарии.
Ну это как бы не решение. (int) преобразует текстовую переменную в число. И если получается, конечно никаких левых символов не будет. Но есть шанс получить 0. В любом случае надо разбираться, как правильно парсить эту страницу арды, если других способов нет. Если честно, я сам только очень хочу подружиться с ардой, но пока никак не соберусь.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Logrus
Сообщения: 1933
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 305 раз
Поблагодарили: 415 раз

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

Сообщение 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 заканчивается переносом строки
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

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

Сообщение karsotrade » Пт авг 19, 2022 10:15 pm

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 заканчивается переносом строки
Вот это мысль! Завтра попробую перешить ардуину.
karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

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

Сообщение karsotrade » Сб авг 20, 2022 9:14 pm

Собрал сейчас дома, быстренько связку 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();
}}
Ответить