امروز با یک پروژه جالب اینجا هستیم که در آن داده ها را با استفاده از آردوینو و GPRS به سرور SparkFun ارسال می کنیم . این یک پروژه مبتنی بر اینترنت اشیا است که در آن ما از GPRS موجود در برد GSM Module SIM900A برای ارسال برخی از داده ها به وب سرویس در اینترنت استفاده خواهیم کرد.
در این پروژه به سادگی با استفاده از صفحه کلید الفبایی عددی ۴×۴ متنی را وارد کرده و با استفاده از آردوینو و GPRS به وب سایت SparkFun ارسال می کنیم ، از آنجا می توانید آن داده ها را از هر کجای کلمه از طریق اینترنت مشاهده کنید. در اینجا ما همچنین یک LCD 16×2 برای دیدن داده ها به صورت محلی وصل کرده ایم. این تکنیک ارسال داده در پروژههای اینترنت اشیا بسیار مفید است، جایی که میخواهید چیزهایی را از هر کجای دنیا نظارت کنید، مانند نظارت بر دما و رطوبت ، نظارت بر مکان خودرو ، نظارت بر ضربان قلب ، نظارت بر سطح آلودگی هوا و غیره .
اجزای مورد نیاز:
- آردوینو
- ماژول GSM SIM900A
- LCD 16×2
- صفحه کلید ماتریس 4×4
- برد برد یا PCB
- اتصال سیم جامپر
- منبع تغذیه 12 ولت
- سیم کارت
استفاده از GPRS در ماژول GSM:
در اینجا ما از یک ماژول GSM معمولی با سیم کارت برای اتصال GPRS استفاده کرده ایم. در این پروژه GPRS وظیفه ارسال اطلاعات به سرور Sparkfun را بر عهده دارد. قبلاً پروژههای زیادی را انجام دادهایم که از ماژول Wi-Fi ESP8266 برای ارسال دادهها به سرورهای مختلف از طریق اینترنت استفاده کردهایم . اما این بار از GPRS استفاده کرده ایم. ویدیوی مفصل را در انتهای این آموزش بررسی کنید.
GPRS مخفف General Packet Radio Services است که یک سرویس ارتباطی بی سیم مبتنی بر بسته است که با سرعت داده 56-114kbps کار می کند و اتصال به اینترنت را فراهم می کند.
برای GPRS، ما نیازی به خرید ماژول یا سخت افزار خاصی نداریم زیرا GSM از قبل دارای امکانات GPRS داخلی است. ما فقط باید با استفاده از همان روش یا دستورات AT که برای رابط GSM در پروژه های قبلی خود استفاده می کردیم به آن دسترسی داشته باشیم . دستورات AT زیادی وجود دارد که قبلاً در دیتاشیت ماژول GSM SIMCOM SIM900A ذکر شده است.
حال برای ارسال داده به سرور با استفاده از GPRS، ابتدا باید ماژول GSM را مقداردهی اولیه کنیم.
دستورات اولیه سازی GSM:
AT :- this command is used to check whether GSM module is responding or not. AT+CPIN? :- this command is used to check whether SIM card is inserted in GSM Module or not. ATE0 :- is used for disabling echo ATE1 :- is used for enabling echo
دستورات اولیه برای اتصال به اینترنت GPRS:
AT+CIPSHUT :- to close TCP Port Explicitly means disconnect connection if any AT+CGATT? :- Checking SIM card has internet connection or not AT+CSTT = "APN","userName","Pass" :- connect to internet (ex; AT+CSTT="airtelgprs.com","","") AT+CIICR :- bring up with the wireless network. Checking SIM card has data pack or balance AT+CIFSR :- get IP (sometimes without this command GSM do not work so use this command) AT+CIPSTART = ”TCP”,”SERVER IP”,”PORT” :- is used for creating TCP connection with the server that we provide in place of SERVER IP AT+CIPSEND :- this command is used for sending data to the server. After input, this command server asks for data.
پس از وارد کردن داده ها، 26 را به سرور ارسال می کنیم. اگر همه چیز خوب باشد، داده ها با موفقیت به سرور ارسال می شوند و سرور SparkFun با یک رشته عبور یا شکست پاسخ می دهد .
توضیح کار:
فرآیند ارسال داده از GPRS ماژول GSM آسان است. در اینجا در این پروژه، با تایپ کردن با استفاده از صفحه کلید، تعدادی رشته یا کلمات را به سرور ارسال می کنیم. همان رشته یا کلمه روی LCD ظاهر می شود، سپس D/OK را فشار دهید تا رشته ورودی به سرور ارسال شود. در اینجا ما یک صفحه کلید الفبایی برای وارد کردن کاراکترها یا مقادیر عددی به آردوینو یا LCD ایجاد کرده ایم. C/clear برای Backspace برنامه ریزی شده است.
الفبایی روشی برای وارد کردن اعداد و حروف هر دو با استفاده از صفحه کلید Kepad ماتریس 4×4 است. در اینجا ما همان صفحه کلید 4×4 را برای آردوینو کدگذاری کرده ایم تا حروف الفبا را نیز بپذیرد. کد کامل را در انتهای مقاله بررسی کنید.
توضیح مدار:
برای ارسال داده به سرور SparkFun ، باید صفحه کلید و ماژول GSM را به آردوینو متصل کنیم. در این پروژه از آردوینو برای گرفتن رشته ورودی از صفحه کلید و ارسال دستورات به ماژول GSM/GPRS استفاده کرده ایم. GSM/GPRS برای ارتباط با اینترنت برای ارسال داده ها به سرور Sparkfun استفاده می شود. پایه Rx و Tx ماژول GSM مستقیماً به ترتیب به پایه D3 و D2 آردوینو متصل است (زمین آردوینو و GSM باید به یکدیگر متصل شوند). یک LCD 16×2 برای نمایش رشته های ورودی و نمایش پیام خوش آمدگویی و وضعیت ارسال داده نیز استفاده می شود. پین های این LCD 2×16 یعنی Rs، en، d4، d5، d6 و d7 به ترتیب با پایه های 14، 15، 16، 17، 18 و 19 آردوینو متصل می شوند. یک صفحه کلید 4×4 برای رشته ورودی آردوینو استفاده می شود و پین های ردیف آن R1, R2, R3, R4 مستقیماً به پین شماره 11,10, 9, 8 آردوینو و پایه ستونی صفحه کلید C1, C2, C3 مرتبط هستند. با پین شماره ۷، ۶، ۵،۴ آردوینو.