搜档网
当前位置:搜档网 › BlueZ_command

BlueZ_command

pc机的环境
tar jxf freescale_cross_compile.gz
vim /etc/profile
PATH="$PATH::/home/walnut/arm-none-linux-gnueabi/bin"
PKG_CONFIG_PATH="$PKG_CONFIG_PATH::/usr/lib/pkgconfig:/usr/local/lib/pkgconfig"
LD_LIBRARY_PATH="$LD_LIBRARY_PATH::/lib/:/usr/lib:/usr/local/lib"

export PKG_CONFIG_PATH
export LD_LIBRARY_PATH
Debian5安装
apt-get install g++-multilib
apt-get install gcc-multilib
apt-get install manpages-dev
apt-get install autoconf
apt-get install libtool
apt-get install flex
apt-get install bison
apt-get install gdb
apt-get install libglib2.0-dev
apt-get install gettext
apt-get install btyacc
apt-get install bison
apt-get install flex

Fedora10 安装
rpm -ivh dbus-glib-0.76-3.fc10.i386.rpm
rpm -ivh glib2-devel-2.18.2-3.fc10.i386.rpm
rpm -ivh dbus-devel-1.2.4-1.fc10.i386.rpm
rpm -ivh dbus-glib-devel-0.76-3.fc10.i386.rpm
rpm -ivh glib2-2.18.2-3.fc10.i386.rpm

PC机上的编译
tar xf zlib-1.2.3.tar.tar
cd zlib-1.2.3
sed -i -e 's/CC= gcc/CC= arm-none-linux-gnueabi-gcc/g' configure
./configure -prefix=/usr/local --shared
make
make install


tar zxf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi
make
make install


tar zxf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi
make
make install
cp /usr/local/lib/pkgconfig/libxml-2.0.pc /usr/lib/pkgconfig/

tar zxf dbus-1.2.3.tar.gz
cd dbus-1.2.3
echo ac_cv_have_abstract_sockets=yes >> arm-none-linux-gnueabi.cache
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi --without-x --with-xml=libxml CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" --cache-file=arm-none-linux-gnueabi.cache
make
make install
cp /usr/local/lib/pkgconfig/dbus-1.pc /usr/lib/pkgconfig/


注意glib和libc是基本
tar jxf glib-2.12.12.tar.bz2(不用)
cd glib-2.12.12
echo ac_cv_type_long_long=yes > arm-none-linux-gnueabi.cache
echo glib_cv_stack_grows=no >> arm-none-linux-gnueabi.cache
echo glib_cv_uscore=no >> arm-none-linux-gnueabi.cache
echo ac_cv_func_posix_getpwuid_r=yes >> arm-none-linux-gnueabi.cache
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi --cache-file=arm-linux.cache
make
make install
cp /usr/local/lib/pkgconfig/* /usr/lib/pkgconfig/


tar jxf glib-2.18.1.tar.bz2(用)
cd glib-2.18.1
echo ac_cv_type_long_long=yes > arm-none-linux-gnueabi.cache
echo glib_cv_stack_grows=no >> arm-none-linux-gnueabi.cache
echo glib_cv_uscore=no >> arm-none-linux-gnueabi.cache
echo ac_cv_func_posix_getpwuid_r=yes >> arm-none-linux-gnueabi.cache
echo ac_cv_func_posix_getgrgid_r=yes >> arm-none-linux-gnueabi.cache
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache
make
make install
cp /usr/local/lib/pkgconfig/* /usr/lib/pkgconfig/

tar zxf

dbus-glib-0.78.tar.gz (dbus-glib-0.78配dbus-1.2.3)(dbus-glib-0.74配dbus-1.0.3)
cd dbus-glib-0.78
echo ac_cv_func_posix_getpwnam_r=yes >> arm-none-linux-gnueabi.cache
echo ac_cv_have_abstract_sockets=yes >> arm-none-linux-gnueabi.cache
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" --cache-file=arm-none-linux-gnueabi.cache
vim dbus/Makefile
change
SUBDIRS = . examples => SUBDIRS = . #example
vim Makefile
change
SUBDIRS = dbus test doc tools => SUBDIRS = dbus #test doc tools
make
make install
cp /usr/local/lib/pkgconfig/dbus-glib-1.pc /usr/lib/pkgconfig/



tar zxf libsndfile-1.0.17.tar.gz
cd libsndfile-1.0.17
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi
make
make install
cp /usr/local/lib/pkgconfig/sndfile.pc /usr/lib/pkgconfig/


tar jxf alsa-lib-1.0.18.tar.bz2
cd alsa-lib-1.0.18
cp /mnt/hgfs/share/alsa-lib-1.0.18-* ./
patch -p1 < alsa-lib-1.0.18-nommu.patch
patch -p1 < alsa-lib-1.0.18-relink.patch
./configure --host=arm-none-linux-gnueabi --prefix=/usr/local --disable-python --enable-pcm CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
make
make install
cp /usr/local/lib/pkgconfig/alsa.pc /usr/lib/pkgconfig/

tar zxf libmad-0.15.1b.tar.gz(解码mp3)
cd libmad-0.15.1b
./configure --host=arm-none-linux-gnueabi --prefix=/usr/local --enable-fpm=arm --disable-debugging CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
make
make install

下载mplayer从http://www.mplayerhq.hu/MPlayer/releases/
tar xf MPlayer-1.0rc2.tar.tar(前面所有的都是动态的库,现在编译静态的就会导致不能链接到alsa,且一定要有--target=这个选项)
cd MPlayer-1.0rc2
./configure --host-cc=gcc --cc=arm-none-linux-gnueabi-gcc --target=arm-linux --prefix=/usr/local --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-live --with-extraincdir=/usr/local/include --with-extralibdir=/usr/local/lib (install error,但是可以用,不过是中文显示)


/************libusb-0.1.12************/不是libusb-0.1.4,要修改makefile
tar zxf libusb-0.1.12.tar.gz
cd libusb-0.1.12
./configure -prefix=/usr/local --host=arm-none-linux-gnueabi CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
make
make install
cp /usr/local/lib/pkgconfig/libusb.pc /usr/lib/pkgconfig/




tar zxf bluez-4.59.tar.gz (GLib library version 2.14 or later)
cd bluez-4.59
./configure --host=arm-none-linux-gnueabi --prefix=/usr/local --disable-libtool-lock --disable-optimization --disable-fortify --disable-pie --disable-capng --disable-network --enable-serial --enable-input --enable-audio --enable-service --disable-gstreamer --enable-alsa --disable-usb --en

able-netlink --enable-tracer --enable-tools --enable-bccmd --disable-pcmcia --enable-hid2hci --enable-dfutool --enable-hidd --enable-pand --enable-dund --enable-cups --enable-test --enable-udevrules --enable-configfiles --enable-debug CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
make
make install


tar zxf bluez-4.18.tar.gz
cd bluez-4.18
./configure --host=arm-none-linux-gnueabi --prefix=/usr/local --disable-libtool-lock --disable-gtk-doc --disable-fortify --disable-pie --disable-network --enable-serial --enable-input --enable-audio --enable-service --enable-gstreamer --enable-alsa --disable-usb --enable-netlink --enable-tools --enable-bccmd --enable-hid2hci --enable-dfutool --enable-hidd --enable-pand --enable-dund --disable-cups --enable-test --enable-manpages --enable-configfiles --enable-initscripts --enable-pcmciarules --enable-debug CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
make
make install


在freescale上运行的命令
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/sbin:$PATH
cd /usr/local/
rm -rf /usr/local/var/run/dbus/pid
rm /usr/local/var/run/messagebus.pid
rm -rf /usr/local/var/lib/bluetooth/*
rm -rf /usr/local/var/lib/dbus/machine-id
bin/dbus-launch --exit-with-session
bin/dbus-uuidgen --ensure
bin/dbus-daemon --system
bin/dbus-daemon --session &
########cd lib
######## ln -s libxml2.so.2.6.30 libxml2.so.2
######## ln -s libdbus-1.so.3.4.0 libdbus-1.so.3
######## ln -s libglib-2.0.so.0.1800.1 libglib-2.0.so.0
######## ln -s libasound.so.2.0.0 libasound.so.2
########cd ..

在顶层目录下,建立 .asoundrc这个文件,如下:
pcm.headset {
type bluetooth
device "09:12:15:01:03:86"
profile "audio"
}

sbin/hciattach /dev/ttySP0 bcm2048
sbin/hciattach_115200 /dev/ttySP0 bcm2048 (OK),改了波特率之后断电重启板子,不能reboot
sbin/hciattach_460800 /dev/ttySP0 bcm2048 (OK)
sbin/hciattach_921600 /dev/ttySP0 bcm2048 (OK)
sbin/hciconfig hci0 up
sbin/bluetoothd -n -d &
sbin/hciconfig -a
bin/hcitool dev
bin/hcitool scan(耳机在配对模式)
#########bin/sdptool add --channel=1 DID SP DUN LAN FAX OPUSH FTP HS HF SAP NAP GN PANU HID CIP CTP A2SRC A2SNK SYNCML NOKID PCSUITE SR1
#########bin/sdptool browse 09:12:15:01:03:86
hcitool cc 09:12:15:01:03:86
aplay -D headset ../test.wav (中途停掉有问题)
aplay -D headset ../input.wav

./mplayer ../xiangni.mp3 -ao alsa:device=headset
./mplayer ../input.wav -ao alsa:device=headset
./mplayer ../test.wav -ao alsa:device=headset
./mplayer ../dutangsi.wma -ao alsa:device=headset

相关主题