“ESP32, Arduino IDE og Firebase

Det er efterhånden en del år siden jeg udgav bogen ”Min Arduino”. Men nu er tiden kommet for at se nærmere på den populære ESP32 mikrocontroller. ESP32 fra Espressif Systems er en serie af billige, lavt strømforbrugende system på en chip mikrocontrollere med integreret WiFi og dual-mode Bluetooth. Både Arduino UNO og ESP32 er populære udviklingsplatforme inden for elektronik og IoT (Internet of Things), men de har forskellige egenskaber og anvendelsesområder. Her er nogle af de vigtigste forskelle mellem Arduino UNO og ESP32:

Mikrocontroller:
• Arduino Uno bruger en ATmega328P mikrocontroller fra Microchip. Denne mikrocontroller er baseret på AVR-arkitekturen og har en relativt lavere ydeevne sammenlignet med moderne mikrocontrollere.
• ESP32 bruger en ESP32 mikrocontroller fra Espressif Systems. Denne mikrocontroller er baseret på Xtensa LX6-arkitekturen og har en højere ydeevne og indbygget WiFi- og Bluetooth-funktionalitet.
2. Ydeevne:
• ESP32 har en hurtigere CPU, flere hukommelsesressourcer og understøtter dobbeltkerneteknologi, hvilket giver det en betydeligt højere ydeevne i forhold til Arduino Uno.
3. Trådløs kommunikation:
• En stor forskel mellem de to er ESP32’s indbyggede WiFi- og Bluetooth-support. Dette gør ESP32 ideel til projekter, der kræver trådløs forbindelse, f.eks. IoT-applikationer.
4. IO-pin:
• Arduino Uno har færre digitale og analoge I/O-pin sammenlignet med ESP32. Dette kan påvirke kompleksiteten og omfanget af de projekter, du kan opbygge.
5. Strømforbrug:
• ESP32 har avancerede strømstyringsfunktioner og tilstande, der kan hjælpe med at minimere strømforbruget. Dette gør det velegnet til batteridrevne IoT-applikationer.
6. Pris:
• Generelt er ESP32 mikrokontrollere billigere end Arduino UNO, men priserne kan variere afhængigt af fabrikat og forhandlere.
7. Programmering og udviklingsmiljø:
• Begge platforme understøtter Arduino IDE, men ESP32 kræver normalt installation af ekstra koder og biblioteker for at understøtte dets unikke funktioner.

Sammenfattende er ESP32 en mere avanceret og kraftfuld enhed med indbygget trådløs kommunikation, hvilket gør det velegnet til mere komplekse og avancerede projekter, især inden for IoT. Arduino UNO er mere grundlæggende og har enklere funktionalitet, hvilket gør det godt til begyndere og mindre krævende projekter. Valget mellem de to afhænger af de specifikke krav og mål for dit projekt.
I bogen beskrives også nogle projekter, hvor en ESP32 kombineres med Firebase. For dem som ikke kender Firebase, er der i bogen en introduktion til dette. I forbindelse med webservere, som bogen også beskæftiger sig med, er det det forholdsvis enkelt at arbejde trådløst med fx data fra sensorer på dit eget netværk. Men hvad gør vi hvis vi befinder et andet sted i verden, som dog har en forbindelse til internettet? Her er det af Firebase kommer ind i billedet.
Kort sagt er Firebase en cloud-baseret platform, der tilbyder en række forskellige værktøjer og tjenester til udviklere til at oprette og administrere mobil- og webapplikationer. Firebase tilbyder funktioner som realtidsdatabaser, autentificering, filopbevaring, hosting, analytics og meget mere. Dette gør det lettere for udviklere at bygge applikationer uden at skulle bekymre sig om backend-infrastrukturen. Firebase er udviklet af Google og er blevet populært, især til hurtig udvikling af prototyper og mindre projekter.
Når det kommer til ESP32 og Firebase, kan de to
teknologier kombineres til at oprette IoT-applikationer, hvor ESP32-enheder samler data fra sensorer og sender dem til en Firebase-database i skyen. Dette gør det muligt at opbygge applikationer, der kan overvåge og styre enheder fra forskellige steder via internettet.
Der er et eksempel i bogen, hvor du kan bruge en ESP32 til at måle på en lysfølsom resistor og derefter sende disse målinger til en Firebase Realtime Database. Dette gør det muligt for dig at oprette en webapplikation, der kan vise disse målinger i realtid og give dig mulighed for at overvåge forholdene hvor som helst.
Det sidste eksempel fra bogen, hvor kan du bruge en ESP32, er i forbindelse med at tænde/slukke en LED-strip og variere hastigheden på en propel. Det kan også være hvor som helst, hvis den har forbindelse med internettet.