نمایش نتایج: از 1 به 9 از 9
Like Tree2 لایک
  • 2 Post By mhdkhlgh

موضوع: نحوه گرفتن اعتبار ماژول GSM A6 module

  1. #1
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    10

    Lightbulb نحوه گرفتن اعتبار ماژول GSM A6 module

    با سلام خدمت دوستان یکی از مشکلات کار با این ماژول گرفتن مانده اعتبار همراه اول هستش که با ussd باید این کار انجام بشه چون در اینترنت هیچ جا منبعی پیدا نمی کنید که به روشنی روند کار رو توضیح بده و حتی افرادی هم که موفق شده اند از دادن اطلاعات طفره می روند تصمیم گرفتم تجربیات خودم رو به اشتراک بگذارم تا درگیر این موضوع نشوید و مانند من وقتتون رو زیاد تلف نکنین. باشد که از خارجی ها مفهوم اپن سورس را یاد بگیریم و اطلاعات رو راحت تر اشتراک بگذاریم. نمی دونم سخنانی همچون «زکات علم نشر آنست» از بزرگان ماست اما کسان دیگری به آن عمل می کنند همچنین برخی فروشگاه ها از فرصت استفاده نکنند و بخاطر اقبال مشتری ها به یک ماژول مانند a6 قیمت رو یکمرتبه چند برابر نکنند!!!؟؟؟؟؟؟
    مراحل انجام کار به این صورته که ابتدا دستورات زیر رو به مودم میفرستین
    AT+CSMP=17,167,0,0
    AT+CSCS="GSM"
    AT+CUSD=1,"*140*11#",15
    دستورات اول مودم رو در حالت 7 بیتی قرار می ده و دستور دوم کرکتر ست مودم رو در حالت gsm قرار می ده و دستور سوم اجرای دستور مانده اعتبار همراه اول هستش.
    پاسخ مودم آخرین دستور به شکل زیر می باشد.
    +CUSD........................
    !کاراکترهی پاسخ رو نتونستم ارسال کنم چون ظاهرا علت عدم نمایش متن پست به خاطر همین کارکتر های به هم ریخته هستش.!!!!!!!!!!!!!!!!!!!!!

    که ظاهرا نا مفهوم هستش ولی بین علامت " " همان چیزی است که ما بدنبال آن هستیم پاسخ همراه اول! اما بصورت 7 بیتی نه 8 بیتی که بایستی تبدیل به 8 بیتی شود
    فقط کافیه عبارت فوق رو به صورت هگز نمایش داده و کد های بین دو کد 0x22 رو به برنامه زیر وارد کنید اما بدون فاصله..
    اینم برنامه ای که این کار رو انجام می ده موفق باشید
    لایک یادتون نره دوستون دارم محققین ایرانی
    کد:
    void setup() {
      Serial.begin(56700);
    
      Serial.print( decode7to8bit("D9775D0E1287D961F7B80C4ACF41B19C2C870349D36136C8957DD7E5A0F078FCAEBBE9A07B9ACD0695F1F0B4BC0C0A9BE9653948068BE55E30DB2B16732986E8B0FC5C0689F320556C043281AE69374806B301"));
    
    }
    
    void loop() {}
    
    String decode7to8bit(String str) {
      byte data8bit[160];
      byte data7bit[140];
      byte len = str.length();
      int lsb, msb;
      for ( int i = 0, j = 0; i < len; i += 2, j++) {
        msb = tolower(str[i]);
        lsb = tolower(str [i + 1]);
        msb -= isdigit(msb) ? 0x30 : 0x57;
        lsb -= isdigit(lsb) ? 0x30 : 0x57;
        data7bit[j] = (char)(lsb | (msb << 4));
      }
    
      str = "";
    
      for (byte i = 0, counter = 0, j = 0; i < len / 2; i++, counter++, j++) {
        byte current = data7bit[i];
        byte previous = i == 0 ? 0 : data7bit[i - 1];
        if (counter == 7)  counter = 0;
    
        int shiftedCurrent = (current << counter) & 0x7F;
    
        int shiftedPrevious = (previous & 0xFF) >> (8 - counter);
        data8bit[j] = (shiftedCurrent | shiftedPrevious);
        str += char(data8bit[j]);
        if (counter == 6) {
          j++;
          data8bit[j] = ((current & 0xFF) >> 1);
          str += char(data8bit[j]);
        }
      }
      return str;
    }
    }
    ویرایش توسط mhdkhlgh : 02-12-2018 در ساعت 11:20 AM

  2. #2
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    10
    قسمت اول برنامه String رو تبدیل به کد هگز معادل می کنه و زمانی که اطلاعات از پورت سر یال دریافت میشه نیاز نیست.
    ویرایش توسط mhdkhlgh : 02-03-2018 در ساعت 09:38 AM

  3. #3
    Junior Member
    تاریخ عضویت
    Dec 2017
    نوشته ها
    3
    سلام
    آقا دمت گرم
    فقط یه نکته ای: اگر داخل برنامه آردوینو از قسمت edit گزینه copy for forum رو انتخاب کنی، کدی که نوشتی خیلی تمیز کپی میشه و داخل هر انجمنی میتونی قرارش بدی.
    البته اینجوری ما هم راحت تر میتونیم کپیش کنیم
    یه سوال هم دارم، ماژول من هر از چند گاهی ریست میشه! شما پایه های ماژول رو چجوری وصل کردی؟ مثلا پایه ریست رو با چه مقاومتی به زمین وصل کردی و...؟

  4. #4
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط علی_برقی نمایش پست ها
    سلام
    آقا دمت گرم
    فقط یه نکته ای: اگر داخل برنامه آردوینو از قسمت edit گزینه copy for forum رو انتخاب کنی، کدی که نوشتی خیلی تمیز کپی میشه و داخل هر انجمنی میتونی قرارش بدی.
    البته اینجوری ما هم راحت تر میتونیم کپیش کنیم
    یه سوال هم دارم، ماژول من هر از چند گاهی ریست میشه! شما پایه های ماژول رو چجوری وصل کردی؟ مثلا پایه ریست رو با چه مقاومتی به زمین وصل کردی و...؟
    من تنها از پایه های سریال استفاده کردم و یک خازن 6.3 ولت 2200 بین vcc و gnd قرار دادم برای ثبات ولتاژ چون در اثر افت ولتاژ براش مشکل پیش می یاد و زمان دریافت یا ارسال اطلاعات با مشکل کمبود جریان مواجه میشه باید از یک منبع 2 آمپر به بالا استفاده بشه و شارژ گوشی مناسب نیست
    و با تشکر از شما کد اصلاح شد.
    ویرایش توسط mhdkhlgh : 02-12-2018 در ساعت 11:20 AM

  5. #5
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    نقل قول نوشته اصلی توسط mhdkhlgh نمایش پست ها
    من تنها از پایه های سریال استفاده کردم و یک خازن 6.3 ولت 2200 بین vcc و gnd قرار دادم برای ثبات ولتاژ چون در اثر افت ولتاژ براش مشکل پیش می یاد و زمان دریافت یا ارسال اطلاعات با مشکل کمبود جریان مواجه میشه باید از یک منبع 2 آمپر به بالا استفاده بشه و شارژ گوشی مناسب نیست
    و با تشکر از شما کد اصلاح شد.
    بنده هرکاری میکنم نمیتونم پیام های ارسالی از این ماژول به درستی دریافت کنم البته وقتی بدون ادرینو با تبدیل ب pcوصل میشه دقیق و مرتب کار میکند ایا شما علت میدونید

  6. #6
    Junior Member
    تاریخ عضویت
    Jan 2017
    محل سکونت
    ایران-مشهد
    نوشته ها
    11
    با سلام
    من طبق برنامه بالا عمل کردم و پاسخی که از ایرانسل دریافت کردم این بود :

    کد:
    +CUSD: 2, "Cy⸮⸮⸮⸮d7X-JJ⸮.⸮⸮y⸮@I⸮⸮⸮⸮⸮ayX⸮⸮⸮ar:_⸮⸮ tX⸮⸮⸮ru$⸮⸮⸮2(⸮⸮⸮⸮v⸮B⸮⸮⸮r⸮j⸮⸮av⸮⸮⸮AI^⸮r⸮⸮⸮⸮L/⸮⸮r<⸮⸮⸮ t⸮v⸮⸮o" ,15
    که وقتی اونرو تو تابع decode7to8bit قرار میدم، همچین خروجی میده:

    کد:
    bco?~~+W-OX{j~+qe-?%2|}WV_
    ?QUco?^^y/co?Usmx{/E_'|}x{/Ew7|}Wbo?5U]Wbo?5wU)qw_z^}x{/I]jn+qw_Z~
    vx{/Y_}jb+qso>u/|}W
    لطفأ راهنمایی بفرمایید
    با تشکر

  7. #7
    Junior Member
    تاریخ عضویت
    Jan 2017
    محل سکونت
    ایران-مشهد
    نوشته ها
    11
    نقل قول نوشته اصلی توسط kc_nitro نمایش پست ها
    با سلام
    من طبق برنامه بالا عمل کردم و پاسخی که از ایرانسل دریافت کردم این بود :

    کد:
    +CUSD: 2, "Cy⸮⸮⸮⸮d7X-JJ⸮.⸮⸮y⸮@I⸮⸮⸮⸮⸮ayX⸮⸮⸮ar:_⸮⸮ tX⸮⸮⸮ru$⸮⸮⸮2(⸮⸮⸮⸮v⸮B⸮⸮⸮r⸮j⸮⸮av⸮⸮⸮AI^⸮r⸮⸮⸮⸮L/⸮⸮r<⸮⸮⸮ t⸮v⸮⸮o" ,15
    که وقتی اونرو تو تابع decode7to8bit قرار میدم، همچین خروجی میده:

    کد:
    bco?~~+W-OX{j~+qe-?%2|}WV_
    ?QUco?^^y/co?Usmx{/E_'|}x{/Ew7|}Wbo?5U]Wbo?5wU)qw_z^}x{/I]jn+qw_Z~
    vx{/Y_}jb+qso>u/|}W
    لطفأ راهنمایی بفرمایید
    با تشکر
    با سلام
    مقدار AT+CSCS را به جای GSM، برابر با HEX قرار دادم و خروجی به این شکل در اومد :

    کد:
    +CUSD: 2, "4379999CA6836437582D074A4AA52ED0F57905C14049A9D405AA81C46179581C9683D061723A5F0689C32074580E9AA3C3727519240EB3CF92863CAE768DDDE7BECAFD67B9D6NS⸮ʺ⸮"⸮3D2EB3D9E91DA84C2F8B37190BBB04B17834F ,
    ولی اینهم وقتی میره تو تابع decode7to8bit ، به این صورت میشه:

    کد:
    s)NO  y3S=3&ehl*'4:$UJj~aH\(PY-(9:Q2`dhz81$)xh8J9P`t*y\9J$ kydG2Lrsh:{^G}+k{:^c=~]=\LM=TL^,<cB]bb#
    لطفأ راهنمایی بفرمایید
    با تشکر

  8. #8
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط kc_nitro نمایش پست ها
    با سلام
    مقدار AT+CSCS را به جای GSM، برابر با HEX قرار دادم و خروجی به این شکل در اومد :

    کد:
    +CUSD: 2, "4379999CA6836437582D074A4AA52ED0F57905C14049A9D405AA81C46179581C9683D061723A5F0689C32074580E9AA3C3727519240EB3CF92863CAE768DDDE7BECAFD67B9D6NS⸮ʺ⸮"⸮3D2EB3D9E91DA84C2F8B37190BBB04B17834F ,
    ولی اینهم وقتی میره تو تابع decode7to8bit ، به این صورت میشه:

    کد:
    s)NO  y3S=3&ehl*'4:$UJj~aH\(PY-(9:Q2`dhz81$)xh8J9P`t*y\9J$ kydG2Lrsh:{^G}+k{:^c=~]=\LM=TL^,<cB]bb#
    لطفأ راهنمایی بفرمایید
    با تشکر

    کافیه فقط مقادیر بین علایم "" رو به تابع بدین که تبدیل شده کد شما به صورت زیر است
    Credit 27059 IRR. WOW 0 IRR. 5 barabar hadiye ba har sharje balg‚ rqj.cngñ*n
    البته اطلاعات درستی گرفته نشده که برای گرفتن اطلاعات درست باید بادریت ارتباط سریال به ماژول رو کمتر کنید
    برای تبدیل از سایت زیر دیدن کنید
    http://smstools3.kekekasvi.com/topic.php?id=288
    ویرایش توسط mhdkhlgh : 01-19-2019 در ساعت 08:07 PM

  9. #9
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    بنده هرکاری میکنم نمیتونم پیام های ارسالی از این ماژول به درستی دریافت کنم البته وقتی بدون ادرینو با تبدیل ب pcوصل میشه دقیق و مرتب کار میکند ایا شما علت میدونید
    بادریت سریال ماژول رو کمتر کنید و از اتصال محکم سیم ها یا بردبورد به پایه های ماژول اطمینان حاصل کنید

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

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

SEO by vBSEO