Difference between revisions of "OBEX"

From ArmadeusWiki
Jump to: navigation, search
(page creation)
 
m (File transfer Profile)
 
(4 intermediate revisions by the same user not shown)
Line 38: Line 38:
 
</pre>
 
</pre>
 
Then reflash your rootfs.
 
Then reflash your rootfs.
 +
 +
===Usage===
 +
* Get receiver phone Bluetooth address (here 00:16:75:F8:xx:xx):
 +
<pre class="apf">
 +
# hcitool scan
 +
Scanning ...
 +
        00:16:75:F8:xx:xx      Motorola A910
 +
</pre>
 +
* Find "OBEX Object Push" channel number (here 4):
 +
<pre class="apf">
 +
# 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
 +
...
 +
</pre>
 +
or
 +
<pre class="apf">
 +
# 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
 +
</pre>
 +
* Launch an rfcomm connection on this channel (4):
 +
<pre class="apf">
 +
# 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
 +
</pre>
 +
* "Push" file (here a VCard):
 +
<pre class="apf">
 +
# ussp-push /dev/rfcomm0 /root/foo.vcf foo.vcf
 +
 +
name=/root/foo.vcf, size=97
 +
Connection established
 +
</pre>
  
 
==File transfer Profile==
 
==File transfer Profile==
 
(Phone to PC transfers)
 
(Phone to PC transfers)
TO BE DONE.... http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp
+
TO BE DONE....  
 +
http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp
 +
http://www.gitorious.org/obexpushd#more
 +
http://doc.ubuntu-fr.org/obexfs
  
 
==Links==
 
==Links==
 
* [http://en.wikipedia.org/wiki/OBject_EXchange Article on Wikipedia]
 
* [http://en.wikipedia.org/wiki/OBject_EXchange Article on Wikipedia]
 
* [http://www.openobex.org OpenOBEX Website]
 
* [http://www.openobex.org OpenOBEX Website]
* [http://www.xmailserver.org/ussp-push.html ussp-push Website]
+
* [http://www.xmailserver.org/ussp-push.html ussp-push Website] | [http://freshmeat.net/projects/ussp-push/ ussp-push on Freshmeat]
  
 
[[Category:Bluetooth]]
 
[[Category:Bluetooth]]
 
[[Category:Network]]
 
[[Category:Network]]

Latest revision as of 15:03, 23 June 2010

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.

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

Links