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

Raspberry Pi의 온도 모니터링

개요

Raspberry Pi는 영국의 Raspberry Pi Foundation에서 개발한 소형 단일 보드 컴퓨터(SBC)입니다. ARM에서 다양한 버전의 Linux를 실행하며 센서, 버튼 등과 같은 외부 구성 요소를 연결하는 데 사용할 수 있는 I/O 핀 세트가 있습니다. 불행히도 Raspberry Pi에는 아날로그-디지털 변환기가 내장되어 있지 않으므로 Arduino와 잘 작동하는 TMP36과 같은 아날로그 온도 센서를 사용할 수 없습니다. 대신 디지털 온도 센서를 사용하는 것이 좋습니다.

부품

Raspberry Pi
DS18B20 온도 센서
4.8k Ohm 저항기
프로토타이핑 플레이트
Pi Cobbler
하프 사이즈 브레드보드
점퍼 와이어 팩

기본 디자인

하드웨어

기본 설계에서는 Raspberry Pi, DS18B20 온도 센서, 4.8k 옴 저항기, Pi Cobbler, 절반 크기의 브레드보드 및 점퍼 와이어만 있으면 됩니다. 테스트 및 디자인의 용이성을 위해 모든 것이 브레드보드에 삽입됩니다.

배선도

센서는 병렬로 배선될 수 있다는 점에서 상당히 독특하며 원하는 만큼의 센서를 시스템에 추가할 수 있습니다. 센서는 단선 직렬 인터페이스를 사용하여 통신하며 Raspberry Pi에서 Rasbian을 사용하는 경우 연결된 직렬 장치로 센서를 식별합니다. 그러나 센서는 GPIO의 핀 4에 연결해야 합니다. 이 핀은 현재 단선 직렬 프로토콜을 사용하여 통신을 허용하는 유일한 핀이기 때문입니다.

모든 것을 함께 연결할 때 더 쉽게 이해할 수 있도록 Adafruit의 DS18B20 온도 센서 설정에서 Raspberry Pi로의 이 다이어그램을 사용할 수 있습니다.

DS18B20

DS18B20은 일반 트랜지스터 모양의 부품, 긴 케이블이 연결된 방수 버전 및 고온 버전의 세 가지 형태로 구입할 수 있습니다.

3개의 DS18B20은 모두 특수 1와이어 직렬 인터페이스와 제어 로직 및 온도 센서 자체를 포함합니다. 디지털 측정값을 Raspberry Pi로 출력하고 배포판에 따라 최신 버전의 Raspbian에는 추가 작업 없이 해당 메시지를 읽을 수 있는 방법이 포함되어 있습니다. 모든 것이 함께 연결된 경우 아래 명령을 사용하여 명령줄에서 테스트할 수 있습니다.

123456sudo modprobe w1–gpiosudo modprobe w1–thermcd /sys/bus/w1/deviceslscd 28–xxxx(이 항목에 맞게 변경)cat w1_slave

위에 표시된 명령어를 터미널 창에 입력합니다. '/sys/bus/s1/devices' 디렉토리로 이동한 다음 'cd' 명령 위의 명령에서 '28-'로 시작하는 디렉토리로 설정합니다. DS18B20의 직렬을 기반으로 하는 시스템 이름이 다를 수 있습니다. 번호이므로 거기에 있는 디렉토리의 이름으로 cd하십시오.

응답의 첫 번째 줄 끝에 YES 또는 NO가 있습니다. 그렇다면 온도는 1/000°C에서 두 번째 라인의 끝 부분에 있을 것입니다.

소프트웨어

회로가 구성되면 이제 센서에서 온도 데이터를 읽는 프로그램을 작성해야 합니다. 기본 설계에서 프로그램은 매초 데이터를 읽고 판독값을 터미널의 stdout에 표시합니다.

DS18B20 온도 센서에서 데이터를 읽는 데 사용할 소프트웨어 언어는 Python입니다. 이것을 파일에 추가하고 'temp_logger_basic.py'로 저장합니다.

globimport timeos.system('modprobe w1-gpio')os.system('modprobe w1-gpio')os.system('modprobe w1-dirm =') )[0]device_file =device_folder + '/w1_slave'def read_temp_raw():f =open(device_file, 'r') lines =f.readlines() f.close() returnlinesdef read_temp():lines =read_temp_ whilelines[0].strip()[–3:] !='YES':time.sleep(0.2) lines =read_temp_raw() equals_pos =lines[1].find('t=') if equals_pos !=– ep1:temp_string =lines[1][equals_pos+2:] temp_c =float(temp_string) / 1000.0 temp_f =temp_c * 9.0 / 5.0 + 32.0 return

프로그램 상단에는 스크립트에서 사용할 모듈이 포함되어 있으며 인터페이스를 시작하는 데 필요한 'modprobe' 명령을 실행합니다. 다음 세 줄에서 데이터를 읽을 수 있는 파일을 찾습니다.

온도 읽기를 처리하는 두 가지 기능이 있습니다. 'read_temp_raw'는 인터페이스에서 두 줄의 메시지를 가져옵니다. 'read_temp' 함수는 1초마다 섭씨 온도와 화씨 온도의 두 값을 반환합니다.

다음은 스크립트의 출력입니다.

123456789sculley@berry:/usr/local/temperature/$ sudo 파이썬 ./temp_logger_basic.py(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)(8.875, 65.975)(18.875, 65.975)(18.185)(7) 65187 18.875, 65.975)(18.875, 65.975)

스크립트는 루트로 실행해야 하며, 스크립트 상단에 Python shebang을 추가하지 않았기 때문에 스크립트를 호출하려면 python을 사용해야 합니다.

이제 기본 설계를 성공적으로 연결하고 DS18B20 온도 센서에서 온도 데이터를 읽는 기본 스크립트를 작성해야 합니다. 이제 더 고급 디자인으로 넘어갈 수 있습니다.

고급 디자인

고급 디자인에서 나는 Raspberry Pi에 연결되고 모든 것을 숨기기 위해 작은 블랙 박스 안에 저장되는 PCB 실드에 구성 요소를 납땜한 온도 로거의 디자인을 보여 드리겠습니다. 코드는 매시간 실행되고 저장됩니다. 데이터를 MySQL 데이터베이스에 저장하고 이를 사용하여 데이터를 Google 차트에 표시하여 보다 쉽게 ​​시각화할 수 있습니다.

하드웨어

고급 설계를 위해서는 Pi Cobbler(Raspberry Pi, DS18B20 온도 센서, 4.8k Ohm Resistor, Half-sized 브레드보드 및 점퍼 와이어)를 제외하고 기본 부품과 동일한 부품이 필요하지만 PCB도 필요합니다. 저는 Raspberry Pi를 구입했습니다. 반영구적인 디자인을 만들기에 좋은 Adafruit의 프로토타이핑 쉴드입니다.

자세한 내용:Raspberry Pi의 온도 모니터링


제조공정

  1. 라즈베리 파이 온도 로거
  2. LabVIEW를 사용한 Raspberry Pi 온도 프로파일
  3. Raspberry Pi 온도 및 습도 네트워크 모니터
  4. DS18B20으로 온도 읽기 | 라즈베리 파이 2
  5. RASPBERRY PI로 온도 측정
  6. Python 및 Raspberry Pi 온도 센서
  7. Raspberry Pi의 간편한 온도 및 습도
  8. Raspberry Pi로 온도 모니터링
  9. DIY:HomeBrew의 온도 모니터링 및 규정
  10. BMP085 온도 및 압력을 읽는 라즈베리 파이