BLUETOOTH APPLICATION DEVELOPER'S GUIDE: THE SHORT RANGE INTERCONNECT SOLUTION

By P. GILIU

CONTENTS CHAPTER INTRODUCING BLUETOOTH APPLICATIONS INTRODUCTION WHY THROW AWAY WIRES? ADDING USABILITY TO PRODUCTS ALLOWING FOR INTERFERENCE CONSIDERING CONNECTION TIMES COPING WITH LIMITED BANDWIDTH CONSIDERING POWER AND RANGE DECIDING ON ACCEPTABLE RANGE RECOGNIZING CANDIDATE BLUETOOTH PRODUCTS CONSIDERING PRODUCT DESIGN ARE YOU ADDING END USER VALUE? INVESTIGATING CONVENIENCE ENHANCING FUNCTIONALITY DO YOU HAVE TIME? INVESTIGATING PRODUCT PERFORMANCE EVALUATING CONNECTION TIMES DISCOVERING DEVICES CONNECTING DEVICES QUANTIFYING CONNECTION TIMES PERFORMING SERVICE DISCOVERY QUALITY OF SERVICE IN CONNECTIONS DATA RATE LATENCY DELIVERING VOICE COMMUNICATIONS INVESTIGATING INTERFERENCE INTERFERING WITH OTHER TECHNOLOGIES COEXISTING PICONETS USING POWER CONTROL AIRCRAFT SAFETY ASSESSING REQUIRED FEATURES ENABLING SECURITY USING LOW POWER MODES HOLD MODE SNIFF MODE PARK MODE UNPARKING WHICH DEVICES NEED LOW POWER MODES? PROVIDING CHANNEL QUALITY DRIVEN DATA RATE DECIDING HOW TO IMPLEMENT CHOOSING A SYSTEM SOFTWARE ARCHITECTURE CONSTRAINING IMPLEMENTATION OPTIONS WITH PROFILES CHOOSING A HARDWARE IMPLEMENTATION OPTION DESIGN BLUETOOTH DIRECTLY ONTO THE PCB DESIGN VERIFICATION MANUFACTURING USING A PREQUALIFIED COMPLETE BLUETOOTH MODULE FIRMWARE VERSIONS DEPENDANT FOR FUNCTIONALITY CONSIDERING BATTERY LIMITATIONS ADDING BATTERIES USING POWER SAVING MODES TO EXTEND BATTERY LIFE ASSESSING BATTERY LIFE SUMMARY SOLUTIONS FAST TRACK FREQUENTLY ASKED QUESTIONS CHAPTER EXPLORING THE FOUNDATIONS OF BLUETOOTH REVIEWING THE PROTOCOL STACK L2CAP RFCOMM OBEX PPP TCS BINARY SDP MANAGEMENT ENTITIES HCI LOWER LAYERS WHY UNCONNECTED DEVICES NEED TO TALK DISCOVERING NEIGHBORING DEVICES INQUIRING AND INQUIRY SCANNING TIMING WHEN TO STOP CONNECTING TO A DEVICE PAGING AND PAGE SCANNING WHO CALLS WHO? FINDING INFORMATION ON SERVICES A DEVICE OFFERS CONNECTING TO AND USING BLUETOOTH SERVICES >60 SECONDS CHAPTER POWER MANAGEMENT USING POWER MANAGEMENT:WHEN AND WHY IS IT NECESSARY? INVESTIGATING BLUETOOTH POWER MODES ACTIVE MODE EVALUATING CONSUMPTION LEVELS SECURITY MANAGEMENT DECIDING WHEN TO SECURE OUTFITTING YOUR SECURITY TOOLBOX AUTHENTICATION PAIRING LINK KEYS BONDING APPLICATION INVOLVEMENT AUTHORIZATION: HOW AND WHY? USING THE TRUST ATTRIBUTE ENABLING ENCRYPTION POINT-TO-POINT ENCRYPTION BROADCASTING UNDERSTANDING SECURITY ARCHITECTURE THE ROLE OF THE SECURITY MANAGER MODE 1 ROLE MODE 2 ROLE MODE 3 ROLE MODE UNKNOWN THE ROLE OF SECURITY DATABASES SERVICE DATABASE CONTENT SERVICE DATABASE OPERATIONS ROLE OF DEVICE DATABASES DEVICE DATABASE CONTENT DEVICE DATABASE OPERATIONS MANAGING THE DEVICE DATABASE FOR YOUR APPLICATIONS WORKING WITH PROTOCOLS AND SECURITY INTERFACES MODE 2 OPERATION MODE 3 OPERATION APPLICATION—API STRUCTURE EXPLORING OTHER ROUTES TO EXTRA SECURITY INVISIBILITY APPLICATION LEVEL SECURITY IMPLEMENTING SECURITY PROFILES CORDLESS TELEPHONY AND INTERCOM SERIAL PORT PROFILE HEADSET PROFILE DIAL-UP NETWORK AND FAX LAN ACCESS CASE STUDY SERVICE DISCOVERY INTRODUCTION TO SERVICE DISCOVERY SERVICE DISCOVERY PROTOCOLS BLUETOOTH SDP ARCHITECTURE OF BLUETOOTH SERVICE DISCOVERY THE STRUCTURE OF SERVICE RECORDS THE SERVICE DISCOVERY PROTOCOL DEVELOPING AN ABSTRACT C API FOR SDP DISCOVERING SERVICES SHORT-CIRCUITING THE SERVICE DISCOVERY PROCESS CREATING AND ADVERTISING A SERVICE DISCOVERING SPECIFIC SERVICES USING SERVICE ATTRIBUTES BROWSING FOR SERVICES SERVICE DISCOVERY APPLICATION PROFILE SERVICE DISCOVERY NON-APPLICATION PROFILES JAVA, C, AND SDP OTHER SERVICE DISCOVERY PROTOCOLS SALUTATION SERVICE LOCATION PROTOCOL JINI UNIVERSAL PLUG AND PLAY (UPNP) THE FUTURE OF SDP LINUX BLUETOOTH DEVELOPMENT ASSESSING LINUX BLUETOOTH PROTOCOL STACKS COMPARING BLUEDREKAR WITH OPENBT BY FEATURES KERNEL VERSIONS HARDWARE PLATFORMS BLUETOOTH PROTOCOLS SDP SUPPORT API LICENSE TERMS OTHER CONSIDERATIONS FAIR WARNING UNDERSTANDING THE LINUX BLUETOOTH DRIVER LEARNING ABOUT THE KERNEL DRIVER INVESTIGATING THE KERNEL MODULE WHAT EXACTLY IS A TTY? SO WHAT’S AN LDISC? BUILDING DRIVER STACKS IN THE LINUX KERNEL UNDERSTANDING THE BLUETOOTH DRIVER INTERFACE INVESTIGATING THE BLUETOOTH DEVICE FILES USING THE RFCOMM TTY DRIVERS USING THE CONTROL DRIVER USING OPEN SOURCE DEVELOPMENT APPLICATIONS INVESTIGATING THE OPENBT APPLICATIONS UNDERSTANDING THE BTD AND BTDUSER APPLICATIONS UNDERSTANDING THE SDP_SERVER APPLICATION UNDERSTANDING THE BLUETOOTHPN APPLICATION ESTABLISHING A PPP CONNECTION USING THE BTD APPLICATION WRITING YOUR OWN MINIMAL APPLICATION CONNECTING TO A BLUETOOTH DEVICE INITIALIZING THE BLUETOOTH STACK PREPARING THE SERIAL DRIVER STACKING THE DRIVERS STARTING COMMUNICATION BETWEEN THE PC AND THE CARD SWITCHING TO A HIGHER BAUD RATE FINDING NEIGHBORING DEVICES LETTING OTHER BLUETOOTH DEVICES DISCOVER US SENDING AN HCI INQUIRY USING SERVICE DISCOVERY CONNECTING TO A REMOTE SDP SERVER SENDING AN SDP REQUEST PROCESSING AN SDP RESPONSE ADDING A SERVICE TO THE LOCAL DATABASE QUERYING THE LOCAL DATABASE CONNECTING TO A BLUETOOTH SERVICE USING A DATA DEVICE CREATING A CONNECTION ACCEPTING A CONNECTION TRANSFERRING DATA DISCONNECTING CONTROLLING A BLUETOOTH DEVICE DISTINGUISHING BETWEEN CONTROL AND DATA APPLICATIONS USING IOCTLS TO CONTROL THE DEVICE COVERING BASIC SCENARIOS EXAMPLE: STARTUP EXAMPLE: LINK LOSS EXAMPLE: USER-INITIATED AND AUTOMATED SHUTDOWN EXAMPLE: IDLE OPERATION EMBEDDING BLUETOOTH APPLICATIONS UNDERSTANDING EMBEDDED SYSTEMS UNDERSTANDING TASKS,TIMERS, AND SCHEDULERS UNDERSTANDING MESSAGING AND QUEUES USING INTERRUPTS GETTING STARTED INSTALLING THE TOOL SET BUILDING A SAMPLE APPLICATION RUNNING AN APPLICATION UNDER THE DEBUGGER USING PLUG-INS DEBUGGING UNDER BLUELAB RUNNING AN APPLICATION ON BLUECORE DEBUGGING USING VM SPY USING VM PACKETS PACKING FORMAT IN MESSAGES USING THE BLUELAB LIBRARIES BASIC LIBRARIES CSR LIBRARY APPLICATION LIBRARIES USING TASKS AND MESSAGES TASKS AND MESSAGE QUEUES CREATING AND DESTROYING MESSAGES USING THE MAKE_MSG MACRO CONNECTION MANAGER INITIALIZING AND OPENING THE CONNECTION MANAGER INQUIRY CONNECTING SENDING DATA USING OTHER MESSAGES AND EVENTS DEPLOYING APPLICATIONS USING THE PALM OS FOR BLUETOOTH APPLICATIONS WHAT YOU NEED TO GET STARTED UNDERSTANDING PALM OS PROFILES CHOOSING SERVICES THROUGH THE SERVICE DISCOVERY PROTOCOL UPDATING PALM OS APPLICATIONS USING THE BLUETOOTH VIRTUAL SERIAL DRIVER CREATING A VDRV CLIENT-ONLY APPLICATION CREATING A VDRV SERVER-ONLY APPLICATION USING BLUETOOTH TECHNOLOGY WITH EXCHANGE MANAGER CREATING BLUETOOTH-AWARE PALM OS APPLICATIONS USING BASIC ACL LINKS CREATING L2CAP AND RFCOMM CONNECTIONS USING THE SERVICE DISCOVERY PROTOCOL ADVERTISING A BASIC SERVICE RECORD FOR AN RFCOMM OR L2CAP LISTENER SOCKET RETRIEVING CONNECTION INFORMATION ABOUT L2CAP AND RFCOMM LISTENERS ON A REMOTE DEVICE USING BLUETOOTH SECURITY ON PALM OS WRITING PERSISTENT BLUETOOTH SERVICES FOR PALM OS THE FUTURE OF PALM OS BLUETOOTH SUPPORT DESIGNING AN AUDIO APPLICATION CHOOSING A CODEC PULSE CODE MODULATION CONTINUOUS VARIABLE SLOPE DELTA MODULATION CONFIGURING VOICE LINKS CHOOSING AN HV PACKET TYPE SENDING DATA AND VOICE SIMULTANEOUSLY USING ACL LINKS FOR HIGH-QUALITY AUDIO CHOOSING AN AUDIO INTERFACE SELECTING AN AUDIO PROFILE APPLICATIONS NOT COVERED BY PROFILES NEW AUDIO PROFILES WRITING AUDIO APPLICATIONS CONNECTING TO A SERVICE USING POWER SAVING WITH AUDIO CONNECTIONS DIFFERENTIATING YOUR AUDIO APPLICATION PHYSICAL DESIGN DESIGNING THE USER INTERFACE ENABLING UPGRADES IMPROVING THE AUDIO PATH PERSONAL INFORMATION BASE CASE STUDY WHY CHOOSE BLUETOOTH TECHNOLOGY? REQUIREMENTS FOR PIB DEVICES IMPLEMENTING OPTIONAL EXTRA FEATURES CHOOSING A WIRELESS TECHNOLOGY FOR THE PIB DEVICE CONSIDERING THE COST OF THE PIB EXPLORING THE SAFETY AND SECURITY CONCERNS OF A PERSONAL INFORMATION BASE ENABLING DATA DUPLICATION ENSURING DATA INTEGRITY PROVIDING SECURITY MEETING MEDICAL REQUIREMENTS USING BLUETOOTH PROTOCOLS TO IMPLEMENT A PIB UNDERSTANDING THE BLUETOOTH SPECIFICATION HIERARCHY INITIALIZING THE PIB UNDERSTANDING USER INTERACTIONS SENDING AND RECEIVING INFORMATION SELECTING A DEVICE USING THE SERVICE DISCOVERY APPLICATION PROFILE USING THE SERIAL PORT PROFILE USING THE GENERIC OBJECT EXCHANGE PROFILE USING THE OBJECT PUSH PROFILE USING THE FILE TRANSFER PROFILE CONSIDERING THE USER’S VIEW IDENTIFYING THE SYSTEM’S USERS IDENTIFYING SYSTEM USE CASES IDENTIFYING BARRIERS TO ADOPTION MANAGING PERSONAL INFORMATION BASE PERFORMANCE

ISBN978-93-7738-392-3
Copyright Year2027
Pages479
Price$271.99
LanguageEnglish
FormatPDF