. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Konstrukce Web serveru s moduly Connect One

Konstrukce Web serveru s moduly Connect One

Po seznámení se s novými moduly firmy Connect One v článku Představení modulů WiReach a LANReach je na čase podívat se na jejich praktické použití. Na následujících řádcích je tak podrobně popsána praktická konstrukce malého webového serveru pro LAN i WiFi s moduly Connect One a mikrokontrolérem řady AVR.

Firma Connect One, která je v České republice přímo zastoupena firmou Spezial Electronic, uvedla před časem na trh novou řadu svých modulů, umožňujících velice snadné připojení do sítě internet či ethernet. Jedná se o miniaturní modul Nano WiReach™, který je určen pro snadné připojení do sítě WiFi 802.11b/g a modul Nano LANReach™, určený naopak pro snadné připojení prostřednictvím 10/100BaseT.
Oba moduly jsou v zásadě naprosto shodné a to jak co se jejich aplikace (mechanického provedení) týče, tak i po stránce konfigurační a ovládací. Díky tomu jsou následující řádky psané a odladěné na modulu Nano WiReach naprosto shodné a beze změny použitelné i pro modul Nano LANReach. Znamená to, že pro konečnou aplikaci lze osadit modul podle potřeby - je-li požadováno WiFi, použije se Nano WiReach™, je-li potřeba LAN, použije se Nano LANReach™. Moduly jsou tedy vzájemně zaměnitelné a to bez jakékoli změny hardware nebo software (samozřejmě je jasné, že např. LAN modul bude ignorovat nastavení pro WiFi apod.).


Obr. 1: Nano LANReach

Oba moduly podporují hned celou řadu provozních režimů – SerialNET, PPP emulation ale především tzv. Full Internet Controller mode. Pro konstrukci webového serveru použijeme právě poslední zmíněný režim a s jeho pomocí vytvoříme velice snadno malý webový server, ovládající a monitorující přes www stránky 16 I/O pinů a vstupů AD převodníku.

Web server – základní představení:
Základní možnosti následujícího webserveru asi nejlépe popisuje přehled implementovaných protokolů, uvedený již v předchozím článku:

  • ARP, ICMP, IP, UDP, TCP, DHCP, DNS, NTP, SMTP, POP3, MIME, HTTP, FTP and TELNET
  • Bezpečnostní protokoly: SSL3/TLS1, HTTPS, FTPS, RSA, AES-128/256, 3DES, RC-4, SHA-1, MD-5
  • Protokoly akcelerované hardwarem: AES, 3DES and SHA

Všechny tyto protokoly, včetně 64kB prostoru pro uživatelské webové stránky, konfiguračního webového rozhraní a řady dalších funkcí jsou již od výroby implementovány v modulech Connect One. Navíc pro jejich použití není potřeba žádné studium TCP/IP a dalších protokolů a po velice jednoduchém nastavení základních vlastností (jako je IP adresa web serveru či internetové brány) jsou nám k dispozici.
Pro zobrazování libovolných uživatelských hodnot, textů a dalších proměnných je 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ě automaticky nahrazovány jejich hodnotami modulem. 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 aktuální proměnnou.
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.

Následující webový server bude obsahovat jednoduchou webovou stránku s aktuálním stavem čtyř vstupních a osmi výstupných digitálních pinů mikrokontroléru ATmega32. Dále bude zobrazovat i stav prvních čtyř kanálu interního AD převodníku a samozřejmě několik dalších statistických údajů o aktuálním připojení. Počet monitorovaných a zobrazovaných I/O pinů i jejich umístěný bylo zvoleno především s přihlédnutím na co nejednodušší přehlednost zapojení i návrh desky s plošnými spoji. Jak bude dále uvedeno, přidání dalších pinů, změna stávajících a vůbec jakékoliv další úpravy jsou otázkou jednoduché modifikace přehledného zdrojového kódu.


Obr. 2: Ukázka webové stránky

Schéma zapojení:
Na následujícím obrázku je kompletní schéma zapojení webového serveru.


Obr. 3: Schéma zapojení webového serveru

