Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Пт фев 15, 2013 9:20 pm

arturmon писал(а):
MaksMS82 писал(а):Не-не , через

Код: Выделить всё

ther.browseUrl(PSTR("/script.php?value="), (const char *)myIntAsString, website, my_callback);
один параметр и то криво..

Лучше типа так так:

Код: Выделить всё

Stash::prepare(PSTR("GET /server.php?mode=key&n=$D&s=$D&q=$D HTTP/1.1" "\r\n" "Host: $F" "\r\n" "\r\n") ,(int)a,(int)b,(int)c,website);
ether.tcpSend();
в начале скетча объявляем

Код: Выделить всё

Stash stash;
char website[] PROGMEM = "адрессайта";
а так сетевуха оочень тормознутая :( веб морда грузится долга и иногда по таймауту отпадывать может.Не понятно в чем дело,на W5100 все летает.
Кстати, на W5100 размер аналогичного скетча почти на 10 кб больше получается :shock:
и вправду,не работает на прямо обжатом шнурке на прямую к компу как оказалось,хотя сетевухи встроенные в компах обычно имеют автоопределение (может в компе,к которому подключал старенький чип сетевушки..)
Скет который я давал ссылку в этой теме у меня просто летает :D
а у тебя какой тормозит не понимаю? У меня немного по другому реализованно, но твой вариант компактней надо будет так же попробовать :ugeek:
я пытаюсь настроить на библиотеке <EtherCard.h> ,но оно как-то тормознуто работает...
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение arturmon » Пт фев 15, 2013 10:56 pm

Покажи свой скетч у меня на этой библиотеке все летает просто)
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Сб фев 16, 2013 9:57 am

