Sunteți pe pagina 1din 25

Ministerul Educației , Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor

Nume / Prenume : Sultan Anna


Grupa academică : RM-201

Raport
Proiect de An
la cursul de “ Interfețe și Rețele Industriale ”

Verificat:
Iulian Lungu, asistent
universitar.
Departamentul Informatică şi Ingineria Sistemelor,
Facultatea FCIM, UTM

Chișinău – 2022
“APROB”
Şef DIIS
“ ” 2022
conf.univ.,dr. V. Sudacevschi

SARCINĂ TEHNICĂ

Pentru proiectul de an

La disciplina : Interfețe și Rețele Industriale.

Studentul(a) : Sultan Anna, grupa academică : RM-201

Tema: Sinteza unui Web server în baza ESP32 + set de senzori ~ Crearea unui dispozitiv smart
home, cu monitorizarea dorintelor utilizatorului in timp real de lucru cu lumina acasa, controlul este
facut prin telefon, utilizand wifi, datele primite sunt afisate pe un bot Telegram.

Condiţii tehnice: Elaborarea schemei electrice de principiu în real și codul propriu-zis va fi elaborat
în baza mediului de dezvoltare Arduino, serverul online prestabilit de către platforma în cauză.
Testarea produsului tehnic final va avea loc în real.

Setul de elemente: PCB-ul ESP WROOM – 32, 2 LED-uri, modul de Wi-Fi, Telefon cu Telegram
instalat, fire.

Conţinutul proiectului de an:

1. Introducere,
2. Analiza situaţiei în domeniul de proiectare,
3. Sinteza algoritmilor de funcţionare a sistemului proiectat,
4. Descrierea componentelor/dispozitivelor utilizate în procesul de proiectare,
5. Sinteza şi descrierea schemelor funcţionale/electrice de principiu (E-Drive, Proteus, Fritzing),
6. Dezvoltarea produsului program (Arduino IDE),
7. Descrierea modului de utilizare a sistemului proiectat,
8. Testarea funcționala a proiectului (ESP, NodeMCU, Genuino)
9. Concluzii,
10. Date bibliografice,
11. Anexe

Conţinutul părţii grafice/program:

1. Scheme bloc ale algoritmilor,


2. Scheme funcţionale/de structură,
3. Scheme electronice de principiu,
4. Codul sursa a produsului program,
5. Poze cu sistemul in proces de testare funcționala.
6. Concluzii

Conducător: ( asist.univ. I. Lungu)

Eliberată “ ” 2022 (semnătura studentului)

[2]
Cuprins
Introducere........................................................................................................................................................................ 4
Capitolul nr. I Analiza situaţiei în domeniul de proiectare................................................................................................5
§1.1 Descrierea sistemului inteligent - dispozitiv smart home, cu monitorizarea dorintelor utilizatorului in
timp real de lucru cu lumina acasa............................................................................................................................5
§1.2 Analiza și Sinteza necesității prezenței acestui dispozitiv în componența tehnică a casei..............................8
§1.3 Descrierea fizico-tehnică(sectorul Hardware) a dispozitivului proiectat în cadrul cercetării științifice în
cauză.............................................................................................................................................................................9
Capitolul nr. II Sinteza parametrilor tehnici și programatorii în procedura de proiectare a dispozitivului.Etapele de
asamblare și algoritmizare a sistemului proiectat............................................................................................................10
§2.1 Descrierea perifericelor utilizate în elaborarea schemei electronice de principiu.................................................10
§2.2 Elaborarea schemei de principiu în realitate........................................................................................................10
§2.3 Proiectarea algoritmilor de conexiune și comunicare uni și bidirecțională dintre periferice și PCB-ul propriu-zis.
..................................................................................................................................................................................... 11
§2.4 Proiectarea algoritmilor de conexiune dintre sistemul Embedded ( ESP32 + Setul de periferice ) și pagina WEB.
..................................................................................................................................................................................... 14
§2.5 Prezentarea produsului final................................................................................................................................15
Capitolul nr.III Testarea funcțională a produsului tehnic obținut.....................................................................................16
§3.1 Testarea tuturor situațiilor posibile în cazul casei intilligente..............................................................................16
Concluzii......................................................................................................................................................................... 18
Bibliografie......................................................................................................................................................................18
Anexa nr.1 Schema Bloc a algoritmului pentru sistemul Embedded proiectat................................................................20
Anexa nr.2 Codul Sursă pentru sistemul Embedded proiectat.........................................................................................22
Anexa nr.3 Screenshot – uri la Telegram Bot..................................................................................................................25

[3]
Introducere

Interfețe și Rețelele Industriale este un curs, care abordează într-o manieră riguroasă, dar
pragmatică diferite tipuri de echipamente de comunicaţie, arhitecturi ale protocoalelor de
comunicaţie, topologia, precum şi programarea şi configurarea reţelelor din mediul industrial
folosind interfeţe specifice ale programelor-utilizator. Ea se bazează pe cunoașterea de arhitectura şi
clasificarea interfeţelor, de componenţa structurală a principalelor tipuri de IRI, bazele fizice şi
principiile de funcţionare ale IRI și tendinţele de dezvoltare ale IRI. De obicei este nevoie de
capabilitatea să pună în funcţiune o reţea industrială şi să testeze propriile aplicaţii.
Ea se bazeaza pe studiul rețelelor de calculatoare care leagă între ele o mulțime mai mică sau
mai mare de calculatoare, astfel încât un calculator poate accesa datele, programele și facilitățile sau
resursele unui alt calculator conectat la aceeași rețea. De obicei este nevoie de măsuri de
restricție/siguranță a accesului. Metodele de conectare sunt în continuă dezvoltare și deja foarte
diverse, începând cu tot felul de cabluri metalice și de fibra optică, chiar submarine și terminând cu
legături fără fir prin unde radio cum ar fi Wi-Fi, WiMAX sau Bluetooth, prin raze infraroșii ca de
exemplu IrDA sau prin intermediul sateliților. De pentru conectare se folosesc mai multe tipuri de
rețele, precum LAN, MAN, RAN, WAN.
O rețea tip LAN este o rețea locală care reprezintă un ansamblu de mijloace de transmisiune
și de sisteme de calcul folosite pentru transportarea și prelucrarea informației.

O rețea tip MAN este o rețea de mare extindere, care de obicei impânzesc un întreg oraș sau
chiar o întreagă zonă urbană. Aceste rețele folosesc cel mai des tehnologia fără fir sau fibră optică
pentru a crea conexiuni.

O rețea tip WAN este orice rețea care conectează orașe, regiuni sau țări. De obicei rețelele de
arie largă includ linii de telecomunicație publice și elemente de legătură și conectare necesare.

IRI este un obiect care are scopul de crearea următoarelor abilități:

- Aplicarea fundamentelor de științe exacte și inginerie în domeniul calculatoarelor,


tehnologiei informației și comunicațiilor;
- Proiectarea sistemelor hardware, software și de comunicații;
- Identificarea, formularea și soluționarea problemelr folosind instrumentele științei și
ingineriei calculatoarelor;
- Îmbunătățirea performanțelor sistemelor hardware, software și de comunicații;
- Implementarea, testarea, administrarea și mentenanța sistemelor hardware și de
comunicații;
- Utilizarea, configurarea și dezvoltarea sistemelor și aplicațiilor software.
[4]
Capitolul nr. I Analiza situaţiei în domeniul de proiectare.

§1.1 Descrierea sistemului inteligent - dispozitiv smart home, cu monitorizarea dorintelor utilizatorului
in timp real de lucru cu lumina acasa.

Sistemele Smart Home sunt construite pentru automatizarea casei. Aceasta ajuta la controlul si
automatizarea iluminatului (becuri inteligente), incalzirii (termostate inteligente, centrala), ventilatie, aer
conditionat, usi acces si porti garaj, cat si a sistemelor de securitate, precum și aparatele electrocasnice, cum
ar fi masina de spalat, cuptoare, frigidere. Aceste echipamente pot fi controlate printr-un sistem Smart Home,
de la distanta, prin internet.
De asemenea, aceste sisteme pot fi controlate si de la un panou de comanda, fix sau mobil, printr-o
interfata prietenoasa, moderna si intuitiva.
Sistemele Smart Home au inceput sa fie din ce in ce mai cautate si mai folosite de catre consumatori,
datorita noilor implementari tehnologice cu privire la siguranta si utilitatea unui echipament de acest tip.

Se pot distinge următoarele elemente principale ale sistemului smart home:

1. Unitate de control electronică.


Primește și procesează semnale de la telefon și LED-uri. Miezul central al senzorilor de smart
home. Printre sarcinile principale se numără setarea LED-urilor în starea pe care o dorește
utilizator.
2. Modul de Wi-Fi.
Oferă posibilitea de conectarea a telefonului cu unitatea de control electronică.
3. Telefon cu Telegram.
Instalat pe telefon ne ajută să transmitem informație de unitatea de control electronică și să
primim datele despre starea dispozitivelor de microcontrolor.
Diferite LED-uri și fire, care ne ajută să face un sistem smart home.
Tipuri de smart home
Pe piață există un număr mare de modele care diferă ca preț și performanță. Experții recomandă
să acordați prioritate produselor producătorilor cunoscuți.
Există următoarele tipuri de dispozitive smart home:
1. Boxe inteligente
Difuzor inteligent
Poate cel mai popular dispozitiv inteligent, difuzorul inteligent este mult mai mult decât un difuzor pentru
muzică. Se desfășoară pe Wi-Fi și vine cu un asistent virtual care este programat pentru a răspunde vocii tale.
Difuzoarele inteligente vin în dimensiuni compacte și se potrivesc cu ușurință oriunde în casa ta, ca pe un blat
de bucătărie sau pe o noptieră.

[5]
Unii au afișaje cu ecran tactil pentru a vizualiza rețete și videoclipuri, în timp ce cele premium oferă un
sunet de înaltă calitate. Unele boxe inteligente au, de asemenea, o cameră încorporată, astfel încât să puteți
efectua apeluri video cu cei dragi și chiar să vă monitorizați casa când sunteți plecat.
2. Mufe inteligente
Mufa inteligentă conectată la priza de perete
Mufele inteligente arată ca mufele obișnuite și se încadrează, de asemenea, în prizele de perete existente.
Acestea se conectează la rețeaua dvs. Wi-Fi și Bluetooth și vă permit să controlați diverse aparate prin
intermediul aplicației de companie sau a asistenților virtuali precum Alexa și Google Assistant.
Odată configurate, mufele inteligente vă permit să porniți și să dezactivați aparatele și chiar să le
programați pentru a începe la un anumit moment. Așadar, puteți seta încălzitorul de apă pentru a porni o
jumătate de oră înainte de a vă trezi. Sau porniți aragazul lent înainte de a pleca de acasă și opriți -l de la
distanță atunci când timpul de gătit s -a terminat.
3. Becuri inteligente
Philips Hue Smart Lighting and Spotify Integration - Omul Dancing. Credit de imagine: Semnify/Philips
Hue
Becurile inteligente sunt bine cunoscute. Nu au nevoie de accesorii suplimentare pentru a rula - doar
conectați -vă la priza de perete și porniți -le. Se pot aprinde în milioane de culori și pot fi programate să se
aprindă în anumite ore.
Dar becurile inteligente au evoluat și oferă acum multe modalități de a controla iluminatul și de a crea o
ambianță colorată în casa ta. Cele mai bune se pot sincroniza cu jocul dvs., filmele pe care le vizionați și
muzica pe care o iubiți.
4. Termostate inteligente
Termostatimage inteligent Credit: Unsplash
Încălzirea și răcirea necesită o utilizare substanțială a energiei într -o casă. Cu toate acestea, puteți
economisi energie și bani semnificativi și cu un termostat inteligent.
Un termostat inteligent funcționează învățând cum utilizați energie în casa dvs. - cum ar fi atunci când vă
încălziți casa și când doriți să o mențineți răcoroasă. Apoi se programează pentru a vă oferi un confort maxim,
asigurând în același timp eficiența energetică.
5. Aragamente inteligente
Credit inteligent CookerImage: Amazon
Un aragaz cu presiune inteligentă vă permite să gătiți o masă gustoasă, cu efort minim. Aragamentele
inteligente sunt multe articole de bucătărie amestecate într -unul. Puteți cântări mâncare, tocam, tocat și
amestecați într -un singur vas.

[6]
Puteți preîncălzi aragazul de pe telefon sau îi spuneți lui Alexa să o facă din dormitorul dvs. Unii chiar au
o caracteristică sărată pentru a vă permite să gătiți și să vă uitați chiar în oală - nu este nevoie de tigaie.
6. Frigidere inteligente
Frigider inteligent
Un frigider inteligent se conectează la alte dispozitive prin Wi-Fi și multe dintre funcțiile sale pot fi
controlate cu smartphone-ul dvs. Frigiderele inteligente au un ecran tactil încorporat pentru a interacționa cu
acesta, pentru a vizualiza rețete și videoclipuri și chiar îl folosesc ca afișaj foto sau o placă de mesaje.
Unele frigidere inteligente oferă apă caldă și rece. Setați doar temperatura și cantitatea de apă și veți primi
o notificare atunci când este terminată. Puteți chiar personaliza temperatura prin sertar sau compartiment.

7. Dușuri inteligente

Baie cu duș inteligent

Dușurile inteligente vă pot îmbunătăți rutina de dimineață și vă pot reîmprospăta pentru ziua următoare.
Compatibil cu asistenții virtuali, dușurile inteligente pot fi controlate prin telefon sau prin intermediul
controlerelor lor digitale.

Dușurile inteligente sunt concepute pentru a economisi apă. Ei vă anunță atunci când temperatura setată
este atinsă și chiar întrerupeți fluxul până când intrați în duș.

8. Saltele inteligente

Cuplu dormind pe saltea inteligentă

Saltelele inteligente sunt concepute pentru a vă oferi un somn bun. Îți sporesc confortul somnului
reglând temperatura și urmărind somnul prin senzori. Paturile inteligente pot regla, de asemenea, fermitatea
și poziția patului pe placul tău prin tuburile de aer cu senzori de presiune.

Mai mult decât atât, saltelele inteligente pot avea, de asemenea, temperaturi diferite pe fiecare parte -
astfel încât partea ta a patului poate fi mai caldă dacă vrei, iar partea partenerului tău poate fi mai rece
pentru a dormi.

9. Smart Hub

Smart Home Hub

Cu mai multe dispozitive inteligente care lucrează împreună în sistemul dvs. inteligent de acasă,
investiția într -un hub inteligent pentru control este o idee grozavă.

[7]
§1.2 Analiza și Sinteza necesității prezenței acestui dispozitiv în componența tehnică a casei
In ultimii ani pe piata a aparut fenomenul de Casa Inteligenta asa zisa tehnologie Smart Home
sau BMS (Building Management System). In realitate este o ramura din automatica industriala
aplicata la cladirile rezindentiale. Practic cu ajutorul unei centrale programate se pot gestiona si
automatiza orice circuite electrice din cladire.
A fost observat ca majoritatea prezentarilor video, reclamelor cu privire la sistemul de Smart
Home, prezinta cum o persoana se trezeste dimineata jaluzele se ridica, cafeaua este pregatita etc etc,
practic majoritatea mesajelor duc catre beneficiile confortului la superlativ. Totul este automatizat,
functional, si transforma locuinta in ceva miraculos extrem de intuitiv cu obiceiurile si nevoiele
locatarilor.
Ghidati de majoritatea prezentarilor am fi tentati sa asociem Sistemul Smart Home cu o serie de
beneficii in privinta confortului. Acest lucru este perfect adevarat, INSA trebuie să luăm in calcul
cateva super avantaje cu privire la securitatea si preventia oferita de un sistem Smart Home. Mai jos
prezint cateva ideei pentru care orice familie ar trebui sa se gandeasca la sistemul Smart Home :
 cu ajutorul unui senzor de Monoxid de Cabon se poate evita o potentiala intoxicare sau mai
rau cu gaze emanate de un semineu pe lemne, soba defecta , aragaz etc – practic un senzor de
monoxid de carbon ne poate salva viata, acesta detecteaza gazul toxic, trimite smenale la o
centrala care poate porni un ventilator, poate da un sms, mail alerta sonora sau de orice
natura. Concluzie PROTECTIE ANTI AXFISIERE CU CO
 PROTECTIE LA INCENDIU. Senzorul de fum detecteaza prezenta fumului in incinta sau
orice schimbare brusca de temperatura ( acesta functie o au numai senzorii de ultima
generatie, acestia au aparut datorita faptului ca exista materiale care nu produc fum toxic iar
un senzor de fum normal nu ar detecta pericolul, tip de material foarte des intalni in cadirile
publice). Orice mesaj de alerta se trimite la centrala care declanseaza scenarii predefinite si
porneste alertarea. Ca si scenarii predefinite ar fi activarea unor sirene simultan cu un sistem
de stingere automat.
 Senzor de vibratii – exista un senzor care poate detecta orice vibratie a pamantului in cazul
unui cutremur, cu ajutorul acestei infomatii se pot activa porti automate de deschidere,
inchidere vane de gaz , alarmare locatari etc
 Protectie la inundatie. Cu ajutorul senzorului de inundatie se poate detecta aparitia apei si
declansa un scenariu de inchidere automata a robinetului central de alimentare cu apa
In concluzie cu un sistem Smart Home se pot obtine mult mai multe avantaje. Cu Smart Home
putem avea Confort , Economie , Ecologie si nu in ultimul rand Securitate, poate ar fi fost mai bine
ca prezentarile sau reclamele acestor sisteme sa se faca incepand de la securitate.

[8]
§1.3 Descrierea fizico-tehnică(sectorul Hardware) a dispozitivului proiectat în cadrul cercetării
științifice în cauză.
De zeci de ani acum, o gamă largă de aparate de acasă diferite au contribuit la creșterea vieții de zi cu
zi, accelerarea proceselor și, prin urmare, pentru a economisi timp și muncă. Deci, ce beneficii suplimentare
oferă casa inteligentă? Fără casa inteligentă, impulsul pentru fiecare acțiune a unei mașini trebuie să vină de
la oameni, care încep procesele manual și activează fiecare dispozitiv individual la momentul potrivit. Casa
inteligentă îi scutește de această lucrare, permițând componentelor să comunice între ele. Dispozitivele
pornesc, controlează și monitorizează procesele specifice în casă, în funcție de scenariu și pe baza modului în
care sunt programate. Interoperabilitatea este cuvântul magic. Dacă dispozitivele sunt interoperabile, acestea
pot comunica între ele. Abia atunci sistemul de alarmă se activează atunci când obloanele sunt închise. Abia
atunci se oprește de încălzire în sine atunci când fereastra este deschisă. Dacă nu există interoperabilitate între
elemente, casa nu este pur și simplu inteligentă.
În afară de comoditatea sporită, o mai bună eficiență energetică și o mai mare securitate sunt alte
aspecte cheie. Dacă un termostat inteligent pentru casă comunică cu contactul ferestrei prin WiFi, detectează
o fereastră deschisă și reglează astfel temperatura. Un astfel de termostat oprește încălzirea imediat ce
primește informații că nimeni nu mai este acasă de la senzorii altor dispozitive. Luminile cu LED inteligente
emit automat diferite tonuri de culoare în funcție de ora zilei și a camerei. Dacă camera în aer liber de pe
terasă este activată ca urmare a mișcărilor pe proprietate, aceasta pune și camera interioară în alertă, deoarece
ar putea exista amenințarea unei furturi. În casele cu locuitori în vârstă, o rogojină sensibilă la presiune ar
putea anunța rudele dacă cineva a ieșit din pat ca de obicei dimineața.
Cum este transformată o casă într -o casă inteligentă? Componentele necesare pot fi instalate și
configurate fără niciun know-how tehnic. Următoarele aspecte ar trebui luate în considerare în planificare:
 conexiune la internet și WiFi sunt necesare
 Un smartphone sau o tabletă sunt cele mai potrivite pentru controlul și monitorizarea dispozitivelor
 O rețea wireless este modernă, convenabilă și elegantă, dar transmisia prin cablu este mai sigură
 Dispozitivele ar trebui să fie programabile de la unitatea de control centrală și interoperabilă sau
este o soluție de sine stătătoare?
 Toate dispozitivele sunt conectate folosind același standard wireless (de exemplu, WiFi)?
 Seturile de pornire sunt ideale pentru începători, dar de obicei acoperă doar o singură zonă: fie
eficiență energetică, securitate sau comoditate
 Unitatea de control central ar trebui să fie plasată astfel încât toate dispozitivele care trebuie
abordate să fie în raza sa

[9]
Capitolul nr. II Sinteza parametrilor tehnici și programatorii în procedura de proiectare a
dispozitivului.Etapele de asamblare și algoritmizare a sistemului proiectat.

§2.1 Descrierea perifericelor utilizate în elaborarea schemei electronice de principiu


LED-uri 5mm. (x2)
Aceste LED-uri mici de 5mm, dar puternice, se pot folosi împreună cu un microcontroler pentru a
genera semnale vizuale în urma executării unei secvențe de cod sau în urma unui eveniment.
Telefon cu bot Telegram (x1)
Acest component ne dă posibilitate de a genera semnale pentru LED-uri de la utilizatori și de a
primi datele de la microprocessor.

§2.2 Elaborarea schemei de principiu în realitate

Imaginea nr.1 Schema de principiu pentru sistemul proiectat.

Conexiunile realizate :
LED 1 Galben → ESP32
K – GND , A – D01(ESP32)

LED 2 Verde → ESP32


K – GND , A – D02(ESP32)

Notă ! K – Catod și A – Anod, GND - ground

[10]
§2.3 Proiectarea algoritmilor de conexiune și comunicare uni și bidirecțională dintre periferice și PCB-ul
propriu-zis.

Pentru a putea utiliza perifericele se includ în Preprocesor următoarele fișiere Header cu descrierea
programatorie a lor (vizualizați Anexa nr.5) :

#ifdef ESP32
#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>

În mod similar se vor defini pinii(în preprocesor) pentru LED-urile și datele de la Telegram bot
de la care primim semnale.

#define BOTtoken "5665883485:AAFzRHWcpv2tsqeSfn0iw1gVjDGtg1q6828"


#define CHAT_ID "612832724"

Vor fi definite două variabile pentru distanță și durată.

const char* ssid = "Anea";


const char* password = "12345678";
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int botRequestDelay = 1000;
unsigned long lastTimeBotRan;
const int ledPin1 = 4;
const int ledPin = 4;
const int ledPin3 = 14;
const int ledPin2 = 5;
bool ledState = LOW;
bool ledState2 = LOW;
bool ledState3 = LOW;

Definirea funcției setup() cu tipul de returnare void.

void setup() {
Serial.begin(115200);
#ifdef ESP8266
client.setInsecure();
#endif
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
digitalWrite(ledPin1, ledState);
digitalWrite(ledPin2, ledState2);
[11]
digitalWrite(ledPin3, ledState3);
// Connect to Wi-Fi
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
WiFi.setSleep(false);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
// Print ESP32 Local IP Address
Serial.println(WiFi.localIP());
}

Definirea funcției loop() cu tipul de returnare void.

void loop() {
if (millis() > lastTimeBotRan + botRequestDelay) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
lastTimeBotRan = millis();
}

Definirea funcțiilor adăugătoare.

void handleNewMessages(int numNewMessages) {


Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
if (chat_id != CHAT_ID){
bot.sendMessage(chat_id, "Unauthorized user", "");
continue;
}
String text = bot.messages[i].text;
Serial.println(text);
String from_name = bot.messages[i].from_name;
if (text == "/start") {
String welcome = "Welcome, " + from_name + ".\n";
welcome += "Use the following commands to control your outputs.\n\n";
welcome += "/1led_on to turn GPIO ON \n";
welcome += "/1led_off to turn GPIO OFF \n";
welcome += "/1state to request current GPIO state \n";
welcome += "/2led_on to turn GPIO ON \n";
welcome += "/2led_off to turn GPIO OFF \n";
welcome += "/2state to request current GPIO state \n";
bot.sendMessage(chat_id, welcome, "");
[12]
}
if (text == "/1led_on") {
bot.sendMessage(chat_id, "LED state set to ON", "");
ledState = HIGH;
digitalWrite(ledPin1, ledState);
}
if (text == "/2led_on") {
bot.sendMessage(chat_id, "LED state set to ON", "");
ledState2 = HIGH;
digitalWrite(ledPin2, ledState2);
}
if (text == "/1led_off") {
bot.sendMessage(chat_id, "LED state set to OFF", "");
ledState = LOW;
digitalWrite(ledPin1, ledState);
}
if (text == "/2led_off") {
bot.sendMessage(chat_id, "LED state set to OFF", "");
ledState2 = LOW;
digitalWrite(ledPin2, ledState2);
}
if (text == "/1state") {
if (digitalRead(ledPin1)){
bot.sendMessage(chat_id, "LED is ON", "");
}
else{
bot.sendMessage(chat_id, "LED is OFF", "");
}
}
if (text == "/2state") {
if (digitalRead(ledPin2)){
bot.sendMessage(chat_id, "LED is ON", "");
}
else{
bot.sendMessage(chat_id, "LED is OFF", "");
}
}
}

Vizualizați Anexa nr.2 Codul Sursă pentru sistemul Embedded proiectat.

[13]
§2.4 Proiectarea algoritmilor de conexiune dintre sistemul Embedded ( ESP32 + Setul de periferice ) și
pagina WEB.

Pentru a putea utiliza funcțiile pentru conexiune dintre PCB ESP32 și Server se includ în
Preprocesor următoarele fișiere Header cu descrierea programatorie a lor (vizualizați Anexa nr.5) :

#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>

Se creează două variabile de tip pointer către char pentru ssid și parolă.
const char* ssid = "Anea";
const char* password = "12345678";

Va fi creat un obiect de tip WiFiClientSecure.

WiFiClientSecure client;

Vor fi setați parametrii pentru WiFi și local IP pentru conexiune WEB și ESP32.

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
WiFi.setSleep(false);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
// Print ESP32 Local IP Address
Serial.println(WiFi.localIP());

Va fi conecsiunea cu Telegram bot prin token și ID.


#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>
#define BOTtoken "5665883485:AAFzRHWcpv2tsqeSfn0iw1gVjDGtg1q6828"
#define CHAT_ID "612832724"
UniversalTelegramBot bot(BOTtoken, client);
if (millis() > lastTimeBotRan + botRequestDelay) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
lastTimeBotRan = millis();

Va fi creată o funcție de expediere semnalelor la Telegram Bot și primirea lor de la Telegram Bot.
[14]
§2.5 Prezentarea produsului final.

Imaginea nr.2 Sistemul Smart Home, când utilizator trimite semnal de a aprinde 1 LED

Imaginea nr.3 Pagina de Telegram Bot Informativă, cu referință la conectarea LED-urilor în


dependență de dorințele utilizatorului trimise la PCB ESP32 și afișarea mesajelor de starea LED-
urilor.

[15]
Capitolul nr.III Testarea funcțională a produsului tehnic obținut.

§3.1 Testarea tuturor situațiilor posibile în cazul casei intilligente.

Testul inițial, Setarea ambelor LED-urilor în starea OFF

Testul nr.1, Setarea unui LED în starea ON și al doilea LED în starea OFF.

[16]
Testul nr.2, Setarea ambelor LED-uri în starea ON.

Testul nr.3, Setarea LED-ului numărul 2 în starea ON și primului LED în


starea OFF.

[17]
Concluzii

În urma proiectării sistemului în cauză, la care problema de bază a fost crearea unui
dispozitiv pentru automatizarea casei omului. Noi am obținut scopurile puse la începutul lucrului
său. Am aplicat fundamentelor de științe exacte și inginerie în domeniul calculatoarelor,
tehnologiei informației și comunicațiilor, ne-am proiectat sistemele hardware, software și de
comunicații, am implementat, testat, administrat și mentenanța sistemelor hardware și de
comunicații. După realizarea lucrării noi am tras niște concluzii:
1.Orice acțiune omenească poate fi automatizată(în mod de autoasigurare sau comoditate)
ceea ce oferă un ajutor esențial consumatorului și facea viața și activitatea umană mai sigură,
comodă și precisă.
2.Sistemul dat poate fi instalat la orice Telefon mobil pe care este Telegram instalat, după
ce se poate de condus sistemele de casă.
3.Monitorizarea procesului de starea reală a LED-urilor, care sunt în casă.

Bibliografie

1.Cursul Interfețe și Rețele Industriale , dr.conf.univ. Victor Ababii, UTM FCIM, 2022
2.https://www.youtube.com/redirect?
event=video_description&redir_token=QUFFLUhqbHhucExCZEl3UlE0SXZ5YlZiTGpLLUlN
M3U1QXxBQ3Jtc0trRTBmUDMtMnhNNldfTV9uYS04ZUctWDQ2Skh1VER5R3I3TTJBNVl
FQWM4TlZ4NjhkblcxR1h1RVEyZGtsOG02MjUxcHc5a2JSMExuREU4Y3U1eWdSUUdxSUk
2WUROb2VZZkxUOWFQNWRZMXhUWDZ5NA&q=https%3A%2F
%2Fwww.instructables.com%2Fid%2FControlling-ESP8266-Using-Telegram-App
%2F&v=lh0FSdneGd0
3.https://www.youtube.com/redirect?
event=video_description&redir_token=QUFFLUhqa1pnRUZHNm03Zk14QS0wNy1qNUtVTF
RWTUZtUXxBQ3Jtc0trUDBlNHVFM1Y3dEVDdGcxQ0Y4d1VfV2xsWTgxSVZ4cVBtbk54S
GpMbkdPZzVyY24xTXQtQl8wdi1iVEV2NGVab0tUQm5OX0FUdHhPMjRQZlA0T0dSQm8x
SVRfRFFxQnhEVGJnemxKM2NzakUzNWxXbw&q=https%3A%2F%2Fgithub.com
%2Fakarsh98%2FESP8266-Telegram-Control&v=lh0FSdneGd0
4.Ioachim R, Miscoci N. – Descentralizare cu PROFIBUS-DP, Ed. Artprint, Bucuresti,

[18]
ISBN 973- 86867-7-6.
5.Tanenbaum A. S.,Steen M. van – Distributed systems: principles and paradigms,
Prentice Hall, 2007, ISBN-13: 9780132392273.
6.Tanenbaum A. S – Computer Networks, Prentice Hall, 2003, ISBN-13:
9780130661029
7.Gaitan V., Popa V., Tanase A. C. – Arhitectura retelelor industriale locale, Ed.
MatrixRom, ISBN 973-685-354-3.
8.Mackay S., Wright E., Reynders D., Park J. – Practical Industrial Data Networks:
Design, Installation and Troubleshooting , NewnesPress.
9.Marshall P. S. – Industrial Ethernet , ISA Society Siemens. 9.SIMATIC S7-200 –
Programmable Controller System Siemens.

[19]
Anexa nr.1 Schema Bloc a algoritmului pentru sistemul Embedded proiectat.

[20]
[21]
Anexa nr.2 Codul Sursă pentru sistemul Embedded proiectat.

#ifdef ESP32
#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>
const char* ssid = "Anea";
const char* password = "12345678";
#define BOTtoken "5665883485:AAFzRHWcpv2tsqeSfn0iw1gVjDGtg1q6828"
#define CHAT_ID "612832724"
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int botRequestDelay = 1000;
unsigned long lastTimeBotRan;
const int ledPin1 = 4;
const int ledPin = 4;
const int ledPin3 = 14;
const int ledPin2 = 5;
bool ledState = LOW;
bool ledState2 = LOW;
bool ledState3 = LOW;
void handleNewMessages(int numNewMessages) {
Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
if (chat_id != CHAT_ID){
bot.sendMessage(chat_id, "Unauthorized user", "");
continue;
}
String text = bot.messages[i].text;
Serial.println(text);
String from_name = bot.messages[i].from_name;
if (text == "/start") {
String welcome = "Welcome, " + from_name + ".\n";
welcome += "Use the following commands to control your
outputs.\n\n";
welcome += "/1led_on to turn GPIO ON \n";
welcome += "/1led_off to turn GPIO OFF \n";
welcome += "/1state to request current GPIO state \n";
welcome += "/2led_on to turn GPIO ON \n";
welcome += "/2led_off to turn GPIO OFF \n";

[22]
welcome += "/2state to request current GPIO state \n";
bot.sendMessage(chat_id, welcome, "");
}
if (text == "/1led_on") {
bot.sendMessage(chat_id, "LED state set to ON", "");
ledState = HIGH;
digitalWrite(ledPin1, ledState);
}
if (text == "/2led_on") {
bot.sendMessage(chat_id, "LED state set to ON", "");
ledState2 = HIGH;
digitalWrite(ledPin2, ledState2);
}
if (text == "/3led_on") {
bot.sendMessage(chat_id, "LED state set to ON", "");
ledState3 = HIGH;
digitalWrite(ledPin3, ledState3);
}
if (text == "/1led_off") {
bot.sendMessage(chat_id, "LED state set to OFF", "");
ledState = LOW;
digitalWrite(ledPin1, ledState);
}
if (text == "/2led_off") {
bot.sendMessage(chat_id, "LED state set to OFF", "");
ledState2 = LOW;
digitalWrite(ledPin2, ledState2);
}
if (text == "/3led_off") {
bot.sendMessage(chat_id, "LED state set to OFF", "");
ledState3 = LOW;
digitalWrite(ledPin3, ledState3);
}
if (text == "/1state") {
if (digitalRead(ledPin1)){
bot.sendMessage(chat_id, "LED is ON", "");
}
else{
bot.sendMessage(chat_id, "LED is OFF", "");
}
}
if (text == "/2state") {
if (digitalRead(ledPin2)){
bot.sendMessage(chat_id, "LED is ON", "");
}
else{

[23]
bot.sendMessage(chat_id, "LED is OFF", "");
}
}
if (text == "/3state") {
if (digitalRead(ledPin3)){
bot.sendMessage(chat_id, "LED is ON", "");
}
else{
bot.sendMessage(chat_id, "LED is OFF", "");
}
}
}
}
void setup() {
Serial.begin(115200);
#ifdef ESP8266
client.setInsecure();
#endif
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
digitalWrite(ledPin1, ledState);
digitalWrite(ledPin2, ledState2);
digitalWrite(ledPin3, ledState3);
// Connect to Wi-Fi
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
WiFi.setSleep(false);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
// Print ESP32 Local IP Address
Serial.println(WiFi.localIP());
}
void loop() {
if (millis() > lastTimeBotRan + botRequestDelay) {
int numNewMessages = bot.getUpdates(bot.last_message_received +
1);
while(numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
lastTimeBotRan = millis();

[24]
Anexa nr.3 Screenshot – uri la Telegram Bot.

1 – Afișarea textului cu comenzi prestabilite.


2 – Afișarea textului ce a fost făcut după executarea comenzilor.

[25]

S-ar putea să vă placă și