Интернет вещей (IoT, Internet of Things) — концепция сети передачи данных между физическими объектами («вещами»), оснащёнными встроенными средствами и технологиями для взаимодействия друг с другом или с внешней средой.
Основная идея IoT заключается в создании масштабной сети, в которой миллионы устройств могут взаимодействовать между собой, собирать данные, анализировать их и предоставлять информацию для принятия решений или автоматического управления.
В нашем случае термин “IoT устройств” означает как раз подключение к глобальное или локальной сети некоторого числа устройств ,способных внедриться в сложную сеть таких же устройств. Разумеется, что чаще речь будет идти о подключении устройств в локальную сеть, т.к это проще, быстрее, безопаснее и, конечно же, дешевле.
Микрокомпьютер Raspberry Pi является отличным вариантом для создания IoT устройств. Он имеет все необходимые для этого компоненты. Наличие Bluetooth и WiFi модулей позволяет сделать из платы мощный контроллер различных устройств.
[!NOTE] Лично я, подключив Raspberry Pi к старенькому принтеру, сделал его “умным принтером”, который теперь имеет доступ к интернету и “память печати”.
Нет нужды больше вспоминать, где лежит провод от принтера. Берешь и печатаешь, хоть с телефона, удобно.
Как уже подразумевалось ранее, проект рассчитан преимущественно на работу с Raspberry Pi. В этом случае не требуется никаких критических вычислительных или графико-обрабатывающих ресурсов микрокомпьютера, поэтому подойдет даже самая первая версия платы.
Однако стоит помнить, что при расширении возможностей и функционала подключение более новой, а соответственно и более мощной версии платы может быть нелишним.
Использование Raspberry Pi для управления устройствами удаленно и подключения их к системе IoT (Интернет вещей) включает несколько этапов. Вот пошаговая инструкция:
ssh
в корень SD-карты)./etc/dhcpcd.conf
.Выберите платформу для управления IoT-устройствами:
Пример с использованием MQTT:
sudo apt update
sudo apt install mosquitto mosquitto-clients
Настройте Mosquitto для удаленного доступа, если Raspberry Pi будет выступать как MQTT-брокер.
Raspberry Pi имеет GPIO (General Purpose Input/Output) для взаимодействия с внешними устройствами:
RPi.GPIO
или gpiozero
.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH) # Включить
time.sleep(1)
GPIO.output(18, GPIO.LOW) # Выключить
GPIO.cleanup()
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
На момент написания нет четких инструкций и репозиториев с проектами в данной тематике.