İçindekiler:
- Adım 1: Bu Projede Kullanılanlar
- 2. Adım: Öykü
- Adım 3: Hazırlık
- 4. Adım: Yapılandırma
- Adım 5: Yükleme
- Adım 6: Programlama
- 7. Adım: Test edin
- Adım 8: Sonraki Adım
- 9. Adım: Şemalar
- Adım 10: Kod
Video: Mongoose OS ve XinaBox Kullanan Sanal Kapı Düğmesi: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Mongoose ve bazı xChips kullanarak sanal bir kapı düğmesi yaptık. Personeli bilgilendirmek için fiziksel bir düğme yerine, artık bunu kendileri yapabilirler.
Adım 1: Bu Projede Kullanılanlar
Donanım bileşenleri
- XinaBox CW02 x 1 Bunun yerine CW01'i kullanabilirsiniz
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Daha fazla modül programlamayı düşünmüyorsanız, güç için IP01'i kullanabilirsiniz.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 Hepsini çalıştıran "tutkal"!
Yazılım uygulamaları ve çevrimiçi hizmetler
Mongoose OS Gerçekten harika ve kolay IoT geliştirme aracı… ve ücretsiz
2. Adım: Öykü
Resepsiyonumuzda personelimizin devreye girmesi gerekiyordu, bu yüzden kendi ilacımızı alıp sanal bir düğme oluşturmaya karar verdik. Bu kod, herhangi bir tarayıcıdan normal bir HTTP çağrısı gibi görünen bir RPC (Uzaktan Prosedür Çağrısı) göndermenizi sağlar. Çalışması gerçekten kolay ve hızlı olduğu ve yerleşik OTA (Over The Air) kod güncellemesi olduğu için Mongoose kullandık, bu, teknolojimizi kurabileceğimiz ve yine de zaman içinde bellenimi yeniden programlama için parçalara ayırmadan yükseltebileceğimiz anlamına geliyor.
Adım 3: Hazırlık
- Mongoose-OS'u yükleyin: Basitçe, işletim sisteminiz için şu çok kolay adımları buradan izleyin:
- Bir XC10 konektörü kullanarak IP01 ve CW02'yi birlikte tıklayın. Aşağıdaki resme bakın:
- IP01'i USB bağlantı noktanıza takın
- IP01 anahtarlarının B ve DCE konumunda olduğundan emin olun.
- Komut satırınızdan Mongoose-OS'u CW02'ye flashlayın. Bunun gibi:
CD
MOS_PORT'u dışa aktar= bin/mos flash esp32
Ayrıca konsola girip çoğunu oradan yapabilirsiniz, ancak burada komut satırından yapıyoruz, bu yüzden iş hızlı bir şekilde bitiyor. Konsola girmek için:
CD
bin/mos
4. Adım: Yapılandırma
Bu adımlar tek bir uzun açıklamada yapılabilirken, onları bölmeye karar verdik ve yine de onları kopyalayıp yapıştıracağınız için bunu kolaylaştıralım:
I2C pinlerini xChips standardına ayarlayın:
bin/mos yapılandırma seti i2c.scl_gpio=14 i2c.sda_gpio=2
CW02'nizi WiFi'nize bağlayın:
bin/mos wifi
AP modunda WiFi bağlantısını kesin ve bir etki alanı adı ayarlayın, böylece doğru IP adresini bulmak yerine ana bilgisayar adıyla CW01'e bağlanabilirsiniz. Bu yalnızca şu durumlarda işe yarar:
- Aşağıda yaptığımız gibi AP modunda WiFi bağlantısını kesiyorsunuz.
- Ya bir Mac kullanın ya da Bonjour'u Windows makinenize yükleyin.
bin/mos çağrısı Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos çağrısı Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos çağrısı Config. Set '{"config": {"dns_sd": {"host- name": "xinabox_switch"}}}
Son olarak, yapılandırmanın çalışması için CW02'yi yeniden başlatmanız gerekir.
bin/mos çağrısı Config. Save '{"reboot": true}'
Bundan çok hızlı bir şekilde xinabox_switch.local'a ping atabilmeniz gerekir.
Adım 5: Yükleme
IP01'i bilgisayarınızdan çıkarın ve üstteki resme göre bir devre kurun.
PU01'i (veya IP01'e bağlı kalmaya karar verdiyseniz) bir USB güç kaynağına takın. Kabloları mevcut anahtarınızdan paralel olarak bağlayın (her ihtimale karşı bırakın) OC03'e (polarite önemli değil). Fritzing çizimine bakın.
Güç verildiğinde ve aslında xCW02'nizle konuştuğunuzu görmek için, I2C veriyolu olarak da bilinen BUS'u taramaya ne dersiniz:
bin/mos --port ws://xinabox_switch.local/rpc çağrı I2C. Scan
Her şey çalışıyorsa ve xOC03'ünüz doğru şekilde kurulmuşsa, '56' sayısının döndürüldüğünü görmelisiniz. Bu, OC03'ün ondalık olarak I2C adresidir (onaltılık olarak 0x38'dir).
Adım 6: Programlama
- Şimdi Mongoose'u konsol modunda açın, yukarıya bakın. Bağlantı noktası numarası istediği bir Pencere ile açılmalıdır, şunu girin:ws://xinabox_switch.local/rpc
- CW02 ile iletişim kuracak ve ünitenin zaten yanıp söndüğünü ve WiFi'ye bağlı olduğunu fark edecek, bu yüzden sadece 3 onay işareti verecektir. Pencereyi kapatın ve dosya listesini yenileyin
- Aşağıdaki kodu kopyalayıp init.js'ye yapıştırın ve kaydet+yeniden başlat'a tıklayın
- Devreniz artık programlanmıştır.
7. Adım: Test edin
Artık başka bir RPC çağrısı uyguladınız, böylece terminalinizden şunları girebilirsiniz:
bin/mos --port ws://xinabox_switch.local/rpc çağrı Anahtarı
… ve sesli uyarınız 2 saniye boyunca gitmelidir. Ayrıca - neredeyse - herhangi bir tarayıcıdan da yapabilirsiniz:
xinabox_switch.local/rpc/Switch
… aynı etkiyle.
Adım 8: Sonraki Adım
Bir URL'yi tetikleyebilecek herhangi bir aracı kullanabilirsiniz. Bunu, telefonumdan veya Apple Watch'ımın bir komplikasyonu olarak yapmama izin veren Workflow adlı bir Apple Uygulamasından yapıyorum, ancak orada başka birçok seçenek var. İşte İş Akışı betiğim, ancak sabit kodlanmış IP adresiyle: Keyfini çıkarın!
Apple Uygulaması: İş Akışı - burada sabit kodlanmış IP adresi ile
9. Adım: Şemalar
Buzzer Devresi OC03'ü mevcut basmalı düğmeye paralel olarak kurun.
Buradan indir.
OC03 Devresi OC03'ü mevcut basmalı düğmeye paralel olarak kurun.
Buradan indir.
Adım 10: Kod
init.js JavaScript Bu proje için ana ve tek kodunuz.
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'); adr = 0x38 olsun; izin ver veri yolu = I2C.get(); I2C.writeRegB(veri yolu, adr, 3, 0); I2C.writeRegB(veri yolu, adr, 1, 0); /* emin olmak için kapat */ let delay = 2000; GPIO.set_mode(led, GPIO. MODE_OUTPUT); RPC.addHandler('Switch', function(args) { GPIO.toggle(led); I2C.writeRegB(bus, adr, 3, 0); /* OC03'ün yeniden bağlanması durumunda */ I2C.writeRegB(bus, adr, 1, 1); Timer.set(delay, false, function() { GPIO.toggle(led); I2C.writeRegB(bus, adr, 1, 0); }, null); return true; });
Önerilen:
Geri sıçrama ! Arduino ve İvmeölçer Kullanan Sanal Gerçeklik Oyunu: 9 Adım
Geri sıçrama ! Arduino ve İvmeölçer Kullanarak Sanal Gerçeklik Oyunu: Bu dersimizde Arduino ve İvmeölçer kullanarak bir Sanal Gerçeklik oyunu oluşturacağız
IFTTT ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: 8 Adım
IFTTT ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: WiFi Kapı Zili, mevcut kablolu kapı zilinizi akıllı bir kapı ziline dönüştürür. https://www.fireflyelectronix.com/product/wifidoor
Ev Asistanı ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: 6 Adım
Ev Asistanı ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: Mevcut kablolu kapı zilinizi akıllı bir kapı ziline dönüştürün. Birisi kapı zilinizi çaldığında bir fotoğraf veya video uyarısı almak için telefonunuza bir bildirim alın veya mevcut ön kapı kameranızla eşleştirin.Daha fazla bilgi için: fireflyelectronix.com/pro
Kapı ve Kapı İzlemeye Bağlı Otomatik Işıklar.: 5 Adım
Kapı ve Kapı İzlemeye Bağlı Otomatik Işıklar.: Karanlıkta panoyu bulmak çok zor gibi görünüyor ama bu proje bu sorunu çözmede gerçekten yardımcı oluyor. Bunun çözümünü öğrenmek için aşağıdaki adımları izleyin
IRobot Sanal Duvar Üst Düğmesi: 6 Adım
IRobot Virtual Wall Üst Düğmesi: Dolayısıyla, iRobot Virtual Wall'un üstündeki büyük düğme görünümlü şeyin güç düğmesi olmamasından rahatsızım. Olması gerektiği gibi görünüyor, ama değil. Bu yüzden içeri girip sanal duvarın üstüne bir anahtar eklemeliyim