CeBIT presents the solar eclipse

CeBit 2015 – “Fresh Impulses for Digital Business”, innovations everywhere, and in the middle of it our Smart Wine Shelf. A prototype we developed about a year ago… Of course we had some new things with us as well! Funky Retail and Tiles completed our little IoT family. Everything started well on the Monday. Ian Kimbell, SAP’s chief presenter and self-appointed ‘Demo Guy’, showed our Wine Shelf (with physical web beacon) on SAP’s own stage.

IMG_20150316_160052-MOTION

But then on Friday, when Sven entered the stage, things looked like this…

share

…empty spaces, abandoned places… but the show had to go on. Bravely Sven tried to attract more attention by letting the Wine Shelf flash, showing videos of Funky Retail, and even setting up the colourful Tiles demo live on stage, always thinking “Did everyone realise that I don’t really prepare these kind of presentations…?”. To be fair on Sven though, it’s not easy when you’re contending with a solar eclipse… Slightly unlucky timing. So unlucky that even your colleagues turn their backs on you…

share copy

Sven took it with a big smile and now refers to the whole thing as #darkpresentation. And he did get his audience in the end…

IMG_20150316_1520221

Watch the video here!

A new Alliance

San Francisco, USA… and we’re scrubbing labels off of wine bottles in the bathtub again. That’s part of the hybris labs job description by now. Fly half way round the planet, check in at hotel, buy cheap wine, re-label bottles in hotel room.

IMG_1896

(Downtown San Francisco, Parc 55 Hotel, Room 1511, bathroom)

This time we did it to show the Smart Wine Shelf at the local SAP d-kom event in San Mateo, Silicon Valley. Furthermore we also presented Tiles. No scrubbing or bathing needed for that prototype, just in case you were wondering….

For this event we formed an alliance with our fellow compatriots from the SAP d-shop in Palo Alto. After we had picked up our badges at the SAP Office in Building 1, we took a walk through the park (yes park, not bad…) to Building 9 and were quite impressed. A proper lab full of people doing nerdy things! Lovely! They had organised a hackathon as a buildup to d-kom and the house was full. Very cool!

IMG_1911

(Hackathon at SAP d-shop in Palo Alto)

Next day it was time for business. It turns out there actually are still quite a few people who haven’t heard about our Smart Wine Shelf yet. SAP d-kom being an internal event for developers, we took the opportunity to show the insides. Wires, Arduino, Raspberry PI, boom. It’s really nice to experience the interest in our prototypes, and bathe in positive feedback sometimes.

IMG_1937

But  connecting with our friends from SAP d-shop was perhaps the nicest part of the trip. Hopefully we’ll be working on some projects together soon! Great minds think a like, they say (= they seem to be similarly mad to us).

IMG_1943

(from left to right: Nick Wood, Rocky Ongkowidjojo, Max Schrupp)

Tiles in color, plus finalized arch poster

Now that we have all major events (except the hybris xmas party) behind us, we can finally focus on getting a few projects really finalized. Tiles  made huge progress over the last weeks and I just got the fully-colored tiles in, plus I have a finalized architecture poster that I want to share with you. Big kudos go out to Elke and DerGrueneFish, our booth building partners for this and most other projects. The tiles (21 in total, for 3 complete demo sets) are colored in 4 fresh colors for a change (no boring white!). I absolutely love the way they look.  Over one day, I was soldering the first 7 which are currently connected to one hub.

IMG_20141208_114334

For the poster, Kathi at SNK did an awesome job. I already ordered our poster which we’ll then present at the hybris summit 15 in Munich at our booth. Having a descriptive poster will greatly help us to explain the IoT setup for this prototype. Right now we expect to have cans on top of the tiles, so we made that part of the poster.

tiles-90x60

 

 

Just to recap the architecture, have a read:

  • “Tiles” are the wirelessly connected platforms. We use Punchthrough’s LightBlue Bean and remove the battery holder to make the platforms 8mm high. We still use CR2032 batteries, which gives us about 1 week battery life right now. We would get more, but I send our a MetaEvent every 10sec which is hard on the battery.
  • The “Hub” collects all data. It scans for tiles, continuously, and connects. The hub runs on the raspberry pi, uses a BLE dongle (choice is key here) and uses node.js for all programming. It sends on data to the server with CoAP – a UDP-based IoT protocol.
  • The “Server” collects all data for all hubs (yep, there can be many) and provides the necessary APIs for managing the User/Tile association, authentication and authorization (Oauth2 used here), etc.

 

