Пасля ўстаноўкі модуля 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 у першую частку.
SoftwareSerial esp8266(2,3);
несапраўдная ўстаноўка ()
{
Серыйны пачатак (9600);
esp8266.пачатак(9600); // хуткасць перадачы дадзеных esp
pinMode(5, ВЫХОД);
digitalWrite(, НІЗКІ);
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
}
несапраўдны цыкл ()
{
if(esp8266.available()) // калі esp адпраўляе паведамленне
{
калі(esp8266.find("+IPD,"))
{
затрымка(200); // чытаць усе паслядоўныя дадзеныя
int connectionId = esp8266.read();
esp8266.find("?");
int нумар = esp8266.read();
калі (лік == 0x30) {
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
інакш digitalWrite(5, HIGH);
}
// каманда закрыцця
Радок closeCommand = "AT+CIPCLOSE=";
closeCommand += ConnectionId; // далучыць ідэнтыфікатар злучэння
closeCommand += "\r\n";
sendData(closeCommand,1000); // цесная сувязь
}
}
}
Радок sendData (Каманда радка, час чакання const int)
{
Радковы адказ = "";
esp8266.print(каманда); // адправіць сімвал чытання ў esp8266
доўгі цэльны час = мілі ();
пакуль ((час+тайм-аўт) > мілі ())
{
пакуль (esp8266.available())
{
// Калі ёсць атрыманыя дадзеныя ў esp, адпраўце іх паслядоўна
char c = esp8266.read(); // прачытаць наступны знак
адказ+=c;
}
}
зваротны адказ;
}