Monday, 1 December 2008

Brainstorm

Last week i have been busy with preparing and doing research on how to do a succesful brainstorm. Last friday i enlisted 4 students to help me with the brainstorm.
It was very succesful and alot of ideas where born for the jumping software technique.

Below a picture from the session in progress:



The brainstorm participants received the following handout: Handout

Now ill try and select some of the best ideas and go more in depth on those ideas.

Friday, 21 November 2008

Domotics

Last thursday ive been to the Evoluon in Eindhoven. Together with another student from another project we have visited the stands here from all kinds of businesses. I had hoped to get some inspiration for new ideas for the 'jumping software principle', however there was not a whole lot of actual new ideas.
Most ideas ranged from keeping indoor areas at a comfortable temperature to keeping it secure with all kinds of locks.

Visit their site here:

http://www.beursdomoticaenslimwonen.nl/

Wednesday, 19 November 2008

And then there was only 1

First of all sorry for a long time with no updates.
The previous week we have been busy preparing our presentation of 14 November. This presentation also was the last day Erwin was on the project. The powerpoint slides can be found here: Powerpoint.

This week i was ill myself and i have just returned today. This week im going to a meeting about domotics. Here i hope to get some inspiration to get new ideas for applications for the jumping software technology.

Furthermore it seems that on the programming front the project will be on halt for a while. Since Erwin our TI student has left the project. This means there will be only more research to find more possible applications for the jumping software technology.

Friday, 7 November 2008

Code

This week I've been optimizing my code and writing comment to be able to generate Javadoc. It's quite finished now and I've uploaded my code to our new FTP. You can find it here. In every directory(project folder) you can find a readme file in which I've stated out what that particular project does and you can also find a doc directory in which you can find the Javadoc.

Last week

Last week we have been very busy writing our researchreport thusfar. Erwin is leaving the project next week. Thus we have been appointed to write a report.

The report is finished and we will hand it in this afternoon.
You can read it here.

Next week we will start preparing Erwins final presentation. And after that i expect to welcome a new Technical Informatics student.
So stay tuned for updates!

Monday, 3 November 2008

Only two weeks to go

As of today, it's just another two weeks before my time here at HIT ends. Last week I've already been busy with optimizing my code end putting in a lot of comment. This to help the next TI-student be able to understand my code without having to go into the details of it first. In Java there's something called javadoc. Javadoc is a documentation generator from Sun Microsystems for generating API documentation in HTML format from Java source code. The javadoc for most of the code I've been writing can be found here.
This week I will continue on making my code understandable. I will also start writing my report and maybe make a start with my presentation for the 14th of November.

Friday, 24 October 2008

Database and network visualisation

Below you will find some pictures made in MS Visio which show how our database is constructed, and how the sunspotnetwork will work.

Sunspot Network
It is important to note here that all the links is infact wireless communication. Also known as a mesh network.

Database

Color LCD on SunSPOT

Yesterday I have been working with a SunSpot which has an Oled-screen on top of it. An other group of Censi students have written a library for this particular screen in Java. You can find a post about this on the censi blog. With this library it was quite easy to get the screen to work. What we have so far:
While startingup the spot it will display a welcome message.














After this the program will wait for a command. Our host application is continuously searching for new spots. Once it had found the spot it will offer to send a program. The SunSPOT will give the following screen. Here you can accept or reject this incomming program. By moving the spot up and down you can select "Yes" or "No". Once you have made a choice you can confirm it by pressing the button on th right.













When you select "yes" a program will be send to the spot. When it has arrived it wil start. In this example you wil see a blinking led(The red spot pointed to by the arrow).



























Here's a video showing the above:

Last Meeting

Today we had a meeting with our councelor. We had to redo our planning and most importantly make more blog posts!

For the new planning see this link:
Planning

Most important changes are that i will do more research on what the jumping software could be used for.

And from now on we will try to make more blog posts with added pictures and/or movies.

Wednesday, 22 October 2008

Finally, it works!!

After about two weeks of programming, testing and drinking lots of coffee it finally works! We can now run multiple programs side by side(up to 7), deploy and start them remotely. This all from our own Java application. We have also rewritten our "seeNewSpot"-function, this now works better. Today I have been testing how the Spots function in a mesh network. As long as you do not move the Spots, this works fine.

