سیم کارت GSM - GPRS

راه اندازی و کار با ماژول SIM800L بخش ششم: آپلود و دانلود فایل در اینترنت

نوشته شده توسط معین صابری

در مجموعه آموزش راه اندازی و کار با ماژول SIM800L، این بار به بررسی قابلیت آپلود و دانلود فایل در این ماژول یا به عبارتی انتقال فایل ftp با سیم کارت می پردازیم. همانطور که در قسمت های پیشین بیان شد، این ماژول دقیقا مثل یک تلفن همراه عمل کرده و می تواند به برقراری تماس تلفنی، ارسال و دریافت و پیامک و همچنین اتصال به اینترنت بپردازد. در بخش های پیشین به بررسی و راه اندازی قابلیت های متفاوت ماژول پرداختیم. در قسمت سوم آموزش، به بررسی برقراری تماس صوتی دو طرفه تلفنی، پرداختیم. در ادامه، در بخش چهارم این آموزش، به ارسال و دریافت پیامک نیز پرداختیم. در بخش پنجم نیز کلیات اتصال به اینترنت را بررسی کردیم ودر این آموزش قصد داریم تا به آپلود و دانلود فایل در بستر اینترنت، به کمک قابلیت FTP ماژول SIM800L، بپردازیم.

 


معرفی پروتکل انتقال فایل FTP


پروتکل انتقال فایل FTP، در دهه ۷۰ میلادی ایجاد و مورد توسعه قرار گرفت. در ابتدا، این پروتکل مسئول انتقال فایل بین مراکز نظامی و دانشگاهی ایالات متحده آمریکا، تحت شبکه ای داخلی موسوم به آرپانت بود. به کمک پروتکل FTP که مخفف عبارت File Transport Protocol است، می توان از راه دور به یک سرور متصل شد. با اتصال به سرور و تحت پروتکل FTP می توان به مدیریت سیستم فایل پرداخت. در زیر، برخی از قابلیت های این پروتکل را مشاهده می نمایید.

آپلود فایل

دانلود فایل

ایجاد دایرکتوری(فولدر)

پاک کردن فایل

پاک کردن دایرکتوری

جستجو فایل

تغییر نام فایل و یا دایرکتوری

شناخت پروتکل FTP در سرور - دیجی اسپارک

پروتکل FTP، دارای یکسری دستورات از پیش تعیین شده است. به عنوان مثال، به کمک دستور connect می توانیم به سرور متصل شویم. به کمک دستور close می توانیم ارتباط FTP را ببندیم. همچنین به کمک دستور mkdir می توانید یک دایرکتوری بسازید. در زیر، خلاصه ای از مهم ترین دستورات FTP را با هم مشاهده می نماییم.

شناخت دستورات FTP - دیجی اسپارک

ماژول SIM800L، قابلیت برقراری ارتباط  FTP را داراست. همانطور که در آموزش های پیشین نیز بیان شد، این ماژول دارای یک سری دستورات از پیش تعریف شده به نام AT-Command است. به کمک این فرامین می توان قابلیت های مختلف ماژول نظیر تماس، پیامک و اینترنت را استفاده نمود. به منظور برقراری ارتباط FTP نیز، این ماژول دارای دستورات AT است. در این آموزش به بررسی این دستورات پرداخته و به آپلود و دانلود فایل از سرور، خواهیم پرداخت.

ماژول سیم کارت Sim800L و انتقال فایل ftp - دیجی اسپارک

 


دستورات FTP ماژول SIM800L


در این قسمت، به بررسی دستورات AT ماژول SIM800L جهت آپلود و دانلود فایل یا همان انتقال فایل ftp، می پردازیم. به کمک این دستورات می توانید فایل ایجاد کنید، فایل دانلود کنید، دایرکتوری ایجاد کنید و به طور کلی، کلیه فرامین مدیریت فایل را می توانید به اجرا درآورید. مهم ترین دستورات FTP که در حقیقت دستورات پایه ای جهت آپلود و یا دانلود فایل هستند را در جدول زیر مشاهده می نمایید.

همانطور که اطلاع دارید، پس از ثبت هاست و دامین، از طرف شرکت ارائه دهنده خدمات ابری، یک نام کاربری و کلمه عبور دریافت خواهید نمود. از این نام کاربری و کلمه عبور می بایست در فرامین AT جهت اتصال به سرور استفاده نمایید.

 


