Orodha ya maudhui:
- Hatua ya 1: Kupata Kifurushi cha Programu-jalizi kilichopakiwa
- Hatua ya 2: Kupata Takwimu kwenye Sensorer
- Hatua ya 3: Kumaliza Kugusa
- Hatua ya 4: Kuitumia katika Muktadha Mkubwa
- Hatua ya 5: Maneno ya Kufunga
Video: FlowerCare na Nymea Kuokoa Mimea Yangu: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Kupata mikono chafu kwa kuunganisha sensorer za utunzaji wa mimea kwa nyumba yangu iliyopo wazi ya chanzo. Njia ya maendeleo ya programu-jalizi kwa nymea.
Hadithi
Kama wachekeshaji wengine wengi na wadukuzi, mimi pia nina shida kutokana na suala kwamba utapeli juu ya vitu huchukua muda wangu mwingi hivi kwamba mara kwa mara nimesahau kumwagilia mimea yangu. Baada ya Monstera Deliciosa yangu kuugua tena udongo kavu, niliamua kuona ikiwa ninaweza kufanya kitu juu yake kunikumbusha wakati iko na kiu.
Utafiti wa haraka kwenye wavuti ulileta umakini wangu kwa Xiaomi FlowerCare, pia inajulikana kama MiCare au PlantCare. Ni kifaa cha Nishati ya Chini ya Bluetooth na utafiti wa kimsingi ulifunua kwamba itifaki yake inaonekana kuwa rahisi kuelewa. Wakati Xiaomi haionekani kutoa vielelezo vyovyote vya umma, kumekuwa na uhandisi wa nyuma kwenye wavuti kwa kifaa hiki bado. Kwa hivyo niliamua kuagiza moja ya hizo.
Siku chache baadaye ilifikishwa na kwa kweli nilianza kucheza nayo mara moja. Niliangalia kwa kifupi programu inayokuja nayo lakini kama unaweza kudhani, kuitumia katika usanidi wake chaguomsingi haikuwa mpango wangu kamwe. Kwa kweli hii inahitaji kuunganishwa na usanidi wangu uliopo wa nyumba. Kama ilivyoelezewa hapa ninatumia nymea kama suluhisho langu la nyumba nzuri (Ndio, unaweza hata kuona Monstera katika moja ya picha hapo:)). Kwa kusikitisha, nymea haikuunga mkono sensorer hiyo kwa hivyo kurusha IDE ilikuwa sawa.
Hatua ya 1: Kupata Kifurushi cha Programu-jalizi kilichopakiwa
Kwa hivyo jambo la kwanza nililofanya ni kunakili programu-jalizi iliyopo ya Texas Instruments Sensor Tag, ilionekana sawa sawa na ile ambayo nilifikiri inapaswa kufanya kazi kwa kifaa cha FlowerCare pia. Baada ya kubadilisha jina la kimsingi la vitu kwenye plugininfo.json na kutoa maoni mbali zaidi ya nambari ya programu-jalizi ya sensortag nilikuwa tayari kupakia kijiko kipya cha programu-jalizi.
Kama inavyotarajiwa, ugunduzi tayari ungeonyesha kihisi mara moja na kuniruhusu niongeze kwenye mfumo. Kwa kweli haingeweza kutoa data yoyote ya maana kwa wakati huu.
Hatua ya 2: Kupata Takwimu kwenye Sensorer
Kama ilivyo na kifaa chochote cha Bluetooth LE, jambo la kwanza unalotaka kufanya ni kujua juu ya huduma zinazotoa na sifa zao. Mahali fulani hapo data halisi imefichwa. Kwa kuchapisha utatuzi haraka juu ya huduma zote zilizogunduliwa na kuchapisha sifa zao nilikuwa mahali ambapo ningeweza kulinganisha habari niliyoipata kwenye mtandao na kile kifaa kinaripoti kweli.
utupu FlowerCare:: onServiceDiscoveryFinished () {BluetoothLowEnergyDevice * btDev = static_cast (mtumaji ()); qCDebug (dcFlowerCare ()) << "wana huduma ya uuids"
Toleo la firmware na kiwango cha betri kilikuwa rahisi. Tayari nilikuwa naweza kuona maadili kulingana na yaliyochapishwa katika jaribio hili la kwanza la kuorodhesha data. Maadili halisi ya sensorer yamefichwa kidogo ndani, lakini kuichanganya na data kutoka kwa wavuti mara moja ilielekeza wapi kuipata na haswa jinsi ya kuisoma.
utupu FlowerCare:: onSensorServiceCharacteristicRead (const QLowEnergyCharacteristic & characteristic, const QByteArray & value) {qCDebug (dcFlowerCare ()) << "Characteristic read" << QString:: number (characteristic.handle (), 16) temp; ruka qint8; mkondo >> ruka; quint32 lux; mkondo >> lux; unyevu wa qint8; mkondo >> unyevu; uzazi wa qint16; mkondo >> uzazi; toa kumaliza (m_batteryLevel, 1.0 * temp / 10, lux, unyevu, uzazi); }
Kuweka hii pamoja, programu-jalizi tayari ilianza kutoa data yenye maana.
Hatua ya 3: Kumaliza Kugusa
Kwa hivyo ilifanya kazi sasa, hata hivyo, toleo moja bado lilikuwa limebaki hapo. Sensor ya FlowerCare ingekuwa, kinyume na SensorTag ya Texas Instruments, itashuka muunganisho wa Bluetooth baada ya sekunde chache. Kuzingatia kesi ya utumiaji, hii haionekani kuwa suala kwani inaaminika kabisa kujibu majaribio ya unganisho. Kwa kuwa kawaida mmea hainyeshi lita moja ya maji ndani ya dakika, lakini badala ya siku, haionekani kuwa ya lazima kuendelea kushikamana kila wakati. Pia hii ingeweza kumaliza betri sana. Kwa hivyo niliamua kuongeza PluginTimer ambayo ingeunganisha tena sensor kila dakika 20 na itafute data kutoka kwake. Ikiwa, kwa sababu fulani, sensor haitajibu jaribio la unganisho, nambari itaanza kipima muda kingine ambacho kinajaribu kuunganisha kila dakika kutoka hapo hadi hapo itaweza kupata data. Kisha ingeweza kurudi kuchukua data kwenye muda wa dakika 20 tena. Ikiwa kifaa kinashindwa kuungana mara mbili mfululizo (ikimaanisha, baada ya dakika 20 + 1), ingewekwa alama nje ya mtandao kwenye mfumo na mtumiaji anaweza kufahamishwa juu yake.
batili DevicePluginFlowercare:: onPluginTimer () {foreach (FlowerCare * flowerCare, m_list) {if (--m_refreshMinutes [flowerCare] <= 0) {qCDebug (dcFlowerCare ()) << "Refresh" address (); mauaCare-> refreshData (); } mwingine {qCDebug (dcFlowerCare ()) << "Haifurahishi" anwani () << "Pumzika tena katika" << m_refreshMinutes [flowerCare] << "dakika"; } // Ikiwa tulikuwa na majaribio 2 au zaidi yaliyoshindwa ya unganisho, weka alama kuwa imekatika ikiwa (m_refreshMinutes [flowerCare] <-2) {qCDebug (dcFlowerCare ()) << "Imeshindwa kuonyesha upya kwa" << (m_refreshMinutes [flowerCare] * -1) <setStateValue (flowerCareConnectedStateTypeId, uwongo); }}}
Kwa mkakati huu nymea sasa ilionekana kutoa data ya kuaminika kabisa kutoka kwa sensa hii.
Hatua ya 4: Kuitumia katika Muktadha Mkubwa
Kupata tu maadili kutoka kwa sensa sio muhimu sana ingawa, ningeweza pia kutumia programu asili kwa hiyo. Sasa wacha tufanye mambo mazuri nayo.
Nymea inasaidia kutuma arifa za kushinikiza, ama kwa simu zilizo na nymea: programu iliyosanikishwa, au kupitia PushBullet. Kwa hivyo jambo la dhahiri kufanya ni kujipatia arifa za kushinikiza wakati wowote unyevu wa mchanga unapoanguka chini ya 15%. Ni rahisi kuweka hiyo kwenye programu. Kama sharti unahitaji akaunti katika nymea: wingu au kwenye PushBullet. Kwa nymea: arifa za kushinikiza kwa wingu inatosha kuwezesha nymea: wingu kwenye nymea: msingi na katika nymea: programu. Mara tu wawili wanapounganishwa, jambo la arifa litaonekana moja kwa moja. Kwa PushBullet ongeza kitu kipya kwenye mfumo, utapata PushBullet kwenye orodha hapo. Itakuuliza ufunguo wa API unayopata wakati wa kujisajili na PushBullet. Mara tu unapokuwa na taarifa ya kushinikiza katika nymea, unaweza kuunda sheria.
Kwa kweli unaweza kufanya chochote kingine unachotaka… Inaweza pia kuwasha taa ili kuonyesha maadili ya sensa, au tumia programu-jalizi ya kamanda wa HTTP kuchapisha maadili ya seva kwenye wavuti kwa mfano. Sina valve ya maji ambayo inaweza kudhibitiwa kwa dijiti (bado) lakini kwa kweli, ikiwa unayo kitu kama hicho na haijaungwa mkono na nymea bado, na kuongeza programu-jalizi kwa hiyo itakuwa sawa na hii.
Hatua ya 5: Maneno ya Kufunga
Programu-jalizi ya utunzaji wa maua imekubaliwa mto kwa sasa na ikiwa unayo moja wapo tayari iko tayari kutumiwa na nymea sasa. Walakini, natumahi nakala hii inaweza kuwa ya kupendeza ikiwa mtu anataka kuongeza msaada kwa vifaa vingine. Inapaswa kuwa safari ya jinsi ya kujenga programu-jalizi yako kwa nymea.
Ikiwa unataka kujenga usanidi huu nyumbani kwako, unachohitaji ni sensa ya Maua, Raspberry Pi, picha ya jamii ya nymea (inajumuisha programu-jalizi ya utunzaji wa maua kwa sasa), na nymea: programu ambayo inapatikana katika duka za programu. Pia, hadi sasa Monstera Deliciosa yangu anafurahi tena na kama unavyoweza kuona kwenye viwambo vya skrini, nimepata moja ya sensorer hizo kufuatilia afya ya mti wangu wa limao pia. Kwa hiyo mimi ninajitumia arifu ya kushinikiza wakati wowote inapoganda nje ili niweze kuileta wakati wa baridi salama.
Ilipendekeza:
Jinsi ya Kuunda Mfuatiliaji wa mimea na Arduino: Hatua 7
Jinsi ya Kuunda Ufuatiliaji wa mimea na Arduino: Katika mafunzo haya tutajifunza jinsi ya kugundua unyevu wa mchanga kwa kutumia sensa ya unyevu na kuwasha LED ya kijani ikiwa kila kitu ni sawa na OLED Onyesha na Visuino. Tazama video
Jinsi ya Kujenga Mfumo wa Umwagiliaji wa Mimea Kutumia Arduino: Hatua 7
Jinsi ya Kuunda Mfumo wa Umwagiliaji wa Mimea Kutumia Arduino: Katika mafunzo haya tutajifunza jinsi ya kutengeneza Mfumo wa Kumwagilia Mimea Kutumia sensa ya unyevu, pampu ya maji na kuwasha LED ya kijani ikiwa kila kitu ni sawa na OLED Onyesha na Visuino. Tazama video
Ufuatiliaji wa mimea ya ndani ya Smart - Jua Wakati Mmea Wako Unahitaji Umwagiliaji: Hatua 8 (na Picha)
Ufuatiliaji wa mimea ya ndani ya Smart - Jua Wakati mmea wako unahitaji kumwagilia: Miezi michache iliyopita, nilitengeneza fimbo ya ufuatiliaji unyevu wa udongo ambayo ina nguvu ya betri na inaweza kukwama kwenye mchanga kwenye sufuria ya mmea wako wa ndani kukupa habari muhimu juu ya mchanga kiwango cha unyevu na taa za mwangaza kukuambia wakati wa
Skena ya Ciclop 3d Njia yangu kwa Hatua: Hatua 16 (na Picha)
Skana ya Ciclop 3d Njia Yangu Hatua kwa Hatua: Halo wote, nitatambua skana maarufu ya Ciclop 3D. Hatua zote ambazo zimeelezewa vizuri kwenye mradi wa asili hazipo. Nilifanya marekebisho kurahisisha mchakato, kwanza Ninachapisha msingi, na kuliko mimi kudhibiti PCB, lakini endelea
Kinanda yangu Mikono yangu: Hatua 8 (na Picha)
Kinanda yangu Mikono yangu: Nilitumia kipiga kipya kipya cha laser ya Epilog ambayo Instructables hivi karibuni ilipata laser etch picha ya mikono yangu kwenye kibodi yangu ya mbali … kabisa. Sasa hiyo ni kufutilia mbali udhamini wako kwa mtindo wa DIY! Nimepiga laser kwa kompyuta ndogo zaidi kuliko nyingi tangu nisaidie