본문 바로가기

코알라무브먼트 규칙 보호되어 있는 글입니다. 더보기
아두이노와 카카오톡(옐로우아이디) 연동 마무리 이전 포스팅까지는 카카오톡 yellow id와 서버를 연동하여 echo서버를 만드는 것 까지 완료 하였다 위 그림과 같이 echo server가 완벽하게 잘 동작 되는 것을 알 수 있다. 속도도 매우 빠르다. 그럼 이 echo서버에 간단한 구조로 변경시켜 smart home의 가장 기초 중에 하나인 온도를 측정하는 장비와 server가 통신하게 하여 집안 온도를 실시간으로 카카오톡에서 볼 수 있도록 만들고자 하였다. 자세한 구조는 아래 그림과 같다.원래는 사물인터넷이나 혹은 스마트홈을 구성하기 위해서는 데이터를 저장하는 storage를 따로 생성해야 하지만 이번 포스팅에서는 간략하고 빠른 개발을 위해서 따로 스토리지를 생성하지는 않았다. 만약에 다음에 생성할 경우에는 mongoDB나 혹은 python F.. 더보기
Yellow id 연동을 위한 IBM bluemix기반 Python Flask 서버 개발 KaKaoTalk yellowID를 연동하기 위해서는 카카오톡에서 제공하는 api에 대한 가이드라인을 따라야 한다.해당 가이드라인에 대한 설명은 https://github.com/plusfriend/auto_reply 에 가면 상세히 나와있다. 그 중에서 가장 증요한 API specification을 위 그림에 서 볼 수 있는데 해당 spec에 맞춰야지만 제대로 작동 가능하다. 해당 스펙에 맞도록 Python Flask서버를 아래와 같은 코드로 개발하였다. 위 코드의 내용은 아래와 같다.* Route 종류/, /myapp, /keyboard , /message, errorhandler(404)* / : index.html wep page를 보여주는 route* /myapp : 간단한 text를 보여주는 .. 더보기
Yellow id 연동을 위한 IBM bluemix기반 Python Flask생성하기 이전에 시도하려고 했던 arduino wifi shield를 기반으로한 웹서버는 https서버가 지원이 되지 않아서 실패하였고 새로운 HTTPS를 지원하는 서버를 생성해야 한다는 것을 알았다. 그래서 이번에는 HTTPS기반의 서버를 생성하기 위해서 IBM에서 제공하는 PaaS(Platform As A Service) 클라우드 서비스이다. Bluemix를 활용하게되면 여러 언어를 활용하여 서버를 개발 할 수 있는데 AWS(Amazon web service)와 달리 환경셋팅이 필요없이 바로 사용하려는 언어만 선택하면 바로 코드만 올리면 개발이 가능하다는 장점이 있다. 블루믹스로고 위 그림과 같이 bluemix에서는 여러가지 서비스를 빌드하고 소유하고 개발할 수 있다. 그 중에서 나는 Python을 사용하고 .. 더보기
[코알라무브먼트]코딩으로 삶을 윤택하게 만들기 Introduce IFTTT service from Won young Choi 2016년 10월 20일에 수행한 코알라무브먼트 세미나입니다."코딩으로 삶을 윤택하게 만들기"가 제목이지만 실제로는 IFTTT서비스를 소개하는 세미나입니다.IFTTT는 If this than that의 약자로서 여러가지 서비스를 트리거로 사용하여 작동시키게 할 수 있도록 중간다리 역할을 합니다. 더보기
[Tech planet 2016]Google Tensor Flow & Machine Learning in the Cloud 날짜 : 2016년 10월 17일(월) 장소 : 코엑스 그랜드볼룸 주제 : Google Tensor Flow & Machine Learning in the Cloud발표자 : Kaz Sato / Evangelist, Google Japan 구글에서는 여러가지 machine learning product를 제공한다.- TensorFlow(more difficult)- Cloud Machine Learning- ML API(more easy) - https://cloud.google.com/ml/Cloud vision API(http://vision-explorer.reactive.ai/)- 구글에서 제공하는 machine learning vision api website- 머신러닝을 활용한 데이터가 어떻게.. 더보기
[Tech planet 2016]안드로이드 WindowManager 100% 활용하기(안드로이드만의 독특한 서비스 만들기) 날짜 : 2016년 10월 17일(월) 장소 : 코엑스 그랜드볼룸 주제 : 안드로이드 WindowManager 100% 활용하기(안드로이드만의 독특한 서비스 만들기)발표자 : 곽근봉 / CTO, NBT NBT는 캐시슬라이드를 만든 광고플랫폼 스타트업이다. NBT는 서비스 개발방법에 대해 많이 고민했음. Top down approach : 효율적이고 효과적이지만 뻔한 제품이 나오기 쉽다.Bottom up Approach : 독특한 서비스를 개발할 수 있지만, 시장의 선택을 받지 못할 수 있다.-> NBT : 두가지의 방법이 모두 적용되어야 한다고 결론냄. 그런데, 보통은 모든 회사들이 Top-down 방식의 개발을 많이한다.조화로운 개발 방법이 중요함. [안드로이드 WindowManager] - windo.. 더보기
[Tech planet 2016] Visual search at SK Planet 날짜 : 2016년 10월 17일(월) 장소 : 코엑스 그랜드볼룸 주제 : Visual search at SK Planet 발표자 : 나상일 / 매니저, SK플래닛 [Visual search] - Deep learning 쿼리영상(옷 이미지) -> 카테고리 예측 -> 관심영역 추출 -> 특징 추출 방식을 사용하였다. [초기버전 visual search 평가] 장점 : 잘된다. 단점 : 여러개의 object 인식 떨어짐, 배경에 따른 인식률 등의 문제가 있었음. [개선방향] - Deep learning에 의한 detection기술적용 : 여러상품이 있어도 모두 검색 - Deep learning을 통한 특징 추출 : 야외에서 촬영한거도 검색이 잘되도록 - 속성기반의 인식 적용 : ex) 벨트, 버튼 등의 특.. 더보기
[Tech planet 2016] AWS IoT를 통한 로보틱스 날짜 : 2016년 10월 17일(월)장소 : 코엑스 그랜드볼룸주제 : AWS IoT를 통한 로보틱스발표자 : Markku Lepisto / Principal Technology Evangelist, Amazon Web Service "AWS IoT를 활용하여 다양한 디바이스를 IoT(사물인터넷) 분야에 있어서 효율적으로 제어 할 수 있다." 고 소개하였다. 필립스, BMW, 심지어 NASA에서 까지 AWS IoT를 활용한다.(데이터 전송, 분석, 리뷰) - LIVE DEMO, -준비물 : SPHERO, Intel Edison(bluetooth 내장) - Data Communication - SPHERO -[Bluetooth]-> IntelEdison -[MQTT]-> AWS IoT 더보기
아두이노 와이파이 쉴드 서버와 옐로우 아이디 연동의 문제점 아두이노 와이파이 쉴드를 사용한 웹서버와 옐로우 아이디를 연동하려는 도중에 문제가 생겼다. 옐로우 아이디는 기본적으로 REST API형태의 GET, POST방식의 통신을 수행한다. 그런데 해당 통신을 수행할때 제한이 둔 것이 있으니.. 옐로우아이디는 서버간의 통신에서 보안을 위해 HTTPS를 사용한다는 것이다. 또한 해당 서버는 유효한 공인인증서가 있는 서버여야한다. 아두이노 와이파이 쉴드를 활용한 웹 서버는 HTTPS서버뿐만아니라 공인인증서를 통한 유효한 서버가 아니기 때문에 옐로우아이디에서 봇을 만들 수 있는 서버가 될 수가 없다. 그러므로 사물인터넷의 동작을 제어하는 옐로우 아이디 봇을 만들기 위해서는 외부의 HTTPS가 지원되는 공인인증서를 통한 유효한 서버가 반드시 있어야 한다는 것이다. 기존에.. 더보기
옐로우 아이디 + 사물인터넷 = ? 카카오톡은 옐로우아이디를 지원한다. 옐로우 아이디란? -> http://yellowid.tistory.com/ 카카오톡에서 제공하는 사업자용 or 비사업자용 아이디 이다. 해당 아이디를 생성하게 되면 사업용으로 음식점의 메뉴를 보여주거나 혹은 위치등을 알려주는 1:1 대화 등이 가능하게 된다. 혹은 비 사업용으로 사용한다면 간단한 rest api와 서버를 구현하여 봇을 만들 수도 있다. 옐로우 아이디를 활용한 봇 기능은 아래와 같이 두가지 기능을 제공한다. 1. 키워드형 자동응답 -> 매우 간단한형태로서 미리 입력해놓은 키워드가 입력되면 그에 대해서 메시지를 return 해주는 형식으로 서버가 필요없다.2. API형 자동응답 -> 서버가 존재해야하며, 키워드에 따라서 return되는 메시지가 다르다. A.. 더보기
spring boot web application 만들기 예제 이번 포스팅은 스프링 부트를 활용하여 웹 애플리케이션 만들기 예제를 적을 것이다. 이번에 스프링 부트 웹 애플리케이션을 만들면서 여러 문제가 생겼엇는데 이에 대해서도 같이 언급할 것이다. 아래는 간단한 스프링 부트 애플리케이션을 구성하면서 생긴 문제들이다. 1. Whitelabel Error Page 에러 (@SpringBootApplication 사용시 주의할 점)2. spring boot address already in use 먼저 문제점에 대한 대책을 적기 전에 스프링 부트 웹 애플리케이션 구성에 대해 적는다. 위 프로젝트는 maven project로 시작하였으며 ide환경은 IntelliJ IDEA CE 버전이다. 위 프로젝트에서 가장 중요한 파일들은 * HelloController.java *.. 더보기
nodeJS에서 GCM notification 구현하기 node-gcm npm은 nodejs에서 GCM notification push를 효과적으로 이루어지게 도와주는 모듈이다. npm node-gcm 공식 사이트 : https://www.npmjs.com/package/node-gcm node-gcm npm을 깔고 id와 apiKey를 등록하고, 안드로이드가 준비되어 있다면 아래와 같은 nodeJS코드를 활용하면 된다. 위와 같이 매우 간단한 nodeJS코드를 통해서 push를 날릴 수 있다는 것을 알 수 있다. 나머지 안드로이드 코드는 GCM push android project로 구글링하면 나온다. 더보기
nodeJS에서 특정 시간에 작업 수행하기 nodeJS 서버를 사용하는 경우여러 상황이 필요할 수 있다. 그 중 스케쥴링(특정 시간에 작업 수행)이 필요 할 수 있다. 그때 linux등에서 주로 사용하던 cron을 npm 모듈을 설치하여 간단히 반복 실행 하도록 할 수 있다. nodeJS node-schedule npm 소개 공식 사이트 - https://www.npmjs.com/package/node-schedule 2016년 6월 26일 9시 30분 0초에 수행할 작업을 스케쥴링하려면 schedule.scheduleJob()에 Date객체의 인스턴스를 전달한다. 위와 같이 간단한 코드로 수행이 가능한 것을 볼 수 있다. 그리고 아래 코드와 같이 매 시간 30분 마다 수행할 작업을 스케쥴링을 할 수도 있다.또한 아래 코드처럼 Date객체가 아니.. 더보기
WASPMOTE LORA mode 종류 LoRa모드는 간단한 코드를 통해서 설정이 가능하다. 각 모드들은 특징을 가지고 있다. LoRa의 특징인 LongRange를 특화를 시킬 것인지 혹은 거리는 조금 줄이고 packet의 손실을 줄이고 속도를 높일 것인지에 대한 절충을 할 수 있다. LoRa는 위 표에 있는 것처럼 일반 mode 뿐만아니라 3개의 조정가능한 파라미터가 또 있다.1. Bandwidth(BW) : 주파수대역폭 - 2. Coding Rate(CR) : 부호화율 - FEC(foward error correction)과 보내려고 하는 packet의 payload간의 비율입니다.(비율이 어떠냐에 따라 error에 강인해지냐 강인하지 않냐에 영향을 미친다. error에 강인하다는 말은 fec비율이 높고 payload 가 낮기 때문에 da.. 더보기
WASPMOTE LoRa 기본 통신 WASPMOTE와 LoRa(sx1272)모듈을 통한 RX & TX test 준비물waspmote x2waspmote용 lora(sx1272) module x2Antenna x2usb A형 x2컴퓨터 2대 waspmote receive, transmission test는 기본 예제를 통해서 수행 할 수 있다. 기본 예제는 IDE에서 바로 불러와서 수행이 가능하다. ===sx1272 Receiver code=== ======= ===sx1272 Receiver code=== ======= 위 code를 각각의 waspmote에 넣고 수행하면 아래와 같은 결과가 나타난다. ===sx1272 Receiver=== ===sx1272 Transmission=== 각각의 수신, 송신 코드와 화면을 보면 알 수 있듯이.. 더보기
WASPMOTE PRO IDE 소개 WASPMOTE PRO IDE는 WASPMOTE를 개발하기 위한 IDE(통합개발도구환경)이다. 기본적으로 waspmote도 또한 아두이노 하드웨어를 따르기 때문에 기존의 아두이노를 개발하던 개발자에게는 매우 익숙한 환경일 것이다. 개발 구문또한 1번만 수행되는 setup()구문과 계속해서 반복 수행되는 loop()구문으로 기존의 아두이노와 완전히 같다는 것을 알 수 있다. 설치시 MAC, Linux의 경우 바로 driver을 잡아서 usb port에 연결만해도 바로 upload and run이 가능하지만 window에서는 반드시 장치관리자에서 장치를 잡아줘야된다. 기본 구문은 아두이노를 따르기 때문에 아두이노 관련 코드를 참고하면서 개발하면 쉽게 될 것이다. 더보기
WASPMOTE 소개 WASPMOTE는 Libelium사에서 만든 arduino 기반 IoT특화 제품이다. Libelium사는 스페인회사로서 IoT 하드웨어 플랫폼 분야에서 선두주자로 발전하고 있다. waspmote의 경우 기존의 아두이노코드를 계승하여 사용하기 때문에 기존에 사용하던 여러 센서들을 sketch에서 사용할 수 있다. 또한 waspmote는 모듈방식을 통해서 LoRa통신을 비롯하여 각종 IoT 통신을 모듈 탈부착만을 통해서 적용이 가능하다.(공식 지원 모듈 : 3G, BLE, GPRS, Bluetooth, LoRaWan, Wifi, Xbee, RFID 기타 등등) 자세한 내용은 이 사이트( 더보기
온천천 노을 더보기
온천천 피아노 하수구 더보기