عدم اتصال به سرور http در ماژول mc60 و ارور 3810(http url error)

سلام وقت بخیر . بنده می خوام توسط ماژول mc60 و با پروتکل http به سرور وصل نمیشه و بعد از کامند AT+QHTTPURL=79,30 و در یافت پاسخ CONNECT وقتی URL رو با //:http وارد می کنم خطای http url error رو دریافت می کنم لطفا کمک کنید با تشکر

سلام
برای پاسخ دادن به سوالتون نیاز هست که دستوراتی که ارسال میکنید رو به صورت کامل بفرسید
مخصوصا خود url که ارسال میکنید و دستورات قبل و بعدش رو

بنده با کمک آردوینو و کد زیر کامند های مربوط به mc60 رو وارد می کنم . کد آردوینو:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(8,9); // RX, TX

void setup() {
  // put your setup code here, to run once:
  Serial.begin(2400);
  mySerial.begin(115200);
  //pinMode(13, OUTPUT);
  while (!mySerial.available()) {
  mySerial.println("AT");
  delay(1000);
  Serial.println("connecting....");
  }
  Serial.println("Connected.");
}
void loop() {
  // To adding every At commands use this paragraph
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

در زیر هم کامند های به کاربرده رو براتون می فرستم:

AT+QIFGCNT=0
OK
AT+QICSGP=1,"mcinet" 
OK
AT+QIREGAPP="mcinet" 
OK
AT+QIACT 
OK
AT+QHTTPURL=38,30 
CONNECT
http://test.micronik.ir/gprs/index.php
error : http url error

البته به غیر از این url های دیگه ای رو هم تست کردم ، سیم کارت رو تعویض کردم ولی باز این ارور رو میده

دستورات شما مورد خاصی نداره
همچنین پارامتر ها هم به درستی ست شده
پیشنهاد میشه یکبار بدون آردوینو و مستقیم هم تست کنید و چک کنید که مشکل پا برجاست یا نه
پیشنهاد میشه از مبدل سریال با تراشه cp2102 استفاده کنید
و یا اگر فقط آردوینو دارید به جای این کد ، پین های سریال ماژول رو مستقیم به پایه های 0 و 1 آردوینو وصل کنید و دکمه ریست آردوینو رو نگه دارید با یه گیره یا وسیله مشابه ، تا میکرو از مدار خارج بشه و صرفا از مبدل سریال برد آردوینو استفاده کنید
بهتره از نمونه های آردوینو که مبدل سریالشون با کیفیت هست استفاده کنید (از مدل هایی که CH340 داره استفاده نکنید)

1 پسندیده

سلام من این رو تست کردم و وصل شدم.
دستوراتی که فرستادم:

AT+QIFGCNT=0
AT+QIFGCNT=0<CR>
OK
AT+QICSGP=1,"mcinet"
AT+QICSGP=1,"mcinet"<CR>
OK
AT+QIREGAPP="mcinet"
AT+QIREGAPP="mcinet"<CR>
OK
AT+QIACT
AT+QIACT<CR>
OK
AT+QHTTPURL=38,30
AT+QHTTPURL=38,30<CR>
CONNECT
http://test.micronik.ir/gprs/index.php

OK

از mc60 استفاده کردم.
وبعد از روشن کردم ماژول و حدودا 10 ثانیه صبر کردم تا ماژول دستورات اولیه که بعد از روشن شدن میفرسته رو کامل بفرسته بعد دستوراتی که بالا گذاشتم رو ارسال کردم.

سلام خدمت شما
خیلی ممنون از راهنماییتون بنده با یک رابط ttl تست کردم و وصل شد بعدش آردوینو رو تغییر دادم و کار کرد.الان دو تا سوال داشتم.

  1. چرا در آردوینو اونو کار نکرد و در آردوینو لئوناردو کار کرد؟ آیا احتمال داره پاسخی که از سمت ماژول میاد طولانی هست و میکرو آردینو اونو قادر به خوندن اون نیست ولی میکرو لئوناردو این قابلیت رو داره؟چون با همین اونو sim800 کار می کنه.
    2.من هم در اونو و هم در لئوناردو یک مشکل دارم اونم اینکه در پنجره serial manitor وقتی کامند ها رو تایپ می کنم در هنگام نمایش کامند و پاسخ کامند ها کاراکتر های عجیب نا مفهوم خیلی زیادی میاره که براتون در ادامه می فرستم.
    اینترنت هم زیاد گشتم مواردی که بود و عمل کردم :
    .تنطیم باورد ریت مناسب و ترجیحا یکسان با باودریت اتصال uart
    .قرار دادن تقسیم مقاومتی در بین پایه TX و RX آردوینو و ماژول
    اینم از متن های پنجره سریال مانیتور:
ERROR
`t+qhttpurl=45,300
CONNECT  
+CN� ERROR: htvp url error  2
ERROR
at+qhttpurl=44,300
CONOECT

+CME ERSOR: http urn error
qhttpurl=45,300
ERROQ
at+qhttpurl=45,300
CONNECT
  
+CME D�ROR: http ]. *�ɽ�5�

من به صورت کلی دو نکته که مهم میتونه دخیل باشه رو نام میبرم

1- شما وقتی دارید از آردوینو استفاده میکنید ، در حقیقت دارید از atmega328 استفاده میکنید(معمولا). و سطح ولتاژ IO های این میکرو و همچنین پین های سریال 5 ولت هست. در صورتی که سطح ولتاژ IO های ماژول MC60 و دیگر ماژول های مشابه 2.8 ولت هست. در حقیقت اصلا نباید اطلاعات رد و بدل بشه اما میشه و خب ممکنه بعضی جاها به مشکل بخوره

2- شما از Software Serial استفاده کردید. خود Software Serial محدودیت هایی داره مخصوصا در باودریت های بالا که باعث میشه بعضا کاراکتر ها اشتباه ارسال و دریافت بشند. اول که پیشنهاد میشه تا جایی که ممکنه از Software Serial استفاده نکنید و اگر هم استفاده کردید باودریت رو بالاتر 9600 نبرید

حالا شما مثلا توی اینترنت استفاده از تقسیم مقاومتی رو پیدا کردید که برای بر طرف کردن مشکل اول هست . اما این کار اصلا اصولی نیست و پیشنهاد میشه که برای اینکار از level shifter استفاده کنید

پینشنهاد میشه یه نگاهی به این آموزش بندازید چون مباحث مرتبط با این مشکل رو توضیح داده

3 پسندیده

خیلی ممنون :pray: :pray: :pray: :rose: :rose: :rose:

1 پسندیده

من لول شیفتر رو تست کردم دقیقا همون مداری که در آموزش بود رو بستم باود ریت software serial رو هم رو 9600 تنظیم کردم ولی باز همچنان اون کاراکتر های نا مفهوم هستند.

یه عکس از سخت افزارت بزار
مخصوصا نحوه سیم کشی ها
از نوع تغذیه و سیم کشی اون هم عکس بزار
تغذیه اگر اطلاعات داره عکس اون رو هم بزار