Smart Lock: Mengapa sloth adalah pendorong kemajuan IoT

Ketika Anda duduk di kursi yang nyaman di kantor modern keren Anda, apa pun yang mengganggu Anda dari rutinitas favorit Anda benar-benar menjengkelkan. Beberapa mungkin menyebutnya tanda kemalasan, tetapi pada kenyataannya, ini berkaitan dengan optimalisasi alur kerja. Komputer dan telepon pintar kami memberi kami banyak peluang untuk melakukan banyak hal tanpa meninggalkan tempat kami. Perangkat lunak seperti itu peduli tentang kontrol kita terhadap dunia fisik hanya dengan mengklik dan mengetuk. Memang, digitalisasi maju: apa yang harus dilakukan orang dengan otot mereka selama berabad-abad di masa lalu, dapat dilakukan dengan perintah suara atau pesan teks hari ini berkat banyak gizmos yang dikendalikan dari jarak jauh. Dan IOT memainkan peran penting dalam semua ini karena suatu alasan.

Artikel asli - Smart Lock: Mengapa sloth adalah pendorong kemajuan IoT

Mari kita bantu kunci pintu berkembang


Ambil tindakan biasa seperti membuka pintu. Tidak ada yang baru secara radikal ditemukan dengan desain dasar pintu selama ribuan tahun. Baik bentuk yang berbeda maupun bahan yang diterapkan tidak dapat mengubah fungsi utama pintu apa pun - untuk mengontrol setiap pintu masuk dan keluar. Apa yang benar-benar berubah sehubungan dengan fungsionalitas pintu adalah metode bagaimana cara memperbaiki pintu dibuka dan ditutup. Orang-orang menemukan kunci pintu dengan berbagai desain mulai dari deadlock primitif dan hingga kunci elektronik berteknologi tinggi dengan sistem pengenalan wajah. Kompleksitas setiap desain kunci pintu kontemporer tergantung pada prosedur khusus memasuki ruangan: brankas bank harus lebih sulit diakses daripada kampus perguruan tinggi.

Gagasan logis untuk membuat solusi IoT sederhana untuk kunci pintu kantor adalah untuk memikirkan perusahaan pengembangan IoT cepat atau lambat. Ketika jumlah staf dihitung dalam lusinan, pembaca kartu biasa di kunci pintu dapat memainkan trik pada beberapa pengembang pelupa yang biasa meninggalkan kartu kunci mereka di rumah dari waktu ke waktu. Karena kolega mereka lelah untuk mengganggu pekerjaan mereka hanya karena membantu membuka pintu kantor, tugas untuk menciptakan solusi IoT yang relevan berubah menjadi motivasi yang sebenarnya. Namun, orang-orang kreatif selalu dapat memanfaatkan situasi apa pun untuk bersenang-senang dan untuk mengungkapkan kreativitas mereka pada saat yang sama. Oleh karena itu, prosedur pengembangan yang cukup biasa untuk membuat aplikasi kunci pintar diubah oleh Indeema menjadi tantangan lucu yang harus diselesaikan melalui Hackathon lain.

Semua orang dipersilakan


Salah satu keuntungan terbesar dari solusi IoT, ketika mereka direpresentasikan sebagai tugas untuk Hackathons, adalah keanekaragaman spesialis yang dapat terlibat dalam pengembangan kolaboratif. Berbeda dengan banyak tantangan perangkat lunak murni lainnya, IoT selalu membutuhkan spesifikasi perangkat keras. Dalam lingkungan IoT, komponen perangkat keras seringkali dapat mengatur nada untuk seluruh proyek. Itulah sebabnya Smart Lock Hackathon sulit dilakukan tanpa insinyur perangkat keras. Dan spesifikasi perangkat keras dari berbagai perusahaan ramah diundang oleh Indeema - semakin banyak semakin baik. Dan mereka tiba.

Tentu saja, API, backend, situs web, dan perangkat lunak tertentu yang dapat melayani perangkat keras yang dipilih semuanya bertanggung jawab atas para programmer yang merupakan mayoritas di Hackathon. Selain itu, para desainer diundang untuk membuat antarmuka yang menarik dan ramah pengguna. Setiap solusi IOT tidak dapat menghindari pengujian, itu sebabnya penguji dan spesifikasi QA mengambil bagian dalam proses tersebut. Selain itu, berbagai anggota tim lainnya seperti manajer penjualan, pemasar, dan bahkan akuntan berpartisipasi dalam acara tersebut untuk memperkuat brainstorming karena generasi ide-ide segar milik imajinasi yang agak alami daripada kemahiran tertentu. Omong-omong, Hackathon adalah kelas khusus dari pertemuan para pengembang di mana setiap orang dapat mencoba hal-hal baru dan menawarkan sesuatu yang berbeda tanpa memperhatikan keahlian khusus apa pun. Dengan kata lain, Hackathon diciptakan untuk mendorong kreativitas dalam bentuk apa pun.



Mengapa hackathon?


Kombinasi peledak kopi, permen, "Red Bull", dan dorongan sejati dari kontes selama sesi tanpa henti 24 jam menjadikan Hackathon suatu peristiwa luar biasa bagi para pengembang yang rutinitasnya harus secara berkala terganggu dengan cara yang baik. Emosi positif yang kuat bersama dengan suasana yang sangat informal membantu orang mengatasi banyak masalah dari sudut yang berbeda. Selain itu, Hackathons dapat menghilangkan jarak antara junior dan senior, manajer puncak dan staf tingkat rendah membuat seluruh tim bekerja atas tugas bersama tanpa subordinasi biasa. Sesuatu yang hampir serupa dipraktikkan di zaman kuno ketika para bangsawan mengatur pesta khusus untuk pelayan mereka setahun sekali. Pada acara-acara seperti itu, para pelayan menjadi setara dengan tuannya yang memanggil mereka dengan nama tanpa gelar.

Tidak perlu dikatakan bahwa emansipasi yang sangat psikologis yang terjadi di Hackathons dapat mengungkapkan beberapa kemampuan kreatif yang tetap tersembunyi ketika alur kerja duniawi berjalan. Jika demikian, beberapa orang mungkin bertanya, mengapa tidak mengatur Hackathon sesering mungkin? Argumen menentangnya terletak pada psikologi manusia: kita mulai terbiasa dengan apa pun yang dipraktikkan secara teratur. Baik efek stimulasi dan pengalaman segar dapat dengan cepat diimbangi oleh pengulangan. Itulah sebabnya kami menikmati liburan yang terjadi hanya beberapa kali dalam setahun.

Kondisi awal dan perangkat keras


Kunci pintu elektromagnetik biasa digunakan sebagai solusi standar di banyak gedung kantor. Biasanya tertutup, dan untuk membukanya, Anda harus menggunakan salah satu kartu RFID dari sisi eksternal (kartu kunci yang sering ditinggalkan oleh pengembang di rumah) atau tombol dari sisi internal. Relay sederhana dapat dihubungkan ke tombol untuk membuat kunci dibuka untuk sementara waktu. Relay pada gilirannya harus dikontrol oleh mikrokontroler (atau komputer mikro) yang mengirimkan sinyal yang relevan. Raspberry Pi terpilih sebagai mikrokontroler yang harus mengontrol relai setelah verifikasi permintaan dari aplikasi klien. Entitas teratas dalam algoritme yang berfungsi seperti itu adalah aplikasi yang bekerja dengan sistem operasi iOS dan Android. Oleh karena itu, seluruh proyek kunci pintar menyiratkan solusi IoT hardware-software yang kompleks yang mengintegrasikan berbagai teknologi seperti backend web, klien untuk iOS dan Android, bagian tertanam di Linux, serta berbagai kerangka kerja dan perpustakaan spesifik Raspberry Pi.

Cara kerja aplikasi




Seluruh sistem terdiri dari 3 aplikasi yang dikembangkan khusus:

  • klien iOS
  • Klien Android
  • Server

dan sistem auth pihak ketiga - Redmine.

Agar tidak membebani aplikasi dengan fungsi yang berlebihan, hanya 3 layar yang dikembangkan untuk antarmuka penggunanya: layar utama, layar masuk, dan pengaturan. Pembuka pintu jarak jauh berbasis smartphone harus sederhana, bukan? Aplikasi ini adalah solusi server-klien yang menggunakan otentikasi pihak ketiga melalui kredensial Redmine perusahaan, sebagai keamanan kami yang paling penting. Setelah masuk, kunci API individual pengguna Redmine dapat dibuat untuk dikirim ke server. Server memverifikasi kunci API tertentu yang mencari tahu apakah itu dapat mengakses Redmine perusahaan atau tidak mengizinkan, oleh karena itu, untuk membuka kunci pintu atau tidak. Aplikasi sisi klien untuk iOS, misalnya, adalah aplikasi sederhana yang ditulis dalam Swift di mana 3D Touch terlibat untuk memudahkan akses. Fitur yang mencegah pembukaan pintu sesekali ketika pengguna jauh dari kantor menyediakan tabel pop-up tambahan di mana pengguna dapat mengkonfirmasi niat untuk membuka pintu. Versi Android dari aplikasi tidak berbeda dari iOS sehubungan dengan fungsionalitas umum. Oleh karena itu, solusi IoT terakhir memberi pengguna kemampuan untuk memasuki kantor dengan hanya beberapa ketukan pada smartphone mereka.

Tantangan dan nuansa pembangunan


Python dipilih sebagai bahasa pemrograman bagian server dari aplikasi. Pilihan ini dimotivasi oleh beberapa pertimbangan terkait periode Hackathon 24 jam yang cukup ketat dan prosesor ARM dari platform target yang disematkan. Yang terakhir ini sedikit lebih rendah daripada prosesor x86 dalam hal kompilasi dan penyebaran. Itu sebabnya Python sebagai bahasa pemrograman tingkat tinggi yang ditafsirkan memungkinkan untuk mengedit kode pada platform target dan host yang diterapkan untuk menjalankan aplikasi segera untuk pengujian. Alasan lain untuk menggunakan Python adalah pustaka standar yang dapat dengan mudah diperluas dengan modul yang ditulis dalam C untuk mengakses berbagai fitur sistem operasi bersama dengan layanan sistem panggilan. Selain itu, aplikasi Python berjalan sebagai layanan Linux ketika sistem operasi menyediakan berbagai fasilitas seperti mengeksekusi aplikasi saat startup, memulai kembali ketika aplikasi macet, menjalankan aplikasi sebagai proses latar belakang dll. Dengan demikian, kelebihan Python telah menyediakan penerapan aplikasi ke platform target tanpa kompilasi awal dari kode sumber ke dalam instruksi mesin.

Berikut adalah skema utama untuk proyek kami.



Selain itu, kerangka kerja web Flask diaplikasikan untuk menyebarkan aplikasi Smart Lock karena kerangka kerja memiliki dependensi minimum bersama dengan persyaratan minimal dari perpustakaan pihak ketiga untuk menjalankan aplikasi server.

Dalam hal beberapa cara khusus pemrograman yang digunakan dalam proyek ini, perpustakaan RPi. GPIO diterapkan untuk memberikan kontrol atas output pin pada papan target Raspberry Pi 3. Perpustakaan menyediakan cara mudah untuk memanipulasi pin fisik pada papan di hanya beberapa baris kode.

Kembali ke kemalasan


Meskipun ada banyak bias, kemalasan manusia "alami" tidak selalu beracun ketika sampai pada kemajuan teknologi. Apakah aplikasi Smart Lock memiliki sloth di latar belakangnya? Ini dipertanyakan karena hanya Hackathon yang dinamis telah menghasilkan solusi IOT yang layak. Namun, aplikasi Smart Lock sebagai hasil langsung dari sesi pengembangan sepanjang malam dapat menyebabkan periode terpanjang terputus ketika pengembang Indeema tidak perlu meninggalkan kursi mereka lagi untuk membiarkan rekan-rekan mereka yang pelupa masuk. Selain itu, ada banyak jenis aktivitas fisik selain membuka pintu kantor. Satu hal yang pasti: efisiensi kerja para pengembang pasti akan tumbuh. Oleh karena itu, solusi Hackathons dan kunci pintar IoT sangat dianjurkan. Dan tentu saja, Indeema selalu senang berbagi kode aplikasi dengan setiap profesional IoT yang tertarik (GitHub) .

Source: https://habr.com/ru/post/id441294/


All Articles