Мазмуну:
- 1 -кадам: Plugin Stub Loaded алуу
- 2 -кадам: сенсор боюнча маалыматтарды табуу
- 3 -кадам: Тийиштерди бүтүрүү
- 4 -кадам: Аны чоң контекстте колдонуу
- 5 -кадам: Жыйынтыктоочу сөздөр
Video: FlowerCare жана Nymea менин өсүмдүктөрүмдү куткаруу үчүн: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Өсүмдүктөргө кам көрүү сенсорлорун учурдагы ачык булактуу акылдуу үйүмө туташтырууда колум кир. Nymea үчүн плагиндерди иштеп чыгуунун жолдору.
Окуя
Башка көптөгөн шылуундар жана хакерлер сыяктуу эле, мен дагы көйгөйлөрдөн жапа чегип жатам, нерселерди бузуу менин убактымдын көп бөлүгүн талап кылат, кээде мен өсүмдүктөрүмдү сугарууну унутам. Менин Monstera Deliciosa дагы бир жолу кургак топурактан жапа чеккенден кийин, мен суусап турганда мага эскертүү үчүн бул жөнүндө бир нерсе кыла аламбы деп чечтим.
Желедеги ыкчам изилдөө менин көңүлүмдү MiCare же PlantCare деп аталган Xiaomi FlowerCareге бурду. Бул Bluetooth Low Energy түзмөгү жана кээ бир негизги изилдөөлөр анын протоколун түшүнүү абдан оңой көрүнгөнүн көрсөттү. Xiaomi эч кандай ачык мүнөздөмөлөрдү бербесе дагы, интернетте бул түзмөк үчүн бир аз тескери инженерия бар. Ошондуктан мен алардын бирине заказ кылууну чечтим.
Бир нече күндөн кийин ал жеткирилди жана, албетте, мен аны менен ойноп баштадым. Мен аны менен келген колдонмону кыскача текшерип көрдүм, бирок сиз болжогондой, аны демейки жөндөөлөрүндө колдонуу менин планымда болгон эмес. Албетте, бул менин учурдагы акылдуу үй орнотуулары менен интеграцияланышы керек. Ошондой эле бул жерде сүрөттөлгөндөй, мен nymeaны акылдуу үйүмдүн чечими катары колдонуп жатам (Ооба, ал жактагы сүрөттөрдүн биринде Monstera -ды байкаса болот:)). Тилекке каршы, nymea бул сенсорду колдогон жок, андыктан кээ бир IDEди күйгүзүү ирети менен болду.
1 -кадам: Plugin Stub Loaded алуу
Ошентип, мен кылган биринчи нерсе, учурдагы Texas Instruments Sensor Tag плагинин көчүрүү болду, мен FlowerCare түзмөгүндө да иштеши керек деп ойлогондой окшош көрүндү. Plugininfo.json ичиндеги нерселердин негизги аталышын өзгөрткөндөн кийин жана sensortag плагининин көпчүлүк коддорун комментарийлегенден кийин, мен жаңы плагин стубун жүктөөгө даяр болчумун.
Күтүлгөндөй, ачылыш сенсорду дароо көрсөтүп, системага кошууга мүмкүндүк берет. Албетте, бул учурда эч кандай маанилүү маалыматтарды бербейт.
2 -кадам: сенсор боюнча маалыматтарды табуу
Бардык Bluetooth LE түзмөктөрүндөй эле, биринчи кезекте сиз сунуштаган кызматтар жана алардын мүнөздөмөлөрү жөнүндө билгиңиз келет. Бир жерде чыныгы маалыматтар жашырылган. Бардык табылган кызматтарды оңдоп, алардын мүнөздөмөлөрүн басып чыгаруу менен мен интернеттен тапкан маалыматты түзмөктүн отчеттору менен салыштыра алам.
жараксыз FlowerCare:: onServiceDiscoveryFinished () {BluetoothLowEnergyDevice *btDev = static_cast (sender ()); qCDebug (dcFlowerCare ()) << "тейлөө uuids бар"
Камтылган программанын версиясы жана батарейканын деңгээли оңой эле. Мен маалыматтарды тизмектөөнүн эң биринчи аракетинде басылган баалуулуктарды көрө алдым. Чыныгы сенсор баалуулуктары ал жерде бир аз тереңирээк катылган, бирок аны интернеттен алынган маалыматтар менен бириктирип, аны кайдан табуу керектигин жана өзгөчө кантип окуу керектигин көрсөтүштү.
жараксыз FlowerCare:: onSensorServiceCharacteristicRead (const QLowEnergyCharacteristic & мүнөздөмөсү, const QByteArray & value) {qCDebug (dcFlowerCare ()) << "Мүнөздөмө окуу" << QString:: саны (мүнөздөмө.колго (), 16) темп; qint8 skip; агым >> өткөрүп жиберүү; quint32 lux; агым >> lux; qint8 нымдуулугу; агым >> нымдуулук; qint16 төрөт; агым >> түшүмдүүлүк; чыгаруу бүттү (m_batteryLevel, 1.0 * temp / 10, lux, нымдуулук, түшүмдүүлүк); }
Муну бириктирип, плагин эмитен эле маанилүү маалыматтарды чыгара баштады.
3 -кадам: Тийиштерди бүтүрүү
Ошентип, ал азыр иштеди, бирок, бир маселе дагы эле ошол жерде калды. FlowerCare сенсору, тескерисинче, Texas Instruments SensorTag, Bluetooth байланышын бир нече секунддан кийин үзүп салмак. Колдонуу учурун эске алганда, бул маселе эмес окшойт, анткени ал байланыш аракеттерине жооп берүүдө ишенимдүү. Адатта, өсүмдүк бир нече мүнөттүн ичинде бир литр сууну сорбостугун, бирок, тескерисинче, күндөрдө, дайыма туташып туруунун зарылдыгы жоктой көрүнөт. Ошондой эле бул батарейканы бир топ сарптайт. Ошентип, мен сенсорду 20 мүнөт сайын кайра туташтырып, андан маалыматтарды ала турган PluginTimer кошууну чечтим. Эгерде кандайдыр бир себептерден улам сенсор туташуу аракетине жооп бербесе, анда код башка таймерди баштайт, ал ошол убакыттан баштап, маалыматты алганга чейин кайра туташууга аракет кылат. Андан кийин кайра 20 мүнөттүк интервал боюнча маалыматтарды алуу үчүн кайтып келет. Эгерде түзмөк эки жолу катары менен туташа албаса (20 + 1 мүнөттөн кийин), ал тутумда оффлайнда белгиленет жана колдонуучуга бул тууралуу эскертүү берилиши мүмкүн.
void DevicePluginFlowercare:: onPluginTimer () {foreach (FlowerCare *flowerCare, m_list) {if (--m_refreshMinutes [flowerCare] <= 0) {qCDebug (dcFlowerCare ()) << "Refreshing" address (); flowerCare-> refreshData (); } else {qCDebug (dcFlowerCare ()) << "Жаңылана элек" дареги () << "Кийинки жаңылоо" << m_refreshMinutes [flowerCare] << "мүнөтүндө"; } // Эгерде бизде 2 же андан көп ийгиликсиз туташуу аракети болгон болсо, аны ажыратылган катары белгилеңиз, эгерде (m_refreshMinutes [flowerCare] <-2) {qCDebug (dcFlowerCare ()) << "Жаңыртылган жок" << (m_refreshMinutes [flowerCare] *) -1) <setStateValue (flowerCareConnectedStateTypeId, жалган); }}}
Бул стратегия менен nymea азыр бул сенсордон толук ишенимдүү маалыматтарды жеткиргендей болду.
4 -кадам: Аны чоң контекстте колдонуу
Сенсордон баалуулуктарды алуу анчалык деле пайдалуу эмес, бирок мен бул үчүн түпнуска колдонмону колдонмокмун. Эми муну менен акылдуу нерселерди жасайбыз.
Nymea push эскертмелерин жөнөтүүнү колдойт, же nymea бар телефондорго: колдонмо орнотулган, же PushBullet аркылуу. Ошентип, жердин нымдуулугу 15%дан төмөн болгондо, өзүмө бир нече эскертмелерди жөнөтүү керек. Муну колдонмого орнотуу оңой. Алдын ала шарт катары сизге nymea: cloud же PushBullet боюнча эсеп керек. Nymea: булутка негизделген push эскертмелери үчүн nymea: cloud боюнча nymea: core жана nymea: колдонмосун иштетүү жетиштүү. Дароо экөө тең туташканда, автоматтык түрдө билдирме пайда болот. PushBulletке системага жаңы нерсе кошуу үчүн, сиз PushBulletти тизмеден таба аласыз. Ал сизден PushBullet менен катталып жатканда алган API ачкычын сурайт. Сизде nymea'da push билдирүүсү болгондон кийин, сиз эреже түзө аласыз.
Албетте, сиз каалаган нерсеңизди жасай аласыз… Ошондой эле сенсордун маанилерин чагылдыруу үчүн кээ бир жарыкты күйгүзсөңүз болот же HTTP командиринин плагинин колдонуп, сенсордун маанилерин интернеттеги серверге жөнөтө аласыз. санариптик түрдө көзөмөлгө алынышы мүмкүн (бирок), бирок, албетте, эгерде сизде мындай нерсе болсо жана ал nymea тарабынан колдоого алынбаса, буга плагин кошуу буга окшош болмок.
5 -кадам: Жыйынтыктоочу сөздөр
Flowercare плагини азырынча агымдын агымында кабыл алынган жана эгерде сизде алардын бири болсо, анда азыр nymea менен колдонууга даяр. Бирок, эгер кимдир бирөө башка түзмөктөргө колдоо көрсөтүүнү кааласа, бул макала кызыктырат деп үмүттөнөм. Бул nymea үчүн өзүңүздүн плагинди кантип куруу керектиги боюнча кадам болушу керек.
Эгерде сиз бул жөндөөнү үйүңүздө эле кургуңуз келсе, анда сизге FlowerCare сенсору, Raspberry Pi, nymea коомдоштугунун сүрөтү (азырынча гүлдөргө кам көрүү плагин камтылган) жана nymea: колдонмо дүкөндөрүндө жеткиликтүү. Ошондой эле, буга чейин менин Monstera Deliciosa дагы бактылуу жана сиз скриншоттордо көргөндөй, мен өзүмдүн лимон дарагымдын ден соолугуна көз салуу үчүн ошол сенсорлордун экинчисин алдым. Бул үчүн мен кышында аман -эсен алып келүү үчүн сыртта тоңуп калганда өзүмө эскертүү жөнөтүп жатам.
Сунушталууда:
АВТОМАТТЫК ТАШТАКТАРДЫ ЖАНА БИНДЕРГЕ БЕРСЕ БОЛОТ. ПЛАНЕТАНЫ КУТКАРУУ ҮЧҮН: 19 кадам (Сүрөттөр менен)
АВТОМАТТЫК ТАШТАКТАРДЫ ЖАНА БИНДЕРГЕ БЕРСЕ БОЛОТ. ПЛАНЕТАНЫ САКТОО ҮЧҮН: Баштоодон мурун, муну окуудан мурун биринчи видеону көрүүнү сунуштайм, анткени бул абдан пайдалуу. Салам, менин атым Жакып, мен Улуу Британияда жашайм. Кайра иштетүү - бул мен жашаган жерде чоң көйгөй, мен талааларда көп таштандыларды көрөм жана бул зыяндуу болушу мүмкүн. Th
Arduino Rhythm Game Controller (Менин Оюнум үчүн): 6 кадам
Arduino Rhythm Game Controller (Менин Оюнум үчүн): Бул нускамада мен бул ритм оюн контроллерин нөлдөн кантип кураарымды көрсөтөм. Бул жыгач иштетүүнүн негизги көндүмдөрүн, негизги 3d басып чыгаруу көндүмдөрүн жана негизги ширетүү көндүмдөрүн камтыйт. Сиз, балким, бул долбоорду ийгиликтүү кура аласыз, эгерде сизде мурунку нөлүңүз бар болсо
Windowsту заматта куткаруу (Windows жана Linux): 4 кадам
Экрандан тышкаркы Windowsту дароо куткаруу (Windows жана Linux): Программа экрандан жылдырылганда - балким туташпай калган экинчи мониторго - аны учурдагы мониторго жылдыруунун тез жана оңой жолу керек. Мен муну кылам -ЭСКЕРТҮҮ --- Мен купуялык үчүн сүрөттөрдү бүдөмүктөтүп койгом
Акысыз бөлүктөр үчүн DVD дискти кантип куткаруу керек: 7 кадам (сүрөттөр менен)
Акысыз бөлүктөр үчүн DVD дискти кантип куткаруу керек: Оптикалык дисктердин ичинде эмне бар экенин ойлонуп көрдүңүз беле? Мен кичинекей кезимде тетиктерди кайра иштетүү жолдорун билүү мага абдан кызыктуу болчу. жигиттер бул кенчке көрсөтүлгөн
Менин клавиатурам Менин колум: 8 кадам (Сүрөттөр менен)
Менин клавиатурам Менин колдорум: Мен жаңы Epilog лазер кескичин колдондум, ал Instructables жакында менин ноутбуктун клавиатурасына колумдун сүрөтүн лазер менен түшүрдү … биротоло. Эми бул гарантияңызды DIY стилинде жокко чыгарат