Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
Модератор: immortal
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
По желанию трудящихся создал отдельную тему
Вот здесь будет рабочий скетч под Arduino + enc28j60
http://computer-service.pro/smf/index.php?topic=31.0
К сожалению скетч мною не проверялся:(
Вот здесь будет рабочий скетч под Arduino + enc28j60
http://computer-service.pro/smf/index.php?topic=31.0
К сожалению скетч мною не проверялся:(
Последний раз редактировалось ser009 Пн фев 04, 2013 5:28 am, всего редактировалось 1 раз.
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
А где жескетч для обсуждения? ) может разрешите ссылку на мой скетч указать? Так для общего развития вдруг кто-то подскажет как код оптимизовать, да дописать поможет.
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
тут находится "последняя версия" с переключением входов и сохранение в еепром какие порты назначенны.ser009 писал(а):Конечно же. Скетч в студию.
еще попозже фотографий выложу где видно как можно сделать. Повторюсь: например А1- цифровой А2 - аналоговый А3 - цифровой а все остальные аналоговые что-то типа того ( мне это нужно например для того что к одному устройству можно будет подключить как цифровые датчики (значение True или False) так и аналоговые которые имеют значение от 0 до 255 (датчики освещенности)
зачем мне это надо? да для того что я хочу раскидать по дому много разных UNO с небольшим количеством портов, мне кажется это лучше одной меги плюс тащить кучу проводов как до исполнительных устройств так и до датчиков.
сейчас начал делать отправление команд на сервер, но пока не очень получается..
да и еще один неприятный баг обноружился все это работает только когда запущен веб интрефейс в браузере
http://computer-service.pro/smf/index.php?topic=31.0
могу код и сюда выложить если кого нибудь заинтересует.
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
Являюсь "счастливым обладателем" вот такого девайса
Так что нужно прикрутить его в Arduino(Mega2560), а потом тестировать скетчи
Так что нужно прикрутить его в Arduino(Mega2560), а потом тестировать скетчи
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
Ближе к концу есть пост про соединение этих двух девайсовser009 писал(а):Являюсь "счастливым обладателем" вот такого девайса
Так что нужно прикрутить его в Arduino(Mega2560), а потом тестировать скетчи
http://www.arduino.ru/forum/apparatnye- ... 0arduino-0
и тут же есть библиотека которую я использую, более менее удобовариваямая
https://github.com/jcw/ethercard/
вот что про нее пишут:
EtherCard (не помню точно где брал, но возможно тут http://jeelabs.org/ethercard или https://github.com/jcw/ethercard/) - вообщем та которую использую на данный момент. Работает и API относительно симпатично, но "внутри у нее" - тихий ужас (лично для меня). Документации - практически нет (смотреть примеры и "сам код библиотеки"), одновременно есть "два API" (и какой пример на каком - фиг догладаешься). Но главное - работает, авторы вроде "развивают" ее, плюс, по отзывам библиотека где наиболее полно учтены всякие "заглюки" чипа (а, опять-таки по отзывам, он довольно глючиный). Ну и всякий плюшки типа "отвечать на ping запросы", DNS, DHCP, гейтвеи и т.п. - у нее уже есть "на борту" самому код для этого сочинять не нужно. Плюс некоторое количество хелперов для конструирования/парсинга запросов
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
Подскажите как "сложить" вот такие переменные:
Весь этот цыкл выводит только последние значения, а мне надо все значения в одну строку....
Код: Выделить всё
Char charss [60];
For (int i=2;i<=7;i++){
If (((byte*) &config[i] == 0)
{
Sprintf(charss,"D%d=%d&",i-2,digitalRead('A'+(i-2)));
}
Else
{
Sprint(charss,"A%d=%d&",i-2,analogRead('A'+(i-2)));
}
}
Ether.browseUrl(PSTR("test1.php?"),charss,website,my_callback);
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
http://computer-service.pro/smf/index.php?topic=31.0
Выкладываю новую версию, в которой добавил получение статуса водных портов по команде /stat в ответ приходит адрес порта его значение и его вид как А аналоговый и D цифровой (есть одна недоработка, пока названия порта передаются в виде hex значения,вместо A=65 D=68 и получается что то такое $650=32&681=0&682=1&683=0 (в переводе будет $A0=32&D1=0&D2=1&D3=0). Но теперь запросы можно слать даже если не запущен браузер и управление реле так же можно осуществлять без запущенного браузера!
Выкладываю новую версию, в которой добавил получение статуса водных портов по команде /stat в ответ приходит адрес порта его значение и его вид как А аналоговый и D цифровой (есть одна недоработка, пока названия порта передаются в виде hex значения,вместо A=65 D=68 и получается что то такое $650=32&681=0&682=1&683=0 (в переводе будет $A0=32&D1=0&D2=1&D3=0). Но теперь запросы можно слать даже если не запущен браузер и управление реле так же можно осуществлять без запущенного браузера!
Код: Выделить всё
char port[6];
int port_znacenie[6];
if (config.a0 == 0)
{
port[0]='D';
port_znacenie[0]=digitalRead(A0);
}
else
{
port[0]='A';
port_znacenie[0]=analogRead(A0);
}
if (config.a1 == 0)
{
port[1]='D';
port_znacenie[1]=digitalRead(A1);
}
else
{
port[1]='A';
port_znacenie[1]=analogRead(A1);
}
if (config.a2 == 0)
{
port[2]='D';
port_znacenie[2]=digitalRead(A2);
}
else
{
port[2]='A';
port_znacenie[2]=analogRead(A2);
}
if (config.a3 == 0)
{
port[3]='D';
port_znacenie[3]=digitalRead(A3);
}
else
{
port[3]='A';
port_znacenie[3]=analogRead(A3);
}
if (config.a4 == 0)
{
port[4]='D';
port_znacenie[4]=digitalRead(A4);
}
else
{
port[4]='A';
port_znacenie[4]=analogRead(A4);
}
if (config.a5 == 0)
{
port[5]='D';
port_znacenie[5]=digitalRead(A5);
}
else
{
port[5]='A';
port_znacenie[5]=analogRead(A5);
}
Stash::prepare(PSTR("GET /test1.php?$D0=$D&$D1=$D&$D2=$D&$D3=$D&$D4=$D&$D5=$D HTTP/1.1" "\r\n"
"Host: $F" "\r\n"
"User-Agent: Arduino EtherCard lib" "\r\n"
"\r\n"
"$H"),
port[0],port_znacenie[0],
port[1],port_znacenie[1],
port[2],port_znacenie[2],
port[3],port_znacenie[3],
port[4],port_znacenie[4],
port[5],port_znacenie[5],website);
ether.tcpSend(); //выводится пока зараза не A и D а 65 и 68, затем идет номер порта (0-5) и после равно значение..
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
Похоже ни кто с этим чудом не развлекается поэтому мучаюсь один, прилепил еще одну страницу настроек в которых добавил настройкисети (айпи шлюз) но не получается прикрутить вместо статичных байтов может кто нибуть все таки настраивал переключение с статики на динамику с сохранением переменных?
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: Скетч Arduino + enc28j60 обсуждаем, пишем, тестируем
у меня не получилось подключить свою плату , возможно шилд мертвый поэтому помочь не могу:(