This shows you the differences between two versions of the page.
pm:prj2023:apredescu:sistem-alarma [2023/05/30 12:04] mihai_daniel.soare [Bibliografie/Resurse] |
pm:prj2023:apredescu:sistem-alarma [2023/05/30 15:12] (current) mihai_daniel.soare [Rezultate Obţinute] |
||
---|---|---|---|
Line 54: | Line 54: | ||
Inca de la etapa de hardware, am facut un research mai amanuntit asupra a ce vreau sa ajunga in software design, asadar am cautat biblioteci utile pentru fiecare componenta aleasa, cat si m-am gandit cum ar trebui implementat sistemul de trimitere a email-urilor. | Inca de la etapa de hardware, am facut un research mai amanuntit asupra a ce vreau sa ajunga in software design, asadar am cautat biblioteci utile pentru fiecare componenta aleasa, cat si m-am gandit cum ar trebui implementat sistemul de trimitere a email-urilor. | ||
- | Bibliotecile folosite sunt: | + | **Bibliotecile** folosite sunt: |
* NewPing -> folosita la senzorul de miscare | * NewPing -> folosita la senzorul de miscare | ||
Line 60: | Line 60: | ||
* LiquidCrystal_I2C -> folosita la ecranul LCD | * LiquidCrystal_I2C -> folosita la ecranul LCD | ||
* SoftwareSerial -> folosita la modulul wi-fi esp8266 | * SoftwareSerial -> folosita la modulul wi-fi esp8266 | ||
+ | |||
+ | **Setup** | ||
Pe partea de setup avem urmatoarea functie: | Pe partea de setup avem urmatoarea functie: | ||
Line 90: | Line 92: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | **Setup ESP8266** | ||
Pentru setup-ul modulului wi-fi am realizat functia: | Pentru setup-ul modulului wi-fi am realizat functia: | ||
Line 125: | Line 129: | ||
Codul anterior face ca placuta Arduino sa se conecteze la o retea wi-fi prin intermediul modulului ESP8266. | Codul anterior face ca placuta Arduino sa se conecteze la o retea wi-fi prin intermediul modulului ESP8266. | ||
+ | |||
+ | **Logica principala** | ||
Logica principala a codului rulat pe Arduino este destul de simpla: | Logica principala a codului rulat pe Arduino este destul de simpla: | ||
Line 133: | Line 139: | ||
* daca da, suna o alarma, se modifica ecranul si se trimite o cerere catre serverul deschis care se ocupa de trimiterea mail-urilor | * daca da, suna o alarma, se modifica ecranul si se trimite o cerere catre serverul deschis care se ocupa de trimiterea mail-urilor | ||
* altfel se verifica daca nu cumva cartela a fost introdusa si se reseteaza tot sistemul. | * altfel se verifica daca nu cumva cartela a fost introdusa si se reseteaza tot sistemul. | ||
- | |||
<code> | <code> | ||
Line 227: | Line 232: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | **Server TCP** | ||
Acum pe partea de server remote, am creat un server in python care poate fi rulat pe mai multe arhitecturi, in situatia actuala doar pe local (poate fi mutat pe remote), in care se realizeaza o conexiune TCP intre placuta Arduino si server. | Acum pe partea de server remote, am creat un server in python care poate fi rulat pe mai multe arhitecturi, in situatia actuala doar pe local (poate fi mutat pe remote), in care se realizeaza o conexiune TCP intre placuta Arduino si server. | ||
Line 319: | Line 326: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | <html> |
- | **TBA** | + | <iframe |
- | </note> | + | src="https://www.youtube.com/embed/zqO801cnm3k" |
+ | title="YouTube video player" | ||
+ | frameborder="0" | ||
+ | allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" | ||
+ | allowfullscreen | ||
+ | style="aspect-ratio: 16/9; width: 100%;" | ||
+ | ></iframe> | ||
+ | </html> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | <note tip> | + | In trecut nu eram tocmai pasionat de Hardware, insa acest proiect m-a facut sa realizez ca e misto si aceasta parte a industriei. Mi-a placut super mult sa ma interesez ce piese sa cumpar si ce vreau de la proiect. |
- | **TBA** | + | |
- | </note> | + | -> Am renuntat pe parcurs la tastatura, deoarece nu aveam destui pini disponibili pe Arduino, astfel as fi trebuit sa folosesc 2 placute arduino si cred ca dificultatea la proiectul meu a venit din alta parte si nu voiam sa ma complic. |
+ | |||
+ | -> Am renuntat in timpul realizarii proiectului la led-ul pe care voiam sa-l pun. Nu aveam cum sa-l fac vizibil prin capacul cutiei (neavand un breadboard micut), asadar am renuntat la el. | ||
+ | |||
+ | -> Am avut multe probleme cu cititoarele de RFID, incat am cumparat 3 (din acelasi loc), si am primit chinezarii (toate 3) care merg doar uneori si nu cu tag-ul albastru ci doar cu cel alb. Asta a fost in mare dificultatea proiectului si mai ales panica de a nu stii cand iti va merge cititorul sau nu... | ||
+ | |||
+ | Mi-a placut super mult partea de networking & hardware si as vrea sa ma interesez mai mult ulterior, neavand timpul necesar acum. | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) 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ă ;-). | + | Arhiva contine fisierul corespunzator serverului si fisierul corespunzator logicii de pe placuta Arduino. |
+ | Nu am scris un README, deoarece am explicat destul de clar ce am construit. Pentru mai multe nelamuriri contact: mihai.orange7@gmail.com | ||
- | 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**. | ||
- | </note> | ||
+ | Link arhiva: {{:pm:prj2023:apredescu:pm_prj2023_ca_mihai.soare.zip|}} | ||
+ | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
<note tip> | <note tip> | ||
- | **TBA** | + | |
+ | * 8 mai - toate piesele au ajuns | ||
+ | * 15 mai - am lipit cititorul de carduri RFID | ||
+ | * 21 mai - am testat toate componentele si am pregatit bibliotecile necesare pt fiecare componenta | ||
+ | * 29-30 mai - ultima noapte de dragoste, intaia noapte de razboi, proiectul a fost terminat si documentatia s-a facut | ||
</note> | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
Line 351: | Line 377: | ||
* LiquidCrystal_I2C -> https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library | * LiquidCrystal_I2C -> https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library | ||
* SoftwareSerial -> inclusa in Arduino AVR | * SoftwareSerial -> inclusa in Arduino AVR | ||
+ | |||
+ | Toate componentele sunt luate de pe cleste.ro. Buget: 300 RON | ||
+ | |||
+ | Cont pe SMPT2GO pentru folosirea unui server free de SMTP. | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||