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

Raspberry Pi 2 기상 관측소

우리의 해커스페이스(Bloominglabs)는 최근 관대한 후원자로부터 ADS-WS1 기상 관측소를 받았습니다. 또한 우리는 Raspberry Pi 2 해커톤을 위해 Instructables에 의해 선정되어 해킹할 RPi2를 얻었습니다. 내 프로젝트에서 RPi2를 사용하여 기상 관측소를 온라인에 연결하기로 결정했습니다.

우리 스테이션은 풍향, 풍속, 비, 온도 및 습도를 측정할 수 있습니다. 이 장치는 직렬을 포함하여 다양한 방법으로 데이터를 출력할 수 있습니다. 데이터를 읽고 극에서 우리 네트워크로 가져올 방법이 필요했습니다. Raspberry Pi 2는 마스트의 방수 인클로저에 PoE를 실행하여 이 작업을 훌륭하게 수행합니다.

1단계:부품 목록

1) ADS-WS1 기상 관측소(직렬 데이터 출력을 지원하는 기상 관측소는 모두 작동함)
2) Raspberry Pi(모든 버전이 작동하며 버전 2를 사용함)
3) 직렬-USB 어댑터
4) 하나 이상의 암 DB9 셸이 있는 직렬 케이블
5) 이더넷 – 실외 기상 관측소에 도달하기에 충분합니다.
6) 5V 전원 공급 장치, 1-2A
7) 야외 인클로저

선택사항이지만 권장됨:
8) 이더넷 서지 억제기
9) PoE(Power-Over-Ethernet) 주입 어댑터

가장 먼저 획득할 것은 기상 관측소입니다. Argent Data의 ADS-WS1 스테이션을 사용했지만 필수는 아닙니다. 그러나 이 장치는 매우 잘 문서화되어 있으며 APRS를 통해 날씨 데이터를 방송하기 위한 통합 TNC도 있습니다(햄 라디오에 연결하는 경우). 그러나 내가하고있는 일에는 필요하지 않으며 데이터를 읽을 직렬 포트 출력 만 있으면됩니다. 전력 소모는 50mA에 불과하므로 RPi 또는 공급 전원에서 RPi로 분리하여 공급할 수 있습니다.
http://wiki.argentdata.com/index.php?title=ADS-WS1…

2단계:Rasperry Pi 2에서 OS 설정

모든 OS를 사용할 수 있지만 8GB SD 카드에 Raspbian 7.1을 사용했습니다. 작업 중인 OS에 대한 지침을 따르십시오.

https://www.raspberrypi.org/documentation/installa…

SD 카드가 준비되면 RPi2에 설치하고 전원을 켭니다. 로컬 콘솔(HDMI를 지원하는 디스플레이 및 USB 키보드)이 있으면 도움이 됩니다. Raspbian은 기본적으로 DHCP를 사용해야 하며 라우터가 있는 경우 네트워크에 연결해야 합니다. 그러나 나는 이것이 성공할 수 있다는 것을 알았습니다.

이 문서의 나머지 부분에서는 Linux에 대한 기본적인 지식이 있다고 가정합니다. 여기에서 RPi2 설정을 가져오는 데 문제가 있는 경우 Raspberry Pi 문서가 매우 좋습니다.

https://www.raspberrypi.org/documentation/

이 단계의 마지막 단계는 USB-직렬 어댑터를 연결하는 것입니다. 표준 FTDI 또는 기타 일반적인 직렬-USB 장치라고 가정하면 Raspbian이 자동으로 구성합니다. 연결한 후 새 /dev/ttyUSBx 장치가 표시되어야 합니다.

[이메일 보호됨] ~ $ ls /dev/ttyUSB*/dev/ttyUSB0

연결된 유일한 USB-to-Serial 장치라고 가정하면 /dev/ttyUSB0입니다. "lsusb" 명령은 USB 장치가 모두 표시되지 않는 경우 장치를 식별하는 데 도움이 될 수 있는 모든 USB 장치를 표시합니다.

[email protected] ~ $ lsusb
버스 001 장치 002:ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001:ID 1d6b:0002 Linux Foundation 2.0 루트 hubBus 001 장치 003:ID 0424 Standard Microsystems Corp. Corp. 버스 001 장치 005:ID 0403:6001 Future Technology Devices International, Ltd FT232 USB 직렬(UART) IC

