Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pintu Cerdas dengan Face Unlock

Komponen dan persediaan

Modul WiFi Baut IoT Baut
× 1
Arduino UNO
× 1
Buzzer
× 1
Ukuran Penuh Papan Tempat Memotong Roti Tanpa Solder
× 1
Sakelar Tombol Tekan SparkFun 12mm
× 2
LED 5 mm:Merah
× 1
LED 5 mm:Hijau
× 1
Resistor 10k ohm
× 2
Resistor 330 ohm
× 2
Kabel jumper (generik)
× 1

Alat dan mesin yang diperlukan

Pistol lem panas (generik)

Aplikasi dan layanan online

Bolt IoT Bolt Cloud
Microsoft Windows 10
Microsoft Visual Studio
Arduino IDE
Wajah++

Tentang proyek ini

Selamat datang, sobat penasaran! Kita hidup di era revolusi internet di mana sekarang lebih mudah dari sebelumnya untuk bereksperimen dan berinovasi untuk menghasilkan ide-ide brilian yang dapat berdampak positif pada jutaan orang di seluruh dunia.

Pernah ingin menambahkan sedikit keamanan ekstra ke rak, laci, lemari pakaian, atau pintu Anda di rumah? Dalam hal inovasi menggunakan internet, di antara ribuan platform dan alat yang tersedia bagi kami, beberapa yang menonjol adalah Arduino dan Bolt IoT . Dalam proyek ini, kami akan memodifikasi rak standar agar memiliki sistem keamanan yang dapat dibuka menggunakan Verifikasi Wajah. Kami akan membuat Aplikasi Windows Forms di C# yang dapat menyimpan, memverifikasi, dan membuka kunci wajah tepercaya. Ini menggunakan FacePlusPlus API untuk verifikasi wajah dan Bolt IoT Cloud API untuk berkomunikasi dengan Bolt WiFi Module dan Arduino. Kami akan menghubungkan Modul WiFi Bolt dengan Arduino Uno , yang akan mengontrol motor servo untuk mengunci/membuka kunci pintu.

Bersemangat? Mari kita mulai.

Latar belakang

Saya membuat proyek ini sebagai bagian dari Innovate Challenge dan Pelatihan IoT, yang diadakan oleh Pelatihan Internshala. Pelatihan mereka membantu memahami dasar-dasar berurusan dengan layanan API, Pemrograman Berorientasi Objek dan yang paling penting, menggunakan Modul WiFi Bolt. Sinopsis Proyek Capstone yang dilakukan sebagai bagian dari pelatihan ini dapat ditemukan di sini. Banyak dari konsep-konsep ini berguna selama pengembangan proyek ini. Jadi, teriakkan semangat kepada Tim Internshala yang memungkinkan hal ini terjadi.

Langkah 1:Membangun Perangkat Lunak

Kami akan membangun Aplikasi Windows Forms menggunakan Visual Studio. Aplikasi ini berjalan pada mesin Windows, dan akan bertanggung jawab untuk mengelola wajah yang diotorisasi, memverifikasi wajah menggunakan API FacePlusPlus, dan berkomunikasi dengan Modul WiFi Bolt. Kami akan menggunakan C# untuk membuat kode.

Jalankan Visual Studio dan buat proyek Aplikasi Windows Forms baru. Jika Anda benar-benar baru mengenal Visual Studio, saya sarankan untuk mempelajari dasar-dasar Pengembangan Aplikasi Windows Forms menggunakan Visual Studio. Ini dan ini adalah sumber yang bagus untuk memulai.

Dalam tutorial ini, saya hanya akan menjelaskan kode menggunakan cuplikan dari proyek yang melakukan fungsi utama dan penting. Akan membosankan dan tidak perlu membaca seluruh kode karena sebagian besar sudah cukup jelas dan didokumentasikan dengan baik.

Proyek Visual Studio kami menggunakan 3 perpustakaan untuk berbagai tujuan. Mereka adalah:

  • AForge .NET :Kerangka .NET populer yang digunakan untuk pemrosesan gambar di Windows. Kami menggunakannya untuk mengambil gambar dari webcam.
  • Baut IoT API .NET :Pustaka klien tidak resmi yang saya tulis dalam C#, untuk mengomunikasikan Bolt Cloud API.
  • Newtonsoft JSON :Kerangka kerja JSON berkinerja tinggi yang populer untuk .NET. Digunakan untuk mengurai respons API dalam proyek kami.

