INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Ek is geïnspireer om 'n temperatuursensor te skep wat ek via wifi kan monitor. Hierdie projek is nie nuut nie, maar ek hou van die idee om 'n intermediêre laag vir sekuriteit te hê en om nie die poort in u router na u IoT -toestel te hoef oop te maak nie.. Later kan dit uitgebrei word om die lugversorging te beheer en aan en af te skakel.
Stap 1: Konsep en komponente benodig
Eerstens die konsep. Die prentjie verduidelik wat ek probeer bereik. Die temperatuursensor is gekoppel aan die analoog ingang van die ESP8266 WIFI -module, wat die temperatuur periodiek na 'n wolkgebaseerde gasheer plaas (in hierdie voorbeeld gebruik ek slegs 'n webserver met php -bedienersyfer). Dan kan u oral vanaf die wolk (webserver) toegang tot die temperatuur kry om na te gaan wat die huidige temperatuur is.
Die komponente wat hiervoor benodig word, is hieronder, maar nie dat die skakel 'n aangeslote skakel is nie; as u nie wil nie, gaan dan direk na die webwerf.
- NodeMcu Lua ESP8266 dev board. Ek kry myne van Banggood.
- LM35 temperatuur sensor. Ek kry myne van hier af.
- Prototipe bord en 'n paar drade (opsioneel as u verkies om die temperatuursensor direk te soldeer)
- Arduino IDE, u kan dit hier aflaai.
- Werkende webserver met php -bediener scripting geïnstalleer (nie nodig as u net die temperatuur in u plaaslike netwerk wil sien nie)
Stap 2: Kry Arduino IDE aan die werk
Installeer die Arduino IDE, dit ondersteun verskillende platforms, vensters, Linux en Mac. Gebruik net die een waarmee u gemaklik is.
Ek neem aan dat u gemaklik is om te installeer en dit aan die gang te kry.
Sodra Arduino geïnstalleer is, is dit tyd om u ESP8266 wifi -bord te toets. U kan die kaart met 'n USB -kabel op u rekenaar koppel. Die rekenaar behoort dit outomaties op te spoor.
-Kies die korrekte bord uit Tools-> Board-> NodeMCU 1.0 (ESP-12E module)
-Die volgende stap is om die poort te kies waarheen u ESP8266 gekoppel is, dus gaan na Tools-> Port-> myne verskyn as /dev/cu.wchusbserial14750 (u kan iets anders hê)
Sodra u dit verbind het, kan u die verbinding en die bord toets deur die voorbeeldskets te laai
-Kies lêer-> Voorbeelde-> ESP8266-> Knipper
Dit sal die Blink -skets oopmaak; u kan op die "Upload" -knoppie klik om u skets op te laai. As alles goed gaan, moet die LED op u ESP8266 begin knipper.
Stap 3: Koppel die temperatuursensor
Die temperatuursensor LM35 het 3 bene, die eerste been is VCC, u kan dit aansluit op die 5V (die uitset van ESP8266 is 3,3V). Die middelste been is Vout (waaruit die temperatuur afgelees word, kan u dit aansluit op die analoog ingang van die ESP8266 -pen AD0, dit is regs bo op die bord, soos op die foto getoon). aan die grond gekoppel. Nou is u stroombaan voltooi.
Stap 4: Die opstel van die wolk -webbediener (opsioneel)
U kan hierdie stap oorslaan as u die temperatuur na 'n ander webbediener wil oplaai.
Aanname:
U het 'n werkende webbediener en u is vertroud met die oordrag van lêers na u webbediener.
Laai die aangehegte zip -lêer op na die wortel van u webwerf, laat ons sê dat die webwerf 'https://arduinotestbed.com' is
U kan die lêers ook in 'n gids plaas, maar maak seker dat u die arduino -skets aanpas om na die korrekte ligging van die "data_store.php" te wys
In hierdie voorbeeld neem ons aan dat die data_store.php -lêer in die wortel van die webwerf geleë is, toeganklik vanaf
Nadat u dit opgelaai het, kan u toets of dit werk deur na https://arduinotestbed.com/ArduinoData.php te wys
U moet hopelik die temperatuurskakelaar sien wat die dummy -temperatuur aandui. Noudat die webbediener gereed is, kan ons voortgaan met die volgende stap om die skets na ons ESP8266 te laai.
Een ding om op te let, moet u seker maak dat die lêer temp.txt in die webserver die skryftoestemming "666" het.
Stap 5: Laai die skets van die temperatuursensor op
Ons gebruik die ESP8266 as 'n webbediener om die temperatuur te monitor en die lesing na die interne webserver sowel as die wolk te plaas.
- Kopieer die aangehegte 3 lêers in 'n gids en maak die hooflêer "ESP8266TempSensor.ino" oop in Arduino IDE
- Verander die ligging van die webserver op die reël String webserver = "arduinotestbed.com" (u webserver -wortel)
- Verander die weburi op die reël String weburi = "/data_store.php" (as u die voorgaande gebruik)
- Laai die skets op na die ESP8266
As alles goed verloop, moet dit suksesvol opgelaai word, en die eerste keer dat die ESP in die AP -modus gaan. U kan u skootrekenaar of selfoon gebruik om daaraan te koppel. U moet die AP met die naam "ESP-TEMP" kan vind.
- Probeer om aan te sluit op ESP-TEMP met u selfoonskootrekenaar
- Vind uit wat die IP -adres is waaraan u toegewys word deur die "ipconfig" -opdrag in Windows of die "ifconfig" -opdrag in Linux of Mac te doen.
- As u 'n iPhone gebruik, klik dan op die i-knoppie langs die ESP-TEMP waarmee u gekoppel is
-Maak u blaaier oop en wys na die ESP-TEMP. As u 192.168.4.10 as u IP-adres het, het die ESP-TEMP die ip van 192.168.4.1, sodat u net na https://192.168 kan gaan. 4.1, en u moet die instellingsbladsy kry waar u u wifi -router ssid en die psk -sleutel kan invoer. sodra u albei ingevoer het en die vinkje in die "Update Wifi Config" -kassie merk, klik op "update" om die instelling op te dateer na u ESP8266.
Die ESP8266 sal nou weer begin en probeer om aan te sluit op u wifi -router. U kan hierdie vordering in die seriële monitor monitor deur op Tools-> Serial Monitor te klik. Die seriële monitorvenster wys die vordering van die verbinding.
Die seriële monitor sal u ook vertel wat die IP -adres van u ESP8266 is as dit eers aan u wifi -router gekoppel is. Die LED sal een keer elke paar minute knip as die temperatuurmeting plaasvind. En u moet die temperatuur kan sien deur na die adres van die ESP8266 te wys.
Opsionele stap: as u die webbediener instel om die temperatuur op te slaan, kan u nou wys na die webbediener wat u in die vorige stap opgestel het, in hierdie voorbeeld is
Baie geluk!!! u kan nou met u vriende spog dat u 'n IoT -temperatuursensor het.
U kan my temperatuur lees in die volgende url
Skakel my as jy dit regkry. As u hiervan hou, vertel dit dan aan u vriende, en u kan my volg vir meer uitbreiding van die IoT -temperatuursensor. U kan ook na my persoonlike blog kyk vir meer projekte rakende mikrobeheerder.
Stap 6: Bykomende stap: TimeLib (opsioneel)
As u nie die TimeLib het nie, moet u die aangehegte biblioteek in u biblioteekmap installeer.
Vir meer inligting oor biblioteek, vind u op die volgende skakel, Vir Windows -gebruikers:
Die biblioteek is geleë in C: / Users / Documents / Arduino
Vir Mac -gebruikers:
Die biblioteek is geleë in Documents / Arduino / Libraries
U kan bogenoemde zip -lêer handmatig uittrek op die genoemde plek.