Система моніторингу навколишнього середовища та керування актуаторами на базі Arduino Uno R4 WiFi та ПК-клієнта.
Цей проект реалізує комплексну IoT систему, що складається з прошивки мікроконтролера та клієнтського застосунку для ПК. Arduino частина зчитує показники з сенсорів BME680 (температура, вологість, тиск, газ), керує сервоприводами та зовнішніми світлодіодами (LED), а також програє анімацію на вбудованій LED-матриці. ПК частина (Receiver) отримує дані через Serial-порт, обробляє їх та зберігає історію подій у базі даних SQLite.
- Hardware:
- Arduino Uno R4 WiFi
- Сенсори BME680 (I2C/SPI інтерфейс)
- Сервопривід (Servo)
- Світлодіоди (LED): Червоний та Жовтий (підключення до GPIO)
- USB-кабель (Type-C)
- PC Software (Linux Recommended):
- OS: Linux (проект використовує системні виклики
pthread,rtта шлях/dev/ttyACM0) - C++ Compiler: з підтримкою стандарту C++20
- CMake: версія 4.0 (або новіша)
- Libraries:
sqlite3,libserial(абоvendor/serial),pthread
- OS: Linux (проект використовує системні виклики
- Arduino Software:
- PlatformIO (VS Code Extension)
- Framework: Arduino (Renesas RA)
-
Клонування репозиторію:
git clone [https://github.com/rabilint/cursova.git](https://github.com/rabilint/cursova.git) cd cursova -
Виправлення шляхів (Arduino): Проект містить абсолютні шляхи до бібліотек, специфічні для середовища розробника. Перед компіляцією необхідно замінити їх у всіх файлах папки
Arduino/src/таArduino/include/.- Використовуйте "Find and Replace" у вашому редакторі.
- Шукати:
/home/rabilint/CLionProjects/cursova/Arduino/lib/...(або подібні довгі шляхи). - Замінити на: Відповідні стандартні include або ваші абсолютні посилання на файли.
Приклад (main.cpp, BME680_Sensor.h та ін.):
// Змінити це: #include "/home/rabilint/CLionProjects/cursova/Arduino/lib/Adafruit_BME680-master/Adafruit_BME680.h" // На це: #include <Adafruit_BME680.h>
-
Запуск Arduino:
- Відкрийте папку
Arduinoу VS Code (PlatformIO). - Підключіть плату.
- Виконайте Upload.
- Відкрийте папку
-
Компіляція ПК-частини (Receiver):
cd PC_part/Receiver mkdir build cd build cmake .. make
- Підключіть Arduino до USB.
- Переконайтеся, що порт доступний як
/dev/ttyACM0.- Якщо порт інший, змініть
SerialCommunicator("/dev/ttyACM0", ...)уPC_part/Receiver/main.cpp.
- Якщо порт інший, змініть
- Запустіть приймач:
./Receiver
- Слідуйте підказкам у консолі для введення команд.
Поширені проблеми:
- CMake Error: Якщо ваша версія CMake старіша за 4.0, змініть перший рядок у
CMakeLists.txtнаcmake_minimum_required(VERSION 3.20)(може знадобитися перевірка сумісності). - Compilation Error (No such file): Ви пропустили якийсь файл при заміні абсолютних шляхів. Перевірте помилки компілятора, щоб знайти точний файл і рядок.
- Permission denied:
sudo chmod a+rw /dev/ttyACM0
Contributors names and contact info:
- rabilint GitHub Profile
- 0.1
- Initial Release
This project is licensed under the Public Domain (Unlicense) - see the LICENSE file for details (if present), or consider it free to use.