Jste zde

miteROUTER-B, aneb " To co je na sériové lince, přeneseme do Ethernetu (Internetu)."

Dnes vám představíme další možnou aplikaci miteROUTERu - rozhraní mezi RS232 a TCP/IP.

Nejprve využijme připravené základní desky miteROUTER-B a doplňme ji komerčně dostupnou deskou. Na obrázku níže vidíte připojené dvě desky PC/104, horní má čtyři asynchronní sériové linky. 

Jistě Vás ihned napadne mnoho typických příkladů použití:

  • připojení snímačů čárového kódu, 
  • sběr dat z měřicích přístrojů nebo z řídicích jednotek, 
  • napojení bezpečnostních ústředen na Ethernet, 
  • připojení lokálních terminál a mnoho dalších.
Hovoříme sice o sériových linkách, ale vše v principu platí např. i o analogových nebo číslicových vstupech a výstupech, ev. jiných speciálních deskách (video frame grabber, HDLS/SDLC atd.).
 
 

               &nb sp;                    ;       miteROUTER-B a PC/104 desky (nahoře 4xRS232)
 

 

Především rozlišme dvě různé strany a jejich dominantní vlastnosti:
 

--------------RS232-------------- ------| miteROUTER |------ --------------síť Ethernet--------------
- asynchronní sériová linka
- ASCII/binární data 
- 115 kb/s   (~115 000 b/s)
- sběrnice (síť) ethernet
- protokol TCP/IP
- 10 Mb/s (~10 000 000 b/s),  tedy teoreticky ~100x rychlejší

Z této úvahy jednoznačně vyplývá, že výkon procesoru kategorie 386SX je v prvním přiblížení dostačující. Ponechme stranou obecné tlachání a věnujme se reálným nástrojům (dále je vše úmyslně zjednodušeno, prosím znalce nekamenujte mě). 
Do mikropočítaču miteROUTER-B vložíme modul DIMM-PC/386B1 (viz minulé informace) s jádrem operačního systému DOS (DR DOS je včetně potřebné licence) na vestavěném flash disku. Pro tento operační systém existuje celá řada knihoven pro navázání na vrstvu TCP/IP, příkladem je knihovna WATTCP (pro C jazyk, je zdarma a žádná licence není třeba). Předpokládám, že překladač typu Borland C nebo Microsoft C vlastníte.

Stranu sériových komunikačních linek není jistě třeba rozvádět, o této problematice (nastavení parametrů linky, přerušení, vyrovnávací paměť apod.) bylo již napsáno mnoho. Přeskočme tuto část a předpokládejme, že řetězec znaků je již umístěn v proměnné typu string.

Předtím než se budeme ptát jak dostat string do protokolu TCP/IP několik poznámek. V sítích Ethernet musíme vždy hovořit o vztahu klient - server. Klient úkoluje server, v našem uspořádání mu posílá pomocí TCP segmentu string. Musí tedy znát IP adresu serveru a port, na který bude
TCP segment zasílán. Naopak server musí být schopen rozpoznat a přijmout TCP segment a vykonat požadovanou funkci. 
Důležité: nehovoříme o konkrétním aplikačním protokolu (FTP, HTTP, SMTP, Telnet, IMAP, POP3 atd.) jen o protokolu TCP/IP.

(Ne)prakticky k WATTCP knihovně, základní funkce. 

Základním pojmen je "socket". Představme si jej jako službu(y), která(é) zajistí styk s TCP. Nejprve službu initializujeme - sock_init(). Potom otevíráme spojení na server tcp_open (parametry), pak můžeme zapisovat sock_write(parametry) nebo číst sock_read(parametry). K dispozici máme další funkce, např. sock_puts(parametry), která umístí již zmíněný string ...... Můžeme i poslouchat, zda-li pro nás (a v tom okamžiku se stáváme serverem) nějaký TCP segment nepřichází.

Pro zájemce je k dispozici aplikační zpráva miteROUTER-AN1: Připojení technologických a jiných zařízení do sítě Ethernet s použitím jednotky miteROUTER, v které je možné nalézt řešení konkrétní aplikace, včetně programového vybavení, detailního popisu uspořádání a postupu "rozběhnutí úlohy". Aplikační zprávu je možné nalézt ZDE 
  
 

Jan Řehák
     
Hodnocení článku: