Skip to content
nckswt edited this page Sep 30, 2013 · 3 revisions

Cortex is a client-server application protocol that allows asynchronous topic-based communication for a local network of devices. What's that mean? It means you can clone this into a Raspberry Pi so you can chat with your fridge.

What does Cortex do?

Cortex manages datastreams from both human-controlled and non-controlled devices. You could chat with others on your local network, and network-connected devices could chime in with regular updates. To filter these datastreams, all messages are partitioned into topics (similar to how #hashtags work).

Your thermometers, for instance, could send a message with the current temperature to the #temp topic. Your heater could read this, and turn on. But you're also subscribed to the #temp topic, and you don't think it's cold enough to merit the heater, so you send on the #temp topic to tell your heater to shut itself down.

What are the building blocks of Cortex?

Cortex has three main components:

  1. Cortex Server, the main piece of the Cortex puzzle, which tracks devices, topics, and datastreams. It also serves data to and hosts a local webpage – http://cortex.local

  2. Cortex Client, which allows access to the local webpage through a browser (Google Chrome recommended)

  3. Cortex AP, which is the application protocol that links Cortex Server and Client with the TCP transport layer. Cortex AP is part of both Cortex Server and Cortex Client.

How do I set Cortex up?

Just clone the code to a Raspberry Pi, configure the <>Settings file name, and then connect to http://cortex from multiple devices! Any device with a local network connection web browser can connect to Cortex, and browserless devices (such as Arduino) will be added in a later phase of development.

Clone this wiki locally