Jump to content
  • Sign Up
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)

    User Feedback

    Recommended Comments

    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.
     

    Link to comment
    Share on other sites

    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.

    Link to comment
    Share on other sites

    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 🙂

    Link to comment
    Share on other sites



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.