۱۴ شهریور ۱۴۰۲
   
آکادمی

نقشه راه کامل یادگیری اینترنت اشیا | مهارت‌های کلیدی

شاید واژه «اینترنت اشیا» (IoT) برای شما آشنا نباشد، اما همین الآن در حال استفاده از محصولات هوشمند مبتنی بر این فناوری هستید؛ تلفن همراه، لپتاپ، ساعت هوشمند و هر نوع وسیله دیگری که از طریق اینترنت به تبادل اطلاعات می‌پردازد را می‌توان جزئی از اکوسیستم اینترنت اشیا دانست.

اکوسیستم اینترنت اشیا متشکل از اجزای سخت‌افزاری و نرم‌افزاری متعددی است که امکان تبادل اطلاعات میان اشیا، ماشین و انسان را از طریق شبکه‌های ارتباطی فراهم می‌کند.

همانطور که در مقاله «معرفی تمام اجزای معماری اینترنت اشیا + مثال» هم خواندید، دنیای اینترنت اشیا بسیار پهناور است و شما هم می‌توانید با یادگیری این فناوری، عضوی از یک اکوسیستم 14.4 تریلیون دلاری تا ده سال آینده باشید. چگونه؟ ما در این مقاله نقشه راه یادگیری اینترنت اشیا را به طور کامل معرفی کرده‌ایم. پس تا انتهای مطلب همراه ما باشید.

 

نقشه راه یادگیری صفر تا صد اینترنت اشیا

نقشه راه یادگیری اینترنت اشیا یک دستورالعمل آموزشی مقدماتی برای شروع ماجراجویی شما در دنیای جذاب اینترنت اشیاست.

با توجه به معماری اینترنت اشیا و ساختار 4 لایه آن، مهارت‌ها و تخصص‌های فراوانی باید در کنار یکدیگر قرار گیرند تا یک محصول هوشمند مبتنی بر IoT متولد شود. این مهارت‌ها زمینه‌های مختلفی از جمله آشنایی با الکترونیک، طراحی و برنامه‌نویسی سخت‌افزار، برنامه‌نویسی نرم‌افزار، توسعه اپلیکیشن و تحلیل داده را شامل می‌شوند.

بهتر است که به عنوان یک توسعه دهنده اینترنت اشیا، دانش مقدماتی از تمامی زمینه‌ها داشته باشید اما مطمئنا زمان اجازه نخواهد داد که در تمامی بخش‌ها به یک متخصص تبدیل شوید. هدف آکادمی تینگزپاد در این مقاله تفکیک مهارت‌های لازم برای توسعه یک محصول اینترنت اشیا با توجه به لایه‌های مختلف این فناوری است تا بتوانید با کمک آن زمینه تخصصی خود را با توجه به علاقه، تجارب قبلی و استعدادتان انتخاب کنید.

این نقشه راه بر اساس 4 لایه معماری اینترنت اشیا تعریف شده است:

  • لایه فیزیکی (Physical Layer)
  • لایه شبکه ارتباطی یا گیتوی (Network, or Gateway)
  • لایه پردازش اطلاعات (Processing Layer, or Middleware)
  • لایه اپلیکیشن یا رابط کاربری (Application Layer)

پس اگر در هر کدام از زمینه‌های فوق فعالیت می‌کنید، اینترنت اشیا می‌تواند مهارت خوبی برای یادگیری باشد.

 

مهارت‌های لازم در لایه فیزیکی

