Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg ble inspirert til å lage en temperatursensor som jeg kan overvåke via wifi. Dette prosjektet er ikke nytt, men jeg liker ideen om å ha et mellomlag for sikkerhet og ikke å måtte åpne porten i ruteren til IoT -enheten din. Grunnideen vil tillate meg å sjekke temperaturen hjemme mens jeg var på jobb. Senere kan den utvides til å kontrollere klimaanlegget og slå det på og av.
Trinn 1: Konsept og komponenter kreves
Først konseptet. Bildet forklarer hva jeg prøver å oppnå. Temperatursensoren er koblet til den analoge inngangen til ESP8266 WIFI -modulen, som med jevne mellomrom vil legge ut temperaturen til en skybasert hosting (i dette eksemplet bruker jeg bare webserver med php -serversiden scripting). Deretter kan du få tilgang til temperaturen hvor som helst fra skyen (webserver) for å sjekke hva som er gjeldende temperatur.
Komponenter som kreves for dette er nedenfor. Vennligst ikke at lenken er en tilknyttet lenke. Hvis du ikke vil, kan du bare gå direkte til nettstedet.
- NodeMcu Lua ESP8266 dev -bord. Jeg får min fra banggood.
- LM35 temperatursensor. Jeg får min herfra.
- Prototypebrett og noen ledninger (valgfritt hvis du foretrekker å lodde temperatursensoren direkte)
- Arduino IDE, du kan laste den ned her.
- Arbeidende webserver med php server scripting installert (ikke nødvendig hvis du bare vil se temperaturen i ditt lokale nettverk)
Trinn 2: Få Arduino IDE til å fungere
Installer Arduino IDE, den støtter varierende plattform, Windows, Linux og Mac. Bare bruk den du er komfortabel med.
Jeg antar at du er komfortabel å installere og få dette til å gå.
Når Arduino er installert er det på tide å teste ESP8266 wifi -kortet. Du kan koble kortet med en USB -kabel til datamaskinen. Datamaskinen skal oppdage dette automatisk.
-Velg riktig kort fra Verktøy-> Kort-> NodeMCU 1.0 (ESP-12E-modul)
-Det neste trinnet er å velge porten som ESP8266 er koblet til, så gå til Verktøy-> Port-> min kommer opp som /dev/cu.wchusbserial14750, (du kan ha noe annet)
Når du har dette tilkoblet, kan du teste tilkoblingen og brettet ved å laste inn eksempelskissen
-Velg Fil-> Eksempler-> ESP8266-> Blink
Dette åpner Blink -skissen, du kan klikke på "Last opp" -knappen for å laste opp skissen din. Hvis alt går bra, bør LED på ESP8266 begynne å blinke.
Trinn 3: Koble til temperatursensoren
Temperatursensoren LM35 har 3 bein, det første benet er VCC, du kan koble dette til 5V (ESP8266 -kortets utgang er 3,3V). Midtbenet er Vout (hvor temperaturen leses fra, kan du koble dette til den analoge inngangen til ESP8266 -pinnen AD0, dette er plassert øverst til høyre på brettet som vist på bildet. Og det høyre benet skal være koblet til bakken. Nå er kretsen din fullført.
Trinn 4: Konfigurere Cloud Webserver (valgfritt)
Du kan hoppe over dette trinnet hvis du vil laste opp temperaturen til en annen webserver.
Antagelse:
Du vil ha en fungerende webserver, og du er kjent med å overføre filer til webserveren din.
Last opp den vedlagte zip -filen til roten på nettstedet ditt. La oss si at nettstedet er "https://arduinotestbed.com"
Du kan også sette filene i en mappe, men sørg for å endre arduino -skissen for å peke til riktig plassering av "data_store.php"
I dette eksemplet antar vi at data_store.php -filen ligger i roten til nettstedet, tilgjengelig fra
Når den er lastet opp, kan du teste at den fungerer ved å peke på
Du bør forhåpentligvis se temperaturskiven som viser dummy -temperaturen. Nå som webserveren er klar, kan vi gå videre til neste trinn og laste skissen til ESP8266.
En ting du må merke deg, må du sørge for at filen temp.txt i webserveren har skrivetillatelsen "666".
Trinn 5: Last opp temperatursensorskissen
Vi bruker ESP8266 som en webserver og overvåker temperaturen og legger ut avlesningen til den interne webserveren så vel som skyen.
- Kopier de vedlagte 3 filene til en mappe og åpne hovedfilen "ESP8266TempSensor.ino" i Arduino IDE
- Endre plasseringen av webserveren på linjen String webserver = "arduinotestbed.com" (din webserverrot)
- Endre weburi på linjen String weburi = "/data_store.php" (hvis du bruker trinnet før)
- Last opp skissen til ESP8266
Hvis alt går bra, skal det lastes opp vellykket, og første gang vil ESP gå til AP -modus. Du kan bruke den bærbare datamaskinen eller mobiltelefonen til å koble til den. Du bør kunne finne AP-en med navnet "ESP-TEMP".
- Prøv å koble til ESP-TEMP med din bærbare mobiltelefon
- Finn ut hva som er IP -adressen du blir tildelt ved å gjøre kommandoen "ipconfig" i Windows eller "ifconfig" -kommandoen i Linux eller Mac.
- Hvis du bruker iphone, klikker du på i-knappen ved siden av ESP-TEMP som du er koblet til
-Åpne nettleseren din og pek på ESP-TEMP. Hvis du er tildelt 192.168.4.10 som din ip, har ESP-TEMP ip på 192.168.4.1, så du kan bare gå til https://192.168. 4.1, og du bør bli presentert med innstillingssiden der du kan angi wifi -ruteren ssid og psk -nøkkelen. Når du har angitt begge disse og merket av for "Oppdater Wifi -konfigurasjon", klikker du på "oppdater" for å oppdatere innstillingen til ESP8266.
ESP8266 starter nå på nytt og prøver å koble til wifi -ruteren. Du kan overvåke denne fremdriften i den serielle skjermen ved å klikke på Verktøy-> Seriell skjerm. Det serielle skjermvinduet viser fremdriften i tilkoblingen.
Den serielle skjermen vil også fortelle deg hva som er IP -adressen til ESP8266 når den er koblet til wifi -ruteren. Lysdioden blinker hvert par minutt når temperaturavlesningen finner sted. Og du bør kunne se temperaturen ved å peke på adressen til ESP8266.
Valgfritt trinn: hvis du konfigurerer webserveren for å lagre temperaturen til, kan du nå peke på webserveren du hadde konfigurert i forrige trinn, i dette eksemplet er
Gratulerer!!! du kan nå skryte for vennene dine at du har IoT -temperatursensor.
Du kan sjekke temperaturen min i følgende url
Send meg en linje hvis du klarer å lage dette. Hvis du liker dette, kan du fortelle det til vennene dine, og du kan følge meg for mer utvidelse av IoT -temperatursensoren. Du kan også sjekke min personlige blogg for flere prosjekter relatert til mikrokontroller.
Trinn 6: Ytterligere trinn: TimeLib (valgfritt)
Hvis du ikke har TimeLib, må du installere det vedlagte biblioteket i bibliotekmappen.
For mer informasjon om biblioteket finner du i følgende lenke, For Windows -brukere:
Biblioteket ligger i C: / Users / Documents / Arduino
For Mac -brukere:
Biblioteket ligger i Documents / Arduino / Libraries
Du kan manuelt pakke ut zip -filen ovenfor på det nevnte stedet.