platforms

connectivity

Create Liquid Level Sensor Graphs with Temboo

In this tutorial we'll show you how to use Temboo's Data Visualization tools to graph liquid level switch sensor data in your browser. Here's what we'll cover:

Setting up the Honeywell LRNH31S41 liquid level switch

Auto-generating sensor monitoring code

Accessing your sensor data graph

Triggering email alerts with your temperature sensor

Monitoring Sensor Data

Before You Start

1You'll need a free Texas Instruments account to use their online IDE, CCS Cloud. You can sign up here.

2If you haven't already done so, prepare your board for making secure connections by following our Setting up CC3220 for SSL tutorial.

3Log in to Temboo. If you don't already have an account, you can sign up for free.

Set Up Your Sensor

1Once you're logged in, go to our code generation tool and find the Gmailv2 > Messages > SendMessage Choreo. A Choreo is a cloud-based process that connects your CC3220 to any web-based service, and every Temboo application is associated with at least one Choreo.

2Use the dropdown menu at the top of the Choreo page to select a CC3220 board as your device.

3The first step in monitoring sensor data is to set up the sensor you wish to monitor. We provide unit converted data for specific sensor models, such as Celsius and Fahrenheit for temperature sensors. We also support unconverted data which is reported as raw values for analog data and high/low for digital. Your liquid level switch will return values to indicate whether the liquid level is "above" or "below" the switch.

For this tutorial we're going to read data from a Honeywell LRNH31S41. Using the virtual pin board on the Choreo page, select pin 04 to set up your sensor. Select the category 'Liquid Level Switch', then choose the Honeywell LRNH31S41.

4Each time you set up a digital sensor you'll be asked to specify the safe state. This setting will determine the color coding of the data that appears on your graph. Safe data is colored green, and unsafe data is red.

Set the safe state as below. That's all we need to do to set up our sensor, so press Save.

5We will focus on getting sensor data graphs running first. In part 2 of this tutorial, we will set up the email alert. So for now, set a condition based on that sensor in order to run the SendMessage Choreo as infrequently as possible. Use the conditions interface to set a condition that will usually be false, and set the frequency to once a day.

Generate your code

6Next, we'll generate the code that will send our sensor data to Temboo. Scroll down and find the code box. Click the triangle next to Simple Code to open the code menu, and choose Enhanced Code.

7Now you will register your device. To do so, name your device and, optionally, give it a description. Specify the device location—this will allow you to view your devices on a map. For testing purposes, it's good to set a relatively short sensor interval so that you can see sensor data populate your graphs quickly. You can use the custom interval option for this. Press Save when you're done.

Run your code

8Click the "Send to CCS Cloud" button to the right of your generated code. Name your application, then click Send. Click the link that appears to visit the CCS Cloud IDE in your browser.

View your sensor data graph

11Now that the code is running on your CC3220, keep this Choreo page open, and save it for later to use with part two of this tutorial. Open a new browser window to head over to your Devices page to see it in action. A virtual representation of your device will be waiting for you.

12Select your new device and you'll see a sensor data graph for the sensor that you set up. Over time, you'll be able to see sensor data graphs for various time periods. Additionally, at any time, you can request the latest value of your sensors. This is a handy feature for when you're between sensor intervals but want to know what's happening on your device.

That's it! You now know how to monitor sensor data with Temboo. Follow along with part two of this tutorial to add email alerts triggered by sensor values to your new application.

Need help?

We're always happy to help. Just email us at support@temboo.com, and we'll answer your questions.

Triggering Emails with your Liquid Level Switch

Triggering the Email Alert

The application we just built in part one of this tutorial successfully graphs liquid level switch data on Temboo. Now let's make it do a little more. We're going to set up the code to use the switch data to trigger the CC3220 to send an email via Gmail. As we discussed in part one, a Choreo is a cloud-based process that connects your CC3220 to any web-based service, and we'll be looking specifically at the Gmailv2 > Messages > SendMessage Choreo. However, the process for setting a Choreo Trigger condition is the same for any Choreo.

Get set up with Gmail

Gmail uses OAuth authentication. This short video demonstrates how to use our OAuth Choreos, and it's a good idea to take a break and watch it now before you dive into this step.

1You'll need a Google account. If you don't already have one, you can sign up here.

3Using the API Manager, enable API Access for the Gmail API in the Overview tab.

4Under the Credentials tab, create a new Client ID and specify Web application for the Application Type. When configuring the Consent Screen, you must fill out the Email Address and Product Name fields. Save the Consent screen details.

7Run the Choreo by clicking the Generate Code button. The InitializeOAuth choreo will return an authorization URL and a callback ID (required for the FinalizeOAuth step).

8Open a new web browser window, navigate to the authorization URL returned by the InitializeOAuth Choreo, and click Accept to grant the app access to your Google account.

9Run the Google > OAuth > FinalizeOAuth Choreo, specifying the callback ID returned earlier by the InitializeOAuth Choreo. This process will return a Refresh Token which can be used along with the Client ID and Client Secret to authenticate with Google. You'll need these for the next step.

Fill in the Choreo Inputs

10Go back to the browser window you saved earlier where we set up our device using the Gmail2 > Messages > SendMessage Choreo. Supply the ClientID, ClientSecret, and RefreshToken you just obtained from the OAuth process.

11Fill in the From address with the email address of the Google account you authenticated in your OAuth steps above. Supply the email Subject and MessageBody. In To, enter the address of the email's recipient.

12Test your Choreo inputs by clicking Generate Code. You should see a success message on the page, and if you emailed yourself, you'll find a new message in your inbox.

Setting Up the Choreo Trigger

When we set up the temperature sensor in the first part of this tutorial, we were given the ability to specify a condition based on our sensor value that would trigger our Choreo to run. We then set it to prevent our Choreo from running, but now let's set it so an email alert is sent whenever our liquid level switch senses that the liquid level has risen above it.

13We want the CC3220 to send an email if the liquid level switch is returning values of above, so toggle the value to above. We can also set how many times we want our email to send in the event that the condition is met—this helps prevent sending too many alert messages.

Run your code

14Send your updated code to CCS Cloud again by scrolling down to the code box and clicking the Send to CCS Cloud button. This time, give your application a different name than the first version, and click Send.

What's next?

Congratulations! You've just created a robust application complete with sensor data monitoring and email alerts, all without writing any code. Now that you know how to connect your CC3220 to the cloud with Temboo, you're just a few steps away from making something extraordinary. With Temboo handling all the small stuff, you're free to think big.

The principles introduced in this tutorial are applicable to any Choreo in our library and any combination of sensors. Why not explore our Choreo Library and start planning your next project? Or, try one of these tutorials: