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 ციფრულ პორტთან დაკავშირებული LED ირთვება 1 ღილაკის ერთხელ დაჭერისას და ითიშება ხელახლა დაჭერისას. (მოქმედების გადართვა)
///// LED-ების კონტროლი Wi-Fi-ით
ჩართეთ SoftwareSerial.h პირველ ნაწილში.
SoftwareSerial esp8266(2,3);
void setup()
{
სერიალი დასაწყისი (9600);
esp8266.begin(9600); // ბაუდის სიხშირე ესპ
pinMode (5, OUTPUT);
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 აგზავნის შეტყობინებას
{
if(esp8266.find("+IPD"))
{
დაგვიანებით(200); // წაიკითხეთ ყველა სერიული მონაცემები
int connectionId = esp8266.read();
esp8266.find("?");
int ნომერი = esp8266.read();
if(ნომერი==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// დახურვის ბრძანება
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // მიამაგრეთ კავშირის ID
closeCommand += "\r\n";
sendData (closeCommand,1000); // დახურვა კავშირი
}
}
}
სტრიქონი sendData (სტრიქონის ბრძანება, შეწყვეტის დროის ამოწურვა)
{
სიმებიანი პასუხი = "";
esp8266.print(ბრძანება); // წაკითხული სიმბოლოს გაგზავნა esp8266-ზე
ხანგრძლივი int დრო = millis();
while( (დრო+დროიმი) > millis())
{
while(esp8266.available())
{
// თუ არის მიღებული მონაცემები esp-ში, გაგზავნეთ სერიულად
char c = esp8266.read(); // წაიკითხეთ შემდეგი სიმბოლო
პასუხი+=გ;
}
}
დაბრუნების პასუხი;
}