This shows you the differences between two versions of the page.
|
pm:prj2024:mdinica:andrei.anghelescu [2024/05/17 01:58] andrei.anghelescu |
pm:prj2024:mdinica:andrei.anghelescu [2024/05/30 01:30] (current) andrei.anghelescu |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| padding: 0; | padding: 0; | ||
| } | } | ||
| + | .github-link { | ||
| + | display: flex; | ||
| + | align-items: center; | ||
| + | text-decoration: none; | ||
| + | color: #0366d6; | ||
| + | font-size: 1.2em; | ||
| + | border: 2px solid #0366d6; | ||
| + | padding: 10px 20px; | ||
| + | border-radius: 5px; | ||
| + | transition: background-color 0.3s, color 0.3s; | ||
| + | } | ||
| + | |||
| + | .github-link:hover { | ||
| + | background-color: #0366d6; | ||
| + | color: white; | ||
| + | } | ||
| + | |||
| + | .github-logo { | ||
| + | width: 32px; | ||
| + | height: 32px; | ||
| + | margin-right: 10px; | ||
| + | } | ||
| h1, h2, h3 { | h1, h2, h3 { | ||
| Line 138: | Line 160: | ||
| .intro { | .intro { | ||
| - | background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); | + | background: linear-gradient(270deg, red, orange, yellow, green, blue, indigo, violet); |
| + | background-size: 1400% 1400%; | ||
| color: white; | color: white; | ||
| padding: 2em; | padding: 2em; | ||
| Line 144: | Line 167: | ||
| margin-bottom: 2em; | margin-bottom: 2em; | ||
| border-radius: 8px; | border-radius: 8px; | ||
| - | animation: fadeIn 2s ease-in-out; | + | animation: gradientAnimation 10s ease infinite; |
| + | animation: fadeIn 2s ease-in-out, gradientAnimation 10s ease infinite; | ||
| } | } | ||
| - | .intro h1 { | + | .intro ceva { |
| font-size: 2.5em; | font-size: 2.5em; | ||
| margin-bottom: 0.5em; | margin-bottom: 0.5em; | ||
| Line 160: | Line 184: | ||
| from { opacity: 0; } | from { opacity: 0; } | ||
| to { opacity: 1; } | to { opacity: 1; } | ||
| + | } | ||
| + | |||
| + | @keyframes gradientAnimation { | ||
| + | 0% { background-position: 0% 50%; } | ||
| + | 50% { background-position: 100% 50%; } | ||
| + | 100% { background-position: 0% 50%; } | ||
| } | } | ||
| Line 194: | Line 224: | ||
| padding: 2em; | padding: 2em; | ||
| } | } | ||
| - | .intro h1 { | + | .intro ceva { |
| font-size: 2em; | font-size: 2em; | ||
| } | } | ||
| Line 207: | Line 237: | ||
| <div class="content"> | <div class="content"> | ||
| <div class="intro"> | <div class="intro"> | ||
| - | <h1>Swarm Adaptive Network</h1> | + | <ceva>Swarm Adaptive Network</ceva> |
| <p>Autor: <strong>Andrei Anghelescu</strong></p> | <p>Autor: <strong>Andrei Anghelescu</strong></p> | ||
| <p>Grupa: <strong>332CA</strong></p> | <p>Grupa: <strong>332CA</strong></p> | ||
| Line 259: | Line 289: | ||
| <h2 id="software-design">Software Design</h2> | <h2 id="software-design">Software Design</h2> | ||
| - | <div class="note tip"> | + | <div class="section"> |
| - | <p>Descrierea codului aplicației (firmware):</p> | + | <p><strong>Motivati alegerea bibliotecilor folosite in cadrul proiectului</strong> |
| - | <ul> | + | * ESP8266HTTPClient - pentru a putea face request-uri HTTP catre serverul de baza |
| - | <li>Mediu de dezvoltare (e.g. AVR Studio, CodeVisionAVR)</li> | + | * ESP8266WiFi - pentru a putea conecta placa la un router WiFi |
| - | <li>Librării și surse 3rd-party (e.g. Procyon AVRlib)</li> | + | * ESP8266WebServer - pentru a putea crea un server, pentru setup-ul initial al placi |
| - | <li>Algoritmi și structuri implementate</li> | + | * U8g2lib - pentru a putea controla display-ul OLED, mai eficienta decat libraria Adafruit din punct de vedere al gestionarii memoriei |
| - | <li>(Etapa 3) Surse și funcții implementate</li> | + | * ESP8266mDNS si ArduinOTA - pentru a putea face update-uri Over The Air |
| - | </ul> | + | * espnow - pentru a putea comunica intre placi fara a avea nevoie de un router WiFi |
| + | * ArduinoJson - pentru a putea manipula JSON-uri | ||
| + | |||
| + | </p> | ||
| + | <p><strong>Evidentiati elementul de noutate al proiectului</strong> | ||
| + | Comunicarea intre un Network de placi fara a avea nevoie de un router WiFi, folosind ESP-NOW. (Exemplu de utilizare: sistem de monitorizare a unui camp de panouri solare) | ||
| + | Esp-now are o distanta de acoperire de 3 ori mai mare ca WIFI-ul. | ||
| + | |||
| + | Utilizarea foarte simpla a unui sistem de 100 de dispozitive fara a fi nevoie de configurare manuala a fiecarei placi. | ||
| + | </p> | ||
| + | <p><strong>Justificati utilizarea functionalitatilor din laborator in cadrul proiectului.</strong> | ||
| + | Am folosit notiunile din laborator mai mult ca si o baza, proiectul fiind axact foart mult pe partea de sofware.</p> | ||
| + | <p><strong>Explicati scheletul proiectului, interactiunea dintre functionalitati si modul in care a fost validat ca acestea functioneaza conform</strong> | ||
| + | Scheletul implementeaza un cod universal care se afla pe fiecare placa, placile pot intra in mai multe moduri pentru a asigurare o extindere si o asigurare a transmiterii informatiei.</p> | ||
| + | <p><strong>Explicati cum, de ce si unde ati realizat optimizari</strong> | ||
| + | Am realizat optimizari in ceea ce priveste consumul de energie, am folosit ESP-NOW pentru a comunica intre placi, fara a avea nevoie de un router WiFi, astfel consumul de energie este mult mai mic. | ||
| + | Am incercat ca nodurile finale sa intre in sleep mode cat mai des posibil, pentru a economisi cat mai multa energie. | ||
| + | </p> | ||
| </div> | </div> | ||
| + | | ||
| + | <a href="https://github.com/GemDeKaise/Swarm-Adaptive-Network" class="github-link"> | ||
| + | <img src="https://imgur.com/D87ugoP.png" alt="GitHub Logo" class="github-logo"> | ||
| + | GitHub cu codul sursa | ||
| + | </a> | ||
| + | | ||
| + | <p><img class="custom-img" src="https://i.imgur.com/WsTXQMV.png" alt="Schematicul"></p> | ||
| + | | ||
| + | <p><img class="custom-img" src="https://i.imgur.com/8mVh6K6.png" alt="Schematicul"></p> | ||
| + | | ||
| + | <a href="https://youtu.be/Hn-F_uv3Nug" class="github-link"> | ||
| + | <img src="https://imgur.com/QGi9FAo.png" alt="GitHubasLogo" class="github-logo"> | ||
| + | DEMO! | ||
| + | </a> | ||
| + | | ||
| <h2 id="rezultate-obtinute">Rezultate Obținute</h2> | <h2 id="rezultate-obtinute">Rezultate Obținute</h2> | ||