blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
PHP, Arduino programátor
deadawp



ESP-CAM - Ukladanie fotografií na Google Disk
pridal deadawp 14.5. 2020 o 17:39



IoT WiFi čip vznikol už pred pár rokmi. Stále sa však vyvíjajú hotové vývojové dosky, ktoré využívajú túto platformu. Jednou z nich je aj ESP-CAM - vývojová doska vybavená čipom ESP32-S, slotom pre SD kartu (maximálne možné použiť 4GB formátovanú na FAT32)  a taktiež v základe kamerou OV2640 s rozlíšením 2Mpix. Existuje aj kamera OV7670, ktorou môže byť ESP-CAM tiež vybavená. Oba spomenuté modely kamier existujú vo viacerých vyhotoveniach - Fish Eye, Macro, Wide angle... 

Dnes si ukážeme jednoduchý príklad, ktorý umožňuje vývojovú dosku ESP-CAM model AI-Thinker využiť vo WebClient režime a odosielať ňou nasnímané fotografie na Google Disk. ESP-CAM je najstabilnejšia pod ESP32 Arduino Core 1.0.1. V prostredí Arduino IDE sa ESP-CAM programuje pod modelom ESP32 Wrover Module, pričom sa používa Huge App schéma partícii, nakoľko program môže mať aj viac ako 1MB (štandardne podporované). Doska nie je vybavený USB-UART prevodníkom a z toho dôvodu je nutné použiť externý USB-UART prevodník pre nahratie programu.

Doska nemá tlačidlo pre BOOT signál (GPIO 0) z toho dôvodu je ho nutné počas nahrávania programu skratnúť samostatnou prepojkou. 

Pre úspešný zápis vytvorenej fotografie na Google Disk je nutné vytvoriť si Google Apps Script, ktorý bude realizovať uloženie fotografie, ktorú získa od mikrokontroléru ESP-CAM.
Google Apps Script vytvoríme následovne:

  • Otvoríme Google Disk
  • Nové ⇒ Viac ⇒ Google Apps Script
  • Pomenujeme si projekt, nastavíme názov .gs súboru na upload.js
  • Do súboru nakopírujeme obsah z: https://github.com/gsampallo/esp32cam-gdrive/blob/master/upload.gs
  • Klikneme na záložku Zverejniť ⇒ Nasadiť ako webovú aplikáciu, priradíme meno a nastavíme možnosť prístupu na Anyone, even anonymous (ESP-CAM sa nevie autentizobať cez Google Oauth)
  • Link, ktorý nám vygeneruje Google pre našu webovú aplikáciu si uschovajte, využije sa pre finálnu implementáciu do ESP-CAM

Pri otvorení webovej lokality môžete vidieť "chybu" doGet not found... Toto nie je chyba, webaplikácia fungovať bude, využíva sa doPost, nie doGet pre prebratie fotografie na uloženie.

Stiahnite si archív: https://github.com/gsampallo/esp32cam-gdrive otvorte .ino príklad, ku ktorému do zložky nakopírujte Base64 knižnice C, C++ a upravte v danom .ino súbore prihlasovacie meno a heslo k vašej domácej WiFi sieti. Taktiež je nutná úprava adresy na vašu webovú lokalitu, na ktorej sa nachádza váš Google App Script. Script automatizovane vytvorí zložku ESP-CAM na vašom Google disku, kde bude ukladať fotografie. 

Výsledok môže vyzerať následovne v Google Disku:

Daný program pre ESP32 má mnoho modifikovateľných parametrov. Je možné modifikovať kvalitu, rozlíšenie fotografií, nastavovať kontast a mnoho iného.. Najvyššiu kvalitu fotografií je možné použiť iba s dostatočnou PSRAM pamäťou (buffrom). V prípade dosiek typu ESP-CAM je nedostatočný, preto sa používa skôr 800x600 (4:3) fotografia (SVGA) alebo 640x480 (VGA). Fotografia v rozlíšení 640x480 má cca 50kB.
Výsledná fotografia (VGA) - 640x480:

Kamera je schopná aj vytvárať videá, pri rozlíšení 800x600 zvláda stream na 12-15 FPS. Existujú aj implementácie pre kameru, ktorá dokáže rozpoznať tvár, je možné ju prepojiť s Google AI, ktoré dokáže overiť na základe toho, čo kamera vidí o aký objekt ide. Kamera je šikovná, stojí pod 10€, avšak z pohľadu rýchlosti a plynulosti streamu, kvality videa a fotografií nie je úplne vyhovujúca. 

Implementáciu som rozšíril o Root CA certifikát, ktorý realizuje spojenie. Spojenie je rýchlejšie, dôveryhodnejšie - pôvodná verzia využíva Insecured spojenie... 
Moju rozšírenú implementáciu môžete nájsť na: https://github.com/martinius96/ESP-CAM-Webclient

Ďalšie projekty je možné nájsť na: https://arduino.php5.sk



Prístupov 2038
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Ovládanie Arduina cez UART z počítača
[ 19.11.2020] (príspevkov 0)
ArduinoJson - knižnica pre parsovanie JS...
[ 15.11.2020] (príspevkov 0)
Overenie kradnutých vozidiel - Arduino +...
[ 11.11.2020] (príspevkov 0)
Hladinomer + Zrážkomer - Arduino / ESP82...
[ 2.11.2020] (príspevkov 0)
RFID vrátnik - update Október 2020
[ 29.10.2020] (príspevkov 0)
Digitálny potenciometer, prerušenie, deb...
[ 28.10.2020] (príspevkov 0)
Integrácia zrážkomera RG-11 do projektu ...
[ 22.10.2020] (príspevkov 0)
WiFi Termostat - ESP8266 - WiFiManager -...
[ 28.9.2020] (príspevkov 0)
Izbový termostat - Portovanie programu -...
[ 22.9.2020] (príspevkov 0)
RFID vrátnik - Ukončenie projektu
[ 9.9.2020] (príspevkov 0)