Агуулгын хүснэгт:
- Алхам 1: Ethernet термостатын тодорхойлолт
- Алхам 2: Вэб интерфэйс
- Алхам 3: Вэб сервер дээр ажилладаг HTML хуудсууд, схем, эх код
Видео: Өрөөний термостат - Arduino + Ethernet: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Тоног төхөөрөмжийн хувьд төсөл нь дараахь зүйлийг ашигладаг
- Arduino Uno / Mega 2560
- Ethernet бамбай Wiznet W5100 / Ethernet модуль Wiznet W5200-W5500
- OneWire автобус дээрх DS18B20 температур мэдрэгч
- Бойлерыг солиход ашигладаг SRD-5VDC-SL-C реле
Алхам 1: Ethernet термостатын тодорхойлолт
Arduino бол жишээлбэл, өрөөний термостат бүтээхэд ашиглах боломжтой хялбар платформ бөгөөд үүнийг бид өнөөдөр үзүүлэх болно. Термостатыг байрладаг LAN сүлжээнээс авах боломжтой бөгөөд энэ нь термостатын бүх элементүүдийг тохируулахад ашигладаг вэб интерфэйсээр тоноглогдсон байдаг. Вэб интерфэйс нь вэб серверийн горимд шууд Arduino дээр ажилладаг. Вэб сервер нь мэдээллийн эсвэл бүр ажиллагаатай байж болох хэд хэдэн бие даасан HTML хуудсыг ажиллуулах боломжийг олгодог. Вэб сервер нь 80 - HTTP порт дээр ажилладаг.
Төсөлд ашиглагдаж буй цахилгаан соронзон реле SRD-5VDC-SL-C нь 2300 Вт хүчдэл бүхий 230 В-т 10А хүртэл шилжих боломжийг олгодог. Тогтмол гүйдлийн хэлхээг (ачаалал) солих тохиолдолд 300 Вт (30 В тогтмол гүйдлийн 10А) шилжих боломжтой. Эсвэл OMRON G3MB-202P SSR реле нь зөвхөн индуктив бус ачаалал, зөвхөн хувьсах гүйдлийн хэлхээнд тохиромжтой утас диаграммд бүрэн нийцдэг. Хамгийн их шилжих хүч 460W (230V, 2A). Ethernet бамбай болон бусад дагалдах хэрэгсэлтэй Arduino-ийн хэрэглээ реле нээлттэй байхад 100-120mA түвшинд байна. Хаалттай үед 5V тэжээлд 200мА -аас доош.
Алхам 2: Вэб интерфэйс
Термостатын вэб интерфейс нь дараахь боломжийг олгодог
- Бодит цагийн температурыг DS18B20 мэдрэгчээс үзээрэй
- Хуудсан дээрх динамик гаралтын өөрчлөлт бүхий бодит цагийн буухиа статусыг үзэх
- Зорилтот (лавлагаа) температурыг 5 -аас 50 ° С -ийн хооронд 0.25 ° C -ийн алхамаар өөрчлөх
- Гистерезийг 0 -ээс 10 хэм хүртэл 0.25 хэмийн алхамаар өөрчлөх
Вэб интерфэйс нь том, жижиг дэлгэцийг байрлуулах зориулалттай. Энэ нь хариу үйлдэл үзүүлэх чадвартай, өргөн дэлгэцийн өндөр нарийвчлалтай дэлгэцийг дэмждэг боловч хөдөлгөөнт төхөөрөмжийг дэмждэг. Интерфэйс нь Arduino дээр ажиллаж байгаа хуудсыг нээх үед үйлчлүүлэгч талын төхөөрөмжийг ачаалдаг гадаад CDN серверээс Bootstrap тогтолцооны импортын CSS загварыг ашигладаг. Arduino Uno санах ой хязгаарлагдмал тул хэдхэн кБ хэмжээтэй хуудсыг ажиллуулах боломжтой. Гадаад серверээс CSS стилийг импортлосноор Arduino -ийн гүйцэтгэл, санах ойн ачаалал буурах болно. Програм хангамжийн хэрэгжилт (Arduine Uno -ийн хувьд) флаш санах ойн 70% (32kB - 4kB Bootloader) болон RAM санах ойн 44% (2kB) ашигладаг.
Вэб хуудасны статик хэсэг (HTML баримт бичгийн толгой ба хөл, Bootstrap CSS холболт, мета тэмдэг, HTTP хариултын толгой, Агуулгын төрөл, маягт гэх мэт) нь Arduino -ийн флэш санах ойд шууд хадгалагддаг бөгөөд энэ нь хэрэглэгчийн RAM -ийн хэмжээг мэдэгдэхүйц бууруулдаг. -үүсгэсэн контент. Вэб сервер нь илүү тогтвортой бөгөөд сүлжээнд байгаа хэд хэдэн төхөөрөмжийн олон холболтыг нэгэн зэрэг зохицуулж чаддаг.
Цахилгаан тасарсан ч гэсэн тогтоосон утгыг хадгалахын тулд Arduino -ийн EEPROM санах ойд хадгалагддаг. Лавлах температур 10 -аас офсет, гистерезис 100 -аас офсет хүртэл байна. Утга бүр EEPROM санах ойд хамгийн ихдээ 5В эзэлдэг. EEPROM транскрипцийн хязгаар нь 100,000 хуулбарын түвшинд байна. Зөвхөн HTML маягтыг оруулах үед өгөгдлийг дарж бичдэг. Төхөөрөмжийг анх эхлүүлэх үед дээр дурдсан EEPROM офсет дээр хадгалсан зүйл байхгүй тохиолдолд автоматаар бичих ажлыг анхдагч утгаар гүйцэтгэнэ. Лавлагаа: 20.25, гистерезис 0.25 ° C
Refresh мета тэмдэг нь 10 секунд тутамд Arduino хуудсыг бүхэлд нь шинэчилдэг. Энэ үед термостатын өөрчлөлтийг бичих шаардлагатай болно, эс тэгвээс хуудсыг шинэчлэх үед оролтын цонхыг дахин тохируулах болно. Ethernet номын сан нь асинхрон вэб сервер ашиглахыг агуулаагүй тул хуудсыг бүхэлд нь дахин бичих ёстой. Голчлон өөрчлөгдөж буй динамик өгөгдөл нь өнөөгийн гаралтын утга юм - On / Off.
Алхам 3: Вэб сервер дээр ажилладаг HTML хуудсууд, схем, эх код
Arduino дээр ажилладаг HTML хуудсууд:
- / - маягтыг агуулсан үндсэн хуудас, релений одоогийн логик гаралтын жагсаалт, температур
- /action.html - маягтаас утгыг боловсруулж, EEPROM санах ойд бичиж хэрэглэгчийг эх хуудас руу дахин чиглүүлдэг.
- / get_data/ - одоогийн температур, лавлагааны температур, гистерезисийн талаархи мэдээллийг JSON форматаар гуравдагч этгээдэд (компьютер, микроконтроллер, бусад үйлчлүүлэгч…) тараана.
Энэхүү термостатын өргөтгөсөн хувилбар байдаг бөгөөд үүнд дараахь зүйлс орно
- Релений гар горим (хязгааргүй хугацаа, хатуу ON / OFF)
- Харуулын нохойн цаг хэмжигч
- Илүү олон мэдрэгчийг ашиглах боломжтой, жишээлбэл: SHT21, SHT31, DHT22, BME280, BMP280 болон бусад.
- Хөргөх горим
- Ethernet -ээс хамааралгүй RS232 / UART -ээр дамжуулан хяналт, тохиргоо хийх
- Термостатын PID температурын хяналт
- Термостатын хувьд ESP8266, ESP32 платформыг ашиглах боломж
Төслийн хөтөлбөрийн хэрэгжилтийг дараах хаягаар үзэх боломжтой: https://github.com/martinius96/termostat-ethernet/ Хэрэгжилт нь Ethernet бамбайд оноосон статик/динамик IPv4 хаягийн програмуудыг агуулдаг.
Термостат нь зөвхөн доторх температурт зориулагдсан болно! (0 ° C -аас дээш), системийн логикийг дасан зохицсон болно. Одоо байгаа өрөөний термостатыг термостатаар солих боломжтой, хөргөгчинд термостатыг түр хугацаагаар солих, террариум гэх мэт температурыг тогтмол байлгах боломжтой.
Зөвлөмж болгож буй:
Raspberry Pi 4-ийг зөөврийн компьютер/компьютер ашиглан Ethernet кабель ашиглан тохируулна уу (Хяналтгүй, Wi-Fi байхгүй): 8 алхам
Raspberry Pi 4-ийг Ethernet кабель ашиглан зөөврийн компьютер/компьютерээр тохируулах (Хяналтгүй, Wi-Fi байхгүй): Үүний тулд бид 1Gb RAM-ийн Raspberry Pi 4 Model-B-тэй ажиллах болно. Raspberry-Pi бол боловсролын зориулалттай, DIY төслүүдэд хямд төсөр өртөгтэй 5В 3А цахилгаан хангамж шаарддаг ганц самбар бүхий компьютер юм
Ethernet кабелийг хэрхэн яаж хийх вэ: 5 алхам
Ethernet кабелийг хэрхэн яаж хийх вэ: Сайн байна уу! Өнөөдөр бид өөрийн үйлдвэрлэлийн стандарт стандарт Ethernet кабелийг хэрхэн яаж хийхийг сурах болно. Кабель хэрэгтэй болоход аль нь мөнгө хэмнэх боломжтой вэ? Тэгвэл би яагаад танд заах чадвартай байна вэ? За, би сүүлийн 2 жилийг өнгөрөөсөн мэдээллийн технологийн мэргэжилтэн
DIY 10/100M Ethernet PoE инжектор: 6 алхам
DIY 10/100M Ethernet PoE Injector: Энд бид 10/100M ethernet -т тохирох энгийн PoE инектор хийх бөгөөд үүнийг батерейгаар шууд тэжээх боломжтой болно
Ethernet -ээр дамжуулан MCP23017 GPIO хяналт: 5 алхам
Ethernet-ээр дамжуулан MCP23017 GPIO хяналт: Sensor Bridge болон MCP23017 таслах самбарыг ашиглан Ethernet-ээр дамжуулан MCP23017 IO-өргөтгөлийг удирдах. Python скрипт, хөтчийн URL эсвэл HTTP холболттой системээр илгээгдсэн тушаалууд. Гэрийн автоматжуулалтад зориулж Home Assistant -т нэгтгэх боломжтой. Утаснууд нь
Ethernet мэдрэгч бүхий чийгшлийг унших: 3 алхам
Чийглэгийг Ethernet мэдрэгч ашиглан унших: Төслийн зорилго нь чийгшил, температурын уншилтыг ethernet сүлжээгээр уншиж, үр дүнг гэрийн автоматжуулалтад ашиглах боломжтой болгох явдал байв (Гэрийн туслах гэх мэт). гүйцэтгэл