نمایش نتایج: از 1 به 10 از 44
Like Tree13 لایک

موضوع: مشکل در راه اندازی sim800l

Hybrid View

  1. #1
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    خدارو شکر
    قدم اول اینه که بتونی اس ام اس که برات ارسال میشه رو ببینی .
    یه مدل ساده کد نویسیش میشه این:
    کد:
    #include <SoftwareSerial.h>
    
    
    
    
    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino
    int pir = 3;
    void setup()
    {
      mySerial.begin(9600);
      Serial.begin(9600);
      delay(1000);
      pinMode(pir, INPUT);
      gsmConfig() ;
      Serial.println("start");
    }
    void loop()
    {
    
    
    
    
      int a = digitalRead(pir);
      if ( a == 1)
      {
        Serial.println("motion");
        ensms();
      }
      else {
        mySerial.println("AT+CMGD=1,2\r");
        delay(1000);
      }
      showSms() ;
    }
    void gsmConfig() {
      mySerial.println("AT+CMGF=1\r"); // set SMS mode to text
      delay(100);
      mySerial.println("AT+CNMI=2,2,0,0,0\r");
      delay(100);
      mySerial.println("AT+CFUN=1");
      delay(2000);
      mySerial.println("AT+CREG?");
      delay(1000);
    }
    
    
    
    
    void ensms()
    {
      mySerial.println("AT+CSCS=\"IRA\"");
      delay(200);
      mySerial.println("AT+CMGF=1");
      delay(200);
      mySerial.println("AT+CSMP=17,167,0,0");
      delay(200);
      mySerial.println("AT+CMGS=\"09...\"");
      delay(500);
      mySerial.println("Motion Alarm\x1A");
      delay(2000);
    }
    
    
    void showSms() {
      char incoming_char = 0;
      if (mySerial.available() > 0)
      {
        incoming_char = mySerial.read(); //Get the character from the cellular serial port.
        Serial.print(incoming_char); //Print the incoming character to the terminal.
      }
    }
    الان با این کد ممکنه یه سری چیزهای اضافی هم ببینی که مهم نیست .
    چک کن با این کد میتونی متن sms رو ببینی
    مهندس یکم توو انتن دهی بد عمل میکنه تغذیه مناسب رو بهش دادم ( 4.2 ولت با امپر بالا) انتنشم انتن PCB هست ولی در حد 2 سانت جا به جا که میکنی جواب نمیده . زنگ که میزنم بهش گاهی زنگ میخوره.گاهی با یه بوق کوچیک قطع میشه . واسه این کد هم 2تا اس انگلیسی دادم دریافت نکرد . سومی رو که فرستادم یهو 3تاش باهم اومد. بعدش یه اس فارسی دادم که فکر کنم به کد اسکی دریافت کرده . چندثانیه بعد هم خودش یه چی دیگه دریافت کرد . کل دریافتا اینه:
    start
    AT+CMGF=1


    OK
    AT+CNMI=2,2,0,0,0


    OK
    AT+CFUN=1

    OK
    AT+CR
    +CMT: "+989180698600","","16/08/10,11:04:36+14"
    Salam

    +CMT: "+989180698600","","16/08/10,11:06:07+14"
    Salam1

    +CMT: "+989180698600","","16/08/10,11:09:21+14"
    Salam2

    +CMT: "+989180698600","","16/08/10,11:10:01+14"
    0633064406270645

    +CMT: "+989180698600","","16/08/10,11:16:08+18"
    00530068006F006D0061002000320033002000740061006D00 610073006500200061007A0020006400610073007400200072 0061006600740065006800200061007A0020002B0039003800 39003100380030003600390038003600300030002000640061 0072002000300039002F00300038002F003200300031003600 2000310036

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    مهندس یکم توو انتن دهی بد عمل میکنه تغذیه مناسب رو بهش دادم ( 4.2 ولت با امپر بالا) انتنشم انتن PCB هست ولی در حد 2 سانت جا به جا که میکنی جواب نمیده . زنگ که میزنم بهش گاهی زنگ میخوره.گاهی با یه بوق کوچیک قطع میشه . واسه این کد هم 2تا اس انگلیسی دادم دریافت نکرد . سومی رو که فرستادم یهو 3تاش باهم اومد. بعدش یه اس فارسی دادم که فکر کنم به کد اسکی دریافت کرده . چندثانیه بعد هم خودش یه چی دیگه دریافت کرد . کل دریافتا اینه:
    start
    AT+CMGF=1


    OK
    AT+CNMI=2,2,0,0,0


    OK
    AT+CFUN=1

    OK
    AT+CR
    +CMT: "+989180698600","","16/08/10,11:04:36+14"
    Salam

    +CMT: "+989180698600","","16/08/10,11:06:07+14"
    Salam1

    +CMT: "+989180698600","","16/08/10,11:09:21+14"
    Salam2

    +CMT: "+989180698600","","16/08/10,11:10:01+14"
    0633064406270645

    +CMT: "+989180698600","","16/08/10,11:16:08+18"
    00530068006F006D0061002000320033002000740061006D00 610073006500200061007A0020006400610073007400200072 0061006600740065006800200061007A0020002B0039003800 39003100380030003600390038003600300030002000640061 0072002000300039002F00300038002F003200300031003600 2000310036
    با یه آنتن با دسی بل بالاتر تست بگیر ببین مشکل آنتن دهیش حل میشه

    سیم کارتتم یه بار در بیار دوباهر جا بزن
    لایک کردن

  3. #3
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    با یه آنتن با دسی بل بالاتر تست بگیر ببین مشکل آنتن دهیش حل میشه

    سیم کارتتم یه بار در بیار دوباهر جا بزن
    امتحان میکنم از این انتن کوچیک فنری ها هم دارم . باید لحیم بشه. اونا دسی بلش بالاتر هست ؟

    حالا یه اس رو چطوری بگم اگه یه متن خاص بود یه خروجی بده ؟

    راستی یه چی دیگه. من هرکاری میکنم واسه اینکه میس بزنم به ماژول که با میس یه چی فعال بشه نمیشه ! یعنی یبار که زنگ میخوره دیگه میوفته توو حلقه و با همون یه میس 1000بار تکرار میکنه

    این کدش:
    #include <SoftwareSerial.h>

    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino

    void setup()
    {
    mySerial.begin(9600);
    Serial.begin(9600);
    delay(1000);
    Serial.println("start");
    }
    void loop()
    {
    while (mySerial.available())
    Serial.println("zang khordan");
    }


    با اینا هم امتحان کردم
    if (mySerial.available()>0)
    if (mySerial.available()== HIGH)
    و...
    ویرایش توسط feredy2011 : 08-10-2016 در ساعت 08:09 AM

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    امتحان میکنم از این انتن کوچیک فنری ها هم دارم . باید لحیم بشه. اونا دسی بلش بالاتر هست ؟

    حالا یه اس رو چطوری بگم اگه یه متن خاص بود یه خروجی بده ؟

    راستی یه چی دیگه. من هرکاری میکنم واسه اینکه میس بزنم به ماژول که با میس یه چی فعال بشه نمیشه ! یعنی یبار که زنگ میخوره دیگه میوفته توو حلقه و با همون یه میس 1000بار تکرار میکنه

    این کدش:
    #include <SoftwareSerial.h>

    SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino

    void setup()
    {
    mySerial.begin(9600);
    Serial.begin(9600);
    delay(1000);
    Serial.println("start");
    }
    void loop()
    {
    while (mySerial.available())
    Serial.println("zang khordan");
    }


    با اینا هم امتحان کردم
    if (mySerial.available()>0)
    if (mySerial.available()== HIGH)
    و...
    میدونی کدی که نوشتی داره چیکار می کنه؟
    داره میگه هر موقع سیم 800 یه چیزی ارسال کرد ( که اصلا مهم نیست اون چیزه چیه ) تو برو فلان کار رو بکن. خب معلومه تو لوپ میفته
    از این لینک لیست کامندها رو ببین :
    https://cdn-shop.adafruit.com/datash...nual_v1.01.pdf

    طبق چیزی که نوشته زمانی که یکی بهت زنگ بزنه تو کنسول سریال باید Ring رو ببینی
    بنابراین باید تو کدنویسیت بگه اگه داده ای که سیم 800 برمیگردونه Ring هست فلان کار رو بکن

  5. #5
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    مرسی مهندس تلاشمو میکنم نتیجه رو میگم . بازم ممنون

  6. #6
    Junior Member
    تاریخ عضویت
    Sep 2016
    نوشته ها
    9
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    میدونی کدی که نوشتی داره چیکار می کنه؟
    داره میگه هر موقع سیم 800 یه چیزی ارسال کرد ( که اصلا مهم نیست اون چیزه چیه ) تو برو فلان کار رو بکن. خب معلومه تو لوپ میفته
    از این لینک لیست کامندها رو ببین :
    https://cdn-shop.adafruit.com/datash...nual_v1.01.pdf

    طبق چیزی که نوشته زمانی که یکی بهت زنگ بزنه تو کنسول سریال باید Ring رو ببینی
    بنابراین باید تو کدنویسیت بگه اگه داده ای که سیم 800 برمیگردونه Ring هست فلان کار رو بکن
    مهندس اگه میشه function دریافت تماس ام بزارید ممنوم میشم

  7. #7
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط alireza_r7 نمایش پست ها
    مهندس اگه میشه function دریافت تماس ام بزارید ممنوم میشم
    دقیقا قصد دارید تابعتون چکار کنه.
    اگه قصد دارید تابعی بنویسید که مثلا بعد از 3 تا زنگ answer کنه خب راه حل های ساده تر از تابع هم هست .
    شما با یه کامند میتونی این کار رو انجام بدی

    کامند مربوط به این کار ATS0 هست.
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 2016-09-27_8-33-52.jpg
مشاهده: 348
حجم: 20.5 کیلو بایت


    تنها نکته ای که توی کارکردن با این کامند باید بهش دقت کنی اینه که Save اش کنی با at&w
    میتونی لیست کامندها رو هم از اینجا https://cdn-shop.adafruit.com/datash...nual_v1.01.pdf دانلود کنی.
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Sep 2016
    نوشته ها
    9
    مهندس من میخوام وقتی به sim زنگ میخوره شماره رو نشون بده بتونم شماره ای که داره نشون میده رو بعنوان contact ذخیره کنم

    ATA و ATH جواب گرفتم واسه هر کدوم case گذاشتم اگه a و تو serial monitor وارد کنم تماس برقرار میشه b و وارد کنم قطع میشه

    این دستورات و نوشتم ولی جواب نگرفتم
    شماره رو نمیتونم نمایش بدم
    تصاویر کوچک شده (Thumbnails) پیوست شده تصاویر کوچک شده (Thumbnails) پیوست شده 2016-09-28_3-27-44.jpg  
    ویرایش توسط magmagmary : 09-28-2016 در ساعت 07:42 AM

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

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

SEO by vBSEO