Tartalomjegyzék:
- 1. lépés: A projektben használt dolgok
- 2. lépés: Történet
- 3. lépés: Előkészítés
- 4. lépés: Konfiguráció
- 5. lépés: Telepítés
- 6. lépés: Programozás
- 7. lépés: Teszt
- 8. lépés: Következő lépés
- 9. lépés: Vázlatok
- 10. lépés: Kód
Videó: Virtuális ajtó gomb a Mongoose OS és a XinaBox használatával: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A Mongoose és néhány xChip segítségével virtuális ajtó gombot készítettünk. Fizikai gomb helyett, amellyel a személyzetet fel lehet hívni, most már maguk is megtehetik.
1. lépés: A projektben használt dolgok
Hardver alkatrészek
- XinaBox CW02 x 1 Ehelyett használhatja a CW01 -et
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Csak akkor használja az IP01 -et áramellátásra, ha nem kíván több modult programozni.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 A "ragasztó", amellyel minden működik!
Szoftveralkalmazások és online szolgáltatások
Mongoose OS Tényleg fantasztikus és egyszerű IoT fejlesztő eszköz … és ingyenes
2. lépés: Történet
Fogadásunkon munkatársainkat zümmögni kellett, ezért úgy döntöttünk, hogy saját gyógyszert veszünk, és létrehozunk egy virtuális gombot. Ez a kód lehetővé teszi, hogy RPC -t (távoli eljáráshívást) küldjön, amely úgy néz ki, mint egy normál HTTP -hívás bármely böngészőből. A Mongoose-t használtuk, mivel nagyon könnyű és gyors vele dolgozni, és a beépített OTA (Over The Air) kódfrissítés azt jelenti, hogy telepíthetjük a technológiánkat, és idővel frissíthetjük a firmware-t, anélkül, hogy szétszerelnénk az újraprogramozáshoz.
3. lépés: Előkészítés
- A Mongoose-OS telepítése: Egyenesen, kövesse ezeket a nagyon egyszerű lépéseket az operációs rendszeréhez itt:
- Kattintson az IP01 -re és a CW02 -re együtt egy XC10 csatlakozó segítségével. Lásd az alábbi képet:
- Helyezze be az IP01 -et az USB -portba
- Győződjön meg arról, hogy az IP01 kapcsolók B és DCE állásban vannak.
- A parancssorból flashítse a Mongoose-OS-t CW02-re. Mint ez:
CD
export MOS_PORT = bin/mos flash esp32
Ön is csak beléphet a konzolba, és onnan teheti a legtöbbet, de itt a parancssorból tesszük, így a munka gyorsan elkészül. Belépés a konzolba:
CD
bin/mos
4. lépés: Konfiguráció
Bár ezeket a lépéseket egy hosszú nyilatkozatban is meg lehetett tenni, úgy döntöttünk, hogy felosztjuk őket, és mivel másolni és beilleszteni szeretné őket, egyszerűbbé teheti:
Állítsa az I2C csapokat az xChips szabványra:
bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Csatlakoztassa a CW02 -t a WiFi -hez:
bin/mos wifi
Válassza le a WiFi -t AP módban, és állítson be tartománynevet, így a megfelelő IP -cím helyett a hostnév alapján tud csatlakozni a CW01 -hez. Ez csak akkor működik, ha:
- Ön lekapcsolja a WiFi -t AP módban, mint az alábbiakban.
- Használjon Mac -et, vagy telepítse a Bonjour -t a Windows gépére.
bin/mos call 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- name ":" xinabox_switch "}}}
És végül újra kell indítani a CW02 -t, hogy a konfiguráció működjön
bin/mos hívja a Config. Save '{"reboot": true}'
Ezt követően nagyon gyorsan képesnek kell lennie a xinabox_switch.local pingelésére
5. lépés: Telepítés
Húzza ki az IP01 -et a számítógépről, és szereljen össze egy áramkört a felső kép szerint.
Csatlakoztassa a PU01 -et (vagy ha úgy döntött, hogy ragaszkodik az IP01 -hez) egy USB -áramforráshoz. Csatlakoztassa a vezetékeket párhuzamosan a meglévő kapcsolóval (hagyja ezt, minden esetre) az OC03 -hoz (a polaritás nem számít). Lásd Fritzing rajz.
Miután bekapcsolta, és látja, hogy valójában az xCW02 -vel beszél, mi a helyzet a busz, azaz az I2C busz beolvasásával:
bin/mos --port ws: //xinabox_switch.local/rpc call I2C. Scan
Ha minden működik, és az xOC03 megfelelően van telepítve, akkor az '56' számot kell megjelenítenie. Ez az OC03 I2C címe decimális formában (hexadecimálisan 0x38).
6. lépés: Programozás
- Most nyissa meg a Mongoose -t konzol módban, lásd fent. Egy ablakkal kell megnyílnia, ahol portszámot kér, írja be: ws: //xinabox_switch.local/rpc
- Kommunikálni fog a CW02 -vel, és rájön, hogy az egység már villog és csatlakozik a WiFi -hez, így csak 3 pipa jelenik meg. Zárja be az ablakot, és frissítse a fájllistát
- Másolja ki és illessze be az alábbi kódot az init.js fájlba, majd kattintson a mentés+újraindítás gombra
- Az áramkör programozva van.
7. lépés: Teszt
Most végrehajtott egy másik RPC hívást, így a terminálról beírhatja:
bin/mos --port ws: //xinabox_switch.local/rpc call Switch
… És a hangjelző 2 másodpercig szól. Ezt szinte bármilyen böngészőből is elvégezheti:
xinabox_switch.local/rpc/Switch
… Ugyanazzal a hatással.
8. lépés: Következő lépés
Bármilyen eszközt használhat, amely ki tudja kapcsolni az URL -t. A munkafolyamat nevű Apple alkalmazásból teszem, amely lehetővé teszi, hogy a telefonomról vagy az Apple Watch bonyodalmaként tegyem, de sok más lehetőség is létezik. Íme a munkafolyamat szkriptem, de kemény kódolású IP -címmel: Élvezze!
Apple App: Munkafolyamat - itt keménykódolt IP -címmel
9. lépés: Vázlatok
Zümmögő áramkör Telepítse az OC03 -at a meglévő nyomógombbal párhuzamosan.
Töltse le itt.
OC03 áramkör Szerelje be az OC03 -at a meglévő nyomógombbal párhuzamosan.
Töltse le itt.
10. lépés: Kód
init.js JavaScript A projekt fő és egyetlen kódja.
load ('api_config.js');
load ('api_gpio.js'); load ('api_i2c.js'); load ('api_net.js'); load ('api_sys.js'); load ('api_timer.js'); load ("api_rpc.js"); let led = Cfg.get ('pins.led'); legyen adr = 0x38; legyen busz = I2C.get (); I2C.writeRegB (busz, adr, 3, 0); I2C.writeRegB (busz, adr, 1, 0); / * kapcsolja ki csak azért, hogy biztos legyen benne */ let delay = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (busz, adr, 3, 0); / * ha az OC03 újra csatlakozik * / I2C.writeRegB (busz, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});
Ajánlott:
USB hangerőszabályzó gomb DigiSpark és forgó kódoló használatával: 3 lépés
USB hangerőszabályzó gomb DigiSpark és forgó kódoló használatával: Ez egy szuper olcsó USB hangerőszabályzó gomb. Néha a hagyományos gombok kényelmesebbek a dolgok irányításához, ahelyett, hogy mindenhol az egérre kattintanának. Ez a projekt a DigiSpark -ot, egy forgó kódolót és az Adafruit Trinket USB Library -t használja (https: //github.c
Pánikriasztó gomb áramkör 555 időzítő IC használatával (1. rész): 4 lépés
Pánikriasztó gomb áramkör 555 időzítő IC használatával (1. rész): A pánikriasztó áramkör arra szolgál, hogy azonnal vészjelzést küldjön a közeli helyen lévő embereknek, hogy segítséget hívjanak vagy riaszthassák őket. A lehetséges pánikhelyzet bármilyen lehet, nem korlátozódik néhány helyzetre. Lehet, hogy valaki megtartja
SMS -ajtó biztonsági rendszer a GboardPro (GSM Cum Arduino Mega) használatával: 4 lépés
SMS ajtó biztonsági rendszer a GboardPro (GSM Cum Arduino Mega) használatával: Ez egy egyszerű, de nagyon hasznos otthoni biztonsági riasztó DIY projekt. Ezt a projektet az irodámban elkövetett lopás miatt készítettem
Virtuális valóság öltöny az Arduino használatával: 7 lépés (képekkel)
Virtuális valóság öltöny Arduino használatával: Ezt a projektet azért hoztam létre, hogy normál számítógépes játékokat játsszak teljes VR -ben. Ez a projekt utánozza a mozdulatait a billentyűzet gombjainak megnyomására vagy nyomva tartására. Példa- ha előre lép, a „w” gomb megnyomása utánozódik. Nekem van emu
IRobot virtuális fali gomb: 6 lépés
IRobot Virtual Wall Top Button: Szóval bosszant, hogy az iRobot Virtual Wall tetején lévő nagy gomb kinézetű dolog nem a bekapcsoló gomb. Úgy néz ki, hogy kell, de egyszerűen nem. Tehát be kell mennem, és hozzá kell tennem egy kapcsolót a virtuális fal tetejéhez