Агуулгын хүснэгт:
- Алхам 1: Татгалзах
- Алхам 2: IFTTT үнэгүй данс тохируулна уу
- Алхам 3: IFTTT апплет үүсгэх
- Алхам 4: Апплетынхаа "энэ" хэсгийг тохируулна уу
- Алхам 5: WebHooks үйлчилгээг апплет дээрээ нэмээрэй
- Алхам 6: Вэб хүсэлтийн хүлээн авагчийг тохируулна уу
- Алхам 7: Үйл явдлын нэрийг оруулна уу
- Алхам 8: Апплетынхаа "тэр" хэсгийг тохируулна уу
- Алхам 9: Үйлдлийн үйлчилгээг тохируулах
- Алхам 10: Google Хүснэгтэд холбогдоно уу
- Алхам 11: Үйлдлийг сонгоно уу
- Алхам 12: Үйлдлийг тохируулна уу
- Алхам 13: Апплетаа хянаж, эцэслэх
- Алхам 14: Хожим шаардлагатай тохиргооны мэдээллийг авах
- Алхам 15: API түлхүүрийн Webhooks баримт бичиг рүү үргэлжлүүлнэ үү
- Алхам 16: API түлхүүрийг хадгална уу
- Алхам 17: Бүрэлдэхүүн хэсгүүдийг цуглуулах
- Алхам 18: Бүрэлдэхүүн хэсгүүдийг угсрах
- Алхам 19: Arduino кодыг бичнэ үү
- Алхам 20: Үр дүн
- Алхам 21: Зээл
Видео: Хаалга ба температурын төлөв бүртгэгч төсөл: 21 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү зааварчилгаа нь ESP8266 NodeMCU, DHT11 температур, чийгшлийн мэдрэгч, хаалга/цонхны зэгс унтраалга, 10К ом эсэргүүцэл, залгах утсыг ашиглан хаалганы болон температурын төлөв байдлын бүртгэлийг 10.00 доллараас бага үнээр хэрхэн хийхийг танд үзүүлэх болно.
Энэхүү төслийн гарал үүсэл нь Arduino самбар ашиглан гэрийн автоматжуулалтыг илүү их хийх хүслээс үүдэлтэй юм. Би Arduino -тэй нийцтэй EPS8266 NodeMCU -ийн талаар маш их уншиж байсан болохоор туршиж үзэхэд энэ самбар нь хямд өртөгтэй төгс самбар байх болно гэж би шийдсэн. ESP8266 хавтанг ашиглан гэрийн автоматжуулалтын төслүүдийг интернетээс хайсны дараа би анхны оролдлогоо хийхдээ температур ба хаалганы төлөв байдлын бүртгэлийг нэгтгэх ажлыг эхлүүлсэн. Эцэст нь энэ төслийг servo, чийг мэдрэгч болон бусад электрон төхөөрөмжүүдтэй хослуулан өвөөгийнхөө 50 жилийн өмнө зохион бүтээсэн жижигхэн ногоон байшинг автоматжуулах болно. Температур мэдрэгчийг ашиглан халаалтын системийг асаах, салгах шаардлагатай эсэхийг тодорхойлохын зэрэгцээ шаардлагатай үед агааржуулалтын системийг нээх, хаах тухай servo дохио өгөх болно. Соронзон зэгс унтраалга ашиглан агааржуулалтын системийн төлөв байдлыг хянах болно. Эцэст нь чийг мэдрэгчийг услах системийг автоматжуулахад ашиглах болно.
Алхам 1: Татгалзах
Энэхүү зааварчилгааг дагаж мөрдсөний үр дүнд ямар нэгэн зүйл тохиолдоход бид хариуцлага хүлээхгүй гэдгээ шууд мэдэгдэх болно. Аливаа зүйлийг бүтээхдээ үйлдвэрлэгчийн заавар, аюулгүй байдлын хуудсыг дагаж мөрдөх нь хамгийн сайн арга юм. Тиймээс өөрийн гараар бүтээхэд ашигладаг эд анги, багаж хэрэгслийн талаар эдгээр бичиг баримтаас лавлана уу. Бид зүгээр л өөрсдийнхөө алхамыг бий болгох үе шатуудын талаар мэдээлэл өгч байна. Бид мэргэжлийн хүмүүс биш. Үнэн хэрэгтээ энэхүү бүтээн байгуулалтад оролцсон 3 хүн тутмын 2 нь хүүхэд байна.
Алхам 2: IFTTT үнэгүй данс тохируулна уу
Хэрэв танд одоохондоо байхгүй байгаа бол IFTTT -ийн үнэгүй дансыг өөрийн нүүр хуудас руу орж тохируулах цаг болжээ. IFTTT нь If If That That гэсэн үг бөгөөд энэ нь интернетэд суурилсан үйлчилгээг шинэ аргаар холбох боломжийг олгодог үнэгүй платформ юм. эдгээр үйлчилгээг шинэ аргаар ашиглах боломжийг танд олгоно. Энэхүү төслийн хувьд бид ESP8266 -ийг Google Sheets -ийн баримт бичигт DHT11 мэдрэгч ашиглан зэгс шилжүүлэгчээр дамжуулан хаалганы төлөв, температур, чийгшлийг бүртгэх боломжийг олгохын тулд IFTTT -ийг ашиглах гэж байна.
Алхам 3: IFTTT апплет үүсгэх
IFTTT -д байхдаа "Миний апплетууд" хэсэгт очоод "Шинэ апплет" товчийг дарж шинэ апплет үүсгэнэ үү.
Алхам 4: Апплетынхаа "энэ" хэсгийг тохируулна уу
Дээрх зураг дээр онцолсон цэнхэр өнгийн "энэ" үгийг дарна уу.
Алхам 5: WebHooks үйлчилгээг апплет дээрээ нэмээрэй
Хайлтын талбарт "Webhooks" үйлчилгээг хайж олоод Webhooks дүрсийг сонгоно уу.
"Webhooks" үйлчилгээг олсны дараа үүн дээр дарна уу.
Алхам 6: Вэб хүсэлтийн хүлээн авагчийг тохируулна уу
"Вэб хүсэлтийг хүлээн авах" гохыг сонгоно уу.
Алхам 7: Үйл явдлын нэрийг оруулна уу
Текст хайрцагт шинэ апплетаа үйл явдлын нэрээр оруулна уу. Би "Өгөгдөл бүртгэгч" -ийг сонгосон боловч та дуртай зүйлээ сонгох боломжтой.
Алхам 8: Апплетынхаа "тэр" хэсгийг тохируулна уу
Дээрх зураг дээр тодруулсан шиг цэнхэр өнгөтэй "тэр" үгийг дарна уу.
Алхам 9: Үйлдлийн үйлчилгээг тохируулах
Хайлтын талбарт "Google Хүснэгт" үйлчилгээг хайж, Google Хүснэгтийн дүрс дээр дарна уу.
Алхам 10: Google Хүснэгтэд холбогдоно уу
Хэрэв та үүнийг хийгээгүй бол IFTTT дансаа Google Хүснэгтэд холбох шаардлагагүй болно. Дээр үзүүлсэн Connect товчийг дараад дэлгэц дээрх зааврыг дагана уу.
Алхам 11: Үйлдлийг сонгоно уу
"Хүснэгтэд мөр нэмэх" дээр дарна уу.
Алхам 12: Үйлдлийг тохируулна уу
"Хүснэгтийн нэр" текст талбарт нэр оруулна уу. Би тууштай байхын тулд "Data_Logger" -ийг ашиглахаар сонгосон. Үлдсэн тохиргоог ганцаараа үлдээгээрэй (та эдгээр тохиргоог өөр хугацаанд туршиж үзэх боломжтой), дараа нь дэлгэцийн доод хэсэгт байрлах "Үйлдэл үүсгэх" товчийг дарна уу.
Алхам 13: Апплетаа хянаж, эцэслэх
Апплетийн тохиргоонд сэтгэл хангалуун болсны дараа "Finish" товчийг дарна уу.
Алхам 14: Хожим шаардлагатай тохиргооны мэдээллийг авах
Дээр дурдсанчлан "Webhooks" дээр дарна уу.
Алхам 15: API түлхүүрийн Webhooks баримт бичиг рүү үргэлжлүүлнэ үү
Энэ нь хачирхалтай санагдаж магадгүй ч баруун дээд буланд байгаа Documentation линк дээр дарж өөрийн өвөрмөц API түлхүүр бүхий хуудас руу очно уу.
Алхам 16: API түлхүүрийг хадгална уу
Баримт бичгийн дэлгэцийн эхний мөрөнд таны өвөрмөц API түлхүүр гарч ирнэ. Дараа нь ашиглахын тулд энэ түлхүүрийг хуулж хадгална уу.
Апплетыг энд туршиж үзэх нь зүйтэй юм. {Event} -г Data_Logger болгон өөрчилж, үйл явдлынхаа нэрийг өөрчилж, 3 хоосон утганд зарим өгөгдлийг нэмж, хуудасны доод хэсэгт байрлах "Үүнийг турших" товчийг дарна уу. Та "Үйл явдал идэвхжсэн" гэсэн ногоон мессежийг харах ёстой. Хэрэв тийм бол Google Docs руу ороод туршилтын хуудсанд оруулсан өгөгдлүүд нь Google Хүснэгтийн баримт бичигт харагдсан болохыг баталгаажуулна уу.
Алхам 17: Бүрэлдэхүүн хэсгүүдийг цуглуулах
Танд хэдхэн хэсэг хэрэгтэй болно.
1) ESP8266 NodeMcu хөгжүүлэх зөвлөл
2) DHT11 температур/чийгшил мэдрэгч
3) Хаалга/Цонхны зэгс шилжүүлэгч
4) 10к Ом эсэргүүцэл
5) Холбох утас
Алхам 18: Бүрэлдэхүүн хэсгүүдийг угсрах
1) ESP8266 дээрх 3v3 зүүг DHT11 дээрх vcc зүүтэй холбоно уу.
2) ESP8266 дээрх газардуулгын нэгийг DHT11 дээрх газардуулгатай холбоно уу.
3) ESP8266 дээрх D4 зүү (IDE дээрх 2 -р зүү) -ийг DHT11 дээрх өгөгдлийн зүүтэй холбоно уу.
4) ESP8266 дээрх өөр 3v3 зүүг хаалга/цонхны зэгс шилжүүлэгчийн нэг талд холбоно уу.
5) ESP8266 дээрх D5 зүү (IDE -ийн 14 -р зүү) -ийг хаалга/цонхны зэгс шилжүүлэгчийн нөгөө талд холбож, 10к ом эсэргүүцлийн нэг талд холбоно.
6) 10 к ом эсэргүүцлийн нөгөө талыг ESP8266 дээрх өөр газардуулгатай холбоно уу.
ESP8266 зүү сонгохын тулд энэ хэрэгтэй диаграм эсвэл маш хэрэгтэй видеог үзнэ үү.
Алхам 19: Arduino кодыг бичнэ үү
Доорх кодыг хуулж Arduino IDE дээрээ оруулна уу.
#оруулах #оруулах #оруулах "DHT.h"
#тодорхойлох DHTPIN 2 // бид ямар дижитал зүүтэй холбогдсон байна
#DOORPIN 14 -ийг тодорхойлох // хаалганы унтраалга ямар дижитал зүү асаалттай байна.
#тодорхойлох DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
int тоо = 1;
const char* ssid = "some_ssid"; // үүнийг ssid const char* password = "some_password" ашиглахын тулд үүнийг өөрчил; // нууц үгээ ашиглахын тулд үүнийг өөрчил int intTimeTime = 100;
// Ид шидлэгч Webhooks IFTTT
const char* server = "maker.ifttt.com";
// IFTTT URL нөөц
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; // Үйлчилгээний нэр болон api түлхүүрээ ашиглахаа мартуузай.
String doorStatus = "Хаалттай";
дэгдэмхий bool stateChanged = false;
// Хэрэв та хэдэн цаг унтдаг бол интервалыг цаг * 60 минут * 60 секунд * 1000 миллисекундээр тохируулна уу
const урт интервал = 1.0 * 60 * 60 * 1000; // 1 цаг гарын үсэг зураагүй урт өмнөхMillis = 0 - (2 * интервал);
хүчингүй тохиргоо () {
Цуваа.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DOORPIN, INPUT); // Хаалганы мэдрэгч dht.begin (); WiFi.begin (ssid, нууц үг);
Serial.print ("\ nХолбож байна..");
while (WiFi.status ()! = WL_CONNECTED) {саатал (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = үнэн; Serial.println ("Хаалгыг шалгаж байна!"); if (digitalRead (DOORPIN) == HIGH) // Хаалга нээлттэй эсэхийг шалгана уу {Serial.println ("Хаалга хаалттай байна!"); doorStatus = "Хаалттай"; } өөр {Serial.println ("Хаалга нээлттэй!"); doorStatus = "Нээгдсэн"; }}
хүчингүй checkStatus () {
if (WiFi.status () == WL_CONNECTED) {// WiFi холболтын статусыг шалгана уу // Унших температур эсвэл чийгшил 250 миллисекунд зарцуулдаг! // Мэдрэгчийн уншилт нь 2 секундын настай байж болно (энэ нь маш удаан мэдрэгчтэй) float h = dht.readHumidity (); // Цельсийн температурыг уншина уу (анхдагч) float t = dht.readTemperature (); // Температурыг Fahrenheit (isFahrenheit = true) float f = dht.readTemperature (true) гэж уншина уу; // Уншиж чадаагүй эсэхийг шалгаад эрт гараарай (дахин оролдоно уу). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT мэдрэгчээс уншиж чадсангүй!"); // Цуврал.хэвлэх ("."); // DHT мэдрэгчээс уншиж чадсангүй! буцах; } // Фаренгейт дэх дулааны индексийг тооцоолох (анхдагч) float hif = dht.computeHeatIndex (f, h); // Цельсийн дулааны индексийг тооцоолох (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("Температур:"); Цуваа.хэвлэх (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("Дулааны индекс:"); Цуваа.хэвлэх (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("Чийгшил:"); Serial.println (h);
if (digitalRead (DOORPIN) == HIGH) // Хаалга нээлттэй байгаа эсэхийг шалгаарай
{Serial.println ("Хаалга хаалттай байна!"); doorStatus = "Хаалттай"; } өөр {Serial.println ("Хаалга нээлттэй байна!"); doorStatus = "Нээгдсэн"; } String jsonObject = String ("{" утга1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" утга2 / ": \" " + ч +" / ", \" утга3 / ": \" " + хаалганы байдал +" / "}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (сервер); http.addHeader ("Агуулгын төрөл", "application/json"); http. POST (jsonObject); http.writeToStream (& Цуваа); http.end (); // Холболтыг хаах
stateChanged = худал;
int sleepTimeInMinutes = интервал / 1000/60; Serial.print ("\ n / n Унтахаар явах"); Цуваа.хэвлэх (sleepTimeInMinutes); Serial.println ("минут (ууд) …"); }}
void loop () {
тэмдэггүй урт гүйдэлMillis = millis (); саатал (4000); // Хэрэв бид өнгөрсөн хугацааг давсан бол хаалга, температурыг заавал шалгаарай. if (currentMillis - previousMillis> = интервал) {stateChanged = true; өмнөхMillis = одоогийнMillis; Цуваа.хэвлэх (тоолох ++); Serial.println (") Цаг хугацаа өнгөрсөн тул шалгаж байна!"); } else if (stateChanged) {Serial.print (count ++); Serial.println (") Төлөв өөрчлөгдсөн тул шалгаж байна!"); }
// Хэрэв байдал өөрчлөгдсөн бол хаалга, температурыг шалгана уу.
if (stateChanged) {checkStatus (); }
саатал (унтах цаг);
}
Алхам 20: Үр дүн
Өмнөх алхамд эх кодыг байршуулсны дараа дээр үзүүлсэн жишээ шиг үр дүн гарах ёстой.
Алхам 21: Зээл
Би Random Nerd хичээлүүдээс маш олон хэрэгтэй зөвлөмж, зөвлөгөөг олж авсан бөгөөд тэдэнд тусалсанд баярлалаа гэж хэлмээр байна. Ялангуяа ESP32 ESP8266 -ийн маш сайн зааварчилгаа нь энэхүү зааварчилгааны ихэнх хэсгийг үндэслэсэн Google Хүснэгтэд мэдрэгчийн уншилтыг нийтлэх болно.
Нэмж дурдахад TheCircuit -ийн DHT11 зааварчилгаа нь энэхүү маш хямд боловч сонирхолтой бяцхан мэдрэгчийг хэрхэн ашиглахаа ойлгоход тусалсан юм.
Цаашилбал, гаражийн хаалганы дэлгэц, Random Nerd хичээлийн өөр нэг хаалга зэргийг хянах олон хичээлүүд байдаг. Би зэгсээ хэрхэн зөв ажиллуулахаа ойлгоход туслахын тулд эдгээр хэсгүүдийг ашигласан.
Эцэст нь, энэ мэдээлэл болон интернетээс олж авсан бусад нарийн ширийн зүйлийг ашиглан би өөрийн хэрэгцээнд нийцсэн системийг бий болгож чадсан юм. Энэхүү зааварчилгаа нь танд хэрэгтэй гэж үзэж, өөрийн гараар бүтээсэн гэж найдаж байна.
Зөвлөмж болгож буй:
Netflix -ийн сэтгэлийн төлөв: 3 алхам
Netflix Mood Profiles: Энэхүү зааварчилгаа нь Netflix хэрэглэгчийг таны сэтгэл санаанд үндэслэн зөвлөмж өгөхийн тулд Netflix алгоритмыг тохируулах алхамуудыг зааж өгдөг
Гэрийн төлөв байдлын үзүүлэлт: 5 алхам
Гэрээсээ ажиллах статусын индикатор: Гэрээсээ ажиллах өнөөгийн нөхцөл байдлын хувьд хүүхдүүд маань гэрээсээ сурч байгаа тул надад зарим бэрхшээл тулгарч байна. Заримдаа ажил, гэр бүлийн амьдрал жаахан бүдэгрэх болно. Тиймээс би хүүхдүүдтэйгээ зарим үндсэн дүрмийг тохируулах чадвартай байх ёстой
Steinhart-Hart-ийн залруулга ба температурын дохиолол бүхий ESP32 NTP температурын шалгалт хийх термометр: 7 алхам (зурагтай)
Steinhart-Hart-ийн залруулга ба температурын дохиолол бүхий ESP32 NTP температурын шалгалт хийх термометр: "Удахгүй болох төсөл", " ESP32 NTP-ийн температурын мэдрэгчтэй хоол хийх термометрийг Steinhart-Hart-ийн залруулга ба температурын дохиололоор " Энэ бол миний NTP температурын датчикийг хэрхэн нэмэхийг зааж өгөх заавар юм, piezo b
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Нэг самбараар хамгийн багадаа 15 төсөл хий !: 6 алхам
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Хамгийн багадаа 15 төслийг нэг самбараар хий !: Arduino Project & Хичээлийн зөвлөл; Arduino -ийн үндсэн 10 төслийг багтаасан болно. Бүх эх код, Gerber файл болон бусад. SMD байхгүй байна! Хүн бүрт хялбар гагнах. Зөөврийн болон сольж болох хялбар бүрэлдэхүүн хэсгүүд. Та хамгийн багадаа 15 төсөл хийх боломжтой
USB -ээр ажилладаг шарагч! Энэхүү төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): 3 алхам
USB -ээр ажилладаг шарагч! Энэ төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): ЭНЭ USB ашиглан бүү хий !!!! Энэ нь бүх сэтгэгдлээс таны компьютерийг гэмтээж болохыг олж мэдсэн. миний компьютер сайн байна 600ma 5V утасны цэнэглэгч ашиглана уу. Би үүнийг ашигласан бөгөөд энэ нь сайн ажилладаг бөгөөд хэрэв та цахилгаан тэжээлийг зогсоохын тулд хамгаалалтын залгуур ашиглавал юу ч гэмтээхгүй