- 0. Introduction
- 1. Project Schema
- 2. Fez Cerbuino Bee. Connections description
- 3. Carriots Project and Device Registration
- 4. Development Environment of the Fez Cerbuino Bee
- 5. Code implemented on the Fez Cerbuino Bee
- 6. Checking Data is collected in Carriots
- 7. Creating an Alert with Carriots Listeners
- 8. From here on: Enhancing the project
This easy tutorial helps you to build an Alert System for your home or office.
To do this, we use a Fez Arduino Bee able to detect light and the Carriots Engine to send alerts by email.
In this project you will learn how to:
- Connect an Fez Cerbuino Bee to Carriots to send data streams
- Build an Alert App on Carriots by programming a Listener to send an email using the SDK
- 1 x A Fez Cerbuino Bee
- 1 x Tiny Breadboard
- 1 x Foto Sensor. Try to improve the project with a motion detection sensor
- 1 x Ethernet ENC28 Module
Music to listen: Regina Spektor - Fidelity
This project is a quick way to create an alarm app and understand the basics of combining a Fez Cerbuino Bee and Carriots.
Here is the overall diagram of the project:
The Fez Cerbuino Bee is programmed to send a data stream to Carriots stating whether or not it's receiving light.
All the data streams sent by the Fez Cerbuino Bee are collected and stored in Carriots. Carriots is a huge database that collects all the information that your sensors send.
In addition to storing data, the true power of Carriots is to let you build Apps very quickly with few lines of Groovy code. In this scenario we are going to build a very simple Alert App that sends an email to you when the Fez Cerbuino Bee detects light.
With Carriots you can build very complex Apps to support all the logic of your product on the cloud and integrate it with other devices and IT systems. But for now let’s keep it simple.
Although this Alert App is very simplistic, you can use it to detect if someone enters a dark room and turns on the lights. In fact this project is quite useful in our data-center, where the lights are always turned off.
The connections in the Fez Cerbuino Bee are extremely simple. You can see in the diagram below. Note that to connect the Ethernet Enc28 Module to socket 1 of the Cerbuino board you must use a Gadgeteer cable F/F 10.5 cm.
If you're registered in Carriots, you have a default device already created for you.
Check your control panel and see what it looks like.
Basically you need the device id_developer that might be something like defaultDevice@myusername.
But if you want, you can create a new device and use it in this example.
Now, go to your control panel “My account menu” and check your Apikey.
Its a big alphanumeric token like:
You need this number to complete the example.
This tutorial assumes that you already have the development environment configured to work with the Fez Cerbuino Bee. If you are having trouble connecting your device or installing/updating your firmware, here are some pages that might help you.
- Device Characteristics and pin map: https://www.ghielectronics.com/docs/45/fez-cerbuino-bee-developer
- Downloading/Installing .Net Micro Framework: https://www.ghielectronics.com/support/netmf
- Setting up the development environment: https://www.ghielectronics.com/docs/21/first-netmf-project
This is the code for the Fez Cerbuino Bee. Note that some values should be replaced by your own values.
If you get here, your device must be sending streams when you turn on and turn off the lights.
Its time to test our control panel and check if we have new streams.
Go to “Data management” → “Data streams” and you will see your data.
- menu option
- new data
A listener in Carriots can be associated to any hierarchy entity, from Project to Device. If you associate a listener to a project, all devices below the services of that project will be affected. If you associate a listener to a service, all devices below the groups of that service will be affected. And so on.
In this example, we create a listener associated with our device. This listener waits for an event to occur in the context of the device and then it evaluates the content.
To create a listener go to the control panel, then to “Rules” → “Listeners” and click on the new button. Select "Device" as "entity type" and select your device on the "Id" field.
Fill the fields with the following values and save the new listener
- Name: The name that you prefer
- Description: The description that you prefer
- Entity type: Device
- Entity id: Your device id
- Event to listen: data_persisted
def email = new Email ();
email.to="YOUR EMAIL HERE";
- Then rule: leave empty
def email = new Email ();
email.to="YOUR EMAIL HERE";
- Else rule: leave empty
- Be sure to have your listener enabled if you want it to be executed
Its time to test our listener. Send a data stream to this device, check your control panel and your email!!!
Now you know how to connect a Fez Cerbuino Bee device to send data to Carriots and how to create a simple App with a single Listener and some SDK programing in Groovy. But you can enhance this project in many ways:
- Try to add a motion sensor to the Fez Cerbuino Bee and send at least two values: light and motion status
- Create your own control panel to check the status of the Fez Cerbuino Bee, by building an HTML page with a request to our API to ask for the status value of your device
- Create another device that you can interact with (like a sound alarm) and build an app combining actions between the two devices through Carriots