Potenciometr připojený k pinu A6
Program
V závislosti na typu analogového senzoru, je zapotřebí provést i příslušné úpravy v programu. V této
konfiguraci modul není provozován coby AP, ale je připojen do místní sítě. Zadejte proto příslušná
data jednoduše na úplný začátek programu. Po načtení programu může samotné připojení do sítě
chvíli trvat. Po úspěšném připojení se rozsvítí LED na pinu D3. Tento stav navíc indikuje připravenost
modulu k dalšímu provozu. Modul s touto konfigurací však nebude možné použít pro další
experimenty. Sériové rozhraní navíc podá informaci o IP adrese, přidělené routerem. Tato IP adrese
je velmi důležitá, pokud budete později požadovat adresování modulu. Komunikace modulu probíhá
obdobně jako u předchozích experimentů. Pouze IP adresa modulu a PC se změní, protože obě
zařízení v tu chvíli mají IP přidělenou routerem. Aplikace Packet Sender v úvodu nepřijímá žádná
měření. Odešlete příkaz, například led=1 do modulu. Zadejte proto novou IP adresu modulu
do aplikace Packet Sender. Po obdržení příkazu bude docházet k provádění měření cca 1x
za sekundu. Další programovou změnu přináší příkaz CIPSTART. Došlo tím k rozšíření broadcast
adresy, protože předem není možné předjímat, kterou podsíť router zpřístupní. Další úprava se týká
druhého parametru. Nový parametr zajišťuje změnu cílové adresy příkazem CIPSEND.
Modul se spouští s IP 192.168 a po přijetí příkazu dojde ke změně IP adresy.
success &= sendCom("AT+CIPSTART=\"UDP\",\"
192.168.255.255\",90,91,2", "OK");
Pro tento parametr existují následující možnosti:
1 – mode 0: IP a port zůstanou beze změn. Jedná se o výchozí nastavení.
2 – mode 1: Nastavení se změní jednou a to tehdy, pokud se modul spustí s aktuálně použitou
broadcast adresou a poté obdrží informaci z PC, modul se přepne do nové adresy PC. Tato IP adresa
zůstane platná i poté, co modul obdrží data z jiného PC.
3 – mode 2: Nastavení se mění s každými přijatými daty dalšího, nového zařízení. IP adresa se může
změnit a použít v novém PC i přesto, že již předtím došlo k její změně.
Tento proces proto vyžaduje nejprve odeslání příkazu do modulu, aby bylo možné další data přijmout
(data z korespondujícího PC). Ke změně IP však nedochází po odeslání dat z PC do modulu.
boolean sendUDP(String Msg)
{
boolean success = true;
success &= sendCom("AT+CIPSEND=" + String(Msg.length() + 2),
if (success)
{
success &= sendCom(Msg, "OK");
}
return success;
}
Analogová hodnota je odeslána do loop-routine. Z tohoto důvodu se používá nová funkce dUDP(),
která zajistí daleko snadnější přístup ke známým funkcím. Velká prodleva mezi odesíláním příkazů
není v tomto případě žádoucí, vzhledem k tomu, že samotný přenos již zabírá určitou dobu.
TCP Client
V této části bude popsán UDP protokol s daty odeslanými a přijatými velmi jednoduchou cestou.
Pomocí protokolu je pak možné realizovat celou řadu aplikací. Hlavní pozornost však bude věnována
funkci TCP (Transmission Control Protocol). Modul bude konfigurován jako TCP klient, což je stejná
úloha jakou zaujímá vaše PC ve vztahu k webovému serveru. Rozdíl mezi TCP a UDP je následující:
• Připojení se provádí pouze mezi 2 zařízeními.
• Odeslané datové pakety jsou ověřovány a probíhá u nich opravy chyb.
• TCP se používá především v síti internetu.
• Tento protokol je o něco pomalejší, než UDP, zato je ale mnohem bezpečnější.
Protokol je používán vaším PC a webovým serverem, který hodláte navštívit a zároveň se tím vytváří
vzájemné propojení obou stran. Vlastní webové stránky a jejich obsah je pak přenesen
prostřednictvím http (Hypertext Transfer Protokol).
Browser / Prohlížeč
V tomto experimentu bude použita stávající hardwarová sestava, která poslouží k optimální
demonstraci struktury TCP komunikace se sériovým monitorem.
Program
Celý program je funkčně shodný s SofwareSerial-Programme. Poskytuje však mimo jiné automatické
připojení k bezdrátové síti. Před samotným experimentem si však pečlivě poznamenejte všechna data
o vaší domácí síti. Do sériového rozhraní poté zadejte následující příkaz:
AT+CIPSTART="TCP","www.example.com",80
Pomocí tohoto příkazu dojde k navázání spojení TCP serveru s webem www.example.com.
Port 80 je standardním portem pro HTTP. Po potvrzení připojení můžete zadávat i další příkazy,
například:
AT+CIPSEND=40
Nyní můžete odeslat zprávu pomocí nově vytvořeného připojení. V případě, že se zobrazí výzva
se symbolem > zadejte text a následně vyberte:
GET / HTTP/1.1
a potvrďte „Enter“. „Enter“ se v sériovém rozhraní nezobrazuje, přesto ale modul příkaz přijme.
Host:www.example.com
potvrďte dvojnásobným stiskem „Enter“. Zadání je však nezbytné velmi rychle odesílat.
Nejlepší je proto mít připravený textový soubor, ze kterého můžete rychle kopírovat celé řádky.
Jako odpověď pak bude přijat delší text. V první části je odpověď serveru a obsahuje některé
informace důležité pro prohlížeč. Textová část po <!doctype html> je website, kterou si prohlížíte
po vstupu na hlavní stranu www.example.com avšak ve formátu prostého textu.
Tento příklad ukazuje základ HTTP formátu. Klient se připojuje k webovému serveru. Funkce DNS
(Domain Name System) umožňuje zadání názvu domény v textové podobě namísto číselného formátu
IP adresy. Textová podoba IP adresy je navíc daleko snazší pro zapamatování. Poté, co proběhne
připojení klienta, prohlížeč odešle Get-Request query. Query musí v každém případě obsahovat
požadovanou stránku nebo zdroj (v tomto případě hlavní stranu), použitý protokol (http 1.1)
a requested host (www.example.com). Zadání host (hostitelský web) je velmi důležité, vzhledem
k tomu, že různé webové adresy mohou být umístěny na stejném serveru a s obdobnou IP.
Pakliže požadujete odeslat request na jinou stránku, než je home page (domovská stránka), zaměňte /
například /example.html. Tato další stránka (sub-page) představuje daleko větší množství informací
odesílaných prohlížečem, operačním systémem a jiných parametrů. Samotný obsah webové stránky
se poté zobrazí až jako poslední.