Αφού τοποθετήσετε τη μονάδα 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)
Η λυχνία LED που είναι συνδεδεμένη στην ψηφιακή θύρα 5 του Arduino ανάβει όταν πατηθεί το κουμπί 1 μία φορά και σβήνει όταν πατηθεί ξανά. (Εναλλαγή ενέργειας)
///// Έλεγχος LED μέσω Wi-Fi
Συμπεριλάβετε το SoftwareSerial.h στο πρώτο μέρος.
SoftwareSerial esp8266(2,3);
void setup()
{
Serial. start(9600);
esp8266.begin(9600); // baud rate of esp
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 Number = esp8266.read();
if(Αριθμός==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
other digitalWrite(5, HIGH);
}
// εντολή κλεισίματος
String closeCommand = "AT+CIPCLOSE=";
closeCommand += ConnectionId; // επισύναψη ταυτότητας σύνδεσης
closeCommand += "\r\n";
sendData(closeCommand,1000); // κλείσιμο σύνδεσης
}
}
}
String sendData (εντολή συμβολοσειράς, λήξη χρονικού ορίου λήξης)
{
Απόκριση συμβολοσειράς = "";
esp8266.print(command); // αποστολή χαρακτήρα ανάγνωσης στο esp8266
long int time = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
// Εάν υπάρχουν δεδομένα λήψης στο esp, στείλτε τα σειριακά
char c = esp8266.read(); // διαβάστε τον επόμενο χαρακτήρα
απάντηση+=γ;
}
}
επιστροφή απάντηση?
}
Ενημερώθηκε στις
17 Νοε 2022