행복한 하루

라즈베리파이 제로 프로젝트(10) – 사운드(소리)를 들어보기 - MusicBox 프로그램(2) – 블루투스 연동 실패 후기 1편 본문

RaspberryPi/Raspberry Pi Zero

라즈베리파이 제로 프로젝트(10) – 사운드(소리)를 들어보기 - MusicBox 프로그램(2) – 블루투스 연동 실패 후기 1편

변화의 물결 2020. 12. 10. 19:11

 

 

안녕하세요.

 

  앞 MusicBox 강좌를 이어가 보겠습니다.

  음악 스트리밍을 하기 위해서는 기본적으로 인터넷(네트워크)이 연결되어 있어야 합니다. 그리고 최신 버전의 라즈베리파이 버전으로 패키지로 업데이트해줍니다. 그리고 음악을 듣고자 한다면 블루투스 이어폰이나 스피커가 연결되어야 할 것입니다.

 

   “중요” 결론을 먼저 알려드리면 블루투스 연결을 시도해보려고 했는데 실패했습니다. 현재 jessie OS 버전에서 블루투스 4.1 이어폰을 라즈베리파이 제로에 연결하는 것을 실패하였습니다.

 

  최종적으로 jessie 버전에서 페어링(pair)까지 되었지만, 연결(connect)이 되지 않았습니다. 그러나 최신 라즈베리안(Raspbian) OS에서는 블루투스 이어폰에 connect 되고 aplay로 사운드 출력까지 가능한 것을 확인했습니다.

 

 아래 내용을 한번 따라 해보라고는 말씀드리고 싶지 않습니다. 그냥 아~ 이렇군. 정도로 보시고 나중에 중간중간에 나온 라이브러리가 설치가 안 될 때 참조 정도 하시면 될 것 같습니다.

 

1. SSH로 라즈베리 업데이트하기

  이전 강의 마지막에서 SSH로 접속하는 것을 확인해보았습니다. 이 상태에서 작업해보겠습니다.

우선 패키지들을 업데이트시킵니다.

 

root@MusicBox:~# sudo apt-get update

root@MusicBox:~# sudo apt-get upgrade

 

  위와 같이 하면 라즈베리 버전이 옛날 버전(wheezy)으로 되어 있다 보니 업데이트가 되지 않는다는 것을 알 수 있습니다. 그래서 새로운 버전(jessie)으로 업데이트해 주어야 합니다. 업데이트 리스트에 wheezy로 되어 있는 것을 jessie로 바꿔줍니다.

 

root@MusicBox:~# sudo sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list

root@MusicBox:~# sudo sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list.d/*.list

 

 그리고 다시 업데이트와 업그레이드를 해줍니다.

새로운 버전을 설치할 것이나 등 질문들이 있는데 한번 읽어보고 n를 선택해서 넘깁니다. 시간이 좀 걸립니다.

 

root@MusicBox:~# sudo apt-get update

root@MusicBox:~# sudo apt-get upgrade

 

( 주의할 점 :

  sudo apt-get dist-upgrade 추천하지 않습니다. 많은 기본 라이브러리가 설치되지만, 재부팅하면 동작하지 않습니다. 그래서 MusicBox 다시 설치해야 할 수도 있습니다. )

 

 업데이트 중간중간에 물어보는 내용이 나오는데, No 혹은 Enter를 입력해주시면 됩니다.

 

마지막으로 오래된 패키지와 더는 필요 없는 자료들을 삭제합니다. 그리고 재부팅.

 

root@MusicBox:~# apt-get autoremove

root@MusicBox:~# apt-get autoclean

root@MusicBox:~# reboot

 

2. 원격 접속하기

   xrdp를 설치하고 접속하려고 했지만, 최신 라즈베리파이의 접속 모듈은 xorg로 해서 원격으로 가능하지만, 현재 jessie 버전에서는 가능하지 않았습니다. 그래서 넘어가도록 하겠습니다. vnc viewer로도 접속해보았는데 접속 안되었습니다.

원격접속하기

 

  

3. 콘솔 창에서 블루투스 연결하기

  아마 이전 버전(wheezy)이라면 업데이트를 진행해야 가능할 것입니다. 우선 블루투스를 사용하기 전에 설치해야 할 패키지들이 있습니다.

 

root@MusicBox:~# sudo apt-get install pi-bluetooth bluetooth bluez

root@MusicBox:~# sudo bluetoothctl

[bluetooth] # agent on

[bluetooth] # scan on

No default controller available 에러 나타남

 

[bluetooth] # quit

 

먼저 블루투스 정상적으로 드라이버가 올라왔는지 확인해봅니다.

root@MusicBox:~# dmesg | grep -i bluetooth

 

bluetooth log

 

  드라이버는 이상 없이 올라와서 초기화된 것을 확인할 수 있습니다.

 

  구글링 해보니 아래 명령어를 실행해보라고 합니다.

root@MusicBox:~# systemctl start hciuart

그런데 systemctl 명령어를 알 수 없다고 나옵니다. 그래서 패키지를 설치해봅니다.

 

root@MusicBox:~# apt-get install systemd

설치하고 다시 실행해봅니다.

 

root@MusicBox:~# systemctl start hciuart

하면 다음과 같이 Failed to get D-Bus connection: Unknown error -1 에러 나타납니다.

될 듯 될 듯 에러를 계속 나타냅니다. 해결해야 할 것들이 많네요.

 

 “Failed to get D-Bus connection: Unknown error”  에러가 발생해서 구글링해 보니 특별한 해결책은 없었습니다. 그래도 이것저것 따라 해 보라고 해보니 에러가 사라졌습니다. 이유는 정확하게 모르고 이것저것 해보니 에러가 사라졌습니다. ;;;

 

root@MusicBox:~# sudo apt-get install systemd-sysv

root@MusicBox:~# service udev status

root@MusicBox:~# sudo systemd –test

 

  하면 root가 아니라고 에러 발생 (그럼 나는 누구인가?  ^^) 구글링해 보면 버그인지 issue 내용이 있어 여기까지는 따라 하지 않았습니다. 이것까지 할 필요 없을 것 같았습니다.

 

재부팅하고 명령어를 실행해보면 D-Bus…. 에러 없이 실행됩니다.

root@MusicBox:~# systemctl status ssh.service

root@MusicBox:~# systemctl start hciuart

 

ssh.service

 

  그리고 앞에 블루투스 연결 안 된 부분을 실행해보면 connect 이전까지 명령어가 실행되는 것을 확인할 수 있습니다. (pair 작업은 한번 해놓아서 패스했습니다.)

 

블루투스 연결

 

  결론은 현재 버전 상 블루투스 4.1로 MusicBox를 사용하지 못하였습니다. 향후에 상위 버전 OS에서 bluealsa에서 이야기하겠지만, 현 버전에서 bluealsa라는 프로그램도 설치되지 않아서 여기에서 마무리하였습니다. 다른 방법을 아시는 분은 댓글 부탁드립니다. 

 

 - 다음 2 편으로 추가적으로 작업해본 내용들 더 올려보겠습니다.

 

감사합니다.

 

 

 

<참고사이트 링크>

1. 라즈베리파이 OS wheezyjessie로 업데이트시키기

https://www.datenreise.de/en/raspberry-pi-raspbian-update-wheezy-to-jessie/

 

2. Failed to get D-Bus connection: Unknown error 에러 해결 방법

https://superuser.com/questions/1173756/cant-start-systemd-failed-to-get-d-bus-connection

 

3. systemd를 설치

https://java.ihoney.pe.kr/486

 

4. 블루투스 오디오 (Bluetooth Audio) 전반적인 명령어 흐름

https://www.sigmdel.ca/michel/ha/rpi/bluetooth_02_en.html

 

“쿠팡 파트너스 활동을 통해 일정액의 수수료를 받을 수 있음"

Comments