Mündəricat:
- Addım 1: Bu Layihədə İstifadə Edilən Şeylər
- Addım 2: Hekayə
- Addım 3: Hazırlıq
- Addım 4: Konfiqurasiya
- Addım 5: Quraşdırma
- Addım 6: Proqramlaşdırma
- Addım 7: Test edin
- Adım 8: Növbəti addım
- Addım 9: sxemlər
- Addım 10: Kod
Video: Mongoose OS və XinaBox istifadə edərək virtual qapı düyməsi: 10 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Mongoose və bəzi xChips istifadə edərək, virtual qapı düyməsini düzəltdik. İşçilərin səs -küy salması üçün fiziki bir düymə yerinə, bunu özləri edə bilərlər.
Addım 1: Bu Layihədə İstifadə Edilən Şeylər
Avadanlıq komponentləri
- XinaBox CW02 x 1 Bunun əvəzinə CW01 -dən istifadə edə bilərsiniz
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Daha çox modul proqramlaşdırmaq niyyətində deyilsinizsə, sadəcə güc üçün IP01 -dən istifadə edə bilərsiniz.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 Hamısını işə salan "yapışqan"!
Proqram proqramları və onlayn xidmətlər
Mongoose OS Həqiqətən zəhmli və asan IoT inkişaf etdirmə vasitəsi… və pulsuz
Addım 2: Hekayə
Qəbulda işçilərimizin içəri girməsi lazım idi, buna görə də öz dərmanımızı götürüb virtual düymə yaratmağa qərar verdik. Bu kod, hər hansı bir brauzerdən normal HTTP zənginə bənzəyən RPC (Uzaqdan Prosedur Zəngi) göndərməyə imkan verir. Mongoose-dan istifadə etdik, çünki işləmək çox asandır və sürətlidir və daxili OTA (Havada) kod yeniləməsi, texnologiyamızı quraşdıra biləcəyimiz və hələ də zamanla proqram təminatını yenidən proqramlaşdırma üçün sökmədən yeniləyə biləcəyimiz deməkdir.
Addım 3: Hazırlıq
- Mongoose-OS qurun: Düz irəli, OS üçün bu çox asan addımları burada edin:
- Bir XC10 konnektoru istifadə edərək IP01 və CW02 düymələrini birlikdə vurun. Aşağıdakı şəklə baxın:
- IP01 -i USB portunuza daxil edin
- IP01 açarlarının B və DCE mövqeyində olduğundan əmin olun.
- Mongoose-OS-ni əmr satırınızdan CW02-ə yandırın. Bunun kimi:
cd
ixrac MOS_PORT = bin/mos flash esp32
Yalnız konsola girə və oradan çox şey edə bilərsiniz, amma burada bunu əmr satırından edirik, buna görə iş tez bir zamanda tamamlanır. Konsola daxil olmaq üçün:
cd
bin/mos
Addım 4: Konfiqurasiya
Bu addımlar uzun bir ifadədə edilə bilsə də, onları bölmək qərarına gəldik və hər halda kopyalayıb yapışdıracağınız üçün bunu asanlaşdıraq:
I2C pinlərini xChips standartına qoyun:
bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
CW02 -ni WiFi -yə qoşun:
bin/mos wifi
AP rejimində WiFi -ni ayırın və bir domen adı qurun, beləliklə düzgün IP ünvanını tapmaq əvəzinə CW01 -ə ana adı ilə qoşula bilərsiniz. Bu yalnız aşağıdakı hallarda işləyəcək:
- Aşağıdakı kimi AP rejimində WiFi bağlantısını kəsirsiniz.
- Ya Mac istifadə edin, ya da Windows maşınınıza Bonjour qurun.
bin/mos zəng Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos çağırışı Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos zəng Config. Set '{"config": {"dns_sd": {"host- adı ":" xinabox_switch "}}}
Və nəhayət, konfiqurasiyanın işləməsi üçün CW02 -ni yenidən başlatmalısınız
bin/mos zəng Config. Save '{"reboot": true}'
Bundan çox tez sonra xinabox_switch.local -a ping yaza bilməlisiniz
Addım 5: Quraşdırma
IP01 -i kompüterinizdən ayırın və yuxarıdakı şəklə uyğun olaraq bir dövrə yığın.
PU01 -i (və ya IP01 -ə bağlı qalmağa qərar verdinizsə) USB güc mənbəyinə qoşun. Mövcud açarınızdan paralel olaraq telləri bağlayın (hər halda buraxın) OC03 -ə (polaritenin əhəmiyyəti yoxdur). Fritzing rəsminə baxın.
İşə başladıqdan sonra və həqiqətən də xCW02 ilə danışdığınızı görmək üçün I2C avtobusu olan BUS -u skan etməyiniz necə olar:
bin/mos -port ws: //xinabox_switch.local/rpc zəng I2C. Scan
Hər şey işləyirsə və xOC03 düzgün qurulubsa, '56' rəqəminin qaytarılacağını görməlisiniz. Bu, OC03 -ün ondalıkdakı I2C ünvanıdır (hexdə 0x38).
Addım 6: Proqramlaşdırma
- İndi Mongoose'u konsol rejimində açın, yuxarıya baxın. Liman nömrəsi istədiyi bir Pəncərə ilə açılmalıdır, daxil edin: ws: //xinabox_switch.local/rpc
- CW02 ilə əlaqə quracaq və cihazın artıq yanıb -söndüyünü və WiFi -yə qoşulduğunu başa düşəcək, buna görə sadəcə 3 yoxlama işarəsi verəcək. Pəncərəni bağlayın və fayl siyahısını yeniləyin
- Aşağıdakı kodu kopyalayın və init.js -ə yapışdırın və saxla+yenidən başladın
- Sizin dövrəniz indi proqramlaşdırılmışdır.
Addım 7: Test edin
İndi başqa bir RPC zəngi tətbiq etdiniz, buna görə terminaldan daxil ola bilərsiniz:
bin/mos -port ws: //xinabox_switch.local/rpc zəng dəyişdirin
… Və səs siqnalı 2 saniyə dayanmalıdır. Bunu demək olar ki, hər hansı bir brauzerdən də edə bilərsiniz:
xinabox_switch.local/rpc/Switch
… eyni təsiri ilə.
Adım 8: Növbəti addım
Bir URL çıxara biləcək hər hansı bir vasitədən istifadə edə bilərsiniz. Bunu telefonumdan və ya Apple Watch -dan bir komplikasiya olaraq etməyə imkan verən Workflow adlı bir Apple Tətbiqindən edirəm, amma orada bir çox başqa seçim var. İş axını skriptimdir, ancaq sabit kodlu IP ünvanı ilə: Zövq alın!
Apple Tətbiqi: İş axını - burada sabit kodlu IP ünvanı ilə
Addım 9: sxemlər
Buzzer Circuit OC03 -ü mövcud düymə ilə paralel olaraq quraşdırın.
Buradan yükləyin.
OC03 Dövrü OC03 -ü mövcud düymə ilə paralel olaraq quraşdırın.
Buradan yükləyin.
Addım 10: Kod
init.js JavaScript Bu layihə üçün əsas və yeganə kodunuz.
yükləmə ('api_config.js');
yük ('api_gpio.js'); yük ('api_i2c.js'); yük ('api_net.js'); yük ('api_sys.js'); yük ('api_timer.js'); yük ("api_rpc.js"); led = Cfg.get ('pins.led'); adr = 0x38 olsun; avtobus = I2C.get (); I2C.writeRegB (avtobus, adr, 3, 0); I2C.writeRegB (avtobus, adr, 1, 0); / * yalnız əmin olmaq üçün söndürün */ gecikməyə icazə verin = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * OC03 yenidən bağlanarsa * / I2C.writeRegB (avtobus, adr, 1, 1); Timer.set (gecikmə, yalan, funksiya () {GPIO.toggle (led); I2C.writeRegB (avtobus, adr, 1, 0);}, sıfır); doğruya qayıt;});
Tövsiyə:
DigiSpark və Rotary Encoder istifadə edərək USB Səs Düyməsi: 3 addım
DigiSpark və Rotary Encoder istifadə edərək USB Səs Düyməsi: Bu super ucuz USB Səs İdarəetmə Düyməsidir. Bəzən hər yerdə siçan vurmaqdansa, ənənəvi düymələri idarə etmək daha rahatdır. Bu layihə DigiSpark, Rotary Encoder və Adafruit Biblo USB Kitabxanasından istifadə edir (https: //github.c
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək Sürətləndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi