Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
An Introduction to Bluetooth Programming An Introduction to Bluetooth Programming Albert Huang Copyright © 2005-2008 Albert Huang. This document may be redistributed under the terms of the GNU Free Documentation License. Book News: Since its writing, this document has been expanded into a more complete text, published by Cambridge University Press. The book is titled Bluetooth Essentials for Programmers and provides a much more detailed introduction to Bluetooth. It also describes how to write Bluetooth programs targeted for the GNU/Linux, Windows XP, OS X, and Series 60 platforms. Examples are given in C, Python, and Java. This tutorial on Bluetooth programming in GNU/Linux will continue to be freely distributed from this website, but if you find it useful, or would like to learn more about Bluetooth programming, please consider purchasing, borrowing, or otherwise obtaining a copy of the book. Cheers. -Albert More information is available at the website: http://www.btessentials.com Table of Contents 1. Introduction 1.1. About this booklet 1.2. Who this document is for 1.3. Obtaining BlueZ and PyBluez 2. Bluetooth Programming Introduced 2.1. Overview 2.2. Choosing a communication partner 2.2.1. Device Name 2.3. Choosing a transport protocol 2.3.1. RFCOMM + TCP 2.3.2. L2CAP + UDP 2.4. Port numbers and the Service Discovery Protocol 2.5. Establishing connections and transferring data 2.6. Bluetooth Profiles + RFCs 3. Bluetooth programming with Python - PyBluez 3.1. Choosing a communication partner 3.2. Communicating with RFCOMM 3.3. Communicating with L2CAP 3.4. Service Discovery Protocol 3.5. Advanced usage 3.5.1. Asynchronous device discovery 3.5.2. The _bluetooth module 3.6. Alternatives 3.6.1. Java 3.6.2. PyAffix 4. Bluetooth programming in C with BlueZ 4.1. Choosing a communication partner 4.1.1. Compilation 4.1.2. Explanation 4.2. RFCOMM sockets 4.2.1. Addressing structures 4.2.2. A note on byte ordering 4.2.3. Dynamically assigned port numbers 4.2.4. RFCOMM summary 4.3. L2CAP sockets 4.3.1. Maximum Transmission Unit 4.3.2. Unreliable sockets 4.4. Service Discovery Protocol 4.4.1. sdpd - The SDP daemon 4.4.2. Describing a service 4.4.3. Registering a service 4.5. Advanced BlueZ programming 4.6. Chapter Summary List of Tables 2-1. A comparison of the requirements that would lead us to choose certain protocols. Best-effort streams communication is not shown because it reduces to best-effort datagram communication. 2-2. Port numbers and their terminology for various protocols List of Examples 3-1. findmyphone.py 3-2. rfcomm-server.py 3-3. rfcomm-client.py 3-4. l2cap-server.py 3-5. l2cap-client.py 3-6. rfcomm-server-sdp.py 3-7. rfcomm-client-sdp.py 3-8. asynchronous-inquiry.py 4-1. simplescan.c 4-2. rfcomm-server.c 4-3. rfcomm-client.c 4-4. l2cap-server.c 4-5. l2cap-client.c 4-6. set-flush-to.c 4-7. Step one of searching a device for a service with UUID 0xABCD 4-8. parsing and interpreting an SDP search result 4-9. Describing a service     Next     Introduction