Po namontování modulu Wi-Fi na desku Arduino, spuštění této aplikace na mobilním telefonu pro připojení Wi-Fi komunikace mezi mobilním telefonem a Arduino, stisknutím 10 tlačítek na mobilním telefonu rozpoznáte stisknutí tlačítka na aplikace Arduino, která umožňuje provést požadovanou operaci
- Jedno tlačítko: 10
(Data odeslaná do Arduina při stisknutí každého tlačítka)
Tlačítko 1: „0“ (hexadecimálně 30) Tlačítko 2: „1“ (hexadecimálně 31)
Tlačítko 3: „2“ (hexadecimálně 32) Tlačítko 4: „3“ (hexadecimálně 33)
Tlačítko 5: „4“ (hexadecimálně 34) Tlačítko 6: „5“ (hexadecimálně 35)
Tlačítko 7: „6“ (hexadecimálně 36) Tlačítko 8: „7“ (hexadecimálně 37)
Tlačítko 9: „8“ (hexadecimálně 38) Tlačítko 10: „9“ (hexadecimálně 39)
(Příklad programu v Arduinu)
LED připojená k digitálnímu portu 5 Arduina se rozsvítí, když je tlačítko 1 stisknuto jednou, a zhasne, když se stiskne znovu. (Přepnout akci)
///// Ovládání LED diod přes Wi-Fi
Do první části zahrňte SoftwareSerial.h.
SoftwareSerial esp8266(2,3);
void setup()
{
Serial. begin(9600);
esp8266.begin(9600); // přenosová rychlost esp
pinMode(5, OUTPUT);
digitalWrite(, NÍZKÁ);
sendData("AT+RST\r\n",2000); // reset modulu
sendData("AT+CWMODE=2\r\n",1000); // nastavit jako AP (přístupový bod)
sendData("AT+CIFSR\r\n",1000); // získat ip adresu
sendData("AT+CIPMUX=1\r\n",1000); // nastavit na více připojení
sendData("AT+CIPSERVER=1,80\r\n",1000); // server na portu 80
}
void loop()
{
if(esp8266.available()) // pokud esp odesílá zprávu
{
if(esp8266.find("+IPD,"))
{
zpoždění(200); // přečte všechna sériová data
int connectionId = esp8266.read();
esp8266.find("?");
int Číslo = esp8266.read();
if(Číslo==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// příkaz zavřít
Řetězec closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // připojte ID připojení
closeCommand += "\r\n";
sendData(closeCommand,1000); // uzavření spojení
}
}
}
String sendData (příkaz String, časový limit const int)
{
Řetězcová odpověď = "";
esp8266.print(příkaz); // odešle přečtený znak do esp8266
long int time = millis();
while( (čas+časový limit) > milis())
{
while(esp8266.available())
{
// Pokud jsou v esp přijatá data, odešlete je sériově
char c = esp8266.read(); // přečtení dalšího znaku
odezva+=c;
}
}
návratová odpověď;
}
Datum aktualizace
5. 12. 2024