Sisukord:

Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi: 10 sammu
Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi: 10 sammu

Video: Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi: 10 sammu

Video: Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi: 10 sammu
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi
Virtuaalse ukse nupp, kasutades Mongoose OS -i ja XinaBoxi

Kasutades Mongoose'i ja mõnda xChipi, tegime virtuaalse uksenupu. Füüsilise nupu asemel, millega töötajaid sisse suruda, saavad nad seda nüüd ise teha.

Samm: selles projektis kasutatud asjad

Riistvara komponendid

  • XinaBox CW02 x 1 Selle asemel võite kasutada CW01
  • XinaBox IP01 x 1
  • XinaBox PU01 x 1 Kui te ei kavatse rohkem mooduleid programmeerida, võite toiteallikaks kasutada lihtsalt IP01.
  • XinaBox OC03 x 1
  • XinaBox XC10 x 1 "Liim", mis paneb selle kõik tööle!

Tarkvararakendused ja võrguteenused

Mongoose OS Tõeliselt vinge ja lihtne IoT arendustööriist … ja tasuta

2. samm: lugu

Vastuvõtul pidid meie töötajad olema põnevil, nii et otsustasime võtta oma ravimi ja luua virtuaalse nupu. See kood võimaldab teil saata RPC (kaugmenetluskõne), mis näeb välja nagu tavaline HTTP -kõne mis tahes brauserist. Kasutasime Mongoose'i, kuna sellega on tõesti lihtne ja kiire töötada ning see on sisseehitatud OTA (Over The Air) koodivärskendus, mis tähendab, et saaksime oma tehnoloogia installida ja püsivara siiski aja jooksul uuendada, ilma et seda ümber programmeeriks.

3. samm: Ettevalmistus

  • Installige Mongoose-OS: otse edasi, järgige oma OS-i jaoks väga lihtsaid samme siin:
  • Klõpsake XC10 pistiku abil IP01 ja CW02 koos. Vaata allolevat pilti:
Pilt
Pilt
  • Sisestage IP01 oma USB -porti
  • Veenduge, et IP01 lülitid on asendis B ja DCE.
  • Flash Mongoose-OS käsurealt CW02. Nagu nii:

cd

eksport MOS_PORT = bin/mos flash esp32

Võite ka lihtsalt siseneda konsooli ja teha sealt kõige rohkem, kuid siin teeme seda käsurealt, nii et töö saab kiiresti tehtud. Konsooli sisenemiseks toimige järgmiselt

cd

prügikast/mos

4. samm: seadistamine

Kuigi neid samme saab teha ühe pika avaldusena, otsustasime need osadeks jagada ja kuna te kopeerite ja kleepite need igal juhul, siis tehke see lihtsaks:

Seadke I2C tihvtid standardile xChips:

bin/mos konfiguratsioonikomplekt i2c.scl_gpio = 14 i2c.sda_gpio = 2

Ühendage oma CW02 WiFi -ga:

bin/mos wifi

Ühendage WiFi ühendus AP -režiimis lahti ja seadistage domeeninimi, nii et saate õige IP -aadressi leidmise asemel ühenduse luua CW01 -ga hostinime järgi. See toimib ainult siis, kui:

  • Ühendate WiFi ühenduse AP -režiimis lahti nagu meie allpool.
  • Kasutage Maci või installige oma Windowsi masinasse Bonjour.

bin/mos helista Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}

bin/mos helistage konfiguratsioonile. Määrake '{"config": {"dns_sd": {"enable": true}}} "bin/mos helistage seadistusele. Määrake' {" config ": {" dns_sd ": {" host- nimi ":" xinabox_switch "}}}

Ja lõpuks peate konfiguratsiooni toimimiseks CW02 taaskäivitama

bin/mos helista Config. Save '{"reboot": true}'

Väga kiiresti pärast seda peaksite saama pingida xinabox_switch.local

Samm: paigaldamine

Ühendage IP01 arvutist lahti ja pange vooluahel kokku vastavalt ülemisele pildile.

Ühendage PU01 (või kui otsustasite jääda IP01 juurde) USB -toiteallikasse. Ühendage juhtmed paralleelselt olemasoleva lülitiga (jätke see igaks juhuks) OC03 -ga (polaarsus pole oluline). Vt Fritzingu joonis.

Kui olete sisse lülitatud ja näete, et räägite tegelikult oma xCW02 -ga, siis kuidas oleks BUS -i, ehk I2C -bussi skannimisega:

bin/mos --port ws: //xinabox_switch.local/rpc kõne I2C. Scan

Kui see kõik töötab ja teie xOC03 on õigesti installitud, peaksite nägema numbrit „56”. See on OC03 I2C aadress kümnendkohas (kuuekümnendikuna on see 0x38).

6. samm: programmeerimine

  • Nüüd avage Mongoose konsoolirežiimis, vt ülal. See peaks avanema aknaga, kus ta küsib pordi numbrit, sisestage: ws: //xinabox_switch.local/rpc
  • See suhtleb CW02 -ga ja mõistab, et seade on juba vilkunud ja WiFi -ga ühendatud, nii et see annab lihtsalt 3 linnukest. Sulgege aken ja värskendage failide loendit
  • Kopeerige ja kleepige allolev kood faili init.js ja klõpsake nuppu Salvesta+taaskäivitage
  • Teie vooluring on nüüd programmeeritud.

7. samm: testige

Olete nüüd rakendanud veel ühe RPC kõne, nii et saate oma terminalist sisestada:

bin/mos --port ws: //xinabox_switch.local/rpc call Switch

… Ja teie helisignaal peaks 2 sekundiks tööle. Saate seda teha ka peaaegu igast brauserist:

xinabox_switch.local/rpc/Switch

… Sama efektiga.

8. samm: järgmine samm

Võite kasutada mis tahes tööriista, mis võib URL -i käivitada. Teen seda Apple'i rakendusest nimega Workflow, mis võimaldab mul seda teha oma telefonist või Apple Watchi tüsistusena, kuid seal on palju muid võimalusi. Siin on minu töövoo skript, kuid kõvakodeeritud IP -aadressiga: Nautige!

Pilt
Pilt

Apple'i rakendus: töövoog - siin kõvakodeeritud IP -aadressiga

9. samm: skeemid

Summeri ahel Paigaldage OC03 paralleelselt olemasoleva nupuga.

Laadige see alla siit.

OC03 ahel Paigaldage OC03 paralleelselt olemasoleva nupuga.

Laadige see alla siit.

Pilt
Pilt

10. samm: kood

init.js JavaScript Teie peamine ja ainus kood selle projekti jaoks.

koormus ('api_config.js');

koormus ('api_gpio.js'); koormus ('api_i2c.js'); koormus ('api_net.js'); koormus ('api_sys.js'); koormus ('api_timer.js'); koormus ("api_rpc.js"); las led = Cfg.get ('pins.led'); olgu adr = 0x38; las buss = I2C.get (); I2C.writeRegB (buss, adr, 3, 0); I2C.writeRegB (buss, adr, 1, 0); / * lülita välja, et olla kindel */ let delay = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * juhul, kui OC03 uuesti ühendatakse * / I2C.writeRegB (bus, adr), 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});

Soovitan: