Агуулгын хүснэгт:

Нарны эрчим хүчээр ажилладаг ESP32 цаг уурын станц: 9 алхам
Нарны эрчим хүчээр ажилладаг ESP32 цаг уурын станц: 9 алхам

Видео: Нарны эрчим хүчээр ажилладаг ESP32 цаг уурын станц: 9 алхам

Видео: Нарны эрчим хүчээр ажилладаг ESP32 цаг уурын станц: 9 алхам
Видео: Proyecto de heliostato Templastat / Templastat Heliostat Project: improvements, updates and test 2024, Оны зургадугаар сарын
Anonim
Image
Image
ESP32 цаг уурын станц нарны эрчим хүчээр ажилладаг
ESP32 цаг уурын станц нарны эрчим хүчээр ажилладаг
ESP32 цаг уурын станц нарны эрчим хүчээр ажилладаг
ESP32 цаг уурын станц нарны эрчим хүчээр ажилладаг

Энэхүү гарын авлагад бид WiFi ашиглах боломжтой цаг уурын станцын төслийг бүтээх гэж байна.

Зорилго нь бараг бүх боломж бүхий цаг уурын станцыг зохион бүтээх явдал юм.

  • Одоогийн нөхцөл, цаг, температур, чийгшил, даралтыг харуул
  • Дараагийн өдрүүдийн урьдчилсан мэдээг харуул
  • Эфирээр шинэчлэх
  • Тохиргоо хийх, өгөгдөл дамжуулах зориулалттай вэбсайт
  • Түүхийн статистик мэдээллийг үүлэн рүү байршуулах
  • Aple Home Kit эсвэл MQTT -тэй нэгтгэсэн
  • Indepeded Accu нь нарны зайгаар цэнэглэх эсвэл холбох боломжтой

Би өөр юу байх ёстой, юу байж болохыг төсөөлөх чадвараа нэмж чадахгүй

Алхам 1: Шаардлагатай эд ангиуд

Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд
Шаардлагатай хэсгүүд
  • ESP32 (би dev модулийг ашигласан)
  • 2.8 "240x320 TFT LCD SPI ILI9341
  • Хуванцар хайрцаг
  • 3 x 18650 Accu
  • Температур, чийгшил, даралтыг хэмжих BME280 цаг уурын мэдрэгч
  • USB лити цэнэглэгч модуль
  • DC-DC алхам UP18650
  • зай эзэмшигч (3 ширхэг)
  • HC-SR505 хөдөлгөөн мэдрэгч
  • 220 Ом эсэргүүцэл
  • 2х 10 кОм эсэргүүцэл
  • TIP120 NPN транзисторыг (Дарлингтон) өөр ямар ч нийцтэй ашиглаж болно
  • ButtonWires, унтраалга, гагнуурын самбар …

Алхам 2: Цахилгааны утас угсрах

Утас ба угсралт
Утас ба угсралт
Утас ба угсралт
Утас ба угсралт
Утас ба угсралт
Утас ба угсралт
Утас ба угсралт
Утас ба угсралт

Эхний алхам бол станцын хүчийг угсрах явдал юм.

Би хуванцар хайрцгийг хоёр хэсэгт хуваасан бөгөөд тэдгээрийн нэгийг батерей, унтраалга, USB цэнэглэгч, DC-DC гаралтын хэсэгт оруулав. USB цэнэглэгч модулийг маш сайн мэдэж байгаа тул би хөнгөн цагаан хавтан ашиглаж, USB цэнэглэгчийг Star 922 цавуу ашиглан тавив.

Хоёрдахь алхам бол хянагчийн хэсгийг угсрах явдал юм.

Утасны диаграмыг хэрхэн яаж холбохыг үзнэ үү

Би энэ зорилгоор талхны самбарыг дараах алхмуудаар ашигласан

  • Гагнуурын ESP32 дэвтэр хавтан
  • TFT дэлгэцийг хадгалахын тулд гагнуурын бамбай
  • Бусад электрон эд ангиудыг гагнах: BME280, резистор, товчлуур
  • Диаграммын дагуу бүрэлдэхүүн хэсгүүдийн хооронд гагнуурын утас

Гурав дахь алхам бол хуванцар хайрцгийн хоёр дахь хэсэгт талхны хавтанг суурилуулах явдал юм. Би 3d принтер дээрээ хоёр баар хэвлэж, боолтоор бэхэлж, дэлгэцийн хувьд тэгш өнцөгт хайчлав.

Би хуванцар хайрцагны биен дээр хуванцар баар бэхлэв. Одоо цавуу хуурай болсны дараа талхны тавцангийн бүхээгийг боолтоор нь салгана.

Дараагийн алхам бол:

  • Цахилгаан эх үүсвэрийн гагнуурын утас
  • Батерейны хүчдэлийн байдлыг тодорхойлох гагнуурын утас
  • Гагнах ба холбох хөдөлгөөн мэдрэгч

Эцсийн алхам:

  • гаралтын хүчдэл 5v-ийг тааруулах замаар DC-DC хөрвүүлэгчийг тохируулах
  • Станцын хянагчийн хоёр хэсгийг тэжээлд холбоно уу: цахилгаан утас ба хүчдэлийн уншилт

Хөдөлгөөн мэдрэгч ба товчлуурын хувьд нүүрэн талдаа нэмэлт нүх гаргав.

Алхам 3: Firmware -ийг ESP32 дээр байршуулах

Энэ төслийн хувьд би өөрөө боловсруулсан бүх нийтийн програм хангамжийг ашигласан

Github хуудаснаас ESPHomeController -ийг үзнэ үү. Энэ нь хөрвүүлэх, тохируулах бүрэн зааврыг агуулдаг.

! Хэрэв та эмхэтгэл, Arduino -г сайн мэдэхгүй байгаа бол бэлэн програмыг байршуулах алхамыг үзээрэй

Та firmware -ийг анх удаа байршуулмагц ESP32 нь тохиргооны горимд (Хандалтын цэгийн горим) эхэлнэ.

Та тэдгээрийг тохируулах хэрэгтэй. Үүнийг хийхийн тулд боломжтой WiFi төхөөрөмжүүдийн жагсаалтыг нээнэ үү. HomeController -ийг олж, түүнд холбогдоно уу. Олзлогдсон портал автоматаар эхлэх ёстой. Хэрэв та хөтөчийнхөө URL хаягийг оруулаагүй бол: 192.168.4.1, та тохиргооны дэлгэцийг харах болно

Зааврыг дагана уу, WiFi -ийн итгэмжлэлийг WiFi сүлжээндээ тохируулна уу.

Үүний дараа ESP нь WiFi клиент болж дахин асах бөгөөд таны Wifi -д холбогдох болно.

Sson Firts холболт үүсэхэд энэ нь Spiffs файлын системийг автоматаар холбож, вэб порталд шаардлагатай файлуудыг татаж авах болно.

  • индекс.html
  • filebrowse.html
  • js/bundle.min.js.gz

Татаж авах https://github.com/Yurik72/ESPHomeController/tree/… фолдероос явагддаг.

Одоо та вэб хөтөч ашиглан файлын агуулгыг харах боломжтой. Үүний тулд та одоо ESP32 -ийн IP хаягийг оруулах ёстой

Та үүнийг дараах аргуудын аль нэгээр олж болно.

  • ESP32 бүртгэлийг харахын тулд цуваа порт мониторыг ашиглана уу
  • Сүлжээний төхөөрөмжөө скан хийхийн тулд ямар ч tcp сканнер ашиглана уу
  • Цаг уурын станцын товчлуурыг дарахад системийн мэдээлэл гарч ирэх болно

Http: //192.168.0. XX/browse хуудсыг оруулаад ESP файлын жагсаалтыг харах болно.

(192.168.0. XX бол таны төхөөрөмжийн IP хаяг юм

Эцсийн тохиргоог хийхийн тулд та тохиргооны файлуудыг бэлтгэх хэрэгтэй.

Алхам 4: Бэлэн програмыг татаж авах

Бэлэн програм хангамжийг байршуулж байна
Бэлэн програм хангамжийг байршуулж байна

Энэ хэсэг нь өөрөө програм хангамж үйлдвэрлэхгүй байгаа сонсогчдод зориулагдсан болно. Та зүгээр л "бэлэн" програмыг байршуулах хэрэгтэй

1. Энэ хуудаснаас флэш байршуулах хэрэгслүүдийг татаж аваарай

2. Хавсаргасан (архиваас авсан) HomeController.bin болон bootloader_qio_80m.bin файлуудыг хатуу диск рүүгээ татаж аваарай.

3. ESP32 татаж авах хэрэгслийг эхлүүлж, дэлгэцийн агшны дагуу утгыг оруулна уу

4. Start товчийг дарна уу

Алхам 5: Тохиргоо

Тохиргоог бэлтгэж эхлэхээс өмнө танд дараахь зүйл хэрэгтэй болно.

  1. Өөрийнхөө сувгийн түлхүүр, түлхүүр дээр сувгаа үүсгээрэй. 4 талбарыг бэлдэж, тэдгээрийг температур, чийгшил, даралт, хүчдэл гэж нэрлэнэ үү
  2. Wei.com сайтад бүртгүүлж api түлхүүрээ аваарай

Таны өгөгдлийг байршуулах, чиг хандлага, үнэ цэнийг хянахад Thingspeak хэрэгтэй

Урьдчилсан мэдээллийг авахын тулд цаг агаар шаардлагатай байна.

За, эцэст нь танд дараах агуулгатай services.json файлыг үүсгэх хэрэгтэй

[{"үйлчилгээ": "TimeController", "нэр": "Цаг", "идэвхжүүлсэн": үнэн, "интервал": 1000, "завсарлага": 7200, "dayloffs": 3600, "сервер": "pool.ntp.org "," enablesleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}, {" service ":" BME280Controller "," name ":" BME "," enabled ": үнэн, "интервал": 900000, "i2caddr": 118, "uselegacy": үнэн, "temp_corr":-3.0, "hum_corr": 10.0}, {"үйлчилгээ": "WeatherClientController", "нэр": "WeatherForecast", "идэвхжүүлсэн": үнэн, "интервал": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & unit = m & language = en -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," enabled ": true," interval ": 500}, {" enabled ":" true "," interval ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, "cfmt": "%. 2f V", "acctype": 10}, {"үйлчилгээ": "ThingSpeakController", "нэр": "ThingSpeak", "идэвхжүүлсэн": үнэн, "интервал": 1200000, "утга": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "вандуй kapi "}, {" идэвхжүүлсэн ": үнэн," интервал ": 1," зүү ":" "," үйлчилгээ ":" ButtonController "," нэр ":" Товч "," зүү ": [27]}]

! Орлуулна уу

  • зүйл ярихдаа api түлхүүрээ ашиглана уу
  • weatherapi нь таны цаг агаарын api түлхүүр юм
  • Урьдчилан мэдэхийг хүсч буй байршлынхаа геокод

Triger.json файлыг хоёр дахь удаагаа бэлтгэ

[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "WeatherDisplay" "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," destination ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," destination ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destination": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "source": "LDR", "destination": "ThingSpeak", "ch": 4}]

Хоёр файл хоёулаа esp -ийн үндэс рүү дээшлэх ёстой.

Та үүнийг https://192.168.0. XX/browse хөтөчөөр хийж болно, энд https://192.168.0. XX бол таны төхөөрөмжийн IP хаяг юм.

ESP -ийг байршуулсны дараа дахин эхлүүлэх ёстой бөгөөд бүх зүйл зөв хийгдсэн болно. Esp нь дээрх зураг, видео дээрх шиг зөв дэлгэцийг харуулах болно

Алхам 6: Ухах, эрчим хүчний хэрэглээ

Уян хатан байдал ба эрчим хүчний хэрэглээ
Уян хатан байдал ба эрчим хүчний хэрэглээ

