This shows you the differences between two versions of the page.
pm:prj2023:fstancu:vlad.dumitru1305 [2023/05/20 15:51] vlad.dumitru1305 |
pm:prj2023:fstancu:vlad.dumitru1305 [2023/05/30 00:03] (current) vlad.dumitru1305 |
||
---|---|---|---|
Line 9: | Line 9: | ||
==== Schema bloc ==== | ==== Schema bloc ==== | ||
- | {{:pm:prj2023:fstancu:schema_bloc.png?nolink|}} | + | {{:pm:prj2023:fstancu:schema_bloc.png?nolink&600|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 22: | Line 22: | ||
* Rezistente | * Rezistente | ||
- | ==== Scheme electrice ==== | + | ==== Scheme hardware ==== |
+ | {{:pm:prj2023:fstancu:dumitru_vlad_tinker.png?nolink&600|}} | ||
+ | |||
+ | {{:pm:prj2023:fstancu:dumitru_vlad_tinker2.png?nolink&600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | ==== Mediu de dezvoltare ==== | ||
+ | [[https://support.arduino.cc/hc/en-us/articles/360019833020-Download-and-install-Arduino-IDE | Arduino IDE]] | ||
+ | ==== Librarii si surse 3rd-party ==== | ||
- | ===== Rezultate Obţinute ===== | + | * [[https://github.com/arduino-libraries/Arduino_JSON | Arduino_JSON]] |
+ | * [[https://github.com/RobTillaart/DHTlib | DHTlib]] | ||
+ | * [[https://github.com/johnrickman/LiquidCrystal_I2C | LiquidCrystal_I2C]] | ||
- | ===== Concluzii ===== | + | * [[https://arduino.esp8266.com/stable/package_esp8266com_index.json | ESP8266 Package]] |
- | ===== Download ===== | + | ==== Surse si functii implementate ==== |
+ | === ESP8266.ino === | ||
+ | * <code c++> connectToWiFi() </code> | ||
+ | * Realizeaza conectarea la reteaua WiFi si asteapta o conexiune stabila. | ||
+ | * <code c++> httpGETRequest(const char* path) </code> | ||
+ | * Realizeaza conexiunea HTTP catre //path// dat ca argument. | ||
+ | * Realizeaza cerere HTTP de tip GET si returneaza rezultatul. | ||
+ | * <code c++> sendData() </code> | ||
+ | * Construieste pachetul de date - delimitat de caracterele //<// si //>//. | ||
+ | * Trimite pachetul catre dispozitivul conectat, prin interfata seriala USART. | ||
+ | * <code c++> setup(void) </code> | ||
+ | * Seteaza BAUD rate-ul. | ||
+ | * Apeleaza functia //connectToWiFi()//. | ||
+ | * <code c++> loop() </code> | ||
+ | * La intervale de 10 minute, este apelata functia //httpGETRequest(const char* path)//. | ||
+ | * Se prelucreaza rezultatul (intors sub forma de JSON) si se inregistreaza temperatura si umiditatea curente. | ||
+ | * In cazul in care conexiunea WiFi a fost intrerupta, se va incerca reconectarea. | ||
+ | * Datele inregistrate se trimit constant, actualizandu-se doar dupa intervalul de 10 minute. | ||
- | ===== Jurnal ===== | + | === Arduino.ino === |
+ | * <code c++> printLCD(int temp, int humidity, int location) </code> | ||
+ | * Scrie pe LCD datele primite ca argument (impreuna cu simboluri expresive). | ||
+ | * <code c++> printDHT() </code> | ||
+ | * Inregistreaza datele citite de catre senzorul DHT. | ||
+ | * Apeleza functia //printLCD(int temp, int humidity, int location)// cu datele citite. | ||
+ | * <code c++> printWiFi() </code> | ||
+ | * Daca exista date disponibile pentru a fi citite, se vor inregistra, prelucra si afisa (asemenea DHT). | ||
+ | * <code c++> setup(void) </code> | ||
+ | * Seteaza BAUD rate-ul. | ||
+ | * Initializeaza LCD-ul. | ||
+ | * Construieste simbolurile folosite in afisare. | ||
+ | * <code c++> loop() </code> | ||
+ | * Apeleaza functiile //printDHT()// si //printWiFi()// cu o pauza de 5 secunde intre ele. | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | {{:pm:prj2023:fstancu:local.jpeg?nolink&600|}} | ||
+ | {{:pm:prj2023:fstancu:city.jpeg?nolink&600|}} | ||
+ | |||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | * Proiectul poate deveni chiar folositor daca i se imbunatateste portabilitatea + folosirea unui cadru pentru piese. | ||
+ | * A fost interesant procesul de realizare a proiectului - de la alegerea pieselor la scrierea codului. | ||
+ | * Nu cred ca voi refolosi piesele utilizate. | ||
+ | ===== Download ===== | ||
+ | |||
+ | {{:pm:prj2023:fstancu:surse_meteo.7z|}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | ==== Resurse Software / Hardware ==== | ||
+ | |||
+ | * [[https://www.circuitbasics.com/how-to-set-up-the-dht11-humidity-sensor-on-an-arduino/]] | ||
+ | * [[https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/]] | ||
+ | * [[https://www.hackster.io/jacoslabbert99/arduino-lcd-icons-custom-characters-548f38]] | ||
+ | * [[https://www.instructables.com/IoT-ESP8266-Series-1-Connect-to-WIFI-Router/]] | ||
+ | * [[https://randomnerdtutorials.com/esp8266-nodemcu-http-get-post-arduino/]] | ||
+ | * [[https://robotic-controls.com/learn/arduino/arduino-arduino-serial-communication]] | ||