Autonomous wireless sensor/actuator node using bluetooth modules based on CSR BlueCore chipset. See wiki for more info.
C Makefile C++
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
.gitattributes Make GitHub not detect the language of image.fs. Nov 28, 2017
.gitignore Add .gitignore Mar 26, 2012
COPYING Add GPLv3 license. Mar 20, 2012
README Update README with more background and usage info. Sep 15, 2012
blutunode.app Rebuilt app in VM mode. Sep 15, 2012
blutunode.map Update sym/map for VM mode. Sep 15, 2012
blutunode.release.mak The app originally intended to be built in VM mode. Sep 15, 2012
blutunode.sym Update sym/map for VM mode. Sep 15, 2012
blutunode.xap Update assembly for app rebuilt in VM mode. Sep 15, 2012
blutunode.xip The app originally intended to be built in VM mode (project files). Sep 15, 2012
blutunode.xiw Add IDE project files. Sep 15, 2012
btnode.c Add global DEBUG define to control debug code inclusion. Mar 26, 2012
btnode.h Add global DEBUG define to control debug code inclusion. Mar 26, 2012
build.log Update logs for VM build mode. Sep 15, 2012
command_parse.c Add autogenerated files, to have complete C source in the repo. Mar 26, 2012
command_parse.h Add autogenerated files, to have complete C source in the repo. Mar 26, 2012
command_parse.parse Add venerable AT command. Mar 26, 2012
commands.c Don't print out received line unless debug. Mar 26, 2012
commands.h Make response writing functions global, add commands.h. Mar 26, 2012
flash.log Update logs for VM build mode. Sep 15, 2012
image.fs Update app FS image for VM mode. Sep 15, 2012
msg_dump.c Add global DEBUG define to control debug code inclusion. Mar 26, 2012
utils.c Add missing file headers. Mar 26, 2012
utils.h Add missing file headers. Mar 26, 2012

README

BluTuNode - Wireless sensor/actuator node software for Bluetooth modules
========================================================================

This is experimental firmware for CSR BlueCore based Bluetooth modules
allowing a host to control most of the I/O aspects of a module via wireless,
Bluetooth connection, thus allowing for low-cost, flexible, easily accessible
solutions for various remote control and automation tasks.

This software is released under the terms if GNU General Public License
version 3, http://www.gnu.org/copyleft/gpl.html

Status
------

This application should be considered proof of concept and alpha stage. It did
not undergo sufficient testing or was used in production setups. If you are
intrested in this project, please consider testing it, reporting the issues,
and trying to fix them.

Building
--------

To build this software, you unfortunately need a propriatary XAP CPU toolchain
and library from CSR. Prebuilt application files are provided for convenience.
If you are interested in this project, please consider developing OpenSource
toolchain for XAP/BleuCore.

Flashing
--------

To flash this application into a BlueCore module, you need to combine it with
CSR Bluetooth stack firmware. You can extract such firmware from your module
or download it from CSR. This project cannot distribute stack firmware or
combined firmware image due to licensing restrictions. If you are interested
in this project, please consider developing OpenSource tools to read/write
module flash and combine firmware images.

Usage
-----

Once module is programmed and powered on, on the host, as root:

1. Pair the module with your host - use whatever utilities you have and
know.

2. Find out the Bluetooth address of the module:

# hcitool scan
Scanning ...
        xx:xx:xx:xx:xx:xx       linvor

"linvor" is common name in lowe-cost HC-04 modules, your module may have
another default name.

3. Create RFCOMM devic to communicated with the module:

# rfcomm bind /dev/rfcomm0 xx:xx:xx:xx:xx:xx

4. Connect to the BluTuNode software on the module:

# picocom -b 115200 /dev/rfcomm

There may be delay few seconds before "Terminal ready". Immediately after
connection, BluTuNode prints GPL notice.

5. At this point, BluTuNode is ready to accept commands, which by common
convention start with "AT" prefix (case is not important).

6. List and format of support commands can be found in file command_parse.parse