Lekce 15 - Arduino jako Web Server

07.04.2013 10:44

Translate to English

     

Tak je tu dlouho očekávaný díl z našich návodů o použití Arduina jako webového servru. Samozřejmně, že bez použítí Etehernet Shieldu nebo Ethernet modulu to nepůjde. Ethernet Shield jsme si ukázali již minule a to proto, že obsahuje slot na microSD. Ten nás v dnešní lekci zajímat nebude. Je na Vás zda si opatříte Ethernet Shield nebo modul, funkce a program bude stejný. Pouze v případě modulu budete přemýšlet jak a kam ho zapojit, ale to také nebude složité. Já použiji Eternet Shield. 

Ethernet Shield

Ethernet module

Nejdříve si tedy spojíme Arduinu se Shieldem nebo modulem. A nahrajeme si do Arduina tento program:

Tak, teď trošku vysvětlování: 

byte mac[] = { 0xD4, 0xAD, 0xBE, 0xEF, 0xFE, 0x7D };

MAC adresa (z anglického „Media Access Control“) je jedinečný identifikátor síťového zařízení. MAC adresa přidělená výrobcem je vždy celosvětově jedinečná. Naše zařízení ovšem jí nemá hardwarově přidělenou, ale zadáváme jí sami. Měli bychom použít třeba nějakou z vyřazené síťové karty. Vzhledem k tomu, že naše zařízení je viditelné jenom v naší domácí síti, dalo by se řici, že je možné použít kteroukoliv vymyšlenou MAC adresu. Jak vidíte, skládá se ze 6 hexadecimálních čísel. Nikoho by vás za to zavřít neměli.  

IPAddress ip(192,168,0, 150);

IP adresa zařízení. Na tuto adresu se již budeme odkazovat. Já jsem vycházel z IP adresy Wifi routeru, který mám doma a na který budu připojovat síťový kabel s Arduina. Jeho adresa je 192.168.0.1. Mám nastaveno, že DHCP server přiděluje IP adresy automaticky v nějakém rozmezí. Ovšem mi potřebujeme, znát IP adresu Arduina proto ji v programu nastavujeme napevno. První 3 čísla nechte podle vašeho routeru a poslední číslo zvolte jak budete chtít a to do 255. Pozor, ale aby vám nekolidovalo s nějakým jíným sítovým zařízením ve vaší síti. 

Jak zjistím moji adresu routeru?

Např pro telefony s Androidem si stáhněte s Google Play aplikaci ezNetScan. Přes wifi najde všechna zařízení v síti a zobrazí k nim IP a MAC adresy. V modrém rámečku jsem zvýraznil můj router, jak vidíte informace obsahují i IP adresu.

V červeném rámečku je naše zařízení Arduino. Vidíte i nastavenou IP adresu. To bude zobrazeno, až nám bude vše fungovat. Arduino se ukazuje také jako Unknowm, ale program ezNetScan umožnuje si každé zařízení pojmenovat  a přiřadit ikonku. 

 

 

 

Druhá možnost je zjistit IP adresu routeru ve Windows z příkazového řádku. Spusťte tedy aplikaci CMD (příkazový rádek) a napiště "ipconfig" podtvrďte Enterem  a vyjedou vám potřebné údaje. IP adresa routeru zde bude jako "výchozí brána".

Další změny a úpravy v programu nejsou nutné. Pokud jsme si tedy upravili individuálně naše údaje o MAC a IP, nahrajeme program do Arduina, připojíme napájení a síťový kabel. V internetové prohlížeči si zadáme námi nastavenou IP adresu Arduina a měl by se objevit tento výsledek:

Pokud vidíte podobný výsledek, můžete si gratulovat. Aby nás ovšem naše zařízení jen tak zdravilo a nepřinášelo zajímavjější informace, to zřejmně chtít nebudeme. My si k Arduinu připojíme nějaké čidlo  a budeme například odesílat nějakou hodnotu z analogového vstupu našeho Arduina. Já si připojím na A0 mnou oblibený modul senzoru osvětlení. Vy samozřemně můžete připojit jinou libovolnou součástku nebo senzor, jakož i pouze řídit napětí na A0 potencionetrem nebo trimrem.

Nahrajeme do Arduina tento program (nezapomeňte si opět změnit IP a MAC na svoje hodnoty):

Jak vidíte program se nám změnil jenom nepatrně. Po odkomentování řádku č. 49 se nám prohlížeč bude automaticky obnovovat po 2 sekundách, ale i toto si na tom řádku můžete změnit sami. Toto už nám konečně přináší užitek při sledování nějakých hodnot. Jak vidíte na programu vlastní html stránku generuje příkaz client.println();. Vlastní design stránky je pouze na Vás a při troše znalostí html jdou udělat pěkné věci. V nahraném programu je tzv. html minimum co obsahuje odeslání hlavičky html a pak vlastní stránku. Přidejte si další čidla upravte program a máte to, Jak vidíte složité to není.

