Wednesday, March 14, 2012

A New Test App!

Hey Guys!

I've been thinking of new ways to use BlueMesh and I have come up with some great ideas.  I just posted a REALLY EARLY version of what will be a presentation app that uses BlueMesh to distribute slides between android devices.  The idea is that you will have a presentation and the app will be able to distribute additional notes to the audience.

"How will this work?" you might ask...

The slides will be created using HTML in order to make their distribution across BlueMesh fast and light-weight.  Once the slides are distributed, they will be rendered using Android's WebView object.  The viewer will then have the option to move freely in the slides he/she has received, or jump to the newest slide each time it is received.

If you have any other ideas about what this app should do, ideas for other apps using BlueMesh, or ideas for the BlueMesh API, please post comments on this blog, post on the github, or email me at schnej7@rpi.edu

Thursday, March 1, 2012

New Snapshot For Your Testing Pleasure

We have a new and improved working snapshot of CLD chat using BlueMesh. The improvements from the last snapshot include:

  1. Quit button from menu used to stop BlueMesh.
  2. BlueMesh stops correctly.
  3. No more annoying <NOTHING> messages to indicate that the service is running.
  4. Display also displays the messages that are sent from it, not just messages recieved.
  5. CLD now appends the name of the device to the message before sending it off.

Known bugs include:
  1. When device A and B are connected and device A disconnects, sometimes device B crashes when it tries to quit.
  2. When devices disconnect, they do not reconnect.
  3. Messages do not always get received because some unique IDs are not unique.
  4. When the device is tilted you forfeit the ability to send messages from the UI.

PLEASE, download and install the .apk and try it out!  You can get it from www.bluemeshproject.com or by scanning this QR-Code.
NOTE: you will need to pair the devices you want to use on the network BEFORE you start the app

Monday, February 27, 2012

API Release, New Wiki

Today, I started a wiki containing information about the BlueMesh project and library. It currently contains a number of links to information, as well as a few pages that help outline the API as it now stands. It can be found at bluemeshproject.wikia.com. In addition, a current API has been released and more information about it will be added to the wiki in the upcoming week. The proper beta isn't out, but the library is in a working condition and documentation is being written.

-Sean

EDIT: The wikia wiki has now been deprecated, and a current API can be found on our Github Wiki.

Saturday, February 25, 2012

Implemented Quit() function for CLD and BlueMesh

We have implemented a quit function for BlueMesh. While in the application (using Commandline Like Display), hit the "options" button and then a quit option will appear. This calls a quit function in the CLD service, which in turn calls a disconnect() function from blueMeshService. From here, the threads are interrupted and the sockets are closed.

We had a bit of trouble with this at first. The first issue was with the clientThread quitting properly. Before having the thread interrupted, all the sockets opened must be closed. Also, IOExceptions cause a bit of trouble with the thread.interrupt() flag, so we used a boolean. Second, CLDMessage uses a blocking call to get a line from the Android Keyboard. since CLDMessage.getLine() was being called from a thread in the blueMeshDisplay example service, we implemented a function that calls alertAll() from within the CLDMessage class.


We hope to have an official Beta release very soon.

Wednesday, February 22, 2012

IT WORKS IT WORKS IT WORKS!!!!!!!

Today at 2:30 p.m. we had our first successful test of BlueMesh.

Currently everything is implimented and working except for stop.  On our test application you can type "quit" to stop BlueMesh, but the ClientThread continues to run.  Once this bug is fixed I think we will be ready for our first Beta release.

Stay posted for our release and the launch of our wiki documenting our API.

Also I will post the test aplication's APK on the website so you can download it and try it out!

Thursday, February 16, 2012

New Member, Documentation, and Development

Hello, All!

My name is Sean, and I'm a new addition to the BlueMesh Project. I have gotten more or less set up, and I plan to spend the next week or so working on the documentation in the project. My goal is to have a clearer and more explanatory API as well as supplying written instructions for various tasks both internally and externally.

This has a twofold purpose. The first, and most important in my mind, is that it will make the library much easier to read, understand, and implement to any developer using it. The second is that it will make development itself easier, as we will have a documentation to fall back on.

Eventually, I will be developing applications myself in this library, which I am also looking forward to.

Wednesday, February 15, 2012

It's working... better

Today Trevor and I did a lot of debugging and fixed a number of bugs:
1) The device doesn't attempt to connect to another device that it is already connected to which resulted in a crash
2) The example device also converts bytes to strings properly now

The program is currently displaying the following behavior:

1) Startup (consistently)
2) Cycle through devices and attempt to connect (consistently)
3) Connect to device in the same area running the same program (not consistently)
4) Once connected send bytes (consistently)
5) Read bytes that were sent to this device (consistently)
6) PROBLEM: Accept messages and re-route messages that have already been received (consistently)
7) PROBLEM: Messages received have LOTS of excess white space (consistently)

When one device sends data "hi"
The other device receives data that says "<excess white space>hi<excess white space>"