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

Check-In Elektronik

Komponen dan persediaan

Arduino Mega 2560
× 1
Modul RF Antena Baca Kartu Mifare RC522
× 1
LED (generik)
× 2
Saklar taktil
× 2
Resistor (generik)
× 4

Tentang proyek ini

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:

  • Gunakan Arduino Mega dengan papan RC522 untuk mendapatkan nomor ID dari EasyCard yang diberikan
  • Gunakan penyihir untuk mengetahui apakah orang tersebut check in atau out
  • Gunakan LED untuk memberikan beberapa masukan dan antarmuka pengguna dasar untuk perangkat keras
  • Server Node.js untuk berkomunikasi dengan Arduino, antarmuka database check-in/out, dan menyediakan API dan akses real-time ke data
  • Buat sedikit antarmuka di situs web untuk menampilkan status check-in

Sekarang izinkan saya menggali bagian-bagian yang berbeda secara mendetail.

RFID

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:

  • SA(1) → SS(53)
  • SCK(2) → SCK(52)
  • MOSI(3) → MOSI(51)
  • MISO(4) → MISO(50)
  • (5) tidak terhubung
  • GND(6) → GND
  • RST(8) → (pin digital apa saja)
  • +3,3V(8) → +3,3V
RFID-RC522, dengan kartu dan pin kosong

Kode sumber untuk berbicara dengan kartu berasal dari blog, dan berasal dari toko teknologi di Cina, kurasa (berdasarkan banyak komentar Cina Sederhana).

Sakelar dan Umpan Balik Visual

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.

Server web

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 tertentu

Bisa juga ada orang tanpa nama, mereka hanya menunjukkan sesuatu seperti "Saat ini ada tiga orang diperiksa di Hackerspace:Greg, dan dua orang lainnya."

SpaceAPI

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.

Ia hidup!

Berikut adalah video demonstrasi singkat tentang cara kerjanya:

https://www.youtube.com/embed/L3ccO_AuhQ8?feature=oembed

Jadi, 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

Kode

Github
https://github.com/taipeihackerspace/thcheckinhttps://github.com/taipeihackerspace/thcheckin

Skema


Proses manufaktur

  1. Tinta Elektronik
  2. Arduino RFID Lock Dengan RC522 - Protokol MIFARE 13.56 Mhz
  3. Arduino Spybot
  4. FlickMote
  5. TV Buatan Sendiri B-Gone
  6. Jam Master
  7. Temukan Saya
  8. Arduino Power
  9. Bunglon Elektronik
  10. Tech-TicTacToe