Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 4 |
Salah satu masalah yang sering kami alami di Taipei Hackerspace adalah orang tidak tahu kapan kami buka. Aturan dasar kami sederhana:setiap kali anggota pemegang kunci berada di Hackerspace, siapa saja/semua orang dapat masuk. Dalam praktiknya, meskipun orang tidak pernah benar-benar tahu apakah ada orang di sana.
Mereka bisa menelepon ke ruang, atau bahkan mengirim email ke milis, sementara orang yang saya kenal biasanya akhirnya bertanya langsung kepada saya - hei, ada orang di ruang saat ini? Karena saya tidak selalu tahu jawabannya, pencarian dilakukan untuk solusi yang lebih baik - mungkin lebih bersifat teknologi atau peretasan:mari kita bangun sistem check-in/out elektronik yang akan menunjukkan status terkini di situs web.
Ide utamanya adalah bahwa di Taipei hampir setiap orang memiliki EasyCard, kartu RFID 13,56MHz yang digunakan untuk semua transportasi umum di kota dan banyak lagi. Modul antena kartu RC522 tampaknya dapat membaca kartu dengan cukup baik, dan yang saya perlukan hanyalah nomor ID yang cukup mudah (setelah menggali forum Arduino untuk kode sumber).
Proyek singkatnya adalah:
Sekarang izinkan saya menggali bagian-bagian yang berbeda secara mendetail.
Modul RC522 memiliki 8 pin, dan Arduino dapat menggunakan perpustakaan SPI untuk berkomunikasi dengannya. Saya menggunakan Arduino Mega ADK, karena pin SPI mudah diakses, tidak seperti misalnya. Leonardo, yang untuk itu saya harus membuat beberapa kabel atau header baru. Koneksi RC522(nomor pin)->Mega(nomor pin) dilakukan sedemikian rupa sehingga:
Kode sumber untuk berbicara dengan kartu berasal dari blog, dan berasal dari toko teknologi di Cina, kurasa (berdasarkan banyak komentar Cina Sederhana).
Saya ingin membuat antarmuka sesederhana mungkin untuk pembaca kartu. Menambahkan sepasang sakelar dan LED ini (D1 menjadi hijau, dan D2 menjadi merah). Setelah Arduino menerima ID kartu dari pembaca, LED berkedip untuk meminta orang untuk menekan tombol Check In atau Check Out. Jika mereka menekan salah satunya, LED yang sesuai akan berkedip sangat terang untuk beberapa saat, dan ID kartu dan acara check-in/out dikirim ke komputer yang terhubung melalui koneksi serial
Sirkuit (sangat dasar) untuk tombol check-in/out dan LED umpan balik visual. "Pin" mengacu pada pin Arduino yang digunakan dalam versi saat ini
Jika tidak ada penekanan tombol dalam 10 detik atau lebih, pembacaan akan dibuang dan pembaca kartu kembali ke mode mendengarkan.
Node.js sangat berguna untuk membuat layanan web cepat, dan dukungan perpustakaannya tidak terlalu buruk sama sekali, meskipun tidak semuanya mulus:dokumentasi mereka seringkali sangat langka. Namun demikian, ini adalah yang tercepat untuk menyiapkan dan menjalankannya, karena saya telah menggunakan hampir semua komponen yang diperlukan sebelumnya.
Server berkomunikasi dengan Arduino melalui perpustakaan serialport. Saya lebih terbiasa dengan pyserial Python, meskipun dalam hal ini sangat berguna bahwa serialport dapat memancarkan acara baca, sehingga server hanya bisa menunggu sampai ada sesuatu untuk membaca dan menjalankan beberapa fungsi pada data yang masuk. Dalam pengalaman saya, serialport tidak akan baik untuk setiap kasus sudut yang saya temui di serial-land, tetapi dalam pengaturan ini bekerja dengan baik.
Saya memilih SQLite3 untuk menyimpan data, menggunakan perpustakaan sqlite3. Masih banyak yang lain, harus melihat-lihat mana yang masih dikembangkan. Pustaka khusus ini tidak terlalu buruk, meskipun saya mendapati diri saya berjuang melawan kurangnya dokumentasi dan asinkronisitas sedikit. Kode yang dihasilkan cukup jelek saya yakin, di beberapa tempat tidak efisien karena saya tidak tahu bagaimana mendapatkan hasil yang saya inginkan dengan cara yang tidak terlalu memutar, tampaknya masih berfungsi dan itulah yang penting untuk sebuah prototipe.
Pertama saya membuat REST API sederhana untuk menanyakan orang yang saat ini check-in, dan kemudian menambahkan pembaruan push (waktu nyata) melalui socket.io, untuk membuatnya lebih baik. Sungguh luar biasa bahwa tanpa polling apa pun, semua klien dapat diperbarui setelah seseorang masuk atau keluar.
Karena kode ini berjalan di komputer yang berbeda dari server web utama kami, kami harus bermain-main dengan header Access-Control-Allow-Origin , dan menyesuaikan setelan router kami agar dapat diakses oleh web dengan benar.
Mencoba menambahkan cukup banyak skrip mandiri yang dapat dimuat oleh front-end, dan menangani semuanya, hanya perlu rentang HTML atau elemen div yang sesuai untuk menampilkan informasi.
Pengaturan perangkat keras untuk check in/out:Arduino Mega, sirkuit RFID-RC522, dan beberapa sakelar dan LED.Hasilnya cukup bagus, selama card-reader tidak crash. Awalnya hasilnya ditampilkan dalam tabel, tetapi ingin membuatnya lebih manusiawi, jadi inilah format yang saya dapatkan:
Tangkapan layar beranda dengan satu situasi check-in tertentuBisa juga ada orang tanpa nama, mereka hanya menunjukkan sesuatu seperti "Saat ini ada tiga orang diperiksa di Hackerspace:Greg, dan dua orang lainnya."
Ada juga proyek bernama Space API untuk spesifikasi terpadu guna mengekspos informasi mengenai ruang itu sendiri (
Gadget lapor-masuk ini terintegrasi dengan titik akhir API Ruang Taipei Hackerspace kami, yang menunjukkan status pembukaan kami, sehingga dapat digunakan dengan mis. aplikasi Android My Hackerspaces, atau dengan aplikasi lain yang terdaftar di situs Space API.
Berikut adalah video demonstrasi singkat tentang cara kerjanya:
https://www.youtube.com/embed/L3ccO_AuhQ8?feature=oembedJadi, Anda dapat melihat situs web kami di https://taipeihack.org/#open untuk mengetahui hasil langsung, dan mampir jika Anda berada di lingkungan sekitar jika ada orang di 'space.
Seluruh kode sumber dibagikan dalam repositori Github:sketsa Arduino, skrip server, dan file tambahan apa pun. Saya yakin ada banyak hal yang bisa diperbaiki darinya...
Tulisan asli: Check-in elektronik di Taipei Hackerspace
Proses manufaktur
Komponen dan persediaan Arduino Due dari http://www.arduino.cc × 1 3.2 Modul Sentuh TFT 400*240 SD Dengan Perisai untuk Arduino Jatuh tempo Saya menggunakan yang dari Elechouse × 1 RTC DS3231 Jam waktu nyata dari Ebay × 1 GPS uBlox Neo 6M Modul GPS dari Ebay × 1
Komponen dan persediaan Arduino Mega 2560 × 1 Alat dan mesin yang diperlukan Jigsaw Aplikasi dan layanan online Arduino IDE Tentang proyek ini Ini adalah lift 5 lantai yang berfungsi. Tingginya 3 kaki. Kami bekerja keras untuk ini. Mari kita mu
Komponen dan persediaan Arduino UNO × 1 Sensor Pencari Jangkauan ToF SparkFun - VL6180 VL53L0X untuk jarak jauh dan VL6180X untuk jarak dekat. disini saya menggunakan VL6180X × 1 motor servo × 1 Aplikasi dan layanan online Arduino IDE Memproses
Komponen dan persediaan Arduino MKR1000 × 1 Klik Lingkungan MikroE × 1 Alat dan mesin yang diperlukan Kabel jumper Adafruit Wanita/Wanita Aplikasi dan layanan online Arduino IDE WolkAbout IoT Platform Tentang proyek ini