реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Транспортный протокол для соединения МК с компом, SLIP и TCP/IP - подходящее решение ?
san822
сообщение Jul 17 2006, 07:26
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Нужно сделать соединение между МК и компом.
В Винде ХР есть соединение SLIP с TCP/IP,
мне рекомендовали использовать его.
Не подскажете какой-нибудь исходник на Си для МК(любого),
в котором реализован ТСР обмен ?
Я почитал документацию по ТСР, стал сомневаться,
что без хорошего исходника,
который мог бы послужить основой,
эта задача под силу такому "чайнику" как я,
а сделать хочется...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 17 2006, 08:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(san822 @ Jul 17 2006, 10:26) *
Нужно сделать соединение между МК и компом.

Если речь идет о прямом (не через интернет) соединении RS232 Вашего
микроконтроллера и RS232 PC, то более громодкого и неразумного решения придумать трудно...
Если речь идет о хождении через интернет, то SLIP в качестве транспорта есть самый простой и разумный вариант. Надо подумать только над необходимостью TCP - я бы в подавляющем большинстве случаев предпочел-бы свою надстройку над UDP. Чайникам там трудно начинать :-( даже если есть "какие-то исходники почитать" - все просто имеет, как минимум, достаточно большой объем. Посему, наиболее часто народ сдается на милость "готовой операционной системы в которой стек уже реализован", что и Вам наверное надо будет сделать.

Кстати, имейтее ввиду, что в WIN имеется _клиент_ а не сервер.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 17 2006, 08:34
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Надстройка над UDP - это какой-то самопридуманный механизм,
позволяющий сделать соединение по UDP столь же надёжным,
что и по ТСР ?

Можно ли из UDP сделать связь с надёжностью ТСР ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 17 2006, 08:56
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(san822 @ Jul 17 2006, 11:34) *
Можно ли из UDP сделать связь с надёжностью ТСР ?

Да. Этому нет никаких препятствий. TCP убивает желание им пользоватся обычно тем, что
доставку-то он "гарантирует", но совсем не гарантирует время доставки и время после которого Вы узнаете, что, например (речь идет о конкретной реализации на WIN стороне), переданные Вами последние 10K никуда вообще-то и не ушли.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 17 2006, 09:28
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Да, наверное, я бы в своём проекте так и поступил...
Но совет "мне рекомендовали использовать его"(протокол ТСР)
почти принудительный...
smile.gif
Данный проект общий,
использует управление по SNMP.
На компе с Виндой стоит прога net-snmp-5.2.1-1,
а МК должен её понимать.
Насколько я знаю, эта прога работает
с UDP и TCP...
Go to the top of the page
 
+Quote Post
javalenok
сообщение Jul 17 2006, 09:40
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 18-02-06
Пользователь №: 14 469



Цитата(san822 @ Jul 17 2006, 12:28) *
Да, наверное, я бы в своём проекте так и поступил...
Но совет "мне рекомендовали использовать его"(протокол ТСР)
почти принудительный...
smile.gif

Да программисты такая профессия -- огород городить, велосипеды изобретать. Лечить этот дурдом надо принудительно.


Цитата(san822 @ Jul 17 2006, 12:28) *
Данный проект общий,
использует управление по SNMP.
На компе с Виндой стоит прога net-snmp-5.2.1-1,
а МК должен её понимать.
Насколько я знаю, эта прога работает
с UDP и TCP...


Стоит ли городить огород ради одной програмки? Ставите посредственное socket <-> rs232 приложение на компьютер. Его написать в 100 раз легче выйдет, чем TCP/IP стек на микроконтроллере, я полагаю.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 17 2006, 10:07
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(javalenok @ Jul 17 2006, 12:40) *
Его написать в 100 раз легче выйдет, чем TCP/IP стек на микроконтроллере, я полагаю.

А для описанного случая TCP/IP стек (именно стек - это ведь точка-точка, ни тебе ARP ни всего прочего) _совсем_ не нужен. А если еще и UDP фреймами
обойтись, что похоже более чем достаточно для конкретного случая, но все вообще очень просто.
Лет мамнадцать назад писал под заказ серверок-шлюз обслуживающий WIN/Linux клиента подключающегося через rs232/модем/SLIP/UDP - сейчас глянул - там исходников обслуги модема+slip+прием/передача UDP пакета+отладочная распечатка и 10K на С не наберется :-) Обслуга со второй стороны сокета + кое-какая консолька то под 25K занимает.

P.S.
Кстати, посмотрел внимательнее - всего 3K исходников (без модема и прочего) относящихся непосредственно к
SLIP+UDP


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 17 2006, 10:44
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Цитата(san822 @ Jul 17 2006, 12:28) *
Да, наверное, я бы в своём проекте так и поступил...
Но совет "мне рекомендовали использовать его"(протокол ТСР)
почти принудительный...
smile.gif
Данный проект общий,
использует управление по SNMP.
На компе с Виндой стоит прога net-snmp-5.2.1-1,
а МК должен её понимать.
Насколько я знаю, эта прога работает
с UDP и TCP...



SNMP это чистыи UDP!
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 17 2006, 10:51
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Т. е. Вы хотите сказать, что SNMP невозможно реализовать по ТСР ?
Или скажем так - SNMP обычно не реализуют по ТСР ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 17 2006, 11:00
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(san822 @ Jul 17 2006, 13:51) *
Т. е. Вы хотите сказать, что SNMP невозможно реализовать по ТСР ?
Или скажем так - SNMP обычно не реализуют по ТСР ?

SNMP протокол НЕ предусматривающий процедуры установки соединения и работающий в режиме запрос-ответ. Посему "родной" для него именно UDP. При желании, естественно никто не запрещает гонять его хоть по IPX, хоть ATM, хоть по имеющимуся TCP каналу.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 17 2006, 11:06
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Цитата(san822 @ Jul 17 2006, 13:51) *
Т. е. Вы хотите сказать, что SNMP невозможно реализовать по ТСР ?
Или скажем так - SNMP обычно не реализуют по ТСР ?



Да SNMP обычно не реализуют по ТСР !

http://www.freesoft.org/CIE/RFC/Orig/rfc1157.txt
http://www.cisco.com/univercd/cc/td/doc/ci...to_doc/snmp.htm

http://www.rfc-archive.org/getrfc.php?rfc=3430

http://www.freesoft.org/CIE/Topics/108.htm

SNMP Protocol Overview
The Simple Network Management Protocol (SNMP) is essentially a request-reply protocol running over UDP (ports 161 and 162), though TCP operation is possible. SNMP is an asymmetric protocol, operating between a management station (smart) and an agent (dumb). The agent is the device being managed - all its software has to do is implement a few simple packet types and a generic get-or-set function on its MIB variables. The management station presents the user interface. Simple management stations can be built with UNIX command-line utilities. More complex (and expensive) ones collect MIB data over time and use GUIs to draw network maps.


http://www.snmp.com/protocol/
Go to the top of the page
 
+Quote Post
dmivs
сообщение Jul 17 2006, 11:06
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333



Ай-яй-яй. Начинаем проект с использованием SNMP не зная что-это такое wink.gif

Для начала поищите информацию по реализации самого SNMP для вашей платформы. Ресурсы, библиотеки, необходимость в RTOS и т.д. Возможно после этого исследования необходимость в стеке TCP/IP отпадет сама собой и ваши программеры подпишутся на какой-нибудь простенький самопальный протокол biggrin.gif

Какая у вас платформа - процессор, память, ОС?


--------------------
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 17 2006, 11:15
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



To: Dainis и dmivs
Редкий случай, когда трое рижан в одном топике встретились :-)
Как я понимаю (после поминания SNMP), вы оба к сетевому/каналообразующему оборудованию отношение имеете :-).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 17 2006, 21:15
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Цитата(zltigo @ Jul 17 2006, 14:15) *
To: Dainis и dmivs
Редкий случай, когда трое рижан в одном топике встретились :-)
Как я понимаю (после поминания SNMP), вы оба к сетевому/каналообразующему оборудованию отношение имеете :-).


Мир же маленкий ... smile.gif
Связ со всем этим имею достаточно тесною smile.gif
Go to the top of the page
 
+Quote Post
upc2
сообщение Jul 18 2006, 05:03
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



<<Не подскажете какой-нибудь исходник на Си для МК(любого),
в котором реализован ТСР обмен ?>>

На Микрочипе много исходников с подробным описанием.Например AN731 или AN724
Прикрепленные файлы
Прикрепленный файл  00731.zip ( 32.91 килобайт ) Кол-во скачиваний: 81
Прикрепленный файл  AN724.rar ( 7.25 килобайт ) Кол-во скачиваний: 118
 
