기상예보 구름이

2017-06-01 11:28
이 프로젝트는 Raspberry Pi Zero W를 사용하여 날씨 구름을 만듭니다. Yahoo Weather API에 연결하고 다음날에 대한 기상 예측에 따라 색상을 변경합니다. 프레임이 빨간색이 되면 따뜻한 날씨가 다가오고, 금색은 추위를 조심, 파란색일땐 아무런 변화가 없음, 깜빡일때는 눈이나 비가 올겁니다.
  • 네오픽셀 스트립
    x 1개
  • 톱니형 액자 프레임 행거
    x 1개
  • 3m 실리콘 범퍼
    x 4개
  • 떡갈나무 판 (1/2 in. x 6 in. x 3 ft)
    x 1개
  • 하드보드 (1/8inch)
    x 1개
  • 반투명 아크릴 판 (1/8inch)
    x 1개
  • 맞춤목 (1/8inch)
    x 2개
  • 내추럴 대니쉬 오일 우드 피니쉬 (착색시킬 오일)
    x 1개
  • 실리콘 커버 전선 (25ft 26AWG / 빨강, 검정, 파랑)
    x 1개
  • 라즈베리파이 Zero W
    x 1개
  • Micro SD Card
    x 1개
  • USB 케이블 (흰색)
    x 1개
3명이 추천합니다. 이 부품 패키지를 구매하고 싶다면 추천해주세요.
  • 글루건
    x 1개
  • 스태이플 건
    x 1개

준비물

첨부파일(svg)을 열어보시면, 4개의 레이어가 있습니다. 제작하던 중, 가이드의 나머지 부분에서 맨 윗 레이어에 커팅 사고로, 흠이 생겨서 보이지 않게 뒤집어서 사용했습니다.

2번째, 4번째 레이어의 안쪽과 바깥쪽 패스 사이에는 1/8 깊이로 안쪽으로 약간 파여있습니다. 이쪽에 나중에 커버와 뒷면을 댈 수 있습니다. 커버는 반투명 아크릴로, 뒷판은 하드보드를 사용했습니다.

안쪽 구름모양은 나중에 필요하니, 버리지 마세요.

이 프로젝트에서 사용한 구름모양은 softicons.com 에서 가져왔습니다.


일단 부품을 잘라내어 함께 붙이면, 두 조각에만 접착제가 필요합니다. 정렬을 돕기 위해 구멍에 1/8 맞춤 핀을 넣습니다. 맞춤 핀으로 고정한 후에 레이어를 접착제로 붙이면, 핀들을 제거 할 수 있습니다.

클램프를 사용하여 건조시 부품을 단단하게 고정시켜 주세요. 이음새에서 흘러 나오는 접착제를 닦아냅니다.

접착제가 마를동안, 안쪽의 구름모양 조각을 꺼내서 150방, 220방 사포로 다듬어 줍니다. 깨끗한 천에 오일을 묻혀, 프레임을 착색시킵니다. 진한 월넛색에는 Watco Danish Oil를, 다른 부분에는 Natural을 사용했습니다. 옆으로 치워두고, 기름에서 연소되지 않도록 헝겊이 잘 마르도록 건조시켜주세요.

접착제가 마르면, 사포질로 다듬고 Natural Danish Oil을 이용해서 착색시킵니다.


필요한 스트립의 양을 결정하기 위해 안쪽에 한번 넣어보았습니다. 19개의 스트립을 사용하기로 하고 붙였는데, 붙인 후에 다시 보니 20개가 필요했습니다. 

스트립을 감싸는 고무가 필요 없어서 제거하고, Pi Zero에 연결하기 위해 전선을 이었습니다.

와이어와 스트립의 각 끝부분을 미리 납땜하면 더 잘 작동하는 것으로 나타났습니다.

그 후, 와이어를 납땜해줍니다.

뒷면에 내부에 들어갈 판(아까 남겨둔 안쪽 구름모양)을 놓고, 네온 픽셀 스트립을 구름 가장자리에 고정시키기 위해 글루건을 살짝 발라줍니다. 스트립을 가능한 한 뒷판에 가깝게 붙여줍니다.


안쪽에 커버를 놓고, 윗면 둘레에 접착제를 살짝 발라줍니다.

이제 아까 했던 것처럼 상단 레이어를 부착하고, 아랫 방향으로 눌러 고정시킵니다. 가능한 다른 레이어들과 잘 맞추도록 하고, 흘러나오는 접착제는 닦아주세요.


배선은 매우 간단합니다.

Pi
Neopixel
GPIO 18
Din
5V
5V
GND
GND

