BitPipe Host SDK  API V1 Rev 1.3
Software Development Kit for integrating the BitPipe in Host applications.
BitPipe Host SDK

This SDK, and samples, have been created to ease the integration of the BitPipe by Host applications.

It contains the low-level binary protocol (a.k.a. message_protocol), along with a high-level API for all public operations documented in the BitPipe Serial API documentation.

The SDK contains updated comments with embedded javadoc directives. The generated documentation can be found at http://briowireless.com/products/Module-API-SDK-Documentation/ .

This SDK can be downloaded from Briowireless' Support page, or any download section for your BitPipe product flavor.

About Portability

The code found in this SDK and in the samples is written in plain 'C', and should be portable on any platform.

There is the usage of some 'C99' features, namely the Variable-length automatic arrays, which could be worked around by using a fixed-length global buffer in its stead, if your compiler is not ISO C99 compatible.

Threading

The samples were written in the optic of a single-threaded implementation.

If your platform supports threading, it would be suggested to isolate the reception and processing of messages from the BitPipe into a thread. Concretely:

  • Read the bytes from serial (UART/COM) port;
  • Push the bytes into the SDK using 'bp_api_process_incoming()'.
  • The above will make application callback invocations into the context of this thread.

Zip File Contents

BitPipe Host SDK (under directory bitpipe_api)

Contains the high-level BitPipe Serial API, along with the low-level binary protocol parser.

The directory hierarchy supposes a versionning of the API. As of the time of this writing, currently only version v1 exists.

Depending on your platform, you may need to adjust the platform_defs.h file definitions, so that SDK internals can compile correctly.

Platforms (under directory platforms)

Whether you choose to integrate the BitPipe from a resource-constrained microcontroller, or a powerful PC desktop, the compilation tools and support and hardware (UART/COM port) access will vary.

These platform-specific implementations are found under this directory. Currently, platform win32 and Linux have been implemented, so that you can test the samples easily from your PC computer, or any Linux distribution.

This layer is very small, and serves to reduce coupling between SDK-specific implementation and platform-specific implementation.

Samples (under directory Samples)

Small sample programs were created to easily demonstrate the integration of the BitPipe to perform typical operations, such as:

  • Connecting to a TCP server, and exchanging data;
  • Retrieving a web page, or creating POST request to publish information over HTTP.
  • Connecting to a MQTT broker, to send and receive MQTT publications.
  • Sending and receiving SMSes.

Each sample directory contains a Makefile.linux and pro file, both of which can be used to build the samples directly:

  • The Makefile.linux files are GNU Makefiles which should run under any Linux distribution, given the proper compilation tools are installed.
  • The .pro files in each sample directory can be opened directly with the QtCreator IDE. They are provided for reference, and may help you in running the samples on your platform. They are straight-forward.