Obsah:

Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: 10 kroků
Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: 10 kroků

Video: Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: 10 kroků

Video: Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: 10 kroků
Video: VCDS kódování - zavírání 5.dveří pomocí DO / tlačítkem v interiéru 2024, Listopad
Anonim
Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox
Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox

Pomocí Mongoose a některých xChipů jsme vytvořili virtuální dveřní tlačítko. Místo fyzického tlačítka pro buzz personálu, to nyní mohou udělat sami.

Krok 1: Věci použité v tomto projektu

Hardwarové komponenty

  • XinaBox CW02 x 1 Místo toho můžete použít CW01
  • XinaBox IP01 x 1
  • XinaBox PU01 x 1 Pokud nemáte v úmyslu naprogramovat více modulů, můžete k napájení použít pouze IP01.
  • XinaBox OC03 x 1
  • XinaBox XC10 x 1 „Lepidlo“, díky kterému vše funguje!

Softwarové aplikace a online služby

Mongoose OS Opravdu úžasný a snadný nástroj pro vývoj IoT … a zdarma

Krok 2: Příběh

Na naší recepci bylo potřeba zaměstnat naše zaměstnance, a tak jsme se rozhodli vzít si vlastní lék a vytvořit virtuální tlačítko. Tento kód vám umožňuje odeslat RPC (Remote Procedure Call), které vypadá jako běžné volání HTTP z libovolného prohlížeče. Použili jsme Mongoose, protože se s ním opravdu snadno a rychle pracuje a je to vestavěná aktualizace kódu OTA (Over The Air), což znamená, že bychom mohli nainstalovat naši technologii a stále aktualizovat firmware, aniž bychom jej museli demontovat pro přeprogramování.

Krok 3: Příprava

  • Nainstalujte Mongoose-OS: Přímo vpřed, postupujte podle těchto velmi jednoduchých kroků pro váš OS zde:
  • Klepněte na IP01 a CW02 společně pomocí konektoru XC10. Viz obrázek níže:
obraz
obraz
  • Vložte IP01 do vašeho USB portu
  • Ujistěte se, že přepínače IP01 jsou v poloze B a DCE.
  • Flashujte Mongoose-OS na CW02 z příkazového řádku. Takhle:

CD

export MOS_PORT = bin/mos flash esp32

Můžete také jednoduše vstoupit do konzoly a dělat většinu odtud, ale tady to děláme z příkazového řádku, takže práce je rychle hotová. Vstup do konzoly:

CD

bin/mos

Krok 4: Konfigurace

I když tyto kroky lze provést v jednom dlouhém prohlášení, rozhodli jsme se je rozdělit, a protože je stejně zkopírujete a vložíte, umožníme to snadno:

Nastavte piny I2C na standard xChips:

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

Připojte svůj CW02 k WiFi:

bin/mos wifi

Odpojte WiFi v režimu AP a nastavte název domény, abyste se místo nalezení správné IP adresy mohli připojit k CW01 podle názvu hostitele. To bude fungovat pouze v případě, že:

  • WiFi odpojíte v režimu AP jako níže.
  • Buď použijte počítač Mac, nebo si na svůj počítač se systémem Windows nainstalujte Bonjour.

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 "}}}}

A nakonec musíte restartovat CW02, aby konfigurace fungovala

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

Velmi rychle poté byste měli být schopni pingnout xinabox_switch.local

Krok 5: Instalace

Odpojte IP01 od počítače a sestavte obvod podle horního obrázku.

Připojte PU01 (nebo pokud jste se rozhodli držet s IP01) do zdroje napájení USB. Připojte vodiče paralelně od vašeho stávajícího přepínače (nechte to, pro případ) k OC03 (na polaritě nezáleží). Viz kresba Fritzing.

Jakmile se zapnete a uvidíte, že skutečně mluvíte se svým xCW02, co skenování sběrnice, neboli sběrnice I2C:

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

Pokud vše funguje a váš xOC03 je nainstalován správně, mělo by se zobrazit číslo „56“. To je I2C adresa OC03 v desítkové soustavě (v hexu je to 0x38).

Krok 6: Programování

  • Nyní otevřete Mongoose v konzolovém režimu, viz výše. Mělo by se otevřít oknem, kde požádá o číslo portu, zadejte: ws: //xinabox_switch.local/rpc
  • Bude komunikovat s CW02 a uvědomí si, že jednotka je již flashována a připojena k WiFi, takže bude dávat pouze 3 zatržítka. Zavřete okno a obnovte seznam souborů
  • Zkopírujte a vložte níže uvedený kód do souboru init.js a klikněte na uložit+restartovat
  • Váš obvod je nyní naprogramován.

Krok 7: Test

Nyní jste implementovali další volání RPC, takže ze svého terminálu můžete zadat:

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

… A váš bzučák by měl trvat 2 sekundy. Můžete to také udělat z téměř jakéhokoli prohlížeče:

xinabox_switch.local/rpc/Switch

… Se stejným účinkem.

Krok 8: Další krok

Můžete použít jakýkoli nástroj, který může vypálit adresu URL. Dělám to z aplikace Apple s názvem Workflow, která mi to umožňuje z telefonu nebo jako komplikace z Apple Watch, ale existuje mnoho dalších možností. Zde je můj skript pracovního postupu, ale s pevně zakódovanou IP adresou: Užijte si to!

obraz
obraz

Apple App: Workflow - zde s pevně zakódovanou IP adresou

Krok 9: Schémata

Buzzer Circuit Instalujte OC03 souběžně se stávajícím tlačítkem.

Stáhněte si jej zde.

Obvod OC03 Instalujte OC03 souběžně se stávajícím tlačítkem.

Stáhněte si jej zde.

obraz
obraz

Krok 10: Kód

init.js JavaScript Váš hlavní a jediný kód pro tento projekt.

načíst ('api_config.js');

načíst ('api_gpio.js'); načíst ('api_i2c.js'); načíst ('api_net.js'); načíst ('api_sys.js'); načíst ('api_timer.js'); načíst ("api_rpc.js"); let led = Cfg.get ('pins.led'); nechť adr = 0x38; nech bus = I2C.get (); I2C.writeRegB (sběrnice, adr, 3, 0); I2C.writeRegB (sběrnice, adr, 1, 0); / * pro jistotu vypnout */ let delay = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * in if the OC03 gets againconnected * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});

Doporučuje: