이 DIY 패널로 독점적인 스마트 홈 기술에서 벗어나세요

Date:

지난 몇 년 동안 저는 제 집에 상당한 양의 스마트 홈 기술을 추가했습니다. 무엇보다도 조명과 콘센트를 제어하고, 다양한 가전제품의 상태를 모니터링하고, 사용하는 전기와 물의 양을 측정하고, 누수가 발생할 경우 물 공급을 차단할 수 있습니다. 이 모든 기술은 허브를 통해 조정되며, 저는 원래 기존 브라우저 기반 인터페이스를 통해 액세스했습니다. 하지만 원하는 판독값이나 설정을 찾기 위해 화면을 스크롤하고 클릭하는 것은 a) 느리고 b) 지루합니다. 저는 빠르고 즐거운 인터페이스, 즉 디스플레이와 버튼이 있는 실제 제어판을 원했습니다.

1979년 원자력 발전소의 제어실과 비슷한 곳 중국 증후군. 그 영화를 봤을 때 저는 열 살 정도였고, 잭 레몬이 멜트다운을 피하려고 애쓰는 것을 보면서 압도적인 생각은 “와, 저 패널이 멋지다!”였습니다. 그래서 이 패널이 이 디자인의 북극성이 되었습니다.

그러나 미적 요소에 대해 작업하기 전에 패널이 입력과 출력을 처리하고 집의 시스템과 통신하는 방법을 고려해야 했습니다. 집의 기기는 오픈 소스를 사용하여 서로 연결되어 있습니다. 홈 어시스턴트 플랫폼. 오픈 소스 플랫폼을 사용하면 예를 들어 독점 시스템의 강제 업그레이드로 인해 갑자기 전등을 켤 수 없게 될까봐 걱정할 필요가 없고, 클라우드에 있는 누군가가 내 집의 활동을 모니터링하고 있는지 궁금해할 필요가 없습니다.

내 Home Assistant 설정의 핵심은 Linux를 실행하는 오래된 PC로 구동되는 허브입니다. 이것은 내 센서, 가전제품 및 기타 장치와의 무선 연결을 처리합니다. 에너지 미터와 같은 상용 기성품 장비의 경우 이 통신은 일반적으로 다음을 통해 이루어집니다. 지웨이브. 내 홈브류 장치는 Raspberry Pi의 GPIO 핀에 연결되어 있으며, 이 핀은 Wi-Fi를 통해 상태를 전달합니다. MQTT 표준 프로토콜 사물 인터넷을 위해. 하지만, 제어판과 허브 PC 사이에 유선 이더넷 연결을 하기로 했습니다. 이렇게 하면 Power over Ethernet(PoE)을 사용하여 패널에 전기를 공급할 수 있기 때문입니다.

개별 LED와 7세그먼트 디스플레이, 버튼, 스위치 등 다양한 전자 부품입니다.제어판에 사용되는 다양한 유형의 구성 요소에는 터치스크린 디스플레이가 포함됩니다. [A]LED 디스플레이 [B]라즈베리파이 [C]Power over Ethernet 보드 [D]그리고 비상 정지 버튼 [E]. 제임스 프로보스트

사실, 나는 사용합니다 이더넷 연결은 제어판 기능을 두 개의 모델 3B+ Raspberry Pis로 나누기로 결정했기 때문입니다. 이 모델의 가격은 각각 약 35달러입니다. (전체 재료 목록은 다음에서 확인할 수 있습니다. 내 GitHub 저장소). 한 Pi는 터치스크린 디스플레이를 구동하고 다른 Pi는 버튼과 LED를 처리합니다. 각각 $20 추가 기능이 장착되어 있습니다. PoE “모자” 이더넷 연결을 통해 전원을 공급받습니다.

모든 버튼과 LED를 구동하려면 50개가 넘는 I/O 신호가 필요한데, 이는 Pi에서 찾을 수 있는 GPIO 헤더가 수용할 수 있는 것보다 더 많습니다. 이 헤더에는 40개의 핀이 있지만 실제로 사용할 수 있는 핀은 약 26개뿐입니다. 그래서 저는 $6 I2C 익스팬더각각 16개의 I/O 신호를 처리하고 2선 데이터 버스를 통해 이를 다시 전달할 수 있습니다.

강제 업그레이드로 인해 갑자기 전등을 켤 수 없게 될까봐 걱정할 필요가 없습니다.

각 Pi를 구동하는 소프트웨어도 기능이 분리되어 있습니다. 이는 다음을 사용하여 수행됩니다. 도커 컨테이너: 자체 포함 샌드박스 역할을 하는 소프트웨어 환경. 터치스크린을 담당하는 Pi에는 세 개의 컨테이너가 있습니다. 하나는 키오스크 모드에서 브라우저를 실행하여 Home Assistant 허브에서 그래픽 디스플레이를 가져옵니다. 두 번째 컨테이너는 Python 스크립트를 실행하여 터치스크린 입력(예: 다른 정보 화면의 아이콘을 누르는 것)을 허브에 대한 요청으로 변환합니다. 세 번째 컨테이너는 로컬 웹 서버를 실행합니다. 키오스크 브라우저가 허브 대신 이 로컬 서버를 가리키면 화면에 문제 해결에 유용한 내부 진단 정보가 표시됩니다.

다른 Pi에는 Python 스크립트를 실행하는 두 개의 컨테이너가 있습니다. 하나는 모든 버튼 입력을 처리하고 명령을 허브로 보냅니다. 다른 하나는 허브에서 상태 정보를 요청하고 그에 따라 모든 LED를 업데이트합니다.

첫 번째 Raspberry Pi에는 '터치 스크린 명령', '진단 웹 서버', '키오스크 웹 브라우저'라는 라벨이 붙은 컨테이너가 있습니다. 두 번째 Raspberry Pi에는 '버튼 스크립트', 'LED 스크립트'라는 라벨이 붙은 컨테이너가 있습니다.입력 및 출력 기능은 패널의 Raspberry Pis에서 실행되는 소프트웨어 컨테이너에 분할됩니다. 이들은 허브와 통신하여 명령을 보내고 상태 업데이트를 받습니다. 제임스 프로보스트

이 컨테이너는 위에서 실행됩니다 발레나OS엣지에서 이러한 샌드박스를 실행하도록 설계된 운영 체제는 물론 Pi와 같은 임베디드 장치도 실행하도록 설계되었습니다. 전체 공개: 저는 엣지 AI 활성화 책임자입니다. 고래BalenaOS를 담당하는 회사이지만 컨테이너 기반 접근 방식 때문에 회사에 합류하기 전에 운영 체제를 사용하기 시작했습니다. Docker 컨테이너를 사용하여 실행할 수 있습니다. 라즈베리파이 OS하지만 BalenaOS를 사용하면 컨테이너를 원격으로 시작, 중지, 업데이트하는 등 컨테이너를 관리하기가 더 쉬워집니다.

일부 버튼의 상태를 읽고 일부 표시등을 켜는 데 이 소프트웨어 인프라가 지나치게 과하다고 생각할 수도 있지만, 저는 컨테이너를 좋아합니다. 컨테이너를 사용하면 나머지 시스템에 어떤 영향을 미칠지 걱정하지 않고 하나의 하위 시스템에서 작업할 수 있기 때문입니다. 터치스크린을 엉망으로 만들지 않고도 버튼 눌림을 허브로 전송하는 방식을 조정할 수 있습니다.

버튼과 다양한 디스플레이는 3D로 인쇄된 패널 세트에 장착됩니다. 저는 먼저 이것들을 종이에 전체 크기로 매핑한 다음 3D 인쇄 파일을 만들었습니다. 팅커캐드. 각 제어장치의 라벨과 집의 수도관 도식도는 각 세그먼트에 홈으로 인쇄한 다음, 대비를 위해 흰색 스패클로 채웠습니다. 그런 다음 패널 배열을 기성품인 45달러짜리 “플로터” 프레임에 장착했습니다.

메이커 정신의 작은 기적 덕분에 패널 세그먼트와 프레임이 첫 시도에서 모두 잘 맞았습니다. 완성된 패널을 집 복도에 설치했는데, 제 가족은 다소 당황했습니다. 하지만 저는 상관없습니다. 물이 새면 잭 레몬이 핵 붕괴를 막으려는 모든 당당함으로 주요 밸브를 닫는 큰 비상 버튼을 누를 수 있으니까요!

Share post:

Subscribe

Popular

More like this
Related

생성 AI 활용: 업계 리더를 위한 대담한 도전과 보상

조직이 AI의 잠재력을 계속 탐구함에 따라 Microsoft 고객은 워크플로를...

식품 안전 분야에서 AI의 필요성 증가

특히 광범위한 조류독감 발생의 영향이 농업 부문 전반에 걸쳐...

12월23일 정부지원사업 신규 공고 리스트 (12건) _ (파일 재가공/재배포 가능)

12월 23일 12건<12/23지원사업 신규 공고 목록> *전 영업일인 12/20에 올라온...

Waste Robotics와 Greyparrot가 분류 로봇을 강화하는 방법

Waste Robotics는 FANUC 로봇 팔을 사용하여 안정적이고 정확한 피킹을...