След като монтирате Wi-Fi модула на платката Arduino, работете с това приложение на мобилния телефон, за да свържете Wi-Fi комуникацията между мобилния телефон и Arduino, като натиснете 10-те бутона, предоставени на мобилния телефон, за да разпознаете натискането на бутона на Arduino, за да извърши желаната операция
- Един бутон: 10
(Данните се изпращат на Arduino при натискане на всеки бутон)
Бутон 1: „0“ (шестнадесетичен 30) Бутон 2: „1“ (шестнадесетичен 31)
Бутон 3: „2“ (шестнадесетичен 32) Бутон 4: „3“ (шестнадесетичен 33)
Бутон 5: „4“ (шестнадесетичен 34) Бутон 6: „5“ (шестнадесетичен 35)
Бутон 7: „6“ (шестнадесетичен 36) Бутон 8: „7“ (шестнадесетичен 37)
Бутон 9: „8“ (шестнадесетичен 38) Бутон 10: „9“ (шестнадесетичен 39)
(Пример за програма в Arduino)
Светодиодът, свързан към цифров порт 5 на Arduino, се включва, когато бутон 1 се натисне веднъж, и се изключва, когато се натисне отново. (Действие за превключване)
///// Управление на светодиоди чрез Wi-Fi
Включете SoftwareSerial.h в първата част.
Софтуерен сериен esp8266(2,3);
void setup()
{
Сериен.начало(9600);
esp8266.begin(9600); // скорост на предаване на esp
pinMode(5, ИЗХОД);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // нулиране на модула
sendData("AT+CWMODE=2\r\n",1000); // задаване като AP (точка за достъп)
sendData("AT+CIFSR\r\n",1000); // вземете ip адрес
sendData("AT+CIPMUX=1\r\n",1000); // зададено на множество връзки
sendData("AT+CIPSERVER=1,80\r\n",1000); // сървър на порт 80
}
void loop()
{
if(esp8266.available()) // ако esp изпраща съобщение
{
ако (esp8266.find ("+IPD,"))
{
забавяне (200); // прочете всички серийни данни
int connectionId = esp8266.read();
esp8266.find("?");
int Number = esp8266.read();
ако (число==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
иначе digitalWrite(5, HIGH);
}
// команда за затваряне
String closeCommand = "AT+CIPCLOSE=";
closeCommand += ConnectionId; // прикачване на идентификатор на връзка
closeCommand += "\r\n";
sendData(closeCommand,1000); // затворете връзката
}
}
}
String sendData (команда String, const int timeout)
{
Отговор на низ = "";
esp8266.print(команда); // изпраща знак за четене до esp8266
дълго int време = millis();
докато ((време+изчакване) > millis())
{
докато (esp8266.available())
{
// Ако има получени данни в esp, изпратете ги серийно
char c = esp8266.read(); // прочете следващия знак
отговор+=c;
}
}
обратен отговор;
}
Актуализирано на
17.11.2022 г.