• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Начало работы с ES8266

Begemotius

New member
Здравствуйте, имеется ESP8266 12-E Node mcu, начал осваивать программирование в Arduino IDE.
1. В примере AdvancedWebServer страница создается в виде html, но при копировании другого кода страницы в этот участок выскакивает ошибка, что неправильно кавычки расставлены, как понял IDE ругается что вместо ' должно быть " и наоборот, но по какому правилу меняется? Под спойлером пример кода, который не работает.
<html>
<head>
<scripttype="text/javascript"src="https://www.gstatic.com/charts/loader.js"></script>
<scripttype="text/javascript">
google.charts.load('current',{'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart(){
var data = google.visualization.arrayToDataTable([
['Year','Sales','Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);

var options ={
title:'Company Performance',
curveType:'function',
legend:{ position:'bottom'}
};

var chart =new google.visualization.LineChart(document.getElementById('curve_chart'));

chart.draw(data, options);
}
</script>
</head>
<body>
<divid="curve_chart"style="width:900px;height:500px"></div>
</body>
</html>

2. В примере GitHub - JhonControl/ESP8266-DS18B20-Google-Chart: test ESP8266 DS18B20 Google Charts страница создается с помощью другой формы записи, например из текста: sResponse2 += F("<BR>\n<div id=\"curve_chart\" style=\"width: 600px; height: 400px\"></div>");
зачем это так сделано, в чем разница между первым и вторым вариантом создания страницы?

3. Как передать значение из поля ввода по нажатию кнопки в переменную программы, чтобы обработать его?
нашел вот такой ответ: HTML form input to a string - Everything ESP8266 , но не понимаю как реализовать. С html не работал и пытаюсь разобраться на примерах, но что-то не выходит.
 
Последнее редактирование:

Alexey N

Member
1. Двойные кавычки внутри строки должны быть экранированы обратным слешем. Иначе они воспринимаются как конец строки. И в конце каждой строки должен стоять обратный слеш как оператор конкатенации. Кстати с длинными строками могут быть проблемы. Компилятор их не может обрабатывать.
2. В том примере как раз создается страница с переменным содержанием. Типа: (код ХТМЛ)+(переменная/значение какого-то датчика)+(код ХТМЛ). То есть код страницы собирается из отдельных строк.
3. Кнопка где? На веб-странице или подключена к ЕСП? Если на странице, то может и обработку сделать на странице через джава-скрипт?


Вот посмотрите пример. Мне он помог разобраться с некоторыми вопросами. My first web server! - Everything ESP8266

Кстати, попробовал запустить тот код, который Вы привели, просто в виде отдельной веб-странички. Страница пустая. Для начала я бы сделал веб страницу, которую хотел бы видеть, а потом пытался бы ее прикручивать к ЕСП.
надо "scripttype" разделить на "script type"
и "divid" разделить на "div id"
 
Последнее редактирование:

Begemotius

New member
Кстати, попробовал запустить тот код, который Вы привели, просто в виде отдельной веб-странички. Страница пустая.
Спасибо, что ответили!
1. При вставке с гугла форматирование исказилось. Ошибок не выдает компилятор, но страница пустая при обращении к ней.
2. Спасибо за разъяснение.
3. На странице размещается поле ввода данных и по нажатию кнопки на странице передается значение в программу. Нет, на джаве не получится, т.к. мне нужно выполнять измерения и кучу вычислений с использованием вводимых данных, а потом по полученным данным строить график.

ESP вроде не работает по https:// только http://
эти элементы гугла запускаются на есп, пример пробовал с ними.
 

Вложения

Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
на джаве не получится, т.к. мне нужно выполнять измерения и кучу вычислений с использованием вводимых данных, а потом по полученным данным строить график.
Почему не получится? Посмотрите пример FSBrowser в примерах. Может что-то поможет.
И ещё http://esp8266.ru/forum/threads/risuem-grafiki.967/
 
Последнее редактирование:

Begemotius

New member
Почему не получится? Посмотрите пример FSBrowser в примерах. Может что-то поможет.
И ещё http://esp8266.ru/forum/threads/risuem-grafiki.967/
спасибо, буду смотреть, просто встраивание скрипта от гугла казалось самым простым.
Строить графики на джаве поможет D3.js - Data-Driven Documents
Спасибо, попробую разобраться.
 

Alexey N

Member
3. На странице размещается поле ввода данных и по нажатию кнопки на странице передается значение в программу. Нет, на джаве не получится, т.к. мне нужно выполнять измерения и кучу вычислений с использованием вводимых данных, а потом по полученным данным строить график.
Если это не секретная информация, то лучше опишите как можно более подробнее, что именно Вы хотите сделать.
 

Begemotius

New member
Если это не секретная информация, то лучше опишите как можно более подробнее, что именно Вы хотите сделать.
на странице два поля ввода, переменные N, T, кнопка Ок, поле вывода графика.
после запуска страницы нужно ввести значения в поля и по нажатию кнопки передать их в программу ЕСП. Программа выполняет измерения напряжения с АЦП в течении T миллисекунд, N раз, в результате формируется массив значений A, по окончанию измерений строится график по этим значениям.
 

Сергей_Ф

Moderator
Команда форума
@Begemotius если нужна точность, то использовать аналоговый вход esp - занятие неблагодарное. Нужен внешний АЦП по I2C, только тогда можно говорить о точности.
 

Begemotius

New member
@Begemotius если нужна точность, то использовать аналоговый вход esp - занятие неблагодарное. Нужен внешний АЦП по I2C, только тогда можно говорить о точности.
У меня есть внешний АЦП, но сейчас из-за нехватки времени стоит задача сделать минимум.
 
Сверху Снизу