USB 케이블을 납땜하기 전에 구멍을 뚫어야 합니다. 여기서 사용한 코드는 3mm 이하였으므로, 3mm 비트를 사용하여 구멍을 뚫었습니다. 구멍을 뚫을 때, 네오 픽셀 스트립까지 닿지 않게 조심하세요.

컴퓨터에 연결되는 male 말단의 반대쪽 끝부분을 잘라냅니다. 그런 다음 끝부분의 피복을 제거하여 전선에 이어줍니다. 빨간색(5V)과 검은색(GND) 전선만 있으면 됩니다.


우선, 운영체제가 로드한 SD카드가 필요합니다. 여기서는 Raspbian Jessie Lite를 사용했습니다.

etcher.io와 같은 프로그램을 사용하여 이미지를 SD 카드에 구워줍니다. 완료되면 파이가 ssh를 활성화하고 올바른 wifi 정보를 갖도록 boot 디렉토리에 두 개의 파일을 추가해야 합니다.

텍스트 편집기로 wpa_supplicant.conf 파일을 열고 wifi ssid와 암호를 입력하십시오. 그런 다음 파일을 SD 카드에 추가하십시오. ssh를 사용 가능하게 하려면, sd라는 이름을 가진 파일이 필요합니다.

이에 대한 더 자세한 설명은이 가이드의 adafruit.com에서도 찾을 수 있습니다.


> Pi에 연결

Pi에서 putty와 SSH라는 프로그램을 사용했습니다. 이 작업에 대한 문서는 Raspberry Pi 웹 사이트에서 찾을 수 있습니다.

한가지 차이점은 파이의 IP를 찾았다는 겁니다. 호스트 이름을 사용하여 raspberrypi.local 에 연결하는 것이 더 쉽다는 것을 알아냈습니다.


> 필요한 라이브러리 설치

우선, 명령을 실행하기 위해 pip가 필요합니다.

sudo apt-get install python-pip

이제 요청을 실행할 수 있습니다.

pip install requests

다음으로, NeoPixels 사용에 필요한 항목을 설치합니다. 이 단계는 Adafruit 웹 사이트의 Raspberry Pi에있는 NeoPixels라는 가이드에서 가져옵니다.

sudo apt-get install build-essential python-dev git scons swig

그 후에 이 명령을 실행합니다.

git clone  https://github.com/jgarff/rpi_ws281x.git

cd rpi_ws281x

scons

그리고, 아래 명령을 실행합니다.

cd python

sudo python setup.py install

이제 필수 라이브러리가 모두 설치되었습니다.


> Pi에서 프로그램 받기

내용을 잘라내어 새 파일에 붙여 넣거나 WinSCP를 사용하여 파일을 전송할 수 있습니다.

잘라내기 및 붙여넣기를 하는 경우, 이 명령을 사용하여 새 파일을 만들려고 합니다.

sudo nano cloud.py

그런 다음 cloud.py의 내용을 붙여 넣습니다.

일단 거기에서 몇 가지 값을 변경해야 할 수도 있습니다. 다른 양의 NeoPixels 또는 GPIO 핀을 사용한 경우. 사용된 NeoPixels의 양이 다른 경우 LED_COUNT를, 사용된 GPIO 핀이 다른 경우에는 LED_PIN을 변경하세요.

그리고 라인 72에서 예측을 원하는 위치로 변경해주세요.


> 코드 실행

변경사항을 가져 오면 코드를 테스트 할 수 있습니다.

sudo python cloud.py

클라우드가 켜있는 상태에서 터미널 창에서 오늘과 내일의 최고/최저 기온이 잘 나타나는지 봐야합니다.


> 시작시 자동 실행되도록 설정

자동 시작을 구성하려면 Raspberry Pi 웹 사이트에서 가이드를 따랐습니다.

아래는 rc.local 파일에 추가 한 코드 행입니다.

python /home/pi/cloud.py &


최대한 정확하게 중심을 찾고 측정하려고 마커를 사용했습니다. 그런 다음 톱니형 행거와 두 개의 고무 범퍼를 부착했습니다. Pi를 붙이기 위해 나는 다시 글루건으로 파이 뒤쪽에 충분히 바르고, 뒤 패널에 부착했습니다. 

스테이플러에 공간을 만들기 위해서는 드라이버를 사용했습니다. 그리고 뒷판을 고정하기 위해 스테이플을 구부렸습니다.

작은 구름은 각각 행거와 2개의 범퍼가 필요합니다.

완성된 모습입니다^^

목재를 CNC로 가공할 수 없는 경우를 대비해, STL 파일도 추가했습니다. Autodesk Fusion 360 디자인 파일도 포함되어 있습니다. 인쇄를 위해 최적화되도록 디자인을 수정할 수도 있습니다.


MAKER'S PROJECT

댓글 0