| Index >> Technická podpora, download..
>> Aplikační poznámky
AN20: Jak na UDP Config ve Vašich aplikacích
Většina síťových zařízení HW group obsahuje
možnost přidělit IP adresu zařízení pomocí UDP Broadcastu. Tato funkce
je implementována jednak v programu Hercules, jednak v různých dalších
utilitách. Tato aplikační poznámka slouží firmám, které chtějí implementovat
možnost vyhledávání našich zařízení do svých programů a utilit.
V
záložce "UDP Config" utility Hercules
lze prohledat lokální segment sítě pomocí UDP Broadcastu a najít naše
zařízení na tomto segmentu, případně jim přiřadit jinou IP adresu, MASKu
a GateWay. Tato aplikační poznámka popisuje pouze formát hledání stávajících
zařízení, nejsou zde uvedeny kódy pro zápis konfigurace do modulu.
Jak funguje hledání/nastavení zařízení
Identifikace modulu a kódování
Na původní UDP Broadcast výzvu, odpoví zařízení rámcem, ve kterém pošle
své nastaveni a speciální kód. Zařízení (modul nebo HW jednotka) po
odeslání tohoto rámce očekává nastavovací rámec z počítače (od programu
jake je Hercules). Rámec z nastavovacího programu je po přijetí ověřen
a pokud je správně zašifrovaný, je příchozí UDP rámec zařízením zpracován,
jinak je ignorován. Tímto způsobem je také identifikován příjemce, pokud
je rámec z PC do zařízení posílán jako UDP Broadcast. UDP rámec ale
nemusí byt UDP Broadcast, odpověď lze poslat také jako Unicast výzvu,
na kterou odpoví pouze vyzvané zařízení.
Popis odpovědi zařízení (modul nebo HW jednotka)
| 00 |
unsigned char |
MAC[6]; |
// MAC address of the module |
| 06 |
unsigned char |
IP[4]; |
// IP address |
| 0A |
unsigned char |
Mask[4]; |
// Subnet mask |
| 0E |
unsigned char |
FwIP[4]; |
// Acceptable address range IP |
| 12 |
unsigned char |
FwMask[4]; |
// Acceptable address range MASK |
| 16 |
unsigned char |
Unit[2]; |
// Device type - more |
| 1A |
unsigned char |
GW[4]; |
// GW address (sometime called User1) |
| 1E |
unsigned char |
User2[2]; |
// DEVICE CTRL bits settings - more |
| 20 |
unsigned char |
Port[2]; |
// incomming TCP port number |
| 22 |
unsigned char |
crypt[16]; |
// Cryption for Write |
| Device type |
|
|
| Unit2[1] |
A0 A1
A2 A3
A4 B0
B1 B2 |
| Unit2[0] |
C0 C1
C2 C3
D0 D1 D2
D3 |
| A - Device type |
5 bits |
// Device FW type name (e.g. Poseidon) |
| B - General firmware version |
3 bits |
// Device FW main number (1.8.2] |
| C - Firmware version |
4 bits |
// Device FW second number (1.8.2] |
| D - Firmware sub-version |
4 bits |
// Device FW third number (1.8.2] |
| DEVICE CTRL bits settings |
| User2[0] & 1 |
bit 0 |
R/W |
Enable TCP TEA authorization |
| User2[0] & 2 |
bit 1 |
R/W |
Enable NVT |
| User2[0] & 4 |
bit 2 |
R/W |
Enable TCP Setup (default on the port 99) |
| User2[0] & 8 |
bit 3 |
Read only |
DHCP support (0 = DHCP not supported) |
| User2[0] & 16 |
bit 4 |
R/W |
Enable DHCP, fixed IP address ignored |
Z výše popsané struktury všeobecné výzvy a formátu odpovědi již vyplývá,
jak použít ve Vašich kódech vyhledávání modulů. Pokud se Vám jedná o
možnost zápisu konfigurace z Vašeho vlastního kódu, kontaktujte
nás, zašleme Vám podrobnější informace..
Popsaný algoritmus, včetně filtru zařízení podle rozsahu MAC adres
lze najít ve zdrojových
kódech k aplikaci IP Relay Controller
- zdrojové kódy jsou kompilovány pomocí "Borland C++ Builder 6.0".
DOWNLOAD & Odkazy
- IPRC (IP Relay Control)
zdrojové kódy (Borland C++ Builder 6.0)
- PortStoreEye_src.zip
- PS Eye - zdrojové kódy (Borland C++ Builder 6.0)
|