One change over the last days was that we can now associate products with the tiles. That means a store manager can just scan a tile (NFC or QR) and then add this tile to his private analytics page. The UI of these web pages is currently being worked on and will feature a few cool features such as a heartbeat every 10 seconds or the color of the scanned tile, that gets pulled via some static, factory-decided data. This system is all up and running now, currently with one live hub and 7 tiles connected.

14 - 2

What’s left is the callback mechanism plus the web ui. The callback mechanism will “call out” to external systems for each event reveived. So if a LiftEvent is received and a webhook is configured, we’ll send out a HTTP Post to the configured external service. I also plan to pull in the product details from YAAS, hybris’ on demand API offering.

14 - 1

 

Tiles Update – we've added blinky blinky

Our project Tiles, little BLE-connected platforms for customer interaction tracking, is entering a project phase which allows me to blog and inform you a bit more. Since yesterday night, the Raspberry PI and Arduino in the hub uses one power source. This makes the overall design easier. We also have been working on a Raspberry PI B+ hat, using Eagle, to further optimize our design.

One visible change is also that it now blinks 🙂 The hub rotates an LED light to signal the BLE scanning process. It flashes once you liftup the product, well, the apple in this case.

IMG_20141126_204216

 

We’ve now also locked down the architecture and below is a rough sketch that should help understand it. Again, a quick summary below.

tiles technical architecture

  • “Tiles” are the wirelessly connected platforms. We use Punchthrough’s LightBlue Bean and remove the battery holder to make the platforms 8mm high. We still use CR2032 batteries, which gives us about 1 week battery life right now. We would get more, but I send our a MetaEvent every 10sec which is hard on the battery.
  • The “Hub” collects all data. It scans for tiles, continuously, and connects. The hub runs on the raspberry pi, uses a BLE dongle (choice is key here) and uses node.js for all programming. It sends on data to the server with CoAP – a UDP-based IoT protocol.
  • The “Server” collects all data for all hubs (yep, there can be many) and provides the necessary APIs for managing the User/Tile association, authentication and authorization (Oauth2 used here), etc.

One more thing – I’ve connected the server to Xively, a data logging platform. We collect mainly the battery rundown to estimate battery life and also the temperature values from the lightblue beans. At this point I just want to share some nice graphs to show you how much sense it makes to track that data. It will definitely help us to optimize the design / battery consumption further. Right now we stay optimized for demo purposes, but we can later reduce the events sent for example to get a better battery life.

Screen Shot 2014-11-27 at 9.49.19 AM

Screen Shot 2014-11-27 at 9.49.13 AM

 

 

Next up: Tiles

I started blogging bits and pieces about BLE – Bluetooth Low Energy – a few weeks ago. The research we’re doing right now will help us to connect little, battery-powered “tiles” (hence the name) to a hub that collects data from these sensors. This prototype is part of our vision for a connected retail space. We’ve now received a first CNC-milled hardware prototype for the housing, which is shown below.

IMG_20141104_175100

 

We’ll now start connecting the bits and pieces. Our overall architecture consists of 3 parts:

  • the satellites –  tiles – contain LightBlue Beans – little arduino/BLE microcontrollers that run on batteries. The tiles also contain a single pressure sensor that is used to detect if a product is on top (or lifted up). The event data contains information about the tiles ID, the event (up/down) and the battery level. The mechanism we seem to support in the end will use BLE notifications that originate from the LightBlue Bean and will be received by the hub.
  • The hub is also still under development, but some early node.js code works nicely on my Mac already. The hub scans for the tiles, which send BLE advertisements, and connects to them. It receives the events via BLE notfications and will have to manage the tiles and pass on the events. The protocol we would like to use for the first time is CoAP in this case. It is essentially a binary version of HTTP, runs on UDP and is – as the name suggests – made for constrained applications. We’ve then successfully used ZMQ, MQTT and CoAP when it comes to IoT protocols.
  • The server will receive all CoAP messages from the tiles, process and persist (or at least keep) the data and allow users for the system – customers, store managers – to manage the tiles. We intend to print a QR code or attach an NFC tag to each of them. Once you touch the tiles with the NFC tag and have passed the OAuth2-based authorization, you can add the tile to your personal analytics view. The goal is to make it really reasy for a store manager to add these ‘sensor elements’ (tiles) to his anayltics view. Once a tile is claimed, the analytics data will not be accessible to anybody else than the person that claimed it.

So… yes, it’s still quite a long way to go.  I’ll try to update you once we make some progress. But let me know what feedback you have. Just tweet me or leave a comment directly on this blog.