Smart Table
UCF Group 34

The Communication


User Application Evolution

Bluetooth 2.1 was desired as an ideal method of communication for the smart table due to its ubiquity and compatibility. An important technical design deviation taken was the inclusion of two Bluetooth modules rather than one. The developers decided to incorporate multiplayer gaming because the general vision of the table shifted from information to entertainment. Since a Bluetooth module can only pair with a single device, two of them are required to support two independent connections. Up to three players are possible because the microcontroller supports up to three independent UART devices through the Texas Instruments Serial Communications Interface (SCI); they are SCI-A, SCI-B, and SCI-C respectively. The first module operates on the SCI-B and the second module operates on the SCI-C. As such, the modules are connected to a total of four GPIO pins on the microcontroller; two of them are multiplexed as inputs, and two are multiplexed as outputs.

User Application Design

There are a couple of approaches to gathering user input: a smartphone user application or a physical remote controller. The developers chose to implement communication in the form of a smartphone application to minimize hardware production costs. The smartphone application was designed for the open-source Android operating system since it is one of the most widely used mobile platforms. The application is intended to serve as a graphical user interface through which the Smart Table can be controlled remotely. The application was written in the Java programming language and allows the user to issue commands using virtual buttons on the touch-screen display of the smartphone. The design lifecycle can be seen in the following image. The most noticeable difference between earlier versions of the app and the final version is the increased button size, as well as the pink and blue color contrast for easier visual differentiation of the buttons.

User Input Overview

An individual simply needs to have the application on their supported Android device to communicate with the smart table. In a typical scenario, a user will download and install the Smart Table Android application. Once the app is opened, the user will connect to one of the two Bluetooth connections, broadcasted as "Player 1" and "Player 2" respectively. Upon tapping a button, the associated command is translated into packets sent over the Bluetooth frequency-hopping spreading spectrum (FHSS) and stored in a data buffer. The data is then echoed to the UART transmit pin of the Bluetooth module. The microcontroller continuously polls the UART receive pin for a command, which activates the various control flow statements in the main microcontroller program.

Future Improvements

In the future, it would be desirable to support multiple mobile platforms such as iOS and Windows Mobile. Physical controller support would also be ideal for those who prefer it. If the developers decided to integrate their product with existing Internet-of-Things devices, such as the Amazon Echo, Philips Hue, or Nest Learning Thermostat, it would be necessary to use Wi-Fi with, or in place of, Bluetooth. Such integrations would make the smart table a more versatile and coveted product.


Gallery


Late image of app
Portrait of app
Bluetooth device searching
Earlier app design
Prototype windows app
Landscape placement testing
Further bluetooth device searching