전구를 제어하기 위해 SQL 데이터베이스 읽기

전구를 제어하기 위해 SQL 데이터베이스 읽기

나에게 게임룸 점수판에 대한 아이디어가 있습니다. 데이터베이스의 플래그에 따라 전구를 켜거나 끄고 싶습니다. "out"이라는 열이 있다고 가정해 보겠습니다. out=1이면 전구 하나가 켜지고, out=2이면 전구 두 개가 켜집니다. 이것이 가능합니까? 나에게 무엇이 필요할까요? 데이터베이스를 설정하고 데이터를 삽입하는 것은 문제가 되지 않습니다.

답변1

개념적으로 다음이 필요합니다.

  1. 요청을 수신하고 적절한 수의 조명을 표시하는 하드웨어
  2. 검색된 번호를 하드웨어에 대한 요청으로 바꾸는 소프트웨어
  3. 데이터베이스를 폴링하는 소프트웨어

이를 순서대로 고려하면 다음과 같습니다.

하드웨어 인터페이스

하드웨어와 인터페이스하는 가장 간단한 방법 중 하나는 병렬 포트를 사용하는 것입니다(컴퓨터에 해당 기능이 있는 경우). 일반적으로 독립적으로 제어할 수 있는 8개 이상의 출력이 있습니다. 두 번째로 쉬운 방법은 직렬 포트입니다. 두 경우 모두 해당 인터페이스의 전압 레벨을 조명이 사용할 수 있는 수준으로 변경하려면 릴레이나 LED 드라이버 또는 이와 동등한 것이 필요합니다.

소프트웨어에서 하드웨어 제어까지

C 또는 C++로 코드를 작성할 수 있다면 특정 시스템(Windows, Mac, Linux)에서 단일 바이트를 병렬 또는 직렬 포트로 보내는 소프트웨어를 작성하는 데 문제가 없을 것입니다. 예는 인터넷에 풍부합니다. 코드는 하드웨어로 보낼 값에 대한 listenIP에 있을 수 있습니다.socket

데이터베이스를 폴링하는 소프트웨어

일반적으로 이는 선택한 주기에 따라 실행되는 간단한 데이터베이스 쿼리입니다. 예를 들어, 60초마다 폴링하도록 설정할 수 있습니다. 예를 들어 데이터베이스에서 값을 가져온 다음 해당 값을 IP 소켓을 통해 위에서 언급한 목록 소프트웨어로 보낼 수 있습니다.

귀하의 질문이 매우 광범위하기 때문에 이 답변도 마찬가지입니다. 그러나 이 내용 중 특정 질문이 있는 경우 다른 질문을 하십시오. 그러나 전기 공학은 주로 처음 두 항목에 관심이 있으며 일반적으로 순수한 소프트웨어 부분에는 관심이 없습니다.

답변2

이렇게 하는 것은 간단합니다. 나의 제안:

1) 개별 조명을 사용하는 대신 주소 지정이 가능한 RGB LED 스트립을 사용하십시오. 이는 개별 조명을 구동하는 것보다 훨씬 쉬우며, 다양한 색상과 조광을 얻는 것도 간단해집니다. 다른 모양을 원하면 LED 위에 탁구공을 놓을 수 있습니다.

2) LED 스트립 구동을 처리하기 위해 Arduino를 사용하겠습니다. 직렬 포트를 통해 PC에 연결할 수 있으며 PC의 프로그램은 간단히 데이터베이스 쿼리를 수행하고 값을 가져와 직렬 포트를 통해 Arduino로 보낼 수 있습니다. Arduino는 값을 읽고 이를 LED 스트립으로 보냅니다.

에서 많은 것을 찾을 수 있습니다.adafruit.com, 도움이 될 튜토리얼을 포함합니다.

답변3

이것은 라즈베리 파이에 대한 완벽한 응용 프로그램처럼 들립니다. 데이터베이스를 쿼리할 수 있는 소프트웨어를 호스팅하는 것 이상의 기능을 갖춘 미니 Linux 컴퓨터입니다. (그리고 호스트 하나). 또한 사물을 제어할 수 있는 GPIO 핀도 있습니다.

http://www.raspberrypi.org/

조명을 켜는 방법을 알아보기 전에 조명 유형을 결정해야 합니다.

LED인 경우 LED 드라이버가 필요할 수 있고, 240V 전구인 경우 릴레이 등이 필요할 수 있습니다.

살펴보고 싶은 다른 변형으로는 Beagle Bone, ODROID가 있으며, 더 많은 옵션을 보려면 Google의 "미니 Linux 컴퓨터"를 검색하는 것을 잊지 마세요.

답변4

나의 최소한의 노력 해결책은 디스코 조명(DMX 프로토콜을 사용함)과 연결할 수 있는 웹 API를 제공하는 '전기 임프'를 사용하는 것이었습니다.

대안으로 LED나 네오픽셀과 대화할 수도 있습니다.

다음은 제가 만든 간단한 데모 영상입니다.

https://www.youtube.com/watch?v=RxttrlHJntw&list=UU2vDg0Cv64FmkmjJYpVnWuQ

관련 정보