The purpose of this application is to help explore the use of MQTT (Message Queuing Telemetry Transport) as defined by OASIS. It makes use of a shared library (libMqtt.so) we've written, as a Proof of Concept, that implements some of the main aspects of the API needed by an MQTT client.
MQTT provides a lightweight publish/subscribe reliable messaging transport protocol suitable for communication in M2M/IoT (Machine to Machine/Internet of Things) contexts where a small code footprint is required and/or network bandwidth is at a premium.
The sample code for this application is Open Source under the Apache 2.0 License.
Applies To
Author
Release History
- V1.0.0 - Initial release
Dependencies
- Minimal requirement for BlackBerry 10 Device Software is 10.2.0
- Minimal requirement for BlackBerry 10 Native SDK is 10.2.0
- Mqtt library 1.0.0 (also available from this GitHub repo)
How to Build TestMqtt
Simply import the project into a workspace in your NDK. Of course you should review the project after it's been imported; for example, paying attention to the settings in the bar-descriptor.xml file.
This project makes use of the Mqtt library libMqtt.so. If you've installed the Mqtt project in the same workspace as this project then simply build the Mqtt project first, then perform a "Clean" and "Build" on this project. There is some logic built into the TestMqtt.pro file to locate and use the public header files for Mqtt and libMqtt.so itself.
But I don't want to build it myself!
If you don't want to build this sample application yourself we've included a pre-built and signed BAR file. You can find it in the folder "installable-bar-files" as follows:
- TestMqtt-1_0_0_254.bar -- Signed BAR file for Version 1.0 (V1.0) of the application (requires BlackBerry 10 Software 10.2.0 or later).
To contribute code to this repository you must be signed up as an official contributor.
Known Issues
- None
Please see the README of the Cascades-Community-Samples repository for instructions on how to add new Samples or make modifications to existing Samples.
If you find a bug in a Sample, or have an enhancement request, simply file an Issue for the Sample and send a message (via github messages) to the Sample Author(s) to let them know that you have filed an Issue. If you have a solution to an issue you can contribute your fix and issue a Pull Request to have it reviewed and integrated into the main repo.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.