CATATAN:Untuk kejelasan dalam penggunaan berbagai metode dalam API di atas, silakan merujuk ke dokumentasi masing-masing di sini, di sini, dan di sini.

Memulai

Sebelum masuk ke coding, kita perlu menyiapkan beberapa hal.

1. Kredensial Bolt Cloud API

Jika Anda belum melakukannya, ke cloud.boltiot.com dan buat akun. Setelah Anda masuk, tautkan Modul WiFi Anda dengan Bolt Cloud. Untuk itu, unduh Aplikasi Bolt IoT Setup di ponsel Anda. Ikuti instruksi yang diberikan di aplikasi untuk menautkan perangkat Anda dengan akun Anda. Ini melibatkan memasangkan Bolt dengan jaringan WiFi lokal. Setelah berhasil ditautkan, dasbor Anda akan menampilkan perangkat Anda. Sekarang Anda bisa mendapatkan ID Perangkat dan dan Kunci API dari dasbor.

2. Kredensial API FacePlusPlus

Layanan API lain yang kami andalkan dalam proyek ini adalah FacePlusPlus API . Ini adalah platform gratis yang menawarkan berbagai jenis layanan pengenalan gambar. Kami menggunakannya untuk identifikasi wajah. Buat akun dan buka konsol FacePlusPlus. Buka Kunci API di bawah Aplikasi dan klik +Dapatkan Kunci API . Catat Kunci API yang baru dibuat dan Rahasia API .

Sekarang Anda harus menyiapkan yang berikut ini:

string pribadi hanya-baca BOLT_DEVICE_ID ="BOLTXXXXXX";string pribadi hanya-baca BOLT_API_KEY ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string hanya-baca pribadi FPP_API_KEY ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";string pribadi hanya-baca FPP_API_SECRET ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 

Kami membuat instance global baru dari kelas Bolt yang disebut myBolt , di mana kami akan melakukan semua komunikasi di masa mendatang dengan Modul WiFi:

myBolt =baut baru(BOLT_API_KEY, BOLT_DEVICE_ID); 

Karena itu, sekarang mari kita lihat bagaimana aplikasi kita menjalankan beberapa fungsi inti.

1. Kunci/Buka Pintu

Kami telah merancang sirkuit sedemikian rupa sehingga ketika Digital Pin 0 HIGH , pintu seharusnya terkunci, dan saat Digital Pin 3 HIGH , pintu seharusnya tidak terkunci. Ini akan menjadi lebih jelas nanti saat kita membahas skema rangkaian.

Untuk mengunci, kami menggunakan DigitalMultiWrite metode dari perpustakaan untuk menulis HIGH nilai ke D0 dan nilai LOW ke D3. Ini akan memberi sinyal kepada Arduino untuk mengunci pintu. Demikian pula untuk membuka kunci, kami akan menulis LOW nilai ke D0 dan HIGH nilai D3. Ini akan memberi sinyal kepada Arduino untuk membuka kunci pintu. Kita akan membahas kode Arduino dan desain sirkuit nanti dalam tutorial ini.

Kode yang melakukan penguncian:

tugas asinkron pribadi LockDoor(){ MultiPinConfig multiPinConfig =new MultiPinConfig(); MultiPinConfig.AddPinState(DigitalPins.D0, DigitalStates.Tinggi); //Lock Signal multiPinConfig.AddPinState(DigitalPins.D3, DigitalStates.Low); // Buka Kunci Sinyal menunggu myBolt.DigitalMultiWrite(multiPinConfig); multiPinConfig =MultiPinConfig baru(); multiPinConfig.AddPinState(DigitalPins.D0, DigitalStates.Low); //Lock Signal multiPinConfig.AddPinState(DigitalPins.D3, DigitalStates.Low); //Buka Kunci Sinyal menunggu myBolt.DigitalMultiWrite(multiPinConfig);} 

Kode yang melakukan pembukaan kunci:

tugas asinkron pribadi UnlockDoor(){ MultiPinConfig multiPinConfig =new MultiPinConfig(); multiPinConfig.AddPinState(DigitalPins.D0, DigitalStates.Low); //Lock Signal multiPinConfig.AddPinState(DigitalPins.D3, DigitalStates.High); // Buka Kunci Sinyal menunggu myBolt.DigitalMultiWrite(multiPinConfig); multiPinConfig =MultiPinConfig baru(); multiPinConfig.AddPinState(DigitalPins.D0, DigitalStates.Low); //Lock Signal multiPinConfig.AddPinState(DigitalPins.D3, DigitalStates.Low); //Buka Kunci Sinyal menunggu myBolt.DigitalMultiWrite(multiPinConfig);} 

2. Tambah/Hapus Wajah Tepercaya

Data gambar wajah tepercaya dikodekan ke dalam string Base64 dan disimpan secara lokal di mesin. Daftar nama yang sesuai dari setiap wajah juga disimpan. Dalam program kami, untuk menambahkan wajah, pertama-tama kami memverifikasi apakah ada wajah yang tersedia di bingkai saat ini. Kami melakukan ini menggunakan API Deteksi FacePlusPlus. Ini mengembalikan respons JSON yang akan berisi fitur wajah yang terdeteksi. Jika tidak ada wajah yang terdeteksi, responsnya adalah [] . Setelah wajah terdeteksi, kami menyimpan string yang disandikan base64 gambar dan nama yang sesuai. Berikut demo video menambahkan wajah tepercaya.

Menghapus wajah cukup mudah. Menekan tombol hapus akan menghapus data gambar dan nama dari daftar yang disimpan.

Kode yang menambahkan dan menyimpan informasi wajah:

//Mengonversi gambar ke string base64 dan menambahkannya ke daftar. ImageDataList.Add(ImageToBase64((Image)PreviewBox.Image.Clone()));//Menambahkan nama wajah ke listNameList.Add(FaceNameTextBox.Text.Trim()); //Menyimpan data gambar wajah sebagai string enkode dasar, bersama dengan nameProperties.Settings.Default.Base64ImageData =ImageDataList;Properties.Settings.Default.FaceNames =NameList;Properties.Settings.Default.Save(); 

Kode yang menghapus informasi wajah:

//Menghapus informasi wajah pada posisi tertentu dalam listNameList.RemoveAt(e.RowIndex);ImageDataList.RemoveAt(e.RowIndex); //Menyimpan daftar setelah penghapusan faceProperties.Settings.Default.FaceNames =NameList;Properties.Settings.Default.Base64ImageData =ImageDataList;Properties.Settings.Default.Save(); 

Lihat kode di proyek terlampir di mana prosesnya dijelaskan sebagai komentar di setiap baris untuk mendapatkan ide yang jelas.

3. Verifikasi Wajah

Kami memverifikasi apakah wajah dipercaya atau tidak dengan menggunakan Bandingkan API di FacePlusPlus. Selama proses ini, kami mengulangi secara linier setiap wajah dalam daftar yang disimpan dan membandingkannya dengan gambar yang diambil. Jika API mengembalikan kepercayaan lebih dari 80%, kami akan membuka kuncinya.

Kode yang melakukan perbandingan ini terlihat seperti ini:

Klien WebClient =WebClient baru(); byte[] response =client.UploadValues("https://api-us.faceplusplus.com/facepp/v3/compare", new NameValueCollection(){ { "api_key", FPP_API_KEY }, { "api_secret", FPP_API_SECRET }, { "image_base64_1", face1Base64}, { "image_base64_2", face2Base64} });}); string kepercayaan =JObject.Parse(System.Text.Encoding.UTF8.GetString(respons))["confidence"].ToString(); 

WebClient.UploadValues metode mengirim permintaan ke FacePlusPlus API bersama dengan data wajah yang disandikan base64 dari dua wajah untuk dibandingkan dan kredensial API kami. Respons diurai menggunakan Newtonsoft JSON perpustakaan dan kepercayaan nilai diperoleh. Baca dokumentasi Bandingkan API untuk memahami argumen dengan jelas.

