Charon I - SNMP I/O Thermometer – první kroky
Charon I - SNMP I/O Thermometer - první kroky V jazyku C lze pro modul Charon I naprogramovat řadu SNMP aplikací a vývojový kit „Web51 ANSI C – SNMP“ obsahuje řadu příkladů na jejich tvorbu. Nejrozvinutější z aplikací je „SNMP I/O Thermometer“, který lze použít ve spolupráci s JAVA aplikací „Thermometer“ místo běžného SNMP clienta ovládá sériovou linku RS-232, až 32 binárních vstupů a výstupů a několik 1-Wire teploměrů. Tento popis vás krok za krokem provede instalací a otestováním SNMP aplikace. Vzhledem ke značným možnostem této demonstrační aplikace ji můžete použít jakožto finální řešení, aniž byste museli cokoliv programovat..
SNMP I/O Thermometer Firmware je určen pro moduly Charon I a standardně funguje s dodávanými vývojovými kity : Charon I DK
(Development Kit) je jednoduchý a levný vývojový kit, ve kterém lze otestovat pouze základní periferie, neobsahuje posuvné registry atd..
Charon I&II DB
(Development Board) je vývojový kit, na němž najdete přímé výstupy, ale také SHIFT registry pro externí rozšířené vstupy a výstupy, LCD displej připojený také přes posuvné registry, přímý výstup na 1-Wire. Charon I&II obsahuje také periferie, které podporuje pouze Charon II (druhou sériovou linku RS-232, JTAG, SERIAL FLASH až 4 MB, ISP programovací rozhraní..).
Modul lze použít v jakékoliv základní desce, která připojí galvanicky oddělený Ethernet a napájení.
Ovládané periferie Šířka binárních vstupů a výstupů je dána počtem použitých posuvných registrů, které se připojí kaskádně za sebe. Rozšířené periferie fungují pouze, pokud je z JAVA aplikace (nebo z obecného SNMP clienta) nastaven pro periferie mód „special“, v režimu „paralel“ lze přistupovat pouze přímo na 8. bitový vstupně/výstupní port P1. •
Sériová linka RS-232 (data z RS-232 jsou odeslána do SNMP clienta jako trapy)
•
0 .. 32 binárních vstupů
•
0 .. 32 binárních výstupů
•
až 4x teploměr 1-Wire
Parametry RS-232 portu se nastavují po SNMP v našem případě z JAVA aplikace. Jakákoliv příchozí data jsou odeslána jako SNMP trap. Teploměry na sběrnici 1-Wire se automaticky detekují vždy po zapnutí. Teploměry na 1-Wire se detekují po startu i za běhu. Lze je tedy odpojit a připojit. Který teploměr chci použít lze definovat indexem teploměru v Java aplikaci. Teploměry se řádí podle svého ID. Červenec 2003 HW server
1/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Instalace SNMP FirmWare do modulu Charon I Upload SNMP firmware Modul Charon je defaultně dodáván s firmwarem Konvertor Ethernet / RS-232, takže nejdříve je nutné nahrát do modulu nový firmware, který obsahuje tuto SNMP aplikaci. Upload firmware do procesorů T89C51RD2 a následovníků se provádí programem Flip od výrobce procesorů – firmy Atmel. Program stáhnete buď na oficiálních stránkách Atmelu, nebo odzkoušenou starší verzi 1.6, kterou vidíte na obrázku najdete na : www.HWgroup.cz na stránce DOWNLOAD mezi užitečnými utilitami..
PSEN – programování Připojte modul Charon k sériové lince RS-232 a osaďte jumper PSEN. Pozici jumperu PSEN najdete vyznačenu na vývojové desce (Charon I&II DB vlevo dole – spodní pozice „Forced“, Charon I DK pod ledkami LINK a POWER). Po osazení jumperu zapněte napájecí napětí, vyberte ve Flipu typ procesoru (Device T89C51RD2) pak načtěte firmware uložený v souboru s příponou .HEX
Select
Nastavte programování po sériovém portu RS-232 (Settings Communication RS-232). Pokud program zahlásí chybu, zkontrolujte osazení jumperu PSEN, použité kabely pro připojení RS-232 (stačí 3. vodičové připojení RxD, TxD, GND), (u Charon I&II DB zkontrolujte zda jste osadili jumper RESET do pozice x51) a případně modul resetujte. - Před programování nezapomeňte zaškrtnout i políčka ERASE a BLANK CHECK. - Po naprogramování a verifikaci odpojte program Atmel Flip ze sériového portu. - Odstraňte jumper PSEN. - Osaďte jumper SETUP (T0). Spusťte si libovolný sériový terminál (TeraTerm, Terminal, v nejhorším případě HyperTerminál z Windows), nebo náš program „Ethernet Converter SETUP“, který lze také stáhnou ze stránky DOWNLOAD na www.HWgroup.cz. Červenec 2003 HW server
2/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
RS-232 SETUP pro aplikaci SNMP I/O Thermometer Nastavte parametry sériového kanálu 9600 Bd 8N1, no handshake. Ověřte, zda jste osadili jumper SETUP a odstranili jumper PSEN a resetujte modul.
POZOR – DŮLEŽITÉ Po každém nahrání nového firmware, nebo jeho updatu, je NUTNÉ provést nejprve RESET TO DEFAULT, abyste inicializovali hodnoty v konfigurační paměti EEPROM.
Proveďte příkaz : d ... load default setup Po jeho provedení a opětovném načtení menu nastavte IP adresu, Gateway, Masku a „target trap adress“. t ... enter target trap address Target trap adress je adresa, kam se budou odesílat UDP pakety se SNMP TRAPy. Jedná se tedy o jedinou adresu, která bude s modulem komunikovat. Pravděpodobně sem nastavte vaší IP adresu. Pokud používáte DHCP, nebo si ji nepamatujete, nejsnáze ji zjistíte spuštěním v příkazovém řádku „IPconfig“ – Systém Windows vypíše DNS, IP, MASK a GATEWAY. Další možnosti jsou 0.0.0.0 = vypnuto, 255.255.255.255 = UDP broadcast. v ... set port value Definuje hodnotu I/O portu po zapnutí napájení. Lze tak definovat například vypnutí nějakých zařízení po restartu systému… Hodnota se nastavuje v desítkové soustavě v rozsahu 0..255 p ... switch port type Mění typ práce s porty mezi direct – přímý přístup na I/O port a shifted – použití posuvných registrů a 1-Wire teploměru. Pokud používáte Charon I&II DB nastavte si verzi s ... Web51 system info Vypíše aktuální nastavené síťové parametry (MAC, IP, GW, MASK) Po nastavení potřebných parametrů, odstraňte jumper SETUP a modul restartujte.. Do sériového portu modul vypíše : „EEPROM loading, preserving MAC, getting“.
Závěr Firmware modulu je nyní nastaven. Je čas připojit se k modulu po SNMP! Pokud si chcete být jisti, že modul skutečně na síti finguje, zkuste si pingnout na jeho IP adresu, ping je součást ICMP a funguje samozřejmě i na UDP a SNMP zařízeních, které nepodporují TCP/IP. Červenec 2003 HW server
3/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Instalujeme a spouštíme JAVA aplikaci „Thermometer“ Pro obsluhu modulu Charon I, který komunikuje po SNMP můžete používat libovolný SNMP client (browser), protože MIB tabulka je přiložena k aplikaci, ale pokud se SNMP začínáte použijte naši JAVA aplikaci „Thermometer“ která vám vše přehledně zobrazí s pomocí grafiky a zároveň v ní lze snadno a rychle modul nastavovat.
Základní pojmy kolem jazyka JAVA JAVA ještě není běžně rozšířena, proto se vám pokusíme vysvětlit pár základních pojmů : JAVA SDK (Software Development Kit) Obsahuje překladač souborů .java na soubory .class a vše potřebné proto, abyste mohli začít vyvíjet v JAVĚ aplikace. Pokud potřebujete hotové aplikace jen používat, nepřidělávejte si starosti s instalací kompletního balíku. JRE – JAVA runtime enviroment Základní prostředí, které umí JAVA kód spustit a JRE tak potřebujete k tomu, abyste mohli jakoukoliv JAVA aplikaci vůbec pustit. Poslední dobou firma SUN, která JAVU vymyslela hodně propaguje tzv. Java Web Start 1.2. Jedná se o jakýsi další balík rozšíření, který umožňuje spouštět aplikace z jediného souboru, nebo přímo z Internetu atd.. Poslední dobou je standardně obsažen v základním JRE. .java Textový zdrojový kód aplikace, jedná se tedy o textový kód.. .class Tzv. „byte code“ = univerzální spustitelný kód, který není závislý na platformě CPU. Vzniká přeložením původního textového zdrojového souboru .java. .jar Několik souborů .class sloučených do jednoho souboru .jar = finální spouštěná aplikace. Aplikace je pak jediný soubor, nepotřebujete tolik otevřených souborů, případně komprimovat programy atd..
Červenec 2003 HW server
4/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Poslední verzi ovládající JAVA aplikace Thermometer si lze stáhnout z Internetu: http://www.dfsoft.cz/Charon/
Jak pracovat s aplikací „Thermometer“ K tomu, abyste vůbec spustili soubor „sThermometer.jar“ potřebujete mít napřed nainstalovaný buď JAVA SDK, nebo JRE. Ten není defaultně součástí Windows, tak si jej stáhněte z Internetu : http://java.sun.com/products/javawebstart/download-windows.html Po nainstalování podpory pro JAVA aplikace již na .JAR soubor na disku stačí kliknout a aplikace se spustí sama. Aplikaci také můžete spustit z výše uvedené WWW stránky. Pro uložení IP adresy a proměnných slouží soubor „charon_properties.txt“ ve stejném adresáři : max=50 graph_time=1 min=-20 timeout=5000 IP=192.168.6.16
Aplikace používá freeware Westhawk což je implementace SNMP protokolu pro JAVA aplikace.. Červenec 2003 HW server
5/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Ovládání aplikace Thermometer Před spuštěním JAVA aplikace nastavte IP adresu modulu Charon v textovém souboru .
Options Pokud IP adresu modulu nenastavíte v charon_properties.txt, program bude hlásit, že modul nenalezl. IP lze nastavit ještě v menu „Options Host IP“, spolu s timeoutem po kterém SW nahlásí chybu SNMP komunikace. V „Options“ dále nastavíte parametry grafu teploty (rozsah grafu a časy mezi měřeními).
Thermo Nastavuje alarmy = hodnoty, při kterých SNMP zařízení (modul Charon) nečeká na dotaz clienta (zde JAVA aplikace) na teplotu a sám hlásí překročení povoleného rozsahu. Hodnota alarmu je zobrazen vlevo na stupnici teploměru červenou a modrou šipečkou. Hlášení o alarmu se vypisují v textovém okně nad grafem s průběhem teploty. Vyzkoušejte alarmy – nastavte horní mez teploty (červená šipka) na cca 31°C a vezměte teploměrové čidlo do ruky, teplota poroste a při překročení nastavené meze se objeví hlášení : „04:35:07 [0] '31.13 °C' Temperature High from 192.168.6.16“ Klimatická poznámka : Pokud je 32 – 36 °C běžná teplota, ve které se pohybujete, použijte spodní mez na cca 15°C a kostku ledu.. ☺.
TEA Tea je algoritmus pro kryptování dat, pokud potřebujete zabezpečit autorizaci protistrany. Červenec 2003 HW server
6/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Ethernet Toto menu slouží ke vzdálenému nastavení parametrů modulu. Kromě standardních IP parametrů, které lze definovat i v SETUPu přes RS-232 (IP adresa modulu, Maska, Gateway) lze nastavit také přijímací port modulu (defaultně 2000) a IP adresu a port kam jsou odesílány SNMP Trapy (IP adresa počítače kde běží JAVA aplikace, nebo standardní SNMP client). Specialitou je „Allowed IP adress range“ což je rozsah adres s nimiž modul komunikuje.Rozsah se definuje hodnotou IP adresy a její maskou, jako v klasických sítí pro rozlišení komunikace v lokální síti / komunikaci přes Gateway.
Serial Menu pro nastavení parametrů sériové linky RS-232 na modulu. Parametr „serial timeout“ řídí „paketizer“ (algoritmus, který souvislý tok dat z RS-232 rozkládá na jednotlivé pakety, které odesílá do Ethernetu). Parametr definuje maximální délku mezery za posledním přijatým znakem, která se má respektovat, než je z přijatých dat vytvořen paket a odeslán po SNMP. Počet timeout znaků je tedy vlastně časové zpoždění, ale udává se ve znacích, aby jej uživatel nemusel přepočítávat při změně baudové rychlosti. Pokud je tedy na 9600 Bd nastaveno serial timeout = 7 a přijde souvislý paket 15 znaků (trvá cca 15 ms), čeká po posledním znaku modul dalších 7 ms (7 ms = cca 7 znaků na 9600 Bd) než přijatých 15 bytů sbalí a odešle jako SNMP trap. Poznámka : Všechny vzdáleně nastavené parametry modul ukládá do interní EEPROM a po spuštění je aplikace znovu z modulu po SNMP načítá, takže nemusíte mít obavu o ztrátu konfigurace.
Port Menu port nastavuje typ přístupu k 8. bitovému I/O portu na modulu Charon. •
Parallel I/O port P1 je použit jako přímých 8 pinů. Šířka portu má pak smysl 1..9, kdy 9. bit je vstup INT0 (druhý jumper vedle jumperu SETUP). Pokud nastavíte šířku 4, jsou automaticky horní 4 piny přiřazeny jako síťová indikace, podle následujících funkci : - P1.4 – PING - P1.5 – ARP - P1.6 – SNMP - P1.7 – UDP V přímém režimu nelze port dále rozšířit a nelze používat 1-Wire sběrnici, ani posuvné registry.
•
Special I/O port je rozšířen pomocí posuvných registrů a dalších periferií podle dokumentace „Rozšíření sériových portů modulů Charon“, což je plně kompatibilní se schématem k doporučené vývojové desce Charon I&II Development Board. - I/O porty lze rozšířit až na 32 vstupů a výstupů - Na P1.0 lze připojit až 4x 1-Wire teploměr Popisované aplikace SNMP I/O Thermometer nepodporuje rozšíření o LCD displej, nebo A/D převodníky, což zmíněná specifikace umožňuje.
Červenec 2003 HW server
7/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz
Charon I - SNMP I/O Thermometer – první kroky
Použití aplikace s obecným SNMP clientem Pokud budete chtít použít aplikaci s obecným SNMP clientem, budete potřebovat MIB tabulku k aplikaci v modulu Charon. Tuto tabulku najdete buď v adresáři příkladů k originálnímu „ANSI C SNMP Development System“ nebo je ke stažení spolu s .HEX souborem a zde popsanou aplikací sThermometer.jar Pro ověření funkce nebo pro reálnou aplikaci lze použít libovolný SNMP Client. Po nainstalování clienta, je třeba nahrát do příslušného adresáře .mib soubor. K tomu aby jej SNMP client vzal k dispozici je třeba nahranou tabulku přikompilovat k výběru používaných MIB. Po úspěšném přikompilování by měl client SNMP zařízení Web51 rozpoznat a zobrazit strom s proměnnými, které obsahuje..
Jak na SNMP Pro obecný x51 hardware (nemusí se tedy zdaleka jednat jen o moduly Charon) lze použít vývojový kit ANSI C - SNMP Development Systém, který obsahuje opět celou řadu řešených příkladů, jednoduchý generátor MIB tabulek a podobně. Podrobnější informace najdete na vývojových stránkách http://Web51.HW.cz.
Zajímavé odkazy •
Vše o SNMP - http://www.snmplink.org/
•
http://www.castlerock.com - SNMPc Network Manager
•
SNMP Client který lze licencovat na 30. denní trial verzi - http://www.mg-soft.com
•
Server se zajímavými nápady kolem SNMP - http://www.pcmeasure.com
•
CodeGen - Generátor kódu, parser a merger - program analyzuje MIB a generuje kostru kódu podle zadané šablony. Usnadňuje vytváření MIB - http://www.dfsoft.cz/products.htm
Související dokumentace •
ANSI C - SNMP Development System Vývojový kit s příklady SNMP aplikací na x51 platformě. ANSI C kód je zkompilovatelný v Keilu nebo částečně i v SDCC.
•
Readme.txt Všechny SNMP aplikace mají propracované readme v angličtině..
•
Charon I&II Development Board – Schémata a popis rozšířeného vývojového kitu.
•
Charon I – Dokumentace –Schéma a popis samotného modulu a programování
•
www.Hwgroup.cz - Dokumentace k finálním produktů a řešením.
Červenec 2003 HW server
8/8 Rumunská 26, Praha 2, 120 00 – Tel. 222 511 918
www.HWgroup.cz