Control with Bluetooth LE
Introduction – there is more than one way to get bits from point to point
Connecting devices using wired connections can be too complex or costly. The agility of some systems is compromised when hard wiring the components. Modifying becomes labor intensive. This is problematic for systems that are used for research or development. Wireless technology has advanced recently with the release of Bluetooth Low Energy.
Bluetooth LE has brought about a simpler way to connect and control devices. Earlier versions of bluetooth were notoriously difficult to pair. BLE has made it much easier. Also, the LE in the name stands for low energy. The longer operation means energy conscience projects that use wireless are feasible now.
Purpose – when doing it any other way is difficult
The project scope of wiring the sensor helmet has prompted me to rethink how the sensors will interconnect with the data logging circuitry. Although this project has been a lingering legacy, I would like to use BLE for use in a more practical way.
The lighting control on my bike only controls the headlamp currently. The helmet light still requires me to remove my hand from the handle bar grips to change modes. This is dangerous. Using BLE technology will allow me to control both headlights. It would also allow me more control and tracking options. This project is a good fit for entry into the world of BLE systems.
In this segment, I will propose the use of a platform still in development called BLEduino. The reasons why were that much of the work has been done by the development group. This will allow me to present the project without getting entagled in the gross specifics.
Detail – getting it done the way its suppose to
The BLEduino website has the title, “wireless made easy”. It is the work and dedication of a group called Kytelabs based out of San Juan, Puerto Rico. Here is the reason they live up to the title, documentation. They have provided a clean starting point for information here. It’s for this reason I’ve decided to use it as a development platform, even though the hardware is currently unavailable.
In this example we will want to control the headlight on a helmet using the push button on the handlebars. This will require that we use 2 BLEduino devices and a smart phone, which will be an iPhone in this example. The really interesting aspect of the BLEduino, is how the communications is setup. The iPhone will be acting as a communications hub between the 2 BLEduino devices. Here’s how each of these three components will operate.
The bike BLEduino will be hardwired to the handlebar push button and the bike Dinotte headlight. Locating it with the battery pack, in the rear cargo bag will protect it from the elements. It will then relay the push button state to the bike’s Dinotte 400L PLUS headlight. Operating the Dinotte headlight is specific on how the button is pressed. This is predefined by Dinotte manufacturing. Here is an overview of the operation:
- 2 quick button press and releases turns on the headlight
- a press and hold turns the headlight off
- while on, 2 quick button press and releases changes the headlight operating mode between steady and flash
- while on, a single button press cycles through 3 operating modes.
- the steady operating modes go from low, normal, and high
- the flash operating modes go from slow pulse, fast pulse, and strobe
Since the handlebar push button is the central control point, it will also need to link to the helmet headlight. I’m considering using a Dinotte 200L headlight, since it has the same operating characteristics as the 400L. However, this may be over budget for this project. My other option is using a modified PDW Spaceship 3. These are forgiving lights to work with. Here is were the challenge of the project comes into place.
Using the Dinotte lets me have seamless control, but will cost more. Using the PDW will cost less, but I’ll need to use complex control logic to match the operating modes of both headlights. Modifications shouldn’t be a factor, I found this post detailing a Dinotte headlight. This could be a deciding factor especially with the possibility to incorporate a 850nm IR LED in the Dinotte.
I’m not sure if either choice will work to stifle Google Glass, but having a modifiable options is going to be essential.
The BLEduino on the helmet will be mounted inside the battery compartment. This just makes the most sense. It will simplify the headlight modifications and still provide the same functionality.
The BLE communications hub will be the iPhone, mounted on the handlebars. The only concern is that both of the BLEduino devices are rear facing, while the iphone is in front of the rider. Reliable signal noise levels will be needed in order to operate the system with confidence. The alternative is to use move the iPhone back, or provide another communications hub.
The code to operate the system will be simple if both headlights are Dinotte. All that will need to be done is pass push button states to output pins, this is super easy code. The helmet BLEduino will just match the pin states from what it reads from the BLE hub.
Relations – how this can be a big deal
Since the phone is a central component, it is possible to monitor and log the lighting conditions. One idea that comes to mind is creating a heat map of the light levels used during a ride. Another use would be providing more reliable run time estimates based out planned routes
The run time of the Dinotte headlights are provided by the manufacture, as well as from third party tests. The results are a best guess and usually focus on running the light in one mode continuously. Having a heat map allows trip planners to plot a route and get estimated use from historical readings.
Using the Ada Fruit USB Power Gauge Mini-Kit would allow a detailed use of power by the headlights. This kit has a serial out of text that details volt, amp, and watt usage. It also has the an analog output to that will measure the voltage drop across a shunt resistor. For the cost of a lunch, it can enhance the data in ways not possible before.
Summary – no tangled wires
Either way, having the ability to control the headlights without sacrificing safety is key. I really enjoy the ability to change lighting as I need it. Extending this to the helmet headlight is now possible with wireless BLE.