Photosynth experience…

Yesterday and today I played arround with Microsoft Photosynth. My expectations were quite high as I had experience from my 3D-work and photogrammetry years ago. But overall I was disappointed in many respects. First you have to create an Microsoft account, the you can run Photosynth only online, it allows only JPG-files, it requires correct orientation even if the orientation is stored in the JPG-file, the „space-navigation“ is really outdated, and in the end you do not get a real 3D-model. It is only a correct orientation of 2D pictures. I think today you could do a lot better. Anyway, here is my result:

My favorite among the photosynth collection is this:

See you…

Additional temperature sensor and new pachube feed

As I’d like to make use of the senors already available in the house I got a „Pt1000“ test sensor connected to my C-Control. Unfortunately, the C-Control features only a 8-Bit A/D-Conversion giving pure accurency at normal temperatures. Anyway, I added a new pachube feed because I couldn’t extend my old one. Please watch now here . I will leave the old feed as it is for documentation purpose. The software I posted here and all the example pictures use the old feed.

An Unheroic Story: Connecting Java to C-Control

After the end of the year parties I had some time to continue my web 3.0 project. In a very incremental way I want to connect my Conrad C-Control V1.1 which features a temperature, humidity, and air pressure sensor to the pachube service.

After looking at several alternatives to implement the connection from the C-Control to the Internet I decided to use the serial port of the C-Control, connect it with my PC and run a Java application to send the XML-data to pachube.

Of course there have been some technical alternatives (Perl, C++) but I decided to build on Java as I would learn most how easy I could integrate the old embedded technology with the current Internet standard.

First I installed the newest Eclipse IDE Version: 3.4.1 Build id: M20080911-1700 from http://www.eclipse.org/ This turned out to be easy even though I had already the Eclipse CDT for C/C++ development. I just have two instances of Eclipse in separated sub-folders: one for Java and one for C.

The I started browsing for data streams in Java to read input from the PC serial port. Boy, I was shocked. There is NO serial or parallel interface support in standard Java. The only Sun support is an outdated and officially not supported Sun Java Library called Java Communication 3.0 API. For Windows one has to relay on the open source development from http://www.rxtx.org. So first I registered as a Sun developer to acquire the Sun comm API 2.0.3. Therefore, the Sun download tool was installed on my PC. After that I struggled quite a while to find the place in Eclipse to add the library to my project. It took me even longer to find the promised example for using the serial port interface…

The I googled for the rxtx windows support and had look to find Eclipse plug-ins: http://rxtx.qbang.org/eclipse/downloads/. The the real unheroic story begin to start. I was not able to direct the rxtx windows dlls to the Sun Comm API. After reading dozens of bug reports, howtos, and news I went to bed ;-(

Next day I found a pretty simple solution: Do not use the Sun Comm API at all; instead use the .jar-file from rxtx. After importing the sample java file SimpleRead.java Eclipse was happy to compile the executable. But this didn’t mean that things worked out already. The input stream from the serial port captured by Java had very strange characters (NULL and others) though the Windows Terminal Software did not have these problems.

After another couples of hours in bug reports and news postings, some testing here and there I found a bug in the „official sample“ file. The readBuffer size did not fit well the characters really read from the port. Quite annoying…

Overall it took me about ten hours to display the serial port input stream on the PC screen. The code to do this has 195 lines. In Perl this would be a small exercise of 10 minutes at most. Stream in C++ would have been much easier also.  My first conclusion: Java is not ready yet for embedded world at all! The code is here: CControl2www.java

The next story will be the XML-Output in eeml-format for the pachube web service.

Definition of web 3.0

There are many discussions and definitions out there which define the term „web 3.0“. I think it is much to early to judge as I can recognize only convergence in technology and who should know what this finally means…

Here are some theses I’d like to share.

First, I believe that today’s millions of embedded software systems and the Internet will get connected. Many people think that Internet invades embedded systems. I see it differently. As embedded systems are much more natural to work with it is the embedded systems replacing PCs and laptops while using the same network infrastructure created for the PCs.

Often people say the web 3.0 is the Internet of things. e.g. this quote „It’s not the documents, it is the things they are about which are important“ from timbl’s blog. Even stronger is the concept of RFID chips in each object of the world. Of course this gives a unique ID to every peace on the planet but how to make use of this.

Other people argue that web 3.0 is all about semantic webs.

I am thinking more like a dualism in web 3.0 of 1. physical objects connected and 2. information about the objects and there connection. Only if objects are somehow accessible in the Internet and semantic meta-data about them is in the Internet the story will work. This gives some heavy philosophical questions. There has been the century long discussion about existence and essence which is strongly linked to the fact what human can observe to be existent. If you put the above bold „and“ literally this would mean a object is only existent if a human can physically recognize it and its semantic meta-information is in the Internet. The latter could even be the essence of the object. If you think this is strange, I have an interesting question: How much of you is physically visible, touchable, or in general sens-able and how much information about you is in the Internet. If you are a very famous person there is a lot information in the Internet. This might even be wrong but has a strong impact on you „physically“. Dualism looks like the right concept for this phenom.

Finally, the development of web 3.0 depends heavily on the societies trust, security, and stay-in-charge needs.  It looks like that you people are very open to share very private information in the web. Older people are much more reluctant. Data security flaws are not new but the impact and the amount of data is much higher today putting much higher risks at stakes. I see this a the wild card in the game.

My tiny web 3.0 project

I questioned myself how I could learn about and contribute to web 3.0. I thought a small project connecting a non-internet device to the internet and add some service would be nice. As I live in a house with a brand new heating and solar system which is not connected at all this looks like a promissing candidate for such a project. As far as I know the optimizing of energy delivery and consumption is not possible in this system set-up like it is right now. Connecting both systems to the internet and adding a service could be a solution.

So, I decided to start with an analysis service first. I’d like to answer the question: How is the heating system and the solar system controlled? How much energy do the deliver, require, and consume?

Technically, I have to get some sensor data to the internet. Does not sound that complicated. Let’s see…

How to participtate in Web 3.0?

If you belive that almost every device is connected to the internet that gives very interesting applications. Just imagine all temperatur sensors in heating and air conditioning systems deliver always the current and local temperature…

So, I deceided to connect my heating and solar system to a web-service. My application is to log the data and to improve the energy efficiency and the hand-shake of the two systems. Let’s see how complicated this gets and how practicale this can be.

What is Pachube?

Pachube (called „patch bay“) is a web-service with a world-wide accessable network of sensors from real objects or virtual entities like in second life. Pachube uses several well known concepts like Youtube, Google Maps, share charts and Blogs.

Technology

Pachube defines and uses the Extended Environments Markup Language (EEML) and a approriate EEML Processing library. For a more simpler access sensordata can also be send over CSV.

Projekt

The project started in March 2007 managed and sponsored by the company Haque Design + Research with the following people:

  • Usman Haque, creative director
  • Sam Mulube, technical producer, website development
  • Chris Leung, EEML developer
  • Ai Hasegawa, designer

Weblinks

Sensors everywhere?

The world is full of electrical sensors. Each heating system, air conditioning, refrigerator, car, and laptops are full of them. I don’t understand why we don’t use this data source more…

Up to now I identified two possible standards to connect the world. One is a big consortium called Open Geospatial fueled by Google, NASA, and many more companies (see wikipedia). Anotherone is a small project called Pachube .

As this is not enough to connect sensors to the internet infrastructure we need also a embedded electronic and software platform like that from Sentilla.