Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!
  • Fermate
    Fermate

    Fermates ESP32 - MQTT - LEGO (0)

    For noen år siden gjorde min sønn (30) meg oppmerksom på Arduino. Jeg ble veldig glad for jeg hadde savnet den direkte kontakten med IO som jeg husket fra assembler-programmeringen av Z80 på 80 tallet. Nå kunne jeg ta oppigjen alt jeg hadde puslet med av elektronikk som 14 åring med loddebolt på pulten på gutterommet i barndomshjemmet (1974). Og med mikroprosessor ble alt bare kulere og lettere å lage ting som kunne brukes. Med smarthus kom behovet for å lage devicer som kunne snakke med nettet og leg landet etterhvert på ESP32 og MQTT.

     

    Men hver gang jeg skal lage noe, plukker jeg biter fra her og der; noe googler jeg, noe spør jeg ChatGPT om og noe finner jeg i gamle prosjekter jeg har liggende. Mange av eksemplene jeg finner på nettet er dessverre fulle av mye annen kode, -er for gamle eller bærer preg av en programmerer som skal brilljere med å skrive avansert (uleselig) kode.

     

    Jeg har lenge tenkt at jeg skulle lage noen små "LEGO klosser" med tematisk funksjonalitet slik at det ble lettere å sette sammen en løsning, og at koden var ferdig "destillert" til å limes inn i prosjektet.

     

    Om jeg nå slo dette sammen med tanken om å vise andre hvor inmari gøy dette er, og kanskje hjelpe noen med å komme i gang med dette, var det jo logisk å lage dette som et sett med små mini-guider her på forumet. Jeg ser jo at jeg selv går tilbake til prosjektene mine som jeg har postet her og henter kode fra dem (for det er så enkelt å finne 😉 ) så hvorfor ikke gjøre dette fra en litt egoistisk side også?

     

    Det jeg poster bli jo farget av hva jeg personlig foretrekker og jeg har valgt å holde meg innenfor en begrenset ramme som består av: 

    • ESP32 Dev Kit v1
    • MQTT

     

    I hver Guide tenker jeg å poste basiskoden (kun det du trenger for det tema miniguiden handler om) men også komplett kode for å kjøre dette over MQTT. Noen guider vil også inneholde biter av annen kode som eksempler på ting som kan være relevant , men dette ønsker jeg å holde separat slik at det ikke forurenser hovedtema.

     

    En liten forklaring på hvordan dette fungerer og hvordan det skal kobles må jo med, men når jeg selv leter etter kode blar jeg meg irritert forbi masse bla bla før jeg endelig finner KODEN som jeg trenger. Jeg tenker derfor at basis koden skal ligge HELT ØVERST slik at den blir lett å finne 🙂

     

    Jeg syns det passer med en par "hvordan komme i dag" kapittler også slik at nybegynnerne ikke blir skremt vekk og dere andre får bare vente litt så kommer det mat for dere også 😉

     

    Vi starter da med en "komme i gang" guide for ESP32:
     

     

    Og en for MQTT
     


    Og en der de er slått sammen:

     

     

    Senere er planen å komme med:

    • ESP32/MQTT Viftestyring
    • ESP32/MQTT Servostyring
    • ESP32/MQTT Temperatur måling
    • ESP32/MQTT Relee styring
    • ESP32/MQTT Brytere (og debouncing)
    • ESP32/MQTT Adresserbare LED
    • ESP32/MQTT Måle Spenninger og lese Potensiometere
    • ESP32/MQTT Steppermotorer
    • ESP32/MQTT Store strømmer lydløst med MOS-Fet
    • MQTT og HomeSeer (mscMQTT)
    • ESP32/MQTT Strømforskyninger
    • ESP32/MQTT Utstyr for prototyping (og prototype bygging)

    Brukertilbakemelding

    Anbefalte kommentarer

    Kim Storøy gjorde meg oppmerksom på denne: https://esphome.io/ på IoT FB gruppa.
     

    Personlig er jeg ikke så glad i sånne biblioteker som pakker bort alt det gøye i programmeringen men løsningen er jo absolutt interessant så jeg poster linken her.

     

    Det store biblioteket deres over IO devicer er imponerende og definitivt en kilde til inspirasjon, men jeg klarer dessverre ikke helt å finne fram til kode jeg kan stjele fra Sourcekode-delen deres.

     

    Om noen er flike til det så tar jeg gjerne et hint på hvor i source strukturen deres en finner slik lavlevel kode.
     

    Lenke til kommentar
    Del på andre sider

    Fermate skrev (31 minutter siden):

    Personlig er jeg ikke så glad i sånne biblioteker som pakker bort alt det gøye i programmeringen


    Jeg jobber fulltid med programmering og Esphome er noe av det "gøyeste" jeg har vært borti. Det er faktisk veldig tilfredstillende å bruke "esphome run en_eller_annen.yaml" på kommandolinje for å kompilere, linke og laste opp ny firmware via OTA. Og finnes ikke enheten på lokalnettet, så spør den om jeg vil laste det ned til en dings koblet til USB-porten.

    Dette virker så bra at jeg følte meg trygg på å endre en esp32 kode mens jeg var på en månedslang tur i USA. En liten redigering i teksteditor i Home Assistant via mobil. Og en kompilering, linking og OTA ved hjelp av esphome for arm slik at jeg kan kjøre det på en raspberry pi (som kjører i en docker sammen med Home Assistant). Noen sekunder etterpå fikk jeg melding om at esp32 dingsen var startet opp igjen.

    Jeg har en EPROM brenner liggende hjemme og det var en tid da jeg programmerte 8-bits mikrokontrollere i assembly. Det var kjekt, det også. Men OTA funksjonaliteten og lettheten i å endre på kode i Esphome, det er en ny verden. Fordi resultatet kommer så fort.

    Lenke til kommentar
    Del på andre sider

    Jeg har full forståelse for at folk ønsker å jobbe i høynivå framfor å klore rundt i assembler.

    Til sommeren har jeg programmert som yrke i 40år og jobber til daglig med å vedlikeholde et beist av en applikasjon som drifter det meste i firma der jeg jobber.
    På hybby siden savner jeg ikke assembler akkurat men jeg setter veldig pris på å ha full kontroll på det jeg lager og hvordan det henger sammen i koden. Det er også derfor jeg forsøker å bruke så enkle biblioteker som mulig (helst ingen men det går jo en grense)

    For min egen del handler det altså om mestringsgleden ved å designe og lage ting selv.
    Noen ting er det like greit å kjøpe (er ikke like gøy å finne opp kruttet hver gang) mens andre ting er det rett og slett gøy å bygge 🙂

    Jeg tror jeg må oppsummere det slik:
    Mellom det å lodde og programmere alt selv til det å kjøpe ting ferdig er det mange graderinger.
    Noen av oss er mest fokusert på resultetet mens andre er også opptatt av gleden ved å gå veien.
    Men alle må finne sin balanse mellom disse ytterpunktene som gir mest glede 🙂

    Lenke til kommentar
    Del på andre sider



    Bli med i samtalen

    Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

    Gjest
    Skriv en kommentar...

    ×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

      Du kan kun bruke opp til 75 smilefjes.

    ×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

    ×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

    ×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.




×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.