2011 Embedded Systems Software Training Center BluRapport SDK.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Introduction to Sockets Jan Why do we need sockets? Provides an abstraction for interprocess communication.
Design By Contract Using JMSAssert.
CS 450 Module R4. R4 Overview Due on March 11 th along with R3. R4 is a small yet critical part of the MPX system. In this module, you will add the functionality.
Module R2 Overview. Process queues As processes enter the system and transition from state to state, they are stored queues. There may be many different.
TFTP (Trivial File Transfer Protocol)
Utilizing the GDB debugger to analyze programs Background and application.
CCNA – Network Fundamentals
2011 Embedded Systems Software Training Center BluRapport SDK.
FILE TRANSFER PROTOCOL Short for File Transfer Protocol, the protocol for exchanging files over the Internet. FTP works in the same way as HTTP for transferring.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Browsing the World Wide Web. Spring 2002Computer Networks Applications Browsing Service Allows one to conveniently obtain and display information that.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
John Degenhart Joseph Allen.  What is FTP?  Communication over Control connection  Communication over Data Connection  File Type  Data Structure.
FreeRTOS.
FTP File Transfer Protocol. Introduction transfer file to/from remote host client/server model  client: side that initiates transfer (either to/from.
2011 Embedded Systems Software Training Center BluRapport SDK.
Hacking the Bluetooth Pairing Authentication Process Graduate Operating System Mini Project Siyuan Jiang and Haipeng Cai.
IT 210 The Internet & World Wide Web introduction.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Embedded Systems Software Training Center Unit Testing Workshop Copyright © 2012 DSR Corporation.
1 Client API Goals: evolvable, easy to use Design decision: –event-driven, non-blocking programming model –Data items are immutable Main data structure:
Home Media Network Hard Drive Training for Update to 2.0 By Erik Collett Revised for Firmware Update.
LWIP TCP/IP Stack 김백규.
ACE Address Configuration Executive. Why ACE? ACE provides access to several address resolution protocols under a single API ACE is the only API available.
OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile
1 Tradedoubler & Mobile Mobile web & app tracking technical overview.
FTP Client Application CSC 8560 Brian Jorgage 4/27/2004.
File Transfer Protocol (FTP)
1 INFO 321 Server Technologies II FTP Material adapted from Dr. Randy Kaplan.
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Remote Shell CS230 Project #4 Assigned : Due date :
© 2004 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. ARMing Apache David Carter.
TFTP: Trivial file transfer protocol
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
Webview and Web services. Web Apps You can make your web content available to users in two ways in a traditional web browser in an Android application,
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Networking Material taken mainly from HowStuffWorks.com.
Free Powerpoint Templates Page 1 Free Powerpoint Templates Users and Documents.
COLONYWIRELESS September 26, Outline 1.Motivation and Goals 2.Introduction to the XBee 3.The Wireless Library 4.Example Packet Group 5.The Token.
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
FTP Client API FTP in embedded devices Implementing an FTP Client FTP Command APIs Other FTP Client APIs.
Introduction to FUSE (File system in USEr space) Speaker:Zong-shuo Jheng Date:March 14, 2008.
DMA Driver APIs DMA State Diagram Loading Driver and Opening Channel DMA Channel Attributes Loading Data to a Channel Unloading Data from a Channel.
INTERNET APPLICATIONS CPIT405 Install a web server and analyze packets.
Tgt: Framework Target Drivers FUJITA Tomonori NTT Cyber Solutions Laboratories Mike Christie Red Hat, Inc Ottawa Linux.
FTPLIB Dick Steflik CS360. FTPLIB a Python module to allow the user to transfer files between a user program and an FTP Server. The user should understand.
Content Coverity Static Analysis Use cases of Coverity Examples
Authentication & .htaccess
Active Server Pages Computer Science 40S.
Hypertext Transport Protocol
File Transfer and access
2018 Real Cisco Dumps IT-Dumps
NetSilicon & Digi Confidential
UNIX Sockets Outline Homework #1 posted by end of day
Getting Started with Git and Bitbucket
HyperText Transfer Protocol
Introduction to Static Analyzer
Deepak Shenoy Agni Software
Windows Server Administration Fundamentals
Chapter 7 Network Applications
Computer Networks Protocols
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Jim Fawcett CSE681 – Software Modeling & Analysis Fall 2008
Presentation transcript:

2011 Embedded Systems Software Training Center BluRapport SDK

Agenda Continue learn how to work with BluRapport SDK PIN code OBEX API l Implement FTP browser

Questions l What is the Inquiry process? l What is the Service Discovery process?

Common API Main Functions that are used to work with PIN code: int rx_set_fixed_pin(TCHAR* pin) – setup pin code, After that call the stack will reply this PIN immediately, without calling PIN callback. void rx_register_pin_request_callback(rx_pin_code_request_callback_t func, void *user_ptr) - install PIN callback. -func - user-supplied function which should return PIN -user_ptr - pointer to user's private data to pass into callback as 1-st parameter typedef rx_ret_t (*rx_pin_code_request_callback_t)(void * user_data, unsigned timeout_ms, rx_remote_device_user_t *remote_device, TCHAR *out_pin_code) - callback to answer on PIN request -user_data - pointer passed to rx_register_pin_request_callback. -timeout_ms - time limit for PIN code request -remote_device - information about device which requested PIN. -out_pin_code PIN to pass to the stack

Your Task 1 1.Prepare application with support fixed pin code (use rx_set_fixed_pin()) 2.Prepare application with support user defined pin code (use rx_register_pin_request_callback())

OBEX API Main Functions that are used to work with OBEX profile: rx_ret_t rx_obex_initialize () - function initializes OBEX subsystem. This function must be called first, othewise OBEX APIs will not work. When you are done using OBEX call rx_obex_deinitialize rx_ret_t rx_obex_deinitialize () – Frees the resources that are allocated by rx_obex_initialize. This function must be called if rx_obex_initialize return RET_OK. It also stops all services started by rx_obex_register_service without need of the handles.

Demo FTP browser Main Functions that are used to work with OBEX profile: rx_ret_t rx_obex_connect(rx_obex_handle_t *connection_handle, rx_obex_connection_info_t *connection_info) - Establish OBEX connection. connection_info - structure containing connection parameters. rx_ret_t ret = RET_OK; rx_obex_handle_t handle = NULL; rx_obex_connection_info_t connection_info; rx_bd_addr_t bd_addr; unsigned channel;... memset(&connection_info, 0, sizeof(connection_info)); memcpy(connection_info.uuid, RX_OBEX_FTP_UUID, RX_OBEX_FTP_UUID_LEN); connection_info.address.proto = RX_PF_RFCOMM; connection_info.address.protocol.rfcomm.channel = channel;(see Task 2 from Lab03) memcpy(&connection_info.address.protocol.rfcomm.bd_addr, &bd_addr, sizeof(rx_bd_addr_t)); connection_info.uuid_len = RX_OBEX_FTP_UUID_LEN; ret = rx_obex_connect(TRS_CALL &handle, &connection_info);

Demo FTP browser Main Functions that are used to work with OBEX profile: rx_ret_t rx_obex_ftp_put_file(rx_obex_handle_t connection_handle, TCHAR *file_name, TCHAR *src_dir, rx_obex_ftp_operation_progress_t *progress) - Copies a single file to the current directory for this connection on OBEX server -connection_handle - handle obtained by call to rx_obex_connect() -file_name - file name of the file to be pushed. - src_dir - the directory from where file will be taken. If this parameter is NULL, file is taken from the current directory (specified in connection_info structure during connect). - progress - operation progress callback. Function will be called after sending every packet with file body. This parameter could be null if information about progress is useless.

Demo FTP browser Main Functions that are used to work with OBEX profile: typedef struct rx_obex_ftp_operation_progress_s { rx_obex_ftp_operation_progress_callback_t callback; /* user callback function to be called * during file operation */ void *user_data; /* pointer to user data. This pointer will be returned in file operation callback */ } rx_obex_ftp_operation_progress_t; typedef rx_bool_t (* rx_obex_ftp_operation_progress_callback_t)(void* user_data, rx_uint32_t rest_bts, rx_uint32_t total_rest_bts, TCHAR *file_name) - OBEX file operation progress function. -user_data - pointer to user data. Filled by user in rx_obex_ftp_operation_progress_t structure before call FTP operation that support progress callbacks. -rest_bts - bytes rest to transfer current file. -total_rest_bts - total bytes rest to transfer. -file_name - pointer to the file name which is now transferred.

Demo FTP browser Main Functions that are used to work with OBEX profile: Example of using progress callback: rx_bool_t operation_progress(void *d, rx_uint32_t rest_bts, rx_uint32_t total_rest_bts, TCHAR *name) { (void)d; xprintf(_T("file to transfer %s; %d bytes total; %d bytes left\n"), name, total_rest_bts, rest_bts); return RX_TRUE; } … prgs.callback = &operation_progress; prgs.user_data = NULL; ret = rx_obex_ftp_put_file(TRS_CALL gs_handle, gs_path, NULL, &prgs);

Demo FTP browser Main Functions that are used to work with OBEX profile: rx_ret_t rx_obex_ftp_get_file(TRS_PROTO rx_obex_handle_t connection_handle, TCHAR* file_name, TCHAR* dest_dir, rx_obex_ftp_operation_progress_t *progress) - Gets a single file from the server -connection_handle - handle obtained by call to rx_obex_connect. -file_name - file name to get from the server. -dest_dir - the directory where the file should land (with the same name as the source). -progress - operation progress callback. Function will be called after sending every packet with file body. This parameter could be null if information about operation progress is useless. NOTE: if dest_dir is NULL, the received file will be placed in the default directory (specified in connection_info structure during connect).

Demo FTP browser Main Functions that are used to work with OBEX profile: rx_ret_t rx_obex_ftp_chdir(rx_obex_handle_t connection_handle, TCHAR *dir) - Changes the current directory that the client sees on the server. -connection_handle - handle obtained by call to rx_obex_connect. - dir - path to the new directory. rx_ret_t rx_obex_ftp_find_first(rx_obex_handle_t connection_handle, TCHAR *dir_name, rx_obex_ftp_find_data_t *data) - Gets remote directory information -connection_handle - handle obtained by call to rx_obex_connect. -dir_name - remote directory name. -data - data about the first file found. rx_ret_t rx_obex_ftp_find_next(rx_obex_handle_t connection_handle, rx_obex_ftp_find_data_t *data) - Finds next remote file or folder. -connection_handle - handle obtained by call to rx_obex_connect. -data - data about the next file found. NOTE: return RET_OK on success, RET_END_OF_LIST on end of list file, or errorcode - otherwise. rx_ret_t rx_obex_ftp_find_done(rx_obex_handle_t connection_handle) - Clear the information allocated by rx_obex_ftp_find_first. -connection_handle - handle obtained by call to rx_obex_connect.

Demo FTP browser Main Functions that are used to work with OBEX profile: Example of getting contents of folder: rx_ret_t ret = RET_OK; rx_obex_handle_t handle = NULL; rx_obex_ftp_find_data_t data;... ret = rx_obex_ftp_find_first(TRS_CALL handle, &data); while(ret != RET_OK) { ret = rx_obex_ftp_find_next(TRS_CALL handle, &data); } ret = rx_obex_ftp_find_done(TRS_CALL handle);

Your Task 2 Prepare simple application for support FTP browsing on remote device. Use OBEX API: -rx_obex_ftp_find_xxx() -rx_obex_ftp_chdir()

Your Task 3 Prepare simple application for support file transporting feature. Use OBEX API: -rx_obex_ftp_get_file() -rx_obex_ftp_put_file() Additional: -add support showing progress bar on sending/receiving process -Add supporting for "the interruption of send/recv data"

THANK YOU