Amazon Dash Button으로 '밥 할 수 있었다'버튼 만들기

이제 ADB(AmazonDashButton)를 손에 넣었으므로 씁니다.

J( 'ー`)해 「타카시~밥이야~」

AmazonDashButton을 사용하여 LINE에서 알리는 것입니다.
기존의 정보와 기술을 조합하여 오리지널 감을 내고 있습니다.

그리고 첫 투고이므로 지적이라면 있으면 부디.

경위



요전날의 AmazonPrimeDay로 100엔으로 팔고 있었으므로 텐션이 오르고 많이 샀다.


준비



Linux 환경에서 수행합니다. 이에 따라 다음과 같은 준비가 되어 있는 전제로 진행합니다.
  • Linux 설치 (RaspberryPi 등에서도 OK)
  • LINENotify API 키 가져 오기

  • 길어지는 (귀찮은) 때문에 생략합니다. 이 근처의 기사가 참고가 됩니다.

    [초간단] LINE notify 사용해보기

    대시 버튼 등록에서 메시지 전송까지



    기존의 정보만이지만 일단 씁니다.

    버튼 등록



    기본적으로 Amazon 공식 Dash Button 설정대로 할 수 있습니다.
    다만, 마지막까지 셋업하면 보통으로 상품이 도착하므로 이 화면에서 닫습니다.


    node.js 넣기 (2017/07/29 추가)



    링크를 붙이고 있었지만 곧 쓸 수 있었기 때문에 씁니다.
    라고 말해도 dasher 희귀 D 째. MD 에 써 있는 것 그대로입니다.
    $ sudo apt-get install libpcap-dev
    $ sudo apt-get install npm
    
    $ sudo apt-get install node
    $ wget http://node-arm.herokuapp.com/node_latest_armhf.deb 
    $ sudo dpkg -i node_latest_armhf.deb
    

    이제 npm 등을 설치할 수 있습니다.
    처음으로 dasher를 사용했을 때 여기서 망설였지만, 간단했습니다 ...

    Dasher 넣기 (2017/07/29 추가)



    필요한 모든 작업은 Dasher을 사용하여 수행됩니다.
    Dasher는 Dash 버튼에서 ARP를 감지하여 임의의 처리를 수행하는 편리한 사람입니다.
    Github보다 Clone하면됩니다. Clone하고 install하면됩니다.
    $ git clone https://github.com/maddox/dasher.git
    $ cd dasher
    $ sudo npm install
    

    MAC 주소 확인



    이전의 Dasher에게 조사하기위한 스크립트가 제공됩니다.
    $ cd dasher
    $ sudo ./script/find_button
    Watching for arp & udp requests on your local network, please try to press your dash now
    Dash buttons should appear as manufactured by 'Amazon Technologies Inc.'
    

    여기에서 버튼을 누르면 아래에 MAC 주소가 표시됩니다.
    가득 찼는지 모르는 경우 이러한 사이트에서 공급 업체를 살펴보십시오.

    처리 쓰기


    config.json 에 어떤 버튼을 눌렀을 때에, 무엇을 하는지를 씁니다.
    쓰기는 config.example.json에 있습니다.
    $ vim dasher/config/config.json
    

    다음 설정 예

    config.json
    {"buttons":[
        {
        "name": "Notify",
        "address": "ee:ee:ee:ee:ee:ee",
        "url": "https://notify-api.line.me/api/notify",
        "method": "POST",
        "headers": {"Authorization": "Bearer <LINEToken>"},
        "formData": {"message": "ご飯よ~"}
        }
    ]}
    

    실행해보기


    $ cd dasher
    $ sudo npm run start
    
    > [email protected] start /home/pi/dasher
    > node app.js
    
    [2017-07-23T07:03:14.690Z] dash button added.
    

    버튼을 누르면 LINENotify에서 메시지가 도착합니다.

    덤 (dasher 데몬 등록)



    모두가 좋아하는 서비스 명령을 사용하고 싶지 않습니까? 사용하고 싶네요.
    dasher를 서비스 등록하여 사용할 수 있도록 합니다. 안의 사람이 써 주고 있다 위키를 보면서 진행합니다.
    $ sudo vim /etc/init.d/dasher
    

    에서 파일을 만들고 을 복사합니다.
    3행째와 12~14행째의 개소는 적절히 재작성합니다.
    다음 설정 예

    /etc/init.d/dasher
    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides: dasher
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start daemon at boot time
    # Description:       Enable service provided by daemon.
    ### END INIT INFO
    
    dir="/home/pi/dasher"
    cmd="npm run start"
    user="root"
    ...
    

    권한을 설정하고 등록합니다.
    $ sudo chmod 755 /etc/init.d/dasher
    $ sudo update-rc.d dasher defaults
    

    그리고는 실행할 뿐.
    $ sudo service dasher start
    

    이제 service 명령을 사용하여 dasher를 시작하거나 종료할 수 있습니다.
    자동 기동으로 설정하거나 하면 편리할 것 같네요.

    요약



    처음 Qiita, 처음 Markdown에서 당황하면서 썼습니다.
    계속할지 어떨지는 모릅니다만, 앞으로도 메모 정도에 걸리면 좋겠습니다.

    좋은 웹페이지 즐겨찾기