본문 바로가기

Hardware112

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.
아두이노 온습도 센서 - DHT11, DHT 22 온습도 센서 DHT11 그리고 DHT22를 사용해서 온도와 습도를 측정하는 방법입니다. DHT센서 기본 DHT11 센서와 DHT22 센서의 차이는 정밀도입니다. 많은 실습 키트 그리고 예제에서 DHT11 센서를 많이 사용하는데 DHT22는 DHT11보다 좀 더 정밀하게 온도와 습도를 측정할 수 있는 센서입니다. DHT11 센서와 DHT22 센서의 차이점을 간단히 비교해 보면 아래와 같습니다. 대표적인 차이는 DHT22 센서가 좀 더 넓은 범위의 온도와 습도를 좀 더 정확하게 측정할 수 있지만 대신 가격이 좀 더 비싸다는 겁니다. DHT센서는 내부에 온도와 습도를 측정할 수 있는 부품이 각각 들어있는데요. 온도 측정은 온도에 따라 저항이 변화는 성질을 가진 서미스터를 이용해서 측정합니다. 그리고 습도를 측.. 2020. 9. 28.
ESP8266 모듈 8종 Fritzing 파트 파일(fzpp) 모음 ESP8266 기반의 모듈 8종의 Fritzing 부품 파일입니다. Fritzing에서 새로운 부품 만들어 넣기가 여간 까다로운게 아닌데 감사하게도 많이 사용하는 ESP8266모듈들을 만들어주셨네요. 출처인 아래 github에서 받으실 수도 있어요. ydonnelly/ESP8266_fritzing Fritzing part for an ESP8266-based WiFi module. Contribute to ydonnelly/ESP8266_fritzing development by creating an account on GitHub. github.com 2020. 9. 26.
옥토프린터 수동 설치 방법과 옥토파이로 자동설치 하는법 모두 알아봅시다 옥토프린터를 설치하는 방법은 여러 가지가 있을 수 있는데 가장 쉬운 방법은 OctoPi를 사용하는 방법입니다. (옥토파이 설치는 포스팅 뒷부분을 참고해주세요) OctoPi는 라즈베리파이를 옥토프린터를 사용하는데 최적화된 세팅으로 미리 만들어둔 라즈비언 이미지를 의미합니다. 그래서 라즈베리파이의 부팅 이미지로 옥토파이를 선택하면 운영체제와 옥토프린터 그리고 각종 필수 플러그인까지 모두 한 번에 설치할 수 있죠. 하지만 옥토프린터를 사용하시는 분들이 대부분 라즈베리파이 3B+ 이상을 사용하시는데 라즈베리파이를 옥토프린터만 사용하기에 오버스펙이라 아까운 것 같습니다. 그래서 라즈베리파이를 범용 라즈비안을 설치하고 옥토프린터를 별도로 설치해 봤습니다. 먼저 라즈비안이 설치된 라즈베리 파이를 준비합니다. 라즈비안.. 2020. 9. 24.
윈도10에서 그리고 iPad에서 라즈베리파이 SSH 연결하기 SSH는 Secure Shell을 줄인말로 보안이 강화된 쉘 프로토콜이라는 뜻이죠. 라즈베리파이를 사용하면 필수적으로 사용하게 되는데요. 오늘은 SSH 접속방법에 대한 내용인데 PC 뿐만아니라 아이패드에서도 접속하는 방법을 알아보겠습니다. SSH 프로토콜이 활성화된 라즈베리파이의 IP주소를 10.10.10.10 이라고 가정하겠습니다. 윈도10에서 SSH 접속 putty라는 프로그램을 많이 사용하는데요. 윈도10에는 Open SSH Client라는것이 추가되어서 별도 프로그램 설치가 필요없이 파워쉘이나 명령 프롬포트(CMD)로 SSH접속이 가능합니다. SSH 클라이언크가 설치되어 있는지 확인하려면 명령프롬포트 또는 파워쉘을 열고 "ssh" 명령어를 입력해보면 됩니다. 아래와 같이 ssh의 사용방법에 대한 .. 2020. 9. 23.
라즈베리파이 처음 사용자를 위한 기본설정 A to Z 2020-12-12 update log: 뒷부분에 와이파이 연결 및 SSH 설정방법 추가 제목은 거창한데 A to Z는 아니고 사실은 A to C 정도이고 라즈베리파이를 처음 만져보는 저 같은 사람이 뭔가를 해보기 위해서 기본적으로 필요한 작업들을 모아봤습니다. 지금까지 했던 일련의 초기화 작업을 정리해서 사용하고 있는 라즈베리파이가 고장 난다거나 하나 더 산다거나 할 때 이것저것 찾아보는 수고를 덜기 위함이 목적입니다. 라즈베리파이 OS 설치 라즈베리파이를 사용하기 위해서 컴퓨터와 동일하게 운영체제를 설치해야 합니다. 라즈베리파이 OS로 다양한 옵션이 있지만 가장 많이 사용하는 OS인 라즈베리파이 OS(라즈비안이라는 이름이었는데 이젠 그냥 라즈베리파이 OS라고 부르는 것 같습니다.)를 설치해 보겠습니다.. 2020. 9. 18.
3D프린터 타임랩스 촬영하기 - M240 코드로 스마트폰 카메라 트리거링 3D 프린팅을 좋아하시는 분들이라면 공감하실 수 있을 텐데요. 3D 프린터를 사용해서 만들어낸 결과물보다는 그걸 만들어 내는 과정 자체가 신기하고 재미있어서 필요는 없지만 그냥 뽑아보는 그런 경우도 종종 있습니다. 그러다 보니 그 순간으로 없어져버리는 출력 과정을 기록으로 남기고 싶다는 생각을 하게 되었습니다. 하지만 그렇다고 무작정 동영상으로 찍어놓기에는 너무 무모한 것 같습니다. 그래서 타임랩스 영상을 만들 수 있는 방법을 고민하기 시작했고 그 첫 번째 타임랩스 만들기 위한 방법을 공유합니다. 먼저 처음으로 만들어본 타입랩스 결과부터 먼저 보고 시작하시죠. ^^ 타입랩스 영상을 만들기 가장 쉬운 방법은 3D 프린터 옆에 핸드폰을 고정하고 타임랩스를 찍어주는 앱을 깔아서 출력하는 동안 촬영을 하는 방법.. 2020. 9. 15.
중간에서 멈춘 3D 프린터 출력물 심패소생, Gcode 수정으로 멈춘 위치에서 이어서 출력하기 3D 프린터 사용할 때 갑자기 출력이 중단되는 것만큼 난감한 상황도 없습니다. 몇십 분짜리 작은 모델 출력 중이라면 다시 하면 되지만 몇 시간짜리 출력 중인데 절반 이상 출력했거나 아니면 거의 다 끝나갈 무렵 출력이 멈춘다면 멘붕 멘붕 그런 어처구니없는 상황은 또 없습니다. 그런 난감한 상황에서 지푸라기라도 잡는 심정으로 멈춘 부분부터 나머지 출력을 이어서 하는 방법 알아보겠습니다. 저는 아래와 같은 모델을 출력중에 난감한 상황을 겪었습니다. 겨우 92개 레이어에 3시간 남짓한 출력시간이 소요되는 출력물로 3D 출력 계에서는 보잘것없는 모델에 불과하지만 3시간 이상 걸리는 작업에서 이미 2시간을 넘어서 출력이 되고 있는 상황이었기 때문에 갑작스러운 SD카드 오류가 떠서 멍청하게 멈춰있는 프린터를 봤을 때.. 2020. 9. 7.
ESP8266 펌웨어 무선(OTA) 업데이트 ESP8266 Wifi 모듈에서 스케치를 무선으로 업데이트하는 OTA(Over the Air) 사용방법입니다. OTA는 무선으로 펌웨어나 설정, 보안 사항 등 변경 내용을 무선으로 배포하는 방식을 총칭하는 용어인데요. ESP8266 모듈에서도 이 스마트해 보이는 기능을 간단하게 사용할 수 있습니다. 제가 요즘 많이 사용하는 ESP01 모듈의 경우 USB 포트가 없기 때문에 코드를 수정해서 올릴 때마다 프로그래밍 보드에 연결하는 수고를 들여야만 합니다. 게다가 만약 어떤 프로젝트의 부품으로 패키징이 완성된 어떤 디바이스에 사용 중이라면 코드를 변경하기 위해서 조립된 패키징을 열어서 ESP 꺼내와서 컴퓨터에 연결해야지 업데이트를 할 수 있기 때문에 여간 불편한 게 아닙니다. 이럴 때 OTA를 사용하면 컴퓨터.. 2020. 9. 2.
ESP01 모듈로 만드는 IoT 웹서버 - WIFI로 전등 켜기 요즘은 ESP8266 보드를 아두이노 보다 더 많이 사용하고 있습니다. USB 포트가 없어서 별도로 USB-UART 변환 도구가 있어야 하는 불편함이 있지만 크기도 작고 와이파이도 사용할 수 있기 때문에 실생활의 활용도 면에서 더 장점이 많지 않나 싶습니다. 오늘은 지금까지 ESP01 모듈에 Blynk 라이브러리를 올려서 만들었던 와이파이 스위치를 Blynk 대신 ESP8266WebServer.h 라이브러리를 이용해서 ESP01 모듈 자체를 웹서버로 만들어서 와이파이 스위치 기능을 구현하려고 합니다. 이전 포스팅 내용은 아래 2개의 링크 참고해 주세요. ESP01 모듈 활용, 핸드폰으로 켜고 끄는 IoT 전등 만들기 지난 포스팅에서는 간단하게 ESP01 모듈에 Blynk를 이용해서 모듈의 내장 LED를 .. 2020. 8. 28.
analogRead() & AREF핀 사용법 아두이노에서 아날로그 전압값을 읽어야 할 때 더 정확하게 측정할 수 있도록 도와주는 AREF(Analog Reference) 단자의 사용방법 알아보겠습니다. analogRead() 아두이노 보드에는 10비트 아날로그-디지털 컨버터가 있어서 입력되는 값을 10비트 그러니까 1024개로 쪼개서 그 정도를 0에서 1023의 디지털로 표시하게 됩니다. 아두이노 우노 보드를 예로 들면 6 채널 AD 컨버터가 있어서 A0~A5핀을 아날로그 입력 핀으로 사용할 수 있으며 5V로 동작하는 보드이기 때문에 0~5V 값을 읽을 수 있습니다. 만약 아날로그 핀에 0V가 걸리면 0이 그리고 5V가 걸리면 1023이라는 숫자를 읽어오게 되고 그 이상의 전압이 걸리게 되면 1023으로만 표시됩니다. 그래서 숫자 "1"이 의미하는.. 2020. 8. 28.