Get access to the new Intel® IoT Developer Kit, a complete hardware and software solution that allows developers to create exciting new solutions with the Intel® Galileo and Intel® Edison boards. Visit the Intel® Developer Zone for IoT.
Introduction
This home fall tracker application is part of a series of how-to Intel® Internet of Things (IoT) code sample exercises using the Intel IoT Developer Kit, Intel® Edison development platform, cloud platforms, APIs, and other technologies.
From this exercise, developers will learn how to:
- Connect the Intel® Edison development platform, a computing platform designed for prototyping and producing IoT and wearable computing products.
- Interface with the Intel® Edison platform IO and sensor repository using MRAA and UPM from the Intel® IoT Developer Kit, a complete hardware and software solution to help developers explore the IoT and implement innovative projects.
- Run this code sample in Intel® XDK IoT Edition, an IDE for creating applications that interact with sensors and actuators, enabling a quick start for developing software for the Intel® Edison board or the Intel® Galileo board.
- Set up a web application server to store fall data using Azure* Redis Cache from Microsoft, cloud services for connecting IoT solutions including data analysis, machine learning, and a variety of productivity tools to simplify the process of connecting your sensors to the cloud and getting your IoT project up and running quickly.
- Invoke the services of the Twilio* API for sending text messages.
What it is
Using an Intel® Edison board, this project lets you create a home fall tracker bracelet that:
- Monitors for possible falls using the accelerometer.
- Sends a text alert when a possible fall is detected.
- Displays information that help is on the way using the OLED display.
- Keeps track of detected devices, using cloud-based data storage.
How it works
The home fall tracker bracelet detects potential falls with the accelerometer. If it detects a possible fall, it sends a text alert via Twilio* and lets the user know that their caretaker has been notified and help is on the way.
Optionally, all data can be stored using the Intel® IoT Examples Data.store running in your own Microsoft Azure* account.
Hardware requirements
Xadow* Starter Kit containing:
- Intel® Edison board with a Xadow expansion board
- Xadow - OLED display
- Xadow - 3-Axis Accelerometer
Software requirements
- Intel® XDK IoT Edition
- Microsoft Azure* account
- Twilio* account
How to set up
To begin, clone the How-To Intel IoT Code Samples repository onto your computer with Git* as follows:
$ git clone https:
To download a .zip file, in your web browser go to https://github.com/intel-iot-devkit/how-to-code-samples and click the Download ZIP button on the right-hand side. Once the .zip file is downloaded, uncompress it and use the files in the directory for this example.
Adding the program to Intel® XDK IoT Edition
In Intel® XDK IoT Edition, select Import Your Node.js Project:
Then, navigate to the directory where the example project exists, and select it:
You need to connect to your Intel® Edison board from your computer to send code to it.
Click the IoT Device menu at the bottom left. If your Intel® Edison board is automatically recognized, select it.
Otherwise, select Add Manual Connection. In the Address field, type 192.168.2.15
. In the Port field, type 58888
. Click Connect to save your connection.
Installing the program manually on the Intel® Edison board
Alternatively, you can set up the code manually on the Intel® Edison board.
Clone the How-To Intel IoT Code Samples repository to your Intel® Edison board after you establish an SSH connection to it, as follows:
$ git clone https:
Then navigate to the directory with this example.
To install Git* on the Intel® Edison board if you don’t have it yet, establish an SSH connection to the board and run the following command:
$ opkg install git
Connecting the Xadow* sensors
You need to have a Xadow* expansion board connected to Intel® Edison to plug in all the Xadow devices.
- Plug one end of a Xadow connector into the Xadow - OLED Display, and then connect the other end to one of the side connectors on the Xadow expansion board.
- Plug one end of a Xadow connector into the Xadow - 3-Axis Accelerometer, and then connect the other end to one of the side connectors on the Xadow expansion board.
Manual Intel® Edison board setup
If you're running this code on your Intel® Edison board manually, you need to install some dependencies.
To obtain the Node.js* modules needed for this example to execute on the Intel® Edison board, run the following command:
npm install
Twilio* API key
To optionally send text messages, you need to register for an account and get an API key from the Twilio* website:
https://www.twilio.com
You cannot send text messages without obtaining a Twilio* API key first. You can still run the example, but without the text messages.
Pass your Twilio* API key and authentication token to the sample program by modifying the TWILIO_ACCT_SID
and TWILIO_AUTH_TOKEN
keys in the config.json
file as follows:
{
"TWILIO_ACCT_SID": "YOURAPIKEY",
"TWILIO_AUTH_TOKEN": "YOURTOKEN"
}
Microsoft Azure* server setup
Optionally, you can store the data generated by this example program in a back-end database deployed using Microsoft Azure*, Node.js*, and a Redis* data store.
For information on how to set up your own cloud data server, go to:
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
Configuring the example
To configure the example for sending optional text messages, obtain an API key from the Twilio* website as explained above, and then change the TWILIO_ACCT_SID
and TWILIO_AUTH_TOKEN
keys in the config.json
file as follows:
{
"TWILIO_ACCT_SID": "YOURAPIKEY",
"TWILIO_AUTH_TOKEN": "YOURTOKEN"
}
To configure the example for the optional Microsoft Azure* data store, change the SERVER
and AUTH_TOKEN
keys in the config.json
file as follows:
{
"SERVER": "http://intel-examples.azurewebsites.net/logger/fall-detector",
"AUTH_TOKEN": "s3cr3t"
}
To configure the example for both the text messages and the Microsoft Azure* data store, change the TWILIO_ACCT_SID
, TWILIO_AUTH_TOKEN
, SERVER
, and AUTH_TOKEN
keys in the config.json
file as follows:
{
"TWILIO_ACCT_SID": "YOURAPIKEY",
"TWILIO_AUTH_TOKEN": "YOURTOKEN",
"SERVER": "http://intel-examples.azurewebsites.net/logger/fall-detector",
"AUTH_TOKEN": "s3cr3t"
}
Running the program using Intel® XDK IoT Edition
When you're ready to run the example, make sure you saved all the files.
Click the Upload icon to upload the files to the Intel® Edison board.
Click the Run icon at the bottom of Intel® XDK IoT Edition. This runs the code on the Intel® Edison board.
If you made changes to the code, click Upload and Run. This runs the latest code with your changes on the Intel® Edison board.
You will see output similar to the above when the program is running.
Running the program manually
To run the example manually on the Intel® Edison board, establish an SSH connection to the board and execute the following command:
node index.js
Determining the Intel® Edison board's IP address
You can determine what IP address the Intel® Edison board is connected to by running the following command:
ip addr show | grep wlan
You will see output similar to the following:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0
The IP address is shown next to inet
. In the example above, the IP address is 192.168.1.13
.
For a complete list of How-To Intel® IoT Code Samples, go to Intel® Developer Zone.
For more details about this code sample, go to GitHub*.