ใส่ซิมโทรได้จริง! สร้างเครื่องโทรศัพท์ฉุกเฉินด้วย ESP32 + GSM (GeoLinker GL868)

ESP32 GSM Calling Device using GeoLinker GL868
อุปกรณ์โทรศัพท์ฉุกเฉินที่ใช้บอร์ด GeoLinker GL868 เพียงตัวเดียวก็สามารถเสียบซิมโทรเข้า-ออกได้เลย

สวัสดีชาว Maker สายหาทำทุกคนครับ! 🛠️ ปกติเวลาเราทำโปรเจกต์ IoT เราก็มักจะให้บอร์ดต่อ Wi-Fi หรือ Bluetooth ใช่ไหมครับ? แต่ถ้าเราอยากเอาโปรเจกต์ไปติดไว้กลางป่า กลางสวน หรืออยากทำปุ่มกดเรียกฉุกเฉินให้ผู้สูงอายุที่บ้าน (Elderly care) การใช้ Wi-Fi คงไม่ตอบโจทย์แน่ๆ

วันนี้เราเลยขอพามาป้ายยาโปรเจกต์ปั่นๆ แต่ใช้งานได้จริง นั่นคือการสร้าง "โทรศัพท์ฉุกเฉิน" (GSM Calling Device) ที่สามารถเสียบซิมการ์ด, กดปุ่มเพื่อโทรออกเบอร์ที่ตั้งไว้ และ "รับสายอัตโนมัติ (Auto-answer)" ได้เมื่อมีคนโทรเข้า! โดยพระเอกของเรางานนี้คือบอร์ด GeoLinker GL868 ครับ!

ความเจ๋งของบอร์ด GeoLinker GL868 🧠

เหตุผลที่โปรเจกต์นี้โคตรจะ Beginner-friendly เพราะเราไม่ต้องมานั่งปวดหัวต่อสายไฟโยงไปมาระหว่างบอร์ด ESP32 กับโมดูลโทรศัพท์ (GSM Module) ให้วุ่นวายครับ บอร์ด GeoLinker GL868 เขาจับเอาชิป ESP32-S3 มารวมร่างกับโมดูล SIM868 (2G GSM/GPRS + GPS) ไว้บนแผ่น PCB แผ่นเดียวกันเรียบร้อยแล้ว!

แถมบนบอร์ดยังมีวงจรจัดการแบตเตอรี่ (Battery management) ในตัว แค่เสียบแบต Li-ion 3.7V ผ่านหัวต่อ JST ก็พร้อมลุย เหมาะมากๆ กับการนำไปทำระบบกันขโมย, เครื่องติดตามรถ (Asset tracking), หรือระบบแจ้งเตือนในโรงงานอุตสาหกรรมครับ

💡 Maker's Tip: การคุยกันระหว่างชิป ESP32 กับโมดูล SIM868 จะใช้ชุดคำสั่งที่เรียกว่า "AT Commands" ผ่าน Serial ครับ เช่น สั่ง ATD+เบอร์โทร; เพื่อโทรออก หรือส่ง ATA เพื่อรับสายอัตโนมัติ

หากเพื่อนๆ ดูแล้วคันไม้คันมืออยากประกอบกล่องโทรศัพท์แบบนี้บ้าง แวะมาช้อป บอร์ดพัฒนา ESP32, ลำโพงตัวจิ๋ว, ไมค์โครโฟน และปุ่มกดต่างๆ ได้ที่ Globalbyte Shop เลยครับ! อ้อ... แล้วถ้าอยากได้กล่องใส่สวยๆ แบบในรูป ทางเรามี บริการรับปริ้นท์ 3D (3D Printing Service) ไว้บริการด้วยนะ ทัก LINE OA มาปรึกษากันได้เลยครับ!

หลักการทำงาน (Step-by-Step) ⚙️

การทำงานของเครื่องนี้ไม่ได้ซับซ้อนเลยครับ เรามาดูผังง่ายๆ กัน:

  • การโทรออก (Outgoing Call): เมื่อเรากดปุ่มที่ต่อไว้กับขา GPIO 4 ตัว ESP32 จะเช็กเงื่อนไข แล้วส่งคำสั่ง AT Command ไปบอกให้ซิมโทรออกไปยังเบอร์ที่ตั้งไว้ พร้อมตั้งค่าไมค์และลำโพงให้พร้อมคุย
  • การรับสาย (Incoming Call): เมื่อมีคนโทรเข้ามา โมดูล SIM868 จะส่งข้อความคำว่า "RING" แจ้ง ESP32 รัวๆ จากนั้น ESP32 จะส่งคำสั่ง ATA กลับไปเพื่อ "กดรับสายอัตโนมัติ" ทำให้คนปลายสายพูดออกลำโพงของเราได้ทันที!

⚠️ ข้อควรรู้เรื่องระบบซิม 2G

โมดูล SIM868 รองรับคลื่นสัญญาณโทรศัพท์แบบ 2G เท่านั้นนะครับ (ไม่รองรับ 4G/LTE) ดังนั้นก่อนทำโปรเจกต์นี้ ต้องเช็กก่อนว่าซิมการ์ดและเครือข่ายมือถือในพื้นที่ของคุณยังเปิดให้บริการคลื่น 2G สำหรับอุปกรณ์ IoT อยู่หรือไม่ครับ!

ผังวงจรการต่อสาย (Circuit Diagram) 🔌

Circuit diagram of ESP32 GSM Calling Device
การต่อสายง่ายมาก! แค่ต่อลำโพงเข้า SP+/SP-, ไมค์เข้า M+/M- และปุ่มกดเข้า GPIO 4 เท่านั้น

ประกอบลงกล่อง 3D Print สวยงาม 📦

Hardware setup inside 3D printed enclosure
จับยัดลงกล่อง 3D Print ซ่อนสายและแบตเตอรี่ Li-ion 3.7V ไว้ด้านในอย่างเรียบร้อย

วิดีโอสาธิตการทำงานจริง 🎬

ตัวอย่างโค้ด: การรับสายอัตโนมัติ (Auto-Answer) 💻

เมื่อมีข้อความ "RING" เข้ามาทาง Serial2 (โมดูล SIM) บอร์ด ESP32 จะสั่งตอบกลับไปว่า "ATA" เพื่อรับสายครับ:

while (Serial2.available()) {
   String response = Serial2.readStringUntil('\n');
   response.trim();
   
   // ตรวจจับคนโทรเข้า (Incoming Call Detection)
   if (response.indexOf("RING") >= 0) {
      Serial2.println("ATA");  // สั่งรับสายอัตโนมัติ
      callActive = true;
      audioConfigured = false;
   }
}
      

ตัวอย่างโค้ด: การตั้งค่าระดับเสียงและไมโครโฟน 🔊

นี่คือตัวอย่างคำสั่ง AT Commands ที่ใช้ตั้งค่าความดังลำโพงและเกน (Gain) ของไมค์ครับ:

Serial2.println("AT+CHFA=1"); // เลือก Audio Channel 1
delay(100);
Serial2.println("AT+CLVL=90"); // ตั้งความดังลำโพงที่ 90
delay(100);
Serial2.println("AT+CMIC=0,12"); // เพิ่ม Gain ไมค์
delay(100);
Serial2.println("AT+FMMUTE=0"); // Unmute เสียง
delay(100);
Serial2.println("AT+SIDET=1"); // เปิด Sidetone ให้ได้ยินเสียงตัวเอง
      
*คำเตือนและข้อแนะนำ: เนื้อหาบทความนี้สรุปและแปลมาจากโปรเจกต์ของ Circuit Digest โค้ดโปรแกรมในบทความเป็นเพียงส่วนหนึ่งของโครงสร้างหลัก ผู้เริ่มต้นควรศึกษาโค้ดฉบับเต็มและการลงไลบรารี GeoLinker จากลิงก์อ้างอิง และโปรดตรวจสอบสถานะการให้บริการสัญญาณ 2G ในเครือข่ายมือถือของคุณก่อนสั่งซื้อหรือพัฒนาโปรเจกต์ครับ

 

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี