Bluetooth HCI Terminal

Slides:



Advertisements
Similar presentations
MQ Series Cross Platform Dominant Messaging sw – 70% of market Messaging API same on all platforms Guaranteed one-time delivery Two-Phase Commit Wide EAI.
Advertisements

Certification Test Tool Jon Wheeler Test Lead Microsoft Corporation.
TCP/IP MODEL Maninder Kaur
Bluetooth Hardware CS215 Rohit Kapoor Prabhakar Pundir.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Proxy Cache Leonid Romanovsky Olga Fomenko Winter 2003 Instructor: Konstantin Sinyuk.
® The Bluetooth Architecture APIs, L2CAP, Link Management, Baseband, and the Radio.
Project proposal Java Bluetooth stack. What is a Bluetooth stack? In short, to get any functionality out of a Bluetooth device, one needs to implement.
Bluetooth based home automation system N.Sriskanthan, F.Tan, K. Karande Microprocessors and Microsystems 26(2002) Presenter: Bui Phuong Nhung.
2011 Embedded Systems Software Training Center BluRapport SDK.
Hacking the Bluetooth Pairing Authentication Process Graduate Operating System Mini Project Siyuan Jiang and Haipeng Cai.
1 Chapter Overview Understanding the Windows 2000 Networking Architecture Using Microsoft Management Console.
USB host for web camera connection
Distributed systems – Part 2  Bluetooth – 2 nd set of slides Anila Mjeda.
Bluetooth POP3 Relay Project Benjamin Kennedy April 30 th, 2002.
Example title for notes and handouts
An Investigation of Bluetooth Application Program Interface Layer Development Sam Knights Rhodes University Supervisors: Dr G. Foster and Prof P. Clayton.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group /2001 Instructor: Nir Borenshtein HSDSL Lab. Technion.
Android Laser Pointer Control Client System Block Diagram Functional Requirements Development Platform.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4 Mapping Bluetooth SDP to Salutation APIs 4 Mapping Bluetooth.
JPMA PROJECT PRESENTATION (ITU) 1 INTRODUCTION BLUETOOTH CHAT DESIGN JAVA ON MOBILE DEVICE Presenters Benjamin Boateng Abass Omer Venkateshwar Rao Namilakonda.
Senior DesignSoftware-1Seattle Pacific University High-level Software Design Context Diagram Connections between major components Synchronization with.
17 Establishing Dial-up Connection to the Internet Using Windows 9x 1.Install and configure the modem 2.Configure Dial-Up Adapter 3.Configure Dial-Up Networking.
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
Final Presentation Smart-Home Smart-Switch using Arduino
LonWorks Introduction Hwayoung Chae.
BTstack Youngho Oh. Table of contents  BTstack features  BTstack Architecture  Host Controller Interface(HCI)  Bluetooth Stack  BLE event task 
Sockets A popular API for client-server interaction.
OIC Open Source Work Group. 1 Architecture IoTivity v1.0 CA API CA Control Network Config. Network Config. CoAP Protocol CoAP Protocol Interface Controller.
CH9. HOST CONTROLLER INTERFACE AND COMMANDS CH10. LOGICAL LINK AND ADAPTATION PROTOCOL(L2CAP) RTLAB YuJin Park.
BTSTACK RTLAB YuJin Park. Bluetooth Protocol Stack Protocol Stack Applications TCS Binary RFCOMM Service Discovery Protocol (SDP) Logical Link Control.
Network architecture model What is an “architecture model”? An architecture model offers a general frame of reference for the problems connected to the.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Team Members: ECE- Wes Williams, Will Steiden, Josh Howard, Alan Jimenez Sponsor: Brad Luyster Honeywell Network Traffic Generator.
WORKING OF SCHEDULER IN OS
Introduction to Operating Systems Concepts
The Holmes Platform and Applications
MQ Series Cross Platform Dominant Messaging sw – 70% of market
GFE Control Panel Guy Ezra Prof. Ran Giladi Mr. Niv Yemini.
CompTIA Security+ Study Guide (SY0-401)
Message Handling in MFC
LESSON Networking Fundamentals Understand TCP/IP.
Operating System Structure
Supervised by Prof. Ran Gilady
Data Transport for Online & Offline Processing
Function Generator Remote Control
BLUETOOTH THE STANDARD & ISSUES.
CC2650 RF Min-ju Kang RTLAB.
Layered Architectures
Event Driven Programming Dick Steflik
Understanding the OSI Reference Model
Data Networking Fundamentals
Chapter 3: Windows7 Part 4.
CompTIA Security+ Study Guide (SY0-401)
Ch > 28.4.
Application Development A Tutorial Driven Course
BLUETOOTH Personal Area Networking [ PAN ] over Bluetooth
Lecture Topics: 11/1 General Operating System Concepts Processes
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Short-Range Radio Frequency Networking
Short-Range Radio Frequency Networking
Chapter 2: Operating-System Structures
Channel Access Concepts
Outline Operating System Organization Operating System Examples
NVMe.
Introduction to Operating Systems
Channel Access Concepts
Presentation transcript:

Bluetooth HCI Terminal Final Presentation By : Ofri Rahat & Moti Zeltser Supervisor:Ilan Hazan

Project Goals Implementation of a HCI terminal, which based on the Ericsson – PC Reference stack, in order to help debugging of future BT implementations. The application will support the following features: Operating the Bluetooth device through the HCI layer, using HCI commands. Monitoring all HCI events. Convenience for future extension of the project

Project Phases Study the MFC and Windows programming. Study the Bluetooth specification Dig into Ericsson BT Stack’s open source in order to learn how to integrate with it. Design the HCI Terminal application. Implement the HCI Terminal application. Application Testing. Application and project documentation.

A Brief Description of The Bluetooth Technology And Its Lower Components.

The BT Lower Level Layers

Point to Point HW/SW Layers Model

The HCI Layer The HCI layer purpose HCI commands HCI events

HCI Command Packet Structure HCI Event Packet Structure

Windows Programming and MFC Fundamentals

Event Driven Applications What is event driven applications ? Why use event driven applications ? Who create those events ? What information passed on those events ? How does Windows (the Win32 API) support event (message) handling ? How does MFC support event (message) handling ?

Default Window Procedure Messages in The Win 32 API Message Loop System Queue (Windows OS) App2 Message Queue App3 Message Queue Window Procedure 1 Application 1 Default Window Procedure Windows (OS) Window Procedure 2 App1 Message Queue Hardware Events Post Message Send Message

Events in MFC MFC - general architecture The CCmdTarget class The CWin class Message maps Types of messages (Windows, Command, User Interface Update, Event Notification) User defined messages

A Few Words About COM Technology The Component Object Model Benefits of COM COM objects Client of COM objects COM Server How COM clients communicates with COM servers

Ericsson’s Bluetooth PC Reference Stack

BT Stack Higher Layers (BT API) RF COMM SCM L2CAP HCI HCI Driver SDP Service Discovery Protocol Stack Connection Manager Host Controller Interface HCI lower Level Application or Higher Protocols Transport Protocol, RS-232 Emulation Logical Link Control and Adaptation Protocol BT Stack API OSI stack components Ericsson stack components To USB Driver

Data Flow Between 2 Layers Layer A Layer B Request (Req) Command (Cmd) Confirm (Cnf/CnfNeg) Indication (Ind) Response (Rsp/RspNeg) Air Remote Host Function Event (Message)

Other Interfaces BT COM Server VOS TIM Other h files SendMsg () MsgReceived () GetCurrentProcessID () GetExternalProcessID ()

Host Data Flow - General Description Data from the application to the Bluetooth device – function calls (using any of the BT stack API) Data from the BT device to the application – H/W events and Windows messages (using the COM Server) Application BT Interface H/W VOS USB Driver Windows COM Server

Summery of Stack Interfaces COM Server, VOS and other interfaces (BT_COMServer.exe & vos2com.lib) BT_COMserver.h bstr.h global.h vos.h vos2com.h nt-thread.h safearray.h tim.h standards.h BT Interface (BTinterface.lib) com.h scm.h sd.h, sds.h l2ca.h hci.h hci_drv.h bt.h msg.h Product.h dbm.h, dbg.h

Communication Procedure - HCI Initialization Host HCI HCI_ReqStart HCI_START_CNF tSeqNr = N HCI_CmdRegister tMessageGroup = HCI_CONNECT_GROUP tMessageGroup = HCI_DATA_GROUP

Communication Procedure - Inquiry Host HCI HCI_ReqInquiry HCI_INQUIRY_EVT tSeqNr = N, tLap = (0x9E,0x8B,0x33), tInquiryLength = 5, tNrOfResponses = 10 tSeqNr = N, BT_TAddress = 0x11 22 33 44 55 66, … HCI_INQUIRY_CNF tSeqNr = N, BT_TAddress = 0xAA BB CC DD EE FF, … tSeqNr = N, tNrOfResponses = 2

Communication Procedure – ACL Connection Host HCI Remote HCI_ReqConnect HCI_CONNECT_COMPLETE_EVT HCI_CONNECT_IND HCI_RspConnect Air tSeqNr = N , tAddress = 0xAABBCCDDEEFF, tPacketType = HCI_DM1, …., tAcceptRoleSwitch = HCI_ACCEPT_ROLE_SWITCH tAddress = 0x112233445566, tCOD, tLinkType = ACL tSeqNr = N , tHandle = 1, tAddress = 0xAABBCCDDEEFF, tLinkType, tEncryptionMode tSeqNr = N , tHandle = 1, tAddress = 0x112233445566, tLinkType, tEncryptionMode tSeqNr = N, tErrorCode, HCI_Troll = HCI_SLAVE

Communication Procedure – Data Send Host HCI Remote HCI_DataAlloc (a pointer is returned) HCI_DATA_CNF HCI_DATA_IND HCI_RspData Air uiLength = N tSeqNr = N, tHandle = 1 HCI_DataExtract (a pointer is returned) tSeqNr = N , tHandle = 1 ptDataMsg, ptHandle, puiLength, ptPacketBoundary tSeqNr = N, tErrorCode, tHandle = 1 HCI_DataSend tSeqNr = N, pucData, tHandle = 1, uiLength = N, tPacketBoundary

The HCI Terminal Application

The Application Main Window

Detail’s Window

Software Block Diagram USB Driver GUI Logic DB Main Application Ericsson Interface COM Server HCI Commands BT Messages BT Events BT API Other Messages Other Output

Software Logical View

Sending HCI Command Edit Command Parse Command Execute Command BT API Function Create Detail Object Add to Monitor Add to Log File Show Parameters Lower Layers Unknown Command or Bad Parameters Send Button Known Command Return Void Event

HCI Event Sequence Message Map Extract Parameters BT API Function Create Detail Object Add to Monitor Add to Log File Messages Handlers Lower Layers BT Event Msg Other Messages Return Value - Void Event Respond (or Init Sequence)

?

The End Thank you all