SQLite с Node-RED и Raspberry Pi
В этом проекте вы установите пакет SQLite для Node-RED и научитесь писать простые SQL-запросы для взаимодействия с базой данных SQLite.
Рекомендуемые ресурсы:
Вам понадобится плата Raspberry Pi — прочитайте Лучшие стартовые наборы Raspberry Pi
Если вам нравится домашняя автоматизация и вы хотите построить полноценную систему домашней автоматизации, рекомендуем скачать курс по домашней автоматизации.
Базовая настройка Raspberry Pi
Прежде чем продолжить чтение этого проекта, убедитесь, что на вашем Raspberry Pi установлена операционная система Raspbian.
Вы можете прочитать :doc:`Руководство по началу работы с Raspberry Pi </raspberry/rnt/getting-started-with-raspberry-pi/index>` для установки Raspbian и выполнения базовой настройки.
Установка SQLite
Следуйте следующему руководству, чтобы узнать, как установить базу данных SQLite на Raspberry Pi. SQLite должна быть установлена на вашем Raspberry Pi.
Установка Node-RED SQLite
Выполните приведённый ниже список команд для установки node-red-node-sqlite в вашу пользовательскую директорию Node-RED. Этот пакет предоставляет базовый доступ к базе данных SQLite.
pi@raspberry:~ $ sudo apt-get install npm
pi@raspberry:~ $ sudo npm install -g npm@2.x
pi@raspberry:~ $ hash -r
pi@raspberry:~ $ cd ~/.node-red
pi@raspberry:~/.node-red $ npm install node-red-node-sqlite
Перезапустите программное обеспечение Node-RED следующими командами, чтобы изменения вступили в силу:
pi@raspberrypi:~/.node-red $ cd
pi@raspberrypi:~ $ node-red-stop
pi@raspberrypi:~ $ node-red-start
Проверка установки
Когда программное обеспечение Node-RED снова запустится, вы можете открыть его, введя IP-адрес RPi в веб-браузере, за которым следует :1880, следующим образом:
http://YOUR_RPi_IP_ADDRESS:1880
В моём случае это:
http://192.168.1.98:1880
Новый узел под названием sqlite должен появиться слева на вкладке storage:
Создание потока (flow)
В этом потоке вы отправите 5 SQL-запросов (CREATE, INSERT, SELECT, DELETE и DROP) в вашу базу данных SQLite. Выполните следующие 10 шагов, чтобы создать свой поток:
Перетащите 5 узлов inject, 1 узел sqlite и 1 узел debug
Нажмите кнопку Add new sqlitedb
Введите /tmp/sqlite в поле Database
Настройте ваш узел inject CREATE следующим образом
CREATE TABLE dhtreadings(id INTEGER PRIMARY KEY AUTOINCREMENT, temperature NUMERIC, humidity NUMERIC, currentdate DATE, currenttime TIME, device TEXT)
Настройте ваш узел inject INSERT
INSERT INTO dhtreadings(temperature, humidity, currentdate, currenttime, device) values(22.4, 48, date('now'), time('now'), "manual")
Настройте ваш узел inject SELECT
SELECT * FROM dhtreadings
Настройте ваш узел inject DELETE следующим образом
DELETE from dhtreadings
Настройте ваш узел inject DROP
DROP TABLE dhtreadings
Соедините все ваши узлы
Чтобы сохранить ваше приложение, нажмите кнопку deploy в правом верхнем углу
Ваше приложение сохранено и готово к работе.
Тестирование потока
Давайте протестируем простой поток. Откройте окно debug и нажмите первый узел inject, чтобы запустить SQL-запрос CREATE. Затем выполните следующую процедуру:
CREATE
INSERT
SELECT
INSERT
SELECT
DELETE
DROP
Как вы можете видеть, схема базы данных была создана, данные были вставлены, вы можете выбрать данные из таблицы dhtreadings, удалить их и удалить таблицу.
Это очень базовый пример, который можно легко расширить для ваших собственных проектов.
Заключение
Эта статья является кратким руководством по отправке простых SQL-запросов в базу данных SQLite с помощью Node-RED. Вы можете применить эту концепцию для создания сложной базы данных, которая действительно хранит полезные показания.
Нравится домашняя автоматизация? Узнайте больше о Node-RED, Raspberry Pi, ESP8266 и Arduino с нашим курсом: Построй систему домашней автоматизации за $100.