در ارتباط با شبکه های GSM به دلیل نیاز به مدارات مخابراتی با تکنولوژی بالا و همچنین پروتکل هایی که دارای لاینسس هستند ، از ماژول های آماده GSM استفاده می شود . این ماژول اغلب اندازه بسیار کوچکی دارند و به صورت Castellated Hole طراحی شده اند که می توانید مانند یک چیپ SMD آن را بر روی PCB لحیم کنید . ماژول های GSM زیادی در بازار موجود می باشند که قابلیت ها و توانایی های متفاوتی دارند . ماژول هایی مانند سری های SIM80x شرکت Simcom و یا ماژول های کوئیکتل . در این آموزش قصد داریم به آموزش راه اندازی ماژول IOT-GA6-B بپردازیم . این ماژول را با نام A6 نیزمیشناسند که توسط شرکت Ai Thinker Technology طراحی شده است . ماژول A6 می تواند جایگزین مناسبی برای مدل های SIM80x باشد چراکه قیمت آن به مراتب پایین تر از ماژول های SIM80x است . ماژول A6 همانند سایر مودم های GSM به طور کامل از هایس پشتیبانی می کند لذا به راحتی از طریق فرمان های AT می توانید ماژول را کنترل کنید .
در تصویر زیر پین های ماژول نشان داده شده است :
پین های مهم ماژول شامل :
VCC این پین به 5 ولت باید متصل شود (از وجود رگولاتور بر روی ماژول خود مطما شوید در غیر این صورت به 3.3 ولت متصل کنید )
GND پین زمین ماژول
پین های MIC برای اتصال به میکروفن می باشند .
پین های REC نیز برای اتصال به اسپیکر می باشند .
پین RST جهت ریست ماژول است . همچنین پین PWR برای فعال سازی ماژول می باشد که باید حدود 500 میلی ثانیه در وضعیت 1 قرار گیرد تا ماژول سروع به کار کند .
هدر برد های مختلفی بر پایه ماژول A6 وجود دارد که تنها در ظاهر و امکانات جانبی با همدیگر در تفاوت و پین های آن ها مشترک است .
راه اندازی ماژول A6 با آردوینو :
می توانید ماژول A6 را مستقیم از طریق یک رابط USB-TTL به کامپیوتر متصل کرده و آن را دیباگ کنید . همچنین در پروژه های عملی می توانید آن را به پین های UART MCU متصل کرده و از طرق دریافت و ارسال AT Command ها عملکرد مناسب را انجام دهید .
برنامه زیر برای ارسال SMS می باشد . رشته “ZZxxxxxxxxxx” به شماره موبایل خود تغییر دهید .
#include <SoftwareSerial.h> //Create software serial object to communicate with A6 SoftwareSerial mySerial(3, 2); //A6 Tx & Rx is connected to Arduino #3 & #2 void setup() { //Begin serial communication with Arduino and Arduino IDE (Serial Monitor) Serial.begin(9600); //Begin serial communication with Arduino and A6 mySerial.begin(9600); Serial.println("Initializing..."); delay(1000); mySerial.println("AT"); //Once the handshake test is successful, it will back to OK updateSerial(); mySerial.println("AT+CMGF=1"); // Configuring TEXT mode updateSerial(); mySerial.println("AT+CMGS=\"+ZZxxxxxxxxxx\"");//change ZZ with country code and xxxxxxxxxxx with phone number to sms updateSerial(); mySerial.print("Last Minute Engineers | lastminuteengineers.com"); //text content updateSerial(); mySerial.write(26); } void loop() { } void updateSerial() { delay(500); while (Serial.available()) { mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port } while(mySerial.available()) { Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port } }
می توانید از برنامه فوق برای تست عملکرد ماژول استفاده کنید . می توانید از لینک زیر لیست کامل AT Command های این ماژول را دانلود کنید .
https://www.elecrow.com/download/A6%20module%20AT%20commands.pdf