Orodha ya maudhui:

ESP32 Smart Home Hub: Hatua 11
ESP32 Smart Home Hub: Hatua 11

Video: ESP32 Smart Home Hub: Hatua 11

Video: ESP32 Smart Home Hub: Hatua 11
Video: Объяснение MAC-адреса 2024, Novemba
Anonim
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32
Kituo cha Smart Home cha ESP32

Kuunda mfumo ambao unaweza kushughulikia idadi kubwa ya data ya sensorer, kuwa na matokeo mengi, na kuungana na mtandao au mtandao wa ndani huchukua muda mrefu na juhudi kubwa. Mara nyingi, watu wanaotaka kutengeneza mitandao yao mahiri ya nyumbani wanapambana na kuweza kupata na kukusanya vifaa vya kawaida kwenye mfumo mkubwa. Ndio sababu nilitaka kutengeneza jukwaa la kawaida na la tajiri ambalo litafanya iwe rahisi kujenga sensorer zilizounganishwa na IoT na matokeo.

Shukrani kwa DFRobot na PCBGOGO.com kwa kudhamini mradi huu!

Kwa habari zaidi ya kina, tembelea repo ya Github:

Vifaa

  • DFRobot ESP32 FireBeetle

    www.dfrobot.com/product-1590.html

  • Sensorer ya DHT22

    www.dfrobot.com/product-1102.html

  • Sensor ya Mwanga na Ishara ya APDS9960

    www.dfrobot.com/product-1361.html

  • Moduli ya LCD ya I2C 20x4

    www.dfrobot.com/product-590.html

  • Analog RGB Ukanda wa LED

    www.dfrobot.com/product-1829.html

  • Madereva ya Magari ya Stepper ya DRV8825
  • Msomaji wa Kadi ya SD
  • NEMA17 Stepper Motors

Hatua ya 1: Vipengele

Vipengele
Vipengele
Vipengele
Vipengele
Vipengele
Vipengele

Sifa kuu ya bodi hii ni ESP32 FireBeetle Development Board ambayo inashughulikia mawasiliano yote, usomaji wa sensorer, na matokeo. Kuna madereva mawili ya stepper ambayo hudhibiti motors mbili za steppipper.

Basi ya I2C pia imevunjwa kwa matumizi na vifaa kama vile APDS9960 au LCD. Kwa kusoma joto, kuna pini zilizovunjika ili kuungana na sensorer ya DHT22, pamoja na kipinga picha cha kusoma viwango vya taa iliyoko.

Kuna msaada kwa ukanda wa taa ya analog kwenye ubao, ambayo ina MOSFET tatu juu yake kuendesha taa za LED.

Hatua ya 2: PCB

PCB
PCB
PCB
PCB
PCB
PCB
PCB
PCB

Nilianza mchakato wa muundo wa PCB kwa kuunda kwanza skimu katika Tai. Kwa kuwa sikuweza kupata maktaba ya ESP32 FireBeetle, nilitumia vichwa viwili vya pini 1x18 badala yake. Kisha, niliunda mzunguko wa usimamizi wa nguvu ambao unaweza kukubali 12v kupitia jack ya pipa ya DC na kuibadilisha kuwa 5v kwa kuwezesha sensorer na ESP32.

Baada ya mpango kukamilika, nilihamia kwenye kubuni PCB yenyewe.

Nilijua kuwa kuziba kwa pipa la DC kungekuwa karibu na mbele ya bodi, na vifaa vya kutuliza umeme vya 100uF vinahitajika kuwa karibu na pembejeo za nguvu za dereva wa gari. Baada ya kila kitu kuwekwa, nilianza kufuata njia.

Wakati Oshpark inafanya PCB bora, bei zao ni kubwa sana. Kwa bahati nzuri, PCBGOGO.com pia hufanya PCB kubwa kwa bei rahisi. Niliweza kununua PCB kumi kwa $ 5 tu, badala ya kulipa $ 52 kwa bodi tatu tu kutoka Oshpark.com.

Hatua ya 3: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano

Kwa ujumla, kukusanya bodi ilikuwa rahisi sana. Nilianza kwa kuuza sehemu zilizowekwa juu ya uso, na kisha kuambatisha kontakt jack na mdhibiti. Ifuatayo, niliuza kwenye vichwa vya pini kwa vifaa kama vile madereva ya gari na FireBeetle.

Baada ya kumaliza kumalizika, nilijaribu bodi kwa mzunguko mfupi kwa kuweka multimeter katika hali ya kupima upinzani na kuona ikiwa upinzani ulikuwa juu ya kiwango fulani. Bodi ilipita, kwa hivyo niliweza kuziba kila sehemu.

Hatua ya 4: Muhtasari wa Programu

Nilitaka nambari ya bodi hii iwe ya kawaida na rahisi kutumia. Hii ilimaanisha kuwa na madarasa kadhaa ambayo hushughulikia kazi maalum, pamoja na darasa kubwa la kufunika ambalo linachanganya ndogo.

Hatua ya 5: Pembejeo

Pembejeo
Pembejeo
Pembejeo
Pembejeo
Pembejeo
Pembejeo

Kwa kushughulikia pembejeo, niliunda darasa linaloitwa "Hub_Inputs", ambayo inaruhusu kitovu cha nyumbani kuwasiliana na APDS9960, pamoja na kuunda na kusimamia vifungo na viunganishi vya kugusa vya capacitive. Inayo kazi zifuatazo:

Unda kitufe

Pata ikiwa kifungo kimesisitizwa

Pata idadi ya waandishi wa habari

Pata ishara ya hivi karibuni

Pata thamani ya kugusa inayofaa

Vifungo vinahifadhiwa kama muundo, na sifa tatu: imesisitizwa, waandishi wa nambari, na pini. Kila kitufe, kilipoundwa, kimeambatanishwa na usumbufu. Usumbufu huo unaposababishwa, Utaratibu wa Huduma ya Kukatiza (ISR) hupitishwa kwa kitufe cha kitufe (kilichopewa kama anwani ya kumbukumbu yake katika safu ya vifungo) na kuongeza idadi ya vitufe vya vifungo, pamoja na kusasisha thamani ya_i-imesisitizwa ya Boolean.

Thamani za kugusa zenye uwezo ni rahisi zaidi. Zinarudishwa kwa kupitisha pini ya kugusa kwenye kazi ya touchRead ().

Ishara ya hivi karibuni inasasishwa kwa kupigia kura APDS9960 na kuangalia ikiwa ishara yoyote mpya imegunduliwa, na ikiwa mtu amegunduliwa, weka ubadilishaji wa ishara ya kibinafsi kwa ishara hiyo.

Hatua ya 6: Matokeo

Matokeo
Matokeo
Matokeo
Matokeo
Matokeo
Matokeo

Kitovu cha nyumba mahiri kina njia kadhaa za kutoa habari na kubadilisha taa. Kuna pini zinazovunja basi ya I2C, ikiruhusu watumiaji waunganishe LCD. HADI sasa, ukubwa mmoja tu wa LCD unasaidiwa: 20 x 4. Kwa kutumia kazi "hub.display_message ()", watumiaji wanaweza kuonyesha ujumbe kwenye LCD kwa kupitisha kitu cha kamba.

Kuna pia kichwa cha pini cha kuunganisha kamba ya LED za Analog. Kuita kazi "kitovu.set_led_strip (r, g, b)", inaweka rangi ya ukanda.

Motors mbili za stepper zinaendeshwa kwa kutumia jozi ya bodi za dereva za DRV8825. Niliamua kutumia maktaba ya BasicStepper kushughulikia udhibiti wa magari. Wakati bodi imeinuliwa, vitu viwili vya stepper vinaundwa, na motors zote zinawezeshwa. Ili kukanyaga kila gari, kazi ya "hub.step_motor (motor_id, hatua)" inatumiwa, ambapo id id motor ni 0 au 1.

Hatua ya 7: Kuingia

Kukata miti
Kukata miti
Kukata miti
Kukata miti
Kukata miti
Kukata miti

Kwa sababu bodi ina sensorer kadhaa, nilitaka uwezo wa kukusanya na kuweka data ndani.

Kuanza kuingia, faili mpya imeundwa na "hub.create_log (jina la faili, kichwa)", ambapo kichwa hutumiwa kutengeneza safu ya faili ya CSV inayoashiria nguzo. Safu ya kwanza daima ni muhuri wa saa katika Saa ya Siku ya Mwezi wa Mwaka: Min: Sec format. Ili kupata wakati, kazi ya hub.log_to_file () inapata wakati na msingi_functions.get_time () kazi. Muda wa tm kisha hupitishwa kwa kurejelewa katika kazi ya ukataji miti, pamoja na data na jina la faili.

Hatua ya 8: Buzzer

Buzzer
Buzzer

Bodi ya IoT ni nzuri nini ikiwa huwezi kucheza muziki? Ndio sababu nilijumuisha buzzer na jukumu la kucheza sauti. Kuita "hub.play_sounds (melody, muda, urefu)" huanza kucheza wimbo, na wimbo ukiwa safu ya masafa ya maandishi, muda kama safu ya muda wa maandishi, na urefu kama idadi ya noti.

Hatua ya 9: Ushirikiano wa IOT wa nje

Ushirikiano wa IOT wa nje
Ushirikiano wa IOT wa nje
Ushirikiano wa IOT wa nje
Ushirikiano wa IOT wa nje
Ushirikiano wa IOT wa nje
Ushirikiano wa IOT wa nje

Kitovu kwa sasa kinasaidia vibohozi vya IFTTT. Wanaweza kusababishwa na kupiga Hub_IoT.publish_webhook (url, data, tukio, ufunguo) au Hub_IoT.publish_webhook (url, data) kazi. Hii hutuma ombi la POST kwa URL iliyopewa na data hiyo iliyoambatanishwa, pamoja na jina la tukio ikiwa ni lazima. Kuanzisha mfano wa ujumuishaji wa IFTTT, kwanza tengeneza applet mpya. Kisha chagua huduma ya wavuti inayosababisha ombi linapopokelewa.

Ifuatayo, piga hafla hiyo "high_temp" na uihifadhi. Kisha, chagua huduma ya Gmail kwa sehemu ya "Hiyo", na uchague chaguo "Tuma barua pepe kwangu". Katika usanidi wa huduma, weka "Joto ni kubwa!" kwa somo, na kisha nikaweka "Joto lililopimwa la {{Value1}} kwa {{OccurredAt}}", ambayo inaonyesha joto la kipimo na wakati tukio liliposababishwa.

Baada ya kuiweka, weka tu URL ya wavuti ambayo imetengenezwa na IFTTT, na kuweka "high_temp" katika sehemu ya tukio.

Hatua ya 10: Matumizi

Matumizi
Matumizi
Matumizi
Matumizi
Matumizi
Matumizi
Matumizi
Matumizi

Ili kutumia Smart Home Hub, piga simu tu kazi zozote zinazohitajika katika usanidi wowote () au kitanzi (). Tayari nimeweka mfano simu za kazi, kama kuchapisha wakati wa sasa na kupiga tukio la IFTTT.

Hatua ya 11: Mipango ya Baadaye

Mfumo wa Smart Home Hub hufanya kazi vizuri sana kwa kazi rahisi za nyumbani na ukusanyaji wa data. Inaweza kutumika kwa karibu kila kitu, kama vile kuweka rangi ya ukanda wa LED, kufuatilia hali ya joto ya chumba, kuangalia ikiwa taa imewashwa, na miradi mingine yote inayowezekana. Katika siku zijazo, ningependa kupanua utendaji hata zaidi. Hii inaweza kujumuisha kuongeza webserver yenye nguvu zaidi, upangiaji wa faili wa ndani, na hata Bluetooth au mqtt.

Ilipendekeza: