Устройства на Ethernet. Софт для управления с компьютера?

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Открыл глаза
Сообщения: 49
Зарегистрирован: Чт окт 25, 2012 15:46:44

Сообщение zigler »

Как создать приложение для работы с устройствами в сети Ethernet?
Например, нужно подключть Atmega16 к компьютеру по Ethernet. Для связи преобразователь ENC28J60 (со сторомы МК SPI).
Десктопная программа нужна несложная, просто загужающая по Ethernet в МК значения переменных.
Вопрос в следующем: в чем вообще создаются такие приложения? Языки C++ или C#. Ну например Microsoft Visual Studio, или еще что-то.
Буду благодарен за ссылки на статьи по сабжу.
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

для Ардуино есть разаработанные модули и библиотеки для работы с Eth
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

zigler писал(а):: в чем вообще создаются такие приложения? Языки C++ или C#. Ну например Microsoft Visual Studio, или еще что-то.
Delphi, C#, Visual Basic, C++(Builder, Visual Studio, QT или др.).
В общем случае подключается к программе готовый компонент типа Winsock и через него работаете с сетью. Поэтому выбор языка здесь обычно дело десятое, но лично я бы рекомендовал C++.
Открыл глаза
Сообщения: 49
Зарегистрирован: Чт окт 25, 2012 15:46:44

Сообщение zigler »

uk8amk писал(а):Delphi, C#, Visual Basic, C++(Builder, Visual Studio, QT или др.).
В общем случае подключается к программе готовый компонент типа Winsock и через него работаете с сетью. Поэтому выбор языка здесь обычно дело десятое, но лично я бы рекомендовал C++.
Хорошо, возьмем к примеру C++.
Нужно создать графический интерфейс с полями ввода и кнопками (ну это дело двух минут).
При нажатии на кнопочку содержимое полей отправлять на выбранный ip по выбранному порту.
Например, MS Visual Studio. Конечно, все должно реализоваться библиотеками и функциями для работы с сетями.
Поэтому просто нужен примерчик (компонент типа Winsock).
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

:)
Ну а теперь, Василий Иванович, попа..
Для обеспечения вязки сокетов их нужно минимум 2 - и, хм, по микрочиповскому фреймворку - там около 50 килобайт памяти уходит легко.
Ну, на меге 16 это сделать - как бы ... ну, теоретически можно... Если юзать только юдп протокол...Не трогая сокеты...
Но...
Удачи типа :)
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

zigler писал(а):Вопрос в следующем: в чем вообще создаются такие приложения?
Можно например на PureBaic написать такую прогу.
Работа с сетью вообще не сложная.
Вот к примеру подключение к IP 192.168.1.10 порт 1234, TCP-протокол и передача строки текста.

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

InitNetwork()
Connect = OpenNetworkConnection("192.168.1.10", 1234, #PB_Network_TCP)
If Connect
  SendNetworkString(Connect, "Этот текст будет отправлен серверу")
  CloseNetworkConnection(Connect)
Else
  MessageRequester("", "Инет-адрес не доступен!")
EndIf
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

zigler писал(а):Нужно создать графический интерфейс
да все реально.
на стороне МК(девайса) создается сервис, например http, обмен с девайсом организуется как с WEB сервером, со стороны клиента можно даже программ не делать - все управляется из Иксплерера, если лень свое приложение написать .
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Классический вопрос - тут атмега16 самоцель или просто желание затрахаться ?

Вот дейвас в том числе и управляемый (если перемычку накинуть -)) ) через езернет http://satyr666.dyndns.org:20000/
схему, исходники и т.п. выкладывал тут на сайте как пример.
Открыл глаза
Сообщения: 49
Зарегистрирован: Чт окт 25, 2012 15:46:44

Сообщение zigler »

