User manual

Na začátku funkce je proměnná success nastavena jako první na true, vzhledem k tomu,
že tato proměnná je přidělena i různým funkcím. To znamená, že i když pouze jedna funkce má
hodnotu pro návrat false, bude success okamžitě považován za výstup false a celá konfigurace
tím selže. První AT-příkaz, který má být posuzován z pohledu success je reset-command,
který se provádí prakticky na každém začátku programu a zajišťuje, aby modul nebyl využíván
předchozí testovací částí programu. To však může trvat až 5 sekund. Modul poté odešle informaci
o svém statusu (ready). Z tohoto důvodu se time-out pro esp8266.findUtil zvýší před samotným
provedením funkce thesendCom(). Po resetu se time-out vrátí do výchozí hodnoty 1 s.
Následuje volání automaticky definované funkce configStation(), která slouží pro připojení modulu
do místní (domácí) sítě. Parametry SSID a síťové heslo zadané na začátku programu se přitom
budou přenášet. V případě úspěšného navázání připojení se zobrazí korespondující informace a poté
se přenese IP adresa modulu do sériového výstupu. Na závěr funkce dojde k nastavení parametrů
(více v dalších částech v návodu). Nakonec proměnná success bude vrácena a tím bude udržována
hodnota true.
boolean configStation(String vSSID, String vPASSWORD)
{
boolean success=true;
success&=(sendCom(“AT+CWMODE=1“, “OK“));
esp8266.setTimeout(20000);
succes&=(sendCom(“AT+CWJAP=\““+String(vSSID)+ “\ “,\ “ “
+String(vPASSWORD)+ “\ “ “, “OK“));
Esp8266.setTimeout(1000);
return success;
}
Funkce configStation() byla volána funkcí espConfig(). Modul je konfigurován z WLAN režimu
do režimu stanice pomocí příkazu CWMODE a připojení do sítě probíhá pomocí příkazu CWJAP.
Navázání připojení pak může trvat o něco delší dobu. Time-out se přitom krátce navýší o 20 sekund.
Pakliže preferujete WLAN režim zadejte CWMODE a parametr 3.
boolean configAP()
{
boolean success=true;
success&=(sendCOm(“AT+CWMODE=2“,“OK“));
succes&=(sendCOm(“AT+CWSAP=\“NanoESP\“,\“,\“,5,0“,
“OK“));
return success;
}
Funkce configAP() není volána (call). Jedná se o přesný opak funkce configStation(), vzhledem
k tomu, že je použita pro konfiguraci modulu do režimu Access Point. Delší nastavení time-out v tomto
případě není zapotřebí, vzhledem k tomu, že modul provádí proces příkazu CWSAP mnohem rychleji.
V dalších experimentech bude použito espConfig() namísto configStation() pro volání funkce
configAP().
void setup()
{
//Open serial communications and watt for port to open;
Serial.begin(19200);
//set the data rate for the SoftwareSerial port
esp8266.begin(19200);
if (!espConfig())serialDebug();
else debug(“Config OK“);
if (Seneci(“AT+PING=“\www.google.com\““,“OK“))
{
Serial.printl(“Ping OK“);
digitalWrite(13,HIGH);
}
Else
{
Serial.println(“Ping Error“);
}
}
void loop()//run over and over
{
//Start serial Debug Mode – Type commands over serial
Monitor
serialDebug();
}
Většina nejdůležitějších funkcí, které jsou součástí téměř většiny programů, bude v dalších částech
návodu podrobněji popsána. Tyto funkce se používají v Arduino funkcích setup() a loop().
Jako první dojde k inicializaci dvou sériových rozhraní s přenosovou rychlostí 19200.
Teprve poté je možné volat funkci espConfig(). V případě chybového stavu se spustí funkce
serialDebug(). V opačném případě se zobrazí korespondující informace (success). V dalších
programech pak navíc dojde v případě úspěšného procesu a konfigurace k rozsvícení LED na pinu
13 coby korespondující indikace. Tímto způsobem zároveň obdržíte zpětnou vazbu, v případě,
že modul není připojen k PC prostřednictvím sériového monitoru. V tomto experimentu se bude
LED indikace používat pro zpětnou vazbu procesu ping. Dotaz se provádí přímo v dalším řádku
konfigurace. Příkaz AT+PING se odesílá s adresou Google coby parametrem. Dotaz na IP adresu
je možné odesílat z místní sítě namísto aktuální adresy. V případě úspěšného procesu se zobrazí
korespondující informace a zároveň přitom se aktivuje LED na pinu D3. Nakonec program přeskočí
do funkce loop a tím vyvolá funkci serialDebug().Tím máte možnost otestovat i jiné programové
příkazy a zároveň i jiné internetové adresy.
Rozpoznání sítě
V této části naleznete
popis jednoduché
hardwarové
konfigurace.
Hlavním úkolem
tohoto projektu bude
vytvoření indikačního
systému (alarmu),
který zaznamená
vstup a aktivaci
specifické sítě
do oblasti
bezdrátového
dosahu modulu.
K tomu bude zapotřebí
pouze 2 hlavních
komponentů
a několika málo vodičů. Přesné sestavení naleznete na následujícím obrázku. K sestavení tak
bude zapotřebí deska (nepájivé, kontaktní pole), modul NanoESP, vodiče a 1 piezo reproduktor.