Я работаю над проектом Интернета вещей (IoT). В своем проекте я работаю с медицинскими устройствами Интернета вещей.

Вот уроки, которые я извлек из этого проекта:

Сеть: вы должны знать, как работает сеть. Вы должны хорошо знать сетевые протоколы, такие как TCP и UDP. Если вы будете работать с устройствами Интернета вещей, имеющими несколько сетевых интерфейсов, вы должны знать о CIDR. Некоторые устройства IoT используют разные технологии, такие как Bluetooth и последовательный порт (COM) для передачи данных. Кроме того, существуют специальные сетевые технологии IoT, такие как LPWAN.

Структуры данных: устройства Интернета вещей используют разные структуры данных. Они склонны сжимать данные и отправлять / получать небольшие данные из-за ограниченных ресурсов. Некоторые старые устройства, преобразованные в Интернет вещей, используют странные способы обработки данных. Таким образом, вы должны знать о порядке байтов, числах и кодировках со знаком и без знака. Устройства Интернета вещей могут производить большие объемы данных. Разработайте свою систему для сохранения и обработки больших данных.

Параллельная обработка: у асинхронного программирования есть преимущества и недостатки. Каждая ситуация индивидуальна, и настоящего решения с помощью сумки для переноски не существует. Это не серебряная пуля. Вы должны знать различия между процессом и потоком, отладкой и отслеживанием асинхронных функций.

Создание встроенного программного обеспечения: теперь это проще, чем раньше. Вы можете легко создать конкретное решение с помощью Arduino, Raspberry Pi и многих других платформ. Мне не удалось найти IoT-устройство, которое бы соответствовало моим потребностям. Поэтому я решил разработать один. Информации об Arduino очень много. Я реализовал IoT-решение с Arduino за 3 дня.

Шифрование: оно необходимо не только для обеспечения конфиденциальности. Он также используется для аутентификации пользователей и проверки целостности сообщений с данными. Достаточно базового понимания шифрования. Для этого слишком много инструментов и библиотек.

Создание макета устройства: я работал над медицинским устройством Интернета вещей (дефибриллятор). Подготовка этого устройства и настройка настройки иногда занимают один час. Итак, я создал имитацию устройства, которое представляет собой полностью программное обеспечение, моделирующее это устройство. Я использовал это фиктивное устройство по слишком многим причинам: мониторинг трафика, проверка безопасности и целостности, но в основном для демонстрационных целей на собраниях. У нас было только одно устройство, но над макетом одновременно могли работать несколько разработчиков.

Как можно чаще используйте одно и то же устройство: измените конфигурацию - и вперед! Ничего не работает! Документы об устройствах Интернета вещей устарели. Не делайте предположений при изменении конфигурации или когда устройство IoT будет работать должным образом. Попробуй это!

Вы будете иметь дело с множеством кабелей, тройными вилками, батареями, отвертками, устройствами Wi-Fi, SD-картами, USB-флешками.

Работать с IoT-устройствами весело, когда все работает как положено :)

Исходное сообщение: https://www.saascommando.com/2020/06/lessons-i-learned-from-developing-iot.html