장치 사용을 모니터링하기 위한 "모바일 알림" 구축

빌드

이미지 1 5

전체 어셈블리를 깔끔한 플라스틱 케이스 안에 넣을 수 있습니다.
BRCK는 안정적인 인프라가 없는 지역에 인터넷 연결을 제공합니다.
모바일 마인더의 회로도
Arduino 코드는 짧고 간단합니다.
Slice of Radio는 Pi의 GPIO 핀에 직접 연결됩니다.

이제 Raspberry Pi와 XinoRF가 서로 통신할 수 있는지 테스트할 준비가 되었습니다. Pi의 명령줄에서 다음을 입력하세요. sudo apt-get 설치 미니콤 필수 소프트웨어를 설치합니다. 완료되면 명령을 사용하여 시작하십시오. sudo minicom –b 9600 –o –D /dev/ttyAMA0 (마지막 숫자는 0입니다); Pi는 9,600보드에서 직렬 포트(끝의 경로)를 수신하기 시작합니다.

이제 PC에서 Arduino IDE를 시작하고 다음 코드를 입력하세요.

Arduino 코드는 짧고 간단합니다.

모든 Arduino 프로그램에는 두 가지 주요 섹션이 포함되어 있습니다. "설정"에는 마이크로 컨트롤러가 켜지거나 재부팅될 때만 실행되는 코드가 포함되어 있습니다. "loop"는 이름에서 알 수 있듯이 계속해서 실행됩니다. XinoRF에는 핀 8에 라디오가 연결되어 있으므로 이 코드는 전압을 출력하도록 설정한 다음 켜집니다. 그런 다음 직렬 포트를 라디오의 기본 전송 속도로 설정하고 2초마다 메시지를 인쇄합니다.

업로드 버튼을 클릭하면 스크립트가 컴파일되어 XinoRF로 전송됩니다. “내 말이 들려요?” 그러면 Raspberry Pi의 Minicom 창에 나타납니다. 이제 프로젝트의 하드웨어가 설정되었습니다.

모바일 마인더 0.1

이제 Raspberry Pi와 하나 이상의 XinoRF 장치 간에 원하는 정보를 교환할 수 있습니다. 이 프로젝트의 목적을 위해 우리는 XinoRF가 장치가 센서 패드에서 제거된 시기와 교체된 시기를 Pi에 알려주기를 원합니다. 메시지에는 Raspberry Pi가 어떤 컨트롤러가 메시지를 보냈는지 알 수 있도록 고유한 식별자가 포함되어야 하며 데이터 자체(ASCII 문자 시퀀스일 수 있음)도 포함되어야 합니다.

XinoRF는 Raspberry Pi가 메시지 수신을 확인할 때까지 기다려야 데이터가 성공적으로 수신되었음을 알 수 있습니다. 어린이가 장치를 제거할 때마다 우리는 다음과 같은 메시지를 전송하도록 XinoRF를 프로그래밍합니다.

#시노1#길버트#DS#U#

이는 "Xino1"이라는 컨트롤러가 Gilbert가 Nintendo DS를 선택했다고 보고하고 있음을 의미합니다. Pi는 "#" 기호를 사용하여 다양한 필드를 묘사한 다음 시간을 기록하고 해당 항목을 데이터베이스에 추가하여 메시지를 읽을 수 있습니다. 또한 메시지를 수신했음을 나타내는 기호를 다시 보냅니다. "|"를 선택했습니다. 그렇지 않으면 메시지 내용에 절대 사용하면 안 되기 때문입니다.

이 작업을 수행하는 코드는 100줄 정도에 불과합니다. XinoRF의 저장 공간이 32KB에 불과하기 때문에 이 역시 마찬가지입니다. 여기서 재현하기에는 아직 너무 길지만 직접 다운로드할 수 있습니다.

이제 Raspberry Pi가 수신 데이터를 사용하여 유용한 작업을 수행하도록 만드는 데 집중할 시간입니다. 첫 번째 작업은 들어오는 데이터를 기록하는 것입니다. 적절한 장기 프로젝트의 경우 MySQL과 같은 완전 데이터베이스가 가장 적합할 수 있지만 최대한 단순하게 유지하기 위해 CSV 파일로 저장하겠습니다. 이는 Raspberry Pi의 Python으로 쉽게 구현할 수 있으며 언제든지 데이터를 스프레드시트 프로그램으로 가져와 분석할 수 있습니다.