Мазмуну:

Болуу сенсору: 12 кадам
Болуу сенсору: 12 кадам

Video: Болуу сенсору: 12 кадам

Video: Болуу сенсору: 12 кадам
Video: 12 жашка толгондо балага чоочун кишидей мамиле кыл! эмне үчүн? 2024, Ноябрь
Anonim
Болуу сенсору
Болуу сенсору

Кийилүүчү буюмдар көбүнчө BLE иштетилген түзмөктөр. Алар мезгил -мезгили менен кээ бир маалыматтарды өзүнүн MAC дареги боюнча жарнамалашат. Биз ESPти колдонуп, бул маалыматтарды сканерлеп, белгилүү бир MAC дарегин тапканда интернет аркылуу окуяны баштайбыз. Бул өзгөчө ишке ашыруу чыракка туташкан акылдуу сайгычтагы бир колдонуучу үчүн. Бирок аны IOT иштетилген бардык түзмөктөр менен катталган түзмөктөрдүн топтому менен колдонсо болот.

Жабдуулар

  1. ESP32
  2. (милдеттүү эмес) TECKIN WiFi Wall Plug S10
  3. Ар кандай BLE иштетилген түзмөк

1 -кадам: Сценарийиңизди аныктаңыз

Сценарийиңизди аныктаңыз
Сценарийиңизди аныктаңыз

Триггер үчүн сиз заманбап кийилүүчү кийимдердин көбүн колдоно аласыз. Бул Apple Watch, ми фит тобу, телефон же ESP32ге негизделген өзүңүздүн DIY кийүүчү кийимиңиз болушу мүмкүн.

Балким, эң маанилүү кадамдардын бири. Сиз 3 нерсени алдын ала ойлонушуңуз керек:

1. Кайсы кийилүүчү же шайман жакындык сенсорунун триггери болуп калат.

2. Сенсорду эмне иштетет (бул IFTTT аркылуу жасалат).

3. Качан сенсор иштей баштайт

Бул мисал үчүн, мен столдо отурганда чыракты күйгүзүү үчүн акылдуу сайгычты иштетүү үчүн Apple Watch'умду колдоном.

Бул окуу куралында биз TECKINдин акылдуу сайгычын карайбыз. Сиз Amazonдон жакшы баада таба аласыз. Ал ошондой эле Alexa жана Google Home менен шайкеш келет. Улуу баа!

2 -кадам: (Intro) Set Trigger - Бир нече колдонуучу

Эгерде сиз конфигурация кылгыңыз келсе, ал сенсорго жакын BLE иштетилген түзмөккө ээ болгон адам иштей турган болсо, кийинки кадамды өткөрүп жибериңиз. Бул абдан пайдалуу, мен жеке колдонгон жөндөө. Эсиңизде болсун, бул сенсор оңой эле бузулушу же иштетилиши мүмкүн, ошондуктан коопсуздук стендинен көп нерсеге ишенбейм; жөн гана практикалык үчүн (б.а., менин компьютерим тарабынан иштетилишин каалабайм, анткени ал сенсордун жанында дайыма болот).

3 -кадам: (Intro) Set Trigger - Чектелген колдонуучулар

Бул кадам сиздин орнотууңуздан абдан айырмаланат. Кайсы түзмөктөр сенсорду иштете аларын чектөө үчүн сизде көптөгөн жолдор бар:

- BLE MAC дареги (wifi тармагындагы IP дарегине барабар. Анын коопсуздугуна кепилдик бербеген себеби, модулдун чыныгы MAC дареги эмес. IOS түзмөктөрүндө bluetoothду өчүрүп күйгүзгөн сайын өзгөрөт, анча кызыктуу эмес)

- Өндүрүүчүнүн коду (жакшы вариант, бирок ошол эле өндүрүүчүнүн/моделдин конкреттүү түзмөктөрүн чектөөнүн эч кандай жолу жок)

- Аты -жөнү, UIDD кызматы (сейрек кездешүүчү, бирок эң жакшы вариант, негизинен DIY тагылуучу кийимдер же балким андроид колдонмосу)

Кээ бир эскертүүлөр:

1. Бул iOS түзмөгү болсо:

- Сиздин кээ бир маанилүү оң жана терс жактарыңыз бар. Pro, алар жарнак маалыматы болгон күч деңгээлин өткөрүп беришет. Бул калибрлөө баскычында пайдалуу, сиз Apple Watchты колдонуу пайдалуу экенин көрө аласыз, анткени ал 24dbде, iPhone'дордо жана көпчүлүк түзмөктөр 12dbде өткөрөт.

CON, сиз чечүүнүн жолдорун табууга туура келет. Жарнамаланган MAC дареги (идентификациялоонун негизги ыкмасы) bluetooth сигналы кайра жүктөлгөн сайын өзгөрүп турат, башкача айтканда, сиз кодду ар бир жолу жүктөөңүз керек болот … кызыктуу эмес. Сиз моделдердин ар кандай болушу мүмкүн болгон өндүрүүчүнүн маалыматын колдоно аласыз. Бул "баардык iPhone 8ди" сезиши үчүн чектей аласыз дегенди билдирет.

2. Бул Android түзмөгү болсо:

- Менде жеке андроид аппараты жок. Бирок, балким, MAC дарегин оңдой турган, же жеке аталышты кошо ала турган көптөгөн тиркемелер бар (эгер сиз каалагандай болсоңуз). IOS түзмөктөрүндө муну кыла турган "nrf connect" тиркемеси бар. Бирок туруктуу эмес, демек, эгер сиз экранды кулпуласаңыз же колдонмолорду алмаштырсаңыз.. конфигурация бир нече секундада өчөт.

3. Башка ESP32. (эң жакшы коюм)

- Ушуга окшогон жөнөкөй кодду ушул сыяктуу түзүлүшкө киргизсе болот; esp32 менен иштеген акылдуу топ. Код чындыгында BLE_IBeacon.ino ESP BLE китепканасынан мисал. Мен муну көп сынап көргөн жокмун, анткени менин акылдуу тобум жеткирип жатат, балким жакында жаңыртууларды жарыялайт.

4 -кадам: (Орнотуу) - IFTTT

(Орнотуу) - IFTTT
(Орнотуу) - IFTTT

Макул, андыктан бул этапта сиз, балким, жумуш процессинин бардык чечимдерин кабыл алышыңыз керек. Сизде иштетүүчү түзмөк бар, сизде ESPти интернетке зымсыз туташтыруу үчүн жериңиз бар жана IFTTT автоматташы мүмкүн экенин эске алыңыз.

IFTTT күчтүү; жөн гана түзмөгүңүзгө жөнөкөй билдирүү жөнөтүү үчүнбү, сиз твит жөнөтүүнү же акылдуу сайгычы бар лампочканы күйгүзүүнү каалайсыз. Бул окуу куралында биз акыркысын IFTTT менен шайкеш келген TECKIN акылдуу сайгычтары менен ишке ашырабыз. Кандай болбосун, IFTTT тиркемесин жүктөп алыңыз же веб IFTTT.com сайтына өтүп, каттоо эсебин түзүңүз.

Ал азыр андай эмес!

Эгерде сиз жөн гана эскертме же Smart Life сайгычынан башка нерсени жөнөткүңүз келсе, кийинки кадамды өткөрүп жибере аласыз.

5 -кадам: (Орнотуу) IOT Device *милдеттүү эмес *

"Smart Life" тиркемесин PlayStore (андроид) же AppStore (iOS) дан жүктөп алыңыз. Көрсөтмөлөр бир топ татаал болгону менен, түз эле. Мен сканерлөө баскычында (көк кнопка жарк этип турганда) бир убакта токтоп калганын билдим, андан кийин аны бир нече жолу күйгүзүү жана өчүрүү үчүн кол менен баскам. Бул мага жардам берди. Баары бир; бул сайгычты орнотуу биздин колдонмодон эч айырмаланбайт, андыктан эгер сизде буга чейин ээ болсоңуз жана аны колдонмоңузга туташтырсаңыз, барууга даяр болушуңуз керек.

ЭСКЕРТҮҮ: Бул кадамдан өтүүдөн мурун, колдонмодон которгучту күйгүзүп жана өчүрө алышыңыз керек. Бул сиз акылдуу сайгычты туура конфигурациялаганыңызды билдирет.

IFTTT колдонмосу "Smart Life" колдонмосу менен үзгүлтүксүз синхрондоштурулушу керек, балким кийинки кадамда иш -чара түзүүдө аутентификацияны талап кылат.

6 -кадам: (Орнотуу) IFTTT Webhook Api *Тажрыйбалуу колдонуучулар *

(Орнотуу) IFTTT Webhook Api *Тажрыйбалуу колдонуучулар *
(Орнотуу) IFTTT Webhook Api *Тажрыйбалуу колдонуучулар *

Эгерде сиз IFTTT тиркемесине чейин колдоно элек болсоңуз жана кээ бир техникалык терминдерге анча ыңгайлуу болбосоңуз, кийинки кадамда Деталдуу Колдонмого (сүрөттөр менен) өтүңүз.

1. Жаңы окуя түзүңүз.

2. "муну" webhook api кылып коюңуз. Иш -чарага койгон атыңызды жазыңыз.

3. "Ошол" дегенди каалаган жүрүм -турумуңузга коюңуз. Акылдуу плагин үчүн акылдуу жашоону издеп, "күйгүзүүнү" тандаңыз.

4. Акылдуу сайгычты тандап, бүтүрүү баскычын басыңыз.

5. Үй экранында 'webhooks' картасын издеңиз. Аны баскандан кийин, астындагы "көбүрөөк алуу" баскычын басыңыз.

6. Документтерди басыңыз. Бул сизге api ачкычыңызды жана URL түзүүчүсүн жана сыноочуңузду көрсөтөт.

7. #2ге жазган атыңыз менен де URL куруучуну колдонуңуз. Муну көчүрүп, жазып алыңыз.

8. Эгерде катышуу сенсору иштебей калганда кыймылдын башталышын кааласаңыз, кайталаңыз. Биздин учурда #3 кайталап, бирок "өчүрүү" тандаңыз. Ошондой эле, #2де аты дагы бул жолу башкача болушу керек.

Эгерде сиз бүтүрсөңүз, кийинки кадамды өткөрүп жибериңиз.

7 -кадам: (Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *

(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *
(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *
(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *
(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *
(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *
(Орнотуу) IFTTT Webhook Api *Сүрөтү менен баштагандар үчүн *

Толук гид *Сүрөт гид андроидге жана вебге окшош болушу керек *

IFTTT - бул жөнөкөй жумуш процесси, эгерде "бул болот", анда "мындай болот". Сиз жаңысын түзүшүңүз керек, 1. колдонмодо "көбүрөөк алуу" баскычын басыңыз жана тизме көрсөтүлөт.

2. Түз издөө тилкесинин астында a "өз апплеттериңизди нөлдөн бери жасаңыз" дейт, плюс белгисин басыңыз.

3. "Бул" плюс белгисин басыңыз

Биздин учурда "бул" интернет аркылуу api чалуу болот. Api чалуу - бул Google'га издөө киргизгенде жана URL google.com/(тамгалардын узун сабы) URL дарегине кайрылуу. Api түзүү үчүн: ("бул" баскандан кийин)

4. "Webhooks" издөө

5. Жалгыз вариантты тандаңыз

6. Окуяңызга ат коюңуз (бул мисалда биз "Отур" колдонобуз). Бул ысымды жазыңыз, абдан маанилүү.

7. Триггер түзүү баскычын басыңыз

Макул! Биз жакынбыз, Эми "ошол" бөлүккө. Бул үйрөткүч үчүн биз "ошону" Smart плагин күйгүзүү үчүн коебуз. Бирок сиз IFTTTден каалаган нерсени тандай аласыз. Орнотууну текшерүүнүн эң жакшы жолу - бул сенсор ишке кирген сайын телефонуңузга эскертме жөнөтө турган "эскертмелерди" тандоо (же апи веб браузерден да чакырылган: тестирлөө үчүн пайдалуу!)

8. "Ошол" плюс белгисин басыңыз

9. "Акылдуу жашоону" издөө (же "эскертмелерди")

10. 'Күйгүзүүнү' басыңыз (кеткенде өчүрүү үчүн башка иш -чараны түзүү үчүн бул кадамдарды кайталашыңыз керек болот)

11. Эгерде сизде эки тиркеме жана плагин туура конфигурацияланган болсо, анда сиз кайсы түзмөктү/группаны ылдый жагында көрүшүңүз керек.

12. Аракет түзүү тандап, анан аягына чыгарыңыз.

Эми сиз окуя туташып турганын көрүшүңүз керек. Эми биз api URL алуубуз керек. Бул үчүн:

13. IFTTT Башкы экранына өтүңүз

14. Webhooks картасын табыңыз

15. "Көбүрөөк алуу" тандоо

16. Документтер баскычын басыңыз. Сиз ачкычыңыз менен веб -баракчаны көрүшүңүз керек.

17. "{event}" толтургучтарда иш -чараңыздын атын толтуруңуз (6 -пунктту эстеп)

18. Барактын ылдый жагына өтүп, "Сыноо" баскычын басыңыз

Сиз көрүшүңүз керек болгон нерсе - "иш -чара башталды" деген жашыл баннер жана ал иштеген же иштебегенин көрүшүңүз керек. Биздин учурда сайгыч күйгүзүлүшү керек. Же сиз ошол жолго барууну чечсеңиз, эскертмени көрүшүңүз керек. Бир аз убакыт талап кылынышы мүмкүн, бирок сиз муну жасаганыңызды көрүү үчүн бир мүнөттөн ашпашы керек. Эсиңизде болсун, бул, балким, регистрге сезгич.

19. Акыры. Окуяңыздын атын алмаштырган url көчүрүңүз (17де) жана коопсуз жерге сактаңыз. Бул жакында сизге керек болот.

20. 1-12ди кайталаңыз. 6да биз бул жолу "Stand" колдонобуз. 10до анын ордуна "өчүрүүнү" тандаңыз.

21. Кааласаңыз, 13-18ди кайталаңыз, бирок сиз 19да көчүрүлгөн url менен кутула аласыз, бирок азыр "Отур" деп жазган жериңизди алмаштырып, "Стендага" алмаштырыңыз. Сиз муну веб браузерде сынап көрсөңүз болот. Анда мындай деп жазылышы керек: "Куттуктайбыз! Сиз Stand иш -чарасын өчүрдүңүз '. Андан кийин сайгыч өчүп калышы керек болчу.

8 -кадам: (Код) ESP32ди программалоо

(Код) ESP32 программалоо
(Код) ESP32 программалоо

Эгерде сиз Arduino IDEден ESP32 тактасына эскиздерди жүктөө ыңгайлуу болсо, бул кадамды өткөрүп жибере аласыз. Эскиздин салмагы 1.2 Мб кадимки чектен бир аз көбүрөөк болгондуктан, колдонмо үчүн 2 Мб бөлүүнү орнотууну унутпаңыз.

Ал жерде көптөгөн сонун сабактар бар, мен алардын айрымдарын сунуштайм:

circuitdigest.com/microcontroller-projects…

Бирок, ошентсе да, сиз анча жоголбойсуз, мен бир нече маанилүү пункттарды бөлүп берем.

- ESP32 Arduino тактасы эмес, бирок аны дагы эле Arduino IDE программаласа болот. Жөнөкөй Arduino коду менен. Бирок, дагы эле ESP32 менен иштөө үчүн IDEди конфигурациялашыңыз керек болот.

- Кээ бир китепканаларды каалоолор боюнча "Кошумча такталар менеджери" аркылуу орнотушуңуз керек. Бул сиз чапташыңыз керек болгон URL:

-(милдеттүү эмес, жардам бериши мүмкүн) Куралдарда -> Китепканаларды башкаруу… -> (esp BLE китепканасын табуу)

- Куралдарда сизде ESP түзмөктөрүнүн узун тизмеси болушу керек, мен ESP32 dev модулун сунуштайм

- (МААНИЛҮҮ) Бөлүм менеджеринен (Ota 2mb колдонмосу/2mb спифтери жок) тандаңыз. Бул кадам маанилүү, анткени колдонмо wifi/http байланыштарын, ошондой эле BLE сканерин колдонуунун натыйжасы болуп калат.

Эгер сиз баарын туура кылган болсоңуз, анда сиз ESP32 программасын программалай алышыңыз керек. Эми муну жасоо процесси кээ бир такталардагы arduinoго окшош. Аны сайыңыз, дал келген тактаны, USB портун тандаңыз жана сиз бүттүңүз. Бирок, башка көптөгөн учурларда сиз улантууга туура келет

9 -кадам: (Код) ESP32ге кодду жүктөө

(Код) ESP32ге кодду жүктөңүз
(Код) ESP32ге кодду жүктөңүз

Макул, эгер сиз бул жерде болсоңуз, анда сиз ESP32 тактасына эскизди ийгиликтүү жүктөдүңүз дегенди билдирет, эң жакшы blink.ino эскизи.

Эми, бул жерде тиркелген негизги код, аны GitHub репоунан да таба аласыз. Сиз төмөнкүлөрдү алмаштырышыңыз керек:

SSID - Сиздин wifi Атыңыз

PSK - Сиздин WiFi сырсөзүңүз

отуруу - Сиз мурда жазган IFTTT apiден "Отур" деген URL

стенд - Сиз мурда жазган IFTTT apiден "Тур" деген URL

Эми триггериңизди тактага жакын алып, анан кодду жүктөңүз. Андан кийин код ийгиликтүү жүктөлгөндөн кийин Serial Monitorду (baud 115200) ачыңыз.

Эгер сиз муну кандайдыр бир BLE иштетилген түзмөк менен колдонууну пландасаңыз, кийинки кадамды өткөрүп жибериңиз.

ЭСКЕРТҮҮ: эгерде сиз эстутум катасы жөнүндө билдирүүлөрдү алсаңыз, анын демейки жөндөөлөрү ESP чийки коду үчүн 1мб эс (4мБ ичинен) калтырат. Бул эфирде программалоо мүмкүнчүлүгү катары эки нерсеге бир бөлүгүн калтырат. Мен көбүнчө төмөнкүлөрдү жасайм:

- Куралдарда, сизде ESP түзмөктөрүнүн узун тизмеси болушу керек, мен ESP32 dev модулун сунуштайм- Бөлүм менеджеринен 'no Ota 2mb app/2mb spifs' тандоо.

Бул мага бул колдонмо үчүн керектүү эс тутумдун эки эсесин берет.

10 -кадам: (Код) ESP32ге кодду жүктөңүз *милдеттүү эмес *

(Код) ESP32ге кодду жүктөңүз *милдеттүү эмес *
(Код) ESP32ге кодду жүктөңүз *милдеттүү эмес *

Бул жерде "Триггерди орнотуу" кадамында айтылган татаал бөлүк. Монитор MAC дарегин чыгарат (##: ##: ##: ##: ## окшош болушу керек, мында# - бул сан же тамга а дан f чейин), Өндүрүүчү коду жана RSSI (терс сан). Бул жерде сиздин түзмөгүңүздүн кайсынысын табуу үчүн бир аз ойношуңуз керек. Мен көбүнчө тактанын жанына коём, андыктан эң кичине сан экенин так көрө алам. Мен баалуулуктарды көчүрүү үчүн "автоматтык түрдө жылдыруу" кутучасынан белгини алып салам.

  • Эгерде бул Mac дареги болсо, аны 'myDevice'ге толтуруңуз. Андан кийин #96 линиясын жана #95 комментарийди жазыңыз
  • Эгерде бул Аты болсо, аны 'myDevice'ге толтуруңуз. Андан кийин #97 линиясын жана #95 комментарийди жазыңыз
  • Эгерде бул MaufactureData болсо, анда сиз азырынча ийгиликке жете албай жатсаңыз, мен дагы эле ошол бөлүктү өнүктүрүп жатам.

Май түзмөктөрүнө колдоо кошуу үчүн, сиз #96 же #97деги шарттуу билдирүүнү көчүрүп, аларды бул синтаксисте жанаша жайгаштыра билишиңиз керек:

эгер ((шарт1) || (шарт2) || (шарт3)) {

Көбүрөөк өзгөрмөлөрдү кошуңуз (myDevice1, myDevice2, myDevice3).

11 -кадам: ESPти коюңуз жана калибрлеңиз

ESPти коюңуз жана калибрлеңиз
ESPти коюңуз жана калибрлеңиз

Бул орнотуунун эң маанилүү бөлүгү. Бул процесстен этияттык менен өтүү, анын сыйкырчылык сыяктуу иштеши же сизге башыңыздын катуу оорушу менен айырмаланат.

Бул жерде сиз жүктөгөн код мен жеке текшерип көргөн жана менин столумда телефонум менен күн сайын колдонгон параметрлер менен иштейт; бул силер үчүн да иштейт дегенди билдирбейт. Андыктан калибрдөөнү өзүңүз жасашыңыз керек.

1. ESP32 тактасын акыркы FIXED жерине коюңуз. Эгерде сиз кандайдыр бир себептерден улам ESP32 позицияңызды жылдырсаңыз, анда муну дагы бир жолу жасашыңыз керек. Бул жалпысынан жакшы тажрыйбаны камсыз кылат.

1. (кошумча) эсиңизде болсун, сиз муну аткарып жатканда сиздин компьютериңизге туташа алышыңыз керек. Эгерде сиз рабочий столунда болгонуңуздан улам мүмкүн болбосо, анда сыноо жана ката кетирүүгө туура келет, анткени ар бир сыноо позициялоодо, иштетүүчү түзмөктө жана башка факторлорго окшош болушу керек.

2. Ачык Serial Monitor иштеп жаткан код менен.

Демейки код ар бир табылган bluetooth түзмөгүнүн (же жөн гана сиздин параметрлерге дал келген түзмөктөрдүн) RSSI (Алынган сигналдын күчү көрсөткүчү) Сериялык Монитору аркылуу жайгаштырылат. Негизги аракет түзмөгүңүз менен бир аз ойноңуз (иштетүүчү түзмөк). Сиз колдонгуңуз келген босоголорду аныкташыңыз керек. Бул конфигурацияны кылдаттык менен тууралоо болот

3. Босоголорду аныктаганда аларды бул жерге алмаштырыңыз:

  • near_thrsh
  • far_thrsh

4. Оптималдуу иштөөнү тапмайынча кодду кайра жүктөңүз, текшериңиз жана кайталаңыз.

Бир нече нерселерди эске алуу керек:

1. Сиз чектердин ортосундагы 20dB айырмачылыкты каалайсыз. Near_thrsh 50гө коюлса, far_thrsh 70 же андан көп болушу керек. Эгерде айырма өтө кыска болсо, анда тактайдын токтобой жанган жана өчүрүлгөн жерлерин таба аласыз. Бул айырмачылыкты күчөтүү бул жагымсыз жүрүм -турумдан алыс болууну камсыз кылат. Мен жеке 20db маржа жетиштүү экенин таптым.

2. Калибрлөө тестинде реалдуу жашоо сценарийлери мүмкүн болушунча мыкты аткарууну аныктоого жардам берет.

3. Коддун 82 -сабындагы классты изилдөө; бул жерде бардык логика жасалат. Код жакшы комментарийленген да. GitHubдан сурагандан тартынбаңыз!

12 -кадам: Куттуктайбыз! Сиз Бүттүңүз

Мага кандайдыр бир сунуштардын комментарийлеринде же көйгөйлөргө туш болсоңуз, мага билдириңиз. Эгерде көйгөйүңүз чечилип калса, GitHub текшерүүнү унутпаңыз!

Сунушталууда: