Wi-Fi модулийг Arduino самбар дээр суурилуулсны дараа гар утас болон Arduino хоёрын хооронд Wi-Fi холболтыг холбохын тулд гар утсан дээрээ уг програмыг ажиллуулж, гар утсан дээрх 10 товчлуурыг дарж товчлуур дарагдсаныг танина. Arduino нь хүссэн үйлдлийг гүйцэтгэх боломжийг олгодог
- Нэг товчлуур: 10
(Товч тус бүрийг дарахад өгөгдөл Arduino руу илгээгдэнэ)
Товчлуур 1: ‘0’ (16-лаат 30) Товч 2: ‘1’ (16-лаат 31)
3-р товчлуур: '2' (16-лаат 32) Товчлуур 4: '3' (16-лаат 33)
5-р товчлуур: ‘4’ (16-лаат 34) Товчлуур 6: ‘5’ (16-тын тоо 35)
Товчлуур 7: ‘6’ (16-лаат 36) Товчлуур 8: ‘7’ (16-лаат 37)
9-р товчлуур: ‘8’ (16-лаат 38) Товчлуур 10: ‘9’ (16-тын тоо 39)
(Arduino дээрх програмын жишээ)
Arduino-ийн дижитал порт 5-д холбогдсон LED нь 1-р товчлуурыг нэг удаа дарахад асч, дахин дарахад унтардаг. (Үйлдлийг сэлгэх)
///// LED-ийг Wi-Fi-аар удирдах
Эхний хэсэгт SoftwareSerial.h-г оруулна уу.
SoftwareSerial esp8266(2,3);
хүчингүй тохиргоо()
{
Цуврал. эхлэл(9600);
esp8266.begin(9600); // дамжуулах хурд esp
pinMode(5, OUTPUT);
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 мессеж илгээж байгаа бол
{
if(esp8266.find("+IPD,"))
{
саатал(200); // бүх цуваа өгөгдлийг унших
int connectionId = esp8266.read();
esp8266.find("?");
int Тоо = esp8266.read();
хэрэв(Тоо==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
other digitalWrite(5, HIGH);
}
// хаах команд
Мөр closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // холболтын ID-г хавсаргана
closeCommand += "\r\n";
sendData(closeCommand,1000); // холболтыг хаах
}
}
}
String sendData(String команд, const int завсарлага)
{
Мөрийн хариулт = "";
esp8266.print(команд); // уншсан тэмдэгтийг esp8266 руу илгээнэ үү
long int time = millis();
while((цаг+цаг хугацаа) > миллис())
{
while(esp8266.available())
{
// Хэрэв esp-д өгөгдөл хүлээн авсан бол цуваа илгээнэ үү
char c = esp8266.read(); // дараагийн тэмдэгтийг уншина уу
хариу+=c;
}
}
буцах хариу;
}
Шинэчилсэн огноо
2024 оны 12-р сарын 5