Go to the top of the page
 
+Quote Post
dmivs
сообщение Jul 18 2006, 06:45
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333



Цитата(zltigo @ Jul 17 2006, 14:15) *
Как я понимаю (после поминания SNMP), вы оба к сетевому/каналообразующему оборудованию отношение имеете :-).

Имеем, да. Мир действительно маленький.


--------------------
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 18 2006, 07:12
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Цитата(dmivs @ Jul 17 2006, 15:06) *
Ай-яй-яй. Начинаем проект с использованием SNMP не зная что-это такое wink.gif

Для начала поищите информацию по реализации самого SNMP для вашей платформы. Ресурсы, библиотеки, необходимость в RTOS и т.д. Возможно после этого исследования необходимость в стеке TCP/IP отпадет сама собой и ваши программеры подпишутся на какой-нибудь простенький самопальный протокол biggrin.gif

Какая у вас платформа - процессор, память, ОС?


Ну, проект начинал не я...
У меня в этом проекте очень скромная доля участия.
Есть ПО для компа, которое посылает команды по UDP на МК.
SNMP по UDP уже реализованно, но мне дано задание
дописать блок, позволяющий делать это по ТСР.
Моё начальство считает, что это надо сделать,
т. к. хотят побольше надёжности...

RTOS у меня на работе вообще не любят...
Хотят, чтобы весь программный код был под контролем...

МК - С167.
Go to the top of the page
 
+Quote Post
dmivs
сообщение Jul 18 2006, 10:00
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333



Цитата(san822 @ Jul 18 2006, 10:12) *
Моё начальство считает, что это надо сделать,
т. к. хотят побольше надёжности...


Вобщем, вам надо заняться не реализацией SNMP поверх TCP, а образованием начальства biggrin.gif


--------------------
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 18 2006, 10:05
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Т. е. мне можно смело идти и сказать,
что мы можем обойтись протоколом UDP,
а TCP для этого - это неоправданная экзотика ?
smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 18 2006, 10:30
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(san822 @ Jul 18 2006, 13:05) *
Т. е. мне можно смело идти и сказать,
что мы можем обойтись протоколом UDP,
а TCP для этого - это неоправданная экзотика ?
smile.gif

Насколько я понимаю, "идеи" по поводу TCP у "начальства" возникли не просто так, а по причине
наличия каких-то проблем, которые похоже зная заклинание "TCP и гарантированная доставка" оно и
попыталось решать таким путем. Возникает вопрос - а какие проблемы, и не стоит-ли решать их???


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 18 2006, 10:47
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Я думаю идеи возникли из-за того,
что они знют, что ТСР надежнее UDP и хотят
использовать это.
Хотя для данного случая - это, на мой взгляд, просто перестраховка,
ведь от компа до МК всего несколько метров кабеля...
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 18 2006, 13:13
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Большество SNMP софтов для PC не будет родерживать SNMP over TCP !
Это тоже немаловажный аргумент.
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 24 2006, 07:00
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Цитата(Dainis @ Jul 18 2006, 17:13) *
Большество SNMP софтов для PC не будет родерживать SNMP over TCP !
Это тоже немаловажный аргумент.


А не могли бы Вы назвать софты,
которые могут поддерживать SNMP over TCP ?
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 24 2006, 07:15
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Цитата(san822 @ Jul 24 2006, 10:00) *
Цитата(Dainis @ Jul 18 2006, 17:13) *

Большество SNMP софтов для PC не будет родерживать SNMP over TCP !
Это тоже немаловажный аргумент.


А не могли бы Вы назвать софты,
которые могут поддерживать SNMP over TCP ?


http://www.adventnet.com/products/snmputilities/index.html
http://www.ece.ucdavis.edu/ucd-snmp/
Go to the top of the page
 
+Quote Post
san822
сообщение Jul 24 2006, 10:30
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Цитата(Dainis @ Jul 24 2006, 11:15) *


Dainis, а Вы сами использовали эту программку ?
Вам можно задавать по ней вопросы ?
Go to the top of the page
 
+Quote Post
Dainis
сообщение Jul 24 2006, 10:58
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154



Цитата(san822 @ Jul 24 2006, 13:30) *
Цитата(Dainis @ Jul 24 2006, 11:15) *


Dainis, а Вы сами использовали эту программку ?
Вам можно задавать по ней вопросы ?



