Мазмұны:

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

Бейне: Болу сенсоры: 12 қадам

Бейне: Болу сенсоры: 12 қадам
Бейне: Жүктилик 12 апта.Жүктілік дамуы.Жүкті әйел 2024, Қараша
Anonim
Болу сенсоры
Болу сенсоры

Тозатын құралдар әдетте BLE қосылған құрылғылар болып табылады. Олар MAC мекенжайы бойынша кейбір деректерді мезгіл -мезгіл жарнамалап отырады. Біз бұл деректерді сканерлеу және белгілі бір MAC мекенжайын тапқан кезде Интернет арқылы оқиғаны бастау үшін ESP қолданамыз. Бұл нақты іске асыру шамға қосылған ақылды штепсельдегі жалғыз пайдаланушыға арналған. Бірақ оны 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 -қадам: (кіріспе) Trigger орнату - бірнеше пайдаланушы

Егер сенсорға жеткілікті жақын BLE қосылған құрылғы бар кез келген адам жұмыс істейтін етіп конфигурациялағыңыз келсе, келесі қадамды өткізіп жіберіңіз. Бұл өте пайдалы, мен жеке қолданамын. Есіңізде болсын, бұл сенсорды оңай бұзуға немесе пайдалануға болады, сондықтан мен қауіпсіздік стендіне көп сенбеймін. тек практикалық үшін (яғни мен оны компьютермен іске қосуды қаламаймын, себебі ол сенсордың жанында болады).

3 -қадам: (кіріспе) Trigger орнату - шектеулі пайдаланушылар

Бұл қадам сіздің орнатылымыңызға байланысты өзгереді. Қандай құрылғылар сенсорды іске қосуы мүмкін екенін шектеу үшін сізде көптеген маршруттар бар:

- BLE MAC мекенжайы (Wi -Fi желісіндегі IP -адреске балама. Себебі бұл қауіпсіздікке кепілдік бермейді, себебі бұл модульдің нақты MAC -адресі емес. IOS құрылғыларында ол bluetooth -ды қайта қосқан сайын өзгереді, бұл соншалықты қызықты емес)

- Өндіруші коды (жақсы нұсқа, бірақ бір өндірушіден/модельден арнайы құрылғыларды шектеуге болмайды)

- Аты -жөні, UIDD қызметі (сирек, бірақ ең жақсы нұсқа, көбінесе DIY киетін бұйымдар немесе андроид қосымшасы)

Кейбір ескертулер:

1. Егер бұл iOS құрылғысы болса:

- Сізде маңызды және жағымсыз жақтар бар. Pro, олар жарнама деректері болып табылатын қуат деңгейін жібереді. Бұл калибрлеу кезеңінде пайдалы, сіз Apple Watch -ты қолданудың пайдалы екенін білесіз, себебі ол 24db, iPhone -да және көптеген құрылғыларда 12db -де таратады.

CON, сізге шешім табуға тура келеді. Жарнамаланатын MAC мекен -жайы (сәйкестендірудің негізгі әдісі) bluetooth сигналы қайта қосылған сайын өзгереді, яғни сіз кодты әр уақытта жүктеуіңіз керек … бұл қызықты емес. Сіз модельдер арасында өзгеруі мүмкін өндіруші деректерін пайдалана аласыз. Бұл «барлық iPhone 8» сезетін етіп шектеуге болатынын білдіреді.

2. Егер бұл Android құрылғысы болса:

- Менде жеке 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 құрылғысы *міндетті емес *

PlayStore (android) немесе AppStore (iOS) дүкендерінен «Smart Life» қосымшасын жүктеп алыңыз. Нұсқаулар өте қарапайым, бірақ процесс сәл күрделі. Мен сканерлеу сатысында (көк түйме жыпылықтап тұрғанда) ол бір сәтте тоқтағанын білдім, содан кейін оны екі рет қосу және өшіру үшін қолмен бастым. Бұл маған көмектесті. Қалай болғанда да; бұл штепсельдік қондырғы біздің қосымшадан еш айырмашылығы жоқ, сондықтан егер сізде оның иесі болса және ол сіздің қосымшаңызға қосылған болса, сіз баруға дайын болуыңыз керек.

ЕСКЕРТУ: Сіз бұл қадамға өтпес бұрын қолданбаны қосуды және өшіруді білуіңіз керек. Бұл ақылды штепсельді дұрыс конфигурациялағаныңызды білдіреді.

