Register
Submit a solution
The challenge is finished.

Challenge Overview

WeChat is a famous Instant Messaging app (especially in China) with nearly 850 million monthly users, developed by a Chinese Internet giant - Tencent.

 

WeChat mini programs (Mini Apps) are small applications within WeChat -- technically more basic than the “real” applications that we typically download.

 

Mini programs are different from “real” applications, they are very light, and there is no need to download them to your phone, they are just like messages, or links of HTML5 websites. You can access them anywhere, anytime, and if you no longer want one of your Mini Programs, all you have to do is delete it from WeChat. It’s as simple as deleting a message.

 

In this challenge, our client wants to check the feasibility of communicating to a Bluetooth device from the WeChat Mini Program. The communication should include:

  1. Establish a connection to the Bluetooth device using BTC(Bluetooth Class, or BR/EDR, not BLE)

  2. Send data to the Bluetooth device.

 

(A) Bluetooth Limitations of Mini Programs

 

We have done a basic investigation before running this challenge, and we found some limitations of the Bluetooth connection, here are our investigation results.

 

1. Two Bluetooth versions - BR/EDR and BLE

 

Bluetooth contains two versions, BR/EDR (Basic Rate/Enhanced Data Rate) and BLE (Bluetooth Low Energy). BLE limits data throughput to save the power consumption. So devices like printers, speakers can’t use BLE, instead, they use BR/EDR, which supports higher data throughput and consumes more power.

 

Here are some references about the difference between BLE and BR/EDR.

 

2. WeChat mini program framework only supports BLE

WeChat officially provides a Bluetooth adapter interface API to support the communicating to Bluetooth devices. Unfortunately, according to our investigation, it seems only BLE connections are supported.

 

Here are some references about the WeChat mini program Bluetooth development

 

We need to investigate a way to make the mini program of WeChat to communicate to the devices via BR/EDR (BTC), not BLE.

(B) Challenge Goals

The goal of this challenge is to investigate a way to make the mini program of WeChat to communicate to the devices via BR/EDR (BTC).

 

In this challenge, you should

  1. develop a WeChat mini program as a demo.

  2. write a report to prove the feasibility or infeasibility of communicating to devices via BR/EDR.

 

Your demo WeChat mini program should:

  1. run on the latest version of WeChat, only the Android platform is required.

  2. implement one of the following scenarios via Bluetooth:

    (1) send a picture or any large data file (larger than 1MB) to another mobile phone via Bluetooth.
    (2) play a music on a headset via Bluetooth.

    These two scenarios require higher data throughput so BR/EDR is required.

 

As this challenge is a PoC and we understand it requires a lot of investigation and the final result might be “infeasible”. We’ll use a subjective scorecard for the review, your submission will be subjectively judged by the copilot and the client, so there will be no appeal and appeal response phase.

 

We understand it might be difficult or even infeasible, but please make a try. You will still win even though you prove the infeasibility of communicating via BR/EDR, as long as you provided a completed sample code and report to prove it.

(C) Tips & References

 

Here are some tips for WeChat mini program development.

  1. The documentations are not quite friendly because most documentations are in Chinese, few in English, because the Tencent is a Chinese company. Please try to use Google Translation to help you read if you can’t read Chinese. Feel free to ask me to help you in the forum. I’m a native Chinese and will definitely do some help.

  2. Some Chinese keywords to help you search. (See the forum, the spec can't display Chinese Characters correctly)

  3. http://open.wechat.com is the official website for WeChat development (in English).

  4. https://developers.weixin.qq.com/miniprogram/dev/ is the official website for WeChat mini program development (in Chinese but more recommended)

 

Here are some references for WeChat mini program and its development, if you are not familiar with it yet.

 
  1. Introduction of WeChat Mini Programs:

    https://www.youtube.com/watch?v=OKcdUT3ZSwA
    https://www.youtube.com/watch?v=W75UTvTxi9Q
  2. A brief tutorial to develop a WeChat Mini Program

    http://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mini-programs/development/brief-tutorial#development_brief-tutorial
    https://developers.weixin.qq.com/miniprogram/dev/ (Chinese version)
     
  3. An English wiki for Mini program: https://github.com/apelegri/wechat-mini-program-wiki

 



Final Submission Guidelines

-  A zip file containing your Mini Program Source Code.

-  A very detailed deployment guide (in md, PDF or docx). Please make sure reviewers can follow your deployment guide step by step to deploy and run your mini program project.

- A report (in PDF or docx) to verify the feasibility or infeasibility of communicating to the Bluetooth device via BR/EDR.

- A video to demonstrate the required use scenario (only required if you proved the BR/EDR communication is feasible).

 

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30067094