اندروید و اینترنت اشیا پیوندتان مبارک! معرفی 7 پروژه جذاب


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


دنیای مشترک اندروید و اینترنت اشیا یعنی پایش و مدیریت دستگاه های هوشمند درون خانه یا محل کار از راه تلفن موبایلی اندرویدی یا هر دستگاه دیکری که سیستم عامل اندروید روش نصبه که یک اتفاق فوق العادست
میخوای به صورت حرفه ای برنامه نویسی اندروید انجام بدی و دنبال یک دوره کامل و خفنی؟ این دوره استاد محمد نوری معرکست
خود اینترنت اشیا چیه؟
اینترنت اشیا یعنی اینترنت چیز ها، یعنی مجموعه ای از چیز ها (یا بهتر بگیم دستگاه های سخت افزاری) که با هم ارتباط دارن و میتونن از طریق اینترنت یا یک شبکه محلی که به اینترنت وصل نیست پیام رد و بدل کنن
به اشیا یا چیز های که بخشی از این داستان هستند میگن “دستگاه های هوشمند که دامنه اون ها از ادوات منزل تا دستگاه های صنعتی رو شامل میشه.
این دستگاه های سخت افزاری ( یا همون چیز ها و اشیای خودمون) خودشون شامل سنسور ها و و نرم افزار و کنشگر و میکروکنترولر ها و تکنولوژیای دیگه میشن که به هم وصل میشن و از طریق اینترنت تبادل اطلاعات میکنن با دستگاه های و سیستم های دیگه.
هدف از اینترنت اشیا چیه؟
هدف از اینترنت اشیا اینکه دستگاه ها بتونن خیلی هوشمندانه به صورت خودکار یا واکنشی کار کنن
مثلا سنسور ها از محیط پیرامونشون اطلاعات جمع آوری میکنن، ما سنسور دماسنج داریم با نام DHT11 که هم دما سنجه و هم رطوبت سنج؛ یک ماژولی داریم با نام esp که انواع مختلفی داره مثلا esp8266 و esp32 و این ماژول هسته خیلی از بورد های توسعه هست مانند wemos و nodeMCU
تو فقط کافیه سنسور دما سنجی که گفتم رو وصل کنی به مثلا بورد nodeMCU، بعدش فقط کافیه کد هایی رو از طریق لپ تاپ روی بورد آپلود کنی و تا برنامه ریزی بشه هر چند ثانیه دمای اتاق رو بفرسته روی یک سرور اینترنتی؛ تو هم یک اپلیکیشن موبایلی درست میکنی که وصل بشه به api اون سروره و این یعنی پیوند اندروید و اینترنت اشیا برای نظارت هوشمند


این بورد nodeMCU که وصل شده به سنسور DHT11 و به صورت بی سیم وصل میشه به وای فای منزل(باید رمز وای فای خونتو موقع برنامه ریزیش بش بدی) موقع برنامه ریزیش بهش میگی چطور از طریق پروتکل http یا پروتکل های دیگه مثل mqtt اطلاعات خودش رو به صورت تقریبا لحظه ای مدام روی سرور بفرسته. البته پروتکل مطرح واسه اغلب پروژه های اینترنت اشیا همون mqtt هست(برای پروژه های اینترنت اشیای ساده از بورد های esp استفاده میکنیم و هدف از این مقاله معرفی قطعات سخت افزاری برای پروژه های سطح بالا نیست)
توی این مثالی که برات زدم عملا تو میتونی با گوشیت دمای اتاقو راحت رصد کنی، اما این مثال خیلی ابتداییه و، میتونیم از سنسور های دیگه هم استفاده کنیم
مثلا سنسور تشخیص حرکت که بر اساس مادون قرمز بدن افراد کار میکنه میتونه حرکات درون اتاق رو تشخیص بده اگر به چراغ های بعضی اپارتمان ها دقت کنی وقتی در محیط هیچ رفت و آمدی نیست خاموشن ولی به محض اینکه یکی رد میشه چراغا روشن میشه و این اتفاق از طریق سنسور تشخیص حرکت رخ میده.
ما میتونیم بگیم هروقت کسی وارد اتاق شد از طریق ماژول دوربین عکسش رو بگیر و بفرست روی سرور و از طریق سرور هم نوتیفیکیشن به اپلیکیشن اندرویدی بدیم که یک نفر اومده توی اتاق و ما عکسش رو گرفتیم، بیا داخل اپلیکیشن عکسشو ببین و اینم یک یک مثال دیگه از پیوند اندروید و اینترنت اشیا


