# Вступ до IoT ![Скетчноут з оглядом цього уроку](../../../../../translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.uk.jpg) > Скетчноут від [Nitya Narasimhan](https://github.com/nitya). Натисніть на зображення, щоб побачити його у більшому розмірі. Цей урок був проведений у рамках серії [Hello IoT](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) від [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn). Урок складався з двох відео: годинного заняття та годинної сесії запитань і відповідей, де детальніше розглядалися окремі частини уроку. [![Урок 1: Вступ до IoT](https://img.youtube.com/vi/bVFfcYh6UBw/0.jpg)](https://youtu.be/bVFfcYh6UBw) [![Урок 1: Вступ до IoT - Сесія запитань і відповідей](https://img.youtube.com/vi/YI772q5v3yI/0.jpg)](https://youtu.be/YI772q5v3yI) > 🎥 Натисніть на зображення вище, щоб переглянути відео ## Тест перед лекцією [Тест перед лекцією](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/1) ## Вступ Цей урок охоплює деякі базові теми, пов'язані з Інтернетом речей (IoT), і допоможе вам налаштувати ваше обладнання. На цьому уроці ми розглянемо: * [Що таке "Інтернет речей"?](../../../../../1-getting-started/lessons/1-introduction-to-iot) * [Пристрої IoT](../../../../../1-getting-started/lessons/1-introduction-to-iot) * [Налаштування вашого пристрою](../../../../../1-getting-started/lessons/1-introduction-to-iot) * [Застосування IoT](../../../../../1-getting-started/lessons/1-introduction-to-iot) * [Приклади IoT-пристроїв, які можуть бути навколо вас](../../../../../1-getting-started/lessons/1-introduction-to-iot) ## Що таке "Інтернет речей"? Термін "Інтернет речей" був вперше запропонований [Кевіном Ештоном](https://wikipedia.org/wiki/Kevin_Ashton) у 1999 році для позначення підключення Інтернету до фізичного світу за допомогою сенсорів. З того часу цей термін використовується для опису будь-якого пристрою, який взаємодіє з фізичним світом, збираючи дані за допомогою сенсорів або забезпечуючи взаємодію через актуатори (пристрої, які виконують певні дії, наприклад, вмикають перемикач або запалюють світлодіод), зазвичай підключені до інших пристроїв або Інтернету. > **Сенсори** збирають інформацію з навколишнього світу, наприклад, вимірюючи швидкість, температуру або місцезнаходження. > > **Актуатори** перетворюють електричні сигнали у фізичні дії, такі як активація перемикача, увімкнення світла, створення звуків або надсилання керуючих сигналів до іншого обладнання, наприклад, для увімкнення розетки. IoT як технологічна галузь включає не лише пристрої, але й хмарні сервіси, які можуть обробляти дані сенсорів або надсилати запити до актуаторів, підключених до IoT-пристроїв. Вона також охоплює пристрої, які не мають або не потребують підключення до Інтернету, часто звані пристроями на краю (edge devices). Це пристрої, які можуть самостійно обробляти та реагувати на дані сенсорів, зазвичай використовуючи моделі штучного інтелекту, навчені у хмарі. IoT є швидкозростаючою технологічною галуззю. За оцінками, до кінця 2020 року було розгорнуто та підключено до Інтернету 30 мільярдів IoT-пристроїв. У майбутньому, за прогнозами, до 2025 року IoT-пристрої збиратимуть майже 80 зетабайтів даних, або 80 трильйонів гігабайтів. Це величезна кількість даних! ![Графік, що показує кількість активних IoT-пристроїв з часом, з тенденцією зростання з менш ніж 5 мільярдів у 2015 році до понад 30 мільярдів у 2025 році](../../../../../images/connected-iot-devices.svg) ✅ Проведіть невелике дослідження: Скільки даних, згенерованих IoT-пристроями, насправді використовується, а скільки ігнорується? Чому так багато даних залишається невикористаними? Ці дані є ключем до успіху IoT. Щоб стати успішним розробником IoT, вам потрібно розуміти, які дані потрібно збирати, як їх збирати, як приймати рішення на їх основі та як використовувати ці рішення для взаємодії з фізичним світом, якщо це необхідно. ## IoT-пристрої **T** у IoT означає **Things** (речі) — пристрої, які взаємодіють із фізичним світом навколо них, збираючи дані за допомогою сенсорів або забезпечуючи фізичну взаємодію через актуатори. Пристрої для виробничого або комерційного використання, такі як фітнес-трекери для споживачів або промислові контролери машин, зазвичай виготовляються на замовлення. Вони використовують спеціальні друковані плати, а іноді навіть спеціальні процесори, розроблені для виконання конкретних завдань, наприклад, бути достатньо маленькими, щоб поміститися на зап'ясті, або достатньо міцними, щоб працювати в умовах високих температур, стресу чи вібрацій на виробництві. Як розробник, який вивчає IoT або створює прототип пристрою, вам потрібно буде почати з набору для розробників. Це універсальні IoT-пристрої, розроблені для використання розробниками, часто з функціями, які не були б потрібні у виробничому пристрої, наприклад, набір зовнішніх контактів для підключення сенсорів або актуаторів, апаратне забезпечення для налагодження або додаткові ресурси, які б збільшили вартість при масовому виробництві. Ці набори для розробників зазвичай поділяються на дві категорії — мікроконтролери та одноплатні комп'ютери. Вони будуть представлені тут, а в наступному уроці ми розглянемо їх детальніше. > 💁 Ваш телефон також можна вважати універсальним IoT-пристроєм із вбудованими сенсорами та актуаторами, які різні додатки використовують по-різному разом із різними хмарними сервісами. Ви навіть можете знайти деякі уроки IoT, які використовують додаток на телефоні як IoT-пристрій. ### Мікроконтролери Мікроконтролер (також відомий як MCU, скорочення від microcontroller unit) — це невеликий комп'ютер, що складається з: 🧠 Одного або кількох центральних процесорів (CPU) — "мозку" мікроконтролера, який виконує вашу програму 💾 Пам'яті (RAM і пам'яті для програм) — де зберігаються ваша програма, дані та змінні 🔌 Програмованих входів/виходів (I/O) — для взаємодії із зовнішніми пристроями (підключеними сенсорами або актуаторами) Мікроконтролери зазвичай є недорогими обчислювальними пристроями, середня ціна яких для використання у спеціальному обладнанні знижується до приблизно 0,50 долара США, а деякі пристрої коштують лише 0,03 долара США. Набори для розробників можуть починатися від 4 доларів США, а їхня вартість зростає зі збільшенням кількості функцій. [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), набір для розробників мікроконтролерів від [Seeed studios](https://www.seeedstudio.com), який має сенсори, актуатори, WiFi та екран, коштує близько 30 доларів США. ![Wio Terminal](../../../../../translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.uk.png) > 💁 Шукаючи в Інтернеті мікроконтролери, будьте обережні з пошуком терміну **MCU**, оскільки це може призвести до великої кількості результатів, пов'язаних із кінематографічним всесвітом Marvel, а не з мікроконтролерами. Мікроконтролери розроблені для виконання обмеженої кількості дуже специфічних завдань, а не для загального використання, як ПК або Mac. За винятком дуже специфічних сценаріїв, ви не зможете підключити до них монітор, клавіатуру та мишу для виконання загальних завдань. Набори для розробників мікроконтролерів зазвичай мають додаткові вбудовані сенсори та актуатори. Більшість плат мають один або кілька програмованих світлодіодів, а також інші пристрої, такі як стандартні роз'єми для підключення додаткових сенсорів або актуаторів із використанням екосистем різних виробників або вбудовані сенсори (зазвичай найпопулярніші, наприклад, сенсори температури). Деякі мікроконтролери мають вбудовану бездротову підключеність, таку як Bluetooth або WiFi, або додаткові мікроконтролери на платі для забезпечення цієї підключеності. > 💁 Мікроконтролери зазвичай програмуються мовами C/C++. ### Одноплатні комп'ютери Одноплатний комп'ютер — це невеликий обчислювальний пристрій, який містить усі елементи повноцінного комп'ютера на одній невеликій платі. Це пристрої, які мають характеристики, близькі до настільного комп'ютера або ноутбука, працюють під управлінням повноцінної операційної системи, але є меншими, споживають менше енергії та значно дешевші. ![Raspberry Pi 4](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.uk.jpg) Raspberry Pi — один із найпопулярніших одноплатних комп'ютерів. Як і мікроконтролер, одноплатні комп'ютери мають CPU, пам'ять і контакти вводу/виводу, але вони мають додаткові функції, такі як графічний чип для підключення моніторів, аудіовиходи та USB-порти для підключення клавіатур, мишей та інших стандартних USB-пристроїв, таких як вебкамери або зовнішні накопичувачі. Програми зберігаються на SD-картах або жорстких дисках разом із операційною системою, замість пам'яті, вбудованої в плату. > 🎓 Ви можете уявити одноплатний комп'ютер як меншу, дешевшу версію ПК або Mac, на якому ви зараз читаєте цей текст, з додатковими контактами GPIO (загального призначення) для взаємодії із сенсорами та актуаторами. Одноплатні комп'ютери є повноцінними комп'ютерами, тому їх можна програмувати будь-якою мовою. IoT-пристрої зазвичай програмуються мовою Python. ### Вибір обладнання для наступних уроків Усі наступні уроки включають завдання з використанням IoT-пристрою для взаємодії з фізичним світом і спілкування з хмарою. Кожен урок підтримує 3 варіанти пристроїв — Arduino (з використанням Seeed Studios Wio Terminal) або одноплатний комп'ютер, фізичний пристрій (Raspberry Pi 4) або віртуальний одноплатний комп'ютер, що працює на вашому ПК або Mac. Ви можете ознайомитися з обладнанням, необхідним для виконання всіх завдань, у [керівництві з обладнання](../../../hardware.md). > 💁 Вам не потрібно купувати жодного IoT-обладнання для виконання завдань, усе можна зробити за допомогою віртуального одноплатного комп'ютера. Яке обладнання вибрати — залежить від вас. Це залежить від того, що у вас є вдома чи в школі, а також від того, яку мову програмування ви знаєте або плануєте вивчати. Обидва варіанти обладнання використовуватимуть ту саму екосистему сенсорів, тому, якщо ви почнете з одного варіанту, ви зможете перейти на інший без необхідності замінювати більшість комплекту. Віртуальний одноплатний комп'ютер буде еквівалентом навчання на Raspberry Pi, причому більшість коду можна буде перенести на Pi, якщо ви згодом отримаєте пристрій і сенсори. ### Набір для розробників Arduino Якщо вас цікавить розробка мікроконтролерів, ви можете виконувати завдання, використовуючи пристрій Arduino. Вам знадобиться базове розуміння програмування мовами C/C++, оскільки уроки будуть навчати лише коду, що стосується фреймворку Arduino, сенсорів і актуаторів, які використовуються, а також бібліотек для взаємодії з хмарою. Завдання будуть виконуватися за допомогою [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn) із розширенням [PlatformIO для розробки мікроконтролерів](https://platformio.org). Ви також можете використовувати Arduino IDE, якщо маєте досвід роботи з цим інструментом, оскільки інструкції надаватися не будуть. ### Набір для розробників одноплатних комп'ютерів Якщо вас цікавить розробка IoT із використанням одноплатних комп'ютерів, ви можете виконувати завдання, використовуючи Raspberry Pi або віртуальний пристрій, що працює на вашому ПК або Mac. Вам знадобиться базове розуміння програмування мовою Python, оскільки уроки будуть навчати лише коду, що стосується сенсорів і актуаторів, які використовуються, а також бібліотек для взаємодії з хмарою. > 💁 Якщо ви хочете навчитися програмувати мовою Python, ознайомтеся з наступними двома відеосеріями: > > * [Python для початківців](https://channel9.msdn.com/Series/Intro-to-Python-Development?WT.mc_id=academic-17441-jabenn) > * [Більше Python для початківців](https://channel9.msdn.com/Series/More-Python-for-Beginners?WT.mc_id=academic-7372-jabenn) Завдання будуть виконуватися за допомогою [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn). Якщо ви використовуєте Raspberry Pi, ви можете або працювати на Pi, використовуючи повну десктопну версію Raspberry Pi OS, і виконувати весь код безпосередньо на Pi за допомогою [версії VS Code для Raspberry Pi OS](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn), або використовувати Pi як пристрій без монітора та працювати з ним із вашого ПК або Mac за допомогою VS Code із розширенням [Remote SSH](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn), яке дозволяє підключатися до Pi і редагувати, налагоджувати та виконувати код так, ніби ви працюєте безпосередньо на ньому. Якщо ви використовуєте віртуальний пристрій, ви будете працювати безпосередньо на вашому комп'ютері. Замість доступу до сенсорів і актуаторів ви будете використовувати інструмент для симуляції цього обладнання, задаючи значення сенсорів і спостерігаючи результати роботи актуаторів на екрані. ## Налаштування вашого пристрою Перш ніж почати програмувати ваш Io 💁 Якщо у вас ще немає пристрою, зверніться до [посібника з обладнання](../../../hardware.md), щоб визначитися, який пристрій ви будете використовувати, і яке додаткове обладнання потрібно придбати. Вам не обов’язково купувати обладнання, оскільки всі проєкти можна запускати на віртуальному обладнанні. Ці інструкції включають посилання на сторонні вебсайти від виробників обладнання або інструментів, які ви будете використовувати. Це зроблено для того, щоб ви завжди мали найактуальніші інструкції для різних інструментів та обладнання. Пройдіть відповідний посібник, щоб налаштувати свій пристрій і завершити проєкт "Hello World". Це буде першим кроком у створенні IoT-нічника протягом 4 уроків у цій вступній частині. * [Arduino - Wio Terminal](wio-terminal.md) * [Одноплатний комп'ютер - Raspberry Pi](pi.md) * [Одноплатний комп'ютер - Віртуальний пристрій](virtual-device.md) ✅ Ви будете використовувати VS Code як для Arduino, так і для одноплатних комп'ютерів. Якщо ви ще не працювали з ним, дізнайтеся більше на [сайті VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn). ## Застосування IoT IoT охоплює величезний спектр варіантів використання, які можна розділити на кілька основних груп: * Споживчий IoT * Комерційний IoT * Промисловий IoT * Інфраструктурний IoT ✅ Проведіть невелике дослідження: для кожної з описаних нижче сфер знайдіть один конкретний приклад, який не наведений у тексті. ### Споживчий IoT Споживчий IoT стосується IoT-пристроїв, які споживачі купують і використовують вдома. Деякі з цих пристроїв надзвичайно корисні, наприклад, розумні колонки, системи розумного опалення та роботизовані пилососи. Інші викликають сумніви щодо їхньої корисності, наприклад, крани з голосовим управлінням, які неможливо вимкнути, якщо голосове управління не чує вас через шум води. Пристрої споживчого IoT допомагають людям досягати більшого у своєму середовищі, особливо 1 мільярду людей з інвалідністю. Роботизовані пилососи забезпечують чистоту підлоги для людей з обмеженою рухливістю, які не можуть пилососити самостійно, духовки з голосовим управлінням дозволяють людям з обмеженим зором або моторикою нагрівати духовки лише за допомогою голосу, а монітори здоров'я дозволяють пацієнтам самостійно контролювати хронічні захворювання з більш регулярними та детальними оновленнями про їхній стан. Ці пристрої стають настільки поширеними, що навіть маленькі діти використовують їх у повсякденному житті, наприклад, школярі під час дистанційного навчання під час пандемії COVID встановлювали таймери на розумних домашніх пристроях, щоб відстежувати свою навчальну діяльність або нагадувати про майбутні заняття. ✅ Які споживчі IoT-пристрої є у вас вдома або при вас? ### Комерційний IoT Комерційний IoT охоплює використання IoT на робочому місці. В офісах можуть бути датчики зайнятості та руху для управління освітленням і опаленням, щоб вмикати їх лише за потреби, зменшуючи витрати та викиди вуглецю. На фабриках IoT-пристрої можуть контролювати безпеку, наприклад, перевіряти, чи працівники носять каски, або вимірювати рівень шуму, що досяг небезпечних значень. У роздрібній торгівлі IoT-пристрої можуть вимірювати температуру в холодильниках, попереджаючи власника магазину, якщо температура виходить за межі норми, або відстежувати товари на полицях, щоб направляти працівників для поповнення запасів. Транспортна галузь все більше покладається на IoT для моніторингу місцезнаходження транспортних засобів, відстеження пробігу для дорожніх зборів, контролю за дотриманням водіями графіків роботи та відпочинку або повідомлення персоналу про наближення транспортного засобу до депо для підготовки до завантаження чи розвантаження. ✅ Які комерційні IoT-пристрої є у вашій школі чи на робочому місці? ### Промисловий IoT (IIoT) Промисловий IoT, або IIoT, стосується використання IoT-пристроїв для управління та контролю обладнання у великих масштабах. Це охоплює широкий спектр варіантів використання, від фабрик до цифрового сільського господарства. На фабриках IoT-пристрої використовуються різними способами. Обладнання може контролюватися за допомогою численних датчиків, які відстежують температуру, вібрацію та швидкість обертання. Ці дані можуть бути використані для зупинки машини, якщо вона виходить за межі допустимих параметрів, наприклад, перегрівається. Дані також можуть збиратися та аналізуватися з часом для проведення прогнозного обслуговування, коли моделі штучного інтелекту аналізують дані, що передували поломці, і використовують їх для прогнозування інших несправностей до їх виникнення. Цифрове сільське господарство є важливим для забезпечення продовольством зростаючого населення, особливо для 2 мільярдів людей у 500 мільйонах домогосподарств, які займаються [натуральним сільським господарством](https://wikipedia.org/wiki/Subsistence_agriculture). Цифрове сільське господарство може варіюватися від кількох недорогих датчиків до масштабних комерційних систем. Фермер може почати з моніторингу температури та використання [градусів зростання](https://wikipedia.org/wiki/Growing_degree-day) для прогнозування часу збору врожаю. Вони можуть підключити датчики вологості ґрунту до автоматизованих систем поливу, щоб забезпечити рослини необхідною кількістю води, але не більше, щоб уникнути пересихання або марнування води. Деякі фермери йдуть ще далі, використовуючи дрони, супутникові дані та штучний інтелект для моніторингу росту врожаю, хвороб і якості ґрунту на великих площах сільськогосподарських угідь. ✅ Які інші IoT-пристрої могли б допомогти фермерам? ### Інфраструктурний IoT Інфраструктурний IoT стосується моніторингу та управління місцевою та глобальною інфраструктурою, яку люди використовують щодня. [Розумні міста](https://wikipedia.org/wiki/Smart_city) — це урбанізовані території, які використовують IoT-пристрої для збору даних про місто та покращення його функціонування. Такі міста зазвичай управляються у співпраці місцевих органів влади, академічних установ і місцевого бізнесу, відстежуючи та керуючи різними аспектами, від транспорту до паркування та забруднення. Наприклад, у Копенгагені, Данія, якість повітря є важливою для місцевих жителів, тому її вимірюють, а дані використовують для надання інформації про найчистіші маршрути для велосипедистів і бігунів. [Розумні енергомережі](https://wikipedia.org/wiki/Smart_grid) дозволяють краще аналізувати попит на електроенергію, збираючи дані про споживання на рівні окремих домогосподарств. Ці дані можуть допомогти приймати рішення на рівні країни, наприклад, де будувати нові електростанції, а також на особистому рівні, надаючи користувачам інформацію про те, скільки енергії вони споживають, коли вони це роблять, і навіть пропозиції щодо зниження витрат, наприклад, заряджати електромобілі вночі. ✅ Якби ви могли додати IoT-пристрої для вимірювання чого-небудь у вашому місті, що б це було? ## Приклади IoT-пристроїв, які можуть бути навколо вас Ви здивуєтеся, скільки IoT-пристроїв вас оточує. Я пишу це з дому, і у мене є такі пристрої, підключені до Інтернету з розумними функціями, як-от управління через додаток, голосове управління або можливість надсилати дані на мій телефон: * Кілька розумних колонок * Холодильник, посудомийна машина, духовка та мікрохвильова піч * Електролічильник для сонячних панелей * Розумні розетки * Відеодзвінок і камери безпеки * Розумний термостат із кількома датчиками для кімнат * Відкривач гаражних воріт * Домашні розважальні системи та телевізори з голосовим управлінням * Освітлення * Трекери фітнесу та здоров'я Усі ці пристрої мають датчики та/або виконавчі механізми і підключені до Інтернету. Я можу перевірити зі свого телефону, чи відчинені гаражні ворота, і попросити розумну колонку зачинити їх. Я навіть можу встановити таймер, щоб вони автоматично зачинялися вночі. Коли дзвонить дверний дзвінок, я можу побачити, хто там, зі свого телефону, де б я не був, і поговорити з ними через динамік і мікрофон, вбудовані в дзвінок. Я можу контролювати рівень глюкози в крові, частоту серцевих скорочень і якість сну, аналізуючи дані для покращення свого здоров'я. Я можу керувати освітленням через хмару і залишитися в темряві, якщо зникне Інтернет. --- ## 🚀 Виклик Перерахуйте якомога більше IoT-пристроїв, які є у вашому домі, школі чи на робочому місці — їх може бути більше, ніж ви думаєте! ## Післялекційний тест [Післялекційний тест](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/2) ## Огляд і самостійне навчання Дізнайтеся більше про переваги та недоліки споживчих IoT-проєктів. Перегляньте новинні сайти на предмет статей про випадки, коли щось пішло не так, наприклад, проблеми з конфіденційністю, апаратними засобами або через відсутність підключення. Деякі приклади: * Перегляньте Twitter-акаунт **[Internet of Sh*t](https://twitter.com/internetofshit)** *(попередження про ненормативну лексику)* для прикладів невдач у споживчому IoT. * [c|net - Мій Apple Watch врятував мені життя: 5 людей діляться своїми історіями](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/) * [c|net - Технік ADT визнав себе винним у шпигунстві за камерами клієнтів протягом років](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/) *(попередження про тригер - неконсенсуальне спостереження)* ## Завдання [Дослідіть IoT-проєкт](assignment.md) --- **Відмова від відповідальності**: Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.