티스토리 뷰

본체험제품은 No1.전자부품 전문 쇼핑몰 아이씨뱅큐 의 지원을받아 작성한 것입니다.



제품명 : 아두이노 우노 스타터 키트 Pro E2 매뉴얼 LK-E2-BOOK


------------------------------------------


판매처 : LK임베디드ICbanq(구성품이 다름)



안녕하세요.

지난 [LK Arduino Kit][사용기] IR 리모컨 사용하기 / 에어컨 리모컨 IR신호 해킹하기 글에서 집에 있는 에어컨 리모컨 신호를 알아내 보았습니다. 이제 그 활용을 해 보아야겠죠?





클라우드 서비스 (Cloud Service)



[클라우드 서비스] 라는 단어를 들으면, 보통은 N드라이브, 구글 드라이브와 같은 '저장소'의 개념을 많이 떠올리시는 것 같습니다.

하지만 단순히 '저장소'의 개념만 가지고 접근한다면, 클라우드를 제대로 활용할 수 없습니다.

클라우드라 명명된 인터넷 기반의 저장소에 다양한 데이터를 저장하고, 그 클라우드에서 그 데이터를 분석/활용하여 다양한 것들을 할 수 있죠. 단순히 데이터만 넣었다가 빼는 것이 아니라, 인터넷 기반의 컴퓨팅 자원을 활용할 수 있다는 것입니다.


대표적으로는 아마존의 AWS, 구글의 Google Cloud 등이 있습니다.


자세한 내용이 궁금하시다면, 아래 링크의 내용을 천천히 읽어보시면 도움이 되시리라 생각합니다.

http://terms.naver.com/entry.nhn?docId=3386842&cid=58369&categoryId=58369







국내 IoT Thing+ Cloud Service



뭐 유명한 AWS나 Google Cloud 등등 외국산 클라우드 서비스를 써도 되겠지만, 아무래도 국내에서 나온 것을 사용하는게 다양한 사람들의 접근성을 더 높일 수 있겠죠? 국내 Cloud Service가 무엇이 있는지는 자세히 모르겠지만, 일단 Thing+가 있는 것으로 알고 있습니다. SK의 ThingPlug 경우는 대기업의 사업화 플랫폼이라 일단 배제하였습니다.

우선 홈페이지는 다음과 같습니다. https://thingplus.net/
사용을 하시려면 가입 후 사용을 하셔야 하구요. API Key 및 Gateway 등록을 하셔야 합니다.
자세한 내용은 공식 홈페이지에 잘 설명하고 있으나.. 사용에 대한 중요한 포인트는 말씀드려야 하므로 몇 가지 언급 하겠습니다.

이미 사용할 줄 아시거나, 아래의 링크를 따라 진행하실 수 있다면 다음 절로 넘어가주세요.

아래부터는 회원가입을 하셨다는 가정하에 진행하겠습니다.

우선 Thing+ 공식 홈페이지 메인 화면에서, [지금 바로 시작하기] 를 누르시면 아래와 같은 화면을 보실 수 있습니다.
보면, 무료 사용자의 경우 센서 20개와 규칙 5개까지 적용이 가능하다는 것을 알 수 있겠네요.
참고로 데이터 Interval은 최소 1분만 가능합니다.


위 페이지 하단의 [사용자 가이드 바로가기] 버튼을 누르시면 아래 링크로 이동하게 되는데요.

http://support.thingplus.net/ 

보시는 것처럼 기초부분부터 다양한 가이드를 해주고 있습니다.

여기서 왼쪽 메뉴의 [아두이노 사용자 가이드] 를 클릭하면 됩니다.



자, 여기서부터가 이 포스팅과 직접적으로 연관된 내용인데요,

라이브러리 추가/확인부터 진행하겠습니다.


라이브러리 매니저를 통해서 추가해야할 라이브러리는 아래와 같습니다.

혹시나 이전에 설치되어 있더라도 Update가 필요하면 Update해주세요.


1. Thingplus

2. ArduinoJson

3. PubSubClient

4. Time ( Timekeep 이라고 검색 )



그리고, 라이브러리 매니저에서 추가할 수 없거나, 업데이트 적용이 안된 라이브러리를 직접 추가 해주셔야 합니다.


1. Timer ( https://github.com/JChristensen/Timer/ )

2. IRremote ( https://github.com/z3t0/Arduino-IRremote )

.zip 파일로 다운받아서 아래처럼 추가하시면 됩니다.


참고로, IRremote는 라이브러리에서도 추가할 수 있지만, 최신 버전 적용이 되어 있지 않습니다.



그리고 아래는 가이드문서에도 나와 있는 내용인데요.

소스를 수정해 주셔야 합니다.

소스는 아래 위치에 있구요. .h 파일입니다.



아래처럼 128 -> 196

15 -> 120

로 수정해 주셔야 합니다.

이거 수정 안하시면 Actuator기능이 정상동작하지 않아요!



그리고 예제를 하나 열어봅니다.

어차피 간단히 살펴볼 것이기 때문에 뭐든 열어주세요.

다만 제가 첨부할 소스는 WizFi250과 Ethernet 입니다.



소스를 오픈한 상태에서, Thing+에서 생성하신 게이트웨이를 확인해보겠습니다.

게이트웨이를 아직 만드시지 않으셨다면, 아래 링크를 참조해서 생성해주세요.

http://support.thingplus.net/ko/open-hardware/arduino-noSSL-user-guide.html#id-gateway



위 화면에서 말씀드린 것처럼 API 키는 중요하기때문에 위치를 기억하시거나, 메모장에 복사해두세요.

그리고 화면을 조금 내려주면, 아래와 같은 센서들이 보이는데요.

이 센서들이 가지고 있는 ID와 API 키를 아래 오른쪽과 같은 위치에 복사 붙여넣기 해주시면 됩니다.

뭐가 뭔지 쉽게 이해할 수 있겠죠? 잘 모를땐 더 해보시거나 질문하시면 됩니다 !








회로구성



Ethernet을 사용하시면 Ethernet Shield를 사용하시면 되고,

WIFI를 사용하시면 WizFi250 나 ESP8266 Shield를 한층 쌓아주기만 하시면 되겠죠? 

다른 통신을 사용하시더라도, Interface가 겹치지만 않으면 되니까요.

그러니 회로는 Arduino Uno PIN에 대해서만 작성하였습니다.  ( 참고로 제공하는 소스는 Ethernet, WizFi250만 제공합니다 )



IR LED 와 보드 사이에 TR을 사용했는데요. 이유는 IR LED를 다이렉트로 사용하면 신호가 너무 약해서, 증폭을 시켜주기 위해 사용하였습니다. 자세한 내용에 대해서는 아래 링크에 정리해 두었으니 필요시 참조바랍니다.

http://openmaker.tistory.com/59


참고로 IRremote에서 IR신호를 만들어내기 위한 PWM 핀이 보드별로 지정이 되어 있습니다.
코드 상에서 수정해서 사용이 가능한데요.

여기서 굳이 9번 핀을 사용한 이유는,
WizFi250을 사용할 때는 3번핀을 사용할 수 없고,
Mega 보드를 사용할 경우 기본 9번 핀을 사용하기 때문에 범용으로 더 좋겠다 싶어서 이렇게 하였습니다.
소스 수정을 하고 싶지 않으신 분들은 3번 핀에 연결하셔서 사용하셔도 됩니다. ( 다만 이 경우는 Uno보드 한정이며, WizFi250 사용이 불가 )
무슨말인지 자세히 이해하고 싶으신 분들은 http://openmaker.tistory.com/59 내용을 참조해주세요.

회로를 보시면 뜬금없이 조도센서랑 온도센서가 포함되어 있는데,
하는김에... 그냥 추가해 보았습니다.






소스코드


Ethernet Shield



WizFi250







TEST

저는 Ethernet을 기준으로 테스트하였습니다.
이유는... Uno를 사용해야하는데, SRAM부족 문제로 인해 무한 리셋이 되기 때문이었습니다.
물론, 아래 링크에는 이러한 현상의 원인과 해결방안 모두 제시하고 있으나... 번거로움에 그냥 Ethernet Shield로 했습니다.


Arduino

현재 제공된 소스는 Serial 모니터가 열릴 때까지 이후 프로그램을 진행하지 않습니다.
따라서 아래처럼, 모니터를 오픈해주시거나... 해당 소스코드 부분을 주석처리 해주세요.


원래는 [ ===== Published to ThingPlus ===== ] 라는 문구 이전에 수많은 로그 데이터가 출력될 겁니다.

너무 번잡해서... 저는 출력되지 않게 막아버렸습니다. 데이터 전송 실패 메시지만 출력하게 변경하였죠.

해당 소스는 Thingplus 라이브러리의 Thingplus.cpp 을 수정하시면 됩니다.

SERIALPRINT()라는 함수가 printf 역할을 하기때문에, 이 부분만 찾아서 입맛대로 변경하시면 됩니다. 




Thing+ 대시보드



대시보드를 위처럼 구성을 해보았습니다.
Temperature : LM35 센서로부터 온도데이터를 받아, 레퍼런스에 따른 공식으로 계산하였습니다.
Light : CDS를 통해 조도값을 받습니다. 위에는 lux 단위로 나오지만, 값 자체는 그냥 저항치를 0~1023 으로 표현한 것 뿐입니다.
lux 단위로 변경하려면 CDS가 아닌, 조도센서를 사용해야 합니다. (lux가 마음에 안드시는 분들은 다른 센서ID를 사용하면 되겠습니다)
Air Conditioner ON/OFF : On/Off 로만 구분되어 있으며, 원하는 기능(켜기/끄기)을 선택후 [실행] 버튼을 누르면, 디바이스로 데이터가 전달되어 on/off 판단으로 에어컨 IR신호를 내보냅니다. 실제로도 잘 작동합니다.
에어컨의 경우는 직접 켜보지 않으시더라도, 이전 포스팅에서 진행했던 것처럼, 리시버를 반대편에 만들어서 값이 정확히 들어오는지 확인해 볼 수 있습니다 :)



동영상

실제 에어컨을 키는 영상은 리모컨으로 키는지 아닌지 알 길이 없으므로, 한 화면에서 IR 리시버를 통해 제대로 된 값이 들어오는지 보여드리도록 하겠습니다.








장/단점


[장점]

- 말그대로 입문자에게 좋습니다. 뭘 사야하는지 어떤 걸 사야하는지도 모르는 상황에서는 Kit 구입이 더 합리적입니다.

- 교재가 있어서, 방황하지 않을 수 있습니다. (정오표대로 고치기만 하면)

- 위 내용을 역으로 말하면 입문자 교육용으로 좋다는 겁니다.

- 회로를 하나하나 구성해보기때문에 회로구성에도 관심있는 사람에겐 유익합니다.
- 교재 내부에 QR코드가 있어 url입력이 귀찮으신 분들은, QR코드를 읽어 편하게 할 수 있습니다.


[단점]

- 책의 오류사항 / 정오표에 대한 별도 고지가 없음

  오탈자는 충분히 그럴수 있지만, 회로가 잘못된 경우는 타격이 큽니다.

  "위에서 입문자에게 좋다"라고 했지만 이런 부분이 해결되지 않으면 "입문자에게 혼란을 야기합니다"

  앞으로 판매할 제품들에 대해서는 정오표를 동봉해서 판매하거나 별도의 고지가 필요해 보입니다.

- 당연히 숙련자에게는 불필요한 구성 + 비싼 가격입니다.

  하지만 위의 장점에서도 언급했듯이 모든 것들은 적재적소의 특성을 가지고 있습니다

  자신이 어떠한 것을 원하는지에 따라 이 제품의 가치는 천차만별일 것입니다.







Spec





아두이노키트 구입처 아이씨뱅큐 http://www.icbanq.com/P007468190

아이씨뱅큐 무상체험단 카페 : http://cafe.naver.com/icbanq

아이씨뱅큐 공식 블로그  :http://blog.naver.com/icbanq



댓글
댓글쓰기 폼