User manual

Program shromáždí informace o poasí z uvedeného webu a zobrazí tyto informace.
Výsledek se bude interpretovat prostednictvím RGB–LED a souasn i pomocí sériového
rozhraní. Rozsah pro zobrazení teploty je v tomto programu nastaven od -20 do +40 ºC.
Tento program funguje prakticky obdobn jako v pedchozím pípad. Pesto však nabízí
uritá specifika. Funkce getTemp() získává data a následn poskytuje jejich výstup.
void rgbTemp(int val)
{
int green, blue, red ;
if (val <= 10 & val >= -20)
blue = map(val, -20, 10, 255, 0);
else blue = 0;
if (val >= 10 & val <= 40)
green = map(val, 10, 40, 255, 0);
else if (val >= -20 & val < 10) green = map(val, -20, 10, 0,
255);
else green = 0;
if (val > 10 & val <= 40) red = map(val, 10, 40, 0, 255);
else red = 0;
analogWrite(RED, red);
analogWrite(GREEN, green);
analogWrite(BLUE, blue);
}
Ovládání jasu LED se provádí prostednictvím funkce rgbTemp(). Píkaz map pevádí hodnoty
do bajtových hodnot (0 – 255) a do LED. Nižší teploty jsou v rozsahu -20 do +10 ºC.
Zelená barva se promítá v celém teplotním rozsahu, pesto je nejvýraznjší pi teplot +10 ºC.
ervená se pidává pi teplotách nad +10 ºC a nejvýrazní je pak pi max. teplot +40 ºC.
Barevná škála je pak vysoce intuitivní a velmi jasn koresponduje s aktuální venkovní teplotou.
Datový výstup hodnot teploty se navíc zobrazuje i na sériovém rozhraní.
TCP Server
V pedchoásti došlo k použití modulu coby TCP klienta. V této ásti bude modul sloužit jako
TCP server. Pomocí velmi jednoduchých AT-píkaz pak bude možné provádt komplexní serverové
aplikace. Modul NanoESP se tak bude chovat jako internetový TCP server, který bude provádt
vlastní programovací procesy.
TCP-Webserver
Pro funkci webového TCP serveru nebude zapotebí provádt žádné hardwarové zmny.
Jako první však na sériovém rozhraní vyzkoušejte nkolik základních píkaz.
Program
Do modulu natte program a spuste sériové rozhraní. Tento proces však mže trvat i nkolik
sekund. Po zobrazení indikace o úspšném provedení operace, mžete do sériového rozhraní zadat
první píkaz:
AT+CIPMUX=1
Tento píkaz umožuje nkolikanásobné pipojení k modulu, což znamená, že k modulu se mže
pipojit nkolik poíta najednou. Dalším píkazem spustíte samotný webserver:
AT+CIPSERVER=1,80
Parametr 1 pedstavuje aktivaci serveru. Pomocí parametru 0 pak dojde k ukonení režimu serveru.
Hodnota 80 zastupuje íslo použitého portu, pod kterým je server dostupný. Další HTTP komunikace
pak obvykle probíhá prostednictvím portu 80. V té chvíli mžete otevít vlastní webový prohlíže
a do adresního ádku zadejte IP modulu a potvrte výbrem „Enter“.
Bhem pipojování k modulu se zobrazuje informace o prbhu naítání webového obsahu.
Sériové rozhraní však bhem toho zobrazuje request podobný tomu, který jste zadávali manuáln.
AT+CIPSERVER=1,80
OK
0, CONNECT
+IPD,0,363:GET / HTTP/1.1
Host: 192.168.178.58
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozzila/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Accept-Encoding: gzip, deflace, sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Prohlíže oekává odpov a zobrazuje se po celou dobu, dokud nedojde k vypršení asového
limitu (time-out). Mžete proto pomocí prohlížee odeslat variantu známého píkazu:
AT+CIPSEND=0,7
Parametr 0 udává klienta, jemuž má být zpráva odeslána. Tento parametr má význam z dvod
možnosti pipojení více poíta (klient). Druhý parametr 7 dává možnost odeslání znak.
Mžete proto zkusit zadat napíklad „Hallo“ a potvrte výbrem „Enter“. Ve vašem prohlížei
prozatím nebude patrná žádná zmna, dokud neukoníte samotné spojení.
Použijte proto píkaz:
AT+CIPCLOSE=0
V té chvíli mžete v prohlížei spatit pozdrav „Hallo“. Na tomto principu pak probíhá veškerá
webová komunikace. Tento experiment tak poskytuje podrobnjší náhled do proces a penosu
dat na internetu.
Autonomní webový server
Poznatky z pedchozího experimentu budou využity i v následující aplikaci autonomního programu.
Nový program neodesílá jen jednoduchý website do prohlížee, ale souasn pitom paraleln ovládá
LED. K modulu bude navíc nezbytné pipojení externího napájecího zdroje. Jako zdroj mžete použít
napíklad power bank (externí akumulátor, který slouží pro nabíjení smarthopne). K pipojení zdroje
k modulu slouží mikro-USB konektor. Vyjma nepájivého pole a modulu bude zapotebí zdroj napájení
(power bank nebo baterie 9 V) a rezistor 1 o hodnot k.