صفحه 4 از 11 نخستنخست ... 23456 ... آخرینآخرین
نمایش نتایج: از 31 به 40 از 107
Like Tree36 لایک

موضوع: کد دریافت و ارسال sms بوسیله sim800L

  1. #31
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    24
    دوستان مسایلی که فرمودید رو قبلا چک کردم البته ماژول من از3,7 تا4,2 روشن میشه البته جوری که تو data sheet نوشته اگرم بیشتر بدی تا 5v الارم میده ولی من تو رنج تغذیش کردم در مورد usb to com هم یه بار دیگه چک کردم دستور AT رو که میزنم همون AT رو میاره پایین مینویسه و جواب نمیده دوستان اگه تست خاص سخت افزاری یا سیگنال چک هم به ذهنتون میرسه بفرمایید انجام بدم وسایل تکمیل همه چیز دارم من خودم مغزم هنگ کرده میترسم یکی دیگه هم بخرم مشکل از خودم باشه نتونم جواب بگیرم در مورد سیم بندی rx tx هم خیالتون راحت چون من اگر درست هم زده باشم وقتی جواب نده برعکس میکنم تست میگیرم

  2. #32
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    41
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    مهندس جان این ماژول رگولاتور نداره پس باید از منبع تغذیه 3.3 و با جریان حداقل 1 و حداکثر 2 استفاده کنید. مراقب باش اشتباهی هم نزنی چون دیود محافظ نداره. بعد tx ماژول را به rx مبدل یو اس و بلعکس وصل کن
    سپس ماژول را به کامیپوتر متصل کند و زمین منبع تغذیه را با زمین یو اس بی یکی کن و +3.3 منبع تغذیه را به vcc ماژول
    یادت باشه قبل از هرچیز آنتن به ماژولت بزنی... بعد که این کار ها را کردی برنامه آردوینو را باز کن و برو تو تنظیمات قسمت پورت ، پورت کام که مبدل بهش وصله را مشخص کن و انتخاب کن سپس برو قسمت ترمینال مانیتور آردوینو و دستور AT را بزن اگه جواب ok داد سالمه اگه نوشته دیگه که قابل خواندن بود داد سرعت سریال را تغییر بده و تست کن .
    اگه منبع 3.3 با جریان 1 تا 2 نداری می تونی از 3.3 خود مبدل استفاده کنی تو سیم 900 جواب داد . تو سیم 800 را باید تست کنید
    مهندس تنهای عزیز من ماژول رو وصل میکنم به اردوینو وقتی کامند میدم عدد میده ولی وقتی با سریال وصل میکنم به کامپیوتر کامندها درست و کامل انجام میشه. میشه لطف کنید بفرمایید چیه مشکل؟ ضمنا بااین کد که magmag mary زحمتشو کشیدن تماس و اس ام اس خروجی دارم . ولی دریافت اس ام اس ندارم. ایا تابعی دارید که مطمین باشین دریافت اس ام اس رو درست انجام میده؟
    ویرایش توسط hamed82 : 04-05-2016 در ساعت 05:35 PM

  3. #33
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    24
    البته یه نکته ای ماژول رو که برام فرستادن دو تا انتن داشت یدونه با کانکتور متصل میشد یدونه هم حالت فنری مونتاژ میشه من فقط کانکتوری رو متصل کردم

  4. #34
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    سلام. با سریال وقتی at می نویسی و اینتر می زنی جواب ok را مشاهده می کنید؟!
    برنامه را مجدد بزار ببینم


    نقل قول نوشته اصلی توسط hamed82 نمایش پست ها
    مهندس تنهای عزیز من ماژول رو وصل میکنم به اردوینو وقتی کامند میدم عدد میده ولی وقتی با سریال وصل میکنم به کامپیوتر کامندها درست و کامل انجام میشه. میشه لطف کنید بفرمایید چیه مشکل؟ ضمنا بااین کد که magmag mary زحمتشو کشیدن تماس و اس ام اس خروجی دارم . ولی دریافت اس ام اس ندارم. ایا تابعی دارید که مطمین باشین دریافت اس ام اس رو درست انجام میده؟
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  5. #35
    Junior Member
    تاریخ عضویت
    Mar 2016
    نوشته ها
    24
    یعنی ایراد از ماژول بود ؟ چند مورد دار داشتین

  6. #36
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    41
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    سلام. با سریال وقتی at می نویسی و اینتر می زنی جواب ok را مشاهده می کنید؟!
    برنامه را مجدد بزار ببینم
    مهندس جان اول اینکه با سریال تونستم اس ام اس هم دریافت کنم با هون کامندی که تو کد دریافت نمیکنه. دوم اینکه این هم خدمت شما کدی که مگ مگ ماری عزیز زحمتشو کشیدن. البته تو این کد به نظرم هیچ کامندی برای دریافت به ماژول ارسال نمیشه.
    #include <SoftwareSerial.h>
    SoftwareSerial SIM900(2, 3);
    #define GSMReset 5




    void setup() {
    Serial.begin(9600); // for serial monitor
    SIM900.begin(9600); // for GSM shield
    gsmPower();
    gsmConfig();
    }


    void loop() {
    commandDetect();
    smsProcess();
    }
    //************************************************** *******************************
    void gsmConfig() {
    pinMode(GSMReset, OUTPUT);
    sendCommand("AT+CMGF=1\r", 100); // set SMS mode to text
    sendCommand("AT+CNMI=2,2,0,0,0\r", 100);
    sendCommand("AT+CFUN=1", 2000);
    sendCommand("AT+CREG?", 1000);
    Serial.println("The end of Config process");
    Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //************************************************** ********************************
    void showSms() {
    char incoming_char = 0;
    if (SIM900.available() > 0)
    {
    incoming_char = SIM900.read(); //Get the character from the cellular serial port.
    Serial.print(incoming_char); //Print the incoming character to the terminal.
    }
    }
    //************************************************** *********************************
    void smsProcess() {
    char incoming_char = 0;
    if (SIM900.available() > 0)
    {
    incoming_char = SIM900.read();
    if (incoming_char == 'H')
    {
    delay(10);
    Serial.print("horaaaaaaaaaaaaaaaaaaay");
    }
    }
    }
    //************************************************** *********************************
    void gsmPower() {
    Serial.println("Turning GSM ON");
    digitalWrite(GSMReset, HIGH);
    delay(10);
    digitalWrite(GSMReset, LOW);
    delay(100);
    digitalWrite(GSMReset, HIGH);
    delay(7000);
    Serial.println("config process...");
    }


    //************************************************** ********************************


    void sendCommand(String cmd, int t)
    {
    SIM900.println(cmd);
    delay(t);
    readSerial();
    }


    //************************************************** ************************************
    void readSerial() {
    while (SIM900.available())
    Serial.write(SIM900.read());
    }


    //************************************************** *********************************


    void dialNumber(String number) {
    Serial.println("Dialing...");
    sendCommand("ATD" + number + ";", 100);
    Serial.println("End of Dial process");
    delay(2000);
    Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //************************************************** **********************************
    void ensms()
    {
    Serial.println("Sending SMS");
    sendCommand("AT+CSCS=\"IRA\"", 200);
    sendCommand("AT+CMGF=1", 200);
    sendCommand("AT+CSMP=17,167,0,0", 200);
    sendCommand("AT+CMGS=\"09331424592\"", 500);
    sendCommand("Salam\r\n AftabRayaneh !\x1A", 0);
    Serial.println("End of English SMS process");
    delay(2000);
    Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //************************************************** **************************************
    void farsisms()
    {
    Serial.println("Sending SMS");
    sendCommand("AT+CSCS=\"HEX\"", 100);
    sendCommand("AT+CMGF=1", 100);
    sendCommand("AT+CSMP=17,167,0,8", 100);
    sendCommand("AT+CMGS=\"+09331424592\"", 500);
    sendCommand("0633064406270645060C002006220641062A0 627062800200631062706CC062706460647\x1A", 0);
    Serial.println("End of Persian SMS process");
    delay(2000);
    Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms");
    }
    //************************************************** *****************************************
    void commandDetect() {
    if (Serial.available() > 0)
    {
    char data = Serial.read();
    switch (data)
    {
    case 'd' : dialNumber("09331424592");
    break;


    case 'e' : ensms();
    break;


    case 'f' : farsisms();
    break;
    }
    }
    }
    ولی کامندی که من فرستادم تو سریال و جواب دادAT+CNMI=1,2,0,0,0 بود. حالا میشه ازتون خواهش کنم با ارتباط سریال نرم افزاری یه تابع دریافت اس ام اس برام بنویسید؟ ولی قبلش خودتون تست کنید و اینجا تو تنجمن پست بگذارید که همه استفاده کنن؟

  7. #37
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    من قبلا داشتم ولی هاردم را پاک کردم و سیم 900 دیگه ندارم واسه تست... خواندن اس ام اس باید سریال را بخوانی و نمایش بدی... بزار اگه پیدا کردم بهتون میگم
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  8. #38
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    41
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    من قبلا داشتم ولی هاردم را پاک کردم و سیم 900 دیگه ندارم واسه تست... خواندن اس ام اس باید سریال را بخوانی و نمایش بدی... بزار اگه پیدا کردم بهتون میگم
    مهندس تنهای عزیز آقا من یه ماژول SIM800l دارم بیا میدمش بهت با اون زحمتش رو بکش تو خصوصی برام ادرس بزار پیک کنم بیاد. راستش خیلی کارم گیر کرده تو دریافت اس ام اس. مشکل رو هم گفتم که کامند رو تو سریال ویندوز تست میکنم جواب میده ولی تو کد هرکاری میکنم خروجی نداره.
    لایک کردن

  9. #39
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    این یه مثال ساده برای خواندن اس ام اس: کافیه کد های زیر را جایگزین کنید

    void setup()
    {

    Serial.begin(9600);
    Serial.write("AT+CMGF=1\r"); //set GSM to text mode
    delay(1500);

    Serial.write("AT+CPMS=\"SM\"\r"); //Preferred SMS Message Storage
    delay(1000);

    Serial.write("AT+CMGR=1\r"); //list the first message from SIM Memory
    while(1)
    {
    if(Serial.available())
    {
    Serial.write(Serial.read());
    }
    }
    }

    void loop()
    {

    }






    نقل قول نوشته اصلی توسط hamed82 نمایش پست ها
    مهندس تنهای عزیز آقا من یه ماژول SIM800l دارم بیا میدمش بهت با اون زحمتش رو بکش تو خصوصی برام ادرس بزار پیک کنم بیاد. راستش خیلی کارم گیر کرده تو دریافت اس ام اس. مشکل رو هم گفتم که کامند رو تو سریال ویندوز تست میکنم جواب میده ولی تو کد هرکاری میکنم خروجی نداره.
    ویرایش توسط tanha71 : 04-07-2016 در ساعت 04:13 PM
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  10. #40
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    41
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    این یه مثال ساده برای خواندن اس ام اس: کافیه کد های زیر را جایگزین کنید

    void setup()
    {

    Serial.begin(9600);
    Serial.write("AT+CMGF=1\r"); //set GSM to text mode
    delay(1500);

    Serial.write("AT+CPMS=\"SM\"\r"); //Preferred SMS Message Storage
    delay(1000);

    Serial.write("AT+CMGR=1\r"); //list the first message from SIM Memory
    while(1)
    {
    if(Serial.available())
    {
    Serial.write(Serial.read());
    }
    }
    }

    void loop()
    {

    }
    تنها جان مرسی از محبتت. هنوز وقت نکردم تست کنم. ولی به نظرم از سریال سخت افزاری استفاده کردین درسته؟

صفحه 4 از 11 نخستنخست ... 23456 ... آخرینآخرین

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO