본문 바로가기

분류 전체보기483

온풍기용 스마트 플러그 업그레이드 - WebSocket으로 동적 제어 및 센서값 기록하기 배경 ESP8266 모듈을 사용하는 데 있어서, 제 수준에서는 나름 끝판왕 프로젝트라고 할 수 있을 것 같습니다. 얼마 전에 캠핑장에서 사용하는 온풍기를 온도에 따라 자동으로 끄고 켜주기 위해서 릴레이를 ESP8266 모듈 중 하나인 wemos d1 mini에 연결하고 온습도 센서도 연결해서 온도 값에 따라서 온풍기가 연결될 릴레이를 컨트롤하는 프로젝트를 했던 적이 있었습니다. 프로젝트에 대한 상세는 아래 링크를 참고해 주세요. 온풍기 자동 온도조절용 스마트 플러그 DIY 2021-06-03 update log: 캠핑장 실 사용 후기 추가 ESP8266 모듈을 활용한 새로운 프로젝트 캠핑용 온풍기를 온도조절이 가능하도록 하는 스마트 플러그를 만들어볼까 합니다. 지난번에 캠핑용 온풍기를 kwonkyo.ti.. 2021. 9. 18.
zigbee 모듈 CC2531, 외부 안테나 설치 Home Assistant(HA) 서버로 사용하고 있는 라즈베리파이에 Zigbee Hub 기능을 사용하기 위해서 "CC2531"이라는 유명한 zigbee 모듈을 사용하고 있습니다. 생긴 건 허접하지만 USB에 꽂기만 하면 HA를 zigbee hub로 만들어주는 강력한 성능과 함께 저렴한 가격 때문에 인기가 많아서 많은 분들이 사용하고 있는 걸로 알고 있습니다. Home Assistant에 Zigbee 장치 연결하기(CC2531) 어쩌다 보니 최근에는 Home Assistant(HA) 관련 포스팅만 올리고 있네요. 오늘은 IOT에서 빼놓을 수 없는 Zigbee 장치를 HA에 연동하는 방법을 얘기해 보겠습니다. HA는 라즈베리파이를 기본으로 동작하 kwonkyo.tistory.com 하지만 전파 수신감도가 .. 2021. 9. 13.
HACS 설치방법 HACS(Home Assistant Community Store)는 HA에서 각종 커스터마이징을 GUI에서 설치하고 관리하도록 도와주는 패키지입니다. 많은 서비스들이 HACS를 지원하기 때문에 깔아 두면 한 번은 요긴하게 사용할 수 있는 패키지인 것 같아요. 설치는 스크립트로 진행할 수 있습니다. 터미널을 열어서 HA 컨테이너 안으로 들어가서 다음 명령어를 입력합니다. wget -O - https://get.hacs.xyz | bash - 설치가 완료되면 HA 'Configuration' 메뉴로 이동합니다. 새로운 통합 구성요소를 추가해 주면 되는데요. HACS를 검색해서 추가할 수 있습니다. 필요한 권한 등을 확인하는 창이 나타나는데 모두 체크해 줍니다. 확인을 누르고 나면 인증 코드가 발행됩니다. G.. 2021. 9. 10.
RDP 저장된 자격 증명 허용하기 배경 원격 데스크톱(RDP)을 사용할 때 접속하고자 하는 PC, 허용된 계정의 ID와 비번을 통해서 인증하고 접속할 수 있습니다. 그리고 이 자격 증명은 매번 입력할 필요 없이 한번 저장해 두면 따로 입력할 필요 없이 바로 접속이 가능합니다. 문제점 그런데 보안상의 이유로 조직에서 관리하는 PC를 사용하는 경우 저장된 인증 내용을 사용하는 것을 허용하지 않도록 하는 경우가 있습니다. 그런 경우 직접 입력했을 때는 로그인이 잘 되지만 ID와 비밀번호를 저장해 두고 사용하려 하면 "자격 증명이 작동하지 않습니다. 원격 컴퓨터 ~의 ID가 완전히 확인되지 않았기 때문에 시스템 관리자가 이 원격 컴퓨터에 로그온하는 데 저장된 자격 증명의 사용을 허용하지 않습니다."라는 보안 경고창이 뜨면서 강제로 비밀번호를 입.. 2021. 9. 4.
프로세스 이름으로 PID 번호 구하기 이름으로 해당 프로세스의 PID 번호를 구하는 방법입니다. 위 작업 관리자 캡처 화면의 경우 Notepad.exe의 PID는 5528입니다. 그런데 이 번호는 메모장이 실행될 때마다 변경되기 때문에 PID가 필요한 경우 유용하게 사용할 수 있습니다. #include #include DWORD GetProcessByFileName(LPWSTR name) { DWORD process_id_array[1024]; DWORD bytes_returned; DWORD num_processes; HANDLE hProcess; WCHAR image_name[MAX_PATH] = { 0, }; DWORD i; EnumProcesses(process_id_array, 1024 * sizeof(DWORD), &bytes_r.. 2021. 8. 18.
Sonoff SNZB-02(zigbee 온습도계) 측정 주기(reporting interval) 설정하기 zigbee 온습도계 중에서 Sonoff의 SNZB-02 모델을 소개하고 추천드린 적이 있었습니다. 깔끔한 디자인도 그렇지만 무엇보다 온습도를 측정하는 기본에 충실한 제품이라서 였는데요. 그런데 측정된 데이터를 서버에 보내주는 주기가 너무 띄엄띄엄했고 이런 데이터라면 에어컨이나 가습기 등을 제어하는 트리거로 사용하기에 문제가 있어서 이 간격을 조절하는 방법에 대해서 공유하려 합니다. zigbee 온습도계, Sonoff SNZB-02 Zigbee타입의 온습도계 두 번째 리뷰입니다. 알리에서 배송비 포함하여 약 9달러에 구매 가능한 온습도계입니다. 지난번에 tuya 제품을 리뷰한 적이 있었는데요. tuya 온습도계는 아무래도 제가 불 kwonkyo.tistory.com 문제점 SNZB-02 센서의 온습도 측.. 2021. 8. 16.
Pyinstaller 패키징 때 PyQt ui 파일 포함시키는 방법(여러개도 됨) 문제점 파이썬으로 GUI 프로그램을 만들 때 PyQt를 애용하고 있습니다. PyQt는 ".ui"라는 확장자를 사용하는 별도의 GUI 리소스 파일이 있어서 파이썬에서 이 UI파일을 읽어오기만 하면 되기 때문에 아주 편리하게 사용할 수 있습니다. 그래서 UI가 약간 수정이 있다 해도 메인 소스를 손댈 필요가 없어서 생산성 측면에서 큰 장점이 있습니다. 그런데 이렇게 별도의 UI 파일이 있는 프로그램은 Pyinstaller로 패키징 할 때 리소스 파일이 누락되어서 패키징이 제대로 되지 않을 때가 있습니다. 제가 경험해본 바로는 UI 파일을 스크립트에서 불러올 때 상대 경로로 접근하는 경우 Pyinstaller로 패키징 할 때 UI가 누락되는 걸 경험했습니다. 그래서 이런 경우는 UI파일을 참조할 때 절대 경로.. 2021. 7. 22.
pip upgrade 에러 - 엑세스가 거부, No module named 'pip' pip 업그레이드 중에 발생할 수 있는 에러 해결법입니다. pip 모듈을 사용하다 보면 가끔 이런 안내를 만나게 됩니다. pip의 새로운 버전이 있으니 업그레이드를 하라는 건데요. 이런 안내를 받고 아무 생각 없이 이렇게 업그레이드를 시켰습니다. pip install python-dev-tools 그럼 이런 경고를 만날 수 있는데요. 서버에서 새로 설치할 pip정보를 검색한 후에 정보가 확인되면 컴퓨터에 깔려있는 이전 버전의 pip를 지우고 나서 새로운 버전을 설치하는 과정으로 진행이 되는 것 같습니다. 그런데 원래 깔려있던 pip를 지우는 중에 pip.exe에 접근을 못해서 에러가 발생합니다. 이게 참 당연한 건데 저는 생각도 안 해보고 뭔가 문제가 있다고 생각했었습니다. pip가 알아서 다 잘하니까 .. 2021. 7. 16.
powershell 권한문제(ExecutionPolicy) 해결하기 윈도에서도 powershell(PS) 쪽 기능을 계속 강화하고 있고 VSCode의 터미널도 PS가 기본이다 보니 이제는 CMD보다 PS를 많이 사용하게 됩니다. CMD를 사용할 때는 이런 일이 없었던 것 같은데 PS에서 권한 문제로 스크립트를 실행할 수 없다거나 하는 문제를 만날 때가 있습니다. 오늘은 그럴 때 제한을 풀어주는 방법입니다. PS에는 보안의 이유로 검증되지 않은 스크립트는 실행하지 못하도록 막는 기능이 있습니다. 현재 PS에 적용된 보안정책이 어떤 상태인지 확인하기 위해서는 "get-ExecutionPolicy"라는 명령을 사용합니다. PS C:\> Get-ExecutionPolicy Restricted "Restricted"라는 결과라면 실행이 막혀있는 상태입니다. 아래 "Set-Exec.. 2021. 7. 14.
AirPods pro 리콜 후기 (인천 Tuva 연수센터) 예전에 아마존 renewed로 구매한 에어팟을 리뷰한 적이 있었습니다. 실제 구매일은 올 3월가량이고 약 3개월 동안 큰 불편함 없이 잘 사용하고 있었습니다. 아마존 renewed 에어팟 프로 구매 후기 에어팟 프로 한 번은 꼭 써보고 싶었는데 에어팟 1세대가 아직 쌩쌩하게 살아있고 그 외에도 이어폰이며 헤드폰이며 잡다하게 쓰고 있는 게 많다 보니 함부로 에어팟 프로를 사겠다라고 말을 꺼 kwonkyo.tistory.com 그런데 어느 날 리뷰글에 이런 댓글을 남겨주신 분이 계셨습니다. 귀인을 만난 거죠. 댓글로도 남겼지만 다시 한번 "pro"님 감사합니다. 제가 구매한 제품이 2020년 8월에 제조한 제품이고 이 제품은 리콜 이슈가 있다는 말씀을 해주셨는데요. 찾아보니 이런 공지가 있었더라고요. 제가 .. 2021. 7. 12.
다용도 디지털 타이머 - Baseus, Heyo Roatation Countdown Timer 리뷰 오랜만에 알리 쇼핑입니다. 오늘은 주방용 타이머인데요. 저는 주방에서 뿐만 아니라 일할 때도 시간 가늠하면서 하려고 인터페이스 간단하고 이쁜 걸로 찾다가 구매하게 되었습니다. 역시 Baseus 제품이 디자인도 이쁘고 가격도 착하고, 액세서리계의 샤오미 같은 느낌이죠. 알리에서 주문하고 약 2주 만에 물건 받을 수 있었습니다. 제품 포장에 적힌 정식 명칭은 Heyo Roration Countdown Timer입니다. 박스를 열어보면 제품과 설명서가 들어있습니다. 표면이 광택이 나는 플라스틱이라 보호비닐이 씌워져 있습니다. 딱 보면 어떻세 사용하는지 아 수 있는 단순한 제품이라 설명서는 필요 없을 것 같으니 사진 찍어서 보관만 하고 넘어갑니다. 보호필름을 벗기면 반짝거리는 타이머 화면을 만날 수 있습니다. .. 2021. 7. 10.
selenium사용하지 않고 네이버쇼핑 검색결과 크롤링하기 네이버 쇼핑의 검색 결과가 필요해졌습니다. 검색 페이지 크롤링하면 되니까 어렵지 않게 할 수 있을 거라고 생각했었는데 그게 아니었습니다. 대신 검색정보를 담고 있는 JSON파일을 찾을 수 있었고 더 쉬운 방법으로 해결이 되어서 내용을 남깁니다. 크롤링의 기본은 사이트의 구조를 파악하는 일이죠. 저는 특정 카테고리의 해외직구 제품 네이버 랭킹 1~100위 제품을 가져올 계획이고 여기서 그 카테고리는 TV입니다. 먼저 해당 페이지를 분석해보겠습니다. "네이버 > 쇼핑 > 카테고리TV > 해외직구"로 이동합니다. F12 or Ctrl+Shift+I 를 눌러서 "개발자 도구"를 열어줍니다. 여기서는 로딩되는 웹페이지의 모든 정보를 볼 수 있습니다. 그리고 좌측 상단의 마우스 모양의 버튼 or Ctrl+Shift.. 2021. 7. 9.
Pyinstaller로 변환한 exe 파일의 실행 경로 찾기 Pyinstaller로 파이선 스크립트를 실행파일로 변환했을 때 겪을 수 있는 경로 문제에 대한 이야기입니다. 프로그램 동작중에 데이터 파일을 가져오거나 저장해야 할 일이 있을 때 파이썬 스크립트 상태에서 실행할 때는 아무런 문제가 없었는데 Pyinstaller로 패키징을 한 후에 실행을 하면 똑같은 위치에 멀쩡히 잘 있는 데이터 파일을 찾지 못한다고 에러가 뜨거나 파일을 저장했다는데 엉뚱한 곳에 저장을 해서 난감한 경험을 격으셨다면 끝까지 읽어보시고 해결해보세요. 본 포스팅은 프로그램의 runtime과 관련된 내용으로 pyinstaller의 기술문서인 아래 링크를 참고하였습니다. 자세히 공부를 하고 싶다 하시는 분은 링크의 문서를 다 읽어보시면 좋을 것 같고요. 난 결론만 있으면 돼 하시면 아래 글을 .. 2021. 7. 8.
pyinstaller 에러 virtualenv로 해결하기 (Python 3.8.10 버전은 피하세요) 파이썬 스크립트를 ". exe" 실행파일로 변환해 주는 "pyinstaller"에 대해서 언급한 적이 있었습니다. pyinstaller - 파이썬 코드를 실행파일(.exe)로 변환 ".py" 확장자의 파이썬 코드는 매우 작은 용량이지만 방대한 일을 처리할 수 있는 신기한 파일입니다. 하지만 컴퓨터에 파이썬 interpreter가 설치되어 있어야 하고 코드에서 사용한 다양한 라이브 kwonkyo.tistory.com 코딩하면 늘 혼자서만 사용하기 때문에 pyinstaller를 사용할 일이 거의 없었는데요. 최근에 쓸 일이 생겨 오랜만에 패키징을 시켜 봤더니 에러가 발생했습니다. 예전에 해봤을 때와 달라진 것이라고 한다면 파이썬 버전이 달라진 것 말고는 없는데 "LoadLibraryEx", '시스템에서 파일.. 2021. 7. 6.
Windows 11 Inside Preview 공개 Windows 11에 대한 다양한 의견들이 분분한 가운데 지난달 Insider Preview 버전의 빌드 22000.51이 출시되었습니다. 윈도의 새로운 버전에서 가장 기대되는 기능은 안드로이드 앱이 윈도에서 구동되는 건데 어떤 식으로 구현이 될지 너무 기대가 됩니다. 오늘은 윈도 11에서 변경될 주요 기능들에 대해서 알아보고 공개된 윈도 11 버전은 어떤지 확인해 봤습니다. 설치법 설치방법은 Windows Insider Preview에 가입이 된 상태에서 "설정 > 업데이트 및 보안 > Windows 참가지 프로그램"으로 이동해서 참가자 설정을 Dev 채널로 변경하면 업그레이드를 받을 수 있습니다. 물론 Dev 채널은 개발자를 위해서 신기능을 가장 먼저 접할 수 있도록 하는 채널이기 때문에 여기를 통해.. 2021. 7. 5.