. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
PWLAN - I/O
13. ledna 2010 - 8:47 | Pandatron | PWLAN - I/O | Komentářů: 13  

PWLAN - I/O

Příklad aplikace modulu PWLAN v režimu digitálních I/O pinů a analogových vstupů s webovým rozhraním, včetně zdrojových kódů a funkční ukázkové verze.

Článek navazuje na předchozí popis elektroniky PWLAN - hardware a přináší program pro mikrokontrolér, využívající PWLAN jako I/O server s ovládáním prostřednictví webového rozhraní.


Obr. 1: Modul PWLAN pro spojení do sítě Ethernet

PWLAN
Moduly PWLAN tvoří kompaktní celek spolu s již mnohokráte ověřenými moduly Nano SocketLAN výrobce ConnectOne. Díky integrovanému mikrokontroléru firmy Atmel mohou být použity jako plnohodnotná zařízení pro webovou správu dostupnou prostřednictvím internetu z celého světa, ale i pro vývoj vlastní aplikace.

Z použitého hardware a rozložení pinů modulu PWLAN vychází celkový základní dostupný počet digitálních I/O pinů (tedy pinů konfigurovatelných jako digitální vstup či výstup) na rovných 15. V dále uvedeném příkladu jsou však piny PC0, PC1, PC4 a PC5 konfigurovány na využití interního ADC s rozsahem 0 až 3,3 V při rozlišení 10 bit. Dále piny PD2, PD3, PD4, PD6 a PD7 jsou konfigurovány jako pět digitálních vstupů a zbylé piny portu PB jako celkem šest digitálních výstupů. Jelikož je napájecí napětí použitého mikrokontroléru v hodnotě 3,3 V, jsou k tomuto napětí vztaženy i povolené hodnoty na digitálních pinech 0 / 3,3 V.


Obr. 2: Rozložení pinů modulu PWLAN a jejich funkce v uvedeném příkladu

Program pro mikrokontrolér
Jelikož je v PWLAN využit modul Nano SocketLAN výrobce ConnectOne, který zajišťuje veškerou obsluhu komunikace prostřednictvím rozhraní Ethernet 10/100 Base-T, je již samotný program pro mikrokontrolér velice jednoduchý. Z toho samozřejmě vychází i snadná modifikovatelnost pro jiné rozložení I/O pinů či zajištění komplexnější funkce. Program v paměti použitého nejmenšího zástupce mikrokontroléru z řady AVR - ATmega48 zabírá zhruba 1/2 dostupné kapacity.

Funkce programu
Po zapnutí napájecího napětí je jako první provedena inicializace hardware mikrokontroléru a to funkcí void server_hw_init (void); ze souboru server.c, následovaná alespoň 3s pauzou pro inicializaci modulu Nano SocketLAN. Dále je funkcí void server_sw_init (void); provedena konfigurace modulu, spočívající kupříkladu v povolení uživatelské změny proměnných či samotné spuštění webového serveru a jeho zpřístupnění pro webový prohlížeč. Tuto konfiguraci je samozřejmě možné provést i trvale a to při konfiguraci modulu. Takto je však usnadněna práce s jejich dohledáním a například následné změny konfigurací je možné provádět pouhým přeprogramováním mikroprocesoru. Navíc je tak možné doplnit například několik různých konfigurací pro rozdílné sítě, které se budou vybírat změnou stavu vybraných I/O pinů mikrokontroléru a podobně.

Následná činnost programu je taková, že v pravidelných intervalech časovače TMR1 (tedy zhruba po 50 ms) volá funkci void server_refresh (void);, která postupně krok za krokem (v 15 krocích) snímá vždy jeden vybraný pin a odesílá modulu jeho aktuální hodnotu (platí pro vstupní digitální a analogové piny). V případě výstupních pinů pouze odesílá dotaz na stav příslušných proměnných. Jeho odpovědi jsou následně vyhodnocovány a zpracovávány ve funkci void server_decode (void);, volané z hlavní smyčky vždy po načtení jednoho řádku dat (po znak 0x0A) z modulu Nano SocketLAN.


Obr. 3: Konfigurační bity mikrokontroléru ATmega48

Soubor HEX, ale i veškeré zdrojové kódy jsou ke stažení na konci článku. Je tedy možné program převzít a velice snadno upravit pro jiné fyzické rozložení pinů i jiné rozložení počtu vstupních a výstupních pinů. V případě takového požadavku je možné provést modifikaci i v rámci diskuse pod článkem.

Základní konfigurace modulu
Postup možné konfigurace modulu Connect One byl podrobně popsán v předchozím článku PWLAN - hardware. Zde tedy jen informaci o software iChipConfig, jehož prostřednictvím je možné provést jak základní konfiguraci modulu, spočívající v nastavení pevné IP adresy či ponechání jejího automatického získání z DHCP serveru, tak i velice zevrubnou konfiguraci s využitím všech dostupných funkcí modulů (například SMTP, FTP atd.).

Některé z nabízených možností jsou postupně uváděny i v podobě aplikačních poznámek na webové stránce distributora, firmy Spezial Electronic.

Příprava a nahrání webových stránek
Webové stránky včetně veškeré grafiky a pod. jsou ukládány přímo do modulu ConnectOne. K dispozici je zde celkem 256 kB prostoru, tedy dostatečné místo i pro více stránek a jednoduchou grafiku. Podporován je samozřejmě HTML kód, libovolná grafika (nejčastěji GIF a JPG), textové soubory, Java Applety a skripty včetně technologie AJAX, WAP stránky, atd.

Pro zobrazování prakticky libovolných uživatelských hodnot, textů a dalších proměnných je přímo v modulech k dispozici propracovaný systém jejich správy. Takové proměnné jsou ve zdrojovém kódu webové stránky uzavírány do vlnovek a následně zcela automaticky nahrazovány jejich aktuálními hodnotami. Je-li tedy například uveden řádek:

<p>Teplota je: ~teplota~</p>

Je slovo teplota bráno jako název proměnné a při zobrazení webové stránky je automaticky (samozřejmě včetně vlnovek) nahrazeno hodnotou aktuální proměnné.
Samotné proměnné mohou být měněny jak AT příkazy v podobě například AT+iteplota=23,5°C, tak i webovými formuláři, kdy jsou předávány jako hodnoty v podobě GET či POST (bez vlnovek).

Pro příklad I/O webového serveru byla navržena jednoduchá HTML stránka s využitím CSS a obrázku na pozadí, která je k dispozici ke stažení na konci článku.

Pro nahrání webových stránek do modulu je potřeba provést jejich přípravu, spočívající ve vytvoření jediného image souboru. K tomu je v programu iChipConfig určena funkce Site Packer.


Obr. 4: iChip Web site packer

Postup přípravy dat je následující:

1) V programu iChipConfig klikneme na funkci Site Pack
2) Vybereme adresář s připravenými soubory pro webové stránky
3) U volby Platform vybereme odpovídající platformu procesoru modulu, tedy CO2128
4) Stiskneme tlačítko Pack
5) V horní části okna programu vpravo je potřeba zadat u jednotlivých proměnných jejich velikost v bytech (znacích). Lze samozřejmě označit i několik proměnných naráz.
6) Nastavení velikosti vybraných proměnných se poté provede vyplněním hodnoty do políčka „Fill selected parameters with value“ a stiskem tlačítka Fill
7) Stisknutím tlačítka Save program vygeneruje webserver a nabídne jeho uložení ve formátu .img souboru.

Takto vygenerovaný soubor je samozřejmě nutné nahrát do modulu Connect One. To je potřeba provést až v době, kdy je již celý webový server zapnut a je dostupný na zadané IP adrese. V tom případě zadáme adresu ve formátu: http://<IP adresa modulu>/ichip.


Obr. 5: Nahrání webserveru do modulu

Zde vlevo dole vybereme položku Files Upload. U volby "Website to upload" vyhledáme vygenerovaný .img soubor a stiskneme tlačítko Submit. Tím by mělo dojít k nahrání veškerých webových stránek a jejich okamžitému zpřístupnění na webové adrese v podobě IP adresy modulu. Ještě se sluší dodat, že tato funkce může být samozřejmě chráněna heslem, nastavitelným ve volbě Full Configuration. Nyní je však heslo mikroprocesorem (ve funkci server_sw_init(void)) vždy po zapnutí zrušeno (příkazem AT+iRPG="*").


Obr. 6: Webová stránka serveru

Nyní by již měl být webový server plně funkční a připravený k použití.

Závěr:
Uvedený příklad aplikace modulu PWLAN v režimu digitálních I/O pinů a analogových vstupů s webovým rozhraní, včetně zdrojových kódů je určen pro demonstraci velice snadného použití a zprovoznění webového serveru. Prostřednictvím celosvětové sítě internet je tak možné jednoduchým způsobem zajistit ovládání libovolných spotřebičů a aplikací prakticky z libovolnému místa na světě. V případě zájmu je samozřejmě možné jednoduchým, avšak velice účinným způsobem ochrany přístupu k webové stránce heslem zajistit omezený přístup. Takové možnosti budou praktickým příkladem uvedeny v některém z příštích článků.

Odkazy & Download:
Domovská stránka výrobce ConnectOne
PWLAN - hardware
Deska s plošnými spoji pro PWLAN v eShopu
Nano SocketLAN v eShopu

Program pro mikrokontrolér - DOWNLOAD
Příklad webových stránek - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk
Příbuzné články:
PWLAN - hardware
PWLAN - I/O

Komentáře (13):

Zobrazit starší 30 dnů (13)...

host
13. Dne 22. 01. 2013 v 00:29 zaslal host
změna I/O na 6xAD 6xOUT 3xIN
poradil by mi nekdo jak prepsat kod abych mohl využít na I/O 6xAD 6xOUT 3xIN?? Díky


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PGEN45 - Generátor 8 kHz až 45 MHz
Moduly PGEN45, jejichž základem je integrovaný obvod LTC1799, jsou lineárně řízené generátory obdélníkového signálu v rozsahu 8 kHz do 45 MHz.
Skladem od 530 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007