Satyr писал(а):Классический вопрос - тут атмега16 самоцель или просто желание затрахаться ?
Вот дейвас в том числе и управляемый (если перемычку накинуть -)) ) через езернет http://satyr666.dyndns.org:20000/
схему, исходники и т.п. выкладывал тут на сайте как пример.
Да не вопрос, можно Atmega128 взять или что там пошустрее есть. 16-ю просто есть возможность мучать уже сейчас :))
Прошу прощения, о lwIP первый раз слышу.
Здесь что-то вроде запуска на компьютере веб-сервера, и обращение устройства-клиента по Ethernet как к веб-сервису на сервере?
Можно подробнее насчет выкладывания на сайте?
urry писал(а): Для обеспечения вязки сокетов их нужно минимум 2 - и, хм, по микрочиповскому фреймворку - там около 50 килобайт памяти уходит легко.
Ну, на меге 16 это сделать - как бы ... ну, теоретически можно... Если юзать только юдп протокол...Не трогая сокеты...
Да не вопрос, Atmega128 подойдет? Или что лучше взять?
Мурик писал(а):Можно например на PureBaic написать такую прогу.
Работа с сетью вообще не сложная.
Вот к примеру подключение к IP 192.168.1.10 порт 1234, TCP-протокол и передача строки текста.
Спасибо за дополнительную возможность (на Basic), и за пример.
Но стоит требование на С++, в крайнем случае C#.
igor-x писал(а):
zigler писал(а):Нужно создать графический интерфейс
да все реально.
на стороне МК(девайса) создается сервис, например http, обмен с девайсом организуется как с WEB сервером, со стороны клиента можно даже программ не делать - все управляется из Иксплерера, если лень свое приложение написать .
Вооот! Это уже теплее. С вебсервисами работать приходилось, и на C++, и на C#. Насчет работы через браузер, понял о чем вы, представляю, на первое время годится.
Можете подкинуть примерчики библиотек, классов или методов для работы? Буду очень благодарен!
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

zigler писал(а):
Satyr писал(а):Классический вопрос - тут атмега16 самоцель или просто желание затрахаться ?
Вот дейвас в том числе и управляемый (если перемычку накинуть -)) ) через езернет http://satyr666.dyndns.org:20000/
схему, исходники и т.п. выкладывал тут на сайте как пример.
Да не вопрос, можно Atmega128 взять или что там пошустрее есть. 16-ю просто есть возможность мучать уже сейчас :))
атмега что 16, что 128 - вобще то одно и тоже, только флеша больше. Надо вобще забыть такое слово, как атмега.
Прошу прощения, о lwIP первый раз слышу.
Лучший IP стек для МК
Здесь тоже что-то вреде запуска на компьютере веб-сервера, и обращение устройства-клиента по Ethernet как к веб-сервису на сервере?
Нет никакого сервиса и компьютера.
Ты напрямую с инета с голым МК на крошечной платке, что у меня под столом висит, связываешься.
Можно подробнее насчет выкладывания на сайте?
схема, исходники
http://radiokot.ru/forum/download/file.php?id=107426

вот так оно выглядит
http://radiokot.ru/forum/download/file.php?id=74765
Говорящий с текстолитом
Сообщения: 1658
Зарегистрирован: Вс дек 11, 2011 05:25:04
Откуда: Киев, Украина

Сообщение Tolmi »

Ну, можно и на атмеге. Я делал. Но RAW ethernet socket'ы. На приёмной стороне, естественно, уже никакая винда не катит ( впрочем, это не совсем правда, там просто потрахаться нужно гораздо больше)
Линуксовое консольное приложение принимает трафик и складывает его на диск. У меня до 40 Мбит получалось, равномерно и без пропусков. Дальше - надо или буферизовать где-то, или менять всю архитектуру. В любом случае мне хватало, в отличие от USB CDC.

Но если ТС нужны примеры на Winsock, и он не знает, я предполагаю, что они есть, просто он не знает, где их у него на компе вагон и маленькая тележка, то этот путь для него возможно окажется неподъемным.
In theory, theory and practice are the same. In practice, they're not.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

я когда-то оперу писАл
http://kazus.ru/forums/showthread.php?t=39109&page=2
Контактная информация:
Открыл глаза
Сообщения: 49
Зарегистрирован: Чт окт 25, 2012 15:46:44

Сообщение zigler »

