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

Vinnerliste

Populært innhold

Viser innholdet med mest poeng siden 19. april 2023 i Oppføringer

  1. Etter 6 år hvor vi betalte driften av egen lomme, åpnet vi for frivillig sponsing av forumet i fjor. Dette har nå kjørt et halvt år og mange har meldt seg. Hvem disse flotte menneskene er kan du selv se under postingene deres: Vi er veldig takknemlige for alle som har stilt opp! Dessverre ser vi at det er fremdeles ikke nok inntekter til å dekke utgiftene våre, og vi har derfor bestemt oss for å åpne opp for litt reklame. Mange vil nok synes at dette er ubehagelig, men her kommer det en god nyhet: De som sponser oss slipper reklamen ! Sånn sett vil nå de mange som leser forumet, uten engang å være registrert medlem, også få lov til å bidra litt på sin egen måte. 🙂 Så ikke irriter deg over reklamen men tenk heller at du bidrar til driften ved å se den (og å klikke på den 😉 ) - eller enda bedre; bli kvitt den helt ved å registrere deg her.
    15 poeng
  2. 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)
    7 poeng
  3. Her er kode for å lese DS18B20: Bibliotekene er: Dalles DS18B20 ser ut som en transistor men er egentlig en IC. Den finnes i TO-92 (som en liten transistor) pakning men også bygget inn i en vanntett rustfri probe med lang kabel: Den er superenkel å bruke til å lese temperaturer med og koster lite. Det eneste den trenger er en pull-up resistor på 4,7k (Mellom + og Data) Spenningen kan være mellom 3 og 5,5V (Altså kan du bruke 3,3V spenningen fra ESP32en om det trengs. Mange sensorer Du kan koble opptil 32 stk DS18B20 etter hverandre på samme kabelen (Kun 1 pullup resistor) Du kan spørre etter antallet slik: deviceCount = sensors.getDeviceCount(); Og du leser dem slik: Temp1=sensors.getTempCByIndex(0); Temp2=sensors.getTempCByIndex(1); Alarmer Biblioteket inneholder også kode for alarmer om du ikke vil kode dem selv. Da må du også finne adressen til sensoren: DeviceAddress Temp1Addr; sensors.getAddress(Temp1Addr, 0); så kan du sette alarmtemperaturene: sensors.setHighAlarmTemp(Temp1Addr, 26.5); sensors.setLowAlarmTemp(Temp1Addr, 19); Og teste om alarmen er aktiv: if (sensors.hasAlarm(Temp1Addr)) { OBS Den trigger både på høy og lav så du må lese temp for å finne ut hvem. Leseintervaller Når du skal bruke den med MQTT må du bestemme deg for NÅR den skal rappportere temperaturen. Hver gang temperaturen endrer seg (mer en x grader)? Fast hvert x sekund Hver gang du ber om det. For den har passert over/under en granse (Alarm) De to første kan hardkodes eller de kan ha en default verdi og så kan de endres med MQTT kommandoer. Interupt Om du skal lese dem hvert x sekund kan du bruke et interupt. (Om du bruker en delay kan jo ikke ESP32 gjøre noe annet fornuftig mens den venter) Et interupt avbryter prosessoren med det den driver med og kjører en rutine, når rutinen er ferdig fortsetter prosessoren der den slapp. Rutinen som skal kjøres merkes med IRAM_ATTR slik at compileren legger den i instruksjons RAM for at den skal kunne kjøres raskt: void IRAM_ATTR onTimer(){ itsTimeNow=1; } En slik rutine bør gjøre så lite som mulig for ikke å forstyrre prosessoren for mye. Det enkelste er å bare sette en variabel. Denne bør deklareres med voilatile for at compileren skal holde den i RAM (og ikke i et register) slik at hovedprogrammet kan lese den correct: volatile int itsTimeNow = 0; I hoved loop'en kan vi nå teste på denne slik: if (itsTimeNow==1 ) { read_temp(); MQTTclient.publish("TempTestClient/Temp1", String(Temp1)); itsTimeNow=0; // Reset } Timer ESP32 har flere (2-4) harware timere som vi kan bruke til å kalle på interuptet. Du deklarerer den slik: hw_timer_t *My_timer = NULL; og setter den til å telle slik: My_timer = timerBegin(0, 8000, true); Fordi disse timerne teller VELDIG fort har jeg her brukt en "prescaler" på 8000 som gjør at jeg kan be om et interupt hver gang den når 10000 og det vil utgjøre et sekund: timerAttachInterrupt(My_timer, &onTimer, true); // Kobler interupt rutinen til timeren timerAlarmWrite(My_timer, 100000, true); //10000 = 1 Sek Altså hvert 10sek her timerAlarmEnable(My_timer); //start Her er et forslag til MQTT kode som poster temp fra 2 sensorer på forskjellige vis:
    2 poeng
  4. Jeg har lekt med svakstrøm siden 1974 og alltid vært fasinert av hva en kan lage selv for en billig penge. Dersom du er helt ny på feltet kan kanskje noen av disse tipsene være til hjelp. Breadbord og Dupont kabler Om du skal leke med ESP32 og elektronikk er det enkleste å skaffe seg et "Solderless Breadbord" med en gang. Dette er små plater med fjærbelastede kontakter under små hull som du kan stikke ledninger ned i, og slik koble dem sammen uten å lodde. Diise finnes i små versjoner også men det er like greit å kjøpe en stor med en gang. Ali har noen helt greie til en billig penge. https://www.aliexpress.com/item/1005005891244166.html Du kan bruke vanlig stiv koblings-tråd også men noen ordentlige Dupont kabler med farger er mye bedre Disse finnes i forskjellige lengder og som han-han, han-hun og hun-hun De kommer sammenkoblet i lange lakrisbånd og så kan du dra dem av en og en eller i grupper på to eller fler. Her er noen riktig billige jeg fant: https://www.aliexpress.com/item/1005002592440431.html Motstander Du kommer ikke langt før du trenger en motstand eller to og det er like greit å kjøpe et sett med det samme. Du klarer deg fint med 5% nøyaktighet men nå koster 1% nesten det samme. Det holder også med E-12 serien (og ikke E-24) så blir det ikke så mye å holde styr på. Kjell har et fint sett https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/komponentsett/playknowlogy-motstandssortiment-1460-pk.-p90435 Motsander er fargekodet på denne måten. Men det kan også være greit å kunne sjekke dem med et mulitimeter, og det må du ha uansett. Multimeter Jeg synes dette fra Kjell er veldig hendig og enkelt å bruke. https://www.kjell.com/no/varemerker/uni-t/elektro-og-verktoy/verktoy/maleinstrumenter/multimetere/uni-t-ut125c-multimeter-p48874 Strømforskyning For meg er det stas å ha en ordentlig lab-strømforskyning, og de kan du få ned til noen hundrelapper fra Ali også. Velg en med 30V og minst 3A som har instilling av Spenning og Strøm og display. Men du kan også klare deg med en vanlig batterieliminator på ca 12V og en stillbar spenningsregulator som du setter ned på breadboardet. Best med display så du vet at du ikke svir av noe du kobler til. Andre komponenter Når du har dette på plass er du godt rustet til å teste ut motorer, steppere, servoer eller andre ting du vil ha i prosjektet ditt. Men når du er godt i gang kan det være litt surt å plutselig mangle noe standard greier og måtte vente på å få det i posten eller måtte kjøpe det til blodpris her i Norge fordi du er utolmodig. Jeg har et sett med kondensatorer liggende: Husk å dobbelt sjekke polariteten på elektrolytt kondensatorer. Kobler du dem feil vei så smeller de 😞 Og en boks med assorterte små transistorer er alltid kjekkt å ha Skulle det være noe mer beredskaps greier nå så måtte det være noen dioder, LED og noen potensiometere kankje Lodding Alt dette er greit for å sette ting opp og se at det virker, men om du kan ta dette ibruk kan det jo ikke sitte på et breadboard med en haug med spaketti-kabler. For å få det solid må det loddes. Kjøp deg en ordentlig loddebolt med en gang så slipper du ihvertfall frustrasjon med at verktøyet ikke er bra. Denne er jeg veldig begeistret for: Mulig jeg kjøpte den hos Kjell: https://www.kjell.com/no/produkter/elektro-og-verktoy/verktoy/lodding/loddebolter/luxorparts-pro-60-w-loddestasjon-p40570 Eksprimentkort med kobberstriper eller 3 eller 5 hull sammen er greie til små ting. Jeg kommer kanskje med en egen miniguide om lodding senere om det er stemning for det. Spennings regulatorer Det kommer en egen guide om spenningsregulatoerer men imens vil jeg bare si at de små step-down regulatorne her er veldig greie å ha liggende: Jeg handler slike i sett på 10 om gangen 🙂
    2 poeng
  5. Her er basis kode for PWM styring av en PC vifte: Mange PC vifter kan en styre hastigheten på, men ikke alle. Dersom vifta har 4 kabler (og ikke bare 3) kan den styres. Lederne er: 12V Jord PWM (plus bredde modulasjon) styresignal inn Puls informasjon om hvor fort vifta faktisk går (Tach) PC vifter har PWM signal på 25kHz (antakeligvis for at en ikke skal kunne høre den med ørene) og tidligere var det litt klønete å få til med en Arduino, men med en ESP32 går det som en lek. Vi bruker en av de 6-16 (avhengig av ESP32 type) innebyggede PWM kanalene i ESP32'en og styrer dette med noen få linjer kode. Her er koden satt inn for å styre vifta fra MQTT: Det er også mulig å LESE den REELLE hastigheten på vifta ved å telle pulser fra den siste ledningen fra PC vifta men det må bli en annen gang. OBS: Pulsene fra vifta er 12V og vil skade ESP32 om de kobles direkte. Det er ofte 2 eller 4 pulser / rotasjon
    2 poeng
  6. Jeg har lenge hatt garasjedøra styrt av Smarthuset. En iTach Relee enhet har styrt døra, og en Nexa sender har lest av to mikrobrytere; en for døra oppe og en for løra lukket. Etter å ha forsøkt å rygge ut bilen før døra ver helt oppe (og siden jeg hadde to ledige releer i iTach'en) ble det "trafikklys" fra Biltema. Automatikken (ikke mulig å åpne døre om den allerede er åpen (for da lukker den seg)) ble laget som eventer i HomeSeer og garasjedøra ble styrt av Alexa, mini sendere i bilene og diverse brytere på veggene inne og i kjelleren osv. En blir jo lei av å bytte batterier på Nexa sendere og iTach'en er jo så gammel at den bruker 802.11b, så det var på tide å bygge noe selv og da blir det jo ESP32 og MQTT Jeg hadde noen billige releer liggende fra Ali men de var 5V i styringen og jeg var redd ESP32 pinnen ikke likte det så jeg la inn en transistor. Fordi det billige releet allerede hadde en transistor måtte jeg ha en Pullup Resistor som ga en spenning på over 4.6V (jeg målte) for å få det til å slå inn. For at ikke spenningen på pinnen til ESP32en skulle bli for høy fikk jeg ChatGPT til å beregne disse to motstandene for meg. Det var faktisk veldig praktisk for jeg er ikke så sterk på slike beregninger, og selv om det tok litt tid å få formidlet alle kravene og en del kontrollspørsmål måtte til ("men hva blir spenningen på ESP32 pinnen nå da?") så kom jeg altså fram til noen greie verdier. Siden jeg ikke hadde akkurat den transistoren som ChatGPT foreslo, kunne jeg også foreslå noen av dem jeg hadde liggende helt til jeg fikk beskjed fra ChatGPT om at den kunne brukes. Veldig kjekt, raskt og forholdsvis trygt. Med ett rele for døra (ett sekund klikk for å åpne, samme for å lukke), ett for det røde lyset og ett for det grønne og en sensor inngang for hver endebryter, var behovet dekket. Siden "trafikklysene" var 12V måtte jeg inn med en spenningsregulator på 5V. Jeg liker at mikroprosessoren forteller hva den driver med, for det gjør testingen enklere under utviklingen men også under evnt. feilsøking senere, så jeg måtte inn med noen LEDs. Før brukte jeg RGB LEDs for å kunne vise forskjellige farger i den samme LEDen men nå har jeg begynt å bruke adresserbare LEDs istedenfor. For det første klarer jeg meg med 1 motstand (i stedet for 3) og for det andre er det bare å koble seg videre til neste og neste uten flere motstander eller flere pinner på ESP32en. Siden jeg har en haug adresserbare LEDs liggende fråtset jeg i 5 stykker: Connect Status(Gul=Startup, Rød=Venter på WiFi, Blå=Har WiFi venter på MQTT, Grønn=MQTT Connected Mikrobryter oppe (Gul=Startup, Rød=Bryter Lukket, Grønn=Bryter Åpen) Mikrobryter nede (Gul=Startup, Rød=Bryter Lukket, Grønn=Bryter Åpen) Trafikklys Rød (Gul=Startup, Sterk Rød = Lampe Rød Lyser, Svakt Rød=Lampe Rød Slukket) Trafikklys Grønn (Gul=Startup, Sterk Grønn = Lampe Grønn Lyser, Svakt Grønn=Lampe Grønn Slukket) OBS Uten en motstand mellom ESP32en og den første LEDen ble det kjempeustabilt og blinket i hytt og vær. Jeg bruke en 330 ohm. Transistorene og motstandene og ESP32en ble loddet på et lite "kobber stripe" kort og en liten boks ble 3D Printet Tips for å koble adresserbare LEDs: Fordi data in og ut er på hver ende av beina, kan du bøye pluss og minus pinnene til hver sin side og lodde dem etter hverandre på et "3 punkt" kobberkort: Først hadde koden egne Topics for å styre lysene fra HomeSeer men så fant jeg ut at det ver like greit å pakke all den logikken inn i softwaren her og endte da bare opp med kommandoene: OpenDoor (Åpner døra om den er lukket (og bare da)) CloseDoor (Lukkerdøra om den er åpen (og bare da)) ActivateDoor (Trigger døra uansett hviken tilstand den er i. For å kunne override automatikken om en bryter henger seg opp) Men status fikk da også fire tilstander (med tilhørende lys): Open (Grønnt lys) Closed (Ingen lys) Opening (Rødt) Closing (Rødt og Grønnt) Jeg burde selvfølgelig puttet all den lys-koden i små subrutiner, men det kan dere kose dere selv med 😉 Jeg har alltid med denne lille koden // Onboard LED Status if (MQTTclient.isMqttConnected()) { digitalWrite(ONBOARD_LED ,LOW); } else { digitalWrite(ONBOARD_LED ,HIGH); } slik at jeg kan debugge debuggings lysene også 😄 Her er et bilde fra prototypingen:
    2 poeng
  7. Her er kode for å styre addresserbare LEDS Bibliotekene er: Litt om LED Å slå på en LED er vanligvis noe av det aller første en gjør når en starter med å leke med ESP32. ESP32 har til og med en onboard LED på pinne 2 som en kan bruke til testing uten eksterne komponenter. En LED har ingen (stor) indre motstand som en lyspære og må ha en ekstern motstand for å begrense strømmen slik at den ikke brenner opp. Max støm på LEDen finner du i spesifiksjonen på den, der finner du også spenningsfallet over selve LEDen (Forward Voltage). Om den site ikke er oppgitt kan du slå den opp (typisk) i en tabell. Her er en kalkulator for motstand: https://www.digikey.com/en/resources/conversion-calculators/conversion-calculator-led-series-resistor Husk at ESP32 pinnen selv ikke tåler mer enn typisk 20mA. (Noen sier 40mA) Det lange beinet skal til +: Skal du ha 3 LEDs (Feks Rød, gul og Grønn) må du bruke 3 pinner på ESP32en og en egen motstand for hver LED. RGB Led Men det finnes LED som har alle 3 fargene bygget inn i samme LED, -en RGB LED. Her er alle mins koblet sammen og ført ut på den lengste pinnen: OBS De finnes både i "common Anode" og "Common Catode", husk å sjekke hva du kjøper. Her må du fremdeles ha en motstand for hver farge og bruke 3 pinner. RGB LED Strips De første LED stripene som kom var koblet slik at alle LEDene hadde sin egen motstand og fargene var ført ut på hver sin tilkobling: Disse oppfører seg altså litt som en RBG LED men drar veldig mye strøm på grunn av alle LEDene. Du kan altså ikke koble disse direkte til pinner på ESP32en men må sette en driver-boks i mellom eller en havlvleder som feks en MOS-Fet. (Det kommer en egen guid senere om MOS-Fet) For å få hvitt lys skal en slå på både Rød, grønn og Blå samtidig. Dette blir ikke helt hvitt så derfor ble det laget striper med en egen hvit LED i tillegg: RGBW. Til interiør belysning var det ønskelig med en varmere hvit og derfor kom RGBWW som har enda en ekstra LED som er warm-white. Adresserbare LED MEN fordi LEDstrips ble så poppulære bygget man etterhvert inn en egen liten IC på hver eneste LED på stripen slik at disse kunne styres med et signal fra ESP32en. Dette gjorde også at en kunne styre hver enkelt LED på stripen helt separat og ikke alle de RØD samtidig slik som på RGB stripene. Senere ble disse ICene integrert i selve LEDen. Disse LED stippene har altså bare 3 tilkoblinger: + - og data og hver IC sender dataene videre til nestemann. De trenger ingen motstander eller MOS-Fet og har egen strøm strømforskyning som kan være 24V for å kunne ha lange striper uten spenningsfall. Adresseringen er "relativ" slik at førstemann på stripa er nr 0 og nestemann er nr 1 osv. Dette skjer ved at ICen "teller opp" adressen med 1 og sender videre. Du kan altså klippe og skjøte hvor du vil og adressene er fremdeles fortløpende fra den første som får data og videre bortover. OBS Det betyr osgå at stripene har en rettning som du må følge når du kobler. Blir det brudd i datastrømmen slukker hele resten av rekka. De har derfor begynt å produsere striper med en esktra backup datakanal (merket BO - BI) Enkelt Adresserbare LED Det finnes også enkelt LED som er adresserbare. Jeg er veldig glad i slike for å la ESP32en kommunisere statuser med omverdenen. Her trenger jeg bare en pinne på ESP32en og en motstand (330 ohm) mellom ESP32en og LEDen og så kan jeg koble meg videre med så mange ekstra LED jeg bare trenger uten å bruke flere pinner eller motstander 🙂 Kode Koden for å jobbe med Adresserbare LED er super enkel. Alt skjer i biblioteket FastLED: #include "FastLED.h" #define NUM_LEDS 264 \\ Antall LED på stripa CRGB leds[NUM_LEDS]; \\ Et "array" led LEDene #define PIN 4 \\ Pinnen der datakabelen på stripen er tilkoblet void setup() { FastLED.addLeds<WS2812, PIN, RGB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip ); } WS2812 er typen IC på LED stripen. Så er det bare å skru på en og en LED slik: leds[Pixel].r = red; leds[Pixel].g = green; leds[Pixel].b = blue; der Pixel er adressen til LEDen, og første LED er 0. og red, green, blue er verdier fra 0 til 255 for styrken på lyset. Eller slik om du foretrekker det: leds[Pixel] = CRGB(Red, Green, Blue); eller slik leds[Pixel] = CHSV(Hue, Saturation, Value); Når du har satt alle veridene på alle LEDene du ønsker, sender du det til stripe med denne kommandoen: FastLED.show(); Du lager ganske fort en par forenklings rutiner som feks disse: void setPixel(int Pixel, byte red, byte green, byte blue) { leds[Pixel].r = red; leds[Pixel].g = green; leds[Pixel].b = blue; } void setAll(byte red, byte green, byte blue) { for(int i = 0; i < NUM_LEDS; i++ ) { setPixel(i, red, green, blue); } showStrip(); } Jeg har ikke noe MQTT kode her for det klarer dere selv, men jeg har en liten kodesnutt som kjøres dersom barnebarna roper "Alexa show me rainbow" som dere kan få:
    1 poeng
  8. Med MQTT biblioteket vi har brukt til nå er OTA latterlig enkelt. Bare legg til en (eller begge) av disse linjene: OTA (Over The Air (update)) er muligheten til å laste opp nye programmer til ESP32en over WiFi uten å måtte koble til en kabel. Det kan jo være veldig greit om prosessoren sitter i en boks i garasjen eller på loftet. Jeg har vært litt redd for å gå løs på dette siden jeg regnet med at det var komplisert og mye å lære seg, men i dag satte jeg meg ned for å se på det og oppdaget til min store glede at dette jo er kjempelett med det biblioteket vi har brukt for MQTT i denne guide serien 😄 Det er to måter å gjøre det på, jeg skal beskrive begge: Metode #1 Arduino IDE Legg til denne linjen rett etter setKeepAlive kallet MQTTclient.enableOTA("pwd"); og endre PWD til ditt eget passord. Du kan bruke ditt eget program eller dette programmet for å teste: Koble ESP32en til med kabel som vanlig og kompiler og last opp programmet. Sjekk at programmet virker (testprogrammet blinker). Trekk nå ut USB kabelen av ESP32en og sett den på en strømforskyning (5V mellom VIN og GND) Eller du kan jo bruke en Mobillader og plugge USBen i den. Nå skal vi gjøre en oppdatering og laste den opp OTA: Endre blinkTime=1000; til blinkTime=200; Ettet at ESP32en startet skal du nå ha fått et nytt valg i PORT menyen: Velg denne og ikke bry deg om denne feilmeldingen: Nå kan du trykke på "Upload" knappen og da skal du få opp Passordbildet: (Om det ikke kommer opp, prøv å restarte IDE) Da er det bare å skrive inn passordet du satte i enableOTA kallet (eks. "pwd") og trykke UPLOAD. Nå kan du få noen brannmur advarsler som du svarer OK på og om alt går bra kommer meldingen: Og opplastingen starter: Nå skal lyset blinke mye raskere for å vise at ESPen har fått et oppdatert program 🙂 Metode #2 HTTP Webupdater I denne metoden legger du til denne linjen MQTTclient.enableHTTPWebUpdater("meg","hemmelig"); med et passende brukernavn og passord. Når du har endret programmet og er klar til å laste det opp bruker du dette menyvalget: Den vil da lage en mappe "build\esp32.esp32.esp32" under prosjektmappen og legge BIN filen der. Du kan nå gå i en browser og skrive inn IP adressen til ESP32en som du fant i PORT valget tidligere og få login til Web serveren som nå kjører på ESP32en: Når du har logget på får du denne flotte siden: hvor du kan velge den ".bin" filen vi akkurat produserte og laste den opp med Update: Tada! Ferdig. Det skal finnes løsninger der ESP32en selv går å henter nye filer men det får hellere DERE lære meg. Jeg har altså akkurat funnet ut av dette 🙂 Tanken var å slippe en LEGO klass en gang i uka men dette er så viktig så jeg må bare slippe denne her med en gang 🙂
    1 poeng
  9. Som jeg lovet: Koden øverst Det finnes en million guider om det å komme igang med Arduino eller ESP32 så egentlig burde jeg bare henvise til nettet, men for å gjøre dette komplett får jeg ta en miniversjon her også: Skaff deg en ESP32 🙂 Dessverre ser jeg at Kjell&co ikke fører den versjonen lengre så da blir det Aliexpress kanskje? Last ned Arduino IDE. Etterhvert ønsker du kanskje å bruke platform.io for VS Code, men i starten er Arduino IDE helt greit Trykk på BOARDS MANAGEREN og last ned ESP32 Sjekk i Tools/Port menyen hvilke seriell porter du har FØR du plugger inn ESP32 Koble prosessoren til PCen med en USB kabel. (Sjekk at det røde lyset tenner på ESP32'en) Gå i Tools/Port menyen og velg den porten som nå (helst) har dukket opp Gå i Tools/Board:/ESP32 menyen og velg ESP32 Dev Module Kopier og lim inn programmet (istedet for det som ligger i den høyre delen av vinduet (void setup() osv)) Trykk på toolbar inkon Pil til høyre (Upload) og vent på at programmet kompilerer og laster ESP32'en Om alt går bra står det Leaving... Hard resetting via RTS pin... Nå skal det blå lyset blinke hvert sekund. Hurra du har laget et program og kjører det på en mikroprosessor. La oss koble til serial monitoren for å følge med i hva som skjer i programmet. Endre programmet til dette: Trykk på toolbar pila igjen og vent på kompilering og upload. Når den er ferdig velger du Tools/Serial Monitor og endrer dropdown boksen til høyre til 115200 Du ser nå teksten som mikroprosessoren skriver ut til deg. Om du trykker på den lille bryteren til venstre for USBen på ESP32 kortet vil den restarte. La oss nå bruke en "bryter" til å tenne LEDen istedet. Last ned og print ut dette kartet og heng det på veggen i laben din: Vi skal nå bruke GPOI pin 13 som input pinne. Vi definerer den som INPUT og sier ifra at vi ønsker at ESP32'en internt skal sørge for å dra den opp til HIGH dersom den ikke er tilkoblet til noe. For å aktivere den trenger vi da kun å koble den til jord (GND) Vi endrer programmet til å teste på denne pinnen og styre lyset. For at ikke teksten skal rase forbi (prøv uten den linja så skal du se) beholder vi den lille pausen på 1 sek. ( delay(1000); ) Da blir programmet slik: Om du nå kobler en ledning mellom GND og GPOI_13 vil du se at LEDen tenner. Når vi har gått gjennom MQTT Komme i gang skal vi bygge dette ut og styre LEDen og lese pinnen over MQTT i ESP32/MQTT Det første programmet
    1 poeng
  10. Matter, altså Standarden med Stor S for oss som driver med hjemmeautomasjon, er endelig sluppet! Matter gjøre at vi slipper mer imkompabilitet, og er og skal bli støttet av overraskende mange aktører. Forhåpentligvis vil det bety mindre hub'er og at mer utstyr kan snakke sammen uten for mye problemer. Dette kan bli genialt! Men det gjenstår selvfølgelig å se... Selv om standarden nå er sluppet, kan vi nok dessverre ikke forvente ting endrer seg over natten, men det er lys i enden av tunellen. Ikea sin nye hub skal være klar for Matter (enn dog til en nesten dobbelt så høy prislapp). Kilde: Press release.
    1 poeng
Vinnerlisten er satt til Oslo/GMT+02:00
×
×
  • 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.