[글쓴이:] ByJJoon

Smartthings 공휴일 Edge 스위치 만들기

1. 개요 Smartthings는 2022년 10월 16일 16시(KST)부터 Groovy로 작성된 DTH와 스마트앱 지원이 종료된다고 공지되었다. 이에 현재 사용중인 다수 기기들과 스마트앱을 Edge Driver로 전환할 필요가 생겼다. 그 중 구글캘린더와 연동해서 부엉이님이 만드신 스마트앱을 대체해보았다. My Day-off : https://blog.weekendproject.net/243 2. 준비물 라즈베리파이, NAS 등 개인 서버 3. edgebridge edgebridge : https://github.com/toddaustin07/edgebridge edgebridge에 대한 설명은 github를 참고하고 라즈베리파이나 …

RS485 패킷 분석 관련 참고자료

RS485 패킷을 확인하다 보니 국내 표준이 있어 글을 남긴다. o 산업통상자원부 국가기술표준원(원장 제대식)은 홈네트워크 기기 교체시 발생하는 소비자의 불편 해소 및 소비자선택권 보장을 위해 국가표준(이하 KS)을 제정하였다고 밝혔다. o 그간 홈네트워크 중심기기와 주변기기의 통신규약(프로토콜)이 기기제조사별로 상이해 제조사간 기기호환이 곤란하고, 기기 고장시 소비자들은 교체기기를 구하기 힘든 애로를 겪어왔다. o 이번에 제정된 KS표준은 홈네트워크 제조 기업 간의 …

라즈베리파이에 485-connector 설치

1. 개요 아파트의 각종 장비들을 제어하기 위해 기존에는 스마트폰 앱을 분석해 사용했으나 아파트 서버 장애시 제어가 안되는 등의 문제가 발생했습니다. 그래서 홈 네트워크에 직접 장비를 연결해 RS485 패킷을 Wi-Fi로 연결해 제어코자 합니다. 2. 준비물 라즈베리파이, Elfin EW11A 3. EW11 전원 연결 알리에서 주문한 EW11의 연결 커넥터를 보면 총 4개의 선이 연결되고 가운데가 전원입니다. +, – …

python 쓰레드를 uWSGI로 서비스시 문제점

최근 python thread로 타이머를 구현, 이를 uWSGI로 서비스 하는 과정에서 thread가 동작하지 않아 관련 내용을 정리함. 예제코드는 아래와 같음. import time import threading from flask import Flask i = 0 def thread_run(): global i while True: i += 1 time.sleep(3) app = Flask(__name__) th = threading.Thread(target=thread_run) th.start() @app.route('/') def index(): return str(i) if __name__ == …

Flask 서비스를 위한 uWSGI + Nginx 설정

1. 필요 패키지 설치 $ sudo apt-get install python3 python3-pip nginx $ sudo pip3 install virtualenv $ sudo pip3 install uwsgi 2. Virtualenv 설정 $ virtualenv .server $ source .server/bin/activate (.server) $ pip3 install flask (.server) $ pip3 install uwsgi uwsgi를 또 설치한 이유는 코드에서 uWSGI decorators를 사용하기 위함임 3. Flask 코드 작성 # server.py …

Smartthings 뉴앱에서 타일 구성하기

최근 아파트 월패드 시스템과 Smartthings를 연동을 위해 DTH를 뉴앱에 호환되도록 작성을 했다. 그런데 각종 타일들이 원하는대로 구성이 안되는 것을 확인, 힘들게 방법을 찾아 기록해둔다. 우선 Smartthings 클래식 앱과는 다르게 뉴앱은 vid(Device id로 추정)를 지정하면 타일이 자동으로 구성된다. 그럼 vid를 어디서 확인할 수 있느냐? 아직까지 Smartthings 뉴앱의 타일 구성 등 DTH 작성에 대한 공식적인 문서는 없다. …

라즈베리파이에 LG-Connector 설치하기

Smartthings에 집에 있는 LG 건조기를 연동하기 위해 lg-connector를 라즈베리파이에 설치해보았다. 참고 : https://github.com/fison67/LG-Connector/blob/master/README.md 라즈베리파이에 LG-Connector 설치 sudo mkdir /docker sudo mkdir /docker/lg-connector sudo chown -R pi:pi /docker sudo docker pull fison67/lg-connector:0.0.5 sudo docker run -d –restart=always -v /docker/lg-connector:/config –name=lg-connector –net=host -e TZ=Asia/Seoul fison67/lg-connector:0.0.5 LG-Connector 설정 1. Open LG Connector web settings page (http://X.X.X.X:30020/) 2. Default …

ROBOCOPY 사용법

기본 사용법 robocopy 원본 대상 옵션 미러링 카피(/MIR) 하위 디렉토리까지 복사, 원본에 없는 파일이나 디렉토리를 자동 삭제. robocopy E:\사진모음 F:\사진모음 /MIR /LOG+:Backup_%date%.log 옵션 설명 ——————————————————————————- ROBOCOPY :: Windows용 견고한 파일 복사 ——————————————————————————- 시작됨: 2020년 2월 23일 일요일 오후 1:19:16 사용법 :: ROBOCOPY 원본 대상 [파일 [파일]…] [옵션] 원본 :: 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로) 대상 :: …

라즈베리파이에 Mi-Connector 설치하기

1. 개요 샤오미 가습기(모델명:CJXJSQ02ZM)를 Smartthings에서 컨트롤 하고자 라즈베리파이에 Mi-Connector를 설치하여 보았습니다. 2. 라즈베리파이 설정 우선 라즈베리파이 공식 홈페이지에서 라즈비안(어감이 좋지 않네요…Raspbian) 최신버전을 다운로드 합니다. 저는 콘솔에서만 작업할 예정이므로 ‘Raspbian Buster Lite’를 다운로드 했습니다. Raspbian : https://www.raspberrypi.org/downloads/raspbian/ Raspbian Buster with desktop and recommended software 라즈비안 데스크톱 이미지에 Python,Scratch와 같은 프로그램들이 미리 설치되어있는 버전 Raspbian Buster with …

웹코어(webCoRE) 트리거 개수에 따른 메모리 변화

웹코어를 작성하다 보면 상단에 메모리 사용량이 표시되는데 동일한 기능을 수행하는 코드라도 메모리 사용량에 차이가 있어 기록 차원에서 남겨둔다. 아래는 수면시간중 침실 습도의 최적화를 위해 작성한 코드인데 코드 라인수는 동일하지만 트리거(좌측 번개표시)의 개수에 따라 메모리 사용량이 달라지는 것으로 보인다. 첫번째 코드 : 메모리 사용량(27%) 트리거를 4개 사용, 각 각 일정에 맞게 가습기를 동작하도록 구성 두번째 코드 …