I've also started on writing a demo application for the 29th of October. What I have so far: the program can detect spot's in the neighborhood(using the mesh networking feature), determine if there's a new spot and then send a little program to this spot.

Friday, 17 October 2008

Isolates, Isolates, Isolates...

After more then week of trying to get Isolates to work I almost gave up. As a last resort I posted a topic on sunspotworld.com. People almost reacted immediately. Part of the problem was that I had a wrong view of what Isolates are. The following video explains what the difference is between a normal vm and the squawk vm running on the SunSpot. This explained a lot. You can find it here.

One of the replies pointed out that Solarium could do what I wanted to do! In Solarium there is an option to deploy midlets to the SunSPOT and run these midlets side by side. This turned out to be exactly the feature I was trying to build. As Solarium is open-source I only have to find out how Solarium does this.

Someone else gave me the following link. Here I could find a piece of code which should do the same without the UI.

New Planning and update

Last week we have been working on refining our code further. We have also made some breaktroughs on certain parts. For example we have found out that we could simply use Solarium, a build in program to deploy entire suites. We have been trying to find out how this program works so we can implement the workings in our code. This will make it alot easier to deploy software on the Sunspot.

Our new Planning is also online now in pdf-format:
New Planning

We have also visited the Nite-event, this was an IT orientated event in in Groningen.

For now we will be working towards trying to make a working demo version so we can demonstrate the Proof of Concept. 29 October we will be giving a small presentation for Hans Appel and some business partners.

Thursday, 9 October 2008

MySQL

Sorry for the long wait, we havent been getting to updating our blog in a while. Last monday we had a Problem Solving workshop.
Frankly this was mostly wasted time as we didnt have any real problems at the time, and we didn't learn much from it.
Tuesday we started further developing our code. I have been busy with making a MySQL database and the code which is needed to communicate with it.
Erwin has been helping me with this and he has been busy also with coding the communication between the SunSpots. Isolates are still somewhat hard to realise. But we will get there eventually :).

So i will show you some pieces of code from the MySQL communication program.
With this we have been able to communicate with the database. Here we can make User profiles, update them, delete them if necessary etc.
Also we can retrieve information trought so called queries. So we can for example ask the database which categories of software a certain user is interested in.

Below is a link to the code thusfar in PDF format, keep in mind it is still work in progress and so it isnt final yet in any shape or form.

Code MySQL Communicatie

Thursday, 2 October 2008

Isolates

An important feature of our program will be the ability to run multiple programs at the same time. Within the squawk VM there is a thing called isolates. A Squawk isolate is a collection of threads and associated objects that forms a distinct and separate execution unit. Objects are never shared between isolates.

If you want to run two or more Java applications on your desktop you would normally launch a separate VM process for each application. This is not practical if you are resource limited, as with the SPOT. So the alternative is to run the applications as a set of isolates within a single VM. A clever feature of Squawk is the ability to snapshot the state of an isolate and save it in a file or, for SPOT applications, send it to another SPOT over the radio.

What we need in our application is the ability to start a program from our already running program. This is where Isolates come in. After sending a new program(a .class file) from a basestation to a sunspot, we create an Isolate with it and have this run.

At this moment we are able to send a .class file to a sunspot. But when we try to have it run as an Isolate we get an error. So there's still some work to do next week.

This is how we create an Isolate:

Isolate i = new Isolate("com.sun.spot.flashmanagement.FlashFile", args, null, Isolate.currentIsolate().getParentSuiteSourceURI());

This week - Detection Code

This week started off with presentations on monday. Every group had to do a small presentation about what they where doing.

Tuesday we started with programming again. Myself i walked trough the sunspot tutorials as i didnt have time to do that yet.

Wednesday we started programming again and we made a program which is capable of detecting the sunspots in the vicinity and giving back their adresses.


boolean running = true;
while (running) {
RouteTable t = LowPan.getInstance().getRoutingManager().getRoutingTable();
Enumeration e = t.getAllEntries();
while (e.hasMoreElements()) {
System.out.println(e.nextElement().toString().substring(0, 19));
}
System.out.println("--------------------");
Utils.sleep(5000);
}

This gave back the following results:

