X86 통합검색
X86.CO.KR
100% 당첨매일매일 출석 도장 찍고 포인트 받아가세요
  • Extra Form
    첨부
    공유레벨 글쓴이가 전체공개한 글 입니다.
    목적확인  

    크롬캐스트 오디오로 멀티룸 오디오를 사용하다 작년 말 아마존 에코로 환경을 모두 변경하였다.

    기존 스피커들은 Alexa built in이 없기에 Echo dot 2를 스피커마다 하나씩 붙여주었다.(AUX 연결)




    대부분의 스피커는 무리없이 구동되었지만, 주방 구석에 둔 Bose Soundtouch 10에 이슈가 발생했다.



    사운드터치는 20분이 지나도록 입력 신호가 없으면 자동으로 절전 모드로 들어가는데,

    자동 전원 On 혹은 절전 모드 비활성화 기능이 없어서 사용하지 않다가 다시 쓰는 경우에는

    수동으로 전원이나 AUX 버튼을 눌러줘야 하였다.

     


     쉽게 말해,

    "자동 Off는 있지만, 자동 On 혹은 입력을 자동 인식하는 기능은 없는" 반쪽짜리 스피커인 것이다...


     대단한 기능도 아닌데 Auto off 비활성화 메뉴를 안만들어 주는 BOSE를 이해할 수가 없다.

     (물론 Soundtouch 앱을 통해서 on은 가능하지만 여전히 매번 앱을 열어 on을 눌러줘야 함)

     


     


    매번 전원이나 AUX를 눌러주기도 귀찮아서 방치하다 방법이 없을까 싶어 찾아보았다.

     (와이프가 버튼 누르기 귀찮다고 아예 사용을 안하다보니 방치된...)

     


    과정은 뒤이어 정리해둔 것을 참조바라며,

     결론만 말하면 "NAS(Synology)에서 Bash shell script를 15분마다 실행시켜

    사운드터치10의 Auto off를 진행되지 않게 하는 방법"으로 해결하였다.



    bose-soundtouch-aux-keepalive.sh 


     스크립트가 익숙한 분들은 다음 코드를 이용하면 Synology task scheduler에서 바로 사용 가능하다.


    #!/bin/bash
    PATH=/opt/bin:/usr/bin/:/opt/bin/bash
    # Script as below
    soundtouch_ip=사운드터치ip입력부분
    source=$(curl -s http://$soundtouch_ip:8090/now_playing | xmllint --xpath 'string(/nowPlaying/@source)' -)
    if [ $source = "AUX" ]
    then
    echo SoundTouch mode is AUX: keep-alive
    curl -s -o /dev/null --request POST --header "Content-Type: application/xml" --data '<key state="press" sender="Gabbo">THUMBS_UP</key>' http://$soundtouch_ip:8090/key
    elif [ $source = "STANDBY" ]
    then
    echo SoundTouch mode is STANDBY: switch to AUX
    curl -s -o /dev/null --request POST --header "Content-Type: application/xml" --data '<ContentItem source="AUX" sourceAccount="AUX"></ContentItem>' http://$soundtouch_ip:8090/select
    fi


    ※ 'soundtouch_ip=사운드터치ip입력부분' ip를 본인 환경에 맞춰 수정해야 함


     ※ 스피커 On + AUX 모드면 상태 유지, Off/Standby면 AUX 모드로 변환 시켜줌


     ※ 인지하기 어려운 수준의 dummy를 전송해 Auto off 방지하는 형태(재생 시에도 간섭 없음)


    ※ 사운드터치 제품군에는 모두 적용 가능할 것으로 예상되나 불가능할 수도 있음

       (1세대 ST20, ST30의 경우 그냥 telnet으로 Auto off 해제 해주는 것이 훨씬 편함)



    중요한 내용은 이게 다임.

    끝!






    스크립트와 친하지 않은 분들께 필요한 자세한 How to do는 다음부터...




    이번 포스트는 스크립트 랭귀지를 모르는 분들도 그대로 따라가기만 하면 되는 수준으로 작성되었으나,

    SSH를 통한 패키지 설치 및 vi 에디터 사용 등을 하므로 이로 인한 NAS의 손상 등을 책임지지 않습니다.






    자동 종료(Auto off, Auto sleep) 비활성화의 필요성


    - 사운드터치 10은 입력 없이 20분이 지나면 자동종료 됨(Echo dot을 AUX로 연결하여 사용 중)

    - 자동 종료된 경우 수동으로 전원/AUX 등의 물리 버튼이나 Bose 앱을 통해서 on 해줘야 함
     
    - 쉬운 방법부터 찾아 보았지만 해당 솔루션은 특정 세대 사운드터치 20이나 30에만 작동함(telnet)
     

    telnet soundtouchip 17000
    sys timeout inactivity disable

    - 사운드터치 10을 위한 스크립트를 찾았지만 상시 가동되는 Linux, Mac, 라즈베리파이 등이 필요함

       (https://github.com/Matsuo3rd/bose-soundtouch-aux-keepalive)



    여튼 스피커 살리자고 Mac을 켜둘 수는 없는 노릇이고, 집에서 항상 켜두는 NAS를 이용한다면

    스크립트를 통해 20분 마다 잠드는 스피커의 자동 꺼짐을 방지할 수 있지 싶었다.





    참고.

    사운드터치 10은 블루투스가 연결된 상태에서만 자동으로 Auto off가 비활성화된다.(2년전 업데이트)

     하지만 Alexa의 멀티룸 오디오 기능을 사용할 때는 무조건 Bluetooth 연결이 끊어지므로,

     앱이나 보이스로 매번 재연결이 필요한 말도 안되는 상황(사실상 Auto off 비활성화가 불가능한)이다.


    이 답변 올라온지 2년이 넘은듯...



    아마도 개발팀의 우선순위에서 한참 밀려나 있는 것이 아닐까 싶다.

    BOSE 커뮤니티에도 사용자들의 원성이 자자하다.

    텔넷 연결까지 가능하게 해놓고 이런 기능을 안넣어주는 이유가 뭔지 이해 불가능하다.

    (다시는 안산다는 사람부터 특별한 기능도 아닌데 안해준다는 사람들까지 다들 한 마음으로 욕을...;;)







    참조

     


     이번 이슈 해결을 위해 참고한 사항들은 다음과 같다.














    필요 조건



     Xpenology(Synology)를 올린 NAS의 Task scheduler(Crontab 역할을 하는)를 통해 가능하다.

     

    다만, Synology의 DSM은 BASH 대신 ASH를 지원 하기에 약간의 수고가 필요하다.

     


     준비물은 다음과 같다.

     


     - BOSE Soundtouch 10

     

    - NAS(Shell script를 task scheduling 가능한 Synology, Xpenology 등의 장비)

     

    - Synology용 bootstrap, bash, xmllint(bash script 실행을 위해 필요, 미리 다운로드 필요없음)

      * 스크립트를 Synology의 Task scheduler(작업 스케줄러) 혹은 crontab을 통해 15분 마다 실행하는 형태임




     ※ 스피커 ip는 공유기 DHCP에서 수동 할당해줘야 간혹 있을 수 있는 ip 변동을 방지할 수 있다.

      (스크립트 실행 할 때 마다 ip 체크나 변경 하는 것 보다 수동 할당이 낫다)






    설정 방법



    0. 첨부된 스크립트 파일을 Synology에 업로드

    ※  본 예제는 volume1에 script 폴더를 만들어 업로드한 상태가 기준임
       → /volume1/script/bose-soundtouch-aux-keepalive.sh

    bose-soundtouch-aux-keepalive.sh 




    1. Synology SSH 활성화

    * 모든 작업 종료 후 SSH는 닫으시면 됩니다.



    2. Terminal(Mac), Putty 등의 Command line tool로 SSH 접속

    ssh admin@서버IP




    3. root 권한 획득

    sudo -i




    4. Synology에 bootstrap(ipkg) 다운로드

    cd /volume1/tmpwget
    http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

    ※ Synology 사양에 따라 설치 파일은 달라질 수 있음 uname --machine

     명령어를 통해 cpu type 확인이 필요하며, x86_64인 경우 동일하게 진행하면 됨


     ※ 이 솔루션에 사용한 Xpenology는 N40L임





    5. Bootstrap 퍼미션 설정

    chmod +x syno-i686-bootstrap_1.2-7_i686.xsh




    6. 스크립트 실행

    sh syno-i686-bootstrap_1.2-7_i686.xsh



    7. 링크 생성

    cd /
    ln -/volume1/@optware/opt
    cd /



    8. vi를 이용하여 comment 추가

    vi /root/.profile


    ※ profile에추가할 사항

    #PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
    #export PATH


    ※ vi 나가기 - ESC 클릭 후 :wq1 입력 후 엔터




    9. 서버 리부트




    10. SSH 재접속 및 root 권한 얻은 후(2, 3번 반복) bash 설치

    ipkg install bash



    11. vi를 이용하여 bash로 자동 로그인 설정

    vi .profile


    ※ profile에 추가할 사항

    # ...
    
    if [[ -x /opt/bin/bash ]]; then
    exec /opt/bin/bash
    fi


    ※ vi 나가기 - ESC 클릭 후 :wq1 입력 후 엔터




    12. Ash 대신 Bash를 사용하기 위한 심볼릭 링크 생성

    ln -s /opt/bin/bash /bin/bash




    13. xmllint 설치 후 SSH 종료

    ipkg install libxml2
    ipkg install libxslt


    ※ 만약 에러가 나서 설치가 안된다면 다음을 활용

    ipkg install libxml2 libxslt
    mkdir -p /home/slug/optware/syno-i686/staging
    ln -s /opt /home/slug/optware/syno-i686/staging/opt
    pip install lxml




    14. Synology Task Scheduler(작업 스케줄러)에 task 생성


    사운드터치가 20분 동안 입력이 없으면 Auto off 되므로 15분 단위로 스크립트 실행시킨다.

    아래의 내용을 사용자 정의 스크립트에 추가한다.

    sh /volume1/script/bose-soundtouch-aux-keepalive.sh

    ※ 맨 처음 소스코드를 스크립트에 직접 넣는다면 step. 0의 파일 업로드는 필요 없음



          







    15.  생성한 task를 실행하여 test. 끝!


    정상적으로 적용된다면 잠들어 있던 사운드터치 10이 AUX 모드로 변환된다.

    (만약 On 상태에 AUX 모드라면 눈에 보이는 스피커의 물리적인 변화가 없는 것이 정상 - 상태 유지만 시키므로)






    자세히 적다보니 단계가 많아서 복잡해보이지만 사실 대단한 것이 없는 수준이다.


    별것도 아닌 기능을 빼두는 바람에 쓸데없이 손만 많이 가게 만들어준 BOSE에게 박수를 보낸다.

    (에너지스타 인증 때문에 Auto off가 들어갔을테지만 그럼 Auto on이나 하다못해 Auto off를 끌 수나 있게 만들어줬어야...)









    추가 이슈


    진행하면서 스크립트 관련 이슈가 있었던 사항을 정리해둔다.

    야매 코딩의 특성상 정상적인 디버깅이나 업데이트는 없을 가능성이 농후하다 :)



    1. ^M 관련 에러

    sh: /volume1/script/bose-soundtouch-aux-keepalive.sh: /bin/bash^M: bad interpreter: No such file or directory

    → 윈도우에서 스크립트 수정 등으로 인해 줄바꿈용 엔터값(^M) 들어간 것이므로,
    vi에서 ^M 직접 삭제해주거나 Synology의 텍스트에디터로 파일 뒤 엔터값 수정




    2.  [: =: unary operator expected 에러

    sh: line 1: xmllint: command not found
    (23) Failed writing body
    sh: line 2: [: =: unary operator expected
    sh: line 6: [: =: unary operator expected

    → bash shell script(sh 파일)의 PATH 설정에 문제가 있는 것이므로, path 값을 본인 환경에 맞춰 수정

    (xmllint 커맨드를 인식하지 않는 상황이므로 path를 통해 xmllint 로딩시켜 커맨드 인식)




    3.  syntax error near unexpected token `elif' 에러

    /volume1/script/bose-soundtouch-aux-keepalive.sh: line 2: xmllint: command not found
    /volume1/script/bose-soundtouch-aux-keepalive.sh: line 7: syntax error near unexpected token `elif'
    /volume1/script/bose-soundtouch-aux-keepalive.sh: line 7: `elif [ $source = "STANDBY" ]

    → PATH 설정 및 스크립트 syntax에 문제가 있는 것이므로, path 설정 및 해당 라인 수정

    (2번과 같이 xmllint 커맨드를 인식하지 않는 상황이므로 path를 통해 xmllint 로딩시켜 커맨드 인식)



    Ohchang 님의 SIGNATURE

    profile

    i7-7700K, Z270M-D3H, RX 580, 10.13.5

    E3-1231v3, Z97X-UD5H-BK, GTX 960, 10.13.5

    E3-1231v3, B85M-D3H, GTX 650, 10.13.5

    E3-1231v3, H81M-D2V, RX 560, 10.13.5

    i5-4460, H81M-K, GTX 960, 10.13.5

    주변에서 굴리고 있는 커스텀맥입니다.

    댓글 3
    profile
    Ohchang (글쓴이)
    18.03.06
    (67c539)
    Ohchang Ohchang

    눈에 잘 띄라고 코드박스를 썼더니 명칭이 스크립트 내용 따라 들어가는 것 같군요.

    상단의 JAVA, CSS 등은 무시하시면 됩니다.

    profile
    Mactopia
    18.03.06
    (3c6dbc)
    Mactopia Ohchang

    대박이네요. 저도 보스 유저로서 AUTO-OFF은 정말.....저도 욕만하다가...지냈습니다..흑..

    https://x86.co.kr/imessage/2049646





    PS. 나스 게시판 유저들에게 더욱 적절할것 같아 일단 이동하겠습니다. 

    profile
    Ohchang (글쓴이)
    18.03.06
    (67c539)
    Ohchang Mactopia

    미국넘들도 하나같이 환불하니 마니

    물건을 이 따위로 만드는게 말이되냐 등등

    다들 난리더군요-_-;

    저도 얼마 전 깃허브 소스 찾아서 살짝 손만 본 수준이라 ㅎㅎ

    다만 사운드터치류 쓰시는 분들에겐 희소식일 듯 합니다.


    * 카테고리는 어디로 갈지 헤메다 주변기기로 뒀습니다. 어디든 괜찮습니다 :)

    날짜 제목 글쓴이 조회 수
    18.06.13 GiGi톡 커스텀맥 호환성 관련 질문은 질문 게시판을 이용해주세요 Mactopia 62
    18.03.22 스토리지 동영상을 나스에서 유튜브로 바로 업로드하는 방법이 있나요? 3 ClimbJoe 243
    18.03.21 PC보드 WIFI+BT모듈용 어텁타~^^ 구매시 참고 하세요!! 8 4 si2001 865
    18.03.19 스토리지 늘 이놈이 문제네요 ㅠㅠ 1 기호곰 345
    18.03.18 스토리지 나스 DDNS 서비스 어디 이용하시나요? 14 SCENT_APPLE 553
    18.03.17 입력장치 생애 최초 커스텀 맥 준비하기 - WIFI+BT모듈 커스텀화 + 입력장치(애플 매직트랙패드) 11 4 때군 852
    18.03.16 소리음향 [블루투스 헤드셋]AKG Y50bt 5 1 달쇠 700
    18.03.15 모바일 아이맥프로 1.1 재설치 아이메세지 그냥 작동 3 2 좌절금지 440
    18.03.14 GiGi톡 잉크 복합기, 레이저 복합기 6 1 묵은지 306
    18.03.14 GiGi톡 M.2 SSD와 변환 젠더 어떤 것이 좋을 까요? 4 쿼드로 435
    18.03.12 모바일 [실외사진]갤럭시S9+ 카메라 비교(사진 다수. 발로찍음주의) 9 2 달쇠 158
    18.03.11 모바일 [HDR]갤럭시S9+ 디스플레이와 동영상 3 1 달쇠 118
    18.03.10 모바일 [지름후기]갤럭시 S9+ 11 달쇠 295
    18.03.09 스토리지 나의 음악-네트웍 플레이어 소개 5 2 양호3243 478
    18.03.08 PC보드 BCM943602CS 모듈이 12일 만에 왔네요 16 2 파란약 묘오 659
    18.03.08 모니터TV 게이밍 모니터 핫딜이네요. 4 1 SenkovLee 158
    18.03.08 스토리지 IODD 2531 A/S (부제 : 고객님 택배비는 착불입니다.) 8 2 좌절금지 206
    18.03.07 PC보드 다이소 무선랜 드라이버 for macOS 41 8 비현군 1775
    18.03.07 스토리지 860EVO 135$ 이랍니다. 1 2 SenkovLee 133
    18.03.06 GiGi톡 [수정][AHVA모니터]이게 빛샘 아닌가요? 10 파란약 달쇠 102
    18.03.06 GiGi톡 최근 인테리아 공구 구입에 재미를 느끼고 있습니다. 8 아이뱅크 135
    18.03.06 스토리지 BOSE Soundtouch 10 자동 종료 방지(with Synology) 3 1 Ohchang 258
    18.03.05 스토리지 [아마존] SanDisk 1TB Ultra 3D NAND SATA III SSD - 2.5-inch Solid State Drive - SDSSDH3-1T00-G25 좌절금지 186
    18.03.02 소리음향 lm1875 자작 amp 31 4 kary 542
    18.03.02 소리음향 진공관(NuTube) 헤드폰 앰프 사용기 18 1 kary 572
    18.02.28 GiGi톡 [지름 예약 신고]갤럭시 s9+ 9 달쇠 180
    18.02.28 입력장치 로지텍 K480키보드가 드디어 빛을 보네요. 12 XEXEX 264
    18.02.28 스토리지 DSM 6.1.5-15254 Update 1 7 goldbat 358
    18.02.27 스토리지 dc to dc 전원을 쓸수 있을까요? 8 야화 275
    18.02.25 PC보드 레노버 아이디어패드 720s 15ikb 와이파이 모듈 교체하기 (BCM94360cs2) 11 2 봄날 829
    18.02.24 스토리지 tvheadend live tv기능이 안되네요... forsberg 249
    18.02.24 모니터TV 노트북 LCD 모니터 활용 추가 설명~~~ 19 2 goldbat 509
    18.02.24 소리음향 [수정2]커스텀 맥 + LG HiFi 플러스 모듈 사용기 8 2 Raspie 610
    18.02.23 GiGi톡 [프린터 고장]캐논 g3900(바쁠때 고장나서 말썽) 달쇠 434
    18.02.22 GiGi톡 노트북 모니터 활용!! 7 2 goldbat 510
    18.02.22 PC보드 레노버 YOGA 720 노트북 무선랜 떼문에 분해한 사진 입니다.!! 참고하세요!~^^ 8 si2001 413
    18.02.21 모바일 아이폰 스피커 소리를 더 크게 3 1 Mactopia 174
    18.02.21 GiGi톡 유튜브 레드 vs 넷플릭스 vs 애플뮤직 간단후기 2 Mactopia 346
    18.02.20 소리음향 구글 미니 홈 - 스마트 스피커 첫 사용기!! 5 Mactopia 234
    18.02.19 GiGi톡 커맥 쓰시는분들 매직트랙패드 사용하시나요? 20 덱스털 298
    18.02.19 스토리지 SSD 괜찮은 두 개 알려드립니다.(860 Evo 500g, 960EVO) 2 SenkovLee 233
    18.02.18 스토리지 나스당 가입신청합니다. 3 우공씨 184
    18.02.16 PC보드 생애 최초 커스텀 맥 준비하기 - CPU+메인보드 (i5 8400+Asrock Z370 ITX/ac) 19 4 때군 891
    18.02.13 모니터TV 음성 인식으로 구형 TV를 제어하는 방법을 찾긴 찾았습니다. 1 Mactopia 126
    18.02.11 모니터TV [프리뷰] AppleTV 4K for Airflow App 5 1 좌절금지 230
    18.02.11 소리음향 아이맥프로 따라잡기 (부제:Audioengine D1 USB DAC) 10 2 좌절금지 483
    18.02.11 PC보드 백만년만에 USB 무선랜을 잡아봤는데.... 4 2 Mactopia 554
    18.02.11 스토리지 새로운 코덱으로 동영상 보는 방법이 어떤게 있을까요? 9 XEXEX 391
    18.02.11 스토리지 XPG SX7000 1T NVMe M.2 도착했어요 7 3 좌절금지 285
    18.02.09 스토리지 아이맥 프로 따라잡기 (부제 : XPG SX7000 1T NVMe M.2 ) 5 3 좌절금지 395
    18.02.09 입력장치 아이패드 프로 12.9용 스마트 키보드 무상 리퍼 받았습니다 1 ZISQO 215
    1 - 10 - 35
    random
    서버에 요청 중입니다. 잠시만 기다려 주십시오...