Základem zapojení je již zmíněný, naprogramovaný mikrokontrolér ATmega32 (obvod IO1), ovládající prostřednictvím interního UARTu (pomocí klasických AT příkazů) libovolný modul (U1) firmy Connect One (WiReach či LANReach).

Monitorující vstupní piny PA0 – PA7 jsou vyvedeny na jednořadou pinovou lištu J3. Z nich piny PA0 – PA3 jsou nyní konfigurovány jako analogové a na webové stránce je zobrazena jejich absolutní 10-bitová hodnota v rozsahu 0 až 1023.
Z webové stránky ovládající výstupní piny PC0 – PC7 jsou naopak vyvedeny na jednořadou pinovou lištu J4. Zde je k dispozici 3,3V logická úroveň se zatížitelností až 40mA (více informací viz. datasheet obvodu ATmega32).

Třípinová jednořadá lišta na pozici J5 slouží ke konfiguraci modulu Connect One. Na její piny je, samozřejmě v době neosazeného či nenaprogramovaného mikroprocesoru IO1, možné připojit libovolný RS232(USB)/TTL převodník a prostřednictvím dodávaného konfiguračního software v něm nastavit požadované parametry.

Napájecí napětí serveru na konektoru J1 by mělo být v rozmezí 4V až 12V. Přivedené napájecí napětí je pro elektroniku stabilizováno obvodem IO2 na hodnotu 3,3V.

Konstrukce:
Na následujících obrázcích je uveden možný motiv desky s plošnými spoji a rozmístění součástek.


Obr. 4: Rozmístění součástek - TOP

Obr. 5: Rozmístění součástek - BOTTOM

Obr. 6: Plošný spoj (pro originál 600dpi klikněte) - TOP

Obr. 7: Plošný spoj (pro originál 600dpi klikněte) - BOTTOM

Jelikož se modul připojuje SMD konektorem s pinovou roztečí pouhých 20 mils (0,508 mm), je výroba desky s plošnými spoji v domácích podmínkách téměř vyloučena. Modul Nano LANReach lze však alternativně připojit přes piny na okraji desky s roztečí 2,0 mm, je však jasné, že tím ztratíme možnost záměny za Nano WiReach, neboť ten lze připojit jen přes Molex konektor. Deska je proto navržena jen pro připojení přes systémový konektor Molex. Na konci článku jsou však volně ke stažení výrobní Gerber data.

Vyjma konektorů a krystalu jsou všechny součástky osazené na desce s plošnými spoji v SMD provedení. Na pozici modulu U1 je opět možné použít jak modul Nano WiReach, tak i (kvůli konektoru RJ45) mírně větší modul Nano LANReach, který je i na desce zakreslen.

Seznam součástek
R1                 10k 0805
C1,C2,C3,C4,C5,C6  100n 0805
C7,C8              22p 0805
Q1                 QM 7.372 MHz
IO1                ATmega32L-8PU
IO2                LF33CDT
U1                 Nano WiReach nebo Nano LANReach
                   na desce reprezentován konektorem Molex 52991-0308
J1                 DJK02
J2                 S1G8 (ICSP)
J3,J4              S1G8
J5                 S1G3

Základní konfigurace modulu:
Před prvním použitím modulů Connect One je potřeba provést jejich základní konfiguraci. Ta se provádí výhradně po sériové lince dostupné na konektoru J5 a je shodná pro oba použitelné moduly.
Nejprve je tedy potřeba propojit počítač libovolným 3V RS232(USB)/TTL převodníkem s konektorem J5 na desce serveru. Poté je možné spustit konfigurační software iChipConfig (odkaz ke stažení poslední verze je uveden na konci článku) uvedený na obrázku č. 8 a stisknout Quick Configuration.


Obr. 8: iChipConfig

Nabídka Quick Configuration slouží skutečně pouze k základní konfiguraci modulů. V našem případě je potřeba v části iChip LAN parameters zadat pevnou IP adresu modulu, masku sítě, případně i internetovou bránu (pro přístupu k serveru z libovolného místa na světě). Případně je možné pouze aktivovat získání hodnot z DHCP serveru položkou „Use DHCP“. Tím je základní konfigurace modulu pro použití v tomto webovém serveru dokončena. Nyní je pouze potřeba zapsat nastavení stiskem tlačítka „Save“, následně uzavřít konfigurační okno a odpojit převodník od serveru.


Obr. 9: iChip Quick Configure

Tím samozřejmě ani zdaleka nekončí konfigurační možnosti modulů Connect One. V našem případě se ovšem již vše další nastavuje automaticky mikroprocesorem vždy po zapnutí zařízení. V případě potřeby jsou všechny dostupné volby k dispozici pod tlačítkem Full Configuration a některé z nabízených možností jsou postupně uváděny v podobě aplikačních poznámek na webové stránce firmy Spezial Electronic.

Programování a možnosti úprav řídícího mikrokontroléru:
Po provedené základní konfiguraci vybraného Connect One modulu je potřeba odpojit od zařízení RS232/TTL převodník, neboť jeho linka je společná i pro následné řízení modulu mikrokontrolérem.
Ten je samozřejmě potřeba před jeho použitím naprogramovat. Zdrojový kód i samotný HEX soubor jsou ke stažení na konci článku. Konfigurační pojistky, potřebné k nastavení mikrokontroléru jsou na následujícím obrázku.


Obr. 10: Pojistky obvodu ATmega32

Jelikož se jedná především o ukázkovou konstrukci, je samozřejmě možné přizpůsobit si ovládací program přesně svým požadavkům a přidat i další funkce.
Po zapnutí mikrokontroléru je jeho práce zahájena v souboru main.c a samozřejmě funkci
main(void). Ta nejprve provede základní nastavení hardware, jako jsou I/O piny, AD převodník či UART a následně vyčká zhruba 2s na úplné spuštění firmware v připojeném modulu. Poté funkcí server_sw_init(void) (ze souboru server.c) provede základní nastavení některých hodnot serveru, jako je 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 hledá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 možné snadno doplnit například i několik různých konfigurací pro různé sítě, které se budou vybírat změnou stavu vybraných I/O pinů mikrokontroléru a podobně.

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

Příprava a nahrání webových stránek:
Pro nahráním webových stránek do modulu je potřeba provést jejich přípravu a vytvoření jediného image. K tomu je v programu iChipConfig určena funkce Site Pack.


Obr. 11: 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. 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“ – maximální velikost je 256 a stiskem tlačítka Fill
7) Stisknutím tlačítka Save program následně vygeneruje webserver a nabídne jeho uložení ve formátu .img souboru.

Takto vygenerovaný soubor je ještě samozřejmě nutné nahrát do modulu Connect One. To je potřeba provést 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. 12: 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. 13: 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:
Jak již bylo uvedeno, jedná se samozřejmě především o ukázkovou aplikaci, demonstrující jak snadné je vytvoření malého webového serveru pro vzdálenou správu a řízení libovolných zařízení s pomocí modulů Connect One. Po případném doplnění o izolační prvky a relátka je však aplikace plně funkční a po použití veřejné IP adresy navíc dostupná i kdekoliv na světě.

Zmíněné moduly i různé aplikační poznámky jsou dostupné na webových stránkách firmy Spezial Electronic.

Odkazy & Download:
Výrobce modulů Connect One
Český distributor Spezial Electronic

Software iChipConfig
Firmware pro procesor ATmega32
Ukázková webová stránka včetně .img
Gerber data desky s plošnými spoji

IP procesory a bezdrátové RS232 WiFi moduly
Miniaturní WiFi modul Nano WiReach
Miniaturní Ethernet modul Nano LANReach
Praktické rady a příklady v podobě aplikačních poznámek







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (115):

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

host
115. Dne 07. 06. 2012 v 14:46 zaslal host
Data pro DPS
Dobrý den, je možné získat přímo zdrojový projekt pro schéma a tišťák? Rád bych si ho drobně upravil a překreslovat celé schéma bych nerad. Děkuji


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:
PGEN170 - Generátor 5 MHz až 170 MHz
Moduly PGEN170, jejichž základem je integrovaný obvod LTC6905, jsou lineárně řízené generátory obdélníkového signálu v rozsahu 5 MHz až 170 MHz.
Skladem od 630 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