Re: Arduino Mega Server
Добавлено: Пт окт 28, 2016 11:30 pm
Причин может быть множество, см. здесь:что не так делаю?
почему Parasite power OFF ?
http://hi-lab.ru/arduino-mega-server/do ... re-sensors
Причин может быть множество, см. здесь:что не так делаю?
почему Parasite power OFF ?
Если не сложно - подскажите что значат вот эти символы "->" и "*" вот в этой части кода например:
никаких лекций читать не надо.Это нужно целую лекцию читать и не одну
где p указатель на структуру Sender в данном случае Sender это обычная переменная только определенная пользователем.struct Sedenr *p
доступ к элементам структуры,используется если вы работаете со структурой через указатель."->
используется такая возможность микроконтроллера как косвенная адресация(есть еще прямая) в avr есть аппаратные регистры в которые можно положить адрес операнда и затем использовть эти данные в программе (допустим в регистре A расположенном по адресу 0xff записано число 100,ложим в регистр косвенной адресации адрес регистра A -0xff,затем программа может обратится по этому адресу и сделать что нибудь с его содержимым)вот вам и указатель.* - это большая тема про сылочные типы и указатели
Код: Выделить всё
void sendReqSensorFloatM(char object[], float value) {
sprintf(buf, "GET /objects/?object=%s&op=m&m=update&v=%F HTTP/1.0", object, value);
//sendMajorRequest();
sendHttpRequest(MAJOR_IP, MAJOR_PORT, mclient);
}
Код: Выделить всё
char majorTempObject[] = "Temp";
float nrf1Temp1;
void majordomoMegaLive() {
if (cycle1m) {
sendRequestM(majorMegaObject, 1);
sendReqSensorFloatM(majorTempObject, nrf1Temp1);
checkEvent(&prevEventMegaLive);
}
}
Воткнул код у себя . Работает , но как то странно - вначале бомбит посылками минуту , потом реже. Пока не разобрался - это сервер запрашивает , или сенсор сам отдает значения. В сенсор влезло две температуры далласов , один DHT и два счетчика прерываний.( можно для расхода воды или счетчики эл.энергии ). Осталось вывести на картинку. Замечательная штука CSS , пока в процессе изучения.cahek2202 писал(а):.... Суть в том что temp1Back=temp1 выполняется на каждом цикле измерения температуры, а по факту необходимо это действие выполнять только при отправлении данных о температуре на сервер.