Informatii generale
- Categorie: Utilitar
- Judetul: Vrancea
- Surse: GitHub - brickbotcnu/lights-on-cnu
Descriere
LightsOnCNU este o aplicație web creată pentru a controla luminile din sala de festivități a Colegiului Național „Unirea” Focșani.
Tehnologii
Am folosit PLC-uri Arduino Opta cu capabilități Ethernet pentru a face posibil controlul luminilor de la distanță. Am ales să folosim un Raspberry Pi pentru a hosta un site web și a oferi utilizatorilor o experiență interactivă. Acesta funcționează și ca server central ce controlează toate PLC-urile Arduino, printr-un protocol de comunicare creat de noi.
Pentru comunicarea dintre Server și Arduino, am realizat o rețea locală la care am conectat, prin Ethernet, Raspberry Pi-ul și toate dispozitivele Arduino. De asemenea, am configurat IP-uri statice în setările serverului DHCP. Am creat un protocol bidirecțional de comunicare, bazat pe AES-256-CBC pentru criptarea mesajului și pe HMAC-SHA256 pentru a dovedi autenticitatea mesajului, realizând în acest mod un protocol sigur. Datele criptate sunt transmise prin socket-uri TCP. PLC-urile primesc date pe port-ul 9090, în timp ce Serverul folosește port-ul 9091 pentru a primi mesaje de la dispozitive Arduino.
Serverul este scris în Node.js și folosește următoarele tehnologii:
- Express pentru webserver
- Socket.IO pentru comunicarea în timp real dintre webserver și utilizatorii web
- Modulul Node.js net-ping, folosit pentru a verifica dacă PLC-urile pot fi accesate din rețeaua locală
Cerinte sistem
Node.js v20 sau mai recent
128MB stocare
1GB RAM
Realizatori
Vlad-Robert Baciu
- Scoala: Colegiul Național „Unirea”
- Clasa: 11
- Judet: Vrancea
- Oras: Câmpineanca
Cristian Gurguiatu
- Scoala: Colegiul Național Unirea
- Clasa: 11
- Judet: Vrancea
- Oras: Focsani