Setting Up
I have designed ChipChop as a platform to be realy simple and easy to use so new concepts and ideas can be tested and deployed extremely quickly.
There are only few simple things you need to prepare before you start playing with ChipChop.
BEFORE YOU START
There are only few simple things you need to prepare before you start playing with ChipChop.
- If you haven't done already, request your free ChipChop development account. All you need is a valid email address and once your request is approved you will receive a confirmation email.
(You can find the link on the Chipchop.io Home Page) - If you are going to be using Alexa you will need to login with Amazon once to link your devices so have your Amazon credentials ready.
- If you are using Arduino, pop into the "Downloads" section and get the latest ChipChip Arduino library files.
- If you are not using Arduino, currently there are no example projects available for download so best is to prepare a small "Hello World" or "Blink Led" type test project that you can keep firing tests at ChipChop as you read these pages
Endpoint Server URI
A correct Endpoint Server URI (server_uri) is required in order for your device to establish a connection with ChipChop.
User UUID
Your UUID always has to be transmitted with any information sent to ChipChop. Your device sends it when initiating the connection, with it's heartbeat or when triggering events so ChipChop can retreive the correct account details from the database.
If you are using the ChipChop Arduino library the authentication and security is automatically handled for you, all you need is to replace the "chipchop_uuid" variable in the library code with your correct UUID.
Unique Device ID
Same as the UUID your Unique Device ID ("device_id" variable) is also sent with any information sent to ChipChop. In combination with your UUID it creates a unique reference in the ChipChop database and also creates a single dedicated socket channel reserved only for your device.
If you stupidly assign the same device ID to different devices various funky things will happen:
- Both device will be perceived as one and their heartbeats will get merged
- If both devices have same components their statuses will get all mixed up
- Only one device will be able to establish a connection with ChipChop and the other one will be rejected until the first one disconnects.
- Alexa will ask for a divorce, take all your money, house and disapear into the sunset
Don't be a dumb ass (like I was few times :-) and double check your device IDs as you can end up with seriously bad and unpredicatble behavior!
If you stupidly assign the same device ID to different devices various funky things will happen:
- Both device will be perceived as one and their heartbeats will get merged
- If both devices have same components their statuses will get all mixed up
- Only one device will be able to establish a connection with ChipChop and the other one will be rejected until the first one disconnects.
- Alexa will ask for a divorce, take all your money, house and disapear into the sunset
If you are using the ChipChop Arduino library the authentication and security is automatically handled for you, all you need is to replace the "device_id" variable in the library code with your correct device id.
Your Authentication Code
The purpose of your Authentication Code is to provide a security layer when attempting to establish the initial socket connection with ChipChop.
This code is never transmitted openly and should be embedded inside your device's compiled binary code, not left saved in plain text format on a removable SD card or some shizzle like that!
Again, for those using the ChipChop Arduino library all this is automatically handled for you, all you need is to replace the "auth_code" variable in the library code with your correct authentication code.
The following explanation is for your info only and if you are not interested you can skip the rest of this page.
The following explanation is for your info only and if you are not interested you can skip the rest of this page.