Lekce 16 - Arduino jako Web Client - II. část

25.04.2013 21:20

Translate to English

V druhé části tutoriálu si ukážeme praktické využití. V prvním případě si ukažme způsob jak na nějaký server odesílat data např. z nějakého čidla a tyto tam ukládat a na serveru mít možnost je odkudkoliv po světě zobrazit. Já si připojím ke svému Arduinu můj obligátní světelný senzor (pracovně tomu říkám čidlo tmy, protože čím větší je tma, tím větší napětí je na výstupu čidla). Já jsem si čidlo připojil na analogový pin A0. Vy samozřejmě můžete použít čidlo DHT11 nebo cokoliv jiného u čehož se budou měnit hodnoty. 

Do Arduina si nahrajeme tento program:

Já jsem si pro tento tutorál vytvořil 2 stránky na serveru www.arduino.asp2.cz (Je to v ASP.NET, jazyk C#). První stránka se kterou se spojuje Arduino je AddData.aspx. Ta je naprogramována, aby vzala proměnné hodnoty z URL. Jak můžete vidět v kódu na řádku 35 začíná program požadavkem:

GET https://www.arduino.asp2.cz/AddData.aspx?id=xxxxxx&h1=nejaká_hodnota&h2=další_hodnota HTTP/1.1

Jak vidíte za znakem otazníku je proměnná id za kterou si dosadíme něco libovolného svého pro pozdější identifikaci na stránce, kde se budou zobrazovat data, protože sem budou chodit od více lidí tak aby jste si je poznali. Dále tam za hodnotu1 dosazujeme nějaké data, které chceme uložit. V mém případě se tam jak můžete vidět na řádku 37 načte analogová hodnota z pinu A0, do kterého je napojen právě můj "senzor tmy". Naprogramoval jsem stránku, že můžete zadat i hodnotu druhou za hodnota2=. Já tam, protože jsem nic nepřipojil píšu slovo nic, to se nám také uloží do databáze.

Tak data jsme odeslali a já jsem stránku naprogramovat tak, že když jsou data do databáze uložena správně tak server vrátí Arduinu toto <1>. V případě opaku vrací <0>. Tyto data odesílá server po hlavičce, ale to jsme si vysvětlili již v I. části. V programu tuto hodnotu vypársujeme jako v předešlé části a pro kontrolu odesílání máme činnost zapsanou na seriový port, kde průběh sledujeme na SerialMonitoru. Pokud vidíme výsledek takto, program funguje:

Pokud jsou data ze serveru hodnoty 1, pak uložení proběhlo v pořádku a my se můžeme podívat na stránku https://www.arduino.asp2.cz/ViewData.aspx, kde jsou v tabulce zobrazeny všechny zpracované hodnoty. Data obsahují datum a čas přijetí, Vaše unikátní ID, které jste si nastavili, a stavy hodnot h1 a h2. V našem případě pokud jste kód neměnily a máte připojeno něco na analogovém portu bude hodnota 1 nějaké číslo do 1023 a v hodnotě 2 bude text nic. 

Po klidnutí na výše uvedený odkaz se objěví toto:

Data jsou seřazena chronologicky, jako první záznam se zobrazí ten nejčerstvější. Jak vidíte nezměnil jsem si id, proto tak zůstali ty x jako v kódu. Nevím, zda zde zveřejnit zdrojový kód stránky v c# asp.net. Používám pro tento případ hosting zdarma na asp2.cz, kde nabídnou myslím i databáze MSSQL zdarma. Moc prostoru Vám zadarmo nedají, ale pro málé projekty to stačit určitě bohatě bude. Já jsem pro projekt využil klasickou databázi Access, ale můžete Vaše data ukládat třeba do textového souboru nebo xml. To už je na Vás. Kdyby jsme potřebovali poradit s programováním stránek pro projekt s Arduinem tak napiště. Samozřejmě můžete, pokud ovládáte, použít i php.  

   Tak první případ máme a opravdu už můžeme přistupovat k údajům z Arduina odkudkoliv na světě. Stránku www můžete naprogramovat samozřejmě i tak, že bude zobrazovat pouze aktuální hodnotu a ne celou tabulku.

    Tak a teď přijde ta druhá možnost, že budeme řídit Arduino vzdáleně třeba z onoho Nového Zélandu. Je tam pěkně odjedeme na dovolenou a přes webové rozhraní, např. zkontrolujeme vlhkost naší vzácné rostliny a dáme příkaz miniaturnímu čepadélku k jejímu zalití nebo před příjezdem z chaty doma aktivujeme topení. My si teď pouze pro příklad rozsvítíme 2 LEDky. Princip je následující. Arduino se bude www stránky prát a www stránka bude odpovídat. Informaci budeme předávat jako v předchozím případě. Ale nebude to informace o nějakých hodnotách (samozřejmě, že také může - hodnoty sledovat třeba budeme), ale bude třeba předávat nějaké heslo nebo ID aby nás stránka mohla identifikovat, že jsme to my. www stránka nám vrátí hodnotu Arduinu, kterou si na webu nastavíme. Samozřejmě, že ono to v reálném čase moc nepůjde. Arduino naprogramujeme např. na interval 5 min, kdy pokaždé se připojí k serveru, kde je www stránka umístěná. Samozřejmě, že by to šlo cyklicky bez pauzy, ale možná budeme omezeni přenesenými daty v hostinku www stránek. Jinak já jsem tak orientačně počítal, ono tak zase hodně dat nebude, je to pár kB co půjde tam a zpět. Na konci po vytvoření příkladu se to pokusíme zjistit.

   Jako první si vytvoříme si vytvoříme www stránku, kde budeme nastavovat hodnoty pro Arduino. Já jsem jí i pro Vaše vyzkoušení vytvořil. Je to www.arduino.asp2.cz/control.aspx. Ta obsahuje dvě ovládací tlačítka pro naše 2 LEDky na Arduinu. Stránka je naprogramována, že po kliknutí změní stavovou hodnotu LEDky, kterou ukládám do databáze. Můžetze hodnotu samozřejmně ukládat kamkolik, a to ale hlavně, aby to šlo v pohodě naprogramovat. Pak jsem vytvořil další stránku, ke které se bude připojovat naše zařízení. Je to stránka GetData.aspx. Když si jí otevřete v prohlížeči, uvidíte co stránka dělá. Vypíše Vám na obrazovku mezi znaky <> dvě čísla, které nabývají hodnot 0 nebo 1. Tyto hodnoty si přečte Arduinko, jak jsme si již ukázali - najde si je právě mezi <>. Uloží si je do String, a když víme, že String bude mít pouze 2 znaky, můžeme k těmto znakům přistupovat právě takhle: NejakyString[0] nebo potom [1], pak už jenom naprogramovat triviální ovládání LEDek a je hotovo. 

Aby jsme to nezdržovali, zdrojový kód je zde:

 

Je tam pouze pár dílčích změn, protože princip je stejný jako minule. Nějaká data serveru odešleme, a nějaká data od serveru získáme. Já jsem pro interval na zkoušku skusil 500ms. Vysledek můžete vidět na videu, je to pěkně svižné, dalo by se skoro říci, že změna probíhá v okamžiku změny na stránce control.aspx. 

Jen pro informaci. Může se stát, že na stránkách bude testovat svůj prográmek více než jeden člověk. V tom případě bude vše fungovat asi trošku zmateně :-). Je to pouze pro testování, pro ovládání potom v praxi si stránky vytvořte sami. Jen aby jste mi nepsali, že Vám Ledky zmateně blikají a vy nic nenastavujete. :-)

Ještě slíbený výpočet objemu dat při komunikaci Arduina se serverem. Pokud se na to teoreticky podíváme, Arduino odešle požadavek, který má 88 bytů (znaků) a vrátí se jí mu data o objemu 221 bytú - počítám to na posledním příkladu, kdy jsme ovládali 2 LED z Nového Zélandu :-). Já jsem měl, pro natočení videa a demonstaci funkce, nastaven interval cca 500ms (to byla pauza - nepočítám čas čekání na odezvu serveru a čas strávený na běh obslužného kódu). V tom případě teoreticky bude objem dat přenesený k serveru a zpět:

309 bytů * 2 * 60 * 60 * 24 = 53395200 bytů/den = cca 53,4MB dat za den.

Z toho můžeme odvodit, při intervalu 1 vteřina cca 26,7 MB a při intervalu 5 vteřin to je 5,34MB, a při intervalu 1 minuty se za den přenese 445kB. Záleží pak už jenom na Vás jaký interval nastavíte a jakou rychlost obnovy budete potřebovat. 

 

Zpět

Diskusní téma: Lekce 16 - Arduino jako Web Client - II. část

Datum
Vložil
Titulek

Esalen NY

[b]New-York erotic: [url=https://nuru-massage-ny.com]happy ending thailand[/url][/b]

We greet you! Our employees firms those who make your current life much easier . Our salon that gives you massage .

Characteristic characteristic our Shiatsu salon is not an enforced setting. We search promotion social profiles to social group profile in social network.
We can offer all of you try very different method massage methods today. Our employees looking forward to you personally in our SPA.

Datum
Vložil
Titulek

Maids new jersey I am delighted with this style.

The cleansing company accomplishes cleansing of rooms of different dimensions as well as configurations.

We give professional [url=https://maidservicenyc.pro/]part time maid[/url] for exclusive customers. Making use of European tools and accredited devices, we attain optimal results as well as offer cleansing quickly.

The business's professionals provide cleaning up with the aid of modern-day technologies, have unique tools, as well as likewise have accredited detergents in their arsenal. Along with the above benefits, white wines supply: positive prices; cleansing quickly; top quality outcomes; more than 100 positive evaluations. Cleaning up offices will aid keep your office in order for the most productive job. Any type of business is exceptionally vital ambience in the group. Cleaning up solutions that can be bought inexpensively currently can help to prepare it and also offer a comfy area for labor.

If necessary, we leave cleaning the kitchen area 2-3 hrs after placing the order. You obtain cleansing as soon as possible.

We provide price cuts for those that use the service for the first time, in addition to positive terms of teamwork for routine customers.

We give high-quality cleaning for huge business and also tiny firms of numerous directions, with a discount of up to 25%.

Our pleasant team uses you to obtain acquainted with favorable terms of participation for corporate customers. We responsibly approach our activities, tidy using specialist cleansing products as well as specific equipment. Our workers are educated, have clinical publications as well as recognize with the subtleties of removing complicated and hard-to-remove dirt from surfaces.

Datum
Vložil
Titulek

Тележки

[b][url=https://3aplus63.ru/product-category/krany-gidravlicheskie/]краны гидравлические[/url][/b]

Созданная нами предприятие Новочеркасск - сегодня это ведущий поставщик
промышленного оборудования.
Можно купить в Каменск-Уральскийнемало решений для такелажного и подъемного, промышленного и складского, а также весового и гидравлического промышленного оборудования, в том числе тали ручные рычажные,тали ручные червячные передвижные взрывобезопасные,домкраты гидравлические телескопические,канаты для лебедок mtm,балки концевые подвесные,тележки гидравлические с электропередвижением,тележки для балок подвесных концевых холостые,весы крановые электронные.
Мы являемся производителем непростых решений для индустриального парка оборудования.
Мы высококлассная организация по выпуску промышленного оснащения с более чем 6-летним навыком работы.
Интернет магазин грузоподъемного парка оборудования выходит за пределы интернет-реализации и товаров по дисконтной цене, наша фирма может оказать консультации и дополнительно предоставить специализированные услуги на заказ.
На вебсайте мы стремимся предоставить нашим клиентам &quot;универсальный он-лайн магазин&quot; в пользу всех ваших надобностей в промышленном и складском оборудование. Мы стремимся предоставить особо высококонкурентные стоимость товаров в индустрии, оптимизируя при этом превосходнейшее обслуживание покупателей.

Datum
Vložil
Titulek

Average roi on kitchen remodel

[b][url=https://grandeurhillsgroup.com/]general contractors[/url][/b]

Repair work residential premises turnkey - much better Solving problems through wizards.In order place an order for repair work dwellings in Diamond District, leave a request on site or by phone. To create hospitality interior decoration expertly as well as properly, it is vital to utilize effective and also extremely audio products that comply with all standards and technological criteria. However the primary distinction is not also in the components, but in how and just how correctly they are actually made use of. And also this is actually the work of the experts. Expert capabilities areactually an extremely essential situation. . Likewise in our firm, you can purchase personalized bathroom vanities, retail interior design on the most effective problems. With us, interior basements, in addition to Premium renovation Bay Terrace, will end up being straightforward, high quality and also quickly. Our representative will call you back, for clarification few details and assign Times of Day arrival to you professionals and designer.

Datum
Vložil
Titulek

Country wood headboards Los Angeles

[b][url=https://labedroom.com/]Full bed frame[/url][/b]
On Internetsite our store customer waiting large choice at total cost. Our catalog contains costs, mirrored tv unit information about potential types modifications, modules, colors, types accessories.Each item furnishings produced directly from factory manufacturer. Lowering quotations on farmhouse bed formed based on the absence of trade trading floors, for rent which necessary pay and minimum staff employees. No such costs enable to establish reasonable prices for all groups acquisitions.

Datum
Vložil
Titulek

Заливка фундамента своими руками цена

[b][url=https://novostroyka63.ru/]Бетонный фундамент цена[/url][/b]

Создание дома вашей мечты - это оригинальная возможность, спланировать и претворить в жизнь нечто воистину уникальное во всех отношениях. Возведение фундамента - это в целом первоначальная модель ремонта, в процессе которой домик строится. При расчете замена фундамента под старым деревянным домом цена предусматривается весьма много факторов. Средняясумма возведения домов фундамента составляет приблизительно от 10$ за кв.метр . Погреб сможет умножить итоговую стоимость каждого объекта недвижимости, предоставляя необходимое помещение ради организации хранения и порой рабочее пространство. Наша профессиональная команда по конструированию и возведенью фундамент под памятник на кладбище цена может помочь выстроить жилище, о котором вы всегда мечтали. От начала до конца наша специализированная компания в Череповец позаботимся о всех без исключения процессах, чтобы заказчику не довелось тревожиться о деталях. Специализированная международная компания в Киселевск несет юридическую ответственность за проект, а не вы, именно поэтому организация в Борисоглебск имеют интерес в том, затем чтобы довести до конца строительство коттеджа быстрее и эффективнее. Узнайте о сваи винтовые для фундамента цены в вытегре у спспециалистовециалистов корпорации.

Datum
Vložil
Titulek

Jste paka!

Vy jste paka. Chybna URL znamena ze jste ji napsali spatne! A Co si zkusit vypsat obsah promennych _GET _SERVER v PHP??

Datum
Vložil
Titulek

PHP

Ahoj,
mám stejný problém, jako kolega níže. Web napsaný v PHP člověkem co v tom dělá(arduino nezná). Z prohlížeče vše funguje, ale z arduina není možné se připojit-vycházím z tohoto příkladu, příklad funguje, takže data z arduina jdou. Byla by tu nějaká rada či nasměrování kudy se ubírat?
jiri-vlach@seznam.cz Děkuji za jakoukoli odpověď!

Datum
Vložil
Titulek

ASP

Také prosím o kód pro načtení dat z GET, pro inspiraci co mám špatně.. zkouším to na php, z prohlížeče se adresa s daty načte, z arduina to data dává do chybovýho logu "invalid URI", nevím co s tím. kaed@seznam.cz

Datum
Vložil
Titulek

kod stránek

Dobrý den, též by se rád připojil k prosbě o zveřejnění kódu souborů aspx.
Děkuji.

<< 1 | 2 | 3 | 4 >>

Vyhledávání

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