Բովանդակություն:
- Քայլ 1: Այս նախագծում օգտագործվող բաները
- Քայլ 2: Պատմություն
- Քայլ 3: Նախապատրաստում
- Քայլ 4: Կազմաձևում
- Քայլ 5: Տեղադրում
- Քայլ 6: mingրագրավորում
- Քայլ 7: Փորձարկում
- Քայլ 8: Հաջորդ քայլը
- Քայլ 9: Սխեմաներ
- Քայլ 10: Կոդ
Video: Վիրտուալ դռան կոճակ `օգտագործելով Mongoose OS և XinaBox: 10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Օգտագործելով Mongoose և որոշ xChips ՝ մենք պատրաստեցինք վիրտուալ դռան կոճակ: Անձնակազմը բզզելու ֆիզիկական կոճակի փոխարեն, նրանք այժմ կարող են դա անել իրենք:
Քայլ 1: Այս նախագծում օգտագործվող բաները
Սարքավորման բաղադրիչներ
- XinaBox CW02 x 1 Դրա փոխարեն կարող եք օգտագործել CW01- ը
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Դուք կարող եք օգտագործել IP01- ը էներգիայի համար, եթե մտադիր չեք ծրագրել ավելի շատ մոդուլներ:
- XinaBox OC03 x 1
- XinaBox XC10 x 1 «Սոսինձ», որն ամեն ինչ աշխատում է:
Softwareրագրային ապահովման ծրագրեր և առցանց ծառայություններ
Mongoose OS իսկապես հիանալի և հեշտ IoT զարգացման գործիք … և անվճար:
Քայլ 2: Պատմություն
Մեր ընդունելության ժամանակ մեր անձնակազմը պետք է աշխուժանար, ուստի որոշեցինք վերցնել մեր սեփական դեղամիջոցը և ստեղծել վիրտուալ կոճակ: Այս ծածկագիրը թույլ է տալիս Ձեզ ուղարկել RPC (Հեռակա ընթացակարգի զանգ), որը սովորական HTTP զանգի տեսք ունի ցանկացած դիտարկիչից: Մենք օգտագործում էինք Mongoose- ը, քանի որ դրա հետ աշխատելը իսկապես հեշտ և արագ է, և դրա ներկառուցված ծածկագիրը OTA (Over The Air) թարմացումն է, ինչը նշանակում է, որ մենք կարող ենք տեղադրել մեր տեխնոլոգիան և ժամանակի ընթացքում կատարելագործել որոնվածը ՝ առանց այն ծրագրավորման համար ապամոնտաժելու:
Քայլ 3: Նախապատրաստում
- Տեղադրեք Mongoose-OS: Ուղիղ առաջ, պարզապես հետևեք ձեր OS- ի այս շատ հեշտ քայլերին այստեղ ՝
- Կտտացրեք IP01- ին և CW02- ին ՝ օգտագործելով XC10 միակցիչ: Տե՛ս ստորև բերված պատկերը.
- Տեղադրեք IP01- ը ձեր USB պորտի մեջ
- Համոզվեք, որ IP01 անջատիչները գտնվում են B և DCE դիրքերում:
- Ձեր հրամանի տողից միացրեք Mongoose-OS- ը CW02- ին: Սրա նման:
CD
արտահանել MOS_PORT = bin/mos flash esp32
Կարող եք նաև պարզապես մուտք գործել վահանակ և ամեն ինչ անել այնտեղից, բայց այստեղ մենք դա անում ենք հրամանի տողից, այնպես որ աշխատանքը արագ կատարվում է: Վահանակը մտնելու համար
CD
bin/mos
Քայլ 4: Կազմաձևում
Թեև այս քայլերը կարող էին կատարվել մեկ երկար հայտարարության մեջ, մենք որոշեցինք դրանք բաժանել, և քանի որ դուք դրանք ամեն դեպքում պատճենեք և կպցրեք, թույլ տվեք հեշտացնել.
I2C կապերը սահմանեք xChips ստանդարտի վրա.
bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Միացրեք ձեր CW02- ը ձեր WiFi- ին.
bin/mos wifi
Անջատեք WiFi- ն AP ռեժիմում և կարգավորեք տիրույթի անուն, որպեսզի կարողանաք CW01- ին միանալ հյուրընկալողի անունով ՝ ճիշտ IP հասցե գտնելու փոխարեն: Սա կաշխատի միայն, եթե ՝
- Դուք անջատում եք WiFi- ն AP ռեժիմում, ինչպես մենք անում ենք ստորև:
- Կամ օգտագործեք Mac կամ տեղադրեք Bonjour- ը ձեր Windows մեքենայի վրա:
bin/mos զանգահարեք Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos call Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos call Config. Set '{"config": {"dns_sd": {"host- անունը ":" xinabox_switch "}}}
Եվ վերջապես, դուք պետք է վերագործարկեք CW02- ը, որպեսզի կազմաձևը գործի
bin/mos զանգահարեք Config. Save '{"reboot": true}'
Դրանից հետո շատ արագ դուք պետք է կարողանաք գրավել xinabox_switch.local- ը
Քայլ 5: Տեղադրում
Անջատեք IP01- ը ձեր համակարգչից և միացրեք միացում ըստ վերևի պատկերի:
Միացրեք PU01- ը (կամ եթե որոշեցիք մնալ IP01- ով) USB հոսանքի աղբյուրի մեջ: Միացրեք լարերը ձեր առկա անջատիչից զուգահեռ (թողեք դա, ամեն դեպքում) OC03- ին (բևեռականությունը նշանակություն չունի): Տես Fritzing նկարչություն:
Միացնելուց և տեսնելու համար, որ դուք իրականում խոսում եք ձեր xCW02- ի հետ, իսկ ավտոբուսը սկանավորելու մասին, որը հայտնի է որպես I2C ավտոբուս:
bin/mos --port ws: //xinabox_switch.local/rpc զանգահարել I2C. Scan
Եթե ամեն ինչ աշխատում է, և ձեր xOC03- ը ճիշտ տեղադրված է, ապա պետք է տեսնեք, որ «56» թիվը վերադարձվի: Դա OC03- ի I2C հասցեն է ՝ տասնորդական (վեցանկյունում ՝ 0x38):
Քայլ 6: mingրագրավորում
- Այժմ բացեք մանգուսը մխիթարել ռեժիմում, տես վերևում: Այն պետք է բացվի պատուհանով, որտեղ նա պահանջում է նավահանգստի համար, մուտքագրեք ՝ ws: //xinabox_switch.local/rpc
- Այն կշփվի CW02- ի հետ և կհասկանա, որ միավորն արդեն բռնկվել է և միացված է WiFi- ին, ուստի այն պարզապես կտա 3 ստուգման նշան: Փակեք պատուհանը և թարմացրեք ֆայլերի ցանկը
- Պատճենեք և տեղադրեք ստորև նշված կոդը init.js- ում և կտտացրեք պահպանել+վերագործարկել
- Ձեր միացումն այժմ ծրագրավորված է:
Քայլ 7: Փորձարկում
Դուք այժմ իրականացրել եք մեկ այլ RPC զանգ, այնպես որ ձեր տերմինալից կարող եք մուտքագրել.
bin/mos --port ws: //xinabox_switch.local/rpc զանգ Switch
… Եվ ձեր ազդանշանը պետք է տևի 2 վայրկյան: Կարող եք նաև դա անել գրեթե ցանկացած դիտարկիչից.
xinabox_switch.local/rpc/Switch
… Նույն ազդեցությամբ:
Քայլ 8: Հաջորդ քայլը
Դուք կարող եք օգտագործել ցանկացած գործիք, որը կարող է անջատել URL- ը: Ես դա անում եմ Apple Flow- ից, որը կոչվում է Workflow, որը թույլ է տալիս ինձ դա անել իմ հեռախոսից կամ որպես բարդություն իմ Apple Watch- ից, բայց այնտեղ շատ այլ տարբերակներ կան: Ահա իմ Workflow սցենարը, բայց կոդավորված IP հասցեով. Վայելեք:
Apple App: Workflow - այստեղ կոդավորված IP հասցեով
Քայլ 9: Սխեմաներ
Buzzer Circuit Տեղադրեք OC03- ը զուգահեռ առկա կոճակին:
Ներբեռնեք այստեղ:
OC03 միացում Տեղադրեք OC03- ը `առկա կոճակին զուգահեռ:
Ներբեռնեք այստեղ:
Քայլ 10: Կոդ
init.js JavaScript Այս ծրագրի ձեր հիմնական և միակ կոդը:
բեռ ('api_config.js');
բեռ ('api_gpio.js'); բեռ ('api_i2c.js'); բեռ ('api_net.js'); բեռ ('api_sys.js'); բեռ ('api_timer.js'); բեռ («api_rpc.js»); թող led = Cfg.get ('pins.led'); թող adr = 0x38; թող ավտոբուս = I2C.get (); I2C.writeRegB (ավտոբուս, adr, 3, 0); I2C.writeRegB (ավտոբուս, adr, 1, 0); / * անջատել պարզապես վստահ լինելու համար */ թող հետաձգել = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler («Փոխարկիչ», գործառույթ (args) {GPIO.toggle (led); I2C.writeRegB (ավտոբուս, adr, 3, 0); / * այն դեպքում, երբ OC03- ը նորից միանա * / I2C.writeRegB (ավտոբուս, adr, 1, 1); Timer.set (ուշացում, կեղծ, գործառույթ () {GPIO.toggle (led); I2C.writeRegB (ավտոբուս, adr, 1, 0);}, null); վերադարձնել ճշմարիտ;});
Խորհուրդ ենք տալիս:
Պատվերով դռան գորգը դրդեց դռան զանգը. 6 քայլ
Պատվերով դռան գորգը դրդեց դռան զանգը: Բարև: Իմ անունը inասթին է, ես ավագ դպրոցում կրտսեր եմ, և այս Instructable- ը ցույց կտա ձեզ, թե ինչպես կարելի է դռան զանգ պատրաստել, որը հրահրվում է, երբ ինչ-որ մեկը դիպչում է ձեր դռան գորգին և կարող է լինել ցանկացած մեղեդի կամ երգ: Քանի որ դռան ներքնակը խթանում է դուռը
Լոնդոնի մետրոյի հոբելյանական գծի դռան կոճակ կոտրելը. 12 քայլ (նկարներով)
Լոնդոնի մետրոյի հոբելյանական գծի դռան կոճակ կոտրելը. Լոնդոնի տրանսպորտային թանգարանի խանութը վաճառում է հոբելյանական գծից ապամոնտաժված դռների կոճակներ (առկա են ինչպես ձախ, այնպես էլ աջ): Եթե դուք մտածում եք իրականացնել այնպիսի նախագիծ, որին անհրաժեշտ է ինչ -որ տեսակի կոճակ և ցուցիչ լույս, դուք կլինեիք
Ձեր լարային դռան զանգը դարձրեք խելացի դռան զանգ IFTTT- ով ՝ 8 քայլ
Ձեր լարային դռան զանգը վերածեք խելացի դռան զանգի IFTTT- ով. WiFi դռան զանգը ձեր առկա լարային դռան զանգը վերածում է խելացի դռան զանգի: https://www.fireflyelectronix.com/product/wifidoor
Ձեր լարային դռան զանգը վերածեք խելացի դռան զանգի ՝ տան օգնականի միջոցով. 6 քայլ
Դարձրեք ձեր լարային դռան զանգը խելացի դռան զանգի ՝ տնային օգնականի միջոցով. Դարձրեք ձեր առկա լարային դռան զանգը խելացի դռան զանգի: Ստացեք ծանուցում ձեր հեռախոսի համար կամ զուգակցեք ձեր առջևի դռնփակ տեսախցիկի հետ ՝ լուսանկար կամ տեսազանգ ստանալու համար, երբ որևէ մեկը զանգի ձեր դռան զանգին: Իմացեք ավելին ՝ fireflyelectronix.com/pro
IRobot վիրտուալ պատի վերևի կոճակ ՝ 6 քայլ
IRobot վիրտուալ պատի վերևի կոճակ. Այսպիսով, ես զայրացած եմ, որ iRobot վիրտուալ պատի վերևում գտնվող իրը նայող մեծ կոճակը հոսանքի կոճակը չէ: Կարծես թե այդպես էլ պետք է լիներ, բայց դա այդպես չէ: Այսպիսով, ես պետք է ներս մտնեմ և անջատիչ ավելացնեմ վիրտուալ պատի վերևում