All the SW components will be open source.
One of the key idea of Cloud CarBot is to use XMPP open source protocol to achieve Human to Car communication. In other words, use XMPP protocol to connect your car to people/thing. XMPP creates a shared bus where cars are connected to its owner be it households/fleet companies and its trusted friends such as your car technician.
XMPP protocol is an open source protocol widely used for Instant Messaging Applications targeted for human to human (H2H) communication. Popular XMPP clients are WhatApp, Twitter, Google Gtalk, Facebook chat, Apple iChat etc.
XMPP has proven capability to scale as is evident from installed user base of WhatsApp, Apple iChat. Therefore it will work very well as messaging infrastructure for connecting millions of cars.
A brief Information about XMPP is given below
e(X)tensible (M)essaging (P)resence (P)rotocol : XMPP
- It is an open standard protocol used between two network end points.
- Defined in IETF RFC 3920/3921
- Used for real time messaging, presence and other type of services between network end points
- Network entities are given email like address: node@domain
- Two types of end points: XMPP server and XMPP client
- XMPP Server used for
- Managing connections between XMPP clients
- routing messages among XMPP clients
- Support client-server and server less communication between network end points.
1) XMPP Client for connected car
XMPP client will runs on SBC mentioned earlier and will be implemented in python. The code will be of course open source.
XMPP clients are assigned XMPP ids
E.g. If you possesses two cars say Honda with number plate abc123 and Toyota with number plate xyz123, than each will get a unique email style id
2) XMPP Client to talk to car
I will use whatsApp and open source spark XMPP client to talk to car.
I will also add support for twitter time permitting.
3) Open source XMPP Server
Many choices here.
I will use publically available XMPP server at https://xmpp.net/directory.php
I will also XMPP server owned by corporation. For example, to use WhatsApp, I will have
to use XMPP server owned by Facebook/WhatsApp.
I will also install my own XMPP server on hosted server for complete control. This will ensure
4) I will use open source Natural Language Processing(NLP) library.