Popis projektu

V čase letných prázdnin som pracoval na IoT projekte. Projekt pozostáva zo solárneho panelu, ktorý privádza prúd do čipu INA219 Vin+. INA219 Vin- prúd smeruje do spotrebiča, ktorý som zvolil výkonový rezistor a následne sa vracia späť do solárneho panela.

Čip INA219 je napájaný cez ESP32S3. Využíva I2C zbernicu a posiela dáta do ESP32 cez dátovú linku SDA a časovú linku SCL.

Webová stránka pozostáva z backendu reprezentovaným frameworkom django (vrátane knižníc djangorestframework a django-cors-headers). Spustenie django prebieha cez read_serial. Frontend sa spúšťa cez react+vite a npm framework. Webová stránka obsahuje záložky Dashboard (ukazujúci realtime dáta), História, Správu zariadení. Správa zariadení má implementovanú CRUD logiku a je možné ju vyvojársky upravovať aj cez framework django. Každé zariadenie má priradené vlastné nezameniteľné ID. Zatiaľ nie je meniť formu komunikácie (napr. z wifi na UART) toho istého zariadenia, je nutné pridať zariadenie s novým nastavením komunikácie. V databáze je každé zariadenie tiež uložené formou JSON rovnako ako sú uložené merané dáta.

Špecifikácia

Hardvér: Breadboard, vodiče, výkonový rezistor 330 Ω, ESP32S3, INA219, Adafruit ILI9341, solárny panel

Softvér: Arduino IDE, django, react+vite, dbsqlite

Microcontrollery a čipy: ESP32S3, INA219 čip na meranie elektrického prúdu a napätia

Komunikácia medzi ESP32 a PC: UART a Wifi

Unix timestap: Áno (musí byť povolená premená pre Wifi v kóde)

Databáza: dbsqlite3

Forma a spôsob posielania dát: JSON formát cez API

Vizualizácia dát: webová stránka v PC (hlavný) a Adafruit ILI9341 (vedľajší)

Bezpečnosť projektu: hardvér (dobrá), softvér (slabá – kód v ESP32 obsahuje dáta o IP adrese, názov a heslo wifi siete)

Prezentácia o projekte

Categories: Uncategorized

0 Comments

Leave a Reply

Avatar placeholder