User manual
Program v počítači vytvoří UDP server, zatímco kontrolér je konfigurován jako klient.
Rozdíl mezi klientem a serverem se neprojeví v UDP protokolu, ale je tak poskytována
možnost odeslání dat z kontroléru do počítače.
RESET OK
AP ready
UDP ready
AT+CWLIF
192.168.4.2,48:5d:60:4e:b4:65
OK
AT+CIPSEND=?
OK
>Hello
SEND OK
Pro odeslání dat použijte příkaz: AT+CIPSEND=7. Parametr 7 představuje počet odeslaných
znaků. Symbol > je hodnota pro návrat a znamená to, že v té chvíli můžete odeslat svou zprávu.
Zadejte „Hello“ a potvrďte klávesou Enter. Modul podá informaci SEND OK, přestože jste zadali
pouze 5 znaků. Po zadání Carriage Return a New Line dojde k odeslání. V případě 2 znaků navíc
pak je do zadání zapotřebí zahrnout funkci výpočtu délky zprávy (message lenght calculation).
Poté, co přejdete zpět do aplikace Packet Sender a logu Traffic, získáte informaci o obdržení zprávy.
V zobrazení ASCII budou navíc k dispozici 2 přidružené znaky zastoupené \ r a \ n.
boolean configUDP()
{
boolean success = true;
success &= (sendCom("AT+CIPMODE=0", "OK"));
success &= (sendCom("AT+CIPMUX=0", "OK"));
success &=
sendCom("AT+CIPSTART=\"UDP\",\"192.168.4.2\",90", "OK");
//UDP-Server
return success;
}
V programu Arduino má funkce configUDP() zvláštní význam pro komunikaci a nastavují se zde proto
velmi důležité parametry. Jako první použijte CIPMODE k nastavení režimu data transparency mode
na 0. Na závěr pak použijte CIPMUX=0 pro zřízení pouze jednoho připojení. Hlavní příkaz je CIP-
START, kterým dojde k vytvoření komunikace s IP adresou 192.168.4.2 například vašeho počítače
a portu 90 použitého pro program Packet Sender s UDP serverem. Pro zajištění první komunikace
je nezbytné provést několik dalších kroků.
Odesílání a příjem dat s UDP
V předchozím projektu došlo k testování UDP komunikace v jednom směru (z modulu do PC).
V tomto programu je modul konfigurován pro komunikaci i v opačném směru, obdobně jako
je tomu u chatu.
Program
Tento program obsahuje jen několik málo změn, které však představují obrovskou změnu v
další komunikaci s použitím UDP protokolu. Při aplikaci programu dojde k vytvoření dalšího AP
pro připojení s PC. K tomu bude zapotřebí program Packet Sender nebo jiný, kompatibilní program.
Spusťte program a proveďte stejná nastavení jako v předchozím projektu (Enable UDP Server, Port
90). Jako další musíte zadat adresu modulu (IP 192.168.4.1), nastavte port na 91 a vyberte příslušnou
UDP položku. Po provedení těchto úprav a otevření sériového monitoru, můžete odeslat první zprávu
(například „Hi“) do modulu.
+IPD,2:Hi
OK
Zpráva byla modulem úspěšně obdržena. Pro odpověď použijte příkaz CIPSEND.
AT+CIPSEND=7
>Hello
Rozdíl od předchozího programu spočívá pouze v jednom řádku:
success &= sendCom("AT+CIPSTART=\"UDP\",\"192.168.4.2
\",90,91", "OK");
Patrný rozdíl je i v použití druhého portu. Tento port (91) je určený pro příjem příchozích dat.
Po přidání tohoto jednoduchého řádku pak můžete odesílat data do modulu. Stejný port pak můžete
používat i pro odesílání. Pro oba porty můžete zadat hodnotu 90. Teoreticky tato změna modulu
umožňuje i příjem svých vlastních dat.
Aktivace LED / UDP
Program P06_UDPLED.ino zajišťuje ovládání hardware prostřednictvím UDP. Pomocí jednoduchých
příkazů je tak možné LED aktivovat nebo deaktivovat. K tomu je zapotřebí provést zapojení podle
následujícího obrázku. Do obvodu proto musíte navíc zapojit 1 rezistor 1 kΩ (barvy proužků hnědá,
černá, červená).