Би төхөөрөмжөө нарны хавтантай холбож ашиглаж байгаа бөгөөд энэ нь "хязгааргүй" ажиллах чадвартай гэдэгт итгэлтэй байна.

Цахилгаан зарцуулалт чухал бөгөөд хэд хэдэн туршилтын дараа би хоёр том заль мэхийг ашигласан

TFT дэлгэцийн суурь LED -ийн хэрэглээг багасгах

Хэмжилтийн дагуу энэ нь 15-20 мА (маш их) иддэг тул би Motion илрүүлэгчтэй тактик хэрэглэсэн. Энэ нь 8-10 метр хүртэлх аливаа илрүүлэлтийг таньж, дохионы кабель дээрх хүчдэлийг нэмэгдүүлэх чадвартай Motion детектор төгс ажилладаг. Энэ бол транзисторын нүх, арын арын гэрлүүд нь хүчийг хүлээн авдаг. Ихэвчлэн детектор энэ төлөвийг 10 секундын дотор байлгадаг бөгөөд энэ нь дэлгэцийг харахад хангалттай биш боловч хэрэв та хөдөлгөөнөө үргэлжлүүлбэл дохио өндөр хэвээр байгаа бөгөөд LED нь гэрэлтдэг.

Ийм хандлага нь надад том эдийн засгийг өгдөг бөгөөд нэмэлт нөлөө үзүүлэхгүй, хүссэн үедээ дэлгэцээ үзэх асуудал гардаггүй

2. Цахилгаан эрчим хүчний хэрэглээг ESP32 -р бууруулах

ESP нь WiFi-д холбогдсон үед энэ нь 7-10 мА үргэлж иддэг, би асаах, анхны холболт биш харин тогтмол цагийн тухай ярьж байна. Хэрэв та бодит огноо, цагийг байнга харж, Apple гэрийн иж бүрдлээс системдээ хандаж байвал үүнийг хүлээн зөвшөөрч болно

Миний нарны эрчим хүчний хувьд өвлийн улиралд нэмэлт тэжээлийн эх үүсвэргүй ажиллах чадвартай байсан.

Тиймээс би ESP32 -ийг үе үе унтах горимд оруулахаар шийдсэн (идэх нь 1 мА -аас бага). Энэ бол надад зүгээр, жишээ нь ESP 20 минут унтаж байна, сэрэхээс илүү дэлгэцийг сэргээх (бодит өгөгдөл, урьдчилсан мэдээ) өгөгдлийг ярих, дахин унтах горим руу буцаана.

Сул талууд нь:

  • Цаг агаарын дэлгэц нь хуучирсан цагийн утгыг харуулдаг
  • Унтах үед хөтөч болон Apple Home Kit -ээс станц руу нэвтрэх боломжгүй байдаг

Юу илүү чухал болохыг та өөрөө шийдэх болно, та үүнийг дахин тохируулах боломжтой.

Services.json файл болон мөрийг харна уу

