Personally, I'm a guy that's very interested in the opportunities and possibilities that open up when combining software with hardware. Previously I had the chance to work with distributed software that works across multiple PC's at the same time. Now, I've taken an interest in dedicated hardware such as Arduino's and Bluetooth Modules. I'm currently working on creating a bluetooth low energy (Bluetooth LE) interface to work on Android. The image to the left shows the first version of a custom fit casing for a HM-10 Bluetooth Low Energy device that I 3D printed. The casing has a USB connection that allows the PC to interface with the module via Serial, furthermore any Bluetooth LE enabled device can connect to it and sent it Gatt commands. This module will be used for the Boat Control project that you can find on this website as well.
During week 4 of the smart mobile minor I did at the Fontys I made a proof of concept for Bluetooth Low Energy on the HM-10 chip coupled with an Arduino Nano and an Android phone. After looking at Google's documentation, mostly their BluetoothLeGatt sample, I was able to modify the HM-10's custom service and write my own data to and from the chip. The result of which is shown in the image to the left. It shows the Arduino's serial monitor where I send a 10 character message to the phone "TestSend01" I do this with the "ST+SEND" command which is a built-in command of the chip to send simple serial data to a client. On Android I then listen for this message, decrypt it and echo it back to the HM-10. The echo can be seen at the bottom of the screenshot along with some formatting that will be removed later.
This proof of concept was pivotal in the development of my individual app because it formed the basis for the functionality. All the must requirements in the MoSCoW analysis required the app to be able to send and receive data over bluetooth low energy so having it work was a huge relief.
After I had implemented the connection to the HM_10 bluetooth module on Android I wanted to move on to sending and receiving data from it. To demonstrate this I made the second iteration of the housing for the module (shown to the left of this paragraph). It's emulates the real control panel on the boat and it is able to send and receive data from from any bluetooth low energy enabled device. The module is fitted with RBG LEDs and buttons. Currently the LEDs change color when the corresponding button is pressed. They also change color when the bluetooth module receives the right command from a connected bluetooth device like an Android phone.