หลังจากติดตั้งโมดูล 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 หนึ่งครั้ง และดับเมื่อกดอีกครั้ง (Toggle action)
///// ควบคุมไฟ LED ผ่าน Wi-Fi
รวม SoftwareSerial.h ไว้ในส่วนแรก
SoftwareSerial esp8266(2,3);
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin(9600);
esp8266.begin(9600); // อัตราบอดของ esp
โหมดพิน (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()) // if esp กำลังส่งข้อความ
{
ถ้า(esp8266.find("+IPD,"))
{
ล่าช้า (200); // อ่านข้อมูลอนุกรมทั้งหมด
int connectionId = esp8266.read();
esp8266.find("?");
จำนวน int = esp8266.read();
ถ้า(จำนวน==0x30){
ถ้า (digitalRead (5)== สูง) digitalWrite (5, ต่ำ);
อื่น digitalWrite (5, สูง);
}
// ปิดคำสั่ง
สตริง closeCommand = "AT+CIPCLOSE=";
closeCommand += รหัสการเชื่อมต่อ; // แนบ ID การเชื่อมต่อ
ปิดคำสั่ง += "\r\n";
sendData (ปิดคำสั่ง 1,000); // ปิดการเชื่อมต่อ
}
}
}
สตริง sendData (คำสั่งสตริง, หมดเวลา const int)
{
การตอบสนองของสตริง = "";
esp8266.print(คำสั่ง); // ส่งตัวอ่านไปที่ esp8266
เวลา int นาน = มิลลิวินาที ();
ในขณะที่ ( (เวลา + หมดเวลา) > มิลลิวินาที ())
{
ในขณะที่ (esp8266.available ())
{
// หากมีข้อมูลที่ได้รับใน esp ให้ส่งแบบอนุกรม
ถ่าน c = esp8266.read(); //อ่านตัวอักษรถัดไป
การตอบสนอง + = c;
}
}
ตอบกลับ;
}