Basically, the goal of Triggy is to provide a solution to many situations, using a small board (the Triggy Node or T-Node) as a smartphone or tablet companion. The T-Nodes sense the environment and automatically trigger actions based on physical events, paving the way to numerous usage scenarios. A Triggy Node can detect an event such as: this door is opening, the temperature in the fridge goes above x degrees, someone pushed the button, etc... Then a fully customizable rule allows to decide what to do: generate a notification on the phone, play a ringtone, or a lot more. An advantage over other solutions is that no external server or account creation is required.
This project focuses on usages possibilities, thus a series of PDFs will be provided in the Files section. In each PDF a few number of scenarios are described, showing situation when Triggy can help:
Here below are shown additional situations where Triggy can be used, based on verified rules:
Some actions are local to the device connected to a T-Node (notification , play a sound/ringtone, put the device on vibrate...), others are available through IFTTT. Cloud connection + IFTTT = extended possibilities.
Triggy can be used as a component of a home automation system (http webhooks are parts of the possible actions), however not limited to home applications.
Video showing an exampIe of IFTTT recipe creation and action triggering:
Today one can easily buy and install a more or less expensive smart home solution. Some of them allows a connection to the cloud, others also support the IFTTT service. With Triggy, we want to enable new possibilities, new usages. Hereafter the key points that have guided this project:
- Low investment required
- Small form factor and low power
- Open standard
- Extensible and scalable
- Multi-purpose and versatile
Most of home automation solutions use a hub, a box to centralize and connect the different parts of the system (sensors, actuators ...) The price of that hub makes the whole solution generally expensive. Using an already owned, a spare or second-hand smartphone or tablet, the hardware cost of a Triggy solution will be far lower. With one Triggy board and a smartphone, it is already possible to do wonderful things. Additionally buy a WiFi smart plug, smart light or any available smart actuator that supports IFTTT, and you can easily do home automation. Low cost and easy to use!
These two constraints go hand in hand, because the size of a WiFi-connected sensor (no hub required) is generally imposed by the size of the battery required to operate it for a decent duration. Components choices and efforts to reduce the power consumption of the Triggy Node allow now to make it work on a coin-cell battery (CR2032) with at least a year of battery life. The board dimensions have been decreased down to 25mm x 25mm, which allows to stick it almost everywhere (mailbox flap, cat flap, small objects ...) while being discreet. Existing sensors, such as a movement detector, working without a hub or gateway (WiFi) are a lot bigger than this, due to the WiFi peak consumption.
Bluetooth Low Energy is used for the communication between the Triggy board and the smartphone. This protocol is both publicly accessible and low power. BLE GATT servers (such as Triggy) expose a standard data structure, allowing to use it with other applications. Another advantage is a seamless integration of Triggy with any smart home solution compatible with IFTTT. It can work also with the numerous WiFi actuators (IFTTT compatible), without being bound to a solution manufacturer that uses a proprietary protocol.
The Triggy board embeds few sensors (displacement, temperature, proximity to the smartphone, push-button) and still allows to create a significant number of useful usages. But we also want to allow easy connection of expansion boards in order to detect new events, according to the needs. One can easily imagine the interest of adding a CO2 sensor, a humidity sensor, a light sensor... Moreover an expansion board is already under development (rain or water presence sensor + light sensor). Another one will come to measure the soil moisture (plantation).
Probably the most important goal is to create a hardware + application which can help in as many use cases as possible. Home automation is one thing, but we can do a lot more. Outdoor, at work office, on holidays or in a car, Triggy may have a practical use. As a consequence, the T-Node should be easily put inside a pocket. Also for makers, interaction with Arduino, Raspberry Pi and ESP8266 is possible through HTTP webhooks.
The board is really small and can be stuck almost everywhere, like on the flap of this mailbox. This form factor enables many uses.
HOW IT WORKS
Here are the components required by the proposed system:
- A smartphone or a tablet operated by Android 4.3 or higher, having inside the Bluetooth 4.0 or higher. The application is not available on iOS for now. Optionally the device can be connected to the internet (in WiFi or 3G/4G), otherwise only local actions could be used.
- At least one Triggy Node, possibly with an expansion board plugged.
- An Android application installed on the smartphone: it will be used to indicate and configure nearby Triggy Nodes and create the rules
As previously indicated, any available smart object compatible with IFTTT (WeMo, Lifx...) will widen the range of possibilities.
Below a schematic summarizing the full system.
In a nutshell: One or more Triggy Nodes are connected to the smartphone via Bluetooth Low Energy protocol. Sensors data are regularly sent to the app on the phone, which will decide whether an event occurred (for example a displacement detected or temperature above threshold). Then all active Triggy rules using this event are run, i.e. the related action is executed.
Of course the internet connection on the device must be available for the actions requiring it. If IFTTT is used as the action, the IFTTT event will be generated on the cloud, and a server will trigger the associated IFTTT action: turn on a smart light, send a notification on the phone, post a message on Facebook...
A T-Node is 25 mm of side and mainly embeds the following parts:
- The nRF52832 micro-controller (Cortex-M4) from Nordic, takes care of the BLE link and sensors management. This is the last chip of the nRF series, with more processing power and less consumption. Detail available here: https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832
- MAG3110 magnetometer from NXP, for the displacement detection
- Pushbutton switch
- Bi-color LED
- 2.4 GHz antenna
- Miniature expansion connector (pitch 2 mm)
The expansion connector is used either to connect a daughter board (with up to 2 sensors) or to flash the nRF52832 through the SWDIO and SWDCLK pins. The T-Node power supply is ensured by a CR2032 coin cell battery or through the expansion connector.
The T-Node has several modes of operation:
- Shutdown: no functionality available but avoids the need for removing the battery when it is not used. A long push on the pushbutton allows to restart the system.
- Unconnected: no active BLE connection but sends connecting beacons (advertising). In this mode, it is still possible to record the time of detected displacements.
- Connected: active connection to a smartphone, triggers are enabled. Only this mode allows to configure the device and access its options. This is the regular mode of operation.
A power consumption for each mode has been measured. The movement sensors being the most power consuming, we have distinguished the consumption with or without the detection activated. Results are provided in the project logs. In summary: the connected state with movement detection enabled allows a T-Node to run for about 1.5 year on a CR2032 battery.
In order to detect a displacement, an initial position of the T-Node needs first to be defined, a.k.a. the reference position. This can be done through the app. An event is triggered when this position is left (configurable threshold) or when the T-Node returns to this initial position. Triggy also records the date and time of all events, without the need to be connected to a smartphone. The event log can be looked at later thanks to the app.
In order to detect a translation only movement (a drawer for example), a small magnet placed at a distance < 10 cm of the T-Node will be required.
The different events available which will be used to create the Triggy rules are:
- Displacement from the initial position
- Back to the initial position
- Temperature goes above x °C (x defined in the app)
- Temperature goes below x °C (x defined in the app)
- Pushbutton: simple click, double click or triple click
- Smartphone moving closer to the T-Node (threshold defined in the app)
- Smartphone moving away from the T-Node (threshold defined in the app)
In addition, timing conditions can be added:
- Always: the event can be generated any time
- Time frame: the event can be generated only during a defined time slot
- Duration: the event is generated only if the event is maintained for more than x seconds
The expansion board (water + light) adds the following events:
- Water detected
- Water disappeared
- Ambient light above high threshold (threshold defined in the app)
- Ambient light below low threshold (threshold defined in the app)
The actions are the second part of a Triggy rule. Some require a cloud connection and other not. The foreseen possible actions are:
- Turn ON or OFF the WiFi on the phone
- Mute or unmute the phone (with or without vibrate option)
- Pop up a notification on the phone
- Play an alarm/ringtone on the phone
- Sens an SMS (in case no data connection with the cloud available)
- Start or stop recording audio
- Take a picture from the camera
- Media control (play, pause music ...)
- IFTTT event, allowing to generate an event on the Webhooks service. The IFTTT interface is then used to choose an action among a great choice
- Generic HTTP POST/GET webhooks. This could be used to generate anything on a smart home system accepting webhooks
- Send an email
The last 4 actions above need an internet connection available on the device connected to the Triggy Node. Others are just local actions and can be enough for a lot of use-cases. Note that a single T-Node can generate any number of actions by defining as many rules as needed.
IFTTT RECIPE EXAMPLES
These few Recipes will give you a preview of practical applications enabled by Triggy when selecting the IFTTT webhook as an action. Of course, possibilities are nearly endless using smart actuators. Other Recipes will be published later, and don't hesitate to post in comment your most useful ideas of Recipes!
Be informed in real time of the door opening. If unexpected, it could be an intruder. Otherwise it could be your children returning home...
Never forget to switch the light off when the natural light enters the room. A smart light bulb together with Triggy on the shutter will do the job.
You may be waiting an important letter or just want to know if the postman delivered something today.
If you already faced this situation, you know that it can be very embarrassing: the door of the freezer has not been correctly closed. Triggy can alert you if the "open" position is detected for more than x minutes.
Save energy, save Earth! The heater in a room should be turned off when the window is open. But it's better when done automatically with a smart plug.
Triggy can detect when your phone enters into a specific area. At work, automatically put your phone on vibrate not to disturb your colleagues and put it back on ring when leaving.
When leaving a place, you may want to take an object with you (a book, a bag or whatever). Putting a T-Node on it will ensure not to forget it when leaving this area.
There are boring or embarrassing situations where you wish to receive a call as an excuse to leave. Push the button, you phone is ringing...
Use a Triggy Node as a doorbell button and choose the action: a phone notification, play a song, or make a lamp blinking to avoid noise.
A T-Node placed in a room can also be used to turn on the fan, if it's too hot.