لطفا در مورد مزيت اصلي اين ماژول رو نسبت به sim900 بفرمائيد ، قيمت كه نسبتا بالاتره .
لطفا در مورد مزيت اصلي اين ماژول رو نسبت به sim900 بفرمائيد ، قيمت كه نسبتا بالاتره .
با سلام
اینم مثال، هم پیامک فارسی و هم انگلیسی
کد:#include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX //Pin2 -> RX //Pin3 -> TX //GND -> GND void setup() { Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } mySerial.begin(9600); mySerial.println("AT+IPR=2400"); delay(200); mySerial.begin(2400); delay(7000); read_data(); farsisms(); delay(2000); ensms(); } void loop() // run over and over { read_data(); } void read_data() { while (mySerial.available()) Serial.write(mySerial.read()); } void ensms() { mySerial.println("AT+CSCS=\"IRA\""); delay(200); read_data(); mySerial.println("AT+CMGF=1"); delay(200); read_data(); mySerial.println("AT+CSMP=17,167,0,0"); delay(200); read_data(); mySerial.println("AT+CMGS=\"+989124494287\""); delay(500); read_data(); mySerial.print("Salam\r\n AftabRayaneh !\x1A"); } void farsisms() { mySerial.println("AT+CSCS=\"UCS2\""); delay(100); read_data(); mySerial.println("AT+CMGF=1"); delay(100); read_data(); mySerial.println("AT+CSMP=17,167,0,8"); delay(100); read_data(); mySerial.println("AT+CMGS=\"+989177102643\""); delay(500); read_data(); mySerial.print("0633064406270645060C002006220641062A0627062800200631062706CC062706460647\x1A"); }
با تشکر از راهنمایی تون.
در مثال sms فارسی، چگونه یک متن عادی فارسی رو به رشته ای که باید ارسال شود تبدیل کنیم، برنامه یا سایتی سراغ دارید که این کار را انجام دهد؟
اگر مثال دریافت و خواندن sms نیز با gtm900 دارید متشکر می شوم بگذارید.
برای کسانی که از مدل GTM900B-LITE استفاده می کنند ترتیب متصل کردن پایه ها به Arduino Uno به شرح زیر است:
کد اصلاح شده ارسال پیامک:کد:5v > 5v GND > GND Tx > Pin2 Rx > Pin3 PWON > Pin7
اطلاعات تکمیلی:کد:#include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX int led = 13; //Pin2 -> RX //Pin3 -> TX //GND -> GND void setup() { pinMode(led, OUTPUT); Serial.begin(9600); GTM900power(); // Power On GSM Board delay(10000); // give time to log on to network. //while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only //} mySerial.begin(9600); mySerial.println("AT+IPR=4800"); delay(200); mySerial.begin(4800); delay(3000); read_data(); farsisms(); delay(3000); ensms(); delay(3000); GTM900power(); // Power Off GSM Board } void ledOn() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) //delay(1000); // wait for a second } void ledOff() { digitalWrite(led, LOW); // turn the LED on (HIGH is the voltage level) //delay(1000); // wait for a second } void GTM900power() // software equivalent of pressing the GSM shield "power" button { digitalWrite(7, HIGH); delay(1000); digitalWrite(7, LOW); delay(10000); } void loop() // run over and over { read_data(); } void read_data() { while (mySerial.available()) Serial.write(mySerial.read()); } void ensms() { ledOn(); mySerial.println("AT+CSCS=\"IRA\""); delay(200); read_data(); mySerial.println("AT+CMGF=1"); delay(200); read_data(); mySerial.println("AT+CSMP=17,167,0,0"); delay(200); read_data(); mySerial.println("AT+CMGS=\"+989121234567\""); delay(500); read_data(); mySerial.print("Apartment\r\nIntruder Alert!\x1A"); ledOff(); } void farsisms() { ledOn(); mySerial.println("AT+CSCS=\"UCS2\""); delay(100); read_data(); mySerial.println("AT+CMGF=1"); delay(100); read_data(); mySerial.println("AT+CSMP=17,167,0,8"); delay(100); read_data(); mySerial.println("AT+CMGS=\"+989121234567\""); delay(500); read_data(); //mySerial.print("64564762f6cc206a963162764562a6ccc\x1A"); mySerial.print("0633064406270645060C002006220641062A0627062800200631062706CC062706460647\x1A"); ledOff(); }
1- Baud Rate عملیاتی این برد بر خلاف مدل دارای سوکت پورت سریال، 4800 می باشد.
2- این برد دارای یک پایه PWON (یا Power On) می باشد که با ولتاژ دادن به آن روشن، و با ولتاژ دادن مجدد خاموش می شود.
قابل توجه کسانی که با ماژول gsm gprs - ماژول Gtm900b همراه با آنتن کار می کنند:
این برد با ولتاژ تامین شده توسط Arduino Uno کار نمی کند و میبایست منبع تغذیه 5 ولت خارجی به آن متصل شود.
ویرایش توسط d3lphi : 06-20-2014 در ساعت 07:59 AM
با سلام
ممنون از توضیحات تکمیلی ، فقط باید عرض کنم این ماژول از همه Baud Rate های درج شده در دیتاشیت پشتیبانی می کنی اما از اونجایی که از برد UNO و کتابخانه SoftwareSerial استفاده شده برای جلوگیری از overflow مجبوریم Baud Rate رو کاهش بدیم ، البته این کاهش Baud Rate فقط برای دریافت پیامک هست و برای ارسال پیامک از همون Baud Rate پیشفرض 9600 هم می تونید استفاده کنید ، در مورد برد مگا با اتصال ماژول به رابط های سریال ، حتی امکان استفاده از Baud Rate های بالاتر از 9600 هم وجود داره ، خلاصه اینکه کاهش Baud Rate فقط به دلیل استفاده بهینه و بی دردسر ماژول برای استفاده در بردها ضعیفتر هست.
پیشنهاد می کنم به این سایت سری بزنید همه جیز با جزییات کامل قید شده، کافی هست AT Command ها رو با توجه به مثال بالا استفاده کنید :
http://www.smssolutions.net/tutorials/gsm/
در مورد پیامک فارسی هم کافی هست حروف UTF-8 رو به HexaDecimal تیدیل کنید .
برای کسانی که برای تبدیل متن فارسی به رشته هگز جهت ارسال توسط این ماژول مشکل دارند یک نمونه برنامه با Visual Studio 2013 نوشتم و ضمیمه کردم.
اگر ویژوال استودیو را نصب ندارید نسخه کامپایل شده برنامه در فولدر bin\Debug قرار دارد.
این برنامه می تواند متن فارسی را به هگز و برعکس تبدیل کند.
در تکمیل فرمایش ایشان، متن فارسی میبایست ابتدا به BigEndianUnicode تبدیل شده و سپس به رشته هگز تبدیل شود.در مورد پیامک فارسی هم کافی هست حروف UTF-8 رو به HexaDecimal تیدیل کنید .
سلام به همگی
من نمیدونم پایه power on و 5v توی gtm900-b کدامش هست. ممنون میشم اگر کسی من رو راهنمایی کنه!
اگر ماژول ات GTM 900 B Lite باشه جلوی پایه اش نوشته PWON. تو مدلی از GTM 900 که پورت سریال DB9 داره پایه فوق وجود نداره.