INDUSTRIAL BLUETOOTH FTP/OPP. User Manual



Similar documents
Bluetooth Web Enabler

AXIS 5810 A Bluetooth Print Plug. Quick Start

FileMover 1.2. Copyright Notice. Trademarks. Patents

Moxa Device Manager 2.0 User s Guide

GIVE WINGS TO YOUR IDEAS TUTORIAL

Out n About! for Outlook Electronic In/Out Status Board. Administrators Guide. Version 3.x

Training module 2 Installing VMware View

Enterprise Server Setup Guide

Short Manual Intellect v SP2 module Unipos Contents:

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Moxa Device Manager 2.3 User s Manual

MGC WebCommander Web Server Manager

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

Network Printing In Windows 95/98/ME

Version 1.0 Revision MODBUS/TCP Ethernet Communication Interface API for the Intelligent Instrumentation WinCE Platform SETUP MANUAL

DUKANE Intelligent Assembly Solutions

SQL Server 2008 R2 Express Edition Installation Guide

Operating Instructions Serial Monitor ROBERT RIELE GmbH & Co KG

How Do I Upgrade Firmware and Save Configurations on PowerConnect Switches?

Backup Server DOC-OEMSPP-S/6-BUS-EN

AVG 8.5 Anti-Virus Network Edition

AT&T Global Network Client Domain Logon Guide. Version 9.6

Application Note: FTP Server Setup on computers running Windows-7 For use with 2500P-ACP1

SQL Server 2008 R2 Express Installation for Windows 7 Professional, Vista Business Edition and XP Professional.

4 Networking Generators

Portions of this product were created using LEADTOOLS LEAD Technologies, Inc. ALL RIGHTS RESERVED.

SIM900_Custom Application Building Tutorial_Application Note_V1.00

Networking Best Practices Guide. Version 6.5

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

for Networks Installation Guide for the application on the server July 2014 (GUIDE 2) Lucid Rapid Version 6.05-N and later

UniKey Family 0. UniKey Time

AdminToys Suite. Installation & Setup Guide

Secure IIS Web Server with SSL

ebus Player Quick Start Guide

Parallels Plesk Panel

BLE113 DEVELOPMENT KIT

@ptitude Observer. Installation Manual. Part No Revision G

Cisco TelePresence Authenticating Cisco VCS Accounts Using LDAP

MCTS Guide to Microsoft Windows Server 2008 Applications Infrastructure Configuration (Exam # )

HotelTV. Client Software Update REV A0.10 D October. Web : Mail : support@vestek.com.tr Tel :

M85 OpenCPU Solution Presentation

Virtual CD v10. Network Management Server Manual. H+H Software GmbH

DCOM settings for computer-to-computer communication between OPC servers and OPC clients

SIP-DECT Knowledge Base SIP-DECT System Update

IIS SECURE ACCESS FILTER 1.3

Administrator s Guide

How to troubleshoot MS DTC firewall issues

DCOM Setup. User Manual

PN L, Revision B, October Epic 950 TM. Master Programmer User s Guide

Version 3. Installation Guide for SQL Server 2005 Express Edition. Copyright 2011 Teclink Development Ltd. All rights reserved.

Administering the Web Server (IIS) Role of Windows Server

24x7 Scheduler Multi-platform Edition 5.2

Immotec Systems, Inc. SQL Server 2005 Installation Document

Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13

SAPIP GUI INSTALLATION. Table of Contents

inforouter V8.0 Server & Client Requirements

Guide to Installing BBL Crystal MIND on Windows 7

HP Device Manager 4.6

Accessing BlackBerry Data Services Using Wi-Fi Networks

White Paper. Installation and Configuration of Fabasoft Folio IMAP Service. Fabasoft Folio 2015 Update Rollup 3

2 Advanced Session... Properties 3 Session profile... wizard. 5 Application... preferences. 3 ASCII / Binary... Transfer

Hyper-V Server 2008 Setup and Configuration Tool Guide

Managing Wireless BlackBerry Device Software Updates on the BlackBerry Enterprise Server

Python for Series 60 Platform

Table of Contents. Safety Warnings..3. Introduction.. 4. Host-side Remote Desktop Connection.. 5. Setting Date and Time... 7

Step-by-Step Guide for Creating and Testing Connection Manager Profiles in a Test Lab

Part K:11 OBJECT PUSH PROFILE

Release Notes Version of Windows Mobile 6.1 Operating System for the Allegro MX Field PC

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

Microsoft SQL Server Express 2005 Install Guide

Integration Guide. Microsoft Internet Information Services (IIS) 7.0 and ncipher Modules. Windows Server 2008 (32-bit and 64-bit)

Step-by-Step Setup Guide Wireless File Transmitter FTP Mode

2009 Ing. Punzenberger COPA-DATA GmbH. All rights reserved.

Microsoft Security Bulletin MS Important

TECHNICAL NOTE TNOI27

Last updated: 10/02/2009. SQL Info Pack. for new or existing PATGuard users who are considering SQL database formats for their PAT records. Rev 1.

Iridium Extreme TM Satellite Phone. Data Services Manual

Migrating MSDE to Microsoft SQL 2008 R2 Express

VERITAS NetBackup Microsoft Windows User s Guide

Network setup and troubleshooting

Installing SQL Express. For CribMaster 9.2 and Later

WEB CONFIGURATION. Configuring and monitoring your VIP-101T from web browser. PLANET VIP-101T Web Configuration Guide

ScanWin Installation and Windows 7-64 bit operating system

SQLBase. Starter Guide

FTP Server Configuration

SQL Server 2005 Express Installation guide

IBM WebSphere Application Server Version 7.0

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

Using Internet or Windows Explorer to Upload Your Site

EMC Data Protection Search

IP SERIAL DEVICE SERVER

Knowledge Base Article: Article 218 Revision 2 How to connect BAI to a Remote SQL Server Database?

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer.

Application Note: FTP Server Setup on computers running Windows-XP For use with 2500P-ACP1

Microsoft Virtual Labs. Administering the IIS 7 File Transfer Protocol (FTP) Server

APx4 Wireless System-on-Module 5/8/2013 1

LANCOM Leased Line Option

Windows Azure Pack Installation and Initial Configuration

Oracle Call Center Connectors

Quadro Configuration Console User's Guide. Table of Contents. Table of Contents

Transcription:

INDUSTRIAL BLUETOOTH FTP/OPP User Manual

FTP/OPP User Manual

Copyright 2003 connectblue AB The contents of this document can be changed by connectblue AB without prior notice and do not constitute any binding undertakings from connectblue AB. connectblue AB is not responsible under any circumstances for direct, indirect, unexpected damage or consequent damage that is caused by this document. All rights reserved. Release: 200804 Document version: 1.01 Document number: cbproduct-0709-02 (4) Printed in Sweden. Trademarks Registered trademarks from other companies are: Bluetooth is a trademark owned by the Bluetooth SIG, Inc. Microsoft, Windows, Windows NT, Windows 2000, Windows CE, Windows ME, Windows XP are registered trademarks from Microsoft Corporation.

Contents 1 INTRODUCTION... 7 1.1 RELATED DOCUMENTS... 7 2 OVERVIEW... 8 2.1 ARCHITECTURE... 8 2.2 QUALIFICATION... 9 2.3 OBEX... 9 2.4 MD5... 9 3 GETTING STARTED... 10 3.1 SETTING UP THE SERIAL PORT ADAPTER... 10 3.2 RUNNING THE FTP SERVER ON WINDOWS... 10 3.3 RUNNING THE OPP SERVER ON WINDOWS... 11 4 SOURCE CODE... 12 5 PORTING TO ANOTHER PLATFORM... 13 5.1 MEMORY USAGE... 13 5

6

1 Introduction This manual describes how to use FTP and OPP packet with the connectblue Serial Port Adapter. Section 2 describes the different components of the delivery and Section 3 describes how to get started. The source code is briefly discussed in Section 4 and Section 5 explains how to port the code to another platform. 1.1 Related Documents The Serial Port Adapter AT Commands document, this document, contains a description of the AT commands supported in the Serial Port Adapter. It also contains information on how to use the AT commands to create Bluetooth applications. The OEM Serial Port Adapter Electrical & Mechanical Datasheet contains important information about the OEM Serial Port Adapter. Read this document if you are using the OEM Serial Port Adapter. 7

2 Overview 2.1 Architecture The connectblue Serial Port Adapter now supports both the File Transfer Profile (FTP) and the Object Push Profile (OPP). The solution is intended for host-based applications where the host executes the actual FTP or OPP server/client and the Serial Port Adapter executes all Bluetooth functionality up to the RFCOMM protocol. Since most of the Bluetooth stack is executed in the Serial Port Adapter the solution is ideal for hosts with a limited amount of memory. Host Serial Port Adapter FTP/OPP Server/Client OBEX Port Layer Bluetooth Protocols up to RFCOMM Serial Port Typically, to use the FTP or OPP code in a new host the following must be done: - Modify port layer to new environment. This is very easy. - Update/develop FTP/OPP server/client according to the specific customer requirements. All development and testing (except port layer) can be done on a PC with a Serial Port Adapter connected to it. There are currently both FTP and OPP servers available for a Windows platform to use for testing or as a starting point for development. 8

2.2 Qualification Please note that the FTP and OPP profile support has not been Bluetooth qualified. This means that the customer is responsible to Bluetooth qualify the final product according to the specific customer configuration and requirements. For SIG members such as connectblue, a tool can be downloaded for free, and all PRD v2.0 profile tests can be done according to the customer specific configuration. As before the SIG listing fee is still mandatory. It is possible that there is some code missing to pass the PRD 2.0 profile testing. 2.3 OBEX The OBEX protocol is needed to implement both the File Transfer Profile (FTP) and the Object Push Profile (OPP). Both profiles mainly describe how to use the OBEX protocol to comply with the Bluetooth specification. The OBEX protocol that executes in the host is developed by the OpenOBEX project, which is an open source project to implement the OBEX protocol. It was originally implemented to run in a Linux environment. The source code is licensed under LGPL. For more information see www.openobex.org. connectblue has modified the code to use a COM port as the transport media and a connectblue Serial Port Adapter connected to the COM port. The Serial Port Adapter is configured using AT commands. The Bluetooth connection is handled by configuring the Serial Port Adapter, which means that all parts of the OpenOBEX code concerning setting up the transport media is not needed. 2.4 MD5 The MD5 Message-Digest Algorithm is used for authentication. The algorithm is developed by RSA Data Security, Inc. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. There are several free MD5 algorithms implemented in C and it should be no problem to change if the used one is not acceptable. 9

3 Getting Started The following section describes how to set up the Serial Port Adapter, the FTP Server and the OPP Server. 3.1 Setting up the Serial Port Adapter Firmware is downloaded to the module using Blueberry Loader 1.5. Settings are modified with the Serial Port Adapter Toolbox. These applications are available from http://www.connectblue.se/support/. (For Blueberry Loader download the zip-file called Flash Loader). 1. Connect the Serial Port Adapter to a COM port on a PC. 2. Follow the instructions in the readme.txt file for the Blueberry Loader, but change the firmware file from the default to the one in the firmware directory in this delivery. Since the paths are relative you also need to update the paths of the other files after adjusting the firmware file. 3. To set up for FTP the default server mode needs to be changed. Open the Toolbox and connect. Switch to AT Mode when connected to the Serial Port Adapter. Issue the command at*addsp=x,1 with X replaced with an appropriate number depending on which profiles to use. See the following table for values for X and their corresponding profiles. Restart the Serial Port Adapter after changing the server mode. X=4 FTP X=5 OPP X=6 FTP,SPP X=7 OPP,SPP The Serial Port Adapter is now set up for use with either the FTP or OPP Server. 3.2 Running the FTP Server on Windows 1. Open the openobex FTP project in the build folder in Microsoft Developer Studio 6.0. 2. In file cp_port.h in the lib folder there is a #define called ROOT_DIR. This constant designates the root directory used by the server. Change it to an appropriate value. The default value is "C:\\Temp\\Ftp". 3. Adjust the COM port, which is hard coded in the application. The port is the first argument to the function CreateFile called in com_open in file cb_port.c. Default value is COM1, 57.6 kbits/s, 8N1, HW flow Ctrl. 4. Add #define FORCE_FTP_AUTHENTICATION in the cb_port.h file to enforce the use of authentication to setup an OBEX connection. As default it is commented out. 10

5. Compile the project. It compiles with 15 warnings on warning level 3. 6. Run the application. From a remote FTP client it should now be possible to access the files in the folder to which ROOT_DIR is set. 3.3 Running the OPP Server on Windows 1. Open the openobex OPP project in the build folder in Microsoft Developer Studio 6.0. 2. Change the #define VCARD_DIR in file cb_port,.h to an appropriate value. It designates where the owner s business card is stored and also where to put received objects (typically business cards). The default is "C:\\Temp\\Vcards" 3. Change the #define BUSINESS_CARD to the name of the file containing the owner s business card, which will be sent to clients on request. The default is bluetooth.vcf and it should be located in the VCARD_DIR above. 4. Adjust the COM port in the same way as for the FTP Server. 5. Compile the project. It compiles with 15 warnings. 6. Run the application. Connect with an OPP client (this could be a cell phone for example) to send and receive business cards. 11

4 Source Code The host software is divided into four parts: Port layer, OBEX, MD5 and FTP/OPP Server. The FTP and OPP servers are implemented for reference. Port layer Files cb_port.c and cb_port.h contain the port layer to the Windows environment. It mainly consists of functions to handle COM ports and accessing the file system of the host. Of the functions in the port layer only the FTP/OPP Server uses the following: com_open, file_open, file_close, file_read, file_write, file_set_path. The FTP Server additionally uses these functions: file_directory, file_create_dir, file_delete, md5_getseed, md5_getpassword Only the OBEX layer uses following functions: com_is_data_available, com_write, com_read, port_ntohs, port_htons, port_ntohl, port_htonl. OBEX OpenOBEX implements the OBEX layer. The OBEX API is in the file obex.h. The files implementing OBEX are databuffer.c, databuffer.h, usbobex.h and all files whose names start with obex. MD5 Used for authentication. Implementation is in files md5.c and md5.h. Not used in the OPP Server. FTP Server The FTP server is implemented in file main_ftp_server.c. OPP Server The OPP Server is implemented in file main_opp_server.c. The server first opens the COM port and initializes OpenOBEX to receive a handle. Then the main (infinite) loop is entered which calls OBEX_HandleInput. This function repeatedly checks for data on the COM port. When there is incoming data the server part of OpenOBEX will be called. Events are delivered to the server via a callback function called obex_event. The function performs a switch-command on the received event to execute the correct function. Commands may be received on the events. For example, when the server receives OBEX_EV_REQ (indicating an incoming request) it will perform a switch statement on the possible commands, see function server_request in file main_ftp_server.c. 12

5 Porting To Another Platform When porting the FTP/OPP Server and OpenOBEX to a host other than Windows there are a few issues to consider. Most importantly, the functions in the files cb_port.c and cb_port.h must be rewritten for the new platform. It might also be necessary to make some changes in OpenOBEX itself, described in the following paragraphs. The OpenOBEX implementation assumes that structures (defined by the keyword "struct" in C) are packed. That is, they are not padded to a particular size. On the GCC compiler for ARM this can be achieved by defining the symbol PACKED as follows in file obex_header.h. #define PACKED attribute (( packed )) It may also be necessary to change the definitions in file common_types.h to match the sizes of the data types on the new platform. 5.1 Memory usage The FTP Server uses approximately 40kb of ROM. When running the OPP Server the ROM usage is about 34kb. 13