Це тема, над якою я думав деякий час, тим більше, що концепція "IoT" останнім часом багато розпливається.
Почну з того, що я маю на увазі, коли скажу «IoT» . Я знаю, що термін IoT може означати різні речі і що іноді його вживають. Це може бути термін, який не є чітко визначеним і може призвести до великих дискусій щодо того, що це точно означає, я сам не знаю правильного і широко прийнятого визначення цього терміна. Тож для мене IoT - це концепція, концепція, яка визначає можливість підключення до вбудованого пристрою дистанційно через Інтернет або з іншого вбудованого пристрою, або з мобільного телефону . Так просто.
У цьому контексті ціль цього з'єднання не має значення, чи можна підключити один пристрій у вашому офісі до іншого вдома або якщо ви можете підключитись до одного пристрою вдома зі свого мобільного телефону, і все це через Інтернет, то мова йде про пристрої IoT (вбудовані пристрої, а не телефон).
Отже, домовившись про те, що я маю на увазі під IoT, я зараз опишу те, чого намагаюся досягти.
Я намагаюся досягти саме того, що я описую в своєму визначенні IoT.
Я хочу, щоб один або кілька вбудованих пристроїв вдома були підключені до мого інтернет-маршрутизатора, або через Ethernet, або через Wi-Fi та мати можливість віддалено підключатися до них з іншими вбудованими пристроями у віддаленому місці (а віддаленим я маю на увазі не в тій же мережі) і, можливо, також мати можливість підключитися до них за допомогою програми моніторингу на моєму телефоні
Наприклад, у мене може бути простий вбудований пристрій, який працює як перемикач увімкнення / вимкнення, підключений до мого відкриття гаражних дверей, і інший вбудований пристрій, який працює як велика червона кнопка на моєму столі, так що я можу натиснути червону кнопку в своєму столі і двері гаража відкриваються.
Іншим прикладом може бути вбудований пристрій з можливостями АЦП, який може контролювати температуру мого будинку та надсилати мені сповіщення, коли він досягне порогу. Повідомлення може бути отримане або простим додатком для Android, або іншим вбудованим пристроєм з маленьким екраном, що сидить на моєму столі за роботою.
Ці приклади можуть бути нерозумними, але лише для того, щоб проілюструвати можливі сценарії та використовувати випадки для того, що я намагаюся досягти. Зрештою, ідея така ж, підключіть один вбудований пристрій до іншого через Інтернет.
Інша річ, яку слід уточнити, - це те, що обмін даними між цими пристроями буде дуже легким, всього пару байтів щоразу, не так, щоб сотні кілобайт потрібно було обмінюватись між пристроями.
Додатково, до типу "вбудованих пристроїв", які я маю на увазі, є прості, але здатні пристрої, засновані на мікроконтролерах cortex-m4 на 100 МГц або 200 МГц. І це важливо для уточнення, оскільки на цих пристроях не буде працювати жодна Linux або складна бібліотека. Зрештою, така трата ресурсів і зовсім непотрібна наявність потужного процесора під управлінням Linux, щоб увімкнути і вимкнути лампочку . У будь-якому випадку я планую використовувати як вбудовані пристрої BeagleBoard, Raspberry Pi або будь-яку іншу подібну дошку. Просто мікроконтролери, тому що не потрібно більше складності, ніж це.
Я мало знаю про платформи IoT та про такі складні рішення. Коли я розпочав цей шлях пошуку способу з'єднання одного вбудованого пристрою з іншим через Інтернет, я натрапив на кілька сайтів із послугами IoT.
Я знаю, що є такі хмарні сервіси IoT, як:
Тільки для назви декількох. Основні питання з ними - вартість та складність. Вам потрібно платити за отримання цих послуг, а також ви повинні навчитися реалізовувати всі послуги, які вони мають, якщо вам потрібні всі, та їх API та, можливо, купу інших речей, які мені не здаються потрібними здатний просто обмінятися деякими байтами між пристроями. Я просто хочу чогось більш простого, ніж те, що я можу зробити сам.
Ви можете сказати, що реалізація власної "хмари", якщо це щось, що я маю робити, не є простим, а іноді краще використовувати такі послуги заради простоти, але є дві основні причини, які я хочу знати, як це зробити впроваджувати власні послуги IoT.
Основна причина полягає в тому, що я хочу це зробити самостійно. Я не хочу покладатися на третю сторону для підключення своїх пристроїв один до одного, і оскільки я буду розробляти код і обладнання для своїх пристроїв, тоді мені також краще створити власні засоби для їх підключення як пристрої IoT.
Друга причина - навчитися це робити. Знаючи всі необхідні речі, які мені потрібні для досягнення цього, я буду краще розуміти світ ІОТ.
Крім того, я хочу зазначити, що я знаю C і використовую Linux як свою щоденну ОС як на роботі, так і вдома, тому, будь ласка, уникайте матеріалів для Windows, оскільки це для мене марно. Я не боюся нічого, що мені доведеться реалізувати в C для своїх вбудованих пристроїв або в Linux, щоб реалізувати все необхідне для досягнення своєї мети.
Отже, моє запитання полягає в тому, що потрібно реалізувати і де, щоб мати можливість з'єднати два або більше вбудованих пристроїв один до одного з метою обміну даними між ними?
Це питання Що я можу використовувати для створення IoT на власному сервері? мати щось подібне, але закрито і не має відповідей, а також передбачає використання вже наявної хмарної інфраструктури. Тож мені це не допомагає.
Цей інший пост Які послуги IoT доступні для зберігання / відправки / публікації загальних даних у хмарі? є подібне запитання, але ОП явно задає послуги IoT, і я намагаюся їх уникати.