Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:mdinica:andrei.anghelescu [2024/05/01 21:01]
andrei.anghelescu
pm:prj2024:mdinica:andrei.anghelescu [2024/05/30 01:30] (current)
andrei.anghelescu
Line 1: Line 1:
 ====== Swarm Adaptive Network ====== ====== Swarm Adaptive Network ======
-===== Introducere ===== 
  
-**Ce face sistemul?​** +<​html>​
-Swarm Adaptive Network facilitează crearea unei rețele de plăcuțe care comunică autonom, funcționând fără conexiune WiFi pe întreaga zonă. Sistemul este capabil să suporte și să se recupereze după diverse anomalii.+
  
-**Care este scopul sistemului?** +<​head>​ 
-Scopul principal este de a dezvolta un ecosistem robustoptimizat pentru consum redus de energie scazut și adaptat pentru utilizarea cu microcontrolere.+    <meta charset="​utf-8">​ 
 +    <meta name="​viewport"​ content="​width=device-width,​ initial-scale=1.5">​ 
 +    <link rel="​preconnect"​ href="​https://​fonts.googleapis.com">​ 
 +    <link rel="​preconnect"​ href="​https://​fonts.gstatic.com"​ crossorigin>​ 
 +    <link href="​https://​fonts.googleapis.com/​css2?family=Raleway:​wght@100..900&​family=Roboto:​wght@100..900&​display=swap"​ rel="​stylesheet">​ 
 +    <​link rel="​stylesheet"​ href="​https://​cdnjs.cloudflare.com/​ajax/​libs/​font-awesome/​6.0.0-beta3/​css/​all.min.css"​ integrity="​sha512-Fo3rlrQd1LD1OYR7+NqD3B5bBqWh76VzGy8xFUmTfhfK6Ob1EJwFZP+cJYyJlcKtZpA2BjKZff7Dh3DC8QeP+w=="​ crossorigin="​anonymous"​ referrerpolicy="​no-referrer"​ /> 
 +    <​style>​ 
 +        body { 
 +            font-family:​ '​Roboto'​sans-serif;​ 
 +            background-color:​ #fff; 
 +            color: #333; 
 +            line-height:​ 1.6; 
 +            margin: 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; 
 +}
  
-**Care a fost sursa de inspirație?​** +.github-link:​hover { 
-Inspirat de interacțiunea flawless între dispozitivele Apple, mi-am propus să creez un sistem similar care să poată fi aplicat în scenarii diverse.+    ​background-color: #0366d6; 
 +    color: white; 
 +}
  
-**De ce este util?** +.github-logo { 
-Pentru a demonstra utilitatea sistemului, am dezvoltat o aplicație practicăun sistem de urmărire și răcire pentru zone vaste fără acoperire WiFi completă, cum ar fi un câmp de panouri solare.+    width32px; 
 +    height: 32px; 
 +    margin-right:​ 10px; 
 +}
  
 +        h1, h2, h3 {
 +            font-family:​ '​Raleway',​ sans-serif;
 +            margin-top: 1em;
 +            margin-bottom:​ 0.5em;
 +        }
  
-<note tip> +        h1 { 
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.+            ​font-size:​ 2.25em; 
 +            font-weight:​ 700; 
 +            color: #0056b3; 
 +        }
  
-Exemplu de schemă blochttp://www.robs-projects.com/​mp3proj/​newplayer.html +        h2 { 
-</​note>​+            font-size1.75em; 
 +            font-weight: 600; 
 +            color: #008080; 
 +        }
  
-{{:pm:prj2024:mdinica:​andrei_anghelescu.drawio.png?​700|}+        h3 { 
 +            font-size1.5em; 
 +            font-weight500; 
 +            color#333; 
 +        ​}
  
-===== Hardware Design =====+        p, ul, ol, table { 
 +            margin: 0 0 1.5em 0; 
 +        }
  
-<note tip> +        ul, ol { 
-Aici puneţi tot ce ţine de hardware design: +            ​padding-left1.5em; 
-  * listă de piese +        }
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/​electronic-atmega16-mmc-schematic.png) +
-  * diagrame de semnal  +
-  * rezultatele simulării +
-</​note>​+
  
-===== Software Design =====+        ul li, ol li { 
 +            margin-bottom:​ 0.5em; 
 +        }
  
 +        a {
 +            color: #08c;
 +            text-decoration:​ none;
 +        }
  
-<note tip> +        a:hover { 
-Descrierea codului aplicaţiei (firmware)+            color#0056b3; 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +        }
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+        .content { 
 +            max-width: 1500px; 
 +            margin: 0 auto; 
 +            padding: 2em; 
 +            background: #fff; 
 +            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
 +        }
  
-<note tip> +        ​.section { 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+            margin-bottom:​ 2em; 
-</​note>​+        }
  
-===== Concluzii =====+        .section h2 { 
 +            margin-bottom:​ 1em; 
 +        }
  
-===== Download =====+        .section-icon { 
 +            color: #0056b3; 
 +            margin-right:​ 10px; 
 +        }
  
-<note warning> +        .section p { 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+            ​font-size1.1em; 
 +            margin-bottom: 1em; 
 +        }
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**Namespace-ul în care se încarcă fişierele este de tipul **:pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul)**Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:dumitru_alin**+        ​.section p strong { 
-</​note>​+            display: block; 
 +            font-size1.2em; 
 +            margin-bottom0.5em; 
 +        }
  
-===== Jurnal =====+        table { 
 +            width: 100%; 
 +            border-collapse:​ collapse; 
 +            margin-bottom:​ 1.5em; 
 +        }
  
-<note tip> +        table th, table td { 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului+            ​padding:​ 0.75em; 
-</​note>​+            ​border:​ 1px solid #ddd; 
 +        }
  
-===== Bibliografie/​Resurse =====+        table th { 
 +            background: #f0f0f0; 
 +            font-weight:​ bold; 
 +        }
  
-<​note>​ +        .custom-img { 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**+            max-width: 100%; 
-</​note>​+            height: auto; 
 +            display: block; 
 +            margin: 0 auto 1.5em; 
 +        }
  
-<html><a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​+        .note { 
 +            background: #fffbdd; 
 +            border-left:​ 4px solid #ffeb3b; 
 +            padding: 1em; 
 +            margin: 1.5em 0; 
 +        } 
 + 
 +        .note.tip { 
 +            border-color:​ #00bfa5; 
 +            background: #e0f7fa; 
 +        } 
 + 
 +        .note.warning { 
 +            border-color:​ #ff5722; 
 +            background: #ffebee; 
 +        } 
 + 
 +        .intro { 
 +            background: linear-gradient(270deg,​ red, orange, yellow, green, blue, indigo, violet); 
 +            background-size:​ 1400% 1400%; 
 +            color: white; 
 +            padding: 2em; 
 +            text-align: center; 
 +            margin-bottom:​ 2em; 
 +            border-radius:​ 8px; 
 +            animation: gradientAnimation 10s ease infinite; 
 +            animation: fadeIn 2s ease-in-out,​ gradientAnimation 10s ease infinite; 
 +        } 
 + 
 +        .intro ceva { 
 +            font-size: 2.5em; 
 +            margin-bottom:​ 0.5em; 
 +            color: #fff; 
 +        } 
 + 
 +        .intro p { 
 +            font-size: 1.2em; 
 +        } 
 + 
 +        @keyframes fadeIn { 
 +            from { opacity: 0; } 
 +            to { opacity: 1; } 
 +        } 
 + 
 +        @keyframes gradientAnimation { 
 +            0% { background-position:​ 0% 50%; } 
 +            50% { background-position:​ 100% 50%; } 
 +            100% { background-position:​ 0% 50%; } 
 +        } 
 + 
 +        .ripple { 
 +            position: relative; 
 +            overflow: hidden; 
 +        } 
 + 
 +        .ripple::​after { 
 +            content: '';​ 
 +            display: block; 
 +            position: absolute; 
 +            width: 100%; 
 +            height: 100%; 
 +            top: 0; 
 +            left: 0; 
 +            pointer-events:​ none; 
 +            background-image:​ radial-gradient(circle,​ #000000 10%, transparent 10%); 
 +            background-repeat:​ no-repeat;​ 
 +            background-position:​ 50%; 
 +            transform: scale(10, 10); 
 +            opacity: 0; 
 +            transition: transform 0.5s, opacity 1s; 
 +        } 
 + 
 +        .ripple:​active::​after { 
 +            transform: scale(0, 0); 
 +            opacity: 0.3; 
 +            transition: 0s; 
 +        } 
 + 
 +        @media screen and (max-width: 800px) { 
 +            .content { 
 +                padding: 2em; 
 +            } 
 +            .intro ceva { 
 +                font-size: 2em; 
 +            } 
 +            .intro p { 
 +                font-size: 1em; 
 +            } 
 +        } 
 +    ​</​style>​ 
 +</​head>​ 
 + 
 +<​body>​ 
 +    <div class="​content">​ 
 +        <div class="​intro">​ 
 +            <​ceva>​Swarm Adaptive Network</​ceva>​ 
 +            <​p>​Autor:​ <​strong>​Andrei Anghelescu</​strong></​p>​ 
 +            <​p>​Grupa:​ <​strong>​332CA</​strong></​p>​ 
 +        </​div>​ 
 + 
 +        <div class="​section">​ 
 +            <​h2><​i class="​fas fa-info-circle section-icon"></​i>​Prezentarea proiectului</​h2>​ 
 +            <​p><​strong>​Ce face sistemul?</​strong>​ Swarm Adaptive Network facilitează crearea unei rețele de plăcuțe care comunică autonom, funcționând fără conexiune WiFi pe întreaga zonă. Sistemul este capabil să suporte și să se recupereze după diverse anomalii.</​p>​ 
 +            <​p><​strong>​Scopul sistemului?</​strong>​ Dezvoltarea unui ecosistem robust, optimizat pentru consum redus de energie și utilizarea cu microcontrolere.</​p>​ 
 +            <​p><​strong>​Sursa de inspirație?</​strong>​ Inspirat de interacțiunea flawless între dispozitivele Apple, mi-am propus să creez un sistem similar aplicabil în diverse scenarii.</​p>​ 
 +            <​p><​strong>​Utilitate?</​strong>​ Demonstrarea utilității sistemului prin dezvoltarea unei aplicații practice: un sistem de urmărire și răcire pentru zone vaste fără acoperire WiFi completă, cum ar fi un câmp de panouri solare.</​p>​ 
 +        </​div>​ 
 + 
 +        <​p><​img class="​custom-img"​ src="​https://​i.imgur.com/​RohBySY.png"​ alt="​Schematicul"></​p>​ 
 + 
 +        <h2 id="​hardware-design">​Hardware Design</​h2>​ 
 +        <​p><​img class="​custom-img"​ src="​https://​i.imgur.com/​HihIpfx.png"​ alt="​Schematicul"></​p>​ 
 +        <​p>​Tabelul cu piesele folosite se poate vedea mai jos.</​p>​ 
 +        <​table>​ 
 +            <​thead>​ 
 +                <​tr>​ 
 +                    <​th>​Nume Piesa</​th>​ 
 +                    <​th>​Model</​th>​ 
 +                    <​th>​Protocol</​th>​ 
 +                </​tr>​ 
 +            </​thead>​ 
 +            <​tbody>​ 
 +                <​tr>​ 
 +                    <​td>​Microcontroller</​td>​ 
 +                    <​td>​ESP01</​td>​ 
 +                    <​td>​-</​td>​ 
 +                </​tr>​ 
 +                <​tr>​ 
 +                    <​td>​Display</​td>​ 
 +                    <​td>​OKY4020</​td>​ 
 +                    <​td>​I2C</​td>​ 
 +                </​tr>​ 
 +                <​tr>​ 
 +                    <​td>​LED</​td>​ 
 +                    <​td>​-</​td>​ 
 +                    <​td>​PWM</​td>​ 
 +                </​tr>​ 
 +                <​tr>​ 
 +                    <​td>​Temperature Sensor</​td>​ 
 +                    <​td>​DHT11</​td>​ 
 +                    <​td>​Proprietary protocol</​td>​ 
 +                </​tr>​ 
 +            </​tbody>​ 
 +        </​table>​ 
 +        <​p><​img class="​custom-img"​ src="​https://​i.imgur.com/​d3sSLo4.png"​ alt="​Schematicul"></​p>​ 
 + 
 +        <h2 id="​software-design">​Software Design</​h2>​ 
 +        <div class="​section">​ 
 +            <​p><​strong>​Motivati alegerea bibliotecilor folosite in cadrul proiectului</​strong>​  
 + * ESP8266HTTPClient - pentru a putea face request-uri HTTP catre serverul de baza 
 + * ESP8266WiFi - pentru a putea conecta placa la un router WiFi 
 + * ESP8266WebServer - pentru a putea crea un server, pentru setup-ul initial al placi 
 + * U8g2lib - pentru a putea controla display-ul OLED, mai eficienta decat libraria Adafruit din punct de vedere al gestionarii memoriei 
 + * ESP8266mDNS si ArduinOTA - pentru a putea face update-uri Over The Air 
 + * 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>​ 
 +         
 +        <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>​ 
 +        <div class="​note tip">​ 
 +            <​p>​Care au fost rezultatele obținute în urma realizării proiectului vostru.</​p>​ 
 +        </​div>​ 
 + 
 +        <h2 id="​concluzii">​Concluzii</​h2>​ 
 + 
 +        <h2 id="​download">​Download</​h2>​ 
 +        <div class="​note warning">​ 
 +            <p>O arhivă cu fișierele obținute în urma realizării proiectului:​ surse, scheme, etc. Un fișier README, un ChangeLog, un script de compilare și copiere automată pe uC crează întotdeauna o impresie bună ;​-).</​p>​ 
 +            <​p>​Fișierele se încarcă pe wiki folosind facilitatea <​strong>​Add Images or other files</​strong>​. Namespace-ul este de tipul <​strong>:​pm:​prj20??:​c?</​strong>​ sau <​strong>:​pm:​prj20??:​c?:​nume_student</​strong>​ (dacă este cazul).</​p>​ 
 +        </​div>​ 
 + 
 +        <h2 id="​jurnal">​Jurnal</​h2>​ 
 +        <div class="​note tip">​ 
 +            <​p>​Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.</​p>​ 
 +        </​div>​ 
 + 
 +        <h2 id="​bibliografie-resurse">​Bibliografie/​Resurse</​h2>​ 
 +        <div class="​note">​ 
 +            <​p>​Listă cu documente, datasheet-uri,​ resurse Internet folosite, grupate pe <​strong>​Resurse Software</​strong>​ și <​strong>​Resurse Hardware</​strong>​.</​p>​ 
 +        </​div>​ 
 + 
 +        <p><a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a>​</​p>​ 
 +        <div class="​ripple"​ style="​width:​ 200px; height: 200px; background: #ff6347; margin: 20px auto; border-radius:​ 50%;"></​div>​ 
 +    </​div>​ 
 +     
 +    <iframe src="​https://​giphy.com/​embed/​Ssr2HaSSqw8ggmLHUO"​ width="​480"​ height="​347"​ frameBorder="​0"​ class="​giphy-embed"​ allowFullScreen></​iframe>​ 
 +    <​p><​a href="​https://​giphy.com/​gifs/​robotistan-project-electronic-arduino-Ssr2HaSSqw8ggmLHUO">​via GIPHY</​a></​p>​ 
 +</​body>​ 
 + 
 +</​html>​
  
pm/prj2024/mdinica/andrei.anghelescu.1714586511.txt.gz · Last modified: 2024/05/01 21:01 by andrei.anghelescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0