본문 바로가기

아/티/이/야/기

대시 버튼을 활용해 보자 !! [아두이노와 대시 버튼간의 효용성에 대하여...]

 

아마존 대시 버튼이란 ?

아마존 대시버튼은  얼마전에 저작권이 끝난 아마존의 "원클릭 결제 시스템"의 연장 선의 제품입니다.

원클릭처럼 원버튼 하나로 제품의 결제까지 완료되는 시스템을 만든건데요

딸랑 5불짜리 버튼 하나 달린 와이파이 기기 입니다.  

사용자가 대시 버튼만 누르면 아마존에 에 설정한 제품을 주문을 직접 (웹이나 앱을 거치지 않고) 주문을 해주는 제품입니다.

전체적인 시스템의 플로우는

  • 대시버튼 - > 특정 데이터 패킷 ->  아마존 서버 

요런 구조를 가지고 있죠? 아! 그럼 저 특정 데이터 패킷이 무엇인지 알면 다른데 다 쓸수 있지 않을까 ?

역시나 다들 같은 생각을 한겁니다.   


How I Hacked Amazon’s $5 WiFi Button to track Baby Data

https://blog.cloudstitch.com/how-i-hacked-amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8

이렇게 말이죠 ^^


제작자는 네트워크의 ARP 패킷을 검사해서 확인된 대시 버튼의 맥주소에서 보내는 패킷을 스나이핑해 라이프 로그를 만들었습니다. 


adfruit 에서는 조금 더 매니악한 사용법이 소개 되기도 했죠

https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/overview


이런 글들을 보고 저도 작년 초쯤 집의 블루투스 도어락의 리모트용 버튼으로 제작하려 시도 하였지만 이상하게 잘안되고  결정적으로 도어락에서 IFTTT 를 지원하지 않아서 포기하고 잊어버리고 있었습니다.  

최근 날씨 LCD 를 제작하게 되었는데  배터리를 이용하다 보니  효율상  화면을 주기적으로 꺼놓는 세이프모드로 를 만들어 사용하고 있었습니다. 세이브모드로 인해 화면을 주기적으로 꺼놓다 보니 필요할때  화면을 ON/OFF  할 수있는 버튼의  필요성을 느꼈으나  아직 케이스를 만들지 않아서 조금만 건드려도 쓰러지고 다시 세우기도 무척 귀찮은 일이 도버려서 잠시 보류하고 있었습니다.


다행히 (으응? )어제 어떤분께서 LCD ON/OFF 에 곤란함을 성토하셔서 LCD 온오프를 설명하는 글을 쓰던 와중에 이리저리 건드려서 세우는데 스트레스 받지 말고 무선으로 컨트롤 하면 어떨까 ? (처음에는 간단히 웹서버로 구현 했는데 ㅡㅡ;; 이것도 귀찮더군요 ㅡㅡ;; )  라는 생각까지 미쳤고 순간!!! 1년전에 사놨던 대시 버튼이 떠올랐습니다. 



겨우겨우 짱박혀 있던 대시 버튼을 찾알 얼른 테스트를 해봤죠!!! 역시나!!!! 

이상하게 잘 안되었습니다. 역시 또검색의 생활화 ㅡㅡ ;; 

 

Amazon Dash Button Re-Hack!

https://abzman2k.wordpress.com/2016/07/14/amazon-dash-button-re-hack/


어쩐지 대시 버튼은 구형과 신형을 나뉘고 저는 후자인 신형이었습니다.

저는 구형 소스로 테스트르 한것이었죠 !! 

  • 구형 (JK76PL) : STL324 칩셋

  • 신형 (JK29LP) : atmel 칩셋



대시버튼 하드웨어 구조 


하드웨어  플로우 

  • 버튼  인터럽트(power button ) ->  전원 온 -> WIFI 연결(네트워크 연결) -> 데이터 전송 - > WIFI 연결 끊기 -> 전원 오프

  

신형에 대한 해결책을 올려놓은 자료인데  저는 데이터  패킷이 이상하게 지멋대로 체크가 되더군요 

지멋대로 나오는 패킷은 어떻게든 80%확률로 때려 맞출수는 있었지만 중요한 반응속도가 구렸습니다.

더욱이 대시 버튼의 시스템 플로우상 버튼 재사용의  4-5 초의 시간이 걸리기 때문에 체감상 반응속도는 더 떨어졌습니다. 


제작한 LCD on/off 시스템 초기 플로우 

  • 나스에서 패킷 감시 -> 패킷 확인시  NodeMcu (웹서버) 으로 데이터 전송 - > NodeMcu에서 데이터 확인후 LCD 컨트롤  

 

음 ... 별루였죠 ?  이게 과연 최선일까 ? NodeMcu에서 직접 감시하면 좀더 빠르지 않을까 ? 

나같이 생각하는 사람도 당연히 있겠지 해서 검색을 해봤습니다 ㅋ 역시나 ㅋㅋㅋ


ESP8266によるAmazon Dash ButtonとMilkcocoaとの連携

http://qiita.com/kat-kai/items/c898a439bafe5e605dae

일본 분이 만들어 놨더군요 ^^ 우리나라와 가까운 일본분이라 왠지모를 친근감이!!! 

마이콘은 일본애들이 여전히 잘하긴 하네요!!

 빠르게 테스트 결과  만족할만한 결과를 보였습니다.



Conclusion

괜찮은 가격에 퀄리티, 높은 하드웨어적  완성도, 깔끔한 외형 , 방향성과 지역적 특성을 잘 타지 않는 WIFI 인터페이스

이러한 좋은 특성을 지닌 대시 버튼과 아두이노간의 콜라보레이션은 생각보다 높은 시너지를 낸다는 것입니다.

특히  ESP8266 과 궁합이 너무 좋습니다.  향우 이조합으로 여러가지 응용기가 나오지 않을까 싶습니다. 

이러한 의미에서 아두이노탭에서 대시버튼을 제가 소개할 수 있었다는 것에 기쁨을 느낍니다 ^^

꼭 한번쯤 활용해 보시길 바랍니다 ^^ 이상입니다.

 


ps. 

모든링크에 소스가 포함되어 있습니다 .쉽게 테스트해 보실 수 있습니다. 

사용을 하실때는 대시 버튼의 시스템적 특성(4-5초간의 딜레이)을 이해하시고 사용하시길 바랍니다.