INHOUDSOPGAWE:

Virtuele deurknoppie met Mongoose OS en XinaBox: 10 stappe
Virtuele deurknoppie met Mongoose OS en XinaBox: 10 stappe

Video: Virtuele deurknoppie met Mongoose OS en XinaBox: 10 stappe

Video: Virtuele deurknoppie met Mongoose OS en XinaBox: 10 stappe
Video: slot openen met valse sleutel 2024, November
Anonim
Virtuele deurknoppie met Mongoose OS en XinaBox
Virtuele deurknoppie met Mongoose OS en XinaBox

Met Mongoose en 'n paar xChips het ons 'n virtuele deurknoppie gemaak. In plaas van 'n fisiese knoppie om personeel in te gons, kan hulle dit nou self doen.

Stap 1: Dinge wat in hierdie projek gebruik word

Hardeware komponente

  • XinaBox CW02 x 1 U kan die CW01 eerder gebruik
  • XinaBox IP01 x 1
  • XinaBox PU01 x 1 U kan die IP01 net vir krag gebruik as u nie meer modules wil programmeer nie.
  • XinaBox OC03 x 1
  • XinaBox XC10 x 1 Die "gom" wat alles laat werk!

Sagteware -programme en aanlyndienste

Mongoose OS Regtig wonderlike en maklike IoT -ontwikkelingshulpmiddel … en gratis

Stap 2: Verhaal

In ons ontvangs moet ons personeel inlui, so ons het besluit om ons eie medisyne te neem en 'n virtuele knoppie te skep. Met hierdie kode kan u 'n RPC (Remote Procedure Call) stuur, wat soos 'n normale HTTP -oproep van enige blaaier lyk. Ons het Mongoose gebruik, aangesien dit baie maklik en vinnig is om mee te werk, en die ingeboude OTA (Over The Air) -opdatering van die kode, beteken dat ons ons tegnologie kan installeer en mettertyd die firmware kan opgradeer sonder om dit te herprogrammeer.

Stap 3: Voorbereiding

  • Installeer Mongoose-OS: Reguit, volg hierdie baie maklike stappe vir u bedryfstelsel hier:
  • Klik op die IP01 en die CW02 saam met 'n XC10 -aansluiting. Sien prentjie hieronder:
Beeld
Beeld
  • Steek die IP01 in u USB -poort
  • Maak seker dat die IP01 -skakelaars in posisie B en DCE is.
  • Flits die Mongoose-OS na CW02 vanaf u opdragreël. Soos hierdie:

cd

uitvoer MOS_PORT = bin/mos flash esp32

U kan ook net die konsole binnegaan en die meeste van daar af doen, maar hier doen ons dit vanaf die opdragreël, sodat die werk vinnig gedoen word. Om die konsole binne te gaan:

cd

bin/mos

Stap 4: Konfigurasie

Alhoewel hierdie stappe in 'n lang stelling gedoen kon word, het ons besluit om dit te verdeel, en aangesien u dit in elk geval sou kopieer en plak, maak ons dit maklik:

Stel die I2C -penne op die xChips -standaard:

bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2

Koppel u CW02 aan u WiFi:

bin/mos wifi

Ontkoppel WiFi in die AP -modus en stel 'n domeinnaam op, sodat u via die gasheernaam met die CW01 kan skakel in plaas van die korrekte IP -adres te vind. Dit sal slegs werk as:

  • U ontkoppel WiFi in die AP -modus, soos ons hieronder doen.
  • Gebruik 'n Mac of installeer Bonjour op u Windows -masjien.

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

bin/mos noem Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos noem Config. Set '{"config": {"dns_sd": {"host- name ":" xinabox_switch "}}}

Uiteindelik moet u die CW02 herlaai sodat die config kan werk

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

Baie vinnig hierna behoort u xinabox_switch.local te kan ping

Stap 5: Installeer

Koppel die IP01 van u rekenaar af en maak 'n stroombaan volgens die boonste prent.

Koppel die PU01 (of as u besluit om by die IP01 te bly) in 'n USB -kragbron. Koppel drade parallel met u bestaande skakelaar (laat dit maar in geval) na die OC03 (polariteit maak nie saak nie). Sien Fritzing -tekening.

As u eers aangeskakel is en om te sien dat u eintlik met u xCW02 praat, hoe gaan dit met die skandering van die BUS, oftewel die I2C -bus:

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

As dit alles werk en u xOC03 korrek geïnstalleer is, moet u 'n nommer '56' sien. Dit is die I2C -adres van die OC03 in desimale (in hex is dit 0x38).

Stap 6: Programmering

  • Maak nou die Mongoose oop in die konsole -modus, sien hierbo. Dit moet oopmaak met 'n venster waar dit 'n poortnommer vra, tik: ws: //xinabox_switch.local/rpc
  • Dit sal met die CW02 kommunikeer en besef dat die eenheid reeds geflits en aan WiFi gekoppel is, sodat dit net 3 regmerkies sal gee. Maak die venster toe en herlaai die lêerlys
  • Kopieer en plak die onderstaande kode in init.js, en klik op save+reboot
  • Jou kring is nou geprogrammeer.

Stap 7: Toets

U het nou nog 'n RPC -oproep geïmplementeer, sodat u vanaf u terminale kan ingaan:

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

… en jou gonser behoort 2 sekondes aan te gaan. U kan dit ook doen uit - byna elke blaaier:

xinabox_switch.local/rpc/Switch

… met dieselfde effek.

Stap 8: Volgende stap

U kan enige hulpmiddel gebruik wat 'n URL kan afskakel. Ek doen dit vanaf 'n Apple -app genaamd Workflow, waarmee ek dit vanaf my telefoon kan doen of as 'n komplikasie van my Apple Watch, maar daar is baie ander opsies. Hier is my Workflow -script, maar met 'n hardcoded IP -adres: Geniet dit!

Beeld
Beeld

Apple App: Workflow - hier met 'n hardcoded IP -adres

Stap 9: Skema's

Buzzer Circuit Installeer die OC03 parallel met die bestaande drukknop.

Laai dit hier af.

OC03 -stroombaan Installeer die OC03 parallel met die bestaande drukknop.

Laai dit hier af.

Beeld
Beeld

Stap 10: Kode

init.js JavaScript Jou belangrikste en enigste kode vir hierdie projek.

laai ('api_config.js');

laai ('api_gpio.js'); laai ('api_i2c.js'); laai ('api_net.js'); laai ('api_sys.js'); laai ('api_timer.js'); laai ("api_rpc.js"); laat led = Cfg.get ('pins.led'); laat adr = 0x38; laat bus = I2C.get (); I2C.writeRegB (bus, adr, 3, 0); I2C.writeRegB (bus, adr, 1, 0); / * skakel net uit om seker te maak */ laat vertraging = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', funksie (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * ingeval die OC03 weer verbind word * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});

Aanbeveel: