| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
15.03.2011, 13:31
|
|
|
Прописка
Регистрация: 26.06.2007
Сообщений: 136
Сказал спасибо: 61
Сказали Спасибо 20 раз(а) в 17 сообщении(ях)
|
Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Подскажите пожалуйста, какой стек поможет мне решить следующую задачу:
Нужно отправлять данные на сайт методом HEAD или GET по HTTP.
Реализовал простой websever на ATmega128+ ENC28j60 на MikroC for AVR PRO, с помощью встроенной в него библиотеке SPI_Ethernet. Удалось сделать WEB страничку и помаргать светодиодом через webинтерфейс. Но там нет возможности открывать TCP/IP соединения и отправлять данные по указанному порту и адресу (такая возможность есть только для UDP), или может я ошибаюсь в этом? Если да подскажите как можно отправить.
НЕ найдя решения, решил использовать другой стек и адаптировать его под MikroC (так как другая большая часть программы написана в нем). Вот тут возникли проблемы, кой стек выбрать. Даже у товарища tuxgraphics их несколько, подскажите какой поможет решить мою задачу?
Склоняюсь к этому http://www.linuxfocus.org/~katja/ele...ebserver.shtml, он мне сможет помочь? Его можно же адаптировать под ATmega128 и передавать данные по HTTP, а не генерировать html?
В принцепе web сервер не нужен, достаточно по TCP/IP передать данные по указанному адресу и порту, как это сделать?
Очень срочно надо, подскажите, спасибо.
|
|
|
|
15.03.2011, 14:37
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Я не совсем понял, что Вы хотите. Инициатором обмена всегда является ‹b›клиентский ‹/b› сокет - Вы его настраиваете, прибиндиваете айпишник серверного и бросаете коннект.
В Вашей ссылке 2 серверных сокета - udp и tcp .
Они ждут обмена, пока на них клиент не бросит коннект.
-----------------------------------------------------
передавать данные по HTTP, а не генерировать html?
-----------------------------------------------------
а в чем разница - Вы оперируете только байтами.
|
|
|
|
15.03.2011, 15:15
|
|
|
Прописка
Регистрация: 26.06.2007
Сообщений: 136
Сказал спасибо: 61
Сказали Спасибо 20 раз(а) в 17 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Видите ли я работал только с MikroC. Вы работали с MikroC? В его библиотеке уже реализована функция обработки TCP запросов, но нет функции отправки данных по указанному порту и адресу. Открытие и закрытие сокета там производится автоматом. (как я бы это делал на Винде - открыл сокет, отправил данные, закрыл сокет.). Тогда вы можете посоветовать TCP/IP стек который позволит мне предать на сайт данные методом HEAD GET или POST? Желательно максимально простой, чтобы я его смог адаптировать под MikroC.
|
|
|
|
15.03.2011, 15:56
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Я не работал с микроси.
Максимально простой метод передачи -приема - это обмен самими сокетами инфой в бинарном виде.
Покажите клиентский сокет в микроси.
|
|
|
|
16.03.2011, 08:39
|
|
|
Прописка
Регистрация: 26.06.2007
Сообщений: 136
Сказал спасибо: 61
Сказали Спасибо 20 раз(а) в 17 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Вот рабочий проект (cм. вложение). Он генерирует страничку по запросу GET с браузера. И хелп на MikroC. Там посмотрите в разделе Hardware Libraries раздел SPI Ethernet ENC28J60 Library.
|
|
|
|
16.03.2011, 11:34
|
|
|
Временная регистрация
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Сообщение от LionRJ
|
Подскажите пожалуйста, какой стек поможет мне решить следующую задачу:
Нужно отправлять данные на сайт методом HEAD или GET по HTTP.
|
там же, есть версии повыше, в которых реализованы клиенты (например твиттера).
Или можешь тут взыть, что нужно. Кстати, у немца и лицензия получшее.
__________________
|
|
|
|
16.03.2011, 12:07
|
|
|
Прописка
Регистрация: 26.06.2007
Сообщений: 136
Сказал спасибо: 61
Сказали Спасибо 20 раз(а) в 17 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Уважаемый svd71, как вы думаете какой из этих стеков будет проще адаптировать для атмеги128 и компилятор MikroC? У меня очень ограниченные сроки, поэтому хочется пойти по более быстрому и эффективному пути.
|
|
|
|
16.03.2011, 12:32
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
LionRJ, это не стек. Здесь у Вас опять же серверный сокет, но довольно урезанный. Там нет слушающего сокета, поэтому Вы не можете ответить любому айпишнику, который к Вам постучался, только определенному адресу, что, мягко говоря не есть гуд. Или, словами другого персонажа " это не заливная рыба...хрену к ней не хватает".
svd71, что-то там все очень заморочено.
Максимально по рабоче-крестьянски и понятно сделан стек микрочипа.
Вот смотрите, как открывается клиент
void BerkeleySocketInit(void)
int connect( SOCKET s, struct sockaddr* name, int namelen )
int send( SOCKET s, const char* buf, int len, int flags )
int recv( SOCKET s, char* buf, int len, int flags )
сервер
void BerkeleySocketInit(void)
int bind( SOCKET s, const struct sockaddr* name, int namelen )
int listen( SOCKET s, int backlog )
SOCKET accept(SOCKET s, struct sockaddr* addr, int* addrlen)
int send( SOCKET s, const char* buf, int len, int flags )
int recv( SOCKET s, char* buf, int len, int flags )
Все просто и понятно.
LionRJ, если Вас сроки режут, то портировать стек - задача не из легких.
Оставляйте все как есть, а со стороны компа открывайте клиент.
В конце-концов, на каком нить перле - это 4 строчки.
|
|
|
|
16.03.2011, 13:22
|
|
|
Временная регистрация
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Сообщение от LionRJ
|
|
Уважаемый svd71, как вы думаете какой из этих стеков будет проще адаптировать для атмеги128 и компилятор MikroC? У меня очень ограниченные сроки, поэтому хочется пойти по более быстрому и эффективному пути.
|
Ну если это тот же MikroC, который создан для PIC, и вдруг работает на AVR, то подозреваю, что компилит он так же посреством gcc, как и AVRStudio и WinAVR.
В этом случае не вижу никаких проблем.
просто более понятный код у tuxa. Да и проект компактней. У немца просто много дополнительного хлама, который непотребуется (обработка видео камер, работа с флэш, обработка датчиков, ftp и прочие сервисы).
Можешь еще у немцев на форуме прорыться, но там клиента обычно нет.
__________________
|
|
|
|
16.03.2011, 13:27
|
|
|
Прописка
Регистрация: 26.06.2007
Сообщений: 136
Сказал спасибо: 61
Сказали Спасибо 20 раз(а) в 17 сообщении(ях)
|
Re: Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Нет есть просто отдельная IDE для AVR и отдельная IDE для PIC, хотя они как две капли похожи. Ну все буду мучить tuxa. Как получу результат выложу сюда исходники адаптированные под MikroC. Если вопросы будут возникать буду обращаться, спасибо за помощью
urry, к сожалению вариант оставить как есть не подходит, так как человек который пишет сайт именно хочет чтобы данные слались с моего устройств. Уж так он настаивает...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:11.
|
|