اینترنت اشیاء (IoT) به سرعت در حال رشده و در حال تبدیل شدن به یک فنآوری پییچده است. متخصصان IoT برای موفقیت در این مسیر باید به یک سری از مهارت ها تسلط پیدا کنن.
تمامی دستگاهها، از تلفنهای همراه گرفته تا خودرو و تجهیزات صنعتی، در حال وصل شدن به اینترنت هستن.
طبق پیشبینی Statista، تا سال 2025 مجموع دستگاههای متصل به 75 میلیارد دستگاه میرسه. در نتیجه، تقاضا برای مهندسان، توسعه دهندگان و سایر متخصصان IoT به سرعت در حال افزایشه. این گروه از متخصصان باید به مجموعهای از مهارتها تسلط پیدا کنن تا بتونن در تک تک سطوح پشته فنآوری، زیرساختهای IoT رو در مقیاس مورد نیاز توسعه بدن و از اونا نگهداری کنن.
– مهارت های IoT –
در ادامه یک فهرست از مهارت های IoT تهیه کردیم که متخصصان IoT برای اینکه بتونن همگام با انفجار اینترنت اشیا (IoT explosion) پیش برن باید به اونا تسلط پیدا کنن.
هوش مصنوعی و یادگیری ماشین
در نتیجهی تلفیق IoT و هوش مصنوعی یک فنآوری به اسم هوش مصنوعی اشیاء (AIoT) در حال شکلگیری هست.
دستگاههای IoT حجم بالایی از دادهها که دادههای حسگر نامیده میشن رو جمعآوری میکنن. به دنبال اون، سازمانها این دادهها رو تجزیه و تحلیل میکنن. برای مثال، کارخانههای تولیدی برای تعیین دمای سایت از سنسورهای IoT استفاده میکنن؛ در مرحله بعدی، این اطلاعات در دیتابیسی ثبت میشه که دادههای مربوط به دمای تمامی سایتها رو رهگیری میکنه. مدیران دیتابیس با استفاده از هوش مصنوعی و یادگیری ماشین میتونن این دادهها رو مرتب کنن، مشخص کنن که چجوری میشه دمای مناسب رو حفظ کرد و تجهیزات رو بهینهسازی کرد. علاوه بر این، هوش مصنوعی تحلیل پیشبینیکننده (Predictive analytics) رو هم تسهیل میکنه و بدین طریق به بهبود محیط در آینده کمک میکنه. هوش مصنوعی به دادههایی که دستگاههای IoT جمعآوری کردن ارزش میبخشه، دادههای اضافی رو از کلاندادهها حذف میکنه و با تکیه بر علوم داده، دادهها رو تحلیل میکنه.
توسعه Node.js
Node.js یک محیط توسعه متنباز و محبوب برای توسعهدهندگانی هست که قصد دارن وارد حوزه IoT بشن. معمولاً Node.js به همراه دستگاههای متصل مثل Arduino و RPi استفاده میشه.
Arduino یک میکروکنترلر تک بورد هست که با برقراری تعامل با سنسورها و سایر ورودیها و خروجیها برنامهنویسی embedded رو تسهیل میکنه. رزبری پای هم یک کامپیوتر تک بورد، ارزان و کوچک هست که نوعی ابزار توسعه نرمافزار هست که میشه زبانهای پایتون و Node.js رو در اون نصب کرد. هر دو این دستگاهها ابزارهای آموزشی خوبی برای افرادی هستند که قصد دارن این زبانها رو فرا بگیرن و از اونا در حوزه IoT استفاده کنن. Node.js این امکان رو برای Arduino و RPi فراهم میکنه تا با هم ارتباط برقرار کنن.
Node.js مناسب محیط های IoT توزیعشده است. در این محیطها Node.js بالافاصله دادهها رو پردازش میکنه. Node.js به خاطر مدل Asynchronous, event-driven input/output model میتونه چند تا تسک رو همزمان انجام بده.
توسعه اپلیکیشن موبایل
معمولاً اپلیکیشنهای موبایل دستگاههای IoT رو کنترل میکنن، برای همین توسعهدهندگان باید بتونن اپلیکیشنهای موبایلی توسعه بدن که کار باهاشون آسونه و عملکرد بالایی دارن. اپلیکیشنهای IoT هم باید چند پلتفرم (cross-platform) nhaji باشن و بتونن با سرورهای ابری و سختافزارهای دیگه ارتباط برقرار کنن. اپلیکیشنهای موبایلی باید مثل بیشتر قسمتهای IoT بتونن با دادههای لحظهای (real-time) کار کنن.
تست و اتوماسیون API
دستگاههای IoT با تکیه بر رابطهای برنامهنویسی کاربردی یا همون API ها میتونن به نحوی مؤثر و به درستی به تبادل دادههای real-time بپردازن؛ دستگاههای IoT هم به همین روش با هم ارتباط برقرار میکنن. در نتیجه، متخصصان IoT باید به تست API تسط داشته باشن. به خاطر ماهیت پییچده و توزیعشده IoT، مهمه که در صورت امکان تستها به صورت خودکار انجام بشن.
یک نمونه تِست IoT اینه که مطمئن بشیم که موقیعت فیزیکی که سنسور انتخاب کرده به درستی در برنامه نشون داده میشه. یک نمونه دیگه هم اینه که ببینیم اگر ساختار دادهای سیستم نظارت IoT بهروزرسانی بشه چه اتفاقی میفته. برای مثال، اگر نحوه سازماندهی دادهها در سیستم تغییر کنه نحوه پردازش دادهها هم تغییر میکنه؟ هرگونه تغییری باید مشخص و تست بشه تا از اعمال تغییرات مورد نیاز مطمئن بشیم.
امنیت اطلاعات
تقاضا برای متخصصان امنیت اطلاعات در حوزه IoT خیلی زیاده. تأمین امنیت زیرساخت IoT به خاطر پیادهسازیها و دستگاههایی که در IoT وجود دارن، سخته. مهندسان امنیت فعال در این حوزه باید در زمینه ارزیابی آسیبپذیریها خلاق باشن و خودشون رو با اونا وفق بدن و هم به آسیبپذیریهای فیزیکی و هم به آسیبپذیریهای منطقی IoT توجه کنن. علاوه بر این، تقاضا برای متخصصان امنیت که به ابزارهای خاص شرکتهای ارائهدهنده (مثل Orbit، پلتفرم مدیریت کسبوکار و Cloudflare، شبکه ایمن توزیع محتوا) تسلط داشته باشن.
یکی از نقاط ضعف اینترنت اشیا به ویژه IoT صنعتی، ایمنی رمزعبور (password) است. معمولاً مدیران تغییر رمزهای پیشفرضی که تولیدکنندگان تعیین کردن رو نادیده میگیرن چون امکان استفاده از خیلی از دستگاههای این حوزه وجود نداره. این دستگاهها بیشتر اوقات به صورت خودکار کار میکنن و اینجوری هم نیست که کاربران به صورت منظم به اونا دسترسی داشته باشن. اگر پسووردها رو تغییر ندین دیگران به سادگی میتونن پسوورد عمومی رو حدس بزنن و به سیستم شما راه پیدا کنن و دادههای شما رو به سرقت ببرن و شبکه رو شناسایی کنن (network reconnaissance).
طراحی UI/UX
مشکلات امنیتی IoT و نیاز به طراحان UI و UX توانا در هم تنیده هستن. هرچه استفاده از دستگاه IoT آسونتر باشه، بهروزرسانی تنظیمات امنیتی برای متخصصان امنیت آسونتر خواهد بود.
علاوه بر این، تجربه کاربری خوب به کاربران کمک میکنه تا متوجه بشن محصولات IoT چجوری میتونن برای سازمانهاشون ارزش آفرینی کنن. با توجه به اطلاعاتی که دستگاههای IoT تولید میکنن، UX و طراحی وب مناسب برای ایجاد جریان ایمن داده از سنسورها به اپلیکیشنها و از اپلیکیشنها به افراد مهمه. طراحان UX باید بتونن در حوزه IoT با توسعهدهندگان نرمافزار IoT همکاری کنن.
رایانش ابری
فریموورک توزیعشده رایانش ابری یکی از مفاهیم مهم برای متخصصان IoT هست. رایانش ابری به جای پردازش دادهها در Edge (نزدیکترین محل در شبکهایی که دادهها در اون ایجاد میشن) یا در یک دیتابیس ابری متمرکز، هر دو رویکرد رو با هم ترکیب میکنه و برخی از دادهها رو در edge و برخی رو در دیتابیس متمرکز پردازش میکنه. دادههایی که به لحاظ زمانی اهمیت دارن یا دادههایی که به پردازش کمتری نیاز دارن رو میشه در Edge یا نزدیک به منبع پردازش کرد. دادههایی که به لحاظ زمانی حساس نیستن و یا به پردازش بیشتری نیاز دارن رو میشه به محل متمرکز، دورتر از منبع، ارسال کرد.
پرورش مهارت های IoT
متخصصان IT برای پرورش مهارت های IoT خودشون باید حوزههایی که نیاز به پرورش دارن رو شناسایی کنن. برای انجام این کار مثلاً میشه فهرست مهارت هایی رایج و شرح شغلی برای IoT رو بررسی کرد. بررسی همکاران و ارزیابی مدیران هم میتونه به این امر کمک کنه.
در ادامه چند تا روش برای ارتقاء و پرورش مهارتهای IoT ارائه میدیم:
-
دنبال کردن آموزشهای آنلاین در وورکشاپها و کنفرانسها
-
گواهینامهها و مدارک کالجها
-
پیدا کردن یک مربی با تجربه که بتونین سوالاتتون رو ازش بپرسین و ازش مشورت بخواین.
-
سؤال پرسیدن
در حوزه IoT از زبانهای مختلفی از جمله جاوا، پایتون، PHP ،Swift و C# استفاده میشه و لازمه ک به فریموورکهای مختلفی از جمله سختافزار، نرمافزار، ابری، تحلیلی و رابط کاربری تسلط داشت. البته خیلی مهمه که این مهارت ها رو در طول زمان فرا بگیرین چون حوزه IoT به طور پیوسته در حال تغییره.