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

스마트폰 근접 센서로 사무실 문 자동 잠금 만들기

– 홈 오피스를 위한 첨단 기술 보호 장치 또는 "워크샵"을 위한 비밀 잠금 장치를 원합니다. 아이들이 알아차리지 못할까? 우리는 당신을 덮었습니다. 당신이 거기에 있을 때 자동으로 감지하고 없을 때 잠그는 DIY 스마트 잠금 장치를 만들어 봅시다.

어떻게 작동합니까? 아무도 몰라! 또는 더 구체적으로 블루투스.

개념

스마트폰은 자신에 대한 정보를 외부 세계에 지속적으로 공개하는 강력한 장치입니다. 이를 수행하는 한 가지 방법은 블루투스입니다.

검색 모드에서는 고유한 식별 번호를 브로드캐스트하지만 특별히 자체 검색을 허용하지 않는 경우에도 해당 주소를 알고 있는 모든 항목이 ping을 시도할 수 있습니다. 응답이 들리면 범위 내에 있는지 여부를 나타냅니다.

Bluetooth 어댑터가 있는 Raspberry Pi를 설정하여 스마트폰이 범위를 벗어날 때 지속적으로 경계하고 있을 때 릴레이가 작동하여 문을 잠급니다.

필요할 것

<울>
  • Raspberry Pi – CPU를 많이 사용하는 작업이 아니기 때문에 모든 모델이 작동해야 하지만 저는 구형 모델 B를 사용하고 있으며 GPIO 핀아웃은 모델에 따라 약간 다를 수 있습니다. 아래의 온보드 모드 섹션을 참조하십시오. 또한 유선 이더넷 연결 또는 Wi-Fi 구성과 같은 몇 가지 기본 사항이 필요합니다. 추가 SD 카드 및 마이크로 USB 전원 케이블.
  • 블루투스 USB 어댑터. Adafruit는 작동이 확인된 Bluetooth 4.0 BLE 모듈(Bluetooth 4.0이 무엇인가요?)을 판매하지만 이 프로젝트를 위해 새 모듈을 구입하기 전에 이미 있는 모듈을 테스트해야 합니다. 일본에서 구입한 오래된 표준 Bluetooth 미니 어댑터가 제대로 작동하는 것으로 나타났습니다. 우리는 전송 속도나 연결 안정성에 대해 신경 쓰지 않습니다. 우리가 하고 있는 일은 기기가 정상 작동하는지 확인하기 위해 빠른 핸드셰이크를 보내는 것뿐입니다.
  • GPIO 브레이크아웃 보드("cobbler") 및 점퍼 케이블. Pi의 핀에서 직접 작업할 수도 있지만 각 핀에 레이블이 있으면 훨씬 더 쉽고 비용도 6달러에 불과합니다.
  • 릴레이 보드. 여기에서 다양한 선택이 가능하며 마이크로컨트롤러와 함께 사용하도록 설계되고 5암페어에서 최소 12볼트를 구동할 수 있다면 무엇이든 작동할 것입니다. 저는 이와 유사한 일반 4채널 보드를 약 5달러에 사용했지만, 귀하가 어떻게 작동하는지 알고 있다고 가정하겠습니다.
  • 12/24V 전자석 잠금장치, 전자식 솔레노이드 잠금장치도 작동해야 합니다. 제가 구입한 제품은 지지력이 180KG이며 장착 플레이트와 설명서가 함께 제공되며 가격은 약 $35입니다.
  • 12/24V 전원 공급 장치. 자석 잠금 장치에는 별도의 전원 공급 장치가 있어야 합니다. 무엇을 하든지 Pi에서 전원을 빼려고 하지 마십시오.
  • Lock.py Python 앱이지만 이 내용은 진행하면서 작성하겠습니다.
  • 블루투스 사용

    Bluetooth는 이 프로젝트의 핵심이므로 Bluetooth 지원을 설치하고 어댑터를 테스트하는 것으로 시작하겠습니다. Pi에서 직접 이 작업을 수행하거나 원격으로 SSH할 수 있습니다(Pi에 SSH로 Windows를 설정하는 방법).

    sudo apt-get 설치 bluez python-bluez 

    동글이 아직 삽입되지 않았다면 삽입하고 무엇을 보고하는지 살펴보겠습니다.

    hcitool 개발 

    출력에 나열된 것이 있으면 진행해도 됩니다. 다음으로 Python 스크립트를 사용하여 근처의 Bluetooth 장치를 폴링하고 고유한 장치 주소를 가져옵니다. 각 기기에 대해 한 번만 수행하면 됩니다.

    wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py 파이썬 문의.py 

    "0개의 장치를 찾을 수 없음"이 표시되면 호환되는 USB Bluetooth 동글이 없거나 스마트폰을 검색할 수 없는 것입니다. 하지만 절망하지 마세요. 실제로 iPhone을 검색 모드로 전환하기 위해 Bluetooth 설정 페이지를 열어야 한다는 사실을 알게 되었고, 다음과 같은 일이 발생했습니다.

    좋습니다. 이제 탐지를 수행하는 소프트웨어의 첫 번째 단계를 만들어 보겠습니다. detect.py라는 Python 앱 만들기 , 나노로 엽니다.

    나노 감지.py 

    이 샘플 코드에 붙여넣기:

    #!/usr/bin/python 블루투스 가져오기 시간이 True인 동안 가져오기:print "Checking" + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()) 결과 =bluetooth.lookup_name('78:7F:70:38:51:1B', 시간 초과=5) if (결과 !=없음 ):"사용자가 있음"을 인쇄합니다. else:"사용자가 범위를 벗어남"을 인쇄합니다. time.sleep(10)  

    Bluetooth 장치 주소로 다음 줄을 조정합니다.

    결과 =bluetooth.lookup_name('78:7F:70:38:51:1B', 시간 초과=5) 

    CTRL-X를 누릅니다. 및 Y 닫고 저장합니다. 동일한 코드를 실행하면 다음과 같은 내용이 표시됩니다.

    코드는 이전에 Python을 만진 적이 없더라도 이해하기 매우 간단해야 합니다. 특정 블루투스 기기를 10초마다 스캔하고, 발견 여부에 따라 다른 메시지를 출력합니다. 휴대전화에서 블루투스를 토글하여 범위 안팎(실제로는 약 4m)으로 이동하거나 이동하는 것을 시뮬레이션합니다. 스캔 사이의 시간을 줄이거나 늘릴 수 있지만 10초는 잠재적으로 문이 열릴 때까지 기다려야 하는 합리적인 시간이라고 생각했습니다. 이 시간이 결국 이 전체 프로젝트를 진행하게 될 부분입니다.

    추가해야 할 것은 이 작업을 수행할 때의 전력 소비에 대해서는 모르지만 장치를 더 자주 ping하면 필연적으로 더 많은 전력이 소비된다고 가정합니다. 테스트에서 명백한 성능 문제를 본 적이 없지만 배터리 수명이 심각한 문제라면 사무실 내부에 스캔 루프를 활성화 및 비활성화하는 스위치를 두는 것이 좋습니다. 그러면 사무실에 들어가면 잠금을 일시 중지할 수 있습니다. 시스템을 종료한 다음 떠날 때 스캔을 다시 활성화하십시오.

    축하합니다. 이제 범위 내에 있을 때 이를 인식하는 Python 앱이 있으므로 이에 대한 조치를 시작할 수 있습니다.

    GPIO 보드 모드

    계속하기 전에 사용할 보드 모드를 파악해야 합니다. 정답이나 오답은 없으며 문자 그대로의 핀 번호를 지정하는지 아니면 가상 GPIO 핀 번호를 지정하는지 여부에만 영향을 미칩니다.

    기본값은 왼쪽 하단의 핀 1부터 시작하여 문자 그대로의 핀 번호("보드 모드")를 사용하는 것입니다(오른쪽에 USB 포트가 있는 Pi를 내려다보는 경우). 핀 2는 바로 위에 있습니다.

    그러나 GPIO 브레이크아웃('코블러') 보드가 있는 경우 보유한 레이블은 'BCM'(Broadcom SOC 채널)이라는 대체 모드에서 가져온 것이며 일반적으로 번호 앞에 GPIO 또는 P가 붙습니다. GPIO 브레이크아웃이 꼭 필요한 것은 아닙니다. 일을 더 쉽게 만들어줍니다. 브레이크아웃 보드가 없고 사고 싶지 않다면 다음 다이어그램을 사용하세요.

    원래 모델 B 개정 1, 개정 2, 모델 B+ 및 Pi2는 모두 핀 아웃이 다릅니다. 보드에 맞는 다이어그램은 이 StackExchange 질문을 참조하세요.

    이 프로젝트 코드에서는 내가 가지고 있는 Adafruit 브레이크아웃 보드에 해당하는 BCM GPIO 번호 매기기 시스템을 사용하고 있습니다. 리터럴 핀 모드를 사용하려면 약간의 수정이 필요합니다.

    릴레이의 배선

    브레이크아웃 보드를 부착하고 핀 1과 2(Pi의 모서리에 있는 것)의 와이어가 브레이크아웃의 3v3 및 5V0에 연결되도록 합니다. 이것을 확인하기 위해 전압 테스터를 꺼내고 싶을 수도 있습니다.

    계속하기 전에 다른 사람이 Raspberry Pi와 함께 특정 릴레이를 사용했는지 확인하십시오(또는 작동하는 것으로 알려진 릴레이를 미리 찾으십시오). 일부는 활성화하는 데 5V가 필요할 수 있지만 RPi는 GPIO 출력 핀에서 3.3V만 제공할 수 있습니다. 우연히 내가 사용하는 것은 3.3V에 만족하므로 추가 회로가 필요하지 않았습니다. 5V0 to VCC , GND에서 GND , 및 첫 번째 릴레이 입력용 GPIO 핀 23 .

    GPIO에 대한 이전 자습서에서는 필요한 경우 트랜지스터 회로를 연결하여 3.3V를 최대 5V로 확장하는 방법을 보여주었습니다(사실, 해당 자습서에서 동일한 릴레이 보드를 사용했지만 5V가 필요하지 않은 것으로 나타났습니다 결국).

    릴레이가 작동할 때 딸깍하는 소리를 들을 수 있으므로 아직 전자석에 배선할 필요가 없습니다.

    다음으로 GPIO 포트와 상호 작용하는 몇 가지 코드를 가져오겠습니다.

    모든 것이 포트 자체에서 작동하는지 확인하기 위해 Python 외부에서 테스트를 시작합니다. 몇 가지 유용한 명령줄 도구를 제공하는 와이어링파이를 설치하세요.

    git clone git://git.drogon.net/wiringPi CD 와이어링파이 ./build 

    설치가 완료되면 GPIO 핀 23을 출력으로 구성합니다.

    gpio -g 모드 23 출력 

    이제 모든 포트를 빠르게 스캔하여 확인하십시오.

    gpio -g readall 

    GPIO 핀이 더 많기 때문에 모델 B+ 또는 Pi2에서 더 길 수 있지만 이와 유사한 것이 있을 것입니다.

    자세한 내용:스마트폰 근접 센서로 사무실 문 자동 잠금 만들기


    제조공정

    1. 은행 금고
    2. 간단한 근접 센서 회로 및 애플리케이션 작업
    3. Bluetooth 기반 스마트 센서 네트워크의 첫 번째 문제 고려
    4. Cypress:Bluetooth MCU는 유비쿼터스 스마트폰 연결을 통해 메시 네트워킹을 제공합니다.
    5. RPi가 있는 라인 추적 센서
    6. RPi가 있는 환경 센서 API
    7. 디지털 인터페이스가 있는 간단한 아날로그 근접 센서(Raspberry Pi용) [최종 업데이트:2014년 2월 7일]
    8. Portenta 및 열전쌍 센서(MAX6675 포함)
    9. K30 센서로 CO2 모니터링
    10. Bluetooth가 탑재된 Arduino로 LED 제어!