اندروید و اینترنت اشیا میتونن واسه نظارت هوشمند استفاده بشن، خیلی از دوربین های امنیتی اپلیکیشن های اندروید مختص به خودشونو دارن که توسط شرکت های سازنده دوربین در کنار دوربین ارائه میشن
عکس بالا رو که ببینی جلوی اون ماژول سبز رنگ سمت راست چنانچه کوچکترین تحرکی صورت بگیره این بورد espCam که یک دوربین روش تعبیه شده و به اینترنت وصله، یک عکس میگیره و میفرسته سمت سرور و اون سرور هم خودش میدونه و اپلیکیشن اندرویدی ای که تو واسش نوشتی و جذابیت دنیای مشترک اندروید و اینترنت اشیا اینجاست که خودشو نشون میده
(دوستان پروژه های تجاری ای مثل دوربین های لامپیا انقدر از نظر اقتصادی ارزون هستند که نخواد سراغ espCam [قیمت espCam هم خیلی زیاد نیست ده دلاره تو وبسایتای ایرانی قیمتش تو مایه های پنج دلاره] بریم تازه اپلیکیشن اختصاصی دارن و ما با معرفی espCam صرفا اهداف آموزشی رو دنبال میکنیم)
فکر نکن ما قراره فقط از سنسور ها داده دریافت کنیم و اونها رو لحظه ای یا به صورت observable (بچه هایی که اندروید کار کردن خوراکشون همین دیزاین پترن observable هست) رصد کنیم؛ خود اون سیستمی که بر اساس بورد های esp میبندیم میتونه جوری برنامه ریزی بشه که خودش خودجوش یک پیام صوتی برای شخصی که وارد اتاق شده پخش کنه که هرگز بدون اجازه وارد اتاقم نشو یا از اتاقم برو بیرون
برای پخش صدا یک ماژولی هست با نام DFPlayer که یک کارد حافظه sd داخلش قرار میدین و خودشم وصل میکنین به ماژول esp تا از طریق ماژول esp کنترل بشه و وقتی کسی وارد اتاق میشه پیغام صوتی لطفا از اتاقم برو بیرونو پخش کنه، صدا های ضبط شده رو باید روی کارت حافظه sd مذکور ذخیره کنین


ماژول dfplayer که یک جا برای قرار دادن کارت sd داره اینطوری به یکی از بورد های esp وصل شده و در عین واحد یک بلندگو هم به خودش وصل شده واسه پخش صدا
حالا این یکی از انواع بورد های esp هست که داخل تصویر آورده شده؛ تو میتونی همون espCam که روی خودش دوربین داره و اون بالا تر عکسش هست رو جای این یکی بورده در نظر بگیری؛ اینطوری همزمان هم عکس میگیریم از اونی که بدون اجازه اومده توی اتاق و بهش اخطار صوتی هم میدیم از طریق بلندگوهه. و اندروید و اینترنت اشیا میتونن از این سیستم واکنش خودکار هم استفاده کنن و همه کار ها وابسته به واکنش ناظر از طریق اپلیکیشن نیست
سوای بحث اندروید و اینترنت اشیا، توی هوش مصنوعی یک بحثی هست با نان simple reflecsive یا واکنشی ساده(یعنی واکنش نشون دادن به اقتضای رخداد) کلا اینکه مثلا یکی بیاد توی اتاق و در واکنش به اومدنش بهش اخطار صوتی داده بشه جدای از بحث پیوند های اندروید و اینترنت اشیا یک ویژگی هوشمندانست
حالا یک سوال، آیا میشه کاری کنیم که به محض ورود یک نفر به اتاق، بجای اخطار خودکار، از ظرفیت های پیوندی که بین گوشی اندروید و اینترنت اشیا هست برای صحبت کردن آنلاین با شخص مذکور استفاده کنیم؟ یعنی با حداقل دردسر یک تماس صوتی بین ما و اون شخص برقرار بشه و جای پخش صدای از قبل ضبط شده، خودمون به صورت برخط از ظرفیت پیوند بین گوشی اندروید و اینترنت اشیا استفاده کنیم تا مکالمه تلفنی داشته باشیم
راهکار ساده ای واسش وجود داره فقط کافیه از ماژول سیمکارت در کنار بورد esp استفاده کنیم و ماژول سیمکارت رو از طریق esp طوری تنظیم کنیم که چنانچه به سیمکارتی که داخلشه زنگ زده شد تماس رو برقرار کنه بعدش صدای ما از طریق بلندگویی که به ماژول esp وصله پخش بشه و میتونیم یک میکروفون هم به ماژول esp وصل کنیم تا طرف مقابل که داخل اتاقه هم بتونه با ما صحبت کنه
در نتیجه حتما نباید پیوند های میان اندروید و اینترنت اشیا به صورت اینترنتی باشه و میشه از ظرفیت های سیستم مخابرات هم واسه این منظور استفاده کرد


ماژول سیمکارت به همین راحتی به میکروفن و بلندگو وصل میشه و خودشم به بورد esp وصل میشه
میتونین با یکسری دستورالعمل های پیشفرض در ماژول سیمکارت، کاری کنین به محض اینکه به شماره سیمکارتی که داخل ماژول سیمکارت قرار میگیره زنگ زدین، تماس پذیرش بشه و از طریق میکروفن صداهای اطراف رو بشنوین یا صحبت کنین و صحبتاتون از طریق بلندگو پخش بشه
جذابیت اندروید و اینترنت اشیا همین اسمبل کردن های سخت افزاریه
حالا جالبه بدونین این ماژول امکان رد و بدل کردن پیامک هم داره و میتونین کاری کنین که دمای محیط رو براتون پیامک کنه یا خودتون واسش پیامک بفرستین و ماژول esp به اقتضای پیامک های شما یک کار های از پیش تعریف شده ای انجام بده و این یعنی کنترل از راه دور بدون نیاز به اینترنت
ترکیب اندروید و اینترنت اشیا برای پروژه گلخانه هوشمند
میخوایم به یک پروژه جالبی بپردازیم با نام پروژه گلخانه هوشمند و قطعات یک اپلیکیشن موبایلی خفن میتونه تاثیر به سزایی در این پروژه ایفا کنه
در گلخانه هوشمند ما یکسری سنسور داریم و یکسری کنشگر که به صورت سخت افزاری در محیط گلخانه قرار میگیرند و از طریق اینترنت داده هاشونو روی سرور بارگذاری میکنند و اپلیکیشن موبایلی هم از طریق سرور میتونه به صورت ریموت فضای گلخانه رو رصد و مدیریت کنه، یعنی سیستمی بر اساس پیوند بین اندروید و اینترنت اشیا.
ناگفته نمونه تنها دستگاه های موبایلی نیستند که سیستم عامل اندروید روی خودشون دارند، مینی کامپیوتر هایی هستند که از ماژول های esp قوی تر هستند و میتونن مرکز سیستم مبتنی بر اینترنت اشیا قرار بگیرند.
چراغ های مختص رشد گیاهان به گیاهان برای رشد کمک میکنن و میشه با این سیستم مبتنی بر اندروید و اینترنت اشیا این چراغ ها رو روشن و خاموش کرد یا تعریف کرد در چه شرایطی این چراغ ها به طور خودکار روشن یا خاموش بشن. هیتر واسه افزایش گرمای محیط و دستگاه خنک کننده برای خنک کردن محیط و دستگاه های پمپ و آب پاش و شیر های الکتریکی که از راه دور قابل کنترل هستند برای آبیاری هوشمند کاربرد دارند.
سنسور های زیادی هم در گلخانه هوشمند میشه کارگذاشت از سنسور دما و رطوبت هوا گرفته تا سنسور رطوبت سنج خاک و سنسور سنجش نور. تو میتونی از طریق گوشیت همه این اطلاعات رو هم رصد بکنی هم طبق الگوریتم هایی که ویژهٔ پرورش گیاهان هستند حساب بکنی که با توجه به نوع گیاهان درون گلخانه و دما و رطوبت هوا و رطوب خاک و نور محیط و نوری که هر گیاه به خصوص دریافت میکنه بهتره چکار بکنی که در اینجا هوش مصنوعی به کمکمون میاد و توصیه های لازم رو به ما میده.
ما هم میتونیم از طریق اپلیکیشن به توصیه های هوش مصنوعی عمل بکنیم و محیط و گرم یا سرد کنیم یا آبیاری انجام بدیم یا نور محیط رو به صورت جزئی(برای هرگیاه به خصوص که لازمه) یا کلی(کل گلخونه) کم و زیاد کنیم. حتی توی اپلیکیشن میتونیم دستورالعمل های خودکاری برای سیستم گلخونه تعیین کنیم که برخی از کارهایی که لازمه انجام بشه به صورت خودکار و با کمترین وابستگی به انسان انجام بشه.
واسه گلخانه هوشمندی که بر اساس یک سیستم مشترک بین اندروید و اینترنت اشیا بنا شده خیلی برنامه ریزی های اساسی ای میشه انجام داد، بعضی گیاهان از نظر اقتصادی ارزشش رو دارن که واسه پرورششون یک همچین سیستمی وجود داشته باشه
پروژه باغ هوشمند
ساختار پروژه باغ هوشمند هم مثل گلخانه هوشمند و هر سیستم پرورشی مبتنی بر اندروید و اینترنت اشیای دیگه میمونه و با توجه به شرایط باغ نوع سنسور ها و کنشگر ها میتونن متفاوت باشن، در پروژه باغ هوشمند میشه از ربات های پروازی و ماشینی با قابلیت کنترل از راه دور هم استفاده کرد
یک چیزیو نباید یادمون بره که پروژه های بسیار متنوعی وجود دارن و لزومی نداره یک سر داستان اپلیکیشن اندرویدی باشه و میشه به وب اپلیکیشن ها یا وبسایت ها هم بسنده کرد ولی این کاملا بستگی به نوع پروژه و شرایط مشتری داره و قطعا گوشی اندرویدی یک سر ماجراست و نه تنها نمیشه سهم بزرگ برنامه نویسای اندرویدی رو از این سفر پهن اینترنت اشیا نادید گرفت
پروژه حضور غیاب هوشمند بر اساس اندروید و اینترنت اشیا
یک ماژولی وجود داره (که نقش سنسور رو بازی میکنه) با نام RFID


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


این ربات که بر اساس بورد espCam ساخته شده میتونه از راه دور کنترل بشه و از محیط فیلم برداری کنه یا مثل روش هایی که واسه گفت و گوی صوتی آنلاین یا آفلاین از راه دور که گفتیم، از قابلیت ابزار کلامی برخوردار بشه
این ربات رو تو خانه یا محل دیگه ای که مدنظرته ول میکنی و هروقت پیامک اخطار یا تماس اخطار مبنی بر ورود غیر مجاز کسی دریافت کردی اینو از راه دور واسه کنترل وضعیت روشن میکنی
یا اصلا یکجایی مسائل امنیتی مطرح نیست مسائلی مثل مستند سازی و پایش 24 ساعته از محصولات یا پرورشگاه ها و یا باغ ها و گلخانه ها و… مطرحه برای اشراف هرچه بیشتر و درواقع این ربات نقش بازدید کننده میدانی رو داره
این ربات از طریق اندروید و اینترنت اشیا کنترل میشه و الزامی نداره حتما این شکلی باشه میتونه به شکل های دیگه باشه. اصلا ساخت این ربات کار شما نیست خود شخص تکنسین یا تیم تکسنین یک تصمیمی برای خرید یا ساخت ربات میگیره
تامین سرور برای پروژه های مبتنی بر اندروید و اینترنت اشیا
دوستان شرکت هایی از قبل سرور هایی مختص اینترنت اشیا طراحی کردند از جمله thingsspeaks و REDNODE و آردوینو کلود و کلی سایت های دیگه که کافیه آمارشونو از هوش مصنوعی بگیرین(ناگفته نمونه که بیشترشون فیلترن)، فایربیس هم که جای خود داره(این مقاله سایتمون درباره فایر بیس در اندروید رو دوست داشتین نگاه کنین)
ولی خب باید بررسی بشه که کدوماشون واسه پروژه ای که در دست تیمتون واسه عملیاتی شدنه مناسبه؛ چه بسا که بهترین تصمیم ساخت یک بک اند اختصاصی باشه واسه پیوند بین اندروید و اینترنت اشیا
چطور یک اپلیکیشن خوب مبتنی بر ترکیب اندروید و اینترنت اشیا بنویسیم؟
این موضوعی نیست که تنهایی دربارش تصمیم بگیرین. خیلی وقت ها شما فقط با سرور بک اند در ارتباطین و در این صورت چیز جدیدی واست وجود نداره انگار یک اپلیکیشن آنلاین معمولی درست کردی اما ممکنه ازت بخوان بر بستر یک شبکه محلی یک اپلیکیشن برای پروژه ای مبتنی بر اندروید و اینترنت درست کنی که در این صورت باید کمی اطلاعات شبکه ای داشته باشی
توی مثالی که گفتم در واقع یک شبکه محلی وجود داره که کلاینت هاش یکی گوشی کاربره که تو اپش رو مینویسی و یکی دستگاه هوشمند (و ترکیب این دوتا میشه ترکیب اندروید و اینترنت اشیا) وسط دوتاشونم مودم روتر منزل هست
میدونی این مثل چی میمونه؟ مثل وقتیه که از طریق ارتباط وای فای اپلیکیشنی که توی اندروید استودیو نوشیو روی گوشی تلفنت ران میکنی واسه تست کردن؛ تو داری از طریق یک شبکه محلی که مرکز وای فای منزلته اپو روی گوشیت نصب میکنی
سخن پایانی
هدفم از نوشتن این مقاله این بود بدونیم اپلیکیشن های اندرویدی چه جایگاهی توی دنیای اینترنت اشیا میتونن داشته باشن. من مثالهای ساده ای از اینکه دستگاه های هوشمند چی میتونن باشن زدم ولی در عمل از دستگاه های امنیتی و نظارتی پیشرفته تری استفاده میکنن که خود اون ابزار ها معمولا یک اپ هم در کنارشون هست
درواقع اپلیکیشن های آماده واسه ارتباطات هوشمند هم وجود دارند انا این به این معنی نیست که هیم استارت آپ یا شرکتی نخواد اپلیکیشن هایی واسه پروژه های بخصوص طراحی بکنه. نیاز های مختلفی در زمینه هوشمند سازی و اینترنت اشیا مطرح میشه و پیاده سازی یک اپلیکیشن اختصاصی حرفه ای همیشه بخشی از گزینه های روی میزه.
در آینده ای که ایران به سمت هوشمند شدن خواهد رفت و مردم گوشی اندرویدی دارن تو هم باید آماده عرضه کردن تخصصتون درجاگاه برنامه نویس اندرویدی باشی