موضوعاتی که در این مقاله به آنها پرداخته خواهد شد :
نمایش آنلاین دما و رطوبت بر روی سرور توسط ماژول sim800
پروژه مانیتورینگ آنلاین دما و رطوبت توسط ماژول sim800 از دو بخش تشکیل شده است . بخش اول شامل سورس کدهایی است که توسط php نوشته شده است و آن کدهای سمت سرور می گوییم . باید این کدها را به هاست بر روی سرور انتقال دهیم .
شرکت هایی وجود دارند که خدمات فروش هاست را انجام می دهند . برای انجام این پروژه شما باید هاست و دامنه خریداری نمایید . برنامه سمت سرور ما با php نوشته شده است ، بنابراین هاست باید از نوع لینوکسی و ترجیحا C-panel باشد .
بخش دوم را کلاینت پروژه مانیتورینگ آنلاین دما و رطوبت توسط ماژول sim800 ، تشکیل می دهد . کلاینت ما شامل سخت افزاری است که از میکروکنترلر ، سنسور رطوبت و دما ، ماژول sim800 و تغذیه مدار تشکیل شده است . در بخش کلاینت نیز برنامه نویسی میکروکنترلر avr برای علاقه مندان به کدویژن ، بسکام و آردوینو نوشته شده است .
سنسور دما و رطوبت بکار رفته شده در این پروژه از نوع dht22 می باشد . آموزش راه اندازی سنسور دما و رطوبت dht22 نیز به صورت جامع در سایت قرار داده شده است . می توانید آمورش را از اینجا مطالعه کنید و سورس کدهای آن را به صورت رایگان دانلود نمائید .
اگر می خواهید از سنسور رطوبت و دمای دیگری مانند سری sht استفاده کنید . نگران نباشید با تغییر جزئی در قسمت قرائت سنسور و جایگزین کردن برنامه قرائت سنسور مورد نظر خودتان بجای سنسور رطوبت و دمای dht22 پروژه مانیتورینگ آنلاین دما و رطوبت توسط ماژول sim800 قابل اجرا می باشد .
در پروژه مانیتورینگ آنلاین دما و رطوبت از ماژول sim800h استفاده شده است . این ماژول قابلیت اتصال به اینترنت gprs را دارد . بنابراین در مکانهای دوردست که اینترنت خانگی در دسترس نیست و یا نیاز داریم که دما و رطوبت یک وسیله سیار سنجیده شود . ماژولی که قابلیت اتصال به اینترنت gprs را داشته باشد گزینه مناسبی است .
تمامی ماژول های خانواده سری sim800 قابلیت اتصال به اینترنت gprs را دارا می باشند . بنابراین تفاوتی ندارد که شما از کدام نوع از سری ماژول های sim800 استفاده می کنید . بدون اینکه نیاز باشد کدهای سمت سرور و یا کدهای سمت کلاینت که در کدویژن ، بسکام و یا آردوینو نوشته شده تغییراتی انجام بدهیم .
عملکرد پروژه مانیتورینگ آنلاین دما و رطوبت توسط ماژول sim800
شبکه اینترنت که بر پایه پروتکل tcp/ip هست . برای ارتباط بین سرور و کلاینت نیاز به شماره ip و port دارد . به دلیل محدودیت برای شماره ip در شبکه اینترنت ، اکثر دستگاه هایی که به شبکه اینترنت وصل می شوند نمی توان شماره ip ثابت یا استاتیک به این دستگاه ها اختصاص داد ، زیرا تعداد ip ها محدود هستند.
به همین دلیل هر بار که دستگاهی به شبکه اینترنت متصل می شود یک شماره ip متغییر یا داینامیک به آن اختصاص داده می شود ، که با هر بار قطع و متصل شدن به شبکه اینترنت این شماره ip تغییر می کند .
در این پروژه ماژول sim800 ما یک کلاینت هست که با هر بار متصل شدن به شبکه اینترنت از طریق gprs ، شبکه اینترنت یک ip داینامیک یا متغییر به ماژول sim800 ما اختصاص می دهد . که با هر بار قطع و وصل شدن اینترنت ماژول sim800 این شماره ip تغییر خواهد کرد .
توسط فرمان AT+COMMAND زیر می توانیم شماره ip داینامیک یا متغییری که شبکه اینترنت بعد از اتصال ماژول sim800 به اینترنت به ماژول ما اختصاص داده است را به دست آوریم :
AT+SAPBR=2,1 +SAPBR: 1,1,"100.70.194.17" OK
همانطور که در تصویر بالا مشاهده می کنید ما بر روی هاست سمت سرور دیتا بیس و جدول ساخته ایم . درون جدول فیلدی که با نام temp است جهت ذخیره مقدار دما و فیلدی که با نام hum است جهت ذخیره مقدار رطوبت است که توسط ماژول sim800 به سرور ارسال شده است . فیلد date-time هم زمان آخرین بروزرسانی و یا دریافت مقدار دما و رطوبت از سمت ماژول sim800 می باشد .
صفحه مدیریت ما با آدرس مشخصی بر روی اینترنت قابل دسترس است که توسط مرورگر نمایش داده می شود . صفحه مدیریت به شکل تصویر بالا می باشد . عددی که جلوی تصویر قرمز رنگ مقدار دما بر حسب درجه سانتیگراد و عددی که جلوی تصویر آبی رنگ مقدار رطوبت بر حسب درصد می باشد . این اعداد از دیتابیس خوانده می شوند . در قسمت آخرین زمان بروزرسانی می توانیم از آخرین بروزرسانی مطلع شویم .
برای سهولت کاربرانی که پروژه مانیتورینگ آنلاین دما و رطوبت توسط sim800 را تهیه کرده اند . و بصورت موقت دسترسی به هاست و امکان تهیه هاست و دامنه را ندارند . یک نسخه از کدهای سمت سرور بر روی هاست خودم به آدرس http://test.micronik.ir/online/index.php قرار داده شده که می توانید کدهای آردوینو ، کدویژن و بسکام و STM32 خود را با آن آزمایش و تست و راه اندازی کنید .
در این پروژه جهت بالا بردن امنیت و اینکه شخص دیگری امکان دسترسی به صفحه مدیریت را نداشته باشد ، ابتدا وارد صفحه ورود می شوید و اگر نام کاربری و رمز عبور را درست وارد کنید اجازه دسترسی و تغییرات را خواهید داشت . به صورت پیشفرض نام کاربری admin و رمز عبور 123456 می باشد .
پروژه نمایش آنلاین دما و رطوبت بر روی سرور
سورس کد سمت سرور به زبان php , html , css , jquery
سورس کد آردوینو ارسال دما و رطوبت به سرور به روش post
سورس کد آردوینو ارسال دما و رطوبت به سرور به روش get
سورس کد کدویژن ارسال دما و رطوبت به سرور به روش post
سورس کد کدویژن ارسال دما و رطوبت به سرور به روش get
سورس کد بسکام ارسال دما و رطوبت به سرور به روش post
سورس کد بسکام ارسال دما و رطوبت به سرور به روش get
پیکربندی و ریست اتوماتیک ماژول sim800 در صورت خطا و عدم ارتباط با سرور
سورس کدها شامل ارسال و دریافت دیتا به سرور می باشند
شماتیک مدار
فیلم راهنما جهت انتقال کدهای php بر روی هاست سی پنل ، ساخت دیتا بیس و جدول