[{"үйлчилгээ": "TimeController", "нэр": "Цаг", "идэвхжүүлсэн": үнэн, "интервал": 1000, "завсарлага": 7200, "dayloffs": 3600, "сервер": "pool.ntp.org "," enablesleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}

"унтуулах боломжийг олгодог": үнэн нь унтах боломжийг олгодог, хэрэв хуурамчаар байрлуулсан эсвэл параметрийг устгавал (худал нь анхдагчаар) ESP хэзээ ч унтдаггүй.

"sleepinterval": 900000 энэ бол миллис буюу 15 минут, 15 минут тутамд ESP сэрж, шаардлагатай ажилтнуудыг ажиллуулдаг гэсэн үг юм.

Тиймээс одоо хүн бүр шаардлагатай хэмжээгээр амархан тоглож чадна

Алхам 7: Мэдрэгчийн тааруулалт

BME280 температур мэдрэгчийн дотоод халаалтын нөлөөллийг багасгах

Фертс Би мэдрэгч ба нүхний эргэн тойронд хоолой хийв. LED горимыг унтрааж, ESP унтаж байх үед миний горимд ажиллах нь тийм ч чухал биш юм. Бусад тохиолдолд BME280 мэдрэгч нь дотоод халаалтанд нөлөөлөхгүйн тулд хаа нэг газар хөдлөх ёстой. Миний олж мэдсэн өчүүхэн жижиг нөлөөллийг нөхөх хоёр параметр бий

"hum_corr": 10.0

Энэ нь хэмжилт хийсний дараа эдгээр утгыг нэмнэ гэсэн үг юм

Хоёрдугаарт, батерейны хүчдэлийг хэмжих, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0.0

"cvalmax": 7.2

Энэ зорилгоор резистор хуваагдсаны дараа хүчдэлийг хэмжиж, 3.3 В -тэй харьцуулж үзвэл cvalmax -ийн утгатай тоглосноор та мультиметр хэмжигдэхүүнээрээ хүчдэлийг яг тааруулж чадна.

Алхам 8: Apple Home Kit -д төхөөрөмж нэмэх

Apple Home Kit -д төхөөрөмж нэмж байна
Apple Home Kit -д төхөөрөмж нэмж байна

Эцэст нь хэлэхэд таны төхөөрөмж зөв ажиллаж байх үед үүнийг Apple Home Kit дээр нэмж болно, та харах боломжтой болно

Apple -ийн үндсэн дэлгэц дээрх мэдрэгчийн үнэ цэнэ.

Эхлээд та төхөөрөмжийг дахин асаах хэрэгтэй, учир нь төхөөрөмж эхлэхэд удалгүй унтахгүй, 20 минут хангалттай байх болно

IOS төхөөрөмж дээрээ Home Kit програмыг нээж, шинэ Home1 -ийг сонгож эсвэл үүсгээрэй. Нэмэх товчийг дарна уу (+)

2. Дагалдах хэрэгсэл нэмэх командыг сонгоно уу.

3. Надад код байхгүй эсвэл скан хийх боломжгүй гэсэн дээр дарна уу (цаашид сканнердах болно)

4. Хэрэв бүх зүйл хэвийн байгаа бол та шинэ esp төхөөрөмжөө жагсаалтаас харах ёстой (зургийг үзнэ үү)

5. Төхөөрөмжийг сонгоод албан ёсны баталгаажуулалтгүйгээр нэмж оруулахыг баталгаажуулна уу

6. 11111111 нууц үгийг оруулна уу

7. Энэ бүгд! Та төхөөрөмжийг амжилттай хослуулсан эсэхийг харах ёстой, эс тэгвээс дахин хослуулах процессыг эхлүүлнэ үү.

Энэ тохиргоон дээр үндэслэн та Apple дээр хоёр төхөөрөмжийг харах болно

1. Температур мэдрэгч ба Hum мэдрэгч, гүн рүү ороход утгыг бүтэн дэлгэц дээр харуулна

2. Гэрлийн мэдрэгч:) Үнэндээ Apple нь хүч чадал биш, харин гэрэл гэгээтэй байдлыг харуулах боломжтой тул батерейны хүчдэл Люкс дээр харагдаж байна.

Алхам 9: OTA: Агаарын шинэчлэлтүүд

Шинэчлэлтийг эхлүүлэхийн өмнө ESP32 -ийг дахин ачаалах нь дээр гэж хэлсэн бөгөөд эхний 20 минут унтахгүй

Шинэчлэх хоёр боломж бий

  1. Http: //192.168.0. XX/browse ашиглан тохиргоо хийснээр та ESP дээр өөрийн файлын системд хандаж, тохиргооны файлуудыг өөрчлөх боломжтой.
  2. Та програм хангамжийг бүрэн шинэчлэх боломжтой. Үүнийг хийхийн тулд эхлээд шинээр үүсгэх хэрэгтэй. Үүнийг Arduino эсвэл Visual Studio IDE ашиглан хийж болно. Дараа нь https://192.168.0. XX/update хөтөч дээр бичээд програм хангамжаа сонгоод update дарна уу. Процесс дуустал хүлээнэ үү, танд хариу өгөх болно, эс тэгвэл алхамыг дахин давтана уу

Зөвлөмж болгож буй: