OBEX
From ArmadeusWiki
From Wikipedia: OBEX (abbreviation of OBject EXchange) is a communications protocol that facilitates the exchange of binary objects between devices... Although OBEX was initially designed for infrared, it has now been adopted by Bluetooth, and is also used over RS232, USB and WAP.
Contents
OpenOBEX
Free open source implementation of the Object Exchange (OBEX) protocol. This library (libopenobex) is the basis of all the other tools.
Installation
$ make menuconfig
Package Selection for the target ---> [*] Networking ---> [*] openobex [*] install test applications [ ] enable debugging to the system logger [ ] enable protocol dumping for debugging
$ make
Then reflash your rootfs.
Object PUSH Profile
(Phone to phone transfers)
ussp-push
ussp-push is an OBEX object pusher for Linux, using the BlueZ BlueTooth stack.
Installation
$ make menuconfig
Package Selection for the target ---> [*] Networking ---> [*] ussp-push
$ make
Then reflash your rootfs.
Usage
- Get receiver phone Bluetooth address (here 00:16:75:F8:xx:xx):
# hcitool scan Scanning ... 00:16:75:F8:xx:xx Motorola A910
- Find "OBEX Object Push" channel number (here 4):
# sdptool browse 00:16:75:F8:xx:xx Bluetooth: L2CAP ver 2.11 Bluetooth: L2CAP socket layer initialized Browsing 00:16:75:F8:xx:xx ... ... ... Service Name: OBEX Object Push Service RecHandle: 0x11105 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100 ...
or
# sdptool search OPUSH Inquiring ... Searching for OPUSH on 00:16:75:F8:xx:xx ... Service Name: OBEX Object Push Service RecHandle: 0x11105 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100
- Launch an rfcomm connection on this channel (4):
# rfcomm connect 0 00:16:75:F8:xx:xx 4 & Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM ver 1.10 Connected /dev/rfcomm0 to 00:16:75:F8:xx:xx on channel 4
- "Push" file (here a VCard):
# ussp-push /dev/rfcomm0 /root/foo.vcf foo.vcf name=/root/foo.vcf, size=97 Connection established
File transfer Profile
(Phone to PC transfers) TO BE DONE.... http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp http://www.gitorious.org/obexpushd#more http://doc.ubuntu-fr.org/obexfs