در لایه فیزیکی، یعنی بخش دستگاه‌ها و سنسورها، معمولا مهندسین برق، الکترونیک، طراحان و برنامه‌نویسان سخت افزار مشغول به فعالیت هستند. اگر علاقه‌مند به کسب تخصص در این لایه از اینترنت اشیا هستید، بهتر است مهارت‌های زیر را دنبال کنید:

  • مبانی الکترونیک؛ آشنایی با مقدمات الکترونیک، مدارات الکتریکی و الکترونیکی، مبانی برق و همچنین کار با برد بورد، سنسورهای مختلف، رله، رزیستور و قطعات الکترونیکی پرکاربرد.
  • میکروکنترلرها؛ آشنایی با میکروکنترلرهای پرکاربرد از جمله آردوینو (Arduino)، ESP32 و بوردهای شرکت Adafruit و انجام پروژه‌های ساده برای تسلط برای مفاهیم الکترونیک و برنامه‌نویسی مقدماتی.
  • بوردهای پیشرفته؛ کسب دانش کار با بوردهای میکروکنترلی پیشرفته‌تر مانند رزبری پای (Raspberry Pie) که اصطلاحا به آن‌ها Single Board Computer نیز گفته می‌شود، چون این بوردها مانند کامپیوترهای کوچکی هستند که امکان انجام پردازش‌های پیچیده‌تری را دارند.
  • برنامه‌نویسی سخت‌افزار؛ برای انجام پروژه‌های مقدماتی تا پیشرفته با بوردهای سخت‌افزاری، باید به زبان‌های C، C++ یا مایکروپایتون مسلط شوید.
  • طراحی و برنامه‌نویسی سیستم‌های امبدد؛ اگر تسلط کافی بر برنامه‌نویسی و کار با بوردهای میکروکنترلی از پیش طراحی شده دارید، می‌توانید به طراحی بوردهای اختصاصی و کار با سیستم‌های نهان (embedded systems) فکر کنید. سیستم‌های امبدد مجموعه‌ای از سخت‌افزارها و نرم‌افزارها هستند که برای هدف خاصی طراحی و پیاده‌سازی می‌شوند. برای طراحی بوردهای اختصاصی معمولا از نرم‌افزارهایی از جمله آلتیوم دیزاینر (Altium Designer) استفاده می‌شود.

پیشنهاد ما در آکادمی تینگزپاد برای آغاز یادگیری اینترنت اشیا، شروع از مفاهیم الکترونیک و سخت‌افزار است تا ابتدا احساس ساخت یک محصول الکترونیکی را تجربه کنید و محصولات مختلفی را با کمک بوردهای از پیش آماده بسازید. سپس، می‌توانید با ادامه مسیر یادگیری، همین محصولات را به اینترنت و شبکه نیز متصل کنید.

 

مهارت‌های لازم در لایه شبکه

برای فعالیت در بخش شبکه اینترنت اشیا، بهتر است با مفاهیم زیر آشنا باشید. مفاهیم شبکه را می‌توان با هر کدام از پیش‌زمینه‌های سخت‌افزار و نرم‌افزار آموخت. در ابتدا بهتر است با شبکه‌های معمول و پرکاربرد کار خود را آغاز کنید که مستندات فنی معتبری برای رجوع موجود باشد.

  • مبانی شبکه؛ آشنایی با مقدمات شبکه شامل روتر (Router)، سوییچ شبکه و هاب شبکه و نحوه کار با آن‌ها.
  • توپولوژی شبکه؛ آشنایی با مفاهیم پورت (Port)، سوکت (Socket) و IP شبکه
  • بسترهای شبکه IoT؛ شبکه‌ اینترنت اشیا یا به صورت سیمی یا بی‌سیم است و اطلاعات را می‌توان از طریق پروتکل‌های مختلفی بر روی این بسترها انتقال داد. از انواع پروتکل‌های بیسیم پرکاربرد می‌توان به HTTP(s)، MQTT(s) و CoAP از پروتکل‌های سیمی پرکاربرد می‌توان به مادباس (Modbus) اشاره کرد. 
  • گیتوی‌های اینترنت اشیا؛ در پروژه‌های اینترنت اشیا از گیتوی‌های خاصی مانند گیتوی لوراون استفاده می‌شود. آشنایی با پروتکل LoRaWAN و نحوه تبادل اطلاعات با گیتوی آن می‌تواند یک سطح پیشرفته در یادگیری شبکه اینترنت اشیا باشد.

یک متخصص شبکه باید با انواع پروتکل‌ها و شبکه‌ها آشنا شود تا بتواند متناسب با ماهیت هر پروژه و در نظر گرفتن نوع اطلاعات، از شبکه ارتباطی مناسب استفاده کند. (نکاتی که باید هنگام انتخاب شبکه ارتباطی در نظر بگیرید.)

 

مهارت‌های لازم در لایه پردازش ابری

معمولا مهندسین نرم‌افزار و توسعه‌دهندگان بک اند (Back-end)، فرانت اند (Front-end) و تحلیلگران داده در این بخش فعالیت می‌کنند. در لایه سرور و کلود، باید به مبانی زیر مسلط شوید:

  • زبان‌های برنامه‌نویسی وب؛ از جمله پایتون، جاوا و جاوا اسکریپت یا هر زبان دیگری که برای برنامه‌نویسی وب استفاده می‌شود.
  • توسعه زیرساخت؛ آشنایی با مفاهیمی از جمله PaaS، SaaS و IaaS
  • پلتفرم‌های اینترنت اشیا؛ یادگیری کار با چند پلتفرم محبوب اینترنت اشیا از جمله AWS، Azure و تینگزبورد. یا می‌توانید از پلتفرم اینترنت اشیا تینگزپاد با پلن‌های رایگان و پشتیبانی 24 ساعته برای توسعه و یادگیری IoT استفاده کنید که تمامی فرآیندهای دریافت، پردازش، ذخیره و نمایش اطلاعات را در یک بستر جامع در اختیارتان قرار خواهد داد. کافی است سخت‌افزار خود را به این پلتفرم متصل کنید و با حداقل کدنویسی محصول خود را توسعه دهید.

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

 

مهارت‌های لازم در لایه اپلیکیشن

و در آخر، توسعه‌دهندگان اپلیکیشن‌های موبایل یا وب و طراحان رابط کاربری در این بخش از اینترنت اشیا به توسعه محصولات هوشمند کمک می‌کنند. دانش لازم جهت عضویت در یک تیم اینترنت اشیا برای هر کدام از این تخصص‌ها شامل موارد زیر است:

  • توسعه اپلیکیشن؛ آشنایی با فریمورک‌های موبایل و وب، شناخت سیستم‌ عامل‌های اندروید و IOS و تسلط بر زبان‌های برنامه‌نویسی جاوا (Java) یا سوییفت (Swift)
  • طراحی رابط و تجربه کاربری؛ آشنایی با اصول اولیه تحقیقات بازار در صنعت اینترنت اشیا و نرم‌افزارهای طراحی UI/UX از جمله فیگما (Figma) یا Adobe XD 

 

از کجا شروع کنم؟

هر فرد تعبیر متفاوتی از واژه «توسعه دهنده اینترنت اشیا» دارد. به طور کلی، یک توسعه دهنده IoT باید دانش اجمالی از اکثر مهارت‌های فوق داشته باشد و بتواند یک محصول اینترنت اشیا را به طور کامل پیاده‌سازی کند. اما، همانطور که دیدید توسعه یک محصول هوشمند مبتنی بر اینترنت اشیا نیازمند در کنار هم قرار گرفتن تخصص‌های متفاوتی است. هر چقدر که پروژه اینترنت اشیا شما بزرگ‌تر و پیچیده‌تر شود، به اعضای بیشتری با تخصص‌های خاص در هر حوزه احتیاج خواهید داشت. بنابراین، بهتر است با دنبال کردن آکادمی تینگزپاد و منابع آموزشی دیگر، همواره دانش خود را در تمامی لایه‌ها بروز کنید اما یک بخش را به عنوان تخصص اصلی خود برگزینید. مقالات و پروژه‌های تینگزپاد می‌توانند به شما کمک کنند تا علاقه‌مندی خود را راحت‌تر پیدا کنید. 

 

بعد از این مقاله، چکار کنم؟

حالا وقت این است که کلمات و مهارت‌های کلیدی هر لایه را جستجو کنید و با مفاهیم مقدماتی هر کدام آشنا شوید. برخی از آن‌ها در صفحه آکادمی تینگزپاد موجود است و برخی دیگر به زودی قرار خواهد گرفت. اما از سایر منابع و آموزش‌های بین المللی غافل نشوید!

پیشنهاد ما برای شروع، لایه فیزیکی و سخت‌افزار است. اگر آماده انجام یک پروژه ساده در بخش سخت‌افزار هستید، مقاله «برد بورد» را همین الآن مطالعه کنید. اگر هم آماده کد نویسی هستید، مقاله «آردوینو چیست» منتظر شماست.

راجع به این موضوع بیشتر می‌دانید؟ محتوای خود را برای ما ارسال کنید تا آن را با نام خودتان منتشر کنیم.

سریع‌تر از دیگران از اتفاقات با خبر شوید

در کمتر از یک دقیقه ثبت نام کرده و سریع‌تر از دیگران با جریان اطلاعات همراه شوید.