Агуулгын хүснэгт:
- Алхам 1: Бүх эд ангиудыг авах
- Алхам 2: ESP32
- Алхам 3: Nextion дэлгэц
- Алхам 4: BME280 мэдрэгч
- Алхам 5: эд ангиудыг холбох
- Алхам 6: Төслийн код
- Алхам 7: Эцсийн бодол ба сайжруулалт
Видео: BME280 мэдрэгч бүхий ESP32 WiFi цаг уурын станц: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Эрхэм хүндэт найзуудаа өөр нэг хичээлд тавтай морил! Энэхүү гарын авлагад бид aWiFi -ийг идэвхжүүлсэн цаг уурын станцын төслийг бүтээх гэж байна! Бид шинэ, гайхалтай ESP32 чипийг Nextion дэлгэцтэй хамт анх удаа ашиглах гэж байна.
Энэ видеон дээр бид үүнийг хийх гэж байна. Энэ бол миний мэдэх цаг уурын станцын бас нэг төсөл боловч энэ удаад бид шинэ ESP32 чипийг ашиглаж байна! Бид мөн температур, чийгшил, барометрийн даралтыг хэмждэг шинэ BME280 мэдрэгчийг ашигладаг. Бид төслийг асаахад WiFi сүлжээнд холбогддог бөгөөд энэ нь миний байршлын цаг агаарын урьдчилсан мэдээг openweathermap вэбсайтаас авах болно. Дараа нь энэ 3.2 инчийн Nextion Touch Display дээрх урьдчилсан мэдээг мэдрэгчийн уншилтын хамт харуулах болно! Уншлага нь хоёр секунд тутамд, цаг агаарын урьдчилсан мэдээ цаг тутамд шинэчлэгддэг! Таны харж байгаагаар энэхүү төсөлд бид өнөөдөр үйлдвэрлэгчийн хамгийн сүүлийн үеийн технологийг ашиглаж байна. Хэрэв та DIY ахмад дайчин бол энэ төслийг таван минутын дотор барьж болно.
Хэрэв та эхлэгч бол энэ төслийг хэрэгжүүлэхийн өмнө хэд хэдэн видео үзэх хэрэгтэй. Та эдгээр зааврын дагуу эдгээр видеоны линкийг олох боломжтой, санаа зовох хэрэггүй.
Эхэлцгээе!
Алхам 1: Бүх эд ангиудыг авах
Энэхүү төслийг бүтээхийн тулд бидэнд дараах хэсгүүд хэрэгтэй болно.
- ESP32 самбар ▶
- BME280 I2C мэдрэгч ▶
- 3.2”Nextion дэлгэц ▶
- Жижиг талхны самбар ▶
- Зарим утас ▶
Төслийн өртөг нь ойролцоогоор 30 доллар юм.
ESP32 -ийн оронд бид илүү хямд ESP8266 чипийг ашиглах боломжтой байсан ч би ESP32 -ийг ашиглан туршлага хуримтлуулахын тулд юу ажиллах, юу нь болохгүй байгааг харахаар шийдсэн.
Алхам 2: ESP32
Энэ бол миний шинэ ESP32 чипээр бүтээсэн анхны төсөл юм.
Хэрэв та энэ талаар сайн мэдэхгүй байгаа бол ESP32 чип нь бидний урьд өмнө олон удаа ашиглаж байсан алдартай ESP8266 чипийн залгамжлагч юм. ESP32 бол араатан юм! Энэ нь 160 МГц давтамжтай ажилладаг 32 процессорын цөм, асар их санах ой, WiFi, Bluetooth болон 7 долларын үнэтэй бусад олон боломжуудыг санал болгодог. Гайхамшигтай зүйлс!
Энэхүү самбар дээр миний бэлтгэсэн дэлгэрэнгүй тоймыг үзээрэй. Би энэ зааварчилгааны видеог хавсаргав. Энэ чип яагаад бидний үүрд хийх арга барилаа өөрчилдгийг ойлгоход тусална!
Алхам 3: Nextion дэлгэц
Түүнчлэн, энэ бол Nextion мэдрэгчтэй дэлгэцээр бүтээсэн анхны төсөл юм.
Nextion дэлгэц нь шинэ төрлийн дэлгэц юм. Тэд ар талд өөрийн гэсэн ARM процессортой бөгөөд дэлгэцийг жолоодох, хэрэглэгчийн график интерфэйсийг бий болгох үүрэгтэй. Тиймээс бид тэдгээрийг ямар ч микроконтроллертой хамт ашиглаж, гайхалтай үр дүнд хүрч чадна.
Би Nextion дэлгэцийн талаар нарийвчилсан зааварчилгаа бэлдсэн бөгөөд тэдгээр нь хэрхэн ажилладаг, хэрхэн ашиглах, сул талыг нь нарийвчлан тайлбарласан болно. Та энд дарж уншиж болно:
Алхам 4: BME280 мэдрэгч
BME280 нь Bosch -ийн шинэ гайхалтай мэдрэгчтэй.
Би одоог хүртэл температур, барометрийн даралтыг хэмждэг BMP180 мэдрэгчийг ашиглаж байсан. BME280 мэдрэгч нь температур, чийгшил, барометрийн даралтыг хэмжих боломжтой. Энэ ямар дажгүй юм бэ! Цаг агаарын иж бүрэн станц барихад бидэнд нэг л мэдрэгч хэрэгтэй болно!
Нэмж дурдахад мэдрэгч нь маш жижиг хэмжээтэй бөгөөд ашиглахад тун хялбар юм. Өнөөдөр бидний ашиглах гэж буй модуль нь I2C интерфэйсийг ашигладаг тул Arduino -тай харилцах харилцааг маш хялбар болгодог. Үүнийг ажиллуулахын тулд бид зөвхөн цахилгаан болон өөр хоёр утсыг холбоно.
Энэхүү мэдрэгчийн зориулалтаар аль хэдийн боловсруулсан олон номын сан бий болсон тул бид үүнийг төсөлдөө маш амархан ашиглах боломжтой боллоо! Мэдрэгчийн үнэ ойролцоогоор 5 доллар байна. Та эндээс авах боломжтой ▶
ТАЙЛБАР: Бидэнд BME280 мэдрэгч хэрэгтэй. Мөн чийгшил хэмжих боломжгүй BMP280 мэдрэгч байдаг. Танд хэрэгтэй мэдрэгчийг захиалахдаа болгоомжтой байгаарай.
Алхам 5: эд ангиудыг холбох
Хэсэг хэсгүүдийн холболт нь бүдүүвч диаграмаас харж болно.
BME280 мэдрэгч нь I2C интерфэйсийг ашигладаг тул ESP32 -тэй холбогдохын тулд бид зөвхөн хоёр утас холбох хэрэгтэй. Би мэдрэгчийг 26 ба 27 -р зүүнд холбосон. Онолын хувьд ESP32 хавтангийн дижитал зүү бүрийг I2C дагалдах төхөөрөмжтэй хамт ашиглах боломжтой. Практик дээр зарим тээглүүрүүд өөр зориулалтаар хадгалагдсан тул ажиллахгүй байгааг олж мэдсэн. 26 ба 27 -р зүү маш сайн ажилладаг!
Дэлгэц рүү өгөгдөл илгээхийн тулд бид зөвхөн нэг утсыг ESP32 -ийн TX0 зүү рүү холбох хэрэгтэй. ESP32 хавтан нь энэ талхны хавтангийн хувьд хэт том тул дэлгэцийн эмэгтэй утсыг холбохын тулд би зүүг ингэж нугалах хэрэгтэй болсон.
Эд ангиудыг холбосны дараа бид кодыг ESP32 руу, GUI -ийг Nextion дэлгэц дээр ачаалах ёстой. Хэрэв та програмыг ESP32 самбарт байршуулахад асуудалтай байгаа бол Arduino IDE дээрх байршуулах товчийг дарсны дараа BOOT товчийг дарна уу.
GUI -ийг Nextion дэлгэц дээр ачаалахын тулд миний хуваалцах гэж буй WeatherStation.tft файлыг хоосон SD карт руу хуулна уу. SD картыг дэлгэцийн ард байрлах SD картны үүрэнд оруулна уу. Дараа нь дэлгэцийг асаахад GUI ачаалагдах болно. Дараа нь SD картыг салгаад тэжээлээ дахин холбоно уу.
Кодыг амжилттай ачаалж дууссаны дараа төсөл нь WiFi сүлжээнд холбогдох бөгөөд openweathermap.org вэбсайтаас цаг агаарын урьдчилсан мэдээг авах бөгөөд мэдрэгчийн заалтыг харуулах болно. Одоо төслийн програм хангамжийн талыг авч үзье.
Алхам 6: Төслийн код
Цаг агаарын мэдээллийг задлахын тулд бидэнд маш сайн Arduino JSON номын сан хэрэгтэй. Мөн бидэнд мэдрэгчийн номын сан хэрэгтэй.
? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:
Одоо кодыг харцгаая.
Эхлээд бид SSID болон WiFi сүлжээнийхээ нууц үгийг тохируулах ёстой. Дараа нь бид operweathermap.org вэбсайтаас үнэгүй APIKEY оруулах ёстой. Өөрийн API түлхүүрийг үүсгэхийн тулд та вэбсайтад бүртгүүлэх ёстой. Цаг агаарын урьдчилсан мэдээ, урьдчилсан мэдээг авах нь үнэ төлбөргүй боловч хэрэв та мөнгө төлөхөд бэлэн байгаа бол вэбсайт нь илүү олон сонголтыг санал болгодог. Дараа нь бид байршлынхаа ID -г олох ёстой. Байршлынхаа хаягийг олж, ID -г хуулж аваарай.
Дараа нь CityID хувьсагчдаа хотынхоо id -г оруулна уу. Мөн энэ хувьсагчаар хотынхоо өндрийг оруулна уу. Энэ утга нь мэдрэгчийн барометрийн даралтыг үнэн зөв уншихад шаардлагатай болно.
const char* ssid = "yourSSID"; const char* password = "yourPassword"; String CityID = "253394"; // Спарта, Грек String APIKEY = "yourAPIkey"; ALTITUDE 216.0 -ийг тодорхойлно уу // Грекийн Спарта дахь өндөр
Одоо бид цаашаа явахад бэлэн байна.
Эхлээд бид мэдрэгчийг эхлүүлж, WiFi сүлжээнд холбогддог. Дараа нь бид цаг агаарын мэдээллийг серверээс хүсдэг.
Бид цаг агаарын мэдээг JSON форматаар хүлээн авдаг. Өгөгдлийг JSON номын санд илгээхээс өмнө надад асуудал үүсгэж байсан зарим тэмдэгтүүдийг гараар устгадаг. Дараа нь JSON номын сан хариуцах бөгөөд бид шаардлагатай өгөгдлөө хувьсагч хэлбэрээр хялбархан хадгалах боломжтой болно. Өгөгдлийг хувьсагч хэлбэрээр хадгалсны дараа бид тэдгээрийг дэлгэцэн дээр гаргаж, серверээс шинэ өгөгдөл хүсэхээс нэг цагийн өмнө хүлээх л үлдлээ. Миний танилцуулж буй цорын ганц мэдээлэл бол цаг агаарын урьдчилсан мэдээ боловч хэрэв та хүсвэл илүү дэлгэрэнгүй мэдээллийг үзүүлэх боломжтой. Энд бүгдийг хувьсагч хэлбэрээр хадгалсан. Дараа нь бид температур, чийгшил, барометрийн даралтыг мэдрэгчээс уншиж, өгөгдлийг Nextion дэлгэц рүү илгээдэг.
Дэлгэцийг шинэчлэхийн тулд бид дараах командыг цуваа порт руу илгээдэг.
void showConnectingIcon () {Serial.println (); String тушаал = "weatherIcon.pic = 3"; Serial.print (тушаал); endNextionCommand (); }
Nextion GUI нь арын дэвсгэр, зарим текст хайрцаг, цаг агаарын урьдчилсан мэдээнээс хамааран өөрчлөгддөг зургаас бүрдэнэ. Дэлгэрэнгүй мэдээллийг Nextion дэлгэцийн хичээлээс үзнэ үү. Хэрэв та хүсвэл GUI -ийг хурдан зохион бүтээж, үүн дээр илүү олон зүйлийг үзүүлэх боломжтой.
Үргэлж энэ зааварт хавсаргасан төслийн кодыг олж болно
Алхам 7: Эцсийн бодол ба сайжруулалт
Таны харж байгаагаар өнөөдөр туршлагатай үйлдвэрлэгч хэдхэн цагийн дотор хэдэн мөр код, ердөө гурван хэсгээс бүрдсэн сонирхолтой төслүүдийг бүтээж чадна! Ийм төслийг хоёр жилийн өмнө хийх боломжгүй байсан!
Мэдээжийн хэрэг, энэ бол төслийн зөвхөн эхлэл юм. Би үүнд график, мэдрэгч функц байхгүй, магадгүй илүү том дэлгэц, мэдээж 3D хэвлэсэн үзэсгэлэнтэй хаалт гэх мэт олон онцлог шинж чанаруудыг нэмж өгөхийг хүсч байна. Би бас илүү сайн харагдах GUI болон дүрсүүдийг зохион бүтээх болно. Надад хэрэгжүүлэх маш шинэ санаанууд байна!
Өнөөдрийн төслийн талаар таны сэтгэгдлийг сонсох дуртай. Та төсөлд ямар онцлог шинж чанаруудыг нэмж өгөхийг хүсч байна вэ? Энэ нь хэрхэн харагдаж байгаа нь танд таалагдаж байна уу? Та үүнийг хэрхэн хөгжихийг харахыг хүсч байна вэ? Доорх сэтгэгдлүүдийн хэсэгт өөрийн санаагаа оруулна уу; Би чиний бодлыг унших дуртай!
Утасгүй холбооны тэмцээнд дэд байр эзэлсэн
Зөвлөмж болгож буй:
NaTaLia цаг уурын станц: Arduino нарны эрчим хүчээр ажилладаг цаг уурын станц зөв замаар хийсэн: 8 алхам (зурагтай)
NaTaLia цаг уурын станц: Arduino нарны эрчим хүчээр ажилладаг цаг уурын станц зөв замаар хийсэн: 1 жилийн турш 2 өөр байршилд амжилттай ажилласны дараа би нарны эрчим хүчээр ажилладаг цаг уурын станцын төслийн төлөвлөгөөгөө хуваалцаж, хэрхэн урт хугацаанд үнэхээр оршин тогтнож чадах систем болж хөгжсөн тухай тайлбарлаж байна. нарны эрчим хүчнээс үүссэн үе. Хэрэв та дагах бол
DIY цаг уурын станц ба WiFi мэдрэгч станц: 7 алхам (зурагтай)
DIY цаг уурын станц ба WiFi мэдрэгч станц: Энэхүү төсөлд би WiFi мэдрэгч станцын хамт цаг агаарын станцыг хэрхэн яаж хийхийг танд үзүүлэх болно. Мэдрэгч станц нь орон нутгийн температур, чийгшлийн өгөгдлийг хэмжиж, WiFi -ээр цаг уурын станц руу илгээдэг. Цаг уурын станц дараа нь
Сүүлийн 1-2 хоногт чиг хандлагыг харах Arduino, BME280 ба дэлгэц бүхий цаг уурын станц: 3 алхам (зурагтай)
Сүүлийн 1-2 хоногт чиг хандлагыг харах Arduino, BME280 ба дэлгэц бүхий цаг уурын станц: Сайн байна уу! Энд цаг агаарын станцуудыг танилцуулж байна. Тэд одоогийн агаарын даралт, температур, чийгшлийг харуулдаг. Тэдэнд одоогоор дутагдаж байсан зүйл бол сүүлийн 1-2 хоногийн дотор хийсэн хичээлийн танилцуулга байлаа. Энэ үйл явц нь
2.4 TFT Arduino олон мэдрэгч бүхий цаг уурын станц: 7 алхам
2.4 Олон мэдрэгч бүхий TFT Arduino цаг уурын станц: TFT LCD, цөөн тооны мэдрэгч бүхий зөөврийн Arduino цаг уурын станц
Температур мэдрэгч / Цаг уурын станц: 9 алхам (зурагтай)
Температур мэдрэгч / Цаг уурын станц: Цаг агаар, температур хэмжигчийг DS1820 дижитал дижитал мэдрэгч ашиглан бүтээгээрэй. Энэхүү тохиргоог серверийн өрөө, цаг агаарын станц болгон ашиглахад ашигладаг. Энэхүү төсөл нь: Даллас 1 утастай автобусны сүлжээ RS-ийн хоорондох интерфейс. 232 ба