در ارتباط با شبکه های 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

Tags:
About Author: USER_4