Satyr писал(а): атмега что 16, что 128 - вобще то одно и тоже, только флеша больше. Надо вобще забыть такое слово, как атмега.
Ну не надо так горячиться, а вдруг еще пригодится.
lwIP - лучший IP стек для МК
Да мне без разницы, можно например, uIP-0.9 использовать, хорошо все расписано http://www.gaisler.com/doc/net/uip-0.9/ ... /main.html
Нет никакого сервиса и компьютера.
Ты напрямую с инета с голым МК на крошечной платке, что у меня под столом висит, связываешься.
Это все чудесно и прекрасно. Но мне нужно, чтобы через Ethernet МК Atmega получил свои несчастные биты с компьютера. Всё.
Насчет Схемы - это да, красиво вышло =))
Tolmi писал(а):Ну, можно и на атмеге. Я делал. Но RAW ethernet socket'ы. На приёмной стороне, естественно, уже никакая винда не катит ( впрочем, это не совсем правда, там просто по*ться нужно гораздо больше)
Линуксовое консольное приложение принимает трафик и складывает его на диск. У меня до 40 Мбит получалось, равномерно и без пропусков. Дальше - надо или буферизовать где-то, или менять всю архитектуру. В любом случае мне хватало, в отличие от USB CDC.
Но если ТС нужны примеры на Winsock, и он не знает, я предполагаю, что они есть, просто он не знает, где их у него на компе вагон и маленькая тележка, то этот путь для него возможно окажется неподъемным.
Как человеку, реализовавшему на атмеге Ethernet: как вам ATmega16 + ENC28 + uIP-0.9 ? работать будет? Или вместо ENC лучше RTL8019AS ?
urry писал(а):я когда-то оперу писАл
http://kazus.ru/forums/showthread.php?t=39109&page=2
PIC конечно хорошо, но мне бы пока с AVR хотя бы разобраться до конца...
Насчет атмег что-то подскажите?

ОГО! Вот это здесь крутотень несусветная!!!! :shock: :shock: :shock:
http://www.pocketmagic.net/2012/07/atme ... N-OwHoS2ho

Всё, беру на Ebay "ENC28J60 Ethernet LAN Module" за 4 бакса, и ничего паять даже не надо =))))))

Всем спасибо, все свободны :lol:

До новых встреч :))
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

zigler писал(а): Да мне без разницы, можно например, uIP-0.9 использовать, хорошо все расписано http://www.gaisler.com/doc/net/uip-0.9/ ... /main.html
uIP, очень мягко говоря, не дотягивает до lwIP.
zigler писал(а): Как человеку, реализовавшему на атмеге Ethernet: как вам ATmega16 + ENC28 + uIP-0.9 ? работать будет? Или вместо ENC лучше RTL8019AS ?
Из какого музея его воровать ? :)))
По плате там меж чипами соединений 30 будет, оно надо ?

Если уж к пещерному барахлу инет прикручивать, советую продукцию визнета посмотреть. на ебеях тоже за дешево продаются. Там не микросхеме не просто езернет, там IP стек уже внутри.
http://www.wiznet.co.kr/Sub_Modules/en/ ... 6&pid=1011
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Что-то вы из мухи слона раздули. Для передачи маленькой порции данных не нужны никакие универсальные стеки, надо реализовать лишь один выбранный - например UDP. Чтобы контроллер понял что это "его" данные надо лишь просматривать заголовки приходящих пакетов на наличие нужных констант. Фильтр по MAC-адресу зашит аппаратно, поэтому тонны пакетов программе обрабатывать не прийдется. Дальше надо убедится что пришел UDP IP-пакет, сравнить IP-адрес с собственным и только тогда начнется самое интересное - проверяем порт(если нужно) и считываем данные переданные в пакете. При необходимости сохранить поле адреса отправителя и вернуть назад ответ "данные принял".

Для этого не нужны всякого рода библиотеки занимающие кучу места в прошивке, они реализуют слишком много ненужного.
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

web-сервер на Tiny2313
Советую весь цикл статей по работе с сетью почитать.
Ответить

Вернуться в «Интеграция с ПК»