0014.4F01.0000.2171
0014.4F01.0000.3881
0014.4F01.0000.42B5
--------------------
0014.4F01.0000.2171
0014.4F01.0000.3881
0014.4F01.0000.42B5
--------------------
0014.4F01.0000.2171
0014.4F01.0000.3881
0014.4F01.0000.42B5
--------------------

etc.

We have also been doing tests with the range of the sunspots indoors. We have found that when we suspend a sunspot on the ceiling they have quite an astonishing range.
We could detect them up to two rooms away. Which means that a mesh network will be a working possibility for the future.
However this will also mean that it will be hard to tell wether a sunspot is actually in the same room or in a room next to it.

All in all we have been busy. Erwin is also working on creating a piece of code capable of storing data on the flashmemory and making it run as an isolate. This has been quite succesful however there are still some problems which have to be resolved for it to work.
More to come soon.

Friday, 26 September 2008

IJkdijk

Today we have been on an excusion to IJkdijk. Here you will find a little video. More to come on monday!

Update 26 September

Today we had a meeting with our supervisor. Our Action Plan was rated good, we were told to make an appointment with Hans Appel to discuss our goals and functional specifications.

Our Planning was not yet specific enough so we will change that in the near future.
This afternoon there is an excursion to the 'Ijkdijk', a dike that is designed specifically for testing purposes. They will try to get it to breaking point to see what happens and measure the results with an array of sensors.

Myself i wont be going there, but Erwin will.

More news next week.

Thursday, 25 September 2008

The new Action Plan and Planning is now available.
PVA 1.0
Planning

Tuesday, 23 September 2008

22 and 23 September

This week started off with college on monday. Here we where given some feedback on our Action Plan. The rest of the day we had a college about blogging and a college from a TNO employee about his experience in the Censi work field.

Tuesday Erwin has been busy with the Sunspots, to try and see if he could transfer text messages between the basestation and a regular Sunspot. This was succesful.
Myself i have been busy with how we will organise the userprofiles.
Ekko de Vries had given us a report from the previous group that had been working on this project. From this report we retreived some useful information.




We added the following options per category:

Who are you?
This part of the userprofile will contain information about the users identity
  • Name of the User
  • Usergroup, for example: Student, Teacher or Visitor. This will influence the software that will be offered.
What do you want?
This part of the userprofile contains the users preferences, what does he allow the sunspot to do?
  • Does the user want to be recognized when entering a room? This should be an option that can be turned on or off.
  • The user can select a number of software categories in which he is interested. For example: games, software to control devices that are present in the room, etc.
  • When the sunspot will send software to the user, he will get a popup on his/her screen. Here the user will have to accept the software transfer.
What are you doing?
Here the user can select categories which will show what he is doing at the time.
For example: Lunchbreak, Lessons, Studying, Spare Time, etc.
Based on what the user is doing the sunspot will or wont send software.


Keep in mind that nothing is set in stone so far, everything is subject to change.
So far the news for the past 2 days

Friday, 19 September 2008

Last Week

This has been our first week here at the HIT in Assen. We're working on a project called "Sunspots's; What Else?!". Our main goal is to develop a system in which a "client-SunSpot" can communicate with a set up Main-SunSpot. This Main-sunspot will be able to detect a client-SunSpot when it enters the room. Each client-sunspot will have a profile in which the main-sunspot can find it's interests and then offer the client-sunspot software based on these interests.










Here's a picture of a sunspot. On the left is a sunspot on which a lcd has been mounted, on the right a standard Sun-Spot. This week we have been playing around a little with these SunSpot's. Reading lot's of documentation and writing and installing our first program. It turned out to be quite easy. Johan has been working on our action plan and we had our first meeting with our awarding authority.

Our room
We are stationed in the Sun Microsystems Inspiration Lab (Sorry Hans). Below you'll find a picture. We all have fast pc's with at least two 26" monitors. But, most important, we've got ourselfs our own Puc(Similar to a Philips Senseo)

Thursday, 18 September 2008

Action Plan + Planning

After our introduction this week we started working on our actionplan and planning. Check the links for the files. They are written in dutch.

Planning
PVA

Tuesday, 16 September 2008

Blog aangemaakt

The blog for the Sunspot Project has been created, stay tuned for updates!
Our Action Plan will soon follow.