ユーザ用ツール

サイト用ツール


mae3xx_tips:use_sensortag:start

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mae3xx_tips:use_sensortag:start [2015/07/16 18:03]
コンサルティンググループ
mae3xx_tips:use_sensortag:start [2015/07/16 18:12] (現在)
コンサルティンググループ
ライン 1: ライン 1:
 +====== Sensor Tag を使う(Bluetooth Low Energy/BLE 接続) ======
 +
 +===== Bluez のインストール =====
 +
 +MA-E300シリーズにBluetoothのプロトコルスタックであるBluezをインストールします。
 +
 +Bluez
 +http://​www.bluez.org/​
 +
 +まずは、ダウンロード。
 +<​code>​
 +root@plum:/​usr/​local/​src#​ wget http://​www.kernel.org/​pub/​linux/​bluetooth/​bluez-5.32.tar.xz
 +--2015-07-16 16:​24:​07-- ​ http://​www.kernel.org/​pub/​linux/​bluetooth/​bluez-5.32.tar.xz
 +Resolving www.kernel.org (www.kernel.org)... 198.145.20.140,​ 149.20.4.69,​ 199.204.44.194,​ ...
 +Connecting to www.kernel.org (www.kernel.org)|198.145.20.140|:​80... connected.
 +HTTP request sent, awaiting response... 301 Moved Permanently
 +Location: https://​www.kernel.org/​pub/​linux/​bluetooth/​bluez-5.32.tar.xz [following]
 +--2015-07-16 16:​24:​07-- ​ https://​www.kernel.org/​pub/​linux/​bluetooth/​bluez-5.32.tar.xz
 +Connecting to www.kernel.org (www.kernel.org)|198.145.20.140|:​443... connected.
 +HTTP request sent, awaiting response... 200 OK
 +Length: 1634844 (1.6M) [application/​x-xz]
 +Saving to: '​bluez-5.32.tar.xz'​
 +
 +100%[======================================>​] 1,​634,​844 ​  ​1.34MB/​s ​  in 1.2s
 +
 +2015-07-16 16:24:09 (1.34 MB/s) - '​bluez-5.32.tar.xz'​ saved [1634844/​1634844]
 +</​code>​
 +
 +展開とコンパイル。
 +<​code>​
 +root@plum:/​usr/​local/​src#​ tar Jxf bluez-5.32.tar.xz
 +root@plum:/​usr/​local/​src#​ cd bluez-5.32/
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ ./configure
 +checking for a BSD-compatible install... /​usr/​bin/​install -c
 +checking whether build environment is sane... yes
 +checking for a thread-safe mkdir -p... /bin/mkdir -p
 +checking for gawk... no
 +checking for mawk... mawk
 +checking whether make sets $(MAKE)... yes
 +checking whether make supports nested variables... yes
 +checking how to create a pax tar archive... gnutar
 +checking for style of include used by make... GNU
 +checking for gcc... gcc
 +checking whether the C compiler works... yes
 +checking for C compiler default output file name... a.out
 +checking for suffix of executables...
 +checking whether we are cross compiling... no
 +checking for suffix of object files... o
 +checking whether we are using the GNU C compiler... yes
 +checking whether gcc accepts -g... yes
 +checking for gcc option to accept ISO C89... none needed
 +checking whether gcc understands -c and -o together... yes
 +checking dependency style of gcc... gcc3
 +checking how to run the C preprocessor... gcc -E
 +checking for grep that handles long lines and -e... /bin/grep
 +checking for egrep... /bin/grep -E
 +checking for ANSI C header files... yes
 +checking for sys/​types.h... yes
 +checking for sys/​stat.h... yes
 +checking for stdlib.h... yes
 +checking for string.h... yes
 +checking for memory.h... yes
 +checking for strings.h... yes
 +checking for inttypes.h... yes
 +checking for stdint.h... yes
 +checking for unistd.h... yes
 +checking minix/​config.h usability... no
 +checking minix/​config.h presence... no
 +checking for minix/​config.h... no
 +checking whether it is safe to define __EXTENSIONS__... yes
 +checking whether make supports nested variables... (cached) yes
 +checking whether to enable maintainer-specific portions of Makefiles... no
 +checking for pkg-config... no
 +checking for C/C++ restrict keyword... __restrict
 +checking for gcc... (cached) gcc
 +checking whether we are using the GNU C compiler... (cached) yes
 +checking whether gcc accepts -g... (cached) yes
 +checking for gcc option to accept ISO C89... (cached) none needed
 +checking whether gcc understands -c and -o together... (cached) yes
 +checking dependency style of gcc... (cached) gcc3
 +checking whether gcc accepts -fPIE... yes
 +checking build system type... armv7l-unknown-linux-gnueabihf
 +checking host system type... armv7l-unknown-linux-gnueabihf
 +checking how to print strings... printf
 +checking for a sed that does not truncate output... /bin/sed
 +checking for fgrep... /bin/grep -F
 +checking for ld used by gcc... /usr/bin/ld
 +checking if the linker (/​usr/​bin/​ld) is GNU ld... yes
 +checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
 +checking the name lister (/​usr/​bin/​nm -B) interface... BSD nm
 +checking whether ln -s works... yes
 +checking the maximum length of command line arguments... 1572864
 +checking whether the shell understands some XSI constructs... yes
 +checking whether the shell understands "​+="​... yes
 +checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop
 +checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
 +checking for /usr/bin/ld option to reload object files... -r
 +checking for objdump... objdump
 +checking how to recognize dependent libraries... pass_all
 +checking for dlltool... no
 +checking how to associate runtime and link libraries... printf %s\n
 +checking for ar... ar
 +checking for archiver @FILE support... @
 +checking for strip... strip
 +checking for ranlib... ranlib
 +checking command to parse /usr/bin/nm -B output from gcc object... ok
 +checking for sysroot... no
 +checking for mt... mt
 +checking if mt is a manifest tool... no
 +checking for dlfcn.h... yes
 +checking for objdir... .libs
 +checking if gcc supports -fno-rtti -fno-exceptions... no
 +checking for gcc option to produce PIC... -fPIC -DPIC
 +checking if gcc PIC flag -fPIC -DPIC works... yes
 +checking if gcc static flag -static works... yes
 +checking if gcc supports -c -o file.o... yes
 +checking if gcc supports -c -o file.o... (cached) yes
 +checking whether the gcc linker (/​usr/​bin/​ld) supports shared libraries... yes
 +checking whether -lc should be explicitly linked in... no
 +checking dynamic linker characteristics... GNU/Linux ld.so
 +checking how to hardcode library paths into programs... immediate
 +checking whether stripping libraries is possible... yes
 +checking if libtool supports shared libraries... yes
 +checking whether to build shared libraries... yes
 +checking whether to build static libraries... no
 +checking for signalfd... yes
 +checking for clock_gettime in -lrt... yes
 +checking for pthread_create in -lpthread... yes
 +checking for dlopen in -ldl... yes
 +checking linux/​types.h usability... yes
 +checking linux/​types.h presence... yes
 +checking for linux/​types.h... yes
 +checking linux/​if_alg.h usability... yes
 +checking linux/​if_alg.h presence... yes
 +checking for linux/​if_alg.h... yes
 +checking for GLIB... no
 +configure: error: GLib >= 2.28 is required
 +</​code>​
 +
 +Glib のバージョンが低いとひっかかりました。
 +ひっかかったライブラリを apt-get でインストールします。
 +<​code>​
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ apt-get install -y libglib2.0-dev
 +Reading package lists... Done
 +Building dependency tree
 +Reading state information... Done
 +(SNIP)
 +
 +Total disk space freed by localepurge:​ 0 KiB
 +
 +</​code>​
 +
 +再び configure を実行。
 +
 +<​code>​
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ ./configure
 +(SNIP)
 +checking for GLIB... yes
 +checking for DBUS... no
 +configure: error: D-Bus >= 1.6 is required
 +</​code>​
 +
 +ひかかったところをアップデートしつつ進めていきます。
 +
 +最終的な apt-get コマンドは以下の通り。
 +<​code>​
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ apt-get install -y libglib2.0-dev libdbus-1-dev libudev-dev libical-dev libreadline-dev
 +</​code>​
 +
 +そして ./configure (にオプションをつけて)を実行。
 +
 +<​code>​
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ ./configure --disable-systemd
 +checking for a BSD-compatible install... /​usr/​bin/​install -c
 +checking whether build environment is sane... yes
 +checking for a thread-safe mkdir -p... /bin/mkdir -p
 +checking for gawk... no
 +checking for mawk... mawk
 +checking whether make sets $(MAKE)... yes
 +checking whether make supports nested variables... yes
 +checking how to create a pax tar archive... gnutar
 +checking for style of include used by make... GNU
 +checking for gcc... gcc
 +checking whether the C compiler works... yes
 +checking for C compiler default output file name... a.out
 +checking for suffix of executables...
 +checking whether we are cross compiling... no
 +checking for suffix of object files... o
 +checking whether we are using the GNU C compiler... yes
 +checking whether gcc accepts -g... yes
 +checking for gcc option to accept ISO C89... none needed
 +checking whether gcc understands -c and -o together... yes
 +checking dependency style of gcc... gcc3
 +checking how to run the C preprocessor... gcc -E
 +checking for grep that handles long lines and -e... /bin/grep
 +checking for egrep... /bin/grep -E
 +checking for ANSI C header files... yes
 +checking for sys/​types.h... yes
 +checking for sys/​stat.h... yes
 +checking for stdlib.h... yes
 +checking for string.h... yes
 +checking for memory.h... yes
 +checking for strings.h... yes
 +checking for inttypes.h... yes
 +checking for stdint.h... yes
 +checking for unistd.h... yes
 +checking minix/​config.h usability... no
 +checking minix/​config.h presence... no
 +checking for minix/​config.h... no
 +checking whether it is safe to define __EXTENSIONS__... yes
 +checking whether make supports nested variables... (cached) yes
 +checking whether to enable maintainer-specific portions of Makefiles... no
 +checking for pkg-config... /​usr/​bin/​pkg-config
 +checking pkg-config is at least version 0.9.0... yes
 +checking for C/C++ restrict keyword... __restrict
 +checking for gcc... (cached) gcc
 +checking whether we are using the GNU C compiler... (cached) yes
 +checking whether gcc accepts -g... (cached) yes
 +checking for gcc option to accept ISO C89... (cached) none needed
 +checking whether gcc understands -c and -o together... (cached) yes
 +checking dependency style of gcc... (cached) gcc3
 +checking whether gcc accepts -fPIE... yes
 +checking build system type... armv7l-unknown-linux-gnueabihf
 +checking host system type... armv7l-unknown-linux-gnueabihf
 +checking how to print strings... printf
 +checking for a sed that does not truncate output... /bin/sed
 +checking for fgrep... /bin/grep -F
 +checking for ld used by gcc... /usr/bin/ld
 +checking if the linker (/​usr/​bin/​ld) is GNU ld... yes
 +checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
 +checking the name lister (/​usr/​bin/​nm -B) interface... BSD nm
 +checking whether ln -s works... yes
 +checking the maximum length of command line arguments... 1572864
 +checking whether the shell understands some XSI constructs... yes
 +checking whether the shell understands "​+="​... yes
 +checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop
 +checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
 +checking for /usr/bin/ld option to reload object files... -r
 +checking for objdump... objdump
 +checking how to recognize dependent libraries... pass_all
 +checking for dlltool... no
 +checking how to associate runtime and link libraries... printf %s\n
 +checking for ar... ar
 +checking for archiver @FILE support... @
 +checking for strip... strip
 +checking for ranlib... ranlib
 +checking command to parse /usr/bin/nm -B output from gcc object... ok
 +checking for sysroot... no
 +checking for mt... mt
 +checking if mt is a manifest tool... no
 +checking for dlfcn.h... yes
 +checking for objdir... .libs
 +checking if gcc supports -fno-rtti -fno-exceptions... no
 +checking for gcc option to produce PIC... -fPIC -DPIC
 +checking if gcc PIC flag -fPIC -DPIC works... yes
 +checking if gcc static flag -static works... yes
 +checking if gcc supports -c -o file.o... yes
 +checking if gcc supports -c -o file.o... (cached) yes
 +checking whether the gcc linker (/​usr/​bin/​ld) supports shared libraries... yes
 +checking whether -lc should be explicitly linked in... no
 +checking dynamic linker characteristics... GNU/Linux ld.so
 +checking how to hardcode library paths into programs... immediate
 +checking whether stripping libraries is possible... yes
 +checking if libtool supports shared libraries... yes
 +checking whether to build shared libraries... yes
 +checking whether to build static libraries... no
 +checking for signalfd... yes
 +checking for clock_gettime in -lrt... yes
 +checking for pthread_create in -lpthread... yes
 +checking for dlopen in -ldl... yes
 +checking linux/​types.h usability... yes
 +checking linux/​types.h presence... yes
 +checking for linux/​types.h... yes
 +checking linux/​if_alg.h usability... yes
 +checking linux/​if_alg.h presence... yes
 +checking for linux/​if_alg.h... yes
 +checking for GLIB... yes
 +checking for DBUS... yes
 +checking D-Bus configuration directory... /etc
 +checking D-Bus system bus services dir... /​usr/​share/​dbus-1/​system-services
 +checking D-Bus session bus services dir... /​usr/​share/​dbus-1/​services
 +checking for UDEV... yes
 +checking for udev_hwdb_new in -ludev... yes
 +checking udev directory... /lib/udev
 +checking for ICAL... yes
 +checking readline/​readline.h usability... yes
 +checking readline/​readline.h presence... yes
 +checking for readline/​readline.h... yes
 +checking that generated files are newer than configure... done
 +configure: creating ./​config.status
 +config.status:​ creating Makefile
 +config.status:​ creating src/​bluetoothd.8
 +config.status:​ creating lib/​bluez.pc
 +config.status:​ creating config.h
 +config.status:​ executing depfiles commands
 +config.status:​ executing libtool commands
 +</​code>​
 +
 +コンパイルとインストール。
 +
 +<​code>​
 +root@plum:/​usr/​local/​src/​bluez-5.32#​ make && make install
 +  GEN      lib/​bluetooth/​bluetooth.h
 +  GEN      lib/​bluetooth/​hci.h
 +  GEN      lib/​bluetooth/​hci_lib.h
 +  GEN      lib/​bluetooth/​sco.h
 +  GEN      lib/​bluetooth/​l2cap.h
 +  GEN      lib/​bluetooth/​sdp.h
 +  GEN      lib/​bluetooth/​sdp_lib.h
 +  GEN      lib/​bluetooth/​rfcomm.h
 +  GEN      lib/​bluetooth/​bnep.h
 +  GEN      lib/​bluetooth/​cmtp.h
 +  GEN      lib/​bluetooth/​hidp.h
 +  GEN      src/​builtin.h
 +  GEN      obexd/​src/​builtin.h
 +  CC       ​lib/​bluetooth.lo
 +  CC       ​lib/​hci.lo
 +  CC       ​lib/​sdp.lo
 +  CC       ​lib/​uuid.lo
 +  CCLD     ​lib/​libbluetooth-internal.la
 +  CC       ​gdbus/​mainloop.lo
 +  CC       ​gdbus/​watch.lo
 +  CC       ​gdbus/​object.lo
 +  CC       ​gdbus/​client.lo
 +  CC       ​gdbus/​polkit.lo
 +  CCLD     ​gdbus/​libgdbus-internal.la
 +  CC       ​src/​shared/​queue.lo
 +  CC       ​src/​shared/​util.lo
 +  CC       ​src/​shared/​mgmt.lo
 +  CC       ​src/​shared/​crypto.lo
 +  CC       ​src/​shared/​ecc.lo
 +  CC       ​src/​shared/​ringbuf.lo
 +  CC       ​src/​shared/​tester.lo
 +  CC       ​src/​shared/​hci.lo
 +  CC       ​src/​shared/​hci-crypto.lo
 +  CC       ​src/​shared/​hfp.lo
 +  CC       ​src/​shared/​uhid.lo
 +  CC       ​src/​shared/​pcap.lo
 +  CC       ​src/​shared/​btsnoop.lo
 +  CC       ​src/​shared/​ad.lo
 +  CC       ​src/​shared/​att.lo
 +  CC       ​src/​shared/​gatt-helpers.lo
 +  CC       ​src/​shared/​gatt-client.lo
 +  CC       ​src/​shared/​gatt-server.lo
 +  CC       ​src/​shared/​gatt-db.lo
 +  CC       ​src/​shared/​gap.lo
 +  CC       ​src/​shared/​io-glib.lo
 +  CC       ​src/​shared/​timeout-glib.lo
 +  CCLD     ​src/​libshared-glib.la
 +  CC       ​src/​shared/​io-mainloop.lo
 +  CC       ​src/​shared/​timeout-mainloop.lo
 +  CC       ​src/​shared/​mainloop.lo
 +  CCLD     ​src/​libshared-mainloop.la
 +  CC       ​client/​main.o
 +  CC       ​client/​display.o
 +  CC       ​client/​agent.o
 +  CC       ​client/​gatt.o
 +  CC       ​monitor/​uuid.o
 +  CCLD     ​client/​bluetoothctl
 +  CC       ​monitor/​main.o
 +  CC       ​monitor/​display.o
 +  CC       ​monitor/​hcidump.o
 +  CC       ​monitor/​ellisys.o
 +  CC       ​monitor/​control.o
 +  CC       ​monitor/​packet.o
 +  CC       ​monitor/​vendor.o
 +  CC       ​monitor/​lmp.o
 +  CC       ​monitor/​crc.o
 +  CC       ​monitor/​ll.o
 +  CC       ​monitor/​l2cap.o
 +  CC       ​monitor/​sdp.o
 +  CC       ​monitor/​avctp.o
 +  CC       ​monitor/​rfcomm.o
 +  CC       ​monitor/​bnep.o
 +  CC       ​monitor/​hwdb.o
 +  CC       ​monitor/​keys.o
 +  CC       ​monitor/​analyze.o
 +  CCLD     ​monitor/​btmon
 +  CC       ​tools/​hciattach.o
 +  CC       ​tools/​hciattach_st.o
 +  CC       ​tools/​hciattach_ti.o
 +  CC       ​tools/​hciattach_tialt.o
 +  CC       ​tools/​hciattach_ath3k.o
 +  CC       ​tools/​hciattach_qualcomm.o
 +  CC       ​tools/​hciattach_intel.o
 +  CC       ​tools/​hciattach_bcm43xx.o
 +  CCLD     ​tools/​hciattach
 +  CC       ​tools/​hciconfig.o
 +  CC       ​tools/​csr.o
 +  CCLD     ​tools/​hciconfig
 +  CC       ​tools/​hcitool.o
 +  CC       ​src/​oui.o
 +  CCLD     ​tools/​hcitool
 +  CC       ​tools/​hcidump.o
 +  CC       ​tools/​parser/​parser.o
 +  CC       ​tools/​parser/​lmp.o
 +  CC       ​tools/​parser/​hci.o
 +  CC       ​tools/​parser/​l2cap.o
 +  CC       ​tools/​parser/​amp.o
 +  CC       ​tools/​parser/​smp.o
 +  CC       ​tools/​parser/​att.o
 +  CC       ​tools/​parser/​sdp.o
 +  CC       ​tools/​parser/​rfcomm.o
 +  CC       ​tools/​parser/​bnep.o
 +  CC       ​tools/​parser/​cmtp.o
 +  CC       ​tools/​parser/​hidp.o
 +  CC       ​tools/​parser/​hcrp.o
 +  CC       ​tools/​parser/​avdtp.o
 +  CC       ​tools/​parser/​avctp.o
 +  CC       ​tools/​parser/​avrcp.o
 +  CC       ​tools/​parser/​sap.o
 +  CC       ​tools/​parser/​obex.o
 +  CC       ​tools/​parser/​capi.o
 +  CC       ​tools/​parser/​ppp.o
 +  CC       ​tools/​parser/​tcpip.o
 +  CC       ​tools/​parser/​ericsson.o
 +  CC       ​tools/​parser/​csr.o
 +  CC       ​tools/​parser/​bpa.o
 +  CCLD     ​tools/​hcidump
 +  CC       ​tools/​rfcomm.o
 +  CCLD     ​tools/​rfcomm
 +  CC       ​tools/​rctest.o
 +  CCLD     ​tools/​rctest
 +  CC       ​tools/​l2test.o
 +  CCLD     ​tools/​l2test
 +  CC       ​tools/​l2ping.o
 +  CCLD     ​tools/​l2ping
 +  CC       ​tools/​sdptool.o
 +  CC       ​src/​sdp-xml.o
 +  CCLD     ​tools/​sdptool
 +  CC       ​tools/​ciptool.o
 +  CCLD     ​tools/​ciptool
 +  CC       ​tools/​bccmd.o
 +  CC       ​tools/​csr_hci.o
 +  CC       ​tools/​csr_usb.o
 +  CC       ​tools/​csr_h4.o
 +  CC       ​tools/​csr_3wire.o
 +  CC       ​tools/​csr_bcsp.o
 +  CC       ​tools/​ubcsp.o
 +  CCLD     ​tools/​bccmd
 +  CC       ​tools/​bluemoon.o
 +  CCLD     ​tools/​bluemoon
 +  CC       ​tools/​hex2hcd.o
 +  CCLD     ​tools/​hex2hcd
 +  CC       ​tools/​mpris-proxy.o
 +  CCLD     ​tools/​mpris-proxy
 +  CC       ​profiles/​cups/​main.o
 +  CC       ​profiles/​cups/​sdp.o
 +  CC       ​profiles/​cups/​spp.o
 +  CC       ​profiles/​cups/​hcrp.o
 +  CCLD     ​profiles/​cups/​bluetooth
 +  CC       ​plugins/​bluetoothd-hostname.o
 +  CC       ​plugins/​bluetoothd-wiimote.o
 +  CC       ​plugins/​bluetoothd-autopair.o
 +  CC       ​plugins/​bluetoothd-policy.o
 +  CC       ​profiles/​audio/​bluetoothd-source.o
 +  CC       ​profiles/​audio/​bluetoothd-sink.o
 +  CC       ​profiles/​audio/​bluetoothd-a2dp.o
 +  CC       ​profiles/​audio/​bluetoothd-avdtp.o
 +  CC       ​profiles/​audio/​bluetoothd-media.o
 +  CC       ​profiles/​audio/​bluetoothd-transport.o
 +  CC       ​profiles/​audio/​bluetoothd-control.o
 +  CC       ​profiles/​audio/​bluetoothd-avctp.o
 +  CC       ​profiles/​audio/​bluetoothd-avrcp.o
 +  CC       ​profiles/​audio/​bluetoothd-player.o
 +  CC       ​profiles/​network/​bluetoothd-manager.o
 +  CC       ​profiles/​network/​bluetoothd-bnep.o
 +  CC       ​profiles/​network/​bluetoothd-server.o
 +  CC       ​profiles/​network/​bluetoothd-connection.o
 +  CC       ​profiles/​input/​bluetoothd-manager.o
 +  CC       ​profiles/​input/​bluetoothd-server.o
 +  CC       ​profiles/​input/​bluetoothd-device.o
 +  CC       ​profiles/​input/​bluetoothd-hog.o
 +  CC       ​profiles/​input/​bluetoothd-suspend-none.o
 +  CC       ​profiles/​gap/​bluetoothd-gas.o
 +  CC       ​profiles/​scanparam/​bluetoothd-scan.o
 +  CC       ​profiles/​deviceinfo/​bluetoothd-deviceinfo.o
 +  CC       ​attrib/​bluetoothd-att.o
 +  CC       ​attrib/​bluetoothd-gatt.o
 +  CC       ​attrib/​bluetoothd-gattrib.o
 +  CC       ​attrib/​bluetoothd-gatt-service.o
 +  CC       ​btio/​bluetoothd-btio.o
 +  CC       ​src/​bluetoothd-main.o
 +  CC       ​src/​bluetoothd-log.o
 +  CC       ​src/​bluetoothd-systemd.o
 +  CC       ​src/​bluetoothd-rfkill.o
 +  CC       ​src/​bluetoothd-sdpd-server.o
 +  CC       ​src/​bluetoothd-sdpd-request.o
 +  CC       ​src/​bluetoothd-sdpd-service.o
 +  CC       ​src/​bluetoothd-sdpd-database.o
 +  CC       ​src/​bluetoothd-attrib-server.o
 +  CC       ​src/​bluetoothd-gatt-database.o
 +  CC       ​src/​bluetoothd-sdp-xml.o
 +  CC       ​src/​bluetoothd-sdp-client.o
 +  CC       ​src/​bluetoothd-textfile.o
 +  CC       ​src/​bluetoothd-uuid-helper.o
 +  CC       ​src/​bluetoothd-plugin.o
 +  CC       ​src/​bluetoothd-storage.o
 +  CC       ​src/​bluetoothd-advertising.o
 +  CC       ​src/​bluetoothd-agent.o
 +  CC       ​src/​bluetoothd-error.o
 +  CC       ​src/​bluetoothd-adapter.o
 +  CC       ​src/​bluetoothd-profile.o
 +  CC       ​src/​bluetoothd-service.o
 +  CC       ​src/​bluetoothd-gatt-client.o
 +  CC       ​src/​bluetoothd-device.o
 +  CC       ​src/​bluetoothd-dbus-common.o
 +  CC       ​src/​bluetoothd-eir.o
 +  GEN      src/​bluetooth.service
 +  CCLD     ​src/​bluetoothd
 +  CC       ​btio/​obexd-btio.o
 +  CC       ​gobex/​obexd-gobex.o
 +  CC       ​gobex/​obexd-gobex-defs.o
 +  CC       ​gobex/​obexd-gobex-packet.o
 +  CC       ​gobex/​obexd-gobex-header.o
 +  CC       ​gobex/​obexd-gobex-transfer.o
 +  CC       ​gobex/​obexd-gobex-apparam.o
 +  CC       ​obexd/​plugins/​obexd-filesystem.o
 +  CC       ​obexd/​plugins/​obexd-bluetooth.o
 +  CC       ​obexd/​plugins/​obexd-opp.o
 +  CC       ​obexd/​plugins/​obexd-ftp.o
 +  CC       ​obexd/​plugins/​obexd-irmc.o
 +  CC       ​obexd/​plugins/​obexd-pbap.o
 +  CC       ​obexd/​plugins/​obexd-vcard.o
 +  CC       ​obexd/​plugins/​obexd-phonebook-dummy.o
 +  CC       ​obexd/​plugins/​obexd-mas.o
 +  CC       ​obexd/​plugins/​obexd-messages-dummy.o
 +  CC       ​obexd/​client/​obexd-mns.o
 +  CC       ​obexd/​src/​obexd-main.o
 +  CC       ​obexd/​src/​obexd-plugin.o
 +  CC       ​obexd/​src/​obexd-log.o
 +  CC       ​obexd/​src/​obexd-manager.o
 +  CC       ​obexd/​src/​obexd-obex.o
 +  CC       ​obexd/​src/​obexd-mimetype.o
 +  CC       ​obexd/​src/​obexd-service.o
 +  CC       ​obexd/​src/​obexd-transport.o
 +  CC       ​obexd/​src/​obexd-server.o
 +  CC       ​obexd/​client/​obexd-manager.o
 +  CC       ​obexd/​client/​obexd-session.o
 +  CC       ​obexd/​client/​obexd-bluetooth.o
 +  CC       ​obexd/​client/​obexd-sync.o
 +  CC       ​obexd/​client/​obexd-pbap.o
 +  CC       ​obexd/​client/​obexd-ftp.o
 +  CC       ​obexd/​client/​obexd-opp.o
 +  CC       ​obexd/​client/​obexd-map.o
 +  CC       ​obexd/​client/​obexd-map-event.o
 +  CC       ​obexd/​client/​obexd-transfer.o
 +  CC       ​obexd/​client/​obexd-transport.o
 +  CC       ​obexd/​client/​obexd-dbus.o
 +  CC       ​obexd/​client/​obexd-driver.o
 +  CCLD     ​obexd/​src/​obexd
 +  CC       ​attrib/​gatttool.o
 +  CC       ​attrib/​att.o
 +  CC       ​attrib/​gatt.o
 +  CC       ​attrib/​gattrib.o
 +  CC       ​btio/​btio.o
 +  CC       ​attrib/​interactive.o
 +  CC       ​attrib/​utils.o
 +  CC       ​src/​log.o
 +  CCLD     ​attrib/​gatttool
 +  CC       ​gobex/​gobex.o
 +  CC       ​gobex/​gobex-defs.o
 +  CC       ​gobex/​gobex-packet.o
 +  CC       ​gobex/​gobex-header.o
 +  CC       ​gobex/​gobex-transfer.o
 +  CC       ​gobex/​gobex-apparam.o
 +  CC       ​tools/​obex-client-tool.o
 +  CCLD     ​tools/​obex-client-tool
 +  CC       ​tools/​obex-server-tool.o
 +  CCLD     ​tools/​obex-server-tool
 +  CC       ​tools/​bluetooth-player.o
 +  CCLD     ​tools/​bluetooth-player
 +  CC       ​tools/​obexctl.o
 +  CCLD     ​tools/​obexctl
 +  CC       ​tools/​hid2hci.o
 +  CCLD     ​tools/​hid2hci
 +  GEN      tools/​97-hid2hci.rules
 +make --no-print-directory install-am
 + /​bin/​mkdir -p '/​usr/​local/​bin'​
 +  /bin/bash ./​libtool ​  ​--mode=install /​usr/​bin/​install -c client/​bluetoothctl monitor/​btmon tools/​hciattach tools/​hciconfig tools/​hcitool tools/​hcidump tools/​rfcomm tools/​rctest tools/​l2test tools/​l2ping tools/​sdptool tools/​ciptool tools/bccmd tools/​bluemoon tools/​hex2hcd tools/​mpris-proxy '/​usr/​local/​bin'​
 +libtool: install: /​usr/​bin/​install -c client/​bluetoothctl /​usr/​local/​bin/​bluetoothctl
 +libtool: install: /​usr/​bin/​install -c monitor/​btmon /​usr/​local/​bin/​btmon
 +libtool: install: /​usr/​bin/​install -c tools/​hciattach /​usr/​local/​bin/​hciattach
 +libtool: install: /​usr/​bin/​install -c tools/​hciconfig /​usr/​local/​bin/​hciconfig
 +libtool: install: /​usr/​bin/​install -c tools/​hcitool /​usr/​local/​bin/​hcitool
 +libtool: install: /​usr/​bin/​install -c tools/​hcidump /​usr/​local/​bin/​hcidump
 +libtool: install: /​usr/​bin/​install -c tools/​rfcomm /​usr/​local/​bin/​rfcomm
 +libtool: install: /​usr/​bin/​install -c tools/​rctest /​usr/​local/​bin/​rctest
 +libtool: install: /​usr/​bin/​install -c tools/​l2test /​usr/​local/​bin/​l2test
 +libtool: install: /​usr/​bin/​install -c tools/​l2ping /​usr/​local/​bin/​l2ping
 +libtool: install: /​usr/​bin/​install -c tools/​sdptool /​usr/​local/​bin/​sdptool
 +libtool: install: /​usr/​bin/​install -c tools/​ciptool /​usr/​local/​bin/​ciptool
 +libtool: install: /​usr/​bin/​install -c tools/bccmd /​usr/​local/​bin/​bccmd
 +libtool: install: /​usr/​bin/​install -c tools/​bluemoon /​usr/​local/​bin/​bluemoon
 +libtool: install: /​usr/​bin/​install -c tools/​hex2hcd /​usr/​local/​bin/​hex2hcd
 +libtool: install: /​usr/​bin/​install -c tools/​mpris-proxy /​usr/​local/​bin/​mpris-proxy
 + /​bin/​mkdir -p '/​usr/​local/​libexec/​bluetooth'​
 +  /bin/bash ./​libtool ​  ​--mode=install /​usr/​bin/​install -c src/​bluetoothd obexd/​src/​obexd '/​usr/​local/​libexec/​bluetooth'​
 +libtool: install: /​usr/​bin/​install -c src/​bluetoothd /​usr/​local/​libexec/​bluetooth/​bluetoothd
 +libtool: install: /​usr/​bin/​install -c obexd/​src/​obexd /​usr/​local/​libexec/​bluetooth/​obexd
 + /​bin/​mkdir -p '/​usr/​local/​lib/​cups/​backend'​
 +  /bin/bash ./​libtool ​  ​--mode=install /​usr/​bin/​install -c profiles/​cups/​bluetooth '/​usr/​local/​lib/​cups/​backend'​
 +libtool: install: /​usr/​bin/​install -c profiles/​cups/​bluetooth /​usr/​local/​lib/​cups/​backend/​bluetooth
 + /​bin/​mkdir -p '/​etc/​dbus-1/​system.d'​
 + /​usr/​bin/​install -c -m 644 src/​bluetooth.conf '/​etc/​dbus-1/​system.d'​
 + /​bin/​mkdir -p '/​usr/​local/​share/​man/​man1'​
 + /​usr/​bin/​install -c -m 644 tools/​hciattach.1 tools/​hciconfig.1 tools/​hcitool.1 tools/​hcidump.1 tools/​rfcomm.1 tools/​rctest.1 tools/​l2ping.1 tools/​sdptool.1 tools/​ciptool.1 tools/​bccmd.1 tools/​hid2hci.1 '/​usr/​local/​share/​man/​man1'​
 + /​bin/​mkdir -p '/​usr/​local/​share/​man/​man8'​
 + /​usr/​bin/​install -c -m 644 src/​bluetoothd.8 '/​usr/​local/​share/​man/​man8'​
 + /​bin/​mkdir -p '/​lib/​udev/​rules.d'​
 + /​usr/​bin/​install -c -m 644 tools/​97-hid2hci.rules '/​lib/​udev/​rules.d'​
 + /​bin/​mkdir -p '/​lib/​udev'​
 +  /bin/bash ./​libtool ​  ​--mode=install /​usr/​bin/​install -c tools/​hid2hci '/​lib/​udev'​
 +libtool: install: /​usr/​bin/​install -c tools/​hid2hci /​lib/​udev/​hid2hci
 +</​code>​
 +
 +これで Bluez のインストールは完了しました。
 +
 +===== Bluetooth アダプタの挿入 =====
 +
 +実際に、Bluetooth アダプタを MA-E300 に指して動くかどうか確認してみましょう。
 +今回は、Buffalo製の BSBT4D09BK を使用しました。
 +
 +MA-E300に挿入したら下記コマンドで確認します。
 +
 +<​code>​
 +root@plum:​~#​ lsusb
 +Bus 002 Device 003: ID 0482:0848 Kyocera Corp.
 +Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 +Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
 +Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 +
 +root@plum:​~#​ hcitool dev
 +Devices:
 +        hci0    00:​1B:​DC:​06:​C8:​1D
 +</​code>​
 +
 +周りの Bluetooth アダプタを探してみましょう。
 +このコマンドは、Cntl+C を押すまで止まりません。
 +<​code>​
 +root@plum:​~#​ hcitool lescan
 +LE Scan ...
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +44:​13:​19:​07:​19:​E2 (unknown)
 +...
 +</​code>​
 +
 +===== Sensor Tag との接続 =====
 +
 +今度は、Sensor Tag の横のスイッチを押してから同様に探してみます。
 +
 +<​code>​
 +root@plum:​~#​ hcitool lescan
 +LE Scan ...
 +44:​13:​19:​07:​19:​E2 (unknown)
 +B4:​99:​4C:​64:​10:​D6 (unknown)
 +B4:​99:​4C:​64:​10:​D6 SensorTag
 +44:​13:​19:​07:​19:​E2 (unknown)
 +B4:​99:​4C:​64:​10:​D6 (unknown)
 +B4:​99:​4C:​64:​10:​D6 SensorTag
 +44:​13:​19:​07:​19:​E2 (unknown)
 +B4:​99:​4C:​64:​10:​D6 (unknown)
 +B4:​99:​4C:​64:​10:​D6 SensorTag
 +B4:​99:​4C:​64:​10:​D6 (unknown)
 +B4:​99:​4C:​64:​10:​D6 SensorTag
 +44:​13:​19:​07:​19:​E2 (unknown)
 +...
 +</​code>​
 +
 +Sensor Tag を見つけられました。
 +
 +今度は、Sensor Tag からデータを取得してみましょう。
 +データの取得には、gatttoolというツールを利用します。
 +
 +<​code>​
 +root@plum:​~#​ gatttool -b B4:​99:​4C:​64:​10:​D6 ​ --primary
 +attr handle = 0x0001, end grp handle = 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
 +attr handle = 0x000c, end grp handle = 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
 +attr handle = 0x0010, end grp handle = 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
 +attr handle = 0x0023, end grp handle = 0x002d uuid: f000aa00-0451-4000-b000-000000000000
 +attr handle = 0x002e, end grp handle = 0x0038 uuid: f000aa10-0451-4000-b000-000000000000
 +attr handle = 0x0039, end grp handle = 0x0043 uuid: f000aa20-0451-4000-b000-000000000000
 +attr handle = 0x0044, end grp handle = 0x004e uuid: f000aa30-0451-4000-b000-000000000000
 +attr handle = 0x004f, end grp handle = 0x005d uuid: f000aa40-0451-4000-b000-000000000000
 +attr handle = 0x005e, end grp handle = 0x0068 uuid: f000aa50-0451-4000-b000-000000000000
 +attr handle = 0x0069, end grp handle = 0x006d uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
 +attr handle = 0x006e, end grp handle = 0x0074 uuid: f000aa60-0451-4000-b000-000000000000
 +attr handle = 0x0075, end grp handle = 0x007f uuid: f000ccc0-0451-4000-b000-000000000000
 +attr handle = 0x0080, end grp handle = 0xffff uuid: f000ffc0-0451-4000-b000-000000000000
 +</​code>​
 +
 +<​code>​
 +root@plum:​~#​ gatttool -b B4:​99:​4C:​64:​10:​D6 --characteristics
 +handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb
 +handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb
 +handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb
 +handle = 0x0008, char properties = 0x08, char value handle = 0x0009, uuid = 00002a03-0000-1000-8000-00805f9b34fb
 +handle = 0x000a, char properties = 0x02, char value handle = 0x000b, uuid = 00002a04-0000-1000-8000-00805f9b34fb
 +handle = 0x000d, char properties = 0x20, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb
 +handle = 0x0011, char properties = 0x02, char value handle = 0x0012, uuid = 00002a23-0000-1000-8000-00805f9b34fb
 +handle = 0x0013, char properties = 0x02, char value handle = 0x0014, uuid = 00002a24-0000-1000-8000-00805f9b34fb
 +handle = 0x0015, char properties = 0x02, char value handle = 0x0016, uuid = 00002a25-0000-1000-8000-00805f9b34fb
 +handle = 0x0017, char properties = 0x02, char value handle = 0x0018, uuid = 00002a26-0000-1000-8000-00805f9b34fb
 +handle = 0x0019, char properties = 0x02, char value handle = 0x001a, uuid = 00002a27-0000-1000-8000-00805f9b34fb
 +handle = 0x001b, char properties = 0x02, char value handle = 0x001c, uuid = 00002a28-0000-1000-8000-00805f9b34fb
 +handle = 0x001d, char properties = 0x02, char value handle = 0x001e, uuid = 00002a29-0000-1000-8000-00805f9b34fb
 +handle = 0x001f, char properties = 0x02, char value handle = 0x0020, uuid = 00002a2a-0000-1000-8000-00805f9b34fb
 +handle = 0x0021, char properties = 0x02, char value handle = 0x0022, uuid = 00002a50-0000-1000-8000-00805f9b34fb
 +handle = 0x0024, char properties = 0x12, char value handle = 0x0025, uuid = f000aa01-0451-4000-b000-000000000000
 +handle = 0x0028, char properties = 0x0a, char value handle = 0x0029, uuid = f000aa02-0451-4000-b000-000000000000
 +handle = 0x002b, char properties = 0x0a, char value handle = 0x002c, uuid = f000aa03-0451-4000-b000-000000000000
 +handle = 0x002f, char properties = 0x12, char value handle = 0x0030, uuid = f000aa11-0451-4000-b000-000000000000
 +handle = 0x0033, char properties = 0x0a, char value handle = 0x0034, uuid = f000aa12-0451-4000-b000-000000000000
 +handle = 0x0036, char properties = 0x0a, char value handle = 0x0037, uuid = f000aa13-0451-4000-b000-000000000000
 +handle = 0x003a, char properties = 0x12, char value handle = 0x003b, uuid = f000aa21-0451-4000-b000-000000000000
 +handle = 0x003e, char properties = 0x0a, char value handle = 0x003f, uuid = f000aa22-0451-4000-b000-000000000000
 +handle = 0x0041, char properties = 0x0a, char value handle = 0x0042, uuid = f000aa23-0451-4000-b000-000000000000
 +handle = 0x0045, char properties = 0x12, char value handle = 0x0046, uuid = f000aa31-0451-4000-b000-000000000000
 +handle = 0x0049, char properties = 0x0a, char value handle = 0x004a, uuid = f000aa32-0451-4000-b000-000000000000
 +handle = 0x004c, char properties = 0x0a, char value handle = 0x004d, uuid = f000aa33-0451-4000-b000-000000000000
 +handle = 0x0050, char properties = 0x12, char value handle = 0x0051, uuid = f000aa41-0451-4000-b000-000000000000
 +handle = 0x0054, char properties = 0x0a, char value handle = 0x0055, uuid = f000aa42-0451-4000-b000-000000000000
 +handle = 0x0057, char properties = 0x0a, char value handle = 0x0058, uuid = f000aa44-0451-4000-b000-000000000000
 +handle = 0x005a, char properties = 0x02, char value handle = 0x005b, uuid = f000aa43-0451-4000-b000-000000000000
 +handle = 0x005f, char properties = 0x12, char value handle = 0x0060, uuid = f000aa51-0451-4000-b000-000000000000
 +handle = 0x0063, char properties = 0x0a, char value handle = 0x0064, uuid = f000aa52-0451-4000-b000-000000000000
 +handle = 0x0066, char properties = 0x0a, char value handle = 0x0067, uuid = f000aa53-0451-4000-b000-000000000000
 +handle = 0x006a, char properties = 0x10, char value handle = 0x006b, uuid = 0000ffe1-0000-1000-8000-00805f9b34fb
 +handle = 0x006f, char properties = 0x02, char value handle = 0x0070, uuid = f000aa61-0451-4000-b000-000000000000
 +handle = 0x0072, char properties = 0x0a, char value handle = 0x0073, uuid = f000aa62-0451-4000-b000-000000000000
 +handle = 0x0076, char properties = 0x12, char value handle = 0x0077, uuid = f000ccc1-0451-4000-b000-000000000000
 +handle = 0x007a, char properties = 0x08, char value handle = 0x007b, uuid = f000ccc2-0451-4000-b000-000000000000
 +handle = 0x007d, char properties = 0x08, char value handle = 0x007e, uuid = f000ccc3-0451-4000-b000-000000000000
 +handle = 0x0081, char properties = 0x1c, char value handle = 0x0082, uuid = f000ffc1-0451-4000-b000-000000000000
 +handle = 0x0085, char properties = 0x1c, char value handle = 0x0086, uuid = f000ffc2-0451-4000-b000-000000000000
 +
 +</​code>​
 +
 +無事、取得できているようです。
  
mae3xx_tips/use_sensortag/start.1437037397.txt.bz2 · 最終更新: 2015/07/16 18:03 by コンサルティンググループ