M5Stack MPD 클라이언트

4536 단어 mpdArduinoM5stack

개요



최근에 게시한 적외선 리몬 디코더을 사용한 MPD 클라이언트입니다.
M5Stack 버튼과 적외선 리모컨으로 MPD를 조작할 수 있습니다.
RaspberryPi의 GPIO에 여러가지 연결하지 않고 조작 패널을 붙일 수 없는가 하고 생각해, 시작해 보았습니다.

기능


  • MPD 버튼 조작
  • MPD 적외선 리모컨 작동
  • 연주중인 노래 이름 표시

  • 소스 코드



    소스 코드는 여기에 넣었습니다.
    htps : // 기주 b. 이 m/t t 야와타/m5 mpdc ぃ 엔 t. 기 t

    설정 방법



    WiFi AP와 MPD 서버의 설정은 코드에 내장되어 있으므로 그 쪽을 수정해 주세요.
    m5mpdclient.ino : 24행
    const char ssid[] = "Your SSID";
    const char pass[] = "Your PASS";
    

    MPD 서버는 IP 주소 또는 서버 이름으로 지정할 수 있습니다.
    m5mpdclient.ino : 28행
    //mpd server
    // by IP address
    //const char mpdserver[] = "IP:192.168.xxx.xxx";
    //by server name
    const char mpdserver[] = "moode";
    //char mpdserver[] = "volumio";
    //const char mpdserver[] = "smpd";
    

    버튼 조작



    M5Stack의 A 버튼으로 모드를 선택하고 B/C 버튼으로 조작합니다.
    A 버튼을 누를 때마다 0⇒1⇒2⇒3⇒4⇒0⇒…와 모드가 변경됩니다.
    버튼을 놓고 5초하면 모드 0으로 돌아갑니다.


    모드
    B 버튼
    A 버튼


    0
    play/pause
    stop

    1
    previous
    다음

    2
    seek 0
    seek end

    3
    Shuffle
    repeat

    4
    volume -5
    volume +5


    ※적외선 수신기를 접속하지 않아도 우선 버튼만으로도 조작할 수 있습니다.

    적외선 리모컨



    적외선 수신기는 GPIO21에 연결됩니다. GPIO 핀은 변경 가능합니다.
    자세한 것은 이쪽도 참조해 주세요.
    htps : // 이 m / t-t 와타 / / ms / 92 a db5 db19 t f1d07178

    m5mpdclient.ino : 55행
    const gpio_num_t irPin = GPIO_NUM_21;
    

    테스트에 사용하는 리모컨은 여기입니다.
    htps //w w. 아키바 ぇ d. jp/p 로즈ct/1489
    샘플 코드에서는 다음과 같이 매핑합니다.


    m5mpdclient.ino : 61행
    // IR remote command for
    // https://www.akiba-led.jp/product/1489
    const String ir_play = "N00ffc23d"; // pause
    const String ir_stop = "N00ff6897";
    const String ir_next = "N00ff02fd";
    const String ir_prev = "N00ff22dd";
    const String ir_home = "N00ffa25d";
    const String ir_end = "N00ffe21d";
    const String ir_repeat = "N00ff906f";
    const String ir_random = "N00ff629d";
    const String ir_volup = "N00ffa857";
    const String ir_voldown = "N00ffe01f";
    

    리모콘 코드는 직렬 포트로 출력됩니다.
    다른 리모컨을 사용할 때 리모컨의 버튼을 눌러 코드를 확인할 수 있습니다.
    직렬 출력이 필요하지 않은 경우 주석 처리하십시오.
    m5mpdclient.ino : 734행
        Serial.println(ircode);
    

    MPD 서버 정보



    RaspberryPi에서 Volumio, moOde audio player, symphonic-mpd에서 동작 확인하고 있습니다.
  • volumio : playlist 관리가 원래이므로 previous, stop 명령이 작동하지 않습니다.
  • symphonic-mpd : 기본적으로 6600 포트가 닫혀 있으므로 구성 변경이 필요합니다.
  • moOde audio player : 특별한 설정은 없습니다.

  • 노트


  • WiFi AP, mpd 서버의 설정이 코드 임베디드로 되어 있는 등 쓰기가 좋지 않다고 생각합니다. 샘플 코드라고 생각하고 있으므로, 자유롭게 개조해 주세요. (불량도 있을 것 같기 때문에, 개량판을 공개해 주시면 기쁩니다)
  • Volumo는 websocket API이므로, 전용의 클라이언트를 만드는 편이 좋다고 생각합니다만 손이 붙어 있지 않습니다.
  • 화면은, 표시 내용이나 디자인 등 개량이 필요하다고 생각합니다.

  • 조금 홍보 모드. 당사에서 개발·제조하고 있는 Terra-BerryDAC/HPA와 조합한 이미지입니다.


    참고로 한 사이트


  • M5Stack에서 일본어 표시
  • 기타
  • 좋은 웹페이지 즐겨찾기