راه اندازی ماژول SIM800 قسمت 17 – ارسال دیتا به سرور با TCP/IP

ارسال دیتا به سرور با استفاده از ماژول SIM800 و پروتکل TCP

سلام خدمت همه شما مایکروالکامی ها. در مطالب قبلی از سری آموزش های ماژول SIM800 به بررسی کامل و نحوه ارسال دیتا به سرور با استفاده از SIM800 پرداخته شد. در این قسمت به بررسی عملکرد این مورد و ارسال دیتا به سرور از طریق پروتکل TCP با استفاده از ماژول های SIM800 پرداخته خواهد شد. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتویند سایر مطالب من رو از این لینک مطالعه و بررسی کنید.


پروتکل TCP / IP در ماژول SIM800

مهمترین پروتکل ارتباطی در بستر اینترنت را می‌توان TCP/IP دانست. TCP/IP مخفف شده Transmission Control Protocol / Internet Protocol می‌باشد. از مزایایی که پروتکل TCP دارد می‌توان به مواردی مانند امنیت بالا و توسعه پذیری بالا اشاره نمود. وظایف و کار هایی که بر عهده پروتکل TCP/IP گذاشته شده است را بین 4 لایه شبکه تقسیم کردنه اند. در این بین هر لایه علاوه بر مستقل بودن خود باید علاوه بر انجام وظیفه کار خود، با لایه های دیگر نیز بدرستی ارتباط برقرا نماید.

بستر ارتباطی پروتکل TCP
بستر ارتباطی پروتکل TCP

لایه های پروتکل ارتباطی TCP/IP شامل موارد زیر می‌باشد.

  1. لایه شبکه یا Network Interface
  2. لایه اینترنت یا  Internet Layer
  3. لایه انتقال یا Transport Layer
  4. لایه کاربر یا Application Layer

قطعات مورد نیاز


برقرای ارتباط و آماده سازی ارتباط TCP

در ابتدا نیاز است که اینترنت ماژول SIM800 را فعال کنیم. در این مطلب بطور مفصل نحوه وصل کردن اینترنت ماژول SIM800 بررسی شده است. با استفاده از دستورات زیر اینترنت ماژول را متصل می‌کنیم.

AT+SAPBR=3,1,"Contype","GPRS"
OK

AT+SAPBR=3,1,"APN","mcinet"
OK

AT+SAPBR=1,1
OK

اطمینان از اتصال صحیح GPRS ماژول SIM800

پس از ارسال دستورات فوق، چراغ NET ماژول شروع به چشمک زدن سریع می‌کند. برای اطمینان از اینکه اینترنت ماژول متصل شده باشد، از دستور زیر استفاده می‌کنیم. در صورت دریافت IP یعنی اتصال موفقیت آمیز بوده است.

AT+SAPBR=2,1
+SAPBR: 1,1,"102.116.104.84"
OK

اتصال به سرور TCP توسط ماژول SIM800

با استفاده از دستور زیر، به سرور TCP با IP مشخص و شماره پورت آن متصل خواهیم شد. در صورتیکه اتصال موفقیت آمیز باشد، عبارت CONNECT OK را دریافت خواهیم کرد. دقت شود در بخش اول نوع ارتباط را TCP مشخص شده است. در بخش دوم IP سرور را حتما بدون https وارد نمایید. در بخش سوم نیز شماره پورت سرور مورد نظر را وارد نمایید.

AT+CIPSTART="TCP","Server IP","Port"

OK

CONNECT OK

در تصویر زیر همانطور که مشاهده می‌شود، اتصال به سرور از طریق SIM800 موفقیت آمیز بوده است.

اتصال به سرور TCP (استفاده از Node-Red) جهت ارسال دیتا از SIM800
اتصال به سرور TCP (استفاده از Node-Red) جهت ارسال دیتا از SIM800

ارسال دیتا به سرور از طریق TCP و ماژول SIM800

بعد از اتصال موفقیت آمیز بودن به سرور، با استفاده از دستور زیر شروع به ارسال دیتا مد نظر خود به سرور خواهیم کرد.

نکته: بعد از ارسال دستور زیر و دریافت کاراکتر “<“، به یاد داشته باشید باید بلافاصله دیتا مورد نظر خود را ارسال نمایید. فراموش نشود که حتما باید Control+Z نیز به ماژول ارسال شود.

AT+CIPSEND

>

ارسال دیتا

در صورتیکه ارسال دیتا موفقیت آمیز باشد، در نهایت با عبارت SEND OK مواجه خواهیم شد.

پس از گذشت چند ثانیه نیز با عبارت “CLOSED” مواجه خواهیم شد و یعنی دیگر مسیر ارسال دیتا بسته شد. تصویر زیر بیانگر دریافت صحیح و کامل دیتا ارسالی از طریق ماژول SIM800 می‌باشد. در صورت تمایل به ارسال دیتا دیگر، باید مجددا دستور AT+CIPSEND ارسال شود.

AT+CIPSEND

> blog.microele.com
SEND OK

CLOSED
دریافت دیتا در سرور از طریق TCP و ماژول SIM800
دریافت دیتا در سرور از طریق TCP و ماژول SIM800

قطع اتصال و ارتباط

برای قطع ارتباط با سرور از دستورات زیر استفاده می‌شود. در صورتیکه بعد از ارسال دستورات زیر، قصد داشتید که مجددا دیتا ارسال شود باید مراحل مجددا طبق توضیحات از ابتدا تکرار شود.

AT+CIPSHUT
SHUT OK

AT+CIPSHUT
SHUT OK

نتیجه گیری

در این مطلب بطور دقیق روش نحوه ارسال دیتا به سرور از طریق بستر ارتباطی و پروتکل ارتباطی TPC / IP مورد بررسی قرار گرفت. در قسمت های بعدی این سری آموزش نحوه ارسال دیتا از طریق HTTP که خود مبتنی بر TCP است مورد بررسی قرار خواهد گرفت.

امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.

۱۲ دیدگاه برای “راه اندازی ماژول SIM800 قسمت 17 – ارسال دیتا به سرور با TCP/IP

  1. سلام. من یک ارایه از بایت ها با طول ۵۱۶ رو از طریق tcp به سرور طبق مثال فوق ارسال میکنم اما در جواب at+cipsend پاسخ send ok را دریافت نمیکنم.دیتا را پس از دریافت < میفرستم

          1. با مبدل usb to ttl بصورت مستقیم دستورات را ارسال کردم و پیغام send ok را دریافت کردم اما با میکروکنترلر نمیشه.در ضمن فریمور مازول ا اپدیت کردم ام مشکل حل نشد

    1. سلام، اول بررسی کنید بعد از اتصال به GPRS آیپی اختصاص داده شده را دریافت کردید یا خیر.
      اگر بله، مشکل عدم اتصال به سرور میتونه از سمت سرور باشه. یا آیپی را اشتباه وارد می‌کنید یا پورت رو یا https قرار دادید ابتدای آدرس ایپی که نباید بگذارید.
      احتمال هم داره مشکل سرور باشه و هیچ ریکوئستی رو پاسخ نده که باید این رو هم بررسی کنید جداگانه.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.