Obsah:
- 1 Použití modulu Ethernet Shield
- 2 Miniaturní domácí webový server na Arduino - komponenty potřebné pro projekt
- 3 Miniaturní domácí webový server na Arduino - propojení komponent systému
- 4 Nastavení krytu Ethernet Shield
- 5 Určení adresy IP
- 6 Určení adresy MAC
- 7 Arduino jako server WWW – kód cílového programu
Tento článek představuje technický příklad prototypu webového serveru založeného na platformě Arduino a modulu Arduino Ethernet Shield.
Použití modulu Ethernet Shield
Chcete-li z Arduino vytvořit miniaturní centrum pro řízení různých procesů přes internet, stačí připojit překryvný štít Ethernet Shield. Arduino se pak stane miniaturním webovým serverem, ke kterému lze přistupovat z prohlížeče na mobilním zařízení nebo počítači. Pomocí takového systému vzdáleného připojení můžeme provádět řadu činností včetně čtení stavů spínačů a tlačítek, ovládání provozních parametrů zařízení a komponent připojených k Arduino a čtení parametrů z měřicích senzorů.
Miniaturní domácí webový server na Arduino - komponenty potřebné pro projekt
K výrobě miniaturního webového serveru pomocí ekosystému Arduino budete potřebovat následující komponenty:
- Platforma Arduino UNO R3 nebo Arduino MEGA2560
- Rozšiřující deska Arduino Ethernet Shield
- Kabelové připojení Ethernet/LAN 10/100 Mb/s
- Připojovací kabel Ethernet
- Wi-Fi router
- kontaktní deska
- připojovací kabely pro kontaktní desky
- rezistor 10k/0,6W
- Napájecí zdroj DC 2x9V
- monostabilní tlačítko (mikrospínač)
Miniaturní domácí webový server na Arduino - propojení komponent systému
Komponenty by měly být připojeny takto: k digitálnímu pinu 8 na Arduino je připojeno monostabilní tlačítko, které je nakonfigurováno jako vstup. Když je tlačítko stisknuto, Arduino bude na tomto pinu číst nízký stav. Následně Arduino nastaví výstup do vysokého stavu. Po uvolnění tlačítka se na výstupu opět načte a udrží nízký stav. Informace o zaznamenané změně stavu polohy tlačítka bude odeslána na webový server.
Nastavení krytu Ethernet Shield
K ovládání překryvného rozhraní Ethernet se používá knihovna Ethernet.h. Překrytí musí být přiřazena MAC a IP adresa pomocí funkce Ethernet.begin(). Pro konkrétní zařízení je adresa MAC globálně jedinečným identifikátorem. Současné verze ethernetových překryvů se dodávají s nálepkou, na které je uvedena adresa MAC. U starších štítů by měla fungovat náhodná, ale stejná by se neměla používat na více deskách. Platnost IP adres závisí na konfiguraci sítě. Pokud se používá protokol DHCP, může překryvné vrstvě dynamicky přidělovat adresu IP.
Určení adresy IP
IP adresa (adresa internetového protokolu) je číselné označení přidělené každému zařízení zapojenému do počítačové sítě, která ke komunikaci používá internetový protokol. Zadání adresy IP se provádí zadáním řádku:
byte ip[] = { 192, 168, 0, 112 };
IP adresa musí být změněna tak, aby odpovídala jedné vlastní konfiguraci. Chcete-li například přiřadit IP adresu ethernetového štítu 192.168.0.30, zadejte řádek:
byte ip[] = { 192, 168, 0, 30 };
Určení adresy MAC
Adresa MAC (media access control address) je jedinečný identifikátor přiřazený každému zařízení zapojenému do fyzické sítě. Každé síťové zařízení má jedinečné sériové číslo, kterým se identifikuje v síti a které je obvykle trvale naprogramováno ve firmwaru zařízení. V případě Arduino však můžeme adresu MAC definovat sami:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 };
Podsíť a bránu můžete nastavit pomocí následujících příkazů:
byte subnet[] = { 255, 255, 255, 0 }; //maska podsieci
byte gateway[] = { 192, 168, 0, 1 }; //adres bramki sieciowej
Níže je uveden blok kódu pro konfiguraci štítu Ethernet:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 }; //ustawianie adresu MAC
byte ip[] ={ 192, 168, 0, 30 }; // ustawianie adresu IP
byte subnet[] = { 255, 255, 255, 0 }; //maska podsieci
byte gateway[] = { 192, 168, 0, 1 }; // przypisanie domyslnej bramki sieciowej
Arduino jako server WWW – kód cílového programu
client.println(""); //strona uzywa skryptu HTML
client.println(""); client.println(""); client.println("Arduino jako serwer "); client.println(""); client.println(""); client.println(""); client.println(""); client.println(" Observing State Of Switch"); client.print("");
Switch is: "); if (digitalRead(8)) { client.println(" ON"); } else { client.println("OFF"); client.println("");
Výše uvedený skript přikáže prohlížeči obnovit stránku. Po opětovném otevření stránky Arduino znovu načte stav přepínače a zobrazí jej. Po stisknutí tlačítka můžeme sledovat měnící se stav spínače, jak je vidět na videoukázce. Hardware lze také nastavit tak, aby fungoval bez směrovače. Za tímto účelem přiřaďte ručně síťovému rozhraní Arduino adresu IP, např. 192.168.0.2, a výchozí adresu masky podsítě 255.255.255.0. K propojení obou zařízení (např. počítače PC a Arduina) je třeba použít křížený kábel Ethernet. Poté bychom měli být schopni stáhnout web Arduino na adrese http://192.168.0.2 z počítače PC.
Jak hodnotíte tento článek na blogu?
Klikněte na hvězdičku a ohodnoťte!
Průměrné hodnocení 4.3 / 5. Počet hlasů 18
Zatím nejsou žádné hlasy! Buďte první, kdo ohodnotí tento článek.
