RPi2가 하늘의 기둥에 있을 때 잘못될 걱정이 하나 줄어들기 때문에 고정 IP를 설정하는 것을 선호합니다. /etc/network/interfaces를 편집하고 다음 줄을 변경합니다.

iface eth0 inet dhcp

이 줄로:

iface eth0 inet 정적

그리고 이 줄을 추가합니다. IP 주소 및 게이트웨이를 네트워크에 적절한 값으로 바꾸십시오.

주소 192.168.x.xnetmask 255.255.255.0게이트웨이 192.168.x.x

이제 필요한 소프트웨어, 웹 서버용 Apache2 및 기타 유틸리티를 설치합니다. Minicom은 직렬 통신이 올바르게 작동하는지 확인하는 좋은 도구이고 wget은 다음 섹션에서 weather.sh 스크립트를 다운로드하는 데 사용됩니다.

apt-get install apache2apt-get install wgetapt-get install minicom

향후 테스트를 위해 다음 스크립트를 다운로드하는 것이 좋습니다.

wget -O weather.sh "http://server1.nuge.com/~weather/software/weather-...

어떤 이유로 위의 링크가 실패하면 다음에서 weather.sh 스크립트의 최신 버전을 찾을 수 있습니다.

http://server1.nuge.com/~weather/

마지막으로 /etc/group 파일을 편집하고 "pi" 계정 또는 테스트할 계정을 "dialout" 그룹에 추가해야 할 수도 있습니다. 이렇게 하면 계정에 직렬 장치(/dev/ttyUSBx)를 읽고 쓸 수 있는 적절한 권한이 부여됩니다.

3단계:weewx 설치 및 구성, 부팅 시 시작되도록 서비스 구성

Weewx는 여러 기상 관측소에서 직렬 데이터를 읽고 데이터를 그래프로 표시하기 위한 웹 인터페이스를 제공하는 프로그램입니다.

apt-get weewx 설치

이제 구성하고 싶을 것입니다. /etc/weewx/weewx.conf를 편집하고 의미 있는 변수를 조정하십시오. 구성 파일은 자체 문서화되어 있으므로 쉽게 사용자 지정할 수 있습니다.

# $Id:weewx.conf 2901 2015-02-05 21:15:03Z tkeffer $## WEEWX CONFIGURATION FILE## ​​Copyright (c) 2009-2014 Tom Keffer # 전체 권한은 LICENSE.txt 파일을 참조하십시오. .################################################### ############################### 이 섹션은 일반 구성 정보를 위한 것입니다# 추가 디버그 정보를 보려면 1로 설정하고 그렇지 않으면 주석 처리하십시오. 또는 0으로 설정합니다.debug =0# 이 스테이션에 대한 weewx 데이터 파일 계층의 루트 디렉터리입니다.WEEWX_ROOT =/# 소켓(FTP, HTTP) 연결이 시간 초과되기 전에 대기할 시간:socket_timeout =20# 수정하지 마십시오. - 설치 및 업데이트할 때 setup.py에서 사용합니다.version =3.1.0################################ ###############################################[역] # 이 섹션은 스테이션에 대한 정보입니다. # 스테이션 위치에 대한 설명입니다. location ="Bloominglabs - Bloomington, Indiana" # 십진법 단위의 위도와 경도...

마지막으로 부팅 시 시작하도록 apache2 및 weewx를 구성합니다.

update-rc.d apache2 기본값 99 2update-rc.d weewx 기본값 99 2

이제 이러한 서비스는 RPi2의 전원을 켤 때마다 자동으로 나타납니다. 이것이 RPi2에 필요한 모든 것입니다.

4단계:직렬 케이블 및 전원 케이블 준비

컨트롤러를 연결하려면 3개의 전선과 2개의 전원 전선만 있으면 됩니다. 내 사진에는 상위 5개 나사 고정 터미널에 전선이 있습니다. 전선은 TNC/APRS 데이터를 햄 라디오로 전송하기 위한 것이며 이 튜토리얼에서는 필요하지 않습니다.

따라서 먼저 날씨 컨트롤러에 직렬 케이블을 연결해야 합니다. 케이블을 직렬-USB 어댑터에 연결합니다. 이제 직렬 케이블의 나머지 끝을 자르고 필요에 따라 케이블을 라우팅하고 전선 위의 외부 피복을 2인치 이상 벗겨낼 수 있도록 충분한 여유를 두십시오. 개별 전선은 1/4″ 정도만 벗겨야 합니다. 멀티미터를 사용하여 케이블의 핀을 매핑하고 DB9 셸 내부 핀의 2, 3, 5번 핀과 일치하는 와이어를 찾아야 합니다. 일반적으로 자세히 보면 핀 번호가 핀 옆에 나열되어 있습니다.

핀 2의 와이어는 컨트롤러의 TXD1에 연결됩니다.
핀 3의 와이어는 컨트롤러의 RXD1에 연결됩니다.
핀 5의 와이어는 컨트롤러의 접지에 연결됩니다.

모든 배선이 완료되면 컨트롤러에 약간의 전원이 필요합니다. 9V 배터리는 테스트 또는 5V 또는 12V 전원에서 제대로 작동합니다. 양극을 "DC 입력"까지 연결하고 접지선을 컨트롤러의 하단 GND 입력에 연결합니다.

이 설치를 위해 한 쌍의 PoE(Power-over-Ethernet) 어댑터를 사용했습니다. 내 RPi2와 날씨 컨트롤러의 전원을 5V로 끄고 원격 엔드용 어댑터를 구성하여 전원을 분리했습니다. 이것이 요소에 포함될 것이기 때문에 연결을 깔끔하고 내후성있게 만들기 위해 수축 튜브를 사용했습니다. 이 모든 것이 비바람에 견디는 상자에 들어 있지만 누출이 있을 경우에 대비하여 추가 보호 레이어를 추가해도 문제가 되지 않습니다.

마지막으로 RPi2용 5V 전원은 두 장치에 전원을 공급하는 데 적합합니다. 실제로 microUSB 커넥터를 잘라서 PoE 어댑터의 원격 끝에 사용할 수 있습니다.

5단계:기상 관측소에서 데이터를 읽을 수 있는지 확인

이제 RPi2와 컨트롤러의 전원을 켤 수 있어야 합니다. 둘 다 전원이 켜지면 minicom을 사용하여 통신이 작동하는지 확인하십시오. ADS-WS1 컨트롤러가 제대로 작동하려면 펌웨어를 다시 업데이트해야 했습니다. 컨트롤러에는 구성이 필요할 수 있는 대화형 직렬 인터페이스가 있습니다. Argent는 장치에 보낼 수 있는 명령이 포함된 컨트롤러용 Wiki를 유지 관리합니다.

http://wiki.argentdata.com/index.php?title=ADS-WS1…

컨트롤러가 일반 데이터를 보내면 weather.sh 스크립트를 사용해 보십시오. 그러면 지능형 데이터를 얻을 수 있음을 확인할 수 있습니다.

6단계:실외용 장비 준비

이제 모든 것을 실외 컨테이너용 컨테이너 유형에 넣어야 합니다. 기술적으로 적절한 실외 온도 판독값을 보장하기 위해 Stephenson 스크린을 구축해야 합니다. 온도 및 습도 센서는 날씨 컨트롤러 상자 내부에 있습니다(판독을 위한 구멍 있음).

http://en.wikipedia.org/wiki/Stevenson_screen

지금은 PVC NEMA 4″ 방수 인클로저를 사용했습니다. 단점은 습도 측정값을 얻을 수 없고 주간 온도 측정값이 화씨 10-15도 증가할 수 있다는 것입니다. 향후 정확한 측정값을 얻기 위해 스티븐슨 스크린을 구축할 계획입니다.

자세한 내용:Raspberry Pi 2 기상 관측소


제조공정

  1. Raspberry Pi 기반 기상 관측소
  2. 라즈베리 파이 기상 관측소
  3. Raspberry Pi를 사용한 원격 날씨 모니터링
  4. Raspberry Pi용 DHT Tiny Breakout
  5. 기상 관측소로 IOT에 참여하십시오 – CWOP
  6. Raspberry Pi 범용 리모컨
  7. 라즈베리 파이 한 조각
  8. 사이클 체이서
  9. 라즈베리 파이 도둑 탐지기
  10. 라즈베리 파이 온도 센서