Përmbajtje:

ESP32 WiFi Stacioni i motit me një sensor BME280: 7 hapa (me fotografi)
ESP32 WiFi Stacioni i motit me një sensor BME280: 7 hapa (me fotografi)

Video: ESP32 WiFi Stacioni i motit me një sensor BME280: 7 hapa (me fotografi)

Video: ESP32 WiFi Stacioni i motit me një sensor BME280: 7 hapa (me fotografi)
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Nëntor
Anonim
Image
Image
ESP32 WiFi Stacioni i motit Me një sensor BME280
ESP32 WiFi Stacioni i motit Me një sensor BME280
ESP32 WiFi Stacioni i motit Me një sensor BME280
ESP32 WiFi Stacioni i motit Me një sensor BME280

Të dashur miq, mirë se vini në një tutorial tjetër! Në këtë tutorial ne do të ndërtojmë një projekt të stacionit të motit të aktivizuar me Wi -Fi! Ne do të përdorim çipin e ri, mbresëlënës ESP32 për herë të parë së bashku me një ekran Nextion.

Në këtë video, ne do ta bëjmë këtë. Yetshtë një projekt tjetër i stacionit të motit që njoh, por këtë herë ne përdorim çipin e ri ESP32! Ne gjithashtu përdorim sensorin e ri BME280 i cili mat temperaturën, lagështinë dhe presionin barometrik. Kur të fuqizojmë projektin, ai lidhet me rrjetin WiFi dhe do të marrë parashikimin e motit për vendndodhjen time nga faqja e internetit e openweathermap. Pastaj do të shfaq parashikimin në këtë ekran me prekje 3.2”Nextion së bashku me leximet nga sensori! Leximet azhurnohen çdo dy sekonda dhe parashikimi i motit çdo orë! Siç mund ta shihni, në këtë projekt ne përdorim teknologjitë më të fundit në dispozicion të një prodhuesi sot! Nëse jeni një veteran DIY, mund ta ndërtoni këtë projekt në pesë minuta.

Nëse jeni fillestar, duhet të shikoni disa video para se të provoni këtë projekt. Ju mund të gjeni lidhje me këto video në këtë Instructable, mos u shqetësoni.

Le të fillojmë!

Hapi 1: Merrni të gjitha pjesët

Merrni të gjitha pjesët
Merrni të gjitha pjesët

Për të ndërtuar këtë projekt na duhen pjesët e mëposhtme:

  • Një bord ESP32 ▶
  • Një sensor BME280 I2C ▶
  • Një ekran 3.2”Nextion ▶
  • Një pjatë e vogël read
  • Disa tela ▶

Kostoja e projektit është rreth 30 dollarë.

Në vend të ESP32, ne mund të përdorim çipin më të lirë ESP8266, por vendosa të përdor ESP32 për të fituar përvojë me të dhe për të parë se çfarë funksionon dhe çfarë jo.

Hapi 2: ESP32

Image
Image
ESP32
ESP32

Ky është projekti i parë që kam ndërtuar ndonjëherë me çipin e ri ESP32.

Nëse nuk jeni të njohur me të, çipi ESP32 është pasardhësi i çipit popullor ESP8266 që kemi përdorur shumë herë në të kaluarën. ESP32 është një bishë! Ajo ofron dy 32 bërthama përpunimi të cilat funksionojnë në 160MHz, një sasi masive memorie, WiFi, Bluetooth dhe shumë veçori të tjera me një kosto prej rreth 7 $! Gjëra të mahnitshme!

Ju lutemi shikoni rishikimin e detajuar që kam përgatitur për këtë tabelë. Unë kam bashkangjitur videon në këtë Instructable. Do të ndihmojë të kuptoni pse ky çip do të ndryshojë mënyrën se si i bëjmë gjërat përgjithmonë!

Hapi 3: Shfaqja e Nextion

Image
Image
Sensori BME280
Sensori BME280

Gjithashtu, ky është projekti i parë që ndërtoj me një ekran me prekje Nextion.

Ekranet Nextion janë lloje të reja të ekraneve. Ata kanë procesorin e tyre ARM në pjesën e pasme i cili është përgjegjës për drejtimin e ekranit dhe krijimin e ndërfaqes grafike të përdoruesit. Pra, ne mund t'i përdorim ato me çdo mikrokontrollues dhe të arrijmë rezultate spektakolare.

Unë kam përgatitur një Udhëzues të detajuar në lidhje me këtë ekran Nextion i cili shpjegon në thellësi se si funksionojnë, si t'i përdorin ato dhe të metat e tyre. Mund ta lexoni duke klikuar këtu:

Hapi 4: Sensori BME280

Sensori BME280
Sensori BME280

BME280 në një sensor të ri të shkëlqyeshëm nga Bosch.

Deri më tani kam qenë duke përdorur sensorin BMP180 i cili mund të masë temperaturën dhe presionin barometrik. Sensori BME280 mund të masë temperaturën, lagështinë dhe presionin barometrik! Sa e ftohte eshte! Na duhet vetëm një sensor për të ndërtuar një stacion të plotë moti!

Përveç kësaj, sensori është shumë i vogël në madhësi dhe shumë i lehtë për t’u përdorur. Moduli që do të përdorim sot përdor ndërfaqen I2C kështu që e bën komunikimin me Arduino shumë të lehtë. Ne vetëm për të lidhur energjinë dhe dy tela të tjerë për ta bërë atë të funksionojë.

Tashmë janë krijuar shumë biblioteka për këtë sensor, kështu që ne mund ta përdorim atë në projektet tona shumë lehtë! Kostoja e sensorit është rreth 5 dollarë. Mund ta merrni këtu ▶

SHENIM: Ne kemi nevojë për sensorin BME280. Ekziston edhe një sensor BMP280 i cili nuk ofron matje të lagështisë. Kini kujdes të porosisni sensorin që ju nevojitet.

Hapi 5: Lidhja e pjesëve

Lidhja e Pjesëve
Lidhja e Pjesëve
Lidhja e Pjesëve
Lidhja e Pjesëve
Lidhja e Pjesëve
Lidhja e Pjesëve

Lidhja e pjesëve është e drejtpërdrejtë siç mund ta shihni nga diagrami skematik.

Meqenëse sensori BME280 përdor ndërfaqen I2C, na duhet vetëm të lidhim dy tela për të komunikuar me ESP32. Unë e kam bashkuar sensorin në kunjat 26 dhe 27. Në teori, çdo kunj dixhital i bordit ESP32 mund të përdoret me pajisje periferike I2C. Sidoqoftë, në praktikë, zbulova se disa kunja nuk funksionuan sepse ato janë të rezervuara për përdorime të tjera. Kunjat 26 dhe 27 funksionojnë shkëlqyeshëm!

Për të dërguar të dhëna në ekran, na duhet vetëm të lidhim një tel me kunjin TX0 të ESP32. Më duhej të përkulja kunjin kështu për të lidhur tela femër të ekranit pasi bordi ESP32 është shumë i madh për këtë tabelë buke.

Pas lidhjes së pjesëve, duhet të ngarkojmë kodin në ESP32, dhe duhet të ngarkojmë GUI në ekranin Nextion. Nëse keni probleme me ngarkimin e programit në tabelën ESP32, mbani shtypur butonin BOOT pasi të shtypni butonin e ngarkimit në Arduino IDE.

Për të ngarkuar GUI në ekranin Nextion, kopjoni skedarin WeatherStation.tft që do të ndaj me ju në një kartë SD të zbrazët. Vendoseni kartën SD në folenë e kartës SD në pjesën e pasme të ekranit. Pastaj ndizni ekranin dhe GUI do të ngarkohet. Pastaj hiqni kartën SD dhe lidhni përsëri fuqinë.

Pas ngarkimit me sukses të kodit projekti do të lidhet me rrjetin WiFi, do të marrë parashikimin e motit nga faqja e internetit openweathermap.org dhe do të shfaqë leximet nga sensori. Le të shohim tani anën softuerike të projektit.

Hapi 6: Kodi i Projektit

Kodi i Projektit
Kodi i Projektit
Kodi i Projektit
Kodi i Projektit
Kodi i Projektit
Kodi i Projektit

Për të analizuar të dhënat e motit, ne kemi nevojë për bibliotekën e shkëlqyer Arduino JSON. Ne gjithashtu kemi nevojë për një bibliotekë për sensorin.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

Le të shohim kodin tani.

Në fillim, ne duhet të vendosim SSID dhe fjalëkalimin e rrjetit tonë WiFi. Tjetra, ne duhet të futim APIKEY falas nga faqja e internetit operweathermap.org. Për të krijuar çelësin tuaj API, duhet të regjistroheni në faqen e internetit. Marrja e të dhënave dhe parashikimit aktual të motit është falas, por faqja e internetit ofron më shumë mundësi nëse jeni të gatshëm të paguani disa para. Tjetra, ne duhet të gjejmë id -në e vendndodhjes sonë. Gjeni vendndodhjen tuaj dhe kopjoni ID -në e cila mund të gjendet në URL -në e vendndodhjes tuaj.

Pastaj futni id -in e qytetit tuaj në ndryshoren CityID. Gjithashtu, futni lartësinë e qytetit tuaj në këtë ndryshore. Kjo vlerë është e nevojshme për leximet e sakta të presionit barometrik nga sensori.

const char* ssid = "yourSSID"; const char* password = "yourPassword"; String CityID = "253394"; // Sparta, Greqi String APIKEY = "yourAPIkey"; #përcakto ALTITUDE 216.0 // Lartësia në Sparta, Greqi

Tani jemi gati të vazhdojmë.

Në fillim, ne fillojmë sensorin dhe lidhemi me Rrjetin WiFi. Pastaj ne kërkojmë të dhëna të motit nga serveri.

Ne marrim një përgjigje me të dhënat e motit në formatin JSON. Para se të dërgoj të dhënat në bibliotekën JSON, unë fshij manualisht disa karaktere që më shkaktonin probleme. Pastaj merr bibliotekën JSON, dhe ne lehtë mund t'i ruajmë të dhënat që na nevojiten në variabla. Pasi i kemi mbajtur të dhënat në variabla, gjithçka që duhet të bëjmë është t'i shfaqim ato në ekran dhe të presim një orë para se të kërkojmë të dhëna të reja nga serveri. Informacioni i vetëm që paraqes është parashikimi i motit, por mund të shfaqni më shumë informacion nëse dëshironi. E gjitha këtu ruhet në variabla. Pastaj lexojmë temperaturën, lagështinë dhe presionin barometrik nga sensori dhe i dërgojmë të dhënat në ekranin Nextion.

Për të përditësuar ekranin, ne thjesht dërgojmë disa komanda në portin serik si kjo:

void showConnectingIcon () {Serial.println (); Komanda e vargut = "weatherIcon.pic = 3"; Serial.print (komandë); endNextionCommand (); }

GUI Nextion përbëhet nga një sfond, disa kuti teksti dhe një fotografi që ndryshon në varësi të parashikimit të motit. Ju lutemi shikoni tutorialin e shfaqjes Nextion për më shumë informacion. Ju mund të krijoni shpejt GUI tuaj nëse dëshironi dhe shfaqni më shumë gjëra në të.

Si gjithmonë, kodin e projektit mund ta gjeni të bashkangjitur me këtë udhëzues

Hapi 7: Mendimet dhe Përmirësimet Finale

Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare

Siç mund ta shihni, një krijues me përvojë sot mund të ndërtojë projekte emocionuese në vetëm disa orë me disa rreshta kod dhe vetëm tre pjesë! Një projekt i tillë do të ishte i pamundur të realizohej edhe dy vjet më parë!

Sigurisht, ky është vetëm fillimi i projektit. Unë do të doja të shtoja shumë veçori në të, si grafikët, funksionaliteti i prekjes që tani mungon, ndoshta një ekran më i madh dhe natyrisht një mbyllje e bukur me pamje të printuar 3D. Unë gjithashtu do të krijoj një GUI dhe ikona me pamje më të mirë. Kam disa ide shumë të freskëta për t’i zbatuar!

Do të doja të dëgjoja mendimin tuaj për projektin e sotëm. Çfarë tiparesh doni të shtoj në projekt? A ju pëlqen si duket? Si dëshironi ta shihni të evoluojë? Ju lutemi postoni idetë tuaja në pjesën e komenteve më poshtë; Më pëlqen të lexoj mendimet tuaja!

Konkurs pa tel
Konkurs pa tel
Konkurs pa tel
Konkurs pa tel

Vendi i dytë në konkursin pa tel

Recommended: