Daftar Isi:
- Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini
- Langkah 2: Cerita
- Langkah 3: Persiapan
- Langkah 4: Konfigurasi
- Langkah 5: Menginstal
- Langkah 6: Pemrograman
- Langkah 7: Uji
- Langkah 8: Langkah Selanjutnya
- Langkah 9: Skema
- Langkah 10: Kode
Video: Tombol Pintu Virtual Menggunakan OS Mongoose dan XinaBox: 10 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Menggunakan Mongoose dan beberapa xChips, kami membuat tombol pintu virtual. Alih-alih tombol fisik untuk mengaktifkan staf, mereka sekarang dapat melakukannya sendiri.
Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini
Komponen perangkat keras
- XinaBox CW02 x 1 Anda bisa menggunakan CW01 sebagai gantinya
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Anda bisa menggunakan IP01 untuk daya, jika Anda tidak ingin memprogram lebih banyak modul.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 "lem" yang membuat semuanya bekerja!
Aplikasi perangkat lunak dan layanan online
Mongoose OS Alat pengembangan IoT yang sangat mengagumkan dan mudah … dan gratis
Langkah 2: Cerita
Dalam resepsi kami, staf kami perlu dihubungi, jadi kami memutuskan untuk mengambil obat kami sendiri dan membuat tombol virtual. Kode ini memungkinkan Anda untuk mengirim RPC (Remote Procedure Call), yang terlihat seperti panggilan HTTP normal dari browser apa pun. Kami menggunakan Mongoose, karena sangat mudah dan cepat untuk digunakan dan memiliki pembaruan kode OTA (Over The Air) bawaan, berarti kami dapat menginstal teknologi kami dan terus meningkatkan firmware, tanpa membongkarnya untuk memprogram ulang.
Langkah 3: Persiapan
- Instal Mongoose-OS: Langsung saja, ikuti langkah-langkah yang sangat mudah ini untuk OS Anda di sini:
- Klik IP01 dan CW02 bersama-sama menggunakan konektor XC10. Lihat gambar di bawah ini:
- Masukkan IP01 ke port USB Anda
- Pastikan sakelar IP01 berada di posisi B dan DCE.
- Flash OS Mongoose ke CW02 dari baris perintah Anda. Seperti ini:
CD
ekspor MOS_PORT= bin/mos flash esp32
Anda juga bisa masuk ke konsol dan melakukan sebagian besar dari sana, tetapi di sini kami melakukannya dari baris perintah, sehingga pekerjaan selesai dengan cepat. Untuk masuk ke konsol:
CD
tempat sampah/mos
Langkah 4: Konfigurasi
Meskipun langkah-langkah ini dapat dilakukan dalam satu pernyataan yang panjang, kami memutuskan untuk membaginya, dan karena Anda akan menyalin dan menempelkannya, mari kita permudah:
Atur pin I2C ke standar xChips:
bin/mos config-set i2c.scl_gpio=14 i2c.sda_gpio=2
Hubungkan CW02 Anda ke WiFi Anda:
bin/mos wifi
Putuskan sambungan WiFi dalam mode AP dan atur nama domain, sehingga Anda dapat terhubung ke CW01 dengan nama host alih-alih menemukan alamat IP yang benar. Ini hanya akan berfungsi jika:
- Anda memutuskan koneksi WiFi dalam mode AP seperti yang kami lakukan di bawah ini.
- Gunakan Mac atau instal Bonjour di mesin Windows Anda.
bin/mos panggil Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos panggil Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos panggil Config. Set '{"config": {"dns_sd": {"host- nama": "xinabox_switch"}}}
Dan akhirnya Anda harus me-reboot CW02 agar konfigurasi berfungsi
bin/mos panggil Config. Save '{"reboot": true}'
Sangat cepat setelah ini, Anda seharusnya dapat melakukan ping ke xinabox_switch.local
Langkah 5: Menginstal
Cabut IP01 dari komputer Anda dan pasang sirkuit sesuai gambar atas.
Colokkan PU01 (atau jika Anda memutuskan untuk tetap menggunakan IP01) ke sumber daya USB. Hubungkan kabel paralel dari sakelar yang ada (biarkan saja, untuk berjaga-jaga) ke OC03 (polaritas tidak masalah). Lihat gambar Fritzing.
Setelah dinyalakan dan untuk melihat bahwa Anda benar-benar berbicara dengan xCW02 Anda, bagaimana dengan memindai BUS, alias bus I2C:
bin/mos --port ws://xinabox_switch.local/rpc panggilan I2C. Scan
Jika semuanya berfungsi dan xOC03 Anda diinstal dengan benar, Anda akan melihat angka '56' ditampilkan. Itu adalah alamat I2C dari OC03 dalam desimal (dalam hex adalah 0x38).
Langkah 6: Pemrograman
- Sekarang buka Mongoose dalam mode konsol, lihat di atas. Itu harus terbuka dengan Jendela di mana ia meminta nomor port, masukkan: ws://xinabox_switch.local/rpc
- Ini akan berkomunikasi dengan CW02, dan menyadari bahwa unit sudah di-flash dan terhubung ke WiFi, jadi itu hanya akan memberikan 3 tanda centang. Tutup jendela dan segarkan daftar file
- Salin dan tempel kode di bawah ini ke init.js, dan klik simpan+reboot
- Sirkuit Anda sekarang diprogram.
Langkah 7: Uji
Anda sekarang telah menerapkan panggilan RPC lain sehingga dari terminal Anda, Anda dapat memasukkan:
bin/mos --port ws://xinabox_switch.local/rpc Sakelar panggilan
… dan bel Anda akan berbunyi selama 2 detik. Anda juga bisa melakukannya dari - hampir - browser apa pun:
xinabox_switch.local/rpc/Switch
… dengan efek yang sama.
Langkah 8: Langkah Selanjutnya
Anda dapat menggunakan alat apa pun yang dapat mengaktifkan URL. Saya melakukannya dari Aplikasi Apple bernama Workflow, yang memungkinkan saya melakukannya dari ponsel saya atau sebagai komplikasi dari Apple Watch saya, tetapi ada banyak opsi lain di luar sana. Ini skrip Workflow saya, tetapi dengan alamat IP hardcode: Selamat menikmati!
Aplikasi Apple: Alur Kerja - di sini dengan alamat IP yang di-hardcode
Langkah 9: Skema
Rangkaian Buzzer Pasang OC03 secara paralel dengan push button yang ada.
Unduh di sini.
Sirkuit OC03 Pasang OC03 secara paralel dengan push button yang ada.
Unduh di sini.
Langkah 10: Kode
init.js JavaScript Kode utama dan satu-satunya Anda untuk proyek ini.
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'); misalkan adr = 0x38; biarkan bus = I2C.get(); I2C.writeRegB(bus, adr, 3, 0); I2C.writeRegB(bus, adr, 1, 0); /* matikan hanya untuk memastikan */ let delay = 2000; GPIO.set_mode(dipimpin, GPIO. MODE_OUTPUT); RPC.addHandler('Switch', function(args) { GPIO.toggle(led); I2C.writeRegB(bus, adr, 3, 0); /* jika OC03 terhubung kembali */ I2C.writeRegB(bus, adr, 1, 1); Timer.set(delay, false, function() { GPIO.toggle(led); I2C.writeRegB(bus, adr, 1, 0); }, null); return true; });
Direkomendasikan:
Arduino Mengontrol Kecepatan dan Arah Motor DC Menggunakan Potensiometer, Tampilan & Tombol OLED: 6 Langkah
Arduino Mengontrol Kecepatan dan Arah Motor DC Menggunakan Potensiometer, Tampilan & Tombol OLED: Dalam tutorial ini kita akan mempelajari cara menggunakan driver KONTROL MOTOR DC L298N dan potensiometer untuk mengontrol kecepatan dan arah motor DC dengan dua tombol dan menampilkan nilai potensiometer pada Layar OLED. Tonton video demonstrasi
Motor DC Mulai, Kecepatan, dan Arah Halus Menggunakan Potensiometer, Tampilan & Tombol OLED: 6 Langkah
Motor DC Start, Kecepatan, dan Arah Halus Menggunakan Potensiometer, Tampilan & Tombol OLED: Dalam tutorial ini kita akan mempelajari cara menggunakan driver KONTROL MOTOR DC L298N dan potensiometer untuk mengontrol start, kecepatan, dan arah motor DC yang mulus dengan dua tombol dan tampilkan nilai potensiometer pada Layar OLED. Tonton video demonstrasi
Tombol Volume USB Menggunakan DigiSpark dan Rotary Encoder: 3 Langkah
USB Volume Knob Menggunakan DigiSpark dan Rotary Encoder: Ini adalah USB Volume Control Knob yang super murah. Beberapa kali kenop tradisional lebih nyaman untuk mengontrol berbagai hal daripada mengklik mouse di mana-mana. Proyek ini menggunakan DigiSpark, Rotary Encoder dan Adafruit Trinket USB Library (https://github.c
Meretas Tombol Pintu Jubilee Line London Underground: 12 Langkah (dengan Gambar)
Meretas Tombol Pintu London Underground Jubilee Line: Toko London Transport Museum menjual tombol pintu yang telah dinonaktifkan dari Jubilee Line (tersedia di kiri dan kanan). Jika Anda berpikir untuk melakukan proyek yang membutuhkan tombol dan semacam lampu indikator, Anda akan
Lampu Otomatis Terhubung Dengan Pemantauan Pintu dan Pintu.: 5 Langkah
Lampu Otomatis Terhubung Dengan Pemantauan Pintu dan Pintu.: Tampaknya sangat sulit untuk menemukan papan sakelar dalam gelap tetapi proyek ini sangat membantu untuk memecahkan masalah ini. Ikuti langkah-langkah di bawah ini untuk mengetahui solusinya