Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Vipengele
- Hatua ya 2: PCB
- Hatua ya 3: Mkutano
- Hatua ya 4: Muhtasari wa Programu
- Hatua ya 5: Pembejeo
- Hatua ya 6: Matokeo
- Hatua ya 7: Kuingia
- Hatua ya 8: Buzzer
- Hatua ya 9: Ushirikiano wa IOT wa nje
- Hatua ya 10: Matumizi
- Hatua ya 11: Mipango ya Baadaye
Video: ESP32 Smart Home Hub: Hatua 11
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
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
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
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
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
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
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
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
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
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
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:
Jiwe LCD Pamoja na Smart Home: 5 Hatua
LCD ya Jiwe na Nyumba ya Smart: Leo, nimepata onyesho la gari la bandari la STONE, ambalo linaweza kuwasiliana kupitia bandari ya MCU, na muundo wa mantiki wa UI wa onyesho hili unaweza kutengenezwa moja kwa moja kwa kutumia programu ya VGUS iliyotolewa kwenye wavuti rasmi ya JIWE, ambayo ni mkutano
DIY Smart Garage kopo kopo + Home Msaidizi Ushirikiano: 5 Hatua
DIY Smart Garage Opener Opener + Ushirikiano wa Msaidizi wa Nyumbani: Geuza mlango wako wa kawaida wa karakana ukitumia mradi huu wa DIY. Nitaonyesha jinsi ya kuijenga na kuidhibiti kwa kutumia Msaidizi wa Nyumbani (juu ya MQTT) na kuwa na uwezo wa kufungua na kufunga mlango wako wa karakana. Nitatumia bodi ya ESP8266 iitwayo Wemos
Kuanza na ESP32 - Kufunga Bodi za ESP32 katika Arduino IDE - Msimbo wa Blink wa ESP32: Hatua 3
Kuanza na ESP32 | Kufunga Bodi za ESP32 katika Arduino IDE | Msimbo wa Blink wa ESP32: Katika mafundisho haya tutaona jinsi ya kuanza kufanya kazi na esp32 na jinsi ya kusanikisha bodi za esp32 kwenye Arduino IDE na tutapanga programu ya esp 32 kutumia nambari ya blink kwa kutumia ideuino ide
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 Hatua
Sonoff B1 Firmware Home Automation Openhab Google Home: Ninapenda sana firmware ya Tasmota kwa swichi zangu za Sonoff. Lakini haikufurahi sana na firmware ya Tasmota kwenye Sonoff-B1 yangu. Sikufanikiwa kikamilifu kuiunganisha katika Openhab yangu na kuidhibiti kupitia Google Home. Kwa hivyo niliandika kampuni yangu mwenyewe
Interface Honeywell Vista Alarm Na Smart Hub (Wink / Smartthings): Hatua 7 (na Picha)
Interface Honeywell Vista Alarm Na Smart Hub (Wink / Smartthings): Halo hapo! Nilitaka kutoa mafunzo mafupi juu ya jinsi nilivyopata mfumo wangu wa kengele wa Honeywell Vista uliounganishwa kwenye kitovu changu kizuri. Ninatumia Wink kwa mafunzo haya, lakini hii inapaswa kufanya kazi na kitovu chochote kizuri (Smartthings / Iris / nk.) Kabla ya kuanza, unaenda