Hercules Bluetooth Configuration Service - Initial wifi setting proof of concept

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Server targeting Raspberry Pi 3 with BLE

  • Client targeting Android 8+

  • This challenge will extend an existing bluetooth configuration service to allow for setting a server’s (rPi) wifi settings via a mobile app (Android).  This challenge will add wpa_supplicant support to the existing configuration service and will build a simple mobile app for testing.

 

Project Background

  • This is the first of a few challenges to help build out the server configuration app.  The configuration app will eventually be put into embedded devices in user’s home and will allow for setup via a mobile app.

  • This challenge will prove out that setting wifi settings over bluetooth will work successfully.

  • Future challenges will add more features to the server and client, including building out formal client libraries for use in numerous Android and iOS apps.

 

Technology Stack

 
  • C / C++ on the server side, targeting Raspberry Pi 3

  • Android / Java on the client side, targeting Android 8+, with BLE required

 

Code access

The code can be found here:   https://github.com/jmgasper/bleconfd

Individual requirements

These tickets comprise the requirements for this challenge:

 

Note:  You should provide a simple Android app that allows for:

  • Connecting to the server running on an rPi 3

  • Setting wifi settings on the server

  • Showing a success message when the rPi connects to the wifi network

 

Deployment guide and validation documen

Make sure to require two separate documents for validation.

 

A README.md that covers:

  • How to apply the patch to the existing codebase

  • How to deploy the codebase to a raspberry pi 3.  Make sure to cover the OS and dependency requirements for the rPi.

  • How to build, deploy, connect, and test the Android app.

 

A Validation.md that covers:

  • How to use the Android app to send wifi settings to the rPi.  Make sure that we can test this without having the rPi on a wifi network first.  

  • Make sure to also include how to clear out the wifi settings.  This will allow for multiple tests.

 

Validation video / screencast

  • No video is required

 

What To Submit

  • Patch file against the HEAD of the master branch in the git repo mentioned above

  • Source code for a simple Android app that allows for setting wifi settings on the client

  • README.md that covers the items above

  • Validation.md that covers the items above



Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30074853