4. Lonceng Mendengarkan Thread

Kami berencana untuk menyediakan tombol tekan fisik, seperti tombol bel panggilan, sehingga pengguna dapat menekan sambil melihat ke kamera untuk membuka kunci pintu. Untuk memungkinkan ini, kita perlu membuat utas khusus baru yang terus mendengarkan acara tekan tombol bel.

Nanti dalam tutorial ini, kita akan melihat bagaimana push button bekerja dan bagaimana itu akan membuat pin D4 modul WiFi Bolt HIGH saat tombol ditekan. Untuk saat ini, kita hanya akan berasumsi di atas. Jadi di utas ini, kami terus DigitalRead nilai pin D4. Jika TINGGI , kami akan menganggapnya sebagai acara membunyikan bel dan melakukan pengambilan wajah dan verifikasi.

Berikut kode yang akan terus berjalan di utas mendengarkan lonceng:

sementara (ListenForBell){ Respons R =menunggu myBolt.DigitalRead(DigitalPins.D4); if (R.Nilai =="1") { RingBell_Click(null, null); Benang.Tidur(2000); } Thread.Sleep(2000);} 

Kami berhenti dan menunggu selama 2 detik di antara setiap iterasi. Jika tidak, kuota penggunaan Bolt Cloud API akan cepat habis.

Langkah 2:Membangun Proyek Visual Studio

Unduh seluruh proyek di sini . Buka Facebolt Doorlock.sln file di Visual Studio. Setelah solusi dimuat, buka Form1.cs file dan perbarui kode dengan kredensial API Anda. Tekan tombol putar hijau bernama 'Mulai', untuk membangun dan menjalankan program.

Program ini memungkinkan Anda memilih dari perangkat kamera yang terpasang ke sistem dan melihat umpan langsung dari kamera. Anda dapat Tambah/Hapus wajah tepercaya. Mulai pemantauan wajah. Setelah program memverifikasi konektivitas Perangkat Bolt, Anda dapat membunyikan bel atau mengunci pintu langsung dari program.

Tidak apa-apa jika Anda sekarang bingung tentang cara kerja verifikasi wajah, penguncian, dan pembukaan kunci dalam program. Ini akan menjadi lebih jelas setelah kita melihat desain skema rangkaian dan kode Arduino. Saya juga akan merinci alur peristiwa dari setiap operasi di akhir.

Langkah 3:Desain Sirkuit dan Kode Arduino

Di sirkuit kami, kami bermaksud menerapkan fitur berikut:

  • Indikasi LED Merah dan Hijau masing-masing untuk status pintu terkunci dan tidak terkunci.
  • Tombol tekan untuk bertindak seperti sakelar bel panggilan. Saat ditekan, aplikasi WinForms kami akan memverifikasi wajah dan pintu terbuka setelah otentikasi wajah berhasil.
  • Tekan tombol lain untuk mengunci pintu.
  • Buzzer yang berbunyi bip jika bel pintu berdering dan dikunci.

Sambungan sirkuit proyek kami ditunjukkan di bawah ini:

Jika Anda belum melakukannya, unduh Arduino IDE dari sini dan hubungkan Arduino Anda ke sistem. Pastikan Anda telah mengatur model dan Port Arduino yang benar di pengaturan IDE, sebelum mengunggah kode.

Kode Arduino:

#include  #define ServoPin 4#define LockSignalPin 2#define UnLockSignalPin 3#define BellButtonPin 5#define LockButtonPin 8#define RingBellSignalPin 6#define BuzzerPin 10Pin 9#define GreenLed myServo; void setup() { pinMode(LockSignalPin, INPUT); pinMode(Buka KunciSignalPin, INPUT); pinMode(BellButtonPin, INPUT); pinMode(LockButtonPin, INPUT); pinMode(Pin Buzzer, OUTPUT); pinMode(RedLedPin, OUTPUT); pinMode(GreenLedPin, OUTPUT); pinMode(RingBellSignalPin, OUTPUT); digitalWrite(RedLedPin, RENDAH); digitalWrite(GreenLedPin, RENDAH); digitalWrite(RingBellSignalPin, RENDAH); myServo.attach(ServoPin); Serial.begin(9600);} void loop() { int lockButton, lock, unlock, bell; char snum[5]; kunci =digitalRead(LockSignalPin); buka kunci =digitalRead(Buka KunciSignalPin); // Periksa apakah sinyal kunci dari Baut HIGH if(lock ==HIGH) { // Putar motor ke posisi terkunci myServo.write(120); // Atur indikasi LED digitalWrite(GreenLedPin, LOW); digitalWrite(RedLedPin, TINGGI); // Buzz mengunci suara digitalWrite(BuzzerPin, HIGH); penundaan (1000); digitalWrite(Pin Buzzer, RENDAH); penundaan (1000); } // Periksa apakah sinyal buka kunci dari Baut TINGGI jika (buka kunci ==TINGGI) { // Putar motor ke posisi tidak terkunci myServo.write(0); // Atur indikasi LED digitalWrite(GreenLedPin, HIGH); digitalWrite(RedLedPin, RENDAH); penundaan(2000); } lonceng =digitalRead(BellButtonPin); if(bell ==HIGH) // Pengguna menekan bell ring betton { // Signal Bolt bahwa tombol ring ditekan digitalWrite(RingBellSignalPin, HIGH); // Pola suara bel panggilan ! digitalWrite(Pin Buzzer, TINGGI); penundaan(100); digitalWrite(Pin Buzzer, RENDAH); penundaan (20); digitalWrite(Pin Buzzer, TINGGI); penundaan (200); digitalWrite(Pin Buzzer, RENDAH); penundaan(100); digitalWrite(Pin Buzzer, TINGGI); penundaan(100); digitalWrite(Pin Buzzer, RENDAH); penundaan (20); digitalWrite(Pin Buzzer, TINGGI); penundaan (200); digitalWrite(Pin Buzzer, RENDAH); penundaan (1500); // Matikan sinyal digitalWrite(RingBellSignalPin, LOW); } lockButton =digitalRead(LockButtonPin); if(lockButton ==HIGH) // Pengguna menekan lock betton { // Putar motor ke posisi terkunci myServo.write(120); // Atur indikasi LED digitalWrite(GreenLedPin, LOW); digitalWrite(RedLedPin, TINGGI); // Buzz mengunci suara digitalWrite(BuzzerPin, HIGH); penundaan (1000); digitalWrite(Pin Buzzer, RENDAH); }} 

Alur Acara

Sekarang setelah aplikasi WinForm dan desain Arduino siap, mari selami kode dan jelajahi alur kontrol setiap operasi.

1. Cincin Tekan Tombol

2. Kunci Tekan Tombol

Kedua operasi di atas juga dapat dijalankan langsung dari Aplikasi Windows Forms juga.

Di sini, kita dapat mengamati bahwa Modul WiFi Baut berfungsi sebagai antarmuka nirkabel penting antara Aplikasi Windows Forms dan Arduino. Penggunaan Bolt Cloud API memungkinkan kami untuk memperluas proyek kami dan membangun aplikasi di platform lain seperti Android dan membuka kunci pintu menggunakan ponsel kami! Fleksibilitas ini adalah kekuatan IoT dan Bolt Platform.

Sekarang kita telah menyelesaikan bagian desain perangkat lunak, mari kita lanjutkan dan membangun mekanisme pintu yang dapat dikunci.

Langkah 4:Membangun Perangkat Keras

Saya memiliki rak sepatu yang tergeletak di sekitar jadi dalam proyek ini, saya akan menggunakannya untuk demonstrasi kunci. Anda dapat menggunakan rak atau pintu atau lemari pakaian atau apa pun yang memiliki mekanisme penguncian yang dapat diretas. Terserah Anda.

Kita perlu membangun mekanisme kopling yang menghubungkan motor servo kita dengan kunci. Untuk ini, ide saya adalah menggunakan leher potong dari botol dan tutup botol lain. Pasang leher botol ke motor servo dan tutupnya ke kunci. Kami kemudian akan memasangkannya menggunakan benang nilon. Ini akan menghasilkan tindakan mengunci/membuka kunci setiap kali motor berputar.

Leher botol yang diperlukan dengan lubang yang dibor di tutupnya terlihat seperti yang ditunjukkan di bawah ini. Kami akan menempelkan ini ke poros pengunci rak sepatu.

Tutup botol lain harus dipasang ke motor servo. Kami menggunakan kabel tembaga untuk menghubungkan tutup ke poros putar motor.

Sekarang kita perlu memasangkan keduanya. Untuk itu kami menggunakan benang nilon. Buat lingkaran menggunakan utas dengan panjang yang diperlukan dan pasang utas ke kedua tutupnya.

Setelah digabungkan, mereka dapat menyebabkan tindakan rotasi timbal balik:

Sekarang setelah mekanisme putar kita siap, saatnya untuk meretas kunci dan memperbaiki leher botol kita di dalamnya. Kami telah mengebor lubang di dalamnya, jadi yang perlu kami lakukan hanyalah melepaskan poros pengunci dari rak, letakkan leher botol di atasnya dan kencangkan kembali kuncinya.

Sekarang satu-satunya yang tersisa untuk dilakukan adalah memperbaiki motor servo ke rak sepatu. Kami akan menggunakan lem panas untuk menyegel motor ke rak.

Setelah menyesuaikan panjang utas dan cukup mengencangkannya, kami menyiapkan pengaturan akhir. Seperti yang terlihat di bawah, motor servo dapat mengunci dan membuka kunci pintu dengan benar!

Anda tidak perlu menggunakan metode sambungan leher botol - benang. Gunakan metode apa pun yang paling cocok dan nyaman dengan sistem kunci Anda.

Untungnya, saya memiliki lubang kecil di tempat yang tepat di rak. ini memungkinkan saya untuk mendapatkan koneksi motor servo dengan mudah. Setelah sedikit pekerjaan dekorasi dan pelabelan, rak sepatu pintar terakhir kami sekarang siap beraksi.

Kita sudah siap sekarang. Yang tersisa untuk dilakukan adalah menyalakan sirkuit, menambahkan wajah tepercaya di aplikasi WinForms dan menikmati keamanan penguncian wajah di pintu kami. Anda harus memberi daya pada Modul WiFi Arduino dan Bolt. Saya menggunakan bank daya 10000 mAh untuk memberi daya pada keduanya. WebCam yang saya gunakan adalah Microsoft LifeCam VX-800. Sudah tua tapi masih lebih baik dari kamera laptop. Periksa video demonstrasi. Ini menunjukkan cara kerja proyek kami secara detail.

Demonstrasi Video

Tonton aksi proyek kami (Permintaan maaf atas kualitas video):

Kesimpulan

Huff.. itu cukup panjang. Proyek ini adalah buah dari pelatihan IoT Internshala, yang didukung oleh Bolt IoT. Meskipun proyek ini cukup sederhana, proyek ini menunjukkan kepada kita potensi Internet of Things dan bagaimana hal itu dapat membuat kehidupan sehari-hari orang lebih mudah.

Bagaimanapun.. Ini adalah pengalaman belajar yang luar biasa bagi saya. Saya harap kalian akan menikmati membangun ini dan saya senang melihat inovasi baru apa yang akan Anda hasilkan. Saya mengakhiri dengan mengucapkan terima kasih yang tulus kepada tim Pelatihan di Internshala dan Bolt IoT yang telah memungkinkan usaha ini.

Dan itu bungkusnya!

Kode

  • BoltDoorLock.ino
  • Aplikasi WinForms - Proyek Visual Studio (Facebolt Doorlock).zip
BoltDoorLock.inoC/C++
Kode Arduino.
#include #define ServoPin 4#define LockSignalPin 2#define UnLockSignalPin 3#define BellButtonPin 5#define LockButtonPin 8#define RingBellSignalPin 6#define BuzzerPin 10Pin 9#define GreenLin;void setup() { pinMode(LockSignalPin, INPUT); pinMode(Buka KunciSignalPin, INPUT); pinMode(BellButtonPin, INPUT); pinMode(LockButtonPin, INPUT); pinMode(Pin Buzzer, OUTPUT); pinMode(RedLedPin, OUTPUT); pinMode(GreenLedPin, OUTPUT); pinMode(RingBellSignalPin, OUTPUT); digitalWrite(RedLedPin, RENDAH); digitalWrite(GreenLedPin, RENDAH); digitalWrite(RingBellSignalPin, RENDAH); myServo.attach(ServoPin); Serial.begin(9600);}void loop() { int lockButton, lock, unlock, bell; char snum[5]; kunci =digitalRead(LockSignalPin); buka kunci =digitalRead(Buka KunciSignalPin); // Periksa apakah sinyal kunci dari Baut HIGH if(lock ==HIGH) { // Putar motor ke posisi terkunci myServo.write(120); // Atur indikasi LED digitalWrite(GreenLedPin, LOW); digitalWrite(RedLedPin, TINGGI); // Buzz mengunci suara digitalWrite(BuzzerPin, HIGH); penundaan (1000); digitalWrite(Pin Buzzer, RENDAH); penundaan (1000); } // Periksa apakah sinyal buka kunci dari Baut TINGGI jika (buka kunci ==TINGGI) { // Putar motor ke posisi tidak terkunci myServo.write(0); // Atur indikasi LED digitalWrite(GreenLedPin, HIGH); digitalWrite(RedLedPin, RENDAH); penundaan(2000); } bel =digitalRead(BellButtonPin); if(bell ==HIGH) // Pengguna menekan bell ring betton { // Signal Bolt bahwa tombol ring ditekan digitalWrite(RingBellSignalPin, HIGH); // Pola suara bel panggilan ! digitalWrite(Pin Buzzer, TINGGI); penundaan(100); digitalWrite(Pin Buzzer, RENDAH); penundaan (20); digitalWrite(Pin Buzzer, TINGGI); penundaan (200); digitalWrite(Pin Buzzer, RENDAH); penundaan(100); digitalWrite(Pin Buzzer, TINGGI); penundaan(100); digitalWrite(Pin Buzzer, RENDAH); penundaan (20); digitalWrite(Pin Buzzer, TINGGI); penundaan (200); digitalWrite(Pin Buzzer, RENDAH); penundaan (1500); // Matikan sinyal digitalWrite(RingBellSignalPin, LOW); } lockButton =digitalRead(LockButtonPin); if(lockButton ==HIGH) // Pengguna menekan lock betton { // Putar motor ke posisi terkunci myServo.write(120); // Atur indikasi LED digitalWrite(GreenLedPin, LOW); digitalWrite(RedLedPin, TINGGI); // Buzz mengunci suara digitalWrite(BuzzerPin, HIGH); penundaan (1000); digitalWrite(Pin Buzzer, RENDAH); }}
Aplikasi WinForms - Proyek Visual Studio (Facebolt Doorlock).zipC#
* Ekstrak file zip dan buka file .sln di Visual Studio.
* Ubah kode dengan kredensial API Anda.
* Jalankan proyek.
* Tambahkan wajah tepercaya.
* Terakhir, Mulai pemantauan wajah.
Tidak ada pratinjau (hanya unduhan).
Bolt IoT Cloud API - Pustaka Klien
Ini adalah pustaka klien tidak resmi yang saya tulis, untuk berkomunikasi dengan Bolt Cloud API. Pustaka ini digunakan dalam Aplikasi WinForms kami untuk berkomunikasi dengan Modul WiFi Bolt.https://github.com/diozz/Bolt-IoT-API-.NET

Skema

Skema Sirkuit Fritzing facebolt_doorlock_2RfOtkPW2i.fzz

Proses manufaktur

  1. 433MHz Smart Home Controller dengan Sensorflare dan RaspberryPi
  2. Membuat Pintu Kantor yang Mengunci Otomatis dengan Sensor Jarak Ponsel Cerdas
  3. Pan / Miringkan pelacakan wajah dengan raspberry pi
  4. Bartender Cerdas
  5. Mengencangkan sambungan dengan alat torsi
  6. Jadilah pintar dengan dolar IoT Anda
  7. Menjaga Keamanan Dengan Perangkat Cerdas &IoT
  8. Smart Procurement Saldo AI Dengan HI
  9. Smart Door Lock Menggunakan Halaman Login WiFi oleh Arduino &ESP8266
  10. GE Digital:mengubah manufaktur dengan Smart MES