This shows you the differences between two versions of the page.
pm:prj2022:robert:crypto-tracker [2022/05/26 02:24] robert.stamate |
pm:prj2022:robert:crypto-tracker [2022/05/26 03:21] (current) robert.stamate |
||
---|---|---|---|
Line 8: | Line 8: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | O grupare de matrice LED pe care se vor afisa preturile celor mai importante 10 criptomonede de pe piata, | + | O grupare de matrice LED pe care se vor afisa preturile unor monede primite ca input intr-un server hostat pe placuta.\\ |
- | conform [[https://coinmarketcap.com/|coinmarketcap]]. | + | |
Datele vor fi culese prin cereri http catre un API extern, folosind modulul ESP8266 pentru conexiunea la internet. | Datele vor fi culese prin cereri http catre un API extern, folosind modulul ESP8266 pentru conexiunea la internet. | ||
Line 21: | Line 20: | ||
\\ | \\ | ||
\\ | \\ | ||
- | {{ :pm:prj2022:robert:cryptocircuitdiagram.png?800 |}} | + | {{ :pm:prj2022:robert:cryptodriagramless.png?800 |}} |
- | Componente: | + | ^Componente^ |
- | * [[https://ardushop.ro/en/electronics/286-development-board-uno-v3-arduino-compatible-dip-cable.html|Uno Arduino Compatible]] | + | |[[https://cleste.ro/modul-wavgat-d1-wifi-uno.html|Uno Arduino Compatible]]| |
- | * [[https://ardushop.ro/en/electronics/33-breadboard-830.html?search_query=breadboard&results=17|Breadboard]] | + | |[[https://cleste.ro/modul-4-x-matrice-led-max7219-8x8.html|Matrice led 8x8]]| |
- | * [[https://ardushop.ro/en/home/2255-lm8x83mmred.html?search_query=matrice+led+8x8&results=188|Matrice led 8x8]] | + | |[[https://cleste.ro/10xfire-dupont-mama-tata-20cm.html|Fire dupont mama-tata]]| |
- | * [[https://www.emag.ro/modul-serial-wifi-esp8266-esp-01-cl02/pd/DPJKJJBBM/|ESP8266]] | + | |
- | * [[Fire]] | + | ===== Software Design ===== |
- | * [[Rezistente]] | + | |
+ | Am utilizat Arduino IDE configurat pentru placa WEMOS(D1 R2 & mini) si urmatoarele biblioteci: | ||
+ | * ESP8266WiFi.h (Conexiune wi-fi locala) | ||
+ | * MD_Parola.h (Afisare text cu efect de derulare spre stanga) | ||
+ | * MD_MAX72xx.h (Configurare display matrice) | ||
+ | * SPI.h (Conexiune fire software) | ||
+ | * ESP8266HTTPClient.h (Client rest api) | ||
+ | * ArduinoJson.h (Pentru parsarea raspunsurilor venite de la coingecko) | ||
+ | * NTPClient.h (Ora din server) | ||
+ | * WiFiUdp.h (Ora din server) | ||
+ | * sstream (parsare input server/seriala) | ||
+ | * string (lucru mai usor cu siruri) | ||
+ | * unordered_map (legaturi simbol - id si simbol - nume ex: LUNA - terra-luna si LUNA - Terra) | ||
+ | |||
+ | ==== Mod de utilizare ==== | ||
+ | - Se asteapta afisarea ip-ului local. | ||
+ | - Se conecteaza folosind orice browser (desktop/mobil). | ||
+ | - Se introduc simbolurile pentru monedele dorite, separate prin virgula. (ex: bitcoin,ripple,terra-luna) | ||
+ | - Se selecteaza modul de afisare, directia de derulare si viteza de derulare. | ||
+ | - Se trimit datele catre client. | ||
+ | - Se profita. | ||
+ | |||
+ | ===== Rezultate obtinute ===== | ||
+ | Am obtinut un companion de nadejde. Practic, nu mai trebuie sa deschid 5 pagini diferite pentru toate monedele de care sunt interesat.\\ | ||
+ | Placuta + display-ul fac fix ce mi-am propus: aduna date dintr-un API extern la fiecare 5 minute si le afiseaza intr-un mod usor observabil.\\ | ||
+ | Demo: [[https://www.youtube.com/watch?v=7AsDPK6ocHo|Crypto Tracker 2022]] | ||
+ | |||
+ | ===== Download ===== | ||
+ | [[https://github.com/AndreiRStamate/crypto-tracker|Proiect github]] | ||
+ | |||
+ | ===== Jurnal ===== | ||
+ | * 20.05.2022: Sosire piese. ~12 ore de cautat biblioteci functionale + schimbare/interschimbare fire. | ||
+ | * 22.05.2022: Realizare: legatura CS-SS trebuia facuta prin pinul D10, dar notata in cod cu D8. | ||
+ | * 23.05.2022: Creare server local. | ||
+ | * 25.05.2022: Conectare la un api gratuit + comunicare placuta - browser; browser - placuta. | ||
+ | * 26.05.2022: Rezolvare bug-uri (apelare millis() in loop produce "Soft WDT reset") + Finalizare proiect. | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | * [[https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html|ESP8266]] | ||
+ | * [[https://www.arduino.cc/reference/en/libraries/md_parola/|MD_Parola.h]] | ||
+ | * [[https://www.arduino.cc/reference/en/libraries/md_max72xx/|MD_MAX72xx.h]] | ||
+ | * [[https://www.arduino.cc/reference/en/language/functions/communication/spi/|SPI.h]] | ||
+ | * [[https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h|ESP8266HTTPClient.h]] | ||
+ | * [[https://arduinojson.org/|ArduinoJson.h]] | ||
+ | * [[https://www.arduino.cc/reference/en/libraries/ntpclient/|NTPClient.h]] | ||
+ | * [[https://www.arduino.cc/reference/en/libraries/wifi/wifiudp/|WiFiUdp.h]] | ||
+ | * [[https://www.cplusplus.com/reference/sstream/|sstream]] | ||
+ | * [[https://www.cplusplus.com/reference/string/string/|string]] | ||
+ | * [[https://www.cplusplus.com/reference/unordered_map/unordered_map/|unordered_map]] | ||
+ | * [[https://www.circuito.io/app?components=9442,11021,13678,281909,281909,281909,281909|Schema bloc]] | ||
+ | * [[https://www.electronicshub.org/arduino-led-matrix/|Schema electrica]] | ||