подозрение на нехватку напряжения имеется ,4 вольта всего от порта USB идет...вот и глючит,ща еще коротнул +5 ,когда запитал от внешнего питания и на адруинке стабилизатор зжег :( ,придется привешивать 7805 :(
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение arturmon » Сб фев 16, 2013 10:01 am

MaksMS82 писал(а):подозрение на нехватку напряжения имеется ,4 вольта всего от порта USB идет...вот и глючит,ща еще коротнул +5 ,когда запитал от внешнего питания и на адруинке стабилизатор зжег :( ,придется привешивать 7805 :(
сочувствую. я для таких целей прикупил бвнешний блок питания на ebay 1А и 9 вольт, отлично все кормит. :geek:
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Сб фев 16, 2013 10:36 am

да тут БП 7.5в выдает,но идет оно же всеравно через стабилизатор на адруинке , для умного дома я набрал по дешевке макетные платы и процессор и прочие детальки обвязки отдельно,а макетную плату использую для опытов.
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение arturmon » Сб фев 16, 2013 10:26 pm

Сделал входа на штнкерах и хана пришла.... все входы зваливает разнобойными помехами от отдельного стабилизатора на5 вольт для входов. Кто как организовывает входа для датчиков? Какого номинала используете подтягивающий резистор? Как говорится делимся своими наработками, идеями и предложениями )
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Вс фев 17, 2013 8:21 am

на вход можно ставить например 1кОм для подтягивания ,так же возможно БП не очень-то хороший и дает помехи.Можно добавить ёмкости по питанию.

кстати, прикрутил тут снятие температуры и влажности как у варианта соседней темы на W5100 через веб -столкнулся с проблемой ,что температуру в float не считывало т.к. ethercard не умела работать с этими данными ,помог поиск другого варианта ethercard https://github.com/pcunha-lab/ethercard ,так же повозился и с HEX форматом ID датчика,чтобы его тоже выводило через веб:

Код: Выделить всё

static void sensorsweb(const char* data, BufferFiller& buf) {
sensors.requestTemperatures();
buf.emit_p(PSTR("$F\r\n"), okHeader);
   int numberOfDevices = sensors.getDeviceCount();
   sensors.begin();
   for(int i=0;i<numberOfDevices; i++) {
      if(sensors.getAddress(Termometers, i))
      {

 buf.emit_p(PSTR("T:"));
 for (uint8_t i = 0; i < 8; i++) {

    buf.emit_p(PSTR("$H"),Termometers[i]);
//        Serial.println(Termometers[i],HEX);   
 }
          float tempC = sensors.getTempC(Termometers);
          buf.emit_p(PSTR(":$T;"),(float)sensors.getTempC(Termometers));
//    Serial.println(tempC);       
          
      } else {
            // not found
            buf.emit_p(PSTR("NOT FOUND"));
      }
    }
// пример добавления датчиков DHT11 в список
if (DHT11.read(8)==0) buf.emit_p(PSTR("H:room:$T/$T;"),DHT11.humidity,DHT11.temperature);
else buf.emit_p(PSTR("H:room:error;"));
if (DHT11.read(7)==0) buf.emit_p(PSTR("H:street:$T/$T;"),DHT11.humidity,DHT11.temperature);
else buf.emit_p(PSTR("H:street:error;"));

}
где $T означает float данные ,а $H - HEX..

данная подпрограмма для варианта скетча arturmonа :)
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение arturmon » Вс фев 17, 2013 10:31 am

MaksMS82 писал(а):на вход можно ставить например 1кОм для подтягивания ,так же возможно БП не очень-то хороший и дает помехи.Можно добавить ёмкости по питанию.

кстати, прикрутил тут снятие температуры и влажности как у варианта соседней темы на W5100 через веб -столкнулся с проблемой ,что температуру в float не считывало т.к. ethercard не умела работать с этими данными ,помог поиск другого варианта ethercard https://github.com/pcunha-lab/ethercard ,так же повозился и с HEX форматом ID датчика,чтобы его тоже выводило через веб:

Код: Выделить всё

static void sensorsweb(const char* data, BufferFiller& buf) {
sensors.requestTemperatures();
buf.emit_p(PSTR("$F\r\n"), okHeader);
   int numberOfDevices = sensors.getDeviceCount();
   sensors.begin();
   for(int i=0;i<numberOfDevices; i++) {
      if(sensors.getAddress(Termometers, i))
      {

 buf.emit_p(PSTR("T:"));
 for (uint8_t i = 0; i < 8; i++) {

    buf.emit_p(PSTR("$H"),Termometers[i]);
//        Serial.println(Termometers[i],HEX);   
 }
          float tempC = sensors.getTempC(Termometers);
          buf.emit_p(PSTR(":$T;"),(float)sensors.getTempC(Termometers));
//    Serial.println(tempC);       
          
      } else {
            // not found
            buf.emit_p(PSTR("NOT FOUND"));
      }
    }
// пример добавления датчиков DHT11 в список
if (DHT11.read(8)==0) buf.emit_p(PSTR("H:room:$T/$T;"),DHT11.humidity,DHT11.temperature);
else buf.emit_p(PSTR("H:room:error;"));
if (DHT11.read(7)==0) buf.emit_p(PSTR("H:street:$T/$T;"),DHT11.humidity,DHT11.temperature);
else buf.emit_p(PSTR("H:street:error;"));

}
где $T означает float данные ,а $H - HEX..

данная подпрограмма для варианта скетча arturmonа :)
Спасибо так приятно что кому то хоть пригодилось то что "наваял" :lol:
но счетч еще пилить и пилить требуется, вчера подумал что не хватает еще сохранения состояния реле в еепром.
входные датчики подключил через такой DC преобразователь http://www.ebay.com/itm/170814548036?ss ... 1423.l2649
вход на него подаю от блока питания который питает ардуино, массы соеденены.
после этого все мои входы пошли в расколбас и цыфровые и аналоговые :evil:
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Вс фев 17, 2013 7:44 pm

да просто нужен был старт как вытаскивать переменные и делать несколько страниц :)
А так сделал такой же скрипт как в соседней теме для W5100 ,но добавил датчики влажности ,протечки и открытия двери ))
но применяю это в данный момент отдельно,без системы MajorDoMo ,т.к. нужно было попроще что нибудь.

сохранение настроек в еером контроллера мне не нужно - это может делать и "сервер"
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем

Сообщение arturmon » Вс фев 17, 2013 8:33 pm

MaksMS82 писал(а):да просто нужен был старт как вытаскивать переменные и делать несколько страниц :)
А так сделал такой же скрипт как в соседней теме для W5100 ,но добавил датчики влажности ,протечки и открытия двери ))
но применяю это в данный момент отдельно,без системы MajorDoMo ,т.к. нужно было попроще что нибудь.

сохранение настроек в еером контроллера мне не нужно - это может делать и "сервер"
Показываем не стесняемся ;)
Ответить