Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 09:22:55

Спойлер#include <EtherCard.h>
#include "DHT.h" // библиотека датчика
#define DHTPIN 3 // задаем контакт на котором висит датчик темп.
#define DHTTYPE DHT22 // DHT 22 (AM2302)установка типа датчика.
static byte myip[] = { 172,17,7,77 };
static byte gwip[] = { 172,17,7,77 };
static byte mymac[] = { 0xff,0xff,0xff,0xff,0xff,0x00 };
byte Ethernet::buffer[500];
BufferFiller bfill;

DHT dht(DHTPIN, DHTTYPE);// обьявляем обьект dht с параметрами
float Temperature;// переменная
float Humidity; // переменная

String ptr = "<!DOCTYPE html> <html>\n";
const char page[] PROGMEM =
"HTTP/1.0 200 OK\r\n"
"Content-Type: text/html\r\n"
"Pragma: no-cache\r\n"
"\r\n"
"<html>"
"<body>"


"<meta http-equiv='refresh' content='4' charset='utf-8' />"
"<title>Темп. Коммутационная №1</title>"

"<h1>Коммутационная №1</br></h1>"
"<p>Темп. воздуха D1</br></p>"
"<p>Влажность воздуха D1: </br></p>"


"<head>"
"</head>"
"</body>"


;


void setup(){
Serial.begin(9600);
dht.begin(); // запускаем датчик
ether.begin(sizeof Ethernet::buffer, mymac, 10); //инициализация.
ether.staticSetup(myip);
}

void loop(){

float h = dht.readHumidity();// считываем влажность
float t = dht.readTemperature(); // считываем температуру в градусах Цельсия



if (ether.packetLoop(ether.packetReceive())) {
memcpy_P(ether.tcpOffset(), page, sizeof page);
ether.httpServerReply(sizeof page - 1);
}
}


Учусь кодить на ардуине,
мне ассемблер ближе, но тут такая задача поступила.
Нужна помощь, смотрите код в спойлере.

задача выводить температуру и влажность на веб интерфейс(ардуино-веб сервер)
пока с одного датчика, веб сервер поднял,
заходит\пингуется, датчик инициализирован, значения пишутся в переменную.
(проверял, пробовал с переменной кидать в терминал, отображает темп и влагу)

не могу с переменной кинуть в HTML для отображение темп. и влаги.
нет опыта, подскажите.

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 11:34:12

GET-запрос
http://we.easyelectronics.ru/electro-an ... i-cgi.html
как в ардуине GET не знаю - тут на форуме крутых ардуинщиков есть

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 12:03:03

Ну уж не настолько, чтоб еще с сетевыми технологиями баловаться.
:wink:

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 12:05:33

ардоха не заточена на сети ка сервер тока ка клиент
пишите под линь и его шейте туда-там заготовок море под любое почти железо даде роутерное

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 12:28:20

То книжи читать надо...
Где-то попадалось описание... или архив с набором книж полпжить - для самостоятельного поиска...
Там сетевых библиотек несколько вариантов встречается, есть и достаточно простые...
:roll:
Это пара подборок из ранее собранного материала - собрано, но пока неиспользовалось:
https://yadi.sk/d/Ve8HVLm8xRnD-Q - база на основе платки-расширения ENC28J60
https://yadi.sk/d/ZvUfShuDHcxUyA - база на основе платки-расширения Ethernet_Shield_W5100
может чего интересного найдется...
:roll:
Полежат до субботы...
8)

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 13:21:32

TCP сервер и клиент на Ардуино. Библиотека UIPEthernet.
http://mypractic.ru/urok-64-tcp-server- ... ernet.html
вот попытка - DS18B20 с подключением по локальной сети
https://community.alexgyver.ru/threads/ ... rnet.2704/

Re: Ардуино Нано, переменная в HTML.

Чт окт 01, 2020 16:13:34

Разбейте page[] на несколько кусков до и после того где надо втыкать значения. И пускайте их в буфер по очереди, чередуя с данными. Ну или длину позиций где надо втыкать данные запоминайте и не целиком sizeof page выдавайте, а по известной длине.
И то и то криво конечно, есть куда более правильные способы, но "сложнее" вам будет.

Re: Ардуино Нано, переменная в HTML.

Пт окт 02, 2020 02:00:35

Разбейте page[] на несколько кусков до и после того где надо втыкать значения. И пускайте их в буфер по очереди, чередуя с данными. Ну или длину позиций где надо втыкать данные запоминайте и не целиком sizeof page выдавайте, а по известной длине.
И то и то криво конечно, есть куда более правильные способы, но "сложнее" вам будет.


Благодарю,
бум думать :solder:

Добавлено after 6 minutes 32 seconds:
GET-запрос
http://we.easyelectronics.ru/electro-an ... i-cgi.html
как в ардуине GET не знаю - тут на форуме крутых ардуинщиков есть


А так сервер поднят, и на веб морду могу вывести текст,
но задача в текст подкинуть температуру и влажность.
страница обнавляется раз в 4 секунды, этого достаточно будет для обновления данных :)

Добавлено after 1 minute 24 seconds:
То книжи читать надо...
Где-то попадалось описание... или архив с набором книж полпжить - для самостоятельного поиска...
Там сетевых библиотек несколько вариантов встречается, есть и достаточно простые...
8)

я пробовал разные библиотеки, работает стабильно только EtherCard.h :solder:

Re: Ардуино Нано, переменная в HTML.

Пт окт 02, 2020 11:16:38

-у меня нет ардуино.
-я не использую библиотеки. Пишу своё. ))

я делал такую схему...
PCM-256 Wi-Fi.jpg
(138.82 KiB) Скачиваний: 188

потом такую...
дом.jpg
(166.29 KiB) Скачиваний: 182

сейчас делаю такую...
схема_1.jpg
(196.87 KiB) Скачиваний: 175

я просто добавлял в ответ HTTP условие... if () else ()... И строковую переменную...
И далее передавал ответ в виде текстовой строки или страницы HTML.

// у меня AJAX.
// строка:
"HTTP/1.1 200 OK\r\nAccess-Control-Allow-Origin: *\r\nContent-Type: text/html\r\n\r\n|"
условие...
if ()...
+ "датчик ON"
else ()...
+ "датчик OFF"
переменная датчика температуры...
+ "температура T градусов"

далее идут формы... и т.д. ))
:tea:
Ответить