How To: Hack a Range Rover

IMG_20170315_094259.jpg

The XapiX team was honored to be invited to participate in Bosch ConnectedWorld 2017 — a two-day IoT conference in Berlin with more than 2,700 participants, 130 speakers, and 80 booths. The event brought together IoT startups, Bosch executives and customers to hack and share their ideas using Bosch and Bosch eco-system partners’ hardware and software products.

Bosch is currently using XapiX to rapidly prototype and test their growing portfolio of APIs. Our tool is particularly useful in time-constrained settings, which we demonstrated at the hackathon.

IMG_20170315_132655.jpg

Retrieving and recording data from a Range Rover outfitted with Bosch's mySPIN technology

Our team got behind the steering wheel of a Range Rover outfitted with Bosch's mySPIN technology and, using XapiX as a back-end, built a fully functional prototype application. From the Range Rover, the Xapix team was retrieved and recorded into a data into a using a resource on XapiX. Instead of setting up our DB stack we just had to create a resource class on XapiX.

To create the resource class, navigate to the 'Resource Classes' from the project dashboard, then you need to select the actions you need for your project. In this case, we selected ‘index,’ ‘show,’ and ‘create,’ as we only needed to query, write new data, which would never be altered.

Afterwards, click dashboard to navigate to the dashboard of the Resource Class, where you can add the field we needed to store our data.

Pasted_image_at_2017_04_06_09_51_AM.png

Screenshot of Resource Class Dashboard on Xapix

To make XapiX store the data, click 'Create' on the 'Resource Object Store' section in the right panel, and then on 'Migrate' at the top.

Next, we imported the Twilio endpoint onto XapiX, which was used to to trigger a text sending function through Amazon Web Service (AWS) Lambda.

twiliobrandpage2.png

Twilio brand page on XapiX

The microservice from AWS Lambda retrieved the diagnostics information from the data sent to XapiX before and analyzed it for defects.

If a failure is detected, the microservice triggers a text message to be sent to the user by hitting the twilio endpoint on XapiX -- stored in the `warning_texts` array, which is filled based on the prior analysis of the data:

See the Pen mmdOWZ by Joi Anderson (@joianderson) on CodePen.

The user can now open the app -- or even get this information displayed on the car’s display -- and using a spare parts endpoint (which we mocked in this case) we can get from the error code to the part that possibly has a defect.

The last step is the easiest. To find a garage that could replace the defective car parts, we used data from Foursquare. On the XapiX platform, import the Foursquare API into your project and then add the `venues_by_search_term_and_locations` endpoint.

TRENDINGLOCATION.png

Screenshot of Foursquare band page and endpoints on Xapix

In our integration, we would look for 'Bosch Service' locations together with the car part. The request looks like this:

See the Pen JSON by Joi Anderson (@joianderson) on CodePen.

XapiX was very helpful here, not only because it makes it easier to deal with multiple APIs, but in conjunction with the microservices we had the advantage of a server looking at our data requiring only a lightweight javascript function.

We're excited about the approach that Bosch is taking to enable a connected eco-system, and look forward to enabling the prototyping of many more customer-centric solutions.

Following these steps, you too can easily develop an application, whether it is for a hackathon or a larger project, easily using XapiX. Try it for yourself!