در این اموزش میخواهیم به کمک ماژول SIM900 یا 908 دیتایی را به یک سرور مشخص به روش FTP ارسال کنیم. قبل از شروع باید گفت دلیل این کار نبودن یک مرجع مطمئن در این انجمن و شاید در کل فروم های فارسی هست . البته آموزش هایی وجود داشت اما اکثرا" یا ناقص بودند یا مطلب به خوبی انتقال داده نشده بود. به هر حال من سعی دارم با توضیح کامل و با نشان دادن مثال عملی در این مورد کمک کرده باشم تا بقیه دوستان و بخصوص کسانی که مثل من در مورد سرور و کلا" برنامه نویسی وب اطلاعاتی ندارند، زیاد وقتشون رو روی این موضوع تلف نکنند. امیدوارم مفید باشه
برای شروع فرض رو بر این میگیریم که شما کار کردن با SIM900 رو بلد هستین و میتونید دستورات را به ماژول ارسال و از طریق کامپیوتر و برنامه هایپرترمینال و یا هر برنامه پورت سریال دیگه دریافت کنید و الان قصد دارید وارد بخش GPRS بشید . اگر در ا مورد ارتباط و atcommand ها مشکلی دارید در همین انجمن آموزش های بسیار خوبی وجود داره . برای ارتباط با میکرو هم اصولش تفاوتی نمیکنه با همون روشی که SMS ارسال میکنید دستورات رو به ماژول میفرستید و دریافت میکنید
قبل از اینکه بخواهیم دیتایی رو ارسال کنیم باید ابتدا یک هاست داشته باشیم که بتونیم دیتا رو توی اون فضا ذخیره کنیم . اینکه هاست چی هست رو از گوگل بپرسید ولی بطور خلاصه هاست به معنی میزبان، سروری هست که یک میزان حافظه در اختیار ما قرار میده.برای این کار سرورهای مجانی زیادی وجود داره که میتونید استفاده کنید و درنهایت شما به سه چیز احتیاج دارید که در قسمت کنترل پنل اکانتتون قابل دسترسی هست :
1- FTP SERVER
2- FTP USER NAME
3- FTP PASSWORD
همونطور که گفتم از هرکدوم از این سرورهای مجانی میتونید برای اینکار استفاده کنید اما چون من از سرور GIGFA استفاده کردم برای اینکه اشکالی پیش نیاد شما هم از همین استفاده کنید و یک هاست در اختیار بگیرید. آموزش ساخت اکانت این سرور هم توی این سایت داده شده :
http://www.sampadia.com/forum/index.php?topic=107311.0
بخش اول:
در ابتدا باید از فعال بودن GPRS روی سیمکارتتون مطمئن بشید که البته فکر کنم برای همه سیمکارتها بصورت پیش فرض فعال هست . سیم کارت مورد استفاده در این آموزش ایرانسل هست برای اپراتور های دیگه باید پارامترهای همون اپراتور رو وارد کنید
بعد از ارسال دستور AT و اطمینان از برقراری ارتباط دستورات زیر را ارسال میکنیم . این دستورات برای ورود به شبکه GPRS و گرفتن IP است
خب الان ما به عنوان یک کلاینت دارای یک IP هستیم و میتونیم کار رو ادامه بدیم
بخش دوم:
دستورات بعدی بدین ترتیب هستند:
معرفی سرور:
معرفی اکانت (USER NAMEE )
وارد کردن پسورد :
تعیین یک نام برای فایل با پسوند TXT :
دستور روبرو آدرس دهی محلی از حافظه سرورgigfa هست که قرار هست فایل بالا در ان ایجاد شود.
صبر مینیم تا پاسخ روبرو دریافت شود. عدد1300 ماگزیمم کارکترهای قابل ارسال هست
با ارسال دستور روبرو اعلام میکنید که قصد ارسال 5 کارکتر را داریم
بعد از ارسال ، ماژول پاسخ ر.وبرو را ارسال میکند :
در این زمان ماژول برای مدت زمان معینی منتظر دریافت 5 کاراکترا باقی میماند به محض دریافت 5 کاراکتر OK دریافت میشود. ( نکته: در هایپرترمینال این کاراکتر ها نمایش داده نمیشوند)
بعد از دریافت OK دوباره +FTPPUT:1,1,1300 دریافت میشود و میتوان دوباره دستور AT+FTPPUT=2,x را تکرار و کاراکتر های دیگری با سایز های مورد نظر ارسال کرد مطابق دستور روبرو :
در دستور بالا 12 کارکتر ارسال شد
در صورتی که بخواهیم ارتباط را پایان بدیم بعد از دریافت +FTPPUT:1,1,1300 از دستور زیر استفاده میکنیم
حالا از طریق مرورگر خود وارد کنترل پنل خودتون بشید و در مسیر htdocs فایل مورد نظر رو پیدا کنید روی اون کلیک کنید تا دانلود بشه و باز کنید عبارت ارسالی قابل مشاهده است .
بخش سوم
لبست خطاها:
در صورتی که بعد از دستورات AT+FTPPUT t و یا AT+FTPGET پاسخ های روبرو ارسال شود خطا اتفاق افتاده و باید ارتباط بررسی شود
عکس:

دریافت فایل به روش FTP
بیشتر دستورات مطابق قبل هستند بنابراین از توضیح آنها خودداری میشود
نکته :در زمان اتصال ماژول به سرور نباید از طریق مرورگر LOGIN شده باشید چون باعث بروز خطا میشود
نکته :دقت شود در این حالت پسوند فایل را نباید وارد کنیم
با ارسال دستور روبرو دیتا دریافت میشود.
در این زمان دیتا دریافت شده و با این دستور نمایش داده میشود
در صورتی که در زمان کمتر از 5 ثانیه با دستور AT+FTPGET=2,1024 بالا کاراکترها خوانده نشود دوباره URC +FTPGET:1,1 دریافت میشود و این پاسخ ها 3 بار دیگر با فواصل 15 ثانیه ای تکرار میشود و در نهایت اگر دستور خواندن دیتا ارسال نشود URC +FTPGET:1,64 به منزله تایم اوت دریافت میشود
دستور AT+FTPGET=2,1024 حداکثر کاراکتر موجود در فایل txt آدرس داده شده را میخواند برای خواند تعداد مشخصی از کاراکتر ها بجای 1024 ، تعداد لازم قرار داده میشود :
مطابق روبرو
برای دریافت کاراکتر های بعدی دوباره دستور AT+FTPGET=2,7 ارسال میشود :
در آخر بعد از مدتی با URC +FTPGET=1,0 ارتباط قطع میشود . در این صورت باید توجه داشت که هنوز ارتباط GPRS برقرار است و IP گرفته شده معتبر می باسد و برای دریافت فایل از سرور نباید از ابتدا شروع کرد و میتوان از دستور AT+FTPCID =1 دستورات را ادامه داد
و در پایان با دستور AT+SAPBR=0,1 میتوان ارتباط GPRS خود را خاتمه داد
برای شروع فرض رو بر این میگیریم که شما کار کردن با SIM900 رو بلد هستین و میتونید دستورات را به ماژول ارسال و از طریق کامپیوتر و برنامه هایپرترمینال و یا هر برنامه پورت سریال دیگه دریافت کنید و الان قصد دارید وارد بخش GPRS بشید . اگر در ا مورد ارتباط و atcommand ها مشکلی دارید در همین انجمن آموزش های بسیار خوبی وجود داره . برای ارتباط با میکرو هم اصولش تفاوتی نمیکنه با همون روشی که SMS ارسال میکنید دستورات رو به ماژول میفرستید و دریافت میکنید
قبل از اینکه بخواهیم دیتایی رو ارسال کنیم باید ابتدا یک هاست داشته باشیم که بتونیم دیتا رو توی اون فضا ذخیره کنیم . اینکه هاست چی هست رو از گوگل بپرسید ولی بطور خلاصه هاست به معنی میزبان، سروری هست که یک میزان حافظه در اختیار ما قرار میده.برای این کار سرورهای مجانی زیادی وجود داره که میتونید استفاده کنید و درنهایت شما به سه چیز احتیاج دارید که در قسمت کنترل پنل اکانتتون قابل دسترسی هست :
1- FTP SERVER
2- FTP USER NAME
3- FTP PASSWORD
همونطور که گفتم از هرکدوم از این سرورهای مجانی میتونید برای اینکار استفاده کنید اما چون من از سرور GIGFA استفاده کردم برای اینکه اشکالی پیش نیاد شما هم از همین استفاده کنید و یک هاست در اختیار بگیرید. آموزش ساخت اکانت این سرور هم توی این سایت داده شده :
http://www.sampadia.com/forum/index.php?topic=107311.0
بخش اول:
در ابتدا باید از فعال بودن GPRS روی سیمکارتتون مطمئن بشید که البته فکر کنم برای همه سیمکارتها بصورت پیش فرض فعال هست . سیم کارت مورد استفاده در این آموزش ایرانسل هست برای اپراتور های دیگه باید پارامترهای همون اپراتور رو وارد کنید
بعد از ارسال دستور AT و اطمینان از برقراری ارتباط دستورات زیر را ارسال میکنیم . این دستورات برای ورود به شبکه GPRS و گرفتن IP است
کد:
AT+SAPBR=3,1,"APN","mtnirancel" respone: OK AT+SAPBR=1,1 OK AT+SAPBR=2,1 +SAPBR: 1,1,"100.66.170.64" OK
بخش دوم:
دستورات بعدی بدین ترتیب هستند:
کد:
AT+FTPCID=1 OK
کد:
AT+FTPSERV="ftP.gigfa.com" OK
کد:
AT+FTPUN="gigfa_174251283" OK
کد:
AT+FTPPW="235626" OK
کد:
AT+FTPPUTNAME="simon.txt" OK
کد:
AT+FTPPUTPATH="/htdocs/" OK AT+FTPPUT=1 OK
کد:
+FTPPUT:1,1,1300
کد:
AT+FTPPUT=2,5
کد:
+FTPPUT:2,5
کد:
HELLO response: OK
کد:
AT+FTPPUT=2,12 +FTPPUT:2,12 HELLOOOWORLD OK
در صورتی که بخواهیم ارتباط را پایان بدیم بعد از دریافت +FTPPUT:1,1,1300 از دستور زیر استفاده میکنیم
کد:
AT+FTPPUT=2,0 OK +FTPPUT:1,0
بخش سوم
لبست خطاها:
در صورتی که بعد از دستورات AT+FTPPUT t و یا AT+FTPGET پاسخ های روبرو ارسال شود خطا اتفاق افتاده و باید ارتباط بررسی شود
کد:
+FTPGET:1,<error> +FTPPUT:1,<error>

دریافت فایل به روش FTP
بیشتر دستورات مطابق قبل هستند بنابراین از توضیح آنها خودداری میشود
نکته :در زمان اتصال ماژول به سرور نباید از طریق مرورگر LOGIN شده باشید چون باعث بروز خطا میشود
کد:
AT+SAPBR=3,1,"APN","mtnirancel" OK AT+SAPBR=1,1 OK AT+SAPBR=2,1 OK AT+FTPCID=1 OK AT+FTPSERV="ftP.gigfa.com" OK AT+FTPUN="gigfa_174251283" OK AT+FTPPW="235626" OK
کد:
AT+FTPGETNAME="simon" OK AT+FTPGETPATH="/htdocs/" OK
با ارسال دستور روبرو دیتا دریافت میشود.
کد:
AT+FTPGET=1 OK +FTPGET:1,1
کد:
AT+FTPGET=2,1024
دستور AT+FTPGET=2,1024 حداکثر کاراکتر موجود در فایل txt آدرس داده شده را میخواند برای خواند تعداد مشخصی از کاراکتر ها بجای 1024 ، تعداد لازم قرار داده میشود :
مطابق روبرو
کد:
AT+FTPGET=2,5 +FTPGET:2,5 HELLO OK
کد:
AT+FTPGET=2,5 +FTPGET:2,7 OOWORLD OK
و در پایان با دستور AT+SAPBR=0,1 میتوان ارتباط GPRS خود را خاتمه داد
دیدگاه