2016년 9월 26일 월요일

ESP-12E를 이용하기

Arduino  보드로 많은 것을 할 수 있지만, 네트워크가 필요한 것은 사실이다.
Arduino에 통신 모듈을 연결하고, 다시 다른 것들을 연결하는 것이 여간 귀찮은 일이 아니다. 이리하여 요즘엔 Arduino 보드를 사용하는 것 보다는 통신 모듈 자체를 이용하는 경우가 늘어 나고 있다. 그 이름도 유명한 ESP8266이 Arduino의 킬러가 된 셈이다.

ESP-12E는 Wi-Fi만 된다면 뭐든지 할 수 있다는 ESP8266 계열의 모듈이다.
(현재는 ESP-12F모듈까지 나와 있다)

ESP-12E는 3.3V로 동작한다. 무리하게 5V를 걸어 버리면... 열 받는다;;;..
장시간 지속된다면... 모듈이 손상될 수 있다.

  • 외형

(이미지는 구글에서 가져옴)

앞면


뒷면
  (GPIO6은 미스 프린팅이다. 제품이 ...싸서 그런가..)






  • 일반적인 연결

전원은 CH_PD + VCC --> 3.3V , GPIO15 + GND ---> GND 로 연결한다.
GPIO0이랑 GND를 연결하면 프로그램을 업로드 할 수 있다. 물론  프로그램을 업로드 하는 것이 아니라 시리얼 모니터만을 사용하려 한다면 필요 없다.
(아래의 제품은 GPIO0이 이상하게 GPIO6으로 프린트 되어 있다.)




  • 프로그램을 업로드 하기. 

Arduino IDE를 이용하여 개발한 것을 업로드 하는 것 등을 할 때에는
RX->TX, TX-RX, GPIO0+GPIO15-> GND, VCC+CH_PD-> 3.3V
이렇게 연결하면 USB Serial로 프로그램을 업로드 가능하다.
(Wemos mini D1 기준으로는 D3, D8이 GND에 연결되어 있어야 한다.)



여기까지는 기본이다.

개발할 때에는 여러가지 편의성 때문에 나는 아래의 Wemos mini D1을 사용한다.
위의 제품을 사용하면 별도의 TTL 모듈이 필요하지 않고, 마이크로 USB를 연결하여 사용하기만 하면 된다.

물론... 나는 호환 제품을 사용한다....





2016년 9월 9일 금요일

Curl 로 만든 Excel


Curl로 만드는 세상은 무궁무진하다.   MFC와 비교한다면 문제 해결 범위가 좁은 것은 사실이지만, 개발의 편의성 측면에서 볼 때  MFC 보다 우월하다고 생각한다.  내가 지금까지 접해본 수십 개의 개발 언어 중에서 내 구미에 가장 알 맞는 언어인 것 같다.

우리나라 IT 대기업에서도  Excel을 만들 생각은 하지 않는다. 있다면 한컴 정도?
그런데 대기업도 아닌 우리 회사에서 Excel과 비슷한 것을 만들 수 있다는 점 하나 만 보더라도 Curl은 상당히 매력적인 언어이다.

이번에는 MS의 Excel을 대체 해보고자 Curl로 만든 것이  FastSheet다. 대략  30M/M로 개발되었다. 결과물은 아래와 같다.

<그림 1 : Excel? >

마치 Excel을 보는 듯한 인터페이스(사실 인터페이스는 거의 동일하다)를 제공한다. 기존의 Excel 사용자라면 아무 문제 없이 사용할 수 있으리라 생각된다. 함수 입력도 Excel에서 제공하는 수식 편집 기능과 동일하다.

<그림 2 : FastSheet의 함수 입력기 >

Excel에서 지원 하는 모든 함수를 제공하지는 않지만 사용 빈도가 높은 90개 정도의 함수를 지원한다. 물론 FastSheet의 소스를 수정하지 않고 사용자 정의한 함수가 추가 가능하다. 뿐만 아니라, 차트 기능도 제공한다. 

<그림 3 : FastSheet의 차트 >

물론 인쇄 기능도 당연히 제공한다.  Excel 만큼의 굉장한 인쇄 옵션은 아직 제공하고 있지는 않지만, 가로 세로 방향에, 용지에 맞춰서 인쇄를 할 수도 있다. 

<그림 4 : 인쇄 미리 보기 화면 >


이미 구글이나 MS가 웹으로 이런 기능을 만들었는데, 뒤늦게 이런 것을 왜 만드냐고 질문한다면 나는 이렇게 말하고 싶다. 

 "Benz나 BMW가 자동차를 만들었는데, 현대/기아는 왜 자동차를 만들어요?"


* 이 글은 회사 블로그에도 동일하게 게시하였습니다.

2016년 9월 8일 목요일

iptime 공유기의 발열 문제 해결책

금년 여름은 유난히 더웠다. 나는 개인적으로 더위를 잘 타지 않는 체질이긴 한데, 올해는 정말 더웠다. 물론 나는 USB 선풍기 하나로 여름을 지냈다. (이것 하나로 충분했다.) 하지만 집에선 마눌님은 도저히 적응이 안되시나 보다. 작은 방에 들어가서 하루 종일 에어콘 틀고 지내셨다. 

하지만 문제는  iptime 공유기.... 수 년간 현역으로 동작하였으며 세월 만큼 손때가 뭍은 이 공유기가 문제였다.  한참 더울 때 만져보니 계란후라이도 해 먹을 수 있을 정도(약간의 과장?) 였다.

몇 년이 지난 구형이긴 하지만, 올 봄까지도 150Mbps 까지 연결해 주시는 고마우신 분이었다. 집안의 피크 타임인 경우 핸드폰 3대, 아이패드 1대,  PC 2대가 무선으로 붙는다. 이러한 상황에서도 잘 버텨주던 공유기가 이번 여름은 더웠나 보다. 아주 더운 시간대는 ping 조차 못 받아내는 그런 상황이 되어 버렸다.   처음에는 다른 문제인 것이라 생각했지만, 이리 저리 구글링 중에 iptime 공유기가 뜨거워져서 이러한 상황이 발생한 다는 것을 알게 되었다.

iptime공유기가 통풍이 잘 안되게 생긴 것은 사실이라서, 공유기에 숨구멍을 뚫어 주기로 결정!!

집에 있는 목재용 드릴 중에서 적당한 것을 골라서 몇 개의 구멍을 뚫었다. 특별히 구멍 위치를 잘 잡고 작업한 것이 아니라, 마음 가는 데로 구멍을 뚫은 터라, 5분 정도 걸려서 다 뚫었다.  우리집 공유기는 24시간 가동하고 있기 때문에 먼지 들어갈 염려도 없다. (뜨거운 공기는 위로 올라 가는 특성 때문에 저 구멍으로 먼지가 들어가지 않고 늘 뜨거운 바람이 나온다. )


숨구멍을 만들어줘서 인지, 날씨가 조금 덜 더워서 그런지 한낮에 만져보아도 미지근한 정도 이다. 공유기야 앞으로도 몇 년 더 버텨 주길 바래...

한 가지 더 팁을 이야기 하자면 공유기를 바닥에 눕혀서 사용하는 것보다, 세워서 사용하는 것이 덜 열을 받는다.


3단 6핀 스위치로 DC 모터의 회전 방향을 바꾸어 보자

1. 필요는 연구의 어머니 항상 느끼는 부분이다. 필요하지 않으면 연구하지 않으며, 필요하면 연구한다. DC 모터를 조건에 따라서 정방향 또는 역방향으로 회전시켜야 하는 필요가 생겼다. 처음에는 MCU 및 Relay Switch를 이용하는 방법을 생각...