Orodha ya maudhui:
- Hatua ya 1: Pata Sehemu Zote
- Hatua ya 2: Bodi ya ESP32
- Hatua ya 3: 2.8 "Onyesho la TFT la Arduino na ESP32
- Hatua ya 4: Kuunganisha Onyesho
- Hatua ya 5: Kanuni ya Mradi
- Hatua ya 6: Mawazo ya Mwisho na Maboresho
Video: ESP32 Xiaomi Hack - Pata data bila waya: Hatua 6 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Wapendwa marafiki karibu kwa mwingine anayefundishwa! Leo tutajifunza jinsi ya kupata data ambayo ufuatiliaji wa Joto na Unyevu wa Xiaomi hupitisha kwa kutumia utendaji wa Bluetooth wa bodi ya ESP32.
Kama unavyoona, ninatumia bodi ya ESP32 na onyesho la rangi ya T8 ya rangi ya 2.8. Kwenye onyesho, tunaonyesha joto na unyevu. Jambo la kupendeza ni kwamba sijaunganisha sensorer yoyote kwenye bodi ya ESP32. Ninapata joto na unyevu bila waya kutoka kwa ufuatiliaji huu wa joto wa Xiaomi na Ufuatiliaji wa Unyevu. Jinsi baridi ni kwamba! Onyesho kwenye kifaa cha Xiaomi husasishwa kila sekunde lakini ninasasisha onyesho ambalo limeunganishwa na bodi ya ESP32 kila sekunde 10 ili kuhifadhi nguvu kwenye kifaa cha Xiaomi.
Kihisi baridi cha joto cha Xiaomi na unyevu huonyesha hali ya joto na unyevu kwenye onyesho lake la LCD na pia inaweza kusambaza data hiyo kwa Vifaa vingine vya Xiaomi au programu kwa kutumia itifaki ya Bluetooth. Vifaa vinatumia betri moja ya AAA na kwa kuwa ni bidhaa ya kibiashara, maisha ya betri ya kifaa ni bora. Inaweza kudumu kwa betri moja ya AAA kwa miezi, kitu ambacho hatuwezi kufikia kwenye miradi yetu ya DIY. Wiki chache zilizopita, niligundua kuwa wavulana wengine werevu waliweza kubadilisha mhandisi itifaki ambayo Xiaomi hutumia kusambaza data kutoka kwa sensa na kufanikiwa kupata data hiyo kwa kutumia bodi ya ESP32. Kwa hivyo nilijaribu, na kama unavyoona inafanya kazi!
Hatua ya 1: Pata Sehemu Zote
Wacha tuone jinsi ya kujenga mradi huu. Tunahitaji bodi ya ESP32, onyesho la 2.8”ILI9341, joto la Xiaomi na sensorer ya unyevu, ubao wa mkate na waya zingine.
Hapa kuna viungo kadhaa kwa sehemu ambazo nitatumia katika hii inayoweza kufundishwa.
- ESP32 ▶
- 2.8 "Onyesha ▶
- Sensorer ya Xiaomi ▶
- Bodi ya mkate ▶
- Waya ▶
- Mita ya USB ▶
- Powerbank ▶
Hatua ya 2: Bodi ya ESP32
Ikiwa hauijui, chip ya ESP32 ndiye mrithi wa chip maarufu ya ESP8266 ambayo tumetumia mara nyingi huko nyuma. ESP32 ni mnyama! Inatoa cores mbili za usindikaji 32 ambazo zinafanya kazi kwa 160MHz, idadi kubwa ya kumbukumbu, WiFi, Bluetooth na huduma zingine nyingi na gharama ya karibu $ 7! Vitu vya kushangaza!
Tafadhali angalia ukaguzi wa kina ambao nimeandaa kwa bodi hii. Nimeambatanisha video kwenye hii inayoweza kufundishwa. Itasaidia kuelewa ni kwa nini chip hii itabadilisha njia tunayotengeneza vitu milele! Moja ya mambo ya kufurahisha zaidi juu ya ESP32 ni kwamba ingawa ina nguvu sana, inatoa hali ya kulala-kina ambayo inahitaji tu 10μΑ za sasa. Hii inafanya ESP32 kuwa chip bora kwa matumizi ya nguvu ndogo.
Hatua ya 3: 2.8 "Onyesho la TFT la Arduino na ESP32
Onyesho ni kubwa, na inatoa azimio la saizi 320x240. Ikilinganishwa na moja wapo ya maonyesho ninayopenda, onyesho la 1.8 Colour TFT unaweza kuona kuwa kubwa zaidi. Skrini pia inatoa utendaji wa kugusa ambayo ni bonasi iliyoongezwa na kadi ya SD nyuma. Inatumia kiolesura cha SPI, kwa hivyo unganisho na Arduino au bodi ya ESP32 ni ya moja kwa moja. Gharama ya maonyesho ni ya chini; inagharimu karibu $ 11 ambayo kwa maoni yangu ni bei nzuri kwa kile onyesho hili linatoa.
Jambo lingine kama juu ya onyesho hili ni kwamba haiji kama ngao kama onyesho la kugusa tulilokuwa tunatumia hadi sasa. Kwa njia hii, tunaweza kuunganisha onyesho kwa bodi yoyote, Arduino Pro mini, STM32, ESP8266, na ESP32. Hii ni muhimu sana kwa sababu sasa tuna onyesho la gharama nafuu ambalo tunaweza kutumia na kila bodi. Hadi sasa, onyesho la kugusa tu ambalo tunaweza kutumia na bodi hizi zilikuwa maonyesho ya Nextion ambayo ni ghali zaidi, na kusema ukweli hata kama ninayatumia mara kwa mara, siwapendi sana.
Hatua ya 4: Kuunganisha Onyesho
Kwanza, lazima tuunganishe Bodi ya ESP32 kwenye onyesho la 2.8”. Unaweza kupata skimu iliyoambatanishwa na inayoweza kufundishwa. Ninatumia bodi hii ya DOIT ESP32 ambayo ilitolewa karibu miaka miwili iliyopita. Toleo hili la bodi haipatikani tena kwani sasa kuna toleo jipya zaidi ambalo linatoa pini zaidi, hii. Sababu pekee ninayotumia toleo la zamani la bodi hiyo ni kwamba pini ya GND ya bodi imewekwa karibu na pini za SPI, upande huo huo wa bodi, ambayo inafanya urafiki wa mkate.
Baada ya kuunganisha onyesho na bodi tunaweza kuimarisha mradi. Baada ya sekunde chache, tunapokea data ya moja kwa moja kutoka kwa Kifaa cha Xiaomi kilicho karibu. Kwa kuwa kifaa hutumia Bluetooth 4 anuwai yake ni nzuri sana. Tunaweza kupata data kwa urahisi kutoka kwa umbali hadi mita 10 au zaidi! Tunaweza pia kupokea kiwango cha betri cha Kifaa cha Xiaomi lakini sionyeshi thamani hii kwenye skrini.
Ikiwa tunatumia mita hii ya USB, tunaweza kuona kwamba mchoro wa sasa wa mradi huu ni karibu 120-150 mA ukitumia onyesho hili kubwa. Ikiwa tunatumia onyesho la e-karatasi, weka bodi ya ESP32 katika hali ya usingizi mzito, na upate data kutoka kwa sensorer kila dakika chache tunaweza kufanya mradi huu kuwa wa kirafiki. Nitajaribu hii katika video ya baadaye. Mradi huu ni onyesho tu kwamba tunaweza kupata data kutoka kwa kifaa hiki bila waya.
Hatua ya 5: Kanuni ya Mradi
Wacha tuone upande wa programu hiyo.
Nambari ya mradi huo inategemea mradi huu:
Nilitumia nambari ambayo hupata data hiyo kutoka kwa kifaa cha Xiaomi na nikaunda mradi wa pekee nayo.
Katika mabadiliko haya, tunatangaza kwamba tunahitaji kupata data mpya kila sekunde 10.
#fafanua SCAN_TIME 10 // sekunde
Hapa, tunatangaza kwamba tunataka kuonyesha joto katika digrii Celsius. Ikiwa unataka kutumia mfumo wa Imperial weka tu mabadiliko haya kuwa ya uwongo.
METRIC ya boolean = kweli; // Weka kweli kwa mfumo wa metri; uwongo kwa kifalme
Katika kazi ya usanidi tunaanzisha onyesho na moduli ya Bluetooth ya bodi ya ESP32 na kisha tunachora kiolesura cha mtumiaji kwenye skrini.
usanidi batili () {
WRITE_PERI_REG (RTC_CNTL_BROWN_OUT_REG, 0); // afya detector ya brownout
tft kuanza ();
Serial. Kuanza (115200);
Serial.println ("ESP32 XIAOMI DISPLAY"); initBluetooth ();
choraUI ();
}
Ifuatayo, tunatafuta vifaa vya Bluetooth karibu kila sekunde 10. Hatuunganishi kwenye Kifaa cha Xiaomi kwani haihitajiki. Tunatafuta tu vifaa vya karibu vya nishati ya chini ya Bluetooth na tunaangalia pakiti za matangazo.
kitanzi batili () {char printLog [256]; Serial.printf ("Anza BLE scan kwa sekunde% d … / n", SCAN_TIME); Matokeo ya BLEScan foundDevices = pBLEScan-> kuanza (SCAN_TIME); hesabu ya int = foundDevices.getCount (); printf ("Hesabu ya kifaa kilichopatikana:% d / n", hesabu);
kuchelewesha (100);
}
Unyevu na maadili ya joto huhifadhiwa kwenye pakiti hizo, kwa hivyo tunahitaji kusoma tu. Baada ya kusoma maadili tunayoyaonyesha kwenye skrini. Kama kawaida, unaweza kupata kiunga cha nambari ya mradi huu katika maelezo yaliyoambatanishwa na hii inayoweza kufundishwa.
Hatua ya 6: Mawazo ya Mwisho na Maboresho
Sasa kwa kuwa tunajua jinsi ya kupata data bila waya kutoka kwa sensa hii tunaweza kujenga kituo kamili cha hali ya hewa inayotumia betri. Kwa kuwa Kifaa hiki cha Xiaomi ni bidhaa ya kibiashara, inatoa maisha mazuri ya betri. Kwa bahati mbaya, hatuwezi kufikia matumizi sawa ya betri kwenye miradi yetu bado. Kwa hivyo, nina mpango wa kutumia sensor hii kama sensorer ya nje kwa mradi wa kituo cha hali ya hewa ambayo itatumia onyesho kubwa la karatasi. Itakuwa baridi. Pia, nitaenda kutafuta vifaa vingine vilivyowezeshwa vya Xiaomi Bluetooth ambavyo tunaweza kudanganya vivyo hivyo. Endelea kufuatilia.
Ningependa kujua maoni yako kuhusu mradi huu. Je! Unaona ni muhimu kwamba tunaweza kupata data kutoka kwa vifaa vya biashara vya Bluetooth? Je! Utaenda kutumia utendakazi huu? Ningependa kusoma maoni yako kwa hivyo tafadhali weka kwenye sehemu ya maoni hapa chini. Asante!
Ilipendekeza:
Sofa ya kuchaji bila waya: Hatua 13 (na Picha)
Sofa ya kuchaji bila waya: Kulishwa waya na shida ya kuziba na kufungua simu yako unapozunguka nyumba? Sisi pia tulikuwa! Tumefanya kifuniko cha kuchaji kisichotumia waya ambacho kinatoshea vizuri kwenye mkono wako wa sofa na huchanganyika kwa usawa. Uundaji huu rahisi ni njia nzuri ya upgra
Bolt - Saa ya Usiku ya kuchaji bila waya ya DIY (Hatua 6): Hatua 6 (na Picha)
Bolt - Saa ya Usiku ya kuchaji bila waya ya DIY (Hatua 6): Chati za kushawishi (pia inajulikana kama kuchaji bila waya au kuchaji bila waya) ni aina ya uhamishaji wa nguvu ya waya. Inatumia uingizaji wa umeme ili kutoa umeme kwa vifaa vya kubeba. Matumizi ya kawaida ni Qi ya kuchaji bila waya
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino - Nrf24l01 4 Channel / 6 Kituo cha Mpokeaji wa Kituo cha Quadcopter - Helikopta ya Rc - Ndege ya Rc Kutumia Arduino: Hatua 5 (na Picha)
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino | Nrf24l01 4 Channel / 6 Channel Transmitter kipokeaji cha Quadcopter | Helikopta ya Rc | Ndege ya Rc Kutumia Arduino: Kuendesha gari la Rc | Quadcopter | Drone | Ndege ya RC | Boti ya RC, siku zote tunahitaji kipokezi na mtumaji, tuseme kwa RC QUADCOPTER tunahitaji kipitishaji na mpokeaji wa kituo 6 na aina hiyo ya TX na RX ni ya gharama kubwa sana, kwa hivyo tutafanya moja kwenye yetu
Jinsi ya Kukamata Waya (Bila Waya Stripper): 6 Hatua
Jinsi ya Kukamata Waya (Bila Waya Stripper): Hii ni njia ya kuvua waya ambayo rafiki yangu mmoja alinionyesha. Niligundua kuwa ninatumia waya kwa miradi mingi na sina waya wa waya. Njia hii ni muhimu ikiwa hauna waya wa waya na labda umevunja au uvivu sana kuipata
Hack Bodi isiyo na waya katika Kubadilisha Alarm isiyo na waya au Zima / Zima: 4 Hatua
Bofya Kengele isiyo na waya katika Kubadilisha Alarm isiyo na waya au Zima / Zima: Hivi majuzi niliunda mfumo wa kengele na kuiweka ndani ya nyumba yangu. Nilitumia swichi za sumaku kwenye milango na kuzitia ngumu kwenye dari. Madirisha yalikuwa hadithi nyingine na wiring ngumu kwao haikuwa chaguo. Nilihitaji suluhisho la wireless na hii ni