Artifact 2304b41252d8dc366ce476d73b392123a6094350:
Wiki page
[
rfcomm command] by
chw
2019-08-08 05:25:27.
0000: 44 20 32 30 31 39 2d 30 38 2d 30 38 54 30 35 3a D 2019-08-08T05:
0010: 32 35 3a 32 37 2e 30 36 39 0a 4c 20 72 66 63 6f 25:27.069.L rfco
0020: 6d 6d 5c 73 63 6f 6d 6d 61 6e 64 0a 50 20 61 62 mm\scommand.P ab
0030: 61 38 32 31 32 39 30 38 39 64 62 39 35 63 33 64 a82129089db95c3d
0040: 63 33 32 31 30 38 34 36 63 30 62 31 32 38 32 66 c3210846c0b1282f
0050: 31 33 66 39 36 61 0a 55 20 63 68 77 0a 57 20 32 13f96a.U chw.W 2
0060: 31 33 33 0a 3c 68 32 3e 72 66 63 6f 6d 6d 20 63 133.<h2>rfcomm c
0070: 6f 6d 6d 61 6e 64 3c 2f 68 32 3e 0d 0a 0d 0a 3c ommand</h2>....<
0080: 68 33 3e 4e 61 6d 65 3c 2f 68 33 3e 0d 0a 0d 0a h3>Name</h3>....
0090: 3c 62 3e 72 66 63 6f 6d 6d 3c 2f 62 3e 20 2d 20 <b>rfcomm</b> -
00a0: 74 72 61 6e 73 66 65 72 20 64 61 74 61 20 6f 76 transfer data ov
00b0: 65 72 20 42 6c 75 65 74 6f 6f 74 68 20 73 65 72 er Bluetooth ser
00c0: 69 61 6c 20 70 6f 72 74 20 70 72 6f 66 69 6c 65 ial port profile
00d0: 3b 0d 0a 61 6b 69 6e 20 74 6f 20 74 68 65 20 54 ;..akin to the T
00e0: 63 6c 20 3c 74 74 3e 73 6f 63 6b 65 74 3c 2f 74 cl <tt>socket</t
00f0: 74 3e 20 63 6f 6d 6d 61 6e 64 2e 0d 0a 0d 0a 3c t> command.....<
0100: 68 33 3e 53 79 6e 6f 70 73 69 73 3c 2f 68 33 3e h3>Synopsis</h3>
0110: 0d 0a 0d 0a 3c 74 74 3e 70 61 63 6b 61 67 65 20 ....<tt>package
0120: 72 65 71 75 69 72 65 20 52 66 63 6f 6d 6d 3c 2f require Rfcomm</
0130: 74 74 3e 3c 62 72 3e 0d 0a 3c 74 74 3e 72 66 63 tt><br>..<tt>rfc
0140: 6f 6d 6d 20 3f 2d 6d 79 61 64 64 72 20 3c 69 3e omm ?-myaddr <i>
0150: 61 64 64 72 3c 2f 69 3e 3f 20 3f 2d 6d 79 70 6f addr</i>? ?-mypo
0160: 72 74 20 3c 69 3e 6d 79 70 6f 72 74 3c 2f 69 3e rt <i>myport</i>
0170: 3f 20 3f 2d 61 73 79 6e 63 3f 0d 0a 3c 69 3e 68 ? ?-async?..<i>h
0180: 6f 73 74 3c 2f 69 3e 20 3c 69 3e 70 6f 72 74 3c ost</i> <i>port<
0190: 2f 69 3e 3c 2f 74 74 3e 3c 62 72 3e 0d 0a 3c 74 /i></tt><br>..<t
01a0: 74 3e 72 66 63 6f 6d 6d 20 2d 73 65 72 76 65 72 t>rfcomm -server
01b0: 20 3c 69 3e 63 6f 6d 6d 61 6e 64 3c 2f 69 3e 20 <i>command</i>
01c0: 3f 2d 6d 79 61 64 64 72 20 3c 69 3e 61 64 64 72 ?-myaddr <i>addr
01d0: 3c 2f 69 3e 3f 20 3c 69 3e 70 6f 72 74 3c 2f 69 </i>? <i>port</i
01e0: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 3c 68 33 3e 44 65 ></tt>....<h3>De
01f0: 73 63 72 69 70 74 69 6f 6e 3c 2f 68 33 3e 0d 0a scription</h3>..
0200: 0d 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 ..This command i
0210: 73 20 75 73 65 64 20 74 6f 20 6f 62 74 61 69 6e s used to obtain
0220: 20 61 20 63 68 61 6e 6e 65 6c 20 77 68 69 63 68 a channel which
0230: 20 69 73 20 61 62 6c 65 20 74 6f 20 74 72 61 6e is able to tran
0240: 73 66 65 72 20 64 61 74 61 0d 0a 6f 76 65 72 20 sfer data..over
0250: 42 6c 75 65 74 6f 6f 74 68 27 73 20 73 65 72 69 Bluetooth's seri
0260: 61 6c 20 70 6f 72 74 20 70 72 6f 66 69 6c 65 20 al port profile
0270: 28 53 50 50 20 6f 72 20 53 50 29 2e 20 54 68 65 (SPP or SP). The
0280: 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 0d 0a arguments are..
0290: 6e 65 61 72 6c 79 20 69 64 65 6e 74 69 63 61 6c nearly identical
02a0: 20 74 6f 20 74 68 65 20 54 63 6c 20 3c 74 74 3e to the Tcl <tt>
02b0: 73 6f 63 6b 65 74 3c 2f 74 74 3e 20 63 6f 6d 6d socket</tt> comm
02c0: 61 6e 64 2e 20 49 74 20 72 65 74 75 72 6e 73 20 and. It returns
02d0: 61 20 63 6c 69 65 6e 74 0d 0a 6f 72 20 73 65 72 a client..or ser
02e0: 76 65 72 20 63 68 61 6e 6e 65 6c 20 68 61 6e 64 ver channel hand
02f0: 6c 65 2e 20 43 6c 69 65 6e 74 20 63 68 61 6e 6e le. Client chann
0300: 65 6c 73 20 6d 61 79 20 62 65 20 75 73 65 64 20 els may be used
0310: 77 69 74 68 20 3c 74 74 3e 67 65 74 73 3c 2f 74 with <tt>gets</t
0320: 74 3e 2c 0d 0a 3c 74 74 3e 72 65 61 64 3c 2f 74 t>,..<tt>read</t
0330: 74 3e 2c 20 3c 74 74 3e 70 75 74 73 3c 2f 74 74 t>, <tt>puts</tt
0340: 3e 2c 20 3c 74 74 3e 66 63 6f 6e 66 69 67 75 72 >, <tt>fconfigur
0350: 65 3c 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 74 3e e</tt>, and <tt>
0360: 63 6c 6f 73 65 3c 2f 74 74 3e 2e 0d 0a 53 65 72 close</tt>...Ser
0370: 76 65 72 20 63 68 61 6e 6e 65 6c 73 20 72 65 74 ver channels ret
0380: 75 72 6e 20 61 20 6e 65 77 20 63 6c 69 65 6e 74 urn a new client
0390: 20 63 68 61 6e 6e 65 6c 20 69 6e 20 74 68 65 20 channel in the
03a0: 3c 74 74 3e 3c 69 3e 63 6f 6d 6d 61 6e 64 3c 2f <tt><i>command</
03b0: 69 3e 3c 2f 74 74 3e 0d 0a 63 61 6c 6c 62 61 63 i></tt>..callbac
03c0: 6b 20 77 68 65 6e 20 61 6e 20 69 6e 63 6f 6d 69 k when an incomi
03d0: 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 61 ng connection wa
03e0: 73 20 65 73 74 61 62 6c 69 73 68 65 64 2e 0d 0a s established...
03f0: 0d 0a 46 6f 72 20 63 6c 69 65 6e 74 20 63 68 61 ..For client cha
0400: 6e 6e 65 6c 73 20 28 66 69 72 73 74 20 63 6f 6d nnels (first com
0410: 6d 61 6e 64 20 66 6f 72 6d 29 2c 20 74 68 65 20 mand form), the
0420: 3c 74 74 3e 3c 69 3e 68 6f 73 74 3c 2f 69 3e 3c <tt><i>host</i><
0430: 2f 74 74 3e 20 70 61 72 61 6d 65 74 65 72 0d 0a /tt> parameter..
0440: 6d 75 73 74 20 62 65 20 67 69 76 65 6e 20 61 73 must be given as
0450: 20 61 20 6f 6e 65 2d 20 6f 72 20 74 77 6f 2d 65 a one- or two-e
0460: 6c 65 6d 65 6e 74 20 6c 69 73 74 3a 20 74 68 65 lement list: the
0470: 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 first element i
0480: 73 20 74 68 65 0d 0a 42 6c 75 65 74 6f 6f 74 68 s the..Bluetooth
0490: 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 address of the
04a0: 72 65 6d 6f 74 65 20 64 65 76 69 63 65 2c 20 61 remote device, a
04b0: 6e 64 20 74 68 65 20 28 6f 70 74 69 6f 6e 61 6c nd the (optional
04c0: 29 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 ) second element
04d0: 0d 0a 69 73 20 74 68 65 20 55 55 49 44 20 6f 66 ..is the UUID of
04e0: 20 74 68 65 20 72 65 6d 6f 74 65 20 73 65 72 76 the remote serv
04f0: 69 63 65 2e 20 49 66 20 6f 6d 69 74 74 65 64 20 ice. If omitted
0500: 74 68 65 20 73 74 61 6e 64 61 72 64 20 42 6c 75 the standard Blu
0510: 65 74 6f 6f 74 68 20 55 55 49 44 0d 0a 66 6f 72 etooth UUID..for
0520: 20 74 68 65 20 53 65 72 69 61 6c 20 50 6f 72 74 the Serial Port
0530: 20 50 72 6f 66 69 6c 65 20 3c 74 74 3e 30 30 30 Profile <tt>000
0540: 30 31 31 30 31 2d 30 30 30 30 2d 31 30 30 30 2d 01101-0000-1000-
0550: 38 30 30 30 2d 30 30 38 30 35 46 39 42 33 34 46 8000-00805F9B34F
0560: 42 3c 2f 74 74 3e 20 69 73 0d 0a 75 73 65 64 2e B</tt> is..used.
0570: 20 54 68 65 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e The non-blockin
0580: 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6d 6f 64 g connection mod
0590: 65 20 28 3c 74 74 3e 2d 61 73 79 6e 63 3c 2f 74 e (<tt>-async</t
05a0: 74 3e 20 73 70 65 63 69 66 69 65 64 29 20 75 73 t> specified) us
05b0: 65 73 0d 0a 72 65 61 64 61 62 69 6c 69 74 79 20 es..readability
05c0: 6f 66 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 74 of the channel t
05d0: 6f 20 69 6e 64 69 63 61 74 65 20 63 6f 6e 6e 65 o indicate conne
05e0: 63 74 69 6f 6e 20 73 74 61 74 65 2e 20 54 68 69 ction state. Thi
05f0: 73 20 69 73 20 64 69 66 66 65 72 65 6e 74 0d 0a s is different..
0600: 74 6f 20 6e 6f 72 6d 61 6c 20 3c 74 74 3e 73 6f to normal <tt>so
0610: 63 6b 65 74 3c 2f 74 74 3e 20 63 68 61 6e 6e 65 cket</tt> channe
0620: 6c 73 2c 20 77 68 65 72 65 20 77 72 69 74 61 62 ls, where writab
0630: 69 6c 69 74 79 20 70 72 6f 76 69 64 65 73 20 74 ility provides t
0640: 68 69 73 0d 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e his..information
0650: 2e 20 4f 6e 20 41 6e 64 72 6f 69 64 2c 20 74 68 . On Android, th
0660: 65 20 6c 6f 63 61 6c 20 61 64 64 72 65 73 73 20 e local address
0670: 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 20 73 6f of the client so
0680: 63 6b 65 74 20 73 70 65 63 69 66 69 65 64 0d 0a cket specified..
0690: 69 6e 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 in the optional
06a0: 3c 74 74 3e 3c 69 3e 61 64 64 72 3c 2f 69 3e 3c <tt><i>addr</i><
06b0: 2f 74 74 3e 20 70 61 72 61 6d 65 74 65 72 20 69 /tt> parameter i
06c0: 73 20 69 67 6e 6f 72 65 64 2e 0d 0a 0d 0a 46 6f s ignored.....Fo
06d0: 72 20 73 65 72 76 65 72 20 63 68 61 6e 6e 65 6c r server channel
06e0: 73 2c 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 s, the first ele
06f0: 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 74 74 3e ment of the <tt>
0700: 3c 69 3e 61 64 64 72 3c 2f 69 3e 3c 2f 74 74 3e <i>addr</i></tt>
0710: 0d 0a 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 ..parameter is t
0720: 68 65 20 55 55 49 44 20 66 6f 72 20 74 68 65 20 he UUID for the
0730: 6c 6f 63 61 6c 20 53 44 50 20 28 53 65 72 76 69 local SDP (Servi
0740: 63 65 20 44 69 73 63 6f 76 65 72 79 20 50 72 6f ce Discovery Pro
0750: 74 6f 63 6f 6c 29 0d 0a 72 65 63 6f 72 64 2c 20 tocol)..record,
0760: 69 2e 65 2e 20 74 68 65 20 61 70 70 6c 69 63 61 i.e. the applica
0770: 74 69 6f 6e 20 69 64 65 6e 74 69 66 69 65 72 2c tion identifier,
0780: 20 61 6e 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 and the optiona
0790: 6c 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 l second element
07a0: 0d 0a 69 73 20 74 68 65 20 66 72 69 65 6e 64 6c ..is the friendl
07b0: 79 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 y name of the se
07c0: 72 76 69 63 65 20 61 73 20 61 64 76 65 72 74 69 rvice as adverti
07d0: 73 65 64 20 6f 76 65 72 20 53 44 50 2e 20 4f 6e sed over SDP. On
07e0: 20 73 6f 6d 65 0d 0a 41 6e 64 72 6f 69 64 20 76 some..Android v
07f0: 65 72 73 69 6f 6e 73 20 74 68 65 20 66 72 69 65 ersions the frie
0800: 6e 64 6c 79 20 6e 61 6d 65 20 6d 61 79 20 6e 6f ndly name may no
0810: 74 20 62 65 20 61 6e 20 65 6d 70 74 79 20 73 74 t be an empty st
0820: 72 69 6e 67 2c 0d 0a 6f 74 68 65 72 77 69 73 65 ring,..otherwise
0830: 20 69 6e 63 6f 6d 69 6e 67 20 63 6f 6e 6e 65 63 incoming connec
0840: 74 69 6f 6e 20 72 65 71 75 65 73 74 73 20 61 72 tion requests ar
0850: 65 20 6e 6f 74 20 66 75 6c 66 69 6c 6c 65 64 2e e not fulfilled.
0860: 20 54 68 65 0d 0a 3c 74 74 3e 3c 69 3e 70 6f 72 The..<tt><i>por
0870: 74 3c 2f 69 3e 3c 2f 74 74 3e 20 70 61 72 61 6d t</i></tt> param
0880: 65 74 65 72 20 69 73 20 75 73 75 61 6c 6c 79 20 eter is usually
0890: 69 67 6e 6f 72 65 64 20 61 6e 64 20 73 68 6f 75 ignored and shou
08a0: 6c 64 20 62 65 0d 0a 73 70 65 63 69 66 69 65 64 ld be..specified
08b0: 20 61 73 20 30 2e 20 0d 0a 0a 5a 20 37 61 64 31 as 0. ...Z 7ad1
08c0: 65 35 64 32 61 36 36 32 31 37 33 33 34 37 37 62 e5d2a6621733477b
08d0: 64 32 34 62 33 61 65 39 30 30 66 63 0a d24b3ae900fc.