본문 바로가기

Hardware92

DIY IoT 부품 - Sonoff pow r2 개봉기 및 펌웨어 백업 DIY IoT 환경을 꾸미는데 가장 기본적인 부품은 바로 스마트 스위치인데요. ESP8266 모듈에 릴레이를 붙여서 간단한 스마트 스위치를 만들어 사용해보기도 했습니다만, Sonoff라는 기성품이 있어서 몇 가지 모델 구매해 봤습니다. Sonoff 제품은 ESP8266 칩셋을 사용하기 때문에 기존 개발 모듈과 거의 동일한 구성을 하고 있습니다. 그리고 제품 내부에 UART 단자도 노출되어 있기 때문에 쉽게 나만의 펌웨어로 교체하고 디버깅이 가능한 장점을 가진 그런 제품입니다. 부품을 하나씩 사서 DIY 스위치를 만들어도 되지만 이미 직접 만드는 것보다 훨씬 높은 수준으로 만들어져 있는 제품이기 때문에 귀찮은 납땜이나 케이스 제작 같은 일을 피하는 대신 몇 천원만 더 쓰면 되기 때문에 나쁘지 않은 옵션이라.. 2020. 11. 6.
Home Assistant, HTTPS 접속 활성화 Home Assistant(HA)에서 확장 기능을 사용하려다 보면 HTTPS를 사용하는 보안접속이 필요한 경우가 있습니다. 그래서 HA를 좀 본격적으로 활용해 보겠다 하면 필수적으로 적용해야 하는 것이 바로 HTTPS 접속입니다. SSL을 이용한 보안이 강화된 프로토콜이라고 하는데 자세한 건 모르지만 일단 필요하니까 무작정 설정해 봅니다. 먼저 www.duckdns.org/ 로 이동해서 회원가입합니다. DuckDNS 계정이 만들어지고 나면 위 화면과 같이 홈페이지 위쪽에서 계정 정보를 확인할 수 있습니다. 나중에 HA설정 시 토큰 값이 필요한데 여기 있는 토큰 값이 사용됩니다. 이제 도메인 설정을 해 줍니다. 아래 화면에서 검은색 부분에 sub domain이라고 된 입력란에 HA서버로 사용할 서브도메인명.. 2020. 11. 5.
Home Assistant - ESPHome 연동 IoT, 스마트 가전 등등 이런 키워드로 깊이 들어가면 결국은 집안의 모든 가전기기를 묶어서 모니터링하고 컨트롤하는 홈오토메이션으로 귀결되기 때문에 저도 최근에 "Home Assistant(HA)"라는 오픈소스 홈오토메이션 솔루션에 발을 들이게 되었고 이것저것 눈이 보이는 건 다 연결하고 싶어서 부품들을 알아보고 있는 중입니다. 이전 포스팅에서 없는 실력에 이것저것 알아보며 힘겹게 ESP01 모듈을 활용해서 WiFi로 켜고 끌 수 있는 전등 스위치를 제작했었는데요. 웹소켓도 적용하고 타이머 기능도 넣어서 나름 쓸만한 정도가 되었다고 생각하고 한동안 유용하게 사용을 했었습니다. ESP01 모듈로 만드는 IoT 웹서버 2.0 - 웹소켓, 타이머 적용 오늘은 기존 프로젝트의 업그레이 후기입니다. ESP01 모.. 2020. 10. 29.
3D프린터 때문에 육종암?! 3D 프린터에서 발생하는 유해물 그리고 PLA는 안전한지 알아봅시다 3D 프린터를 많이 사용한 고등학교 교사가 육종암에 걸렸다는 뉴스를 보고 깜짝 놀란적이 있었습니다. 정말 3D 프린터가 건강에 그렇게 나쁜 걸까요? 3D 프린터를 살 때 쓸데없는데 돈 쓰지 말라던 딸아이의 생모의 반대를 무릅쓰고 겨우 사게 된 건데 이러다가 당장 처분하라는 말이 나올까 봐 걱정이 됩니다. 물론 제 건강도 걱정되고요. 논란이 되고 있는 3D 프린터의 유해성에 대해서 알아봤습니다. 3D 프린터기를 동작시킬때 기분이 좋지만은 않은 화학약품의 냄새를 맡을 수 있습니다. 눈에는 잘 보이지 않지만 뭔가가 발생하고 있다는 걸 알 수 있는데요. 아무래도 인공적으로 만든 어떤 미세입자들을 들이마신다는 건 상식적으로도 건강에 좋을 리는 없어 보입니다. 그렇다면 도대체 어떤 물질들이 나오는 걸까요? 그리고 .. 2020. 10. 26.
라즈베리파이에 Home Assistant 이미지로 설치 (공식 권장 설치법) 지난번에 라즈베리파이를 다양한 용도로 사용해 보려고 라즈베리파이 OS 깔려있는 상태에서 매뉴얼로 Home Assistant(HA) 설치를 했다가 "Supervisor"탭이 없는 걸 확인하고 좌절한 적이 있었습니다. (공홈에 안내되어 있었는데 대충 읽었던 제 잘못이죠..) 그래서 SD카드도 새로 준비해서 이번엔 시키는 대로 다시 한번 HA설치를 해 봤습니다. A2 Class SD카드로 교체 지난번 수동 설치 때 SD 카드 속도가 너무 느렸던 탓인지 설치에 몇 시간이나 걸렸던 전처를 다시 밟지 않기 위해서 이번엔 A2 Class의 SD 카드를 준비했습니다. SD카드의 보장 속도를 표시하는 여러 가지 기준이 있는데 메모리의 속도가 계속 빨라지면서 새로운 기준들이 생겨나서 똑같이 속도를 표시하는 건데 종류가 많.. 2020. 10. 25.
ESP8266 웹서버+웹소켓+파일시스템(SPIFFS) 예제 ESP8266 모듈을 사용해서 전등을 컨트롤하는 프로젝트를 진행했었습니다. 컨트롤 인터페이스를 위해서 ESP8266 모듈을 웹서버로 활용할 수 있는 기능을 사용했었는데요. HTML 코드를 문자열로 저장하고 있다가 요청이 오면 그 문자열을 반환해서 웹페이지를 보여주는 방식이었습니다. 하지만 이런 방법으로는 웹페이지를 디자인하는데 제한사항이 너무 많습니다. 일단 웹페이지 디자인 수정이 필요한 경우 펌웨어 자체를 다시 올려야 하기 문제가 있습니다. 물론 OTA를 이용해서 나름 편리하게 수정을 할 수 있지만 업데이트 때마다 서버가 중단되어야 하는 문제는 해결하지 못합니다. 그리고 웹페이지에서 사용할 수 있는 소스에도 한계가 있습니다. 물론 ESP8266 모듈의 용량이 코딱지 만하기 때문에 물리적인 한계는 있지만.. 2020. 10. 24.
ESP01 모듈로 만드는 IoT 웹서버 2.0 - 웹소켓, 타이머 적용 오늘은 기존 프로젝트의 업그레이 후기입니다. ESP01 모듈과 릴레이를 활용해서 거실에서 사용하는 보조등을 와이파이로 켜고 끌 수 있는 컨트롤러를 만들어 봤었는데요. ESP01 모듈로 만드는 IoT 웹서버 - WIFI로 전등 켜기 요즘은 ESP8266 보드를 아두이노 보다 더 많이 사용하고 있습니다. USB 포트가 없어서 별도로 USB-UART 변환 도구가 있어야 하는 불편함이 있지만 크기도 작고 와이파이도 사용할 수 있기 때문에 실생 kwonkyo.tistory.com 내용을 보면 아시겠지만 기존의 방법은 웹서버를 구성하는 HTML 코드에 치환자를 넣어두고 HTTP 요청에 따라 치환자를 교체해 가면서 버튼이 눌려지는 효과를 흉내 내고 기능을 구현해 봤습니다. 그래서 일반적으로 우리가 인터넷을 사용하면서.. 2020. 10. 23.
라즈베리파이에 Home Assistant(HA) 수동 설치법 전자제품 좋아하고 메이커 활동에 취미가 있다면 자연스럽게 이어지는 목적지 중 하나가 홈오토메이션인 것 같습니다. 저도 거창한 시스템은 돈이 많이 들 것 같아서 생각도 안 했지만 ESP8266 사용하면서 하나씩 시도해보고 그러다가 Home Assistant(HA), ESPHome 같은 솔루션들을 접하게 되었습니다. 오늘은 그 시작이라고 할 수 있는 HA 설치를 해보려 합니다. 지난번에 3D 프린터 용으로 OctoPrint를 사용하기 위해서 라즈베리파이를 준비했었는데 이렇게 또 활용처가 하나 더 늘었네요. HA를 설치하는 방법은 여러 가지가 있는데요. HA에 최적화된 라즈베리파이용 OS인 HASS.io의 이미지로 설치할 수도 있고 아니면 OS가 이미 설치된 라즈베리파이에 매뉴얼로 설치할 수 있는 방법도 있습.. 2020. 10. 22.
ESP8266, NTP로 인터넷 시간 동기화 (feat. UDP, NTP 패킷 구조) NTP를 이용해서 현재시간을 동기화하는 예제입니다. 시간에 따라 동작 조건을 다르게 적용하고 싶은 프로젝트가 있을 때 현재시간 확인이 필요한데요. 그럴 때 사용할 수 있는 여러 가지 방법 중 하나입니다. 예제 코드는 이전 포스팅에서 소개한 적 있었던 "Beginners guide of esp8266"에서 가져왔고 가이드북에서 설명이 생략되어 있는 부분에 약간의 살을 더해서 NTP를 처음 접했던 제가 이해한 내용을 정리하였습니다. 시작하기 전에 먼저 알아두면 도움이 될 내용 코드에 상세하게 주석을 달아두어서 바로 코드를 보면서 이해해도 되겠지만 몇 가지 알아두면 이해하는데 도움이 될 내용부터 먼저 건들어 보겠습니다. UTC(협정 세계시) UTC는 쉽게 말하면 우리가 사용하는 시간의 표준으로 국제 기준입니다.. 2020. 10. 20.
3D프린터 익스트루더 업그레이드 - E3D Titan Extruder Anycubic Delta Kossel 3D 프린터의 익스트루더 뭉치의 업그레이 후기입니다. 원래 사용하던 익스트루더는 Anycubic Kossel 키트의 기본 부품으로 포함된 모델이었습니다. 스탭 모터에 직결된 황동 톱니 기어가 필라멘트를 쓸어내는 방식으로 동작하고 쓸려나간 필라멘트는 비닐호스가 연결된 커넥터 구멍을 통해서 익스트루터 뭉치에서 빠져나가는 구조입니다. 이 익스투루더를 사용함에 있어서 기능이나 프린터 성능적인 부분에서 큰 문제는 없었지만 필라멘트 교체가 너무 불편하다는 단점이 있었습니다. 필라멘트가 항상 똑바른 직선의 형태를 유지할 수 있다면 이 익스트루더도 문제가 없었을 겁니다. 하지만 필라멘트는 롤에 말려있기 때문에 살짝 구부러진 모양을 하고 있습니다. 그리고 사용을 하면 할수록 말려있.. 2020. 10. 15.
ESP8266, mDNS 사용법 (윈도, 안드로이드는 아직 미지원) ESP8266 모듈이 네트워크에 연결이 되면 거기에 접속을 해서 구현한 기능을 활용해야 하겠죠. 이때 ESP8266 모듈이 네트워크에서 할당받은 IP주소를 알아야 접속을 할 수 있습니다. 대부분의 경우 동일한 환경에서 사용한다면 한번 접속한 IP주소가 유지되기 때문에 다음에 접속할 때도 저장된 주소로 접속하면 돼서 크게 불편할 일이 없지만 다른 네트워크로 이동하면서 테스트를 해야 한다면 매번 아이피 확인해서 접속하기가 번거로울 수 있습니다. 이럴 때 mDNS기능을 사용하면 고유의 도메인명으로 쉽게 접속이 가능합니다. 사용 방법은 다음과 같습니다. #include #include // 신호가 강한 AP에 골라서 접속하기 위한 라이브러리 #include // mDNS 기능을 위한 라이브러리 ESP8266Wi.. 2020. 10. 11.
ESP8266 네트워크 접속 방법 - wifi multi, softAP ESP8266WiFiMulti.h ESP8266 기반의 모듈, 보드를 사용할 때 와이파이 네트워크에 접속하기 위해서 보통 아래와 같은 방법을 사용합니다. #include // WIFI 라이브러리 const char* ssid = "SSID"; // 접속할 WIFI SSID const char* password = "PASSWORD"; // 접속할 WIFI 비밀번호 void setup() { Serial.begin(115200); // Start the Serial communication to send messages to the computer delay(10); Serial.println('\n'); WiFi.begin(ssid, password); // 와이파이에 접속 시도 Serial.print(.. 2020. 10. 10.
ESP8266-12 + DHT22, 웹에서 온도 습도 확인하기 2.0 어제 포스팅에서는 ESP12 보드에 DHT22 센서 모듈을 연결해서 간단하게 웹페이지에서 온도와 습도를 확인할 수 있는 예제를 따라 해 봤었는데요. 이번에는 웹페이지에서 보이는 온습도가 일정 시간 간격으로 자동으로 업데이트되도록 업그레이드해 봤습니다. ESP8266-12 + DHT22, 웹에서 온도 습도 확인하기 이전 포스팅에서 다룬 아두이노를 통해서 DHT 온습도 센서 값을 읽는 예제의 업그레이드 버전으로 이번에는 ESP8266 칩셋 기반의 ESP-12 모듈을 이용해서 웹에서 온습도를 읽어오는 예제입니다. 아�� kwonkyo.tistory.com 하드웨어 결선은 이전 포스팅과 동일하기 때문에 생략합니다. 앞에 언급된 이전 글 참고해 주세요. ^^ 소프트웨어 (펌웨어 코딩) 동작의 흐름을 먼저 설명하자.. 2020. 10. 9.
ESP8266-12 + DHT22, 웹에서 온도 습도 확인하기 이전 포스팅에서 다룬 아두이노를 통해서 DHT 온습도 센서 값을 읽는 예제의 업그레이드 버전으로 이번에는 ESP8266 칩셋 기반의 ESP-12 모듈을 이용해서 웹에서 온습도를 읽어오는 예제입니다. 아두이노 온습도 센서 - DHT11, DHT 22 온습도 센서 DHT11 그리고 DHT22를 사용해서 온도와 습도를 측정하는 방법입니다. DHT센서 기본 DHT11 센서와 DHT22 센서의 차이는 정밀도입니다. 많은 실습 키트 그리고 예제에서 DHT11 센서를 많이 사�� kwonkyo.tistory.com 그리고 ESP8266의 웹서버 관련된 내용은 아래 포스팅에서도 언급한적 있는데 이번엔 이 두 가지의 짬뽕이라고 생각하시면 됩니다. ESP01 모듈로 만드는 IoT 웹서버 - WIFI로 전등 켜기 요즘은 E.. 2020. 10. 8.
오래된 PLA 필라멘트를 새것처럼 되돌리기 3D 프린터는 필라멘트 보관이 까다롭습니다. 가장 신경을 써야 하는 부분이 습도인데요. PLA 필라멘트는 수분을 빨아들이는 성질이 있기 때문에 습기가 닿지 않도록 밀봉을 해서 보관을 해야 한다고 하는데요. 다른 종류의 필라멘트는 사용해보지 않았지만 검색을 좀 해보면 ABS는 PLA보다도 더 수분을 많이 빨아들인다고 하네요. 그래서 저는 출력이 끝나고나면 노즐이 뜨거운 상태일 때 얼른 필라멘트 빼서 따로 보관을 하는데요. 찾아보면 이렇게 고급스러워 보이는 필라멘트 보관용 용기도 판매를 하고 있지만 마트에서 대형 지퍼백을 사서 사용하고 있습니다. 그리고 최대한 지퍼백 내부 수분을 제거하기 우해서 제습제를 같이 넣어서 보관을 하고 있습니다. 하지만 이렇게 관리를 한다고 노력을 하지만 가끔 출력하고 까먹어서 그.. 2020. 10. 1.