Raspberry Pi3의 Sense HAT를 Node-RED로 L치카

소개



Raspberry Pi3용 애드온 보드 Sense HAT는 3D 자이로, 가속도, 자력, 온도, 기압, 습도 6 센서와 8x8 RGB LED 매트릭스, 5 버튼 조이스틱을 탑재하고 있습니다.

Raspberry Pi3의 OS인 Raspbian에는 Node-RED가 탑재되어 있습니다. Raspbian의 Node-RED는 Sense HAT용 노드가 등록되어 있습니다. 이것을 이용하면 간단하게 Sense HAT와의 입출력을 제어할 수 있을 것 같습니다. 우선은 시작에 L치카에서 해보겠습니다.

IoT 환경은 다음과 같습니다.


환경
버전


장치
Raspberry Pi 3 모델 B

OS
Raspbian Stretch (September 2017)

센서
Sense HAT

node.js
v6.11.3

NodeRED
v0.17.5


Raspberry Pi3에서 Node-RED 시작



Raspberry Pi의 시작 버튼에서 "프로그래밍"-> "Node-RED"로 실행할 수 있습니다.
Node-RED는 기본적으로 1880번 포트에서 동작하기 때문에 브라우저에서 http://[RaspberryPi의 IP 주소]:1880/에 액세스하면 Node-RED의 에디터가 표시됩니다.

바로 LED를 켜 봅시다.



Node-RED를 사용하여 Sense HAT의 LED를 켜는 것은 매우 간단합니다.

입력 노드의 "inject"와 RaspberryPi 노드의 "Sense HAT"를 배치하여 입출력을 결합합니다.


Sense HAT 노드의 페이로드를 문자열로 변경하고 Hello, World를 입력합니다.


배포하고 입력 노드의 버튼을 누릅니다.


"Hello, World"라는 흰색 문자열이 스크롤되어 LED에 표시됩니다.


문자색을 바꾸고 싶은 경우는 입력값의 msg에 color property를 추가해, HTML 칼라명, RGB, HEX등으로 색을 지정하면 OK입니다.



좌표 지정에서도 켜질 수 있습니다.



SenseHAT 노드의 입력에 건네주는 msg.payload에, x좌표, y좌표, 색이라고 하는 포맷의 캐릭터 라인을 건네주면, 지정한 좌표의 LED를 임의의 색에 점등할 수가 있습니다.
다음과 같이 쉼표로 구분하여 여러 점등을 함께 설정할 수 있습니다. 좌표는 하이픈으로 범위를 지정할 수 있습니다.
0-1,0-1,white,3-4,0-1,#FF69B4,6-7,0-1,#FFFF00,
0-1,3-4,#FFA500,3-4,3-4,blue,6-7,3-4,#FFB6C1,
0-1,6-7,#00FF00,3-4,6-7,red,6-7,6-7,#EE82EE



결론



이와 같이 Node-RED를 사용하면 간단히 Sense HAT로 L치카할 수 있습니다. 센서나 외부 서비스와 제휴해, 그 상태를 LED로 통지하는 것도 간단하게 할 수 있을 것 같습니다.

좋은 웹페이지 즐겨찾기