Ці бібліотеки допоможуть вам у розробці IoT.
Для системи IoT потрібно більше, ніж бібліотеки
Залежно від того, що ви бажаєте, ви будете мати різні вимоги до розгортання IoT. Якщо ви хочете використовувати його для автоматизації свого будинку, вам не вдасться встигнути запустити його. Після підтримки вашого конкретного обладнання вам потрібно буде врахувати протоколи, які ви будете використовувати.
Вам знадобиться сервер, який збирає, аналізує та представляє ваші дані для більш просунутих проектів. Ну, у вас є цілі сервіси для цього в рамках розширених хмарних послуг, звичайно за ціною. Є рішення, які ви можете створювати та розробляти самостійно, незалежно від постачальника хмарних послуг. Що вам потрібно підтримати, це протоколи.
Ці протоколи обробляють повідомлення за моделлю публікації-передплати, що робить її дуже ефективною для невеликих пакетів повідомлень. Точно те, що повинні робити ваші рішення IoT. Якщо ви транслюєте відео, ми говоримо про різні послуги.
MQTT - Це потрібно для надсилання даних із мікроконтролерів на сервери. Ви можете запустити свій власний сервер за допомогою Mosquitto, посередника повідомлень з відкритим кодом. Ви можете покласти це на що завгодно, від одноплатного комп'ютера до хмарного сервера.
SMQ - Це захищена версія MQTT.
Для роботи з радіоприймачем потрібно щось, що вимагає надзвичайно низької потужності. Щоб вирішити цю проблему, ви можете використовувати власний протокол LoRa, що належить Semtech. Для цього існує безліч плат і шлюзів. Зверніть увагу, що ви також можете використовувати Wi-Fi, але переконайтесь, що ваш пристрій підтримує його, і врахуйте потужність, яка йому потрібна.
Ось кілька посилань на бібліотеки, що використовують LoRa / LoRaWAN:
- https: // github.com / dragino / arduino-lmic
- https: // github.com / IOT-MCU / LoRa-Radio-Node-v1.0
Альтернативою LoRa з відкритим кодом є DASH7; тут ви можете знайти апаратне забезпечення та іншу інформацію, а також набори для розробки від WizziLab.
Більше послідовників використовують дошки та бібліотеки SigFox для малопотужних широкосмугових мереж. Зверніть увагу, що це тягне за собою мережу, подібну до мобільного оператора, і прямий контакт із хмарою.
Бібліотеки протоколів
Для кожного з протоколів вам знадобляться бібліотеки. Зазвичай ви отримуєте документацію із придбаного обладнання. Однак, можливо, ви захочете прочитати більше про це, перш ніж робити покупки. Існують також бібліотеки для кінця сервера, тому майте на увазі, що ви хочете знати, чи можна використовувати хмарний сервіс. Дійсно, ви хочете переконатися, що ваш проект можна запустити БЕЗ хмарного з’єднання. Автоматизація вашої теплиці може не вимагати від вас її контролю з Інтернету.
Бібліотеки LoRA
LoRa має власний союз, де ви можете переглядати його технічні характеристики та інші речі. Ви можете знайти бібліотеку для вузла на https: // github.com / Lora-net / LoRaMac-вузол. Це стандарт, який призначений для використання мережі, подібної до мобільних стільникових мереж, які ми всі любимо ненавидіти. Однак ви можете встановити власний шлюз і підключити його до локального сервера.
Бібліотеки DASH7
DASH7 - це також союз, спрямований більше на промислове застосування. Ви все ще можете використовувати його для домашніх проектів, оскільки він повністю відкритий. На https: // github є хороша бібліотека.com / MOSAIC-LoPoW / dash7-ap-open-source-stack. Використовуйте його, щоб запустити вузол, який обробляє кілька пристроїв вдома. Якщо ви так похилились, існує також підтримка Python: https: // github.com / MOSAIC-LoPoW / pyd7a!
Бібліотеки MQTT
MQTT - один із найбільш часто використовуваних протоколів у просторі IoT. Він походить із власного протоколу, який був випущений як безкоштовне програмне забезпечення. Тут ви знайдете багато інформації. Клієнтська бібліотека для використання на ESP32 та ESP8266 доступна та активна на GitHub: https: // github.com / plapointe6 / EspMQTTClient
Бібліотеки SMQ
SMQ має найбільшу підтримку від компанії Relatimelogic, штату Каліфорнія, яка проводить багато консультацій. Вони розміщують кілька сховищ на GitHub: https: // github.com / RealTimeLogic / SMQ /. Ви можете клонувати це і скомпілювати його у власній системі. Вони також надають IDE та компілятор як віртуальний пристрій (файл OVF!), щоб ви могли виконувати все своє кодування в цій ВМ.
SigFox
SigFox управляє власною мережею для підключення. У них є бібліотека Arduino на сайті Arduino: https: // www.arduino.cc / en / Reference / SigFox
Апаратні бібліотеки
Як уже згадувалося раніше, спочатку потрібно вибрати обладнання, а потім знайти бібліотеки, що відповідають вашому обладнанню.
Рамки
Коли ви серйозно ставитесь до цього, можливо, ви захочете підключити все це до якоїсь хмари. Ось кілька порад.
Дошка речей
Thingsboard пропонує хмарний сервіс, де ви можете розмістити всі свої послуги та дані. Професійне видання починається з 10 доларів на місяць, але ви можете встановити спільне видання на Ubuntu, CentOS та інших. Екземпляри Docker також доступні на їх веб-сайті. Ви також можете клонувати джерело з GitHub.
DeviceHive
DeviceHive має сервери, бібліотеки клієнтів та багато прикладних проектів на своїй сторінці GitHub.
MainFlux
Mainflux є членами Linux Foundation, не менше! Отже, тут їм потрібна згадка. Перегляньте їхні пропозиції з відкритим кодом! Це консалтингова фірма, тому її веб-сторінка виглядає професійно та має багато вмісту.
Вузол-ЧЕРВОНИЙ
Якщо ви веб-розробник, пам’ятайте про головну основу роботи в Node.js. Використовуйте його для створення логіки та обробки. https: // nodered.орг /
Висновок
Перш ніж розпочати проект IoT, знайдіть трохи часу, щоб подумати про загальну систему; Ви збираєтеся керувати чимось дрібним у власному будинку чи саду, чи прагнете все вище і далі. Є багато способів підключити свою самополивну рослину до хмарної служби, але чи це те, що ви шукаєте?