آپلود فایل روی سرور با ماژول SIM800L


در این قسمت به نحوه آپلود فایل بر روی سرور می پردازیم. همانطور که پیشتر بیان شد، جهت برقراری ارتباط انتقال فایل ftp، حتما می بایست نام کاربری و رمز عبور هاست خود را در اختیار داشته باشید. فرض کنید نام سرور شما example.com، نام کاربری user و رمز عبور pass باشد. بنابراین، جهت برقراری ارتباط اینترنتی، ابتدا به کمک دستور AT+FTPSERV، به شکل زیر می بایست نام سرور را تنظیم نمایید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

مراحل آپلود فایل در زیر مشاهده می شود.

مراحل آپلود و انتقال فایل ftp به سرور با اینترنت سیم کارت Sim800L - دیجی اسپارک

 


دانلود فایل از سرور با ماژول SIM800L


در این قسمت، به بررسی نحوه دانلود فایل از سرور می پردازیم. ذکر این مورد ضروری است که تنظیمات نام سرور، نام کاربری و.. در حافظه ماژول باقی مانده و نیازی به تنظیم مجدد آن نیست. البته با قطع تغذیه ماژول، این تنظیمات پاک خواهند شد. در این قسمت، از آنجاییکه قصد دانلود فایل را داریم، می بایست مسیر و نام فایل در سرور را مشخص نماییم.  در این قسمت قصد داریم فایلی که در مرحله قبل آپلود نمودیم را دانلود نماییم. به همین منظور، می بایست مسیر فایل و نام فابل را تنطیم نماییم. جهت تنظیم مسیر فایل، به صورت زیر عمل می نماییم.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

دانلود فایل یا انتقال فایل ftp با Sim800L - دیجی اسپارک

 


وسایل مورد نیاز


ماژول SIM800L

باتری 

مبدل کاهنده ولتاژ LM2596(در صورت تغذیه از طریق آداپتور )

مبدل سریال به USB

 


جمع بندی


در این آموزش، که قسمت ششم مجموعه آموزش های ماژول SIM800L به شمار می رود، به بررسی نحوه برقراری ارتباط FTP به کمک ماژول SIM800L پرداختیم. پروتکل FTP، یک پروتکل از راه دور جهت ارسال و دریافت فایل به سرور است. به کمک این پروتکل می توان از راه دور، از سرور مورد نظر فایل دانلود کرد. بر روی سرور مورد نظر فایل آپلود کرد و همچنین می توان به مدیریت فایل و سازمان دهی آن پرداخت. ماژول SIM800L قادر است علاوه بر تماس و پیامک، به اینترنت متصل شده و به کمک فرامین از پیش تعیین شده، ارتباط FTP را فراهم سازد.

 


دیگر آموزش‌های راه اندازی Sim800L


راه اندازی و کار با ماژول سیم کارت SIM800L بخش اول: معرفی

راه اندازی و کار با ماژول سیم کارت SIM800L بخش دوم: تغذیه

راه اندازی و کار با ماژول سیم کارت SIM800L بخش سوم: تماس تلفنی

راه اندازی و کار با ماژول SIM800L بخش چهارم: ارسال و دریافت پیامک

راه اندازی و کار با ماژول SIM800L بخش پنجم: اینترنت GPRS سیم کارت

راه اندازی و کار با ماژول SIM800L بخش هفتم: ارتباط TCP با سرور

راه اندازی و کار با ماژول SIM800L بخش هشتم: ارسال و دریافت ایمیل

راه اندازی و کار با ماژول SIM800L، بخش نهم: کنترل و کاهش توان مصرفی

راه اندازی و کار با ماژول SIM800L: بخش دهم فعال سازی DTMF

راه اندازی و کار با ماژول SIM800L بخش یازدهم: دستورات و امکانات جانبی

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مراحل اجرایی وجود داشته و یا با رعایت نکات فوق، همچنان قادر به ارسال و دریافت پیامک نیستید، می‌توانید از همین طریق اطلاع رسانی کنید.

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۱ دیدگاه

  • سلام
    ماژول من هفت یا هشت بار چشمک میزنه که متوجه شدم مربوط به عدم اتصاله و برقراری ارتباطه و یا اتصال کوتاهه
    من مطمینم تغذیه رو درست زدم و از VCC به ۵ ولت و ۳٫۳ ولت وصل کردم اما همچنان مشکل پاربرجاست
    لطفا راهنمایی کنید.

    • سلام
      اتصال ۵ ولت سبب اسیب دیدن ماژول خواهد شد. ضمن اینکه این ماژول ۳٫۳ راه اندازی نمی شود. حداقل ولتاژ ۳٫۴ بوده و ولتاژ مناسب، ۴٫۲ است.

  • با سلام
    سرعت اینترنت در این ماژو ل تقریبی چقدر است؟ آیا برای باز شدن یک وب سایت ساده مناسب است/؟
    ممنونم پاسخ دهید.

  • سلام مهندس میشه با استفاده از برد node mcu بدون استفاده از ماژول سیم‌کارت اپلود و دانلود فایل را برروی اینترنت انجام داد ؟

    • سلام
      بله امکان پذیر هست. برای این مورد کتابخانه هست. می توانید در گیت هاب سرچ کنید و به آن دسترسی پیدا کنید.

  • سلام. من همه مراحل را به درستی انجام می‌دهم و اطلاعات FTP را هم به درستی وارد کرده ام. ولی در پاسخ AT+FTPPUT=1 و پس از OK با پیغام
    +FTPPUT: 1, 77
    مواجه می‌شوم. (operation error)
    به نظرتان مشکل از کجاست؟

    AT+SAPBR=1,1
    AT+FTPSERV=”ftp.mywebsite.ir”
    AT+FTPUN=”myusername”
    AT+FTPPW=”mypass”
    AT+FTPPUTPATH=”/”
    AT+FTPPUTNAME=”test.txt”
    AT+FTPPUT=1

    • سلام
      نام کاربری و رمز عبور را بار دیگر چک کنید. در قسمت نام سرور، عبارت ftp. را حذف کرده و مورد را تست کنیدو نتیجه را در کامنت بعدی اعلام نمایید.

      • سلام مجدد. نام کاربری و کلمه عبور درست بود. خیلی باهاش ور رفتم و مشکل به این صورت حل شد:
        ۱. AT+FTPPUTPATH را نمیتوان برابر / قرار داد. حتی نمیتوان نشانی را با / شروع کرد. مثلا اگر میخواهیم داخل فولدری به نام folder محتوی را آپلود کنیم باید نشانی را برابر folder و پس از نام فولدر یک / قرار دهیم.
        ۲. اگر عبارتی در انتهای نشانی قرار دهیم آنرا به ابتدای نام فایل اضافه میکند.
        ۳. برای آپلود کردن در root تنها راهی که توانستم انجام دهم این بود که عبارتی داخل مسیر قرار دهم تا آنرا در ابتدای نام فایل اضافه کند و فایل را مستقیما در root بنویسد.
        موارد فوق را برای استفاده سایرین نوشتم. اگر راه دیگری برای آپلود در root سراغ دارید لطفا اضافه بفرمایید. سپاس

        • از اینکه تجربیات خود را در اختیار دیگران قرار می دهید بی نهایت سپاسگزارم.
          برای آپلود در روت، اگر سرور شما پوشه htdocs داشته باشد، پوشه root همین پوشه است. برای قرار گیری فایل در این پوشه در دستور FTPPUTPATH باید به شکل زیر عمل کنید:
          AT+FTPPUTPATH=”/htdocs/”
          این مورد را تست کنید و در کامنت بعدی نتیجه را لطفا اعلام نمایید.
          متشکرم

          • سپاس از شما جناب صابری عزیز.
            خیر پوشه‌ای که شما می‌فرمایید احتمالا مربوط به سرورهای لینوکسی است. من از سرور ویندوزی با وب سرور IIS استفاده میکنم که پوشه روت وب‌سایت wwwroot است.
            مشکلی برای آپلود داخل پوشه‌ها ندارم. تنها نکته این است که اگر ابتدای FTPPUTPATH اسلش قرار دهم و آدرس را با / شروع کنم خطا میگیرد ولی با حذف آن درست می‌شود. شاید با ویندوز اینگونه عمل می‌کند.
            ولی سوالم بیشتر این بود که اگر بخواهم در ریشه FTP یا پوشه‌ای که مستقیم FTP به آن وصل می‌شود. (یک یا دو پوشه بالاتر از wwwroot) بخواهیم فایل آپلود کنیم تنها راهش همین بود که در کامنت قبلی‌ام توضیح دادم و بدون آن شیوه نمی‌توان که البته باز هم کار راه انداز است ولی بیشتر به یک باگ می‌ماند.
            سپاس از شما

            • خواهش میکنم
              بله سرور من لینوکسی بود. من تا به حال روی ویندوز تست نکردم. از اینکه اطلاعات خود را با دیگران نیز به اشتراک گذاشتید، صمیمانه سپاسگزارم.

  • سلام
    سرور رایگان برای تست اف تی پی سراغ دارین ؟ میخوام اگه تونستم از بردم جواب بگیرم و مناسب بود برای هاست هزینه کنم

  • سلام و درود
    امکانش هست آموزش ارسال بر روی FTP با رزبری پای رو هم بذارید…
    من هرچی گشتم توی نت چیزی پیدا نکردم.

  • سلام. ممنون از سایت پربار شما
    به منظور دانلود فایل هگزی که شامل کد بوت مربوط به یه میکروکنترلر هست، تا در زمان لازم، در میکرو پروگرم شود، می توان از همین پروتکل FTP استفاده کرد ؟

  • سلام
    ممنون از سایت پربار شما
    من برای دانلود فایل بعد از کامنت AT+FTPGET=1، جواب +FTPGET: 1,64 به مفهوم خطای timeout دریافت میکنم. میشه راهنمایی بفرمائید مشکل از کجاست؟

    • با سلام موارد زیر را بررسی کنید.
      ضعف ارتباط: اطمینان حاصل کنید که شما به درستی به شبکه GSM متصل هستید. سطح سیگنال شبکه را بررسی کنید. اگر سیگنال ضعیف باشد، ممکن است این مشکل را ایجاد کند.
      پارامترهای اتصال: اطمینان حاصل کنید که پارامترهای اتصال FTP شما (مثل IP آدرس، پورت، نام کاربری، رمز عبور) صحیح و مطابق با سرور FTP شما هستند.
      تنظیمات Timeout: از طریق دستور AT+FTPTO می‌توانید timeout مربوط به FTP را تنظیم کنید. اطمینان حاصل کنید که timeout تنظیم شده مناسب است.
      رفع خطاها: با دستور AT+CMEE=2 می‌توانید نمایش خطاها را فعال کنید تا اطلاعات بیشتری در مورد خطا دریافت کنید.

      • سلام مجدد
        ممنون از راهنمایی
        بمنظور تعیین پارامترهای اتصال FTP، بنده در سروری که تهیه کرده ام(هاست سی پنل آلمان)، از طریق چنین مسیری ، تنظیمات را انجام داده ام. نمیدانم مسیر را صحیح رفته ام یا خیر
        بدین صورت:
        در پنل کاربری، گزینه Addon Domain، در قسمت File، گزینه FTP Accounts، در صفحه مورد نظر، یوزر و پسوورد خود را تعریف کرده ام. همچنین قبل از آن، به پشتیبان سرور، تیکت زدم تا با استفاده از IP سیستمم،(خود بنده برایشان فرستاده بودم)، اتصال FTP را آزاد کنند.
        آیا تنظیمات دیگری هم نیاز هست؟

      • سلام
        وقت بخیر
        امکان اینکه یه جلسه آموزشی برای راه اندازی FTP ، بصورت خصوصی برای بنده فراهم بشه هست؟ تا من سوالات و اشکالاتم را نیز از خدمتتون بپرسم.
        حق الزحمه جلسه خصوصی نیز، تقدیم می شود.

  • سلام
    ببخشید من یه سوال داشتم : اول اینکه یه ماژول و متصل به sim868(میکروکنترلر ندارم)!
    هدفی که دارم اینکه gps ام رو (lat , lon) به صورت یک فایل در اکانت مگای(MEGA) خودم ذخیره کنم(با استفاده از کاری که شما انجام می دید یعنی request) که با برنامه پایتون و api بتونم دریافت کنم این اطلاعات رو !
    من مشکلم اینکه نمی دونم دقیقا باید توی بخش کامند AT+FTPSERV رو چی بزنم؟؟
    ممنون می شم کمکم کنید!