본문 바로가기

Hardware112

아두이노 버튼 짧게 누르기/길게 누르기 구현(ezButton 라이브러리) 아두이노 프로젝트에서 버튼은 프로젝트 기능을 풍부하게 만들어 줄 수 있는 중요한 요소입니다. 그러나, 하드웨어 적으로는 입력 핀에 연결된 스위치를 통해서 High/Low 전압 값을 읽어 들이는 간단한 메커니즘이지만 스프트웨어 적으로는 인터럽트, 디바운싱, 풀업/다운 저항 등 입문자 입장에서는 부담스러울 수 있는 여러 가지 고려사항이 있는 까다로운 요소입니다. 오늘은 이런 난감한 상황을 시원하게 해결해 줄 수 있는 "ezButton"이라는 라이브러리를 알아보겠습니다. ezButton 라이브러리 ezButton은 debounce, 버튼의 닫힘, 열림 이벤트 등을 지원하는 아두이노 라이브러리입니다. 지원기능 지원되는 기능은 다음과 같습니다. Uses the internal pull-up resistor to .. 2023. 10. 3.
해킹에 무방비하게 노출된 내 서버, 기본적인 방어는 되어 있는지 확인해 보세요 지인이 운영하는 워크스테이션에 셋방살이로 일부 자원 공유받아 사용하고 있는데요. 어느 날 서버 주인이 느닷없이 윈도에 원격접속이 되지 않는다고 연락이 왔습니다. 서버에는 리눅스 하나, 윈도 하나가 돌아가고 있고 각 OS별로 개인 계정을 하나씩 두고 사용하고 있는데 다른 건 다 괜찮은데 윈도 계정중 1개만 아래와 같이 너무 많은 로그인 시도로 인해 계정이 잠겼다고 경고가 나왔습니다. 몇십 년 윈도 사용하면서 이런 메시지를 본 건 처음이라 상당히 당황스럽더라고요. 그래서 윈도 이벤트 기록을 살펴보니 로그인 로그가 엄청나게 발생해 있는 걸 볼 수 있었습니다. 로그인을 시도한 위치도 제각각이고 로그인 아이디도 제각각이었습니다. 이게 그 말로만 듣던 무작위 대입 해킹시도이구나 싶더군요. 윈도 서버는 항상 켜져있지.. 2023. 8. 27.
아두이노 + 자외선(UV)센서 모듈 사용법2 - SZH-CH025 예전에 UV센서 모듈을 구입해서 간단히 사용해 본 적 있었는데(아두이노 + 자외선(UV) 센서 모듈 사용법), 불량이었는지 금방 고장이 나서 이번엔 비슷하지만 다른 제품을 구매해 봤습니다. UV센서 자체는 동일한 모델(GUVA-S12SD)을 사용하는 것 같고 출력 회로만 살짝 다른데 사용법도 동일하고 스펙도 거의 동일합니다. 자외선 센서 제품 사양 살펴보면 다음과 같습니다. 자외선의 탐지범위는 이전에 사용했던 것보다 약간 더 좁은 약 240~370nm 파장이라고 되어있네요. 센서자체는 동일한데 이전에 사용했던 모델은 왜 200nm부터가 탐지범위라고 했는지 지금에서야 좀 의문스럽네요. ㅎ (판매하시는 분들도 워낙 많은 물건을 다루시다 보니 정확한 스펙을 기재하기 어려운 점이 있는 것 같습니다.) 사양(Sp.. 2023. 8. 19.
ESPHome - OSError: [Errno 105] No buffer space available 아주 오래전에 ESPHome에서 발생한 에러와 그 해결방법에 대한 기록입니다. 아무 문제 없이 잘 사용하고 있었는데 OS업데이트가 변수인지, 언제부터인가 갑자기 ESPHome 노드들의 원격 로그 보기에서 에러가 발생했습니다. OSError: [Errno 105] No buffer space available 에러번호 105에 버퍼(?)가 부족?? 다행히 간단한 해결방법이 있었습니다. 해결방밥은 "/etc/sysctl.conf" 파일에 다음 설정을 추가해 줍니다. net.ipv4.igmp_max_memberships=50 파일 수정 후 적용하기 위해서는 아래와 같이 "sysctl -p" 명령을 실행한다. 조치를 마치고 나서 다시 ESPHome 로그를 열어보면 문제없이 로그를 잘 확인할 수 있습니다. 끝! 2023. 4. 11.
ESPHome 커스텀 컴포넌트 추가해서 Home Assistant에 설치 ESPHome 커스텀 컴포넌트가 필요했던 이유 ESPHome 처음 접했을 때가 한 3년 전인가 그랬던 거 같은데 그때도 참 대단한 프로젝트라고 생각을 했었습니다. 그런데 쉬지 않고 업데이트가 거듭되면서 시간이 지난 지금도 개선되는 내용을 보면서 놀라움을 금치 못하고 있습니다. 지원되는 컴포넌트만 해도 400가지가 넘고 사용성도 좋아져서 범용 솔루션이라고 할 수 있을 것 같습니다. ESPHome에 대한 경험이 많지는 않지만 그중에서도 유용하게 사용하는 프로젝트가 바로 ESP8266 모듈에 RS485 변환모듈을 연결해서 아파트 월패드 컨트롤러로 사용하는 건데요. 한동안 뭣도 모르면서 따라 하느라 고생 좀 했던 거라서 블로그에도 시리즈로 3편이나 포스팅을 했었더랬죠. (Home Assistant, 더샵 아파트.. 2023. 1. 29.
UART 시리얼 통신의 기본 아두이노에서 여러 기기들 간의 통신에 시리얼 통신(Serial Communication)을 많이 사용합니다. 저도 시리얼(Serial or UART)로 정보를 주고받는 기기들을 종종 사용하긴 하지만 대부분의 경우 라이브러리를 사용하기 때문에 깊이 있는 이해가 부족했습니다. 그러다 보니 문제가 생기면 어디서부터 접근해야 할지 막막한 경우가 생기더군요. 저도 이번에 시리얼 포트로 연속적으로 수신되는 데이터를 처리해야 하는데 생각처럼 잘 되지 않았고 그래서 시리얼에 대해서 되도록이면 기초부터 공부를 해야 할 필요를 느껴서 정리를 좀 했습니다. 시리얼 통신은 직렬 통신 시리얼(Serial) 통신이라는 건 전달해야 할 데이터를 직렬로 전달하는 방법을 지칭하는데요. 직렬이라는 건 데이터를 순서대로 차례차례 주고받는.. 2023. 1. 25.
ESPHome 개발환경 구축 ESPHome은 제가 참 좋아하는 IOT 설루션입니다. ESP8266 모듈과 함께 하면서 원래 아두이노로 하던 프로젝트까지도 모두 ESPHome으로 다시 뒤집어엎을 정도로 주로 사용하고 있습니다. 워낙 잘 만들어져 있고, 업데이트도 부지런히 이루어지고 있어서 뭐 더 바랄 게 없지만 가~끔 거의 1년에 1번 될까 말까 한 빈도로 소스를 좀 고쳐보면 어떨까 하는 그런 상황이 생길 때가 있습니다. 그러면 저 같은 경우 시도했던 방법이 ESPHome 공식 저장소를 포킹 한 다음 소스코드를 살짝 수정하고 Home Assistant(HA)에 수정한 저장소를 연결해서 새로운 Addon을 설치하고 잘 되는지 확인을 하는데요. 이렇게 하면 오타 나서 글자 하나 수정하려고 해도 HA에 깔아놓은 수정된 ESPHome을 지웠.. 2022. 4. 7.
스마트 플러그 Sonoff S26 R2 - ESPHome 설치 & HA연동 이상무 Sonoff 스마트 플러그 Sonoff S26 R2 제품 사용기입니다. 예전에 Sonoff S20 제품에 ESPHome을 설치하는 내용을 공유한 적 있었는데 그 후속 버전인 것 같습니다. 안 쓰는 전등이 있어서 취침등으로 사용하려고 스마트 플러그를 구입을 했는데요. 원래 쓰던 S20를 구매하려고 했습니다. ESPHome 설치도 쉽게 할 수 있었고 지금까지 아무 문제없이 잘 사용하고 있었는데 업그레이드 제품이 나와서인지 더 이상 S20은 구할 수가 없었고 그래서 새로운 버전인 S26 R2 모델을 구매하게 되었습니다. 인터넷을 찾아보면 S26에 대한 내용은 좀 있는데 S26 R2에 대한 내용은 또 잘 안 보이네요. 걱정이 조금 되긴 했지만 뭐 큰 문제 있겠나 싶어서 2개 구매했고 다행히 계획했던 작업이 잘 .. 2022. 3. 21.
라즈베리파이 OS 64bit로 업그레이드하고 Home Assistant 설치하기 라즈베리파이 OS의 64비트 버전이 드디어 공식적으로 공개되었습니다. 공개된지는 벌써 한참 되었지만 요즘은 왜 이렇게 의욕이 떨어진 건지 보통 큼 맘먹지 않으면 OS 설치는 쉽게 엄두가 나지 않네요. 그 옛날에는 윈도를 하루에도 몇 번씩 다시 깔고 했었는데 어떻게 했나 싶네요. 잡설은 각설하고 본론을 얘기하자면, 그동안 Home Assistant(HA) 서버와 같이 Quad Sata Hat이라는 SSD/HDD 연결 모듈을 사용해서 작은 NAS정도의 역할을 수행해오던 라즈베리파이 서버를 라즈베리파이 OS 32비트에서 64비트로 업그레이드하였고 32비트에서 사용하던 모든 기능들을 문제없이 그대로 사용할 수 있게 되었습니다. 그리고 64비트 운영체제를 설치하게 되면서 얻은 이점은 code-server를 사용할.. 2022. 3. 16.
QUAD SATA HAT에 연결한 SSD에서 직접 라즈베리파이 부팅하기 라즈베리파이를 기성품 NAS처럼 사용할 수 있도록 해주는 신박 아이템 QUAD SATA HAT(이하 HAT) 제품에 대한 추가 포스팅입니다. 이전 글에서는 이 제품을 조립한 경험과 사용 방법 등을 공유하고 장단점에 대해서도 얘기를 했었는데요. 이 분야에서는 좀 독보적인 제품이라고 생각하고 그래서 비판할 거리가 거의 없긴 했지만 제가 이 제품을 처음 사용했을 때는 아쉽게도 치명적인 단점이 하나 있었습니다. 라즈베리파이 DIY NAS 구축 준비 & QUAD SATA HAT Kit 구입 후기 소형 홈 서버 구축을 해보고 싶다는 생각을 늘 하고 있었습니다. 그러다가 Home Assistant(HA)를 사용하면서부터 라즈베리파이의 매력에 빠지게 되었고, 라즈베리파이에서 HA를 사용하면서 동시에 미 kwonkyo... 2022. 3. 8.
라즈베리파이4에서 xRDP 접속에러 해결 라즈베리파이와 리눅스라는 운영체제를 처음 접했을 때는 쉘 환경이 익숙하지 못해서 xRDP를 많이 사용했습니다. 시간이 지날수록 많은 분들이 쉘 환경을 사용하시는 것처럼 저도 점차 xRDP는 거의 사용을 안 하게 되었습니다. 하지만 가끔 파일을 정리한다던가 할 때 여전히 터미널에서 파일을 복사하고 이동하고 하는 건 익숙해지지가 않아서 xRDP에 접속해야 할 때가 생깁니다. 그런데 얼마 전 라즈베리파이 OS 업그레이드를 하고 난 후부터 xRDP접속을 하면 다음과 같은 에러가 발생하면서 접속을 할 수 없는 상황이 발생했습니다. 찾아보니 대략 2가지 원인이 있었는데요. 가장 많은 분들이 효과를 봤다고 하는 방법먼저 적용해봤습니다. xRDP 멀티 로그인 불가 대략 '21년도 말에 라즈베리파이 OS가 Debian1.. 2022. 3. 3.
라즈베리파이OS에 Home Assistant Supervised 설치방법 2 배경 예전에 라즈베리파이 OS가 설치된 환경에서 Home Assistant Supervised를 설치하는 방법을 포스팅했던 적이 있었습니다. 그런데 HA를 다시 설치할 일이 생겨서 그때 쓴 글을 보고 똑같이 해 봤는데 시간이 많이 지나서 변경된 부분이 많이 있어서 그 방법은 안되더라고요. 그래서 새로 바뀐 방법으로 설치하는 방법 다시 정리합니다. 라즈베리파이OS 설치 후 도커 + Home Assistant Supervised 설치방법 (data파일은 SSD로) 배경 라즈베리파이 OS가 설치되어 있다는 가정하에서 시작합니다. 라즈베리파이 OS 설치에 대해서는 이전 포스팅을 참고해 주세요. Home Assistant(HA)를 설치하는 방법에는 여러 가지가 있습니다. HA kwonkyo.tistory.com .. 2022. 1. 5.
Home Assistant 보안 연결(Https) 문제 해결하기 (DST Root Ca X3 인증서 만료) 한 두어 달 전부터인가 Home Assistant(HA)에 접속을 하면 크롬에서 보안 연결이 되지 않았다고 경고를 표시하기 시작했습니다. 그리고 크롬도 업그레이드되고부터는 보안 연결이 되지 않은 사이트라고 위험하다는 계속 경고를 해대서 더 미루면 안 되겠다 싶어서 조치를 취했습니다. 전 HA서버에 duckdns를 사용하는데 여기서 "Let's Encrypt" 인증을 활용합니다. 그런데 Let's Encrypt에서 원래 사용했던 루트 인증서가 '21년 9월 30일 부로 만료가 되어서 새로운 인증서를 사용해야 하기 때문에 이런 문제가 생기고 있는데요. 원래 사용하던 인증서는 "DST Root CA X3"이고 이제는 "ISRG Root X1"를 사용한다고 합니다. 그러면 만료된 인증서는 어떻게 갱신해야 하느냐.. 2022. 1. 3.
TASMOTA 기초 사용법 저는 NodeMCU의 펌웨어로 ESPHome을 계속 사용해 왔습니다. 처음 접한 것이기도 하고 제가 활용하고자 하는 방향에 아주 딱이라서 다른 걸 써 볼 생각을 하지 않았습니다. 그런데 IOT관련 내용들을 보다 보면 Tasmota라는 이름을 쉽게 접할 수 있습니다. 그래서 Tasmota는 어떻게 사용하는 건가 궁금해서 한번 맛만 보려 합니다. ESP 모듈의 펌웨어로 사용할 수 있는 도구들은 Tasmota나 ESPHome 말고도 다양한 설루션이 존재합니다. 각각 기능별 특색이 있어서 목적에 맞게 골라서 사용하면 될 것 같은데요. 그중에서도 IOT, Home Automation에 잘 맞는 건 ESPHome과 Tasmota인 것 같았습니다. Tasmota가 ESPHome과 가장 큰 차이점이라고 다목적의 범용 .. 2021. 12. 31.
GUI로 esptool.py를 편리하게 (NodeMCU PyFlasher, ESPHome-Flasher) ESPHome을 사용하는 디바이스를 하나씩 늘려갈 때 귀찮은 작업 중 하나가 바로 컴파일 한 바이너리 파일을 디바이스로 업로드하는 과정입니다. 디바이스에 이미 OTA 서비스가 동작하고 있으면 문제가 안되지만, 새로 구매한 디바이스의 펌웨어를 새로 설치해야 할 때는 유선으로 업로드해줄 수밖에 없죠. 이런 귀찮은 상황에서 한 가지 반가운 것은 ESPHome dashboard가 최근에 업그레이드되면서 컴파일한 파일을 디바이스로 올릴 수 있는 옵션 하나가 추가가 되었습니다. 코드 편집 화면에서 "Install"버튼을 눌러보면 팝업창이 뜨면서 어떤 방법으로 설치를 할지 확인하는 절차가 생겼는데요. 그중에서 2번째 "Plug into this computer"라는 옵션이 있습니다. ESPHome dashboard를.. 2021. 12. 22.