Differences

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

Link to this comparison view

pm:prj2023:apredescu:jewelguard_proximity_defender [2023/05/30 04:48]
dragos_cosmin.ion [Software Design]
pm:prj2023:apredescu:jewelguard_proximity_defender [2023/05/30 09:18] (current)
dragos_cosmin.ion [Bibliografie/Resurse]
Line 8: Line 8:
 Am pornit de la ideea că in camin la o petrecere organizata la mine in camera cineva a furat una din bijuteriile mele. Soluțiile tradiționale de securitate nu sunt tocmai accesibile, asa ca un astfel de mecanism simplu ar fi fost util pentru a ma atentiona si a afla cine a comis fapta. Am pornit de la ideea că in camin la o petrecere organizata la mine in camera cineva a furat una din bijuteriile mele. Soluțiile tradiționale de securitate nu sunt tocmai accesibile, asa ca un astfel de mecanism simplu ar fi fost util pentru a ma atentiona si a afla cine a comis fapta.
  
-Proiectul este util si pentru altii deoarece poate fi adaptat pentru a proteja o varietate de obiecte valoroase sau importante, nu numai bijuterii. Acesta combină tehnologia de detectare a mișcării cu funcții avansate precum alertele în cascada, mecanismul de panică ​și blocarea fizică a obiectului ​pentru a asigura o protecție robustă și eficientă.+Proiectul este util si pentru altii deoarece poate fi adaptat pentru a proteja o varietate de obiecte valoroase sau importante, nu numai bijuterii. Acesta combină tehnologia de detectare a mișcării cu funcții avansate precum alertele în cascada, mecanismul de panică ​si camera de supraveghere ​pentru a asigura o protecție robustă și eficientă.
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 71: Line 71:
 <​code>​ <​code>​
 int sine[] = {0, 1, 2, 3, 4, 5, 6, 7}; int sine[] = {0, 1, 2, 3, 4, 5, 6, 7};
-for(int i=0; i<8; i++) {+for(int i = 0; i < 8; i++) {
   strip.setPixelColor(sine[i],​ 0);   strip.setPixelColor(sine[i],​ 0);
   strip.setPixelColor(sine[(i + 7) % 8], color);   strip.setPixelColor(sine[(i + 7) % 8], color);
Line 90: Line 90:
  
 Bucla se repetă apoi, măsurând continuu distanța și actualizând afișajul pe baza valorii măsurate până când sistemul este oprit prin setarea comutatorului în starea LOW. Bucla se repetă apoi, măsurând continuu distanța și actualizând afișajul pe baza valorii măsurate până când sistemul este oprit prin setarea comutatorului în starea LOW.
 +
 +=== ESP32 CAM + Telegram ===
 +
 +Pentru partea de configurare a placutei ESP32Cam am urmat pasii urmatori:
 +  - Crearea botului Telegram: Înainte de a utiliza codul, trebuie să creați un bot Telegram folosind botul BotFather pe Telegram. BotFather vă va furniza un token unic pentru botul dumneavoastră,​ pe care va trebui să îl includeți în cod ca variabilă BOTtoken.
 +  - Inițializarea rețelei: Codul stabilește o conexiune la rețeaua Wi-Fi folosind SSID-ul și parola furnizate. Odată conectat, acesta inițializează obiectul WiFiClientSecure,​ care este utilizat pentru a comunica în siguranță cu serverul Telegram API.
 +  - Recuperarea și manipularea mesajelor: Codul include o subrutină numită handleNewMessages,​ care este responsabilă pentru verificarea mesajelor noi primite de către Telegram bot. Aceasta interoghează periodic serverul Telegram API pentru a prelua orice mesaj nou. Dacă sunt găsite mesaje noi, codul le procesează în mod corespunzător.
 +  - Procesarea mesajelor: Atunci când se primește un mesaj nou, codul verifică conținutul mesajului. În acest cod, acesta verifică în mod specific dacă mesajul este "/​photo"​ (indicând o cerere de trimitere a unei fotografii). Dacă mesajul se potrivește cu această comandă, codul apelează subrutina sendPhotoTelegram pentru a captura o fotografie cu ajutorul ESP32-CAM și a o trimite pe chat-ul specificat.
 +  - Trimiterea fotografiei:​ Cererea HTTP construită este trimisă către serverul Telegram API folosind metoda POST. Serverul procesează cererea și livrează fotografia către chat-ul specificat. Dacă fotografia este trimisă cu succes, se afișează un mesaj de succes. Dacă apare o eroare în timpul procesului de trimitere, se afișează un mesaj de eroare.
 +
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 +=== Prima iteratie a proiectului ===
 {{ :​pm:​prj2023:​apredescu:​fizic.jpg?​700 |}} {{ :​pm:​prj2023:​apredescu:​fizic.jpg?​700 |}}
 +
 +=== Comenzi Chat Telegram === 
 +{{ :​pm:​prj2023:​apredescu:​telegramchat.jpg?​700 |}}
 +
 +=== Poze ESP32 Cam ===
 +{{ :​pm:​prj2023:​apredescu:​telegramphoto.jpg?​700 |}}
 +
 +=== Forma finala ====
 +{{ :​pm:​prj2023:​apredescu:​final_form.jpg?​700 |}}
  
 ===== Concluzii ===== ===== Concluzii =====
Line 101: Line 121:
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Ion Dragos-Cosmin336CC -> {{:​pm:​prj2023:​apredescu:​proiect_pm_ion_dragos.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ sursescheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-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>​ 
  
-===== Jurnal ===== 
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 124: Line 137:
  
 https://​ocw.cs.pub.ro/​courses/​pm/​prj2023/​apredescu/​jewelguard_proximity_defender https://​ocw.cs.pub.ro/​courses/​pm/​prj2023/​apredescu/​jewelguard_proximity_defender
 +
 +Export to PDF -> {{:​pm:​prj2023:​apredescu:​jewelguard_proximity_defender_cs_open_courseware_.pdf|}}
  
pm/prj2023/apredescu/jewelguard_proximity_defender.1685411308.txt.gz · Last modified: 2023/05/30 04:48 by dragos_cosmin.ion
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