Nevstávejte z křesla a ovládejte třeba tabletem! Webový server s mikrokontrolérem Atmel a realizace termostatu.

Možná jste pohodlní a chcete vše ovládat jednoduše ze svého počítače či tabletu nebo je potřeba ovládat zařízení vzdálené několik kilometrů daleko. Existují různá řešení, ale v dnešní době se stále častěji připojují zařízení do sítě LAN, ke kterým je možné přistupovat i z internetu. Právě o jednom takovém zařízení bude řeč v následujícím článku.

Existuje několik způsobů propojení mikrokontroléru se sítí LAN. Vyzkoušel jsem hned několik z nich a našel cenově dostupné řešení.

1. Možnost – Lantronix XPORT

Snadné připojení libovolného zařízení do sítě LAN umožňuje webový server od společnosti Lantronix, který se označuje jako XPORT (obrázek 1). Ten má v sobě zabudovanou paměť, do které je možné uložit webovou stránku. Ta poté může komunikovat s mikrokontrolérem připojeným k serveru přes UART. Nevýhodou tohoto modulu je vysoká cena, která tím zvyšuje celkovou cenu výsledného zařízení. Cena se pohybuje okolo 1 000 Kč, ale je možné modul získat i jako vzorek. Výhodou je, že modul je velice malý a je uložený přímo v konektoru RJ45.

Vzhledem k tomu, že modul obsahuje webový server, tak z programátorského hlediska není nutné řešit žádné protokoly.

 
lantronix

Obr. 1: Lantronix XPORT

 

Vlastnosti modulu XPORT

  • Modul integrovaný v konektoru RJ45
  • Webový server
  • Snadná konfigurace přes webové rozhraní
  • Jednoduchá úprava HTML stránek
  • Zabezpečení heslem
  • Napájení 3,3V
  • Převodník UART na Ethernet
  • Podpora velkého množství protokolů (ARP, UDP, TCP, ICMP, Telnet, TFTP, DHCP, HTTP, SNMP, SMTP)
  • Podpora posílání E-mailů

 

2. Možnost – obvod ENC28J60

Trochu komplikovanější připojení k síti umožňuje integrovaný obvod ENC28J60, který je oproti minulému řešení velice levný, ale ani zdaleka neumí tolik funkcí jako Lantronix XPORT. Obvod je potřeba připojit k mikrokontroléru pomocí rozhraní SPI a naprogramovat všechny potřebné protokoly pro komunikaci v síti LAN. Další výhodou kromě ceny je i pouzdro DIL tohoto obvodu, které umožňuje snadné testování na nepájivém poli nebo jednoduchou konstrukci na desku plošného spoje.

S tímto obvodem jsem realizoval zařízení, které umožňuje měřit teplotu a spínat relé podle nastavené teploty buď přes webové rozhraní nebo z dotykového LCD TFT displeje. Pro realizaci webového serveru a protokolů jsem se inspiroval projektem na webové stránce http://tuxgraphics.org/electronics/200612/article06121.shtml, kde je několik projektů na komunikaci po internetu.

c360_2013-06-16-01-34-50-139

Obr. 2: Hotový termostat v krabičce.

Celé zařízení, které můžete vidět na obrázku 2, je rozděleno do dvou nezávislých částí. Jedna realizuje webový server a druhá komunikaci s dotykovým LCD TFT displejem. Vše je naznačeno blokově na obrázku 3. Dvě části jsou z důvodu paměti a výkonu mikrokontroléru.

termostat

Obr. 3: Blokové schéma obou částí termostatu.

Obě části, jak jsou naznačeny na schématu byly i separátně vytvořeny. Každá na vlastní desku a každá část obsahuje vlastní program. Deska s webovým serverem je na obrázku 4. A schémata obou částí jsou na obrázcích 5 a 6.

c360_2013-05-19-13-36-53-652

Obr. 4: Hotová deska s webovým serverem.

schema_1

Obr. 5: Schéma webového serveru.

schema_2

Obr. 6: Schéma desky s dotykovým LCD TFT displejem.

web_atmel

Obr. 7: Webová stránka, která se zobrazí po zadání adresy webového serveru do prohlížeče.

Základní vlastnosti celého zařízení

  • Měření teploty čidlem DS18B20
  • Zobrazení data a času obvodem DS1307
  • Zobrazovaní na LCD TFT displeji s řadičem SSD1289
  • Webový server s obvodem ENC28J60
  • Nastavení teploty přes webové rozhraní nebo dotykem na displeji

Data ke stažení

Obsah archivu:

  • Eagle – složka se zdrojovými soubory schémat a návrhů desek plošných spojů
  • Firmware – složka se zdrojovými soubory programů pro mikrokontroléry
    • LAN – zdrojové soubory programu pro mikrokontrolér řešící webový server
    • LCD_TFT – zdrojové soubory programu pro mikrokontrolér řešící komunikaci s displejem

Závěr

Poté, co jsem celé zařízení vytvořil jsem stejně chtěl něco lepšího a výkonnějšího. Tak jsem zvolil mikrokontrolér STM32F4 s jádrem ARM Cortex-M4 a realizoval termostat, který umožňuje nastavit i týdenní program, je možné jej ovládat aplikací z Android zařízení, měří i vlhkost a umožňuje měřit i venkovní teplotu bezdrátovými senzory. ALE O TOM AŽ NĚKDY JINDY. 🙂

Komentovat

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

*

*