Непользовался ... sad.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 8 2006, 13:19
Сообщение #27


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(san822 @ Jul 18 2006, 13:47) *
Я думаю идеи возникли из-за того,
что они знют, что ТСР надежнее UDP и хотят
использовать это.

Предрассудки. Еще неизветно насколько надежной у вас получится реализация TCP на вашем МК. TCP сложнее, а следовательно РИСК и НАДЕЖНОСТЬ его реализации будет ниже чем у реализации UDP. А потеряться в сети могут как TCP так и UDP пакеты с равной вероятностью..


Цитата
Хотя для данного случая - это, на мой взгляд, просто перестраховка,
ведь от компа до МК всего несколько метров кабеля...

На мой взгляд это просто глупость. Скачайте соответвующий RFC на SNMP и ткните в нос вашему начальству, что SNMP over UDP по стандарту.
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 29 2006, 06:44
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Цитата


Вопрос по этой проге - при посылке запросов по ТСР она сама открывает логическое соединение
или это надо делать как-то по-другому ?

При перехвате того, что она выдает видно,
что прога ведет себя так, как будто соединение по ТСР уже открыто,
хотя его ещё надо окрыть...

И ещё обращение к администрации - если уж решили перенести тему,
то почему перенести не в "Интерфейсы" ,
а в "Микроконтроллеры " ?
Ну ладно, Вам виднее.
Go to the top of the page
 
+Quote Post
gala
сообщение Sep 6 2006, 13:25
Сообщение #29


Частый гость
**

Группа: Свой
Сообщений: 119
Регистрация: 29-11-05
Из: Украина, Черкассы
Пользователь №: 11 564



А какие ПРОСТЫЕ протоколы (точка-точка) существуют?
или ссылку на обзор
Go to the top of the page
 
+Quote Post
sK0T
сообщение Sep 6 2006, 14:58
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 241
Регистрация: 22-12-04
Пользователь №: 1 610



Цитата(san822 @ Jul 17 2006, 11:26) *
Нужно сделать соединение между МК и компом.
В Винде ХР есть соединение SLIP с TCP/IP,
мне рекомендовали использовать его.
Не подскажете какой-нибудь исходник на Си для МК(любого),
в котором реализован ТСР обмен ?
Я почитал документацию по ТСР, стал сомневаться,
что без хорошего исходника,
который мог бы послужить основой,
эта задача под силу такому "чайнику" как я,
а сделать хочется...


Почитал я ответы, и даже как-то растерялся! Что-то не туда разговор ушёл! Вы хотите TCP/IP на микроконтроллере? По SLIP на TCP/IP? Так смотрите скорее сюда! У меня так холодильник к интернету через машину с FreeBSD подключен был. :-)
Go to the top of the page
 
+Quote Post
san822
сообщение Sep 7 2006, 11:11
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Холодильник к интернету ?
Это Вы такими оригинальными проектами занимаетесь
или у Вас дома система "умный дом" ?
smile.gif
Go to the top of the page
 
+Quote Post
GrayCat
сообщение Sep 8 2006, 13:06
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342



Цитата(gala @ Sep 6 2006, 16:25) *
А какие ПРОСТЫЕ протоколы (точка-точка) существуют?
или ссылку на обзор
Широко используются протоколы семейства ModBus: ModBus RTU, ModBus ASCII, ModBus/TCP.


--------------------
Gray©at
Go to the top of the page
 
+Quote Post
evg123
сообщение Sep 14 2006, 17:20
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Есть классный сайт, где выложены стеки протоколов TCP/IP для 51 контроллеров с исходниками, которые легко адаптируются под любой 51-ый. Там в частности есть AT89S8252-реализация.
хотя я, их выложу, чтобы далеко не ходить. Там есть и другие (ссылка сайт - в исходниках)

Сообщение отредактировал evg123 - Sep 14 2006, 17:21
Прикрепленные файлы
Прикрепленный файл  OpenTCP_8052_1.0.2.4.src.zip ( 256.15 килобайт ) Кол-во скачиваний: 96
 
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Sep 20 2006, 06:06
Сообщение #34


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Решая задачу подключения к PC различных устройств, я когда-то на основе SLIP сделал вот такой простой протокол, возможно, заинтересует (есть исходники для PC, MCS-51, AVR):
http://www.spetspribor.com/support/software/wake/wake.html


--------------------
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 00:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01691 секунд с 7
ELECTRONIX ©2004-2016