IFTTT қолданбасы «Smart Life» қосымшасымен үздіксіз синхрондалуы керек, мүмкін келесі қадамда оқиға жасау кезінде аутентификация қажет.

6 -қадам: (Орнату) IFTTT Webhook Api *Тәжірибелі пайдаланушылар *

(Орнату) IFTTT Webhook Api *Тәжірибелі пайдаланушылар *
(Орнату) IFTTT Webhook Api *Тәжірибелі пайдаланушылар *

Егер сіз IFTTT қосымшасын бұрын пайдаланбаған болсаңыз және кейбір техникалық шарттар сізге онша ұнамаса, келесі қадамда Толық нұсқаулық (фотосуреттермен) үшін бұл қадамды өткізіп жіберіңіз.

1. Жаңа оқиға жасаңыз.

2. «this» параметрін webhook api етіп орнатыңыз. Оқиғаға қойған атыңызды жазыңыз.

3. «Солды» қалаған мінез -құлқыңызға қойыңыз. Ақылды розетка үшін ақылды өмірді іздеңіз және «қосу» таңдаңыз.

4. Смарт штепсельді таңдап, Finish түймесін басыңыз.

5. Негізгі экранда 'webhooks' картасын іздеңіз. Сіз оны басқаннан кейін, төменгі жағында «көбірек алу» түймесін басыңыз.

6. Құжаттарды басыңыз. Бұл сізге api кілтін, сонымен қатар URL құрушы мен тексерушіні көрсетеді.

7. No2 мекенжайы бойынша жазылған 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 -тен кез келген нәрсені таңдай аласыз. Орнатуды тексерудің жақсы әдісі - сенсор іске қосылған сайын телефонға хабарлама жіберетін «хабарландыруларды» таңдау (немесе api, тіпті веб -шолғыштан шақырылады: тестілеу үшін пайдалы!)

8. «Сол» қосу белгісін басыңыз

9. «Ақылды өмірді» (немесе «хабарландыруларды») іздеңіз.

10. «Қосу» түймесін басыңыз (сіз кеткенде өшіру үшін басқа оқиға жасау үшін осы қадамдарды қайталауыңыз қажет)

11. Егер сізде қосымшалар мен штепсельдік байланыс дұрыс конфигурацияланған болса, ашаны қай құрылғы/топ ашылмалы мәзірінде көруге болады.

12. Әрекет жасауды таңдаңыз, содан кейін аяқтаңыз.

Енді сіз оқиғаның қосылғанын көруіңіз керек. Енді біз api URL мекенжайын алуымыз керек. Бұл үшін:

13. IFTTT негізгі экранына өтіңіз

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

15. «Көбірек алуды» таңдаңыз

16. Құжаттама түймесін түртіңіз. Сіз кілтіңізбен веб -бетті көруіңіз керек.

17. «{event}» толтырғыштарында оқиғаның атын енгізіңіз (6 -тармақты есте сақтаңыз)

18. Беттің төменгі жағына өтіп, «Тексеру» түймесін басыңыз.

Сіз көруге тиіс нәрсе - бұл «оқиға басталды» деген жасыл баннер және сіз оның жұмыс істегенін немесе жұмыс істемегенін көруіңіз керек. Біздің жағдайда штепсель қосылуы керек. Немесе сіз осы жолмен жүруге шешім қабылдаған болсаңыз, сізге хабарлама керек. Біраз уақыт кетуі мүмкін, бірақ сіз мұны істегеніңізді білу үшін бір минуттан аспайды. Есіңізде болсын, бұл регистрді ескеруі мүмкін.

19. Соңында. Оқиға атауын ауыстырған URL мекенжайын көшіріңіз (17 жасында) және оны қауіпсіз жерде сақтаңыз. Бұл сізге көп ұзамай қажет болады.

20. 1-12 қайталаңыз. 6 -да біз бұл жолы «Стендті» қолданамыз. 10 -да «өшіруді» таңдаңыз.

21. Қаласаңыз, 13-18 қайталаңыз, бірақ сіз 19-да көшірілген URL-дан құтыла аласыз, бірақ қазір «Отыр» деп жазған жеріңізді өзгертіп, «Стендке» ауыстырыңыз. Сіз мұны веб -шолғышта тексере аласыз. Онда «Құттықтаймын! Сіз Stand оқиғасын өшірдіңіз '. Содан кейін штепсель өшірілуі керек.

8 -қадам: (код) ESP32 бағдарламалау

(Код) ESP32 бағдарламалау
(Код) ESP32 бағдарламалау

Егер сіз өзіңіздің эскиздеріңізді Arduino IDE -ден ESP32 тақтасына жүктеуді ыңғайлы сезінсеңіз, бұл қадамды өткізіп жіберуге болады. Қолданбаға 2 Мб бөлімді орнатуды ұмытпаңыз, кем дегенде, эскиздің салмағы әдеттегі 1,2 Мб -тан сәл асады.

Көптеген керемет оқулықтар бар, мен олардың кейбірін ұсынамын:

circuitdigest.com/microcontroller-projects…

Бірақ бәрібір, сондықтан сіз соншалықты адасқан жоқсыз, мен бірнеше маңызды түйінді бөліп беремін.

- ESP32 - Arduino тақтасы емес, бірақ оны Arduino IDE бағдарламалауға болады. Қарапайым Arduino кодымен. Дегенмен, IDE -ді ESP32 -мен жұмыс істеу үшін конфигурациялау қажет болады.

- Сізге кейбір кітапханаларды қалау бойынша 'Қосымша тақта менеджері' арқылы орнату қажет болады. Бұл URL мекенжайын қою керек:

-(міндетті емес, көмектесуі мүмкін) Құралдарда -> Кітапханаларды басқару … -> (esp BLE кітапханасын табыңыз)

- Құралдарда сізде ESP құрылғыларының ұзақ тізімі болуы керек, мен ESP32 dev модулін ұсынамын

- (МАҢЫЗДЫ) Бөлім менеджерінен (Ota 2mb қолданбасы/2mb спифтері жоқ) таңдаңыз. Бұл қадам маңызды, себебі қолданба wifi/http қосылымдарын, сондай -ақ BLE сканерін қолданудың өнімі ретінде өте ауыр болады.

Егер сіз бәрін дұрыс жасасаңыз, сіз ESP32 бағдарламасын жасай аласыз. Енді мұны істеу процесі кейбір тақталардағы ардуиноға ұқсас. Оны қосыңыз, сәйкес тақтаны, USB портын таңдаңыз және сіз аяқтадыңыз. Бірақ, басқа да көптеген жағдайларда жалғастыруға тура келеді

9 -қадам: (код) ESP32 кодын жүктеңіз

(Код) ESP32 кодын жүктеңіз
(Код) ESP32 кодын жүктеңіз

Жарайды, егер сіз осында болсаңыз, бұл сіздің эскизді ESP32 тақтасына сәтті жүктегеніңізді білдіреді, жақсырақ blink.ino эскизі.

Енді мына жерде бекітілген негізгі код бар, оны GitHub репозиторийінен де таба аласыз. Мыналарды ауыстыру қажет:

SSID - сіздің Wi -Fi атыңыз

PSK - сіздің WiFi құпия сөзіңіз

отырыңыз - Сіз бұрын жазған IFTTT api -ден «Отыр» деген URL

стенд - Сіз бұрын жазған IFTTT api -ден «Стенд» бар URL

Енді триггер құрылғысын тақтаға жақындатыңыз, содан кейін кодты жүктеңіз. Содан кейін кодты сәтті жүктегеннен кейін сериялық мониторды (baud 115200) ашыңыз.

Егер сіз мұны BLE қосылған кез келген құрылғыда қолданғыңыз келсе, келесі қадамды өткізіп жіберіңіз.

ЕСКЕРТПЕ: егер сіз жады туралы қате туралы хабарламалар алсаңыз, себебі әдепкі параметрлер ESP шикізат коды үшін тек 1 МБ жадты (4 МБ көлемінде) қалдырады. Ол эфирде бағдарламалау мүмкіндігі ретінде бірнеше нәрсеге бір бөлігін қалдырады. Мен әдетте келесі әрекеттерді жасаймын:

- Құралдарда сізде ESP құрылғыларының ұзақ тізімі болуы керек, мен бөлімдер менеджерінде ESP32 dev модулін таңдауды ұсынамын- «no Ota 2mb app/2mb spifs» таңдаңыз.

Бұл маған осы қосымшаға қажет екі еселік жад береді.

10 -қадам: (код) ESP32 -ге кодты жүктеңіз *міндетті емес *

(Код) ESP32 -ге кодты жүктеңіз *міндетті емес *
(Код) ESP32 -ге кодты жүктеңіз *міндетті емес *

Міне, «Триггерді орнату» қадамында айтылған күрделі бөлім. Монитор MAC мекенжайын шығарады (##: ##: ##: ##: ## сияқты болуы керек, мұндағы# - саннан немесе әріптен f дейін), өндіруші коды мен RSSI (теріс сан)). Бұл жерде сіздің құрылғыңыздың қайсысын табу үшін аздап ойнауға тура келеді. Мен оны әдетте тақтаның жанына қоямын, сондықтан мен олардың қайсысы ең аз екенін анық көремін. Мен мәндерді көшіру үшін «автоматты айналдыру» құсбелгісін алып тастаймын.

  • Егер бұл Mac мекенжайы болса, онымен myDevice толтырыңыз. Содан кейін No96 жолды және No95 пікірді жазыңыз
  • Егер бұл атау болса, оны 'myDevice' толтырыңыз. Содан кейін #97 жолын және #95 түсініктеме жолын жазыңыз
  • Егер бұл MaufactureData болса, сізде сәттілік жоқ, мен бұл бөлікті әлі де дамытамын.

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

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

Сәйкесінше көбірек айнымалыларды қосыңыз (myDevice1, myDevice2, myDevice3).

11 -қадам: ESP қойыңыз және калибрлеңіз

ESP қойыңыз және калибрлеңіз
ESP қойыңыз және калибрлеңіз

Бұл орнатудың ең маңызды бөлігі. Бұл процесті мұқият өту - бұл сиқыр сияқты жұмыс жасаудың немесе сізге қатты бас ауруларының берілуі арасындағы айырмашылық.

Осы сәтте сіз жүктеген код жеке тексерген параметрлермен жұмыс істейді және күнделікті телефонмен үстелімде отырады; бұл сіз үшін де жұмыс істейтінін білдірмейді. Сондықтан калибрлеуді өзіңіз жасауыңыз керек.

1. ESP32 тақтасын соңғы бекітілген жерге қойыңыз. Егер сіз қандай да бір себептермен ESP32 позициясын ауыстырсаңыз, мұны қайтадан жасауыңыз керек. Бұл сізге жақсы тәжірибе алуға мүмкіндік береді.

1. (қосымша) есте сақтаңыз, бұл кезде компьютерге қосылу қажет болады. Егер мүмкін болмасаңыз, сіз жұмыс үстелінде болғандықтан, сіз кез келген сынақ орналасу, іске қосу құрылғысы және есептеуге болатын басқа факторларға жақын болуы керек екенін есте сақтай отырып, сынақ пен қателік жасауға тура келеді.

2. Код жұмыс істеп тұрған кезде сериялық мониторды ашыңыз.

Әдепкі бойынша код табылған әрбір Bluetooth құрылғысының (немесе сіздің параметрлеріңізге сәйкес келетін құрылғылардың) RSSI (алынған сигнал күшінің көрсеткіші) сериялық мониторы арқылы жіберіледі. Негізгі әрекет құрылғысымен аздап ойнаңыз (құрылғыны іске қосыңыз). Сіз қандай шектерді қолданғыңыз келетінін анықтауыңыз керек. Бұл конфигурацияны мұқият реттеу

3. Шекті мәндерді анықтағанда оларды мына жерге ауыстырыңыз:

  • жақын_тұрыс
  • far_thrsh

4. Кодты қайта жүктеңіз, тексеріңіз және оңтайлы өнімділікті тапқанша қайталаңыз.

Қарастыруға болатын бірнеше нәрсе:

1. Шектер арасындағы айырмашылық шамамен 20 дб қажет. Near_thrsh 50 -ге орнатылған болса, far_thrsh 70 немесе одан жоғары болуы керек. Егер айырмашылық тым қысқа болса, онда сіз қашықтықты немесе тақтаның тоқтаусыз қосылатын және өшетін жерлерін таба аласыз. Бұл айырмашылықты күшейту сізге жағымсыз әрекеттен аулақ болуға мүмкіндік береді. Мен 20db маржа жеткілікті жақсы екенін жеке таптым.

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

3. Кодтың 82 -жолындағы сыныпты зерттеңіз; мұнда барлық логика орындалады. Бұл код жақсы түсіндірілген. GitHub -та сұраудан тартынбаңыз!

12 -қадам: Құттықтаймыз! Сіз Дайынсыз

Түсініктемелерде кез келген ұсыныстарды немесе проблемалар туындаса, маған хабарлаңыз. Егер сіздің мәселе шешілген болса, GitHub тексеруді ұмытпаңыз!

Ұсынылған: