산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

전자 체크인

구성품 및 소모품

Arduino Mega 2560
× 1
Mifare RC522 카드 읽기 안테나 RF 모듈
× 1
LED(일반)
× 2
촉각 스위치
× 2
저항(일반)
× 4

이 프로젝트 정보

Taipei Hackerspace에서 자주 발생하는 문제 중 하나는 사람들이 언제 문을 열지 모른다는 것입니다. 기본 규칙은 간단합니다. 키홀더 구성원이 Hackerspace에 있을 때마다 누구나/누구나 들어올 수 있습니다. 실제로는 사람들이 실제로 거기에 있는지 알지 못합니다.

그들은 스페이스에 전화를 걸거나 메일링 리스트에 이메일을 보낼 수도 있습니다. 반면에 내가 아는 사람들은 대개 나에게 직접적으로 묻습니다. 이봐, 지금 스페이스에 있는 사람이 있습니까? 항상 답을 알지 못하기 때문에 더 나은 방법을 찾았습니다. 아마도 더 기술적이고 해킹된 솔루션일 것입니다. 웹사이트에서 현재 상태를 표시할 전자 체크인/체크아웃 시스템을 구축합시다.

주요 아이디어는 타이베이에서는 거의 모든 사람들이 도시의 모든 대중 교통과 그 이상에 사용되는 13.56MHz RFID 카드인 EasyCard를 가지고 있다는 것입니다. RC522 카드-안테나 모듈은 카드를 꽤 잘 읽을 수 있는 것 같으며, 내가 그것을 내려야 할 필요가 있는 것은 매우 간단한 ID 번호입니다(소스 코드에 대한 Arduino 포럼을 파헤친 후).

간단히 말해서 프로젝트는 다음과 같습니다.

<울>
  • RC522 보드와 함께 Arduino Mega를 사용하여 주어진 EasyCard의 ID 번호 가져오기
  • 마녀를 사용하여 체크인 또는 체크아웃 여부 확인
  • LED를 사용하여 하드웨어에 대한 몇 가지 피드백 및 기본 사용자 인터페이스 제공
  • 아두이노와 통신하고, 체크인/체크아웃 데이터베이스를 인터페이스하고, API 및 데이터에 대한 실시간 액세스를 제공하는 Node.js 서버
  • 체크인 상태를 표시하기 위해 웹사이트에 약간의 인터페이스 생성
  • 이제 다양한 부분을 자세히 살펴보겠습니다.

    RFID

    RC522 모듈에는 8개의 핀이 있으며 Arduino는 SPI 라이브러리를 사용하여 통신할 수 있습니다. 나는 Arduino Mega ADK를 사용했는데, 예를 들어 ADK와 달리 SPI 핀에 편리하게 액세스할 수 있기 때문입니다. Leonardo를 사용하려면 새 케이블이나 헤더를 만들어야 했습니다. RC522(핀 번호)->메가(핀 번호) 연결은 다음과 같이 수행됩니다.

    <울>
  • SA(1) → SS(53)
  • SCK(2) → SCK(52)
  • MOSI(3) → MOSI(51)
  • 미소(4) → 미소(50)
  • (5) 연결되지 않음
  • GND(6) → GND
  • RST(8) → (모든 디지털 핀)
  • +3.3V(8) → +3.3V
  • 빈 카드와 핀이 있는 RFID-RC522

    카드와 대화하는 소스 코드는 블로그에서 가져왔으며 원래 중국의 기술 상점에서 가져온 것 같습니다(많은 양의 중국어 간체 주석을 기반으로 함).

    스위치 및 시각적 피드백

    카드 리더기에 가능한 한 간단한 인터페이스를 만들고 싶었습니다. 이 스위치와 LED 쌍을 추가했습니다(D1은 녹색, D2는 빨간색). Arduino가 리더로부터 카드 ID를 수신한 후 LED가 깜박이고 사람들이 체크인 또는 체크아웃 버튼을 누르도록 합니다. 둘 중 하나를 누르면 해당 LED가 매우 밝게 잠시 깜박이고 카드 ID와 체크인/아웃 이벤트가 직렬 연결을 통해 연결된 컴퓨터로 전송됩니다.

    체크인/체크아웃 버튼과 시각적 피드백 LED를 위한 (매우 기본적인) 회로. "핀"은 현재 버전에서 사용되는 Arduino 핀을 나타냅니다.


    10초 이내에 버튼을 누르지 않으면 판독값이 삭제되고 카드 리더기가 청취 모드로 돌아갑니다.

    웹서버

    Node.js는 빠른 웹 서비스를 만드는 데 매우 유용하며, 모든 것이 순조로운 것은 아니지만 라이브러리 지원이 전혀 나쁘지 않습니다. 문서는 기껏해야 부족한 경우가 많습니다. 그럼에도 불구하고 거의 모든 필수 구성 요소를 사용하기 전에 작업을 시작하고 실행하는 데 가장 빠른 속도였습니다.

    서버는 직렬 포트 라이브러리를 통해 Arduino와 통신합니다. 저는 Python의 pyserial에 더 익숙하지만 이 경우 직렬 포트가 읽기 이벤트를 내보낼 수 있다는 것이 매우 편리했습니다. 따라서 서버는 읽을 것이 있을 때까지 기다렸다가 들어오는 데이터에서 일부 기능을 실행할 수 있습니다. 내 경험상 직렬 포트는 직렬 지역에서 만난 모든 모서리 케이스에 적합하지 않지만 이 설정에서는 아름답게 작동합니다.

    sqlite3 라이브러리를 사용하여 데이터를 저장하기 위해 SQLite3을 선택했습니다. 다른 많은 사람들이 있으며 어느 것이 아직 개발되고 있는지 살펴봐야 했습니다. 이 특정 라이브러리는 그다지 나쁘지는 않지만 문서 부족과 비동기성과 꽤 싸우고 있음을 발견했습니다. 결과 코드는 꽤 못생겼습니다. 덜 원형적인 방식으로 원하는 결과에 도달하는 방법을 몰랐기 때문에 어떤 곳에서는 비효율적입니다. 여전히 작동하는 것 같으며 프로토타입에 중요한 것입니다.

    먼저 현재 체크인한 사람들을 쿼리하는 간단한 REST API를 만들고 나중에 socket.io를 통해 (실시간) 푸시 업데이트를 추가하여 더 멋지게 만들었습니다. 폴링 없이 누군가가 로그인하거나 로그아웃하면 모든 클라이언트를 업데이트할 수 있다는 점은 훌륭합니다.

    이 코드는 기본 웹 서버와 다른 컴퓨터에서 실행되기 때문에 Access-Control-Allow-Origin 헤더를 가지고 놀고 웹에서 올바르게 액세스할 수 있도록 라우터 설정을 조정해야 했습니다.

    프론트엔드가 로드할 수 있고 모든 것을 처리하는 거의 독립적인 스크립트를 추가하려고 했습니다. 정보를 표시하려면 적절한 HTML 범위 또는 div 요소만 있으면 됩니다.

    체크인/체크아웃을 위한 하드웨어 설정:Arduino Mega, RFID-RC522 회로, 일부 스위치 및 LED.

    카드 판독기가 충돌하지 않는 한 결과는 꽤 좋습니다. 원래 결과는 표에 표시되었지만 보다 인간적으로 만들고 싶었으므로 다음과 같은 형식으로 끝냈습니다.

    특정 체크인 상황이 포함된 홈페이지 스크린샷

    이름이 없는 사람도 있을 수 있습니다. 그냥 "지금 3명입니다. Hackerspace:Greg 및 다른 두 사람을 확인했습니다."

    SpaceAPI

    공간 자체에 대한 정보를 노출하는 통합 사양을 위한 Space API라는 프로젝트도 있습니다(

    이 체크인 가젯은 Taipei Hackerspace의 Space API 엔드포인트와 통합되어 개방 상태를 보여주므로 다음과 같이 사용할 수 있습니다. My Hackerspaces Android 앱 또는 Space API 사이트에 나열된 다른 애플리케이션과 함께 사용할 수 있습니다.

    살아있습니다!

    작동 방식에 대한 간단한 데모 비디오는 다음과 같습니다.

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

    따라서 실시간 결과를 보려면 당사 웹사이트(https://taipeihack.org/#open)를 확인하고 '공간에 사람이 있으면 근처에 있다면 들러주세요.

    전체 소스 코드는 Arduino 스케치, 서버 스크립트, 추가 파일 등 Github 저장소에서 공유됩니다. 나는 그것에 대해 개선할 수 있는 많은 것들이 있다고 확신합니다...

    원본 작성:Taipei Hackerspace에서 전자 체크인

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    깃허브
    https://github.com/taipeihackerspace/thcheckinhttps://github.com/taipeihackerspace/thcheckin

    회로도


    제조공정

    1. 전자 잉크
    2. Arduino RFID 잠금(RC522 포함) - MIFARE 프로토콜 13.56Mhz
    3. Arduino 스파이봇
    4. FlickMote
    5. 수제 TV B-Gone
    6. 마스터 시계
    7. 나를 찾기
    8. Arduino Power
    9. 전자 카멜레온
    10. Tech-TicTacToe