Upozornění: Jak se někteří z vás mylně domnívají, data z Arduina nebudou k dispozici po celém světě a odkudkoliv, ale pouze ve vaší vlastní (domácí) síti. Pro získání údajů odkukoliv bude muste pracovat Arduino jako Client a ne jako Server. Data z Arduina se budou odesílat a ukládat na nějakém hostujím serveru. To si zase ukážeme v dalším tutoriálu. 

Tak odesílání dat s Arduina jsme si vysvětlili. Teď budeme řešit případ, kdy chceme řídit výstupy na našem zařízení a pomocí relé nebo jiných prostředku spínat a regulovat třeba nějaké spotřebiče. Já jsem si pro test na výstupy připojil přes odpor 1,3kOhm LED diodu, kterou budu chtít řídit přes formulář v internetovém prohlížeči. LED dioda je připojena na pin2. Informace z formuláře se budou odesílat do Arduina pomocí metody GET.

Nahrajeme program:

Jak vidítě, nyní již musíme zachytávat data, která nám stránka odešle. Já jí ukládám do proměné buffer, ve které poté hlédám sekvenci znaků "led1=1". Pokud zjistím, že se toto v proměné buffer nachází, dám příkaz Arduinu, aby uvedl pin2 do urovně HIGH a tím rozsvítil LED diody. Pokud naopak najdu sekvenci znaku "led1=0" provedu opak. V programu vidíte i jak zapsat jednotlivé prvky formuláře. Já jsem si pro kontrolu zapnul i Serial a na konci kódu odesílám proměnou buffer na SerialMonitor, ale to není pro program důležité. Pouze to demostruje jaké data se odesílají na server.

  

Na stránce nejprve uvidíte zda je LED rozsvícena či ne a pak dále máte možnost zaškrtnout co chcete s LED udělat. Po kliknutí na tlačítko Odeslat se změna projeví okamžitě. Nezapomeňte, ale změnit si opět svoji IP a MAC. IP se objevuje i v HTML kódu tak si to v programu upravte, jinak se LED nerozsvítí a program nebude fungovat. 

Jako poslední příklad si uvedeme řízení výstupů pomocí html odkazu, kde uvedeme proměnou (např.: led1=1)To bude obsahovat odkaz prvku, na který budeme klikat. K Arduinu jsem si připojil již 2 LED diody, aby to nebylo tak jednoduché.

Modifikace programu není složitá:

Vysledek vypadá takto a je o mnoho elegantnejší:

Zase apeluji, pokud budete program kopírovat změnte si všechny udáje MAC a IP (ta je v programu nyní obsažena 5x). Nedával jsem jí do proměné, aby bylo z programu vidět jak funguje. Pokud máte nějaké dotazy, napište na mail nebo do diskuze pod článkem.

Zpět

Diskusní téma: Lekce 15 - Arduino jako Web Server

Datum
Vložil
Titulek

Сайты интернет магазинов автозапчастей

[url=https://autocomponent63.ru/]магазин автозапчастей село[/url]

Web магазин, который сегодня всерьез Комфортен.

Компания готова предложить значительный набор высокопрочных автозапчастей по конкурентноустойчивым ценам, и все данные автомобильные запчасти немедленно доступны для покупки online.
Заказчик имеет возможность выбрать наиболее годный для вас порядок платы из большинства разновидностей.
Сейчас имеется затруднения? Специалисты нашей компании онлайн-службы поддержки всегда рады сориентировать.
Запчасти и все, что потребуется для систематичного технологического сервиса и наладки собственного авто, можно без проблем купить у нашей компании.
Наш магазин-это теперь систематичный рынок бывших в употреблении и новых машинных запасных частей с большой сетью предприятий.
Выбирать и совершить покупку авто запчасти в web магазине - сегодня это сделают легко!
Мы-дистрибьютер автозапчастей в России.
Инновационный поиск по наименованию и номеру позиции или номеру производителя предназначен для того, что бы вам быстро было отыскать машинные запчасти.

Datum
Vložil
Titulek

Hydromassage Manhattan

[b][url=https://panafics-furs.ru/site_po/forum/messages/forum1/topic2/message814127/?result=reply#message814127]adult NY[/url][/b]
Hello! Our employees those who make your privacy life much easier . Our organization that gives you massage .

[b][url=https://disease-treatment.biz/new-technology-image-post-trentatregiri-4/#comment-88993]Spanish NY[/url][/b]
Characteristic individuality our Russian salon is not an enforced setting. We optimize groups in a social network to advertising.
[b][url=https://produce-sound.com/video/chicken-licken-radio-steetname-2/#comment-401386]Lomi Lomi New Yourk[/url][/b]
Advise for you personally try any method massage methods now. Our company looking forward to client in our SPA.
[b][url=https://luotianyi.org/space-uid-42657.html]Shiatsu Manhattan[/url][/b]

Datum
Vložil
Titulek

Forex analyzer software

?????????. https://cn.forex-is.com

Datum
Vložil
Titulek

Housemaid  All this will look great in my apartment.

Howdy!.
Our Famous Corporation in Park Slope big 7 years, during this period we working exclusively female employees , on Cleaning after repair and Maid service. Housekeeping maid service ensures order and cleanliness in living room according to generally established convention . We employ exclusively literate Maid , that do Marble care of any complexity and realize it fast and qualitatively. When wewe are talking about a large townhouse, we provide to the customer required composition staff. You can buy as experienced personnel , but also prices very affordable for each customer for maid rental service в Long Island City. With the purpose of place an order Local house cleaning service and Maid service at home advise you personally go to site in Fort George. The Put away Cleaning a private house с Housekeeping maid service every time more efficient in Ocean Hill


We supply professional [url=https://maidservicenyc.pro/]hotel room cleaning service[/url] for exclusive customers. Making use of European tools and licensed devices, we attain optimal results and give cleansing in a short time.

Our friendly group supplies you to obtain familiarized with positive terms of cooperation for business customers. We properly approach our activities, clean making use of expert cleaning products and also customized devices. Our employees are trained, have clinical publications and also know with the subtleties of removing facility and also hard-to-remove dirt from surface areas.

Datum
Vložil
Titulek

Kitchen remodel colonial home East Village

We always design branded interiors , giving attention torequirements reliability and functional capability . Cooperate with customer on all absolutely stages execute general analysis of features rooms , carry advance counts .You are interested in questions .
Kitchen remodel for less than $5000 considered one of most challenging activities
We in the organization Sole Partnership RINDP University Heights work good specialists, exactly they all understand about Kitchen dining room renovations.
The Organization always ready to provide high-quality Kitchen renovations under $10 000 by democratic prices . Masters with great experience work no doubt help whole kitchen room in a few weeks or relatively inexpensive repair . The price depends on cost of finishing materials .

Any room apartments, houses, cottages or other housing Meadowmere unique and has own high-functional load. All this mostly concerns modern kitchens.

Square kitchen remodel Brooklyn Heights : [url=https://kitchen-renovation.club]kitchen renovation new york[/url]

Datum
Vložil
Titulek

proscar and cialis Vekssmus

Viagra Cialis Effetti clolve [url=https://bbuycialisss.com/#]Cialis[/url] GrobBrieri Acheter Du Cialis Le Moins Cher Beaumbarmzem <a href=https://bbuycialisss.com/#>Buy Cialis</a> bapbummaGate Augmentin Or Amoxicillin Dog Uti Dosage

Datum
Vložil
Titulek

Muze ARDUINO fungovat jako Serveri klient zaroven?

Mam momentalne ARD udelane tak, ze mi cte data ze 3 teplotnich cidel a data odesila na web do MySQL DB. Tyto data si zobrazuji na webu. A ted bych chtel, abych si mohl z teto stranky na webu udelat 3 tlacitka, ktera by dala arduinu impulz pro sepnuti rele. Jde to?
Poradi nekdo, prosim?

Datum
Vložil
Titulek

Propecia After 10 Years Testosterone Levels EllDert

Como Comprar Cialis Online [url=https://viacialisns.com/#]cheapest cialis[/url] Pill Small Order Brand Cialis Online <a href=https://viacialisns.com/#>Cialis</a> Generic Levitra Effective

Datum
Vložil
Titulek

.- .-. -.. ..- .. -. --- / .. ... / ...- . .-. -.-- / --. --- --- -..

.... . .-.. .-.. --- / .- .-. -.. ..- .. -. --- / .. ... / ...- . .-. -.-- / --. --- --- -.. / .. / .-. . .- .-.. .-.. -.-- / .-.. .. -.- . / .. - / .- -. -.. / . -. .--- --- -.-- / .-- --- .-. -.- .. -. --. / .. -. / .. - / --- -.- / -... -.-- . / -- .- .-. . -.- / ..-. .. .-.. .. --. .- -.--

Datum
Vložil
Titulek

Re: .- .-. -.. ..- .. -. --- / .. ... / ...- . .-. -.-- / --. --- --- -..

.... . .-.. .-.. --- / .. - / .. ... / -- . / .- --. .- .. -. / .. / .- -- / .... . .-. . / - --- / ... .- -.-- / .. / .-.. .. ...- . / .. -. / ...- --- -.. --- -.-. .... --- -.. -.-- / .- -. -.. / .. -- / .-. . .- .-.. .-.. -.-- / --. .- -.-- / -... ..- - / .. / -.. --- -. - / ... ..- .--. .--. --- .-. - / --. .- -.-- / .--. . --- .--. .-.. . / .- -. -.. / .. -- / .. -. / -.- ..- / -.- .-.. ..- -..- / -.- .-.. .- -. / ---... -.--.-

<< 1 | 2 | 3 | 4 | 5 >>

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.