Capturing Button Data in a SQL Database

serverlessApp.png

With a SQL database it is possible to capture the JSON data generated by an AT&T LTE-M or AWS Enterprise Button. With the help of our friends at Tek-Connect, Revolution11 has created a serverless app to make the process of capturing button clicks for these devices in a SQL database as intuitive as possible.

Our serverless application supports the following flavors of SQL: MySQL, MS SQL, Postgres SQL, Oracle SQL, SQL Lite or Web SQL.

How to Deploy and Use a Custom Serverless Application to Capture the JSON Button Output

Setting Up The Application

1. Log in to the AWS Console and choose the Lambda service. Once you are on the dashboard, press ‘Create Function’ in the upper right hand corner.

capturingfilemaker1

2. On the next screen, choose the AWS Serverless Repository – the panel located on the right side.

capturingfilemaker2

3. In the search bar, type in “SQL” or “Revolution11” in the Public Applications area. Click on the rev11-attiotbutton-SQLi application.

CapturingSQL3.jpg

4. A Read Me section is found on the left-hand side of the page; this provides the parameters necessary to use the application. Fill out the parameters for your SQL Server address, sql type, and other information on the right-hand side of the page and press the ‘Deploy’ button.

capturingsql4

5. A status screen will appear while the application is being deployed. Once the process finishes, press the Test App button in the upper right of the screen.

CapturingSQL5.jpg

6. An overview screen for the app appears. Click on the hyper-linked name of the application (rev11atttiotbuttonsqli).

CapturingSQL6.jpg

7. The next page sets up the function for the buttons. Add the AWS IoT trigger by clicking on it in the list of triggers to the right.

capturingsql7

8. The AWS IoT Trigger appears in the workflow now. Scroll down to the configuration triggers area to set up the function to work with buttons.

capturingsql8

9. It is possible to use one of the rules created for another button, but in case a rule has not been created, we will create a new one. Choose Custom IoT rule, give the rule a name, and add a query statement as shown in the screenshot below. Press the Save button in the upper right-hand corner to save the changes.

CapturingSQL9.jpg

10. Let’s test the function! On the top of the screen, find the dropdown to ‘Select a test event’. Since we haven’t created any tests to use, the only choice in the dropdown is to ‘Configure a test event’ — choose this option.

CapturingSQL10.jpg

11. Go ahead and use the supplied Hello World template. Give the test event a name and press the Create button at the bottom right of the screen. This test will send the JSON in the body of the test with the function.

capturingfilemaker11

12. You will now see the name of the test you created in the dropdown. Press the Test button to the right of the dropdown to run the test.

CapturingSQL12.jpg

13. When the test has finished running, you will see the results at the top of the page. In this case it was successful. Now, check your SQL Database, there should be a new record with the JSON from the test event.

capturingsql13

14. In the event of an unsuccessful test, this same area will tell you what failed. For this screenshot, I have changed the name of the “column” environment variable to a column not in the database. You should see that error in the details.

CapturingSQL14.jpg

Configuring the Button

1. Configuring the LTE-M or AWS to use this Lambda function is the same as in past blog posts. In the AWS Server Console, navigate to the one click service and click on ‘Create a project’.

capturingfilemaker15

2. Give the project a name and press next.

capturingfilemaker16

3. Press ‘Start’ to define a device template.

capturingfilemaker17

4. Press ‘All button types’ on the next screen.

capturingfilemaker18

5. Enter the Device template name; in the Action dropdown, choose ‘Select a Lambda’ function and choose the function that was just created when you created the application; press ‘Create project’.

capturingfilemaker19

6. On the next screen choose Create your first placement – click ‘Create placements’.

capturingfilemaker20

7. Give the placement a name and press the choose device button to choose a device to tie to the function.

capturingfilemaker21

8. On the next screen, select the device and press ‘Create placement’.

capturingfilemaker22

You can now test your button!

 

Download a PDF of this blog: Capturing Button Data in a SQL Database

Capturing Button Data in a SQL Database

Capturing Button Data in a FileMaker Database

With a FileMaker database, it is possible to capture the JSON data generated by an AT&T LTE-M or AWS Enterprise Button. DB Services already wrote a great blog about using a

custom Lambda to record the JSON into a FileMaker Database from the 1st generation of AWS Buttons here: https://dbservices.com/articles/iot-filemaker-and-you/.  With the help of our friends at Tek-Connect, we decided to take it a step further and create a serverless app to make the process of capturing button clicks for these devices in FileMaker as easy as possible.

FileMaker’s ScriptMaker opens up a world of possibilities that customize what happens when pressing these buttons. In earlier blogs, we have demonstrated using Twilio for Text Messaging and Mandrill and MailChimp to send transactional email. You can build workflows using these tools with your FileMaker Solution. Perhaps a client wants their field reps to re-order products from the field using these buttons. With one click, a FileMaker solution can create an order record in a database, send a text to the rep and his customers letting them know the product(s) have been ordered, and send a notification to the warehouse to pick and ship the product. In future blogs, we will be exploring adding more functionality to these buttons.

How to Deploy and Use a Custom Serverless Application to Capture the JSON Button Output

Setting Up The Application

1. Log in to the AWS Console and choose the Lambda service. Once you are on the dashboard, press ‘Create Function’ in the upper right hand corner.

capturingfilemaker1

2. On the next screen, choose the AWS Serverless Repository (the last pane on the right).

capturingfilemaker2

3. In the search bar, type in “FileMaker” or “Revolution11” in the Public Applications area. Click on the rev11-attiotbutton-filemakerapi application.

capturingfilemaker3

4. A Read Me section is found in the middle of the page on the left-side; this provides the parameters necessary to use the application. (A sample FileMaker application can be downloaded with this blog post.) Fill out the parameters for your FileMaker Server, file, and other information on the right-hand side of the screen and press the ‘Deploy’ button.

capturingfilemaker4

5. A status screen will appear while the application is being deployed. Once the process finishes, press the Test App button in the upper right of the screen.

capturingfilemaker5

6. An overview screen for the app appears. Click on the hyper-linked name of the application (rev11atttiotbuttonfilemakerapi).

capturingfilemaker6

7. The next page sets up the function for the buttons. Add the AWS IoT trigger by clicking on it in the list of triggers to the right.

capturingfilemaker7

8. The AWS IoT Trigger appears in the workflow now. Scroll down to the configuration triggers area to set up the function to work with buttons.

capturingfilemaker8

9. It is possible to use one of the rules created for another button, but in case one has not been created, we will make a new one. Choose Custom IoT rule, give the rule a name and add a query statement as in the screenshot below. Press the save button in the upper right hand corner to save the changes.

capturingfilemaker9

10. Let’s test the function! On the top of the screen, find the dropdown to ‘Select a test event’. Since we haven’t created any tests to use, the only choice in the dropdown is to ‘Configure a test event’ — choose this option.

capturingfilemaker10

11. Go ahead and use the supplied Hello World template. Give the test event a name and press the Create button at the bottom right of the screen. This test will send the JSON in the body of the test with the function.

capturingfilemaker11

12. You will now see the name of the test you created in the dropdown. Press the Test button to the right of the dropdown to run the test.

capturingfilemaker12

13. When the test has finished running, you will see the results at the top of the page. In this case it was successful. Now, check your FileMaker Database, there should be a new record with the JSON from the test event.

capturingfilemaker13

14. In the event of an unsuccessful test, this same area will tell you what failed. For this screenshot, I have changed the name of the “field” environment variable to a field not in the database. You should see that error in the details.

capturingfilemaker14

Configuring the Button

1. Configuring the LTE-M or AWS to use this Lambda function is the same as in past blog posts. In the AWS Server Console, navigate to the one click service and click on ‘Create a project’.

capturingfilemaker15

2. Give the project a name and press next.

capturingfilemaker16

3. Press ‘Start’ to define a device template.

capturingfilemaker17

4. Press ‘All button types’ on the next screen.

capturingfilemaker18

5. Enter the Device template name; in the Action dropdown, choose ‘Select a Lambda’ function and choose the function that was just created when you created the application; press ‘Create project’.

capturingfilemaker19

6. On the next screen choose Create your first placement – click ‘Create placements’.

capturingfilemaker20

7. Give the placement a name and press the choose device button to choose a device to tie to the function.

capturingfilemaker21

8. On the next screen, select the device and press ‘Create placement’.

capturingfilemaker22

You can now test your button!

 

You can download a sample FileMaker File to host on your FileMaker Server here.

Download a PDF of this blog: Capturing Button Data in a FileMaker Database

Capturing Button Data in a FileMaker Database

AWS Enterprise Button Configuration

AWS.ATT.button.

Before Button Configuration, set up an Amazon Web Service (AWS) Account

Next, download the AWS IoT 1-Click App from either the iOS App Store or Google’s Play Store Order an AWS Enterprise Button Here

Once you receive your AWS Button follow these steps to configure:

1. Open box by prying open the panel on the end that has the white sticker (Keep track of the box so you can scan the sticker with the app).

awsenterprise1

2. Log into the AWS IoT 1-ClickApplication

3. Configure the Button on your mobile device by opening the AWS IoT 1-Click and signing in with your AWS password. This opens the app for button configuration on the setup tab. Press the Claim with Device ID button

awsenterprise2

4. Press the scan button to scan the serial number on the box (You can enter the serial number manually if you have lost the box)

awsenterprise3

5. The app will display “1 Device Added” when it has identified the serial number.
Press ‘Stop Scanning’.

awsenterprise4

6. The Device Added Confirmation Screen will appear. Press the ‘Claim’ button to claim the device.

awsenterprise5

7. A pop-up will appear asking to confirm that you would like to configure this device. Press ‘Yes’.

awsenterprise6

8. On the next screen you will be instructed to Press the Button on the AWS Enterprise Device.

awsenterprise7

9. Once the device is found, the next screen will prompt you to add your wi-fi credentials for the wi-fi network you would like to use with this button. Enter your settings and press ‘Confirm’.

awsenterprise8

10. The configuration screen will show the configuration status change from ‘in progress’ to ‘succeeded’. Once the configuration has succeeded (the light on the device will change from flashing blue to a solid green flash), press the ‘next’ button.

awsenterprise10

11. The next screen will prompt you to press the button on the device to finalize the claim. Once this has succeed, press the ‘finish’ button.

awsenterprise11

12. Press the devices tab at the bottom of the screen to view the device in the app.
Click on the device in the list to enable it.

awsenterprise12

13. On the next screen, click on the ‘enable’ slider.

awsenterprise13

Configuring the Button Action

1. Log on to your AWS Console

2. Click ‘All Services’ and navigate to → Internet of Things → IoT 1-Click

3. Choose the 1-Click Service, this is what you will use to assign a Lambda Function to the device.

awsenterprise14

4. On the left hand side of the screen you will see the menu for managing 1-Click Devices

awsenterprise15

5. Click on the ‘Manage’ option in the 1-Click Menu

6. Create a test project to attach for the AWS Enterprise Button. Press the ‘Create a Project’ button.

awsenterprise16

7. Enter a Project name and Description and press the ‘Next’ button.

awsenterprise17

8. Press Start to Define a Device Template for the Lambda Function you want the device to use.

awsenterprise18

9. Name the template, and set an action (Lambda Function). In this case, choose ‘Send SMS’.

awsenterprise19

10. Scroll down to Create Placements and enter a device placement name and enter a phone number (+1xxxxxxxxxx) and write a message in the placement attributes. Press ‘Create Project’.

awsenterprise20

11. A confirmation screen will appear, press the ‘Create placements’ button.

awsenterprise21

12. On the next screen, give the placement a name and press the choose a device.

awsenterprise22

13. Click on ‘Choose’ next to the AWS Device

awsenterprise23

14. Press the ‘Create placement’ button at the bottom of the screen.

awsenterprise24

15. You will now see this device in the Placements for this Project.

awsenterprise25

16. Press the button once on the AWS Enterprise Device. When the light on the device turns solid green a text is sent to specified the number.

Download a PDF of this blog: AWS Enterprise Button Configuration

AWS Enterprise Button Configuration

AT&T LTE-M Button Configuration

ltem-button-1

Before Button Configuration:
1. Set up an Amazon Web Service (AWS) Account.
2. Download the AWS 1-Click App from either the iOS App Store or Google’s Play Store.
3. Order an AT&T LTE-M Button here:

https://marketplace.att.com

Adding, Claiming and Enabling the Button

Once you receive your LTE-M Button follow these steps to configure:
1. Open box by prying open the panel on the end that has the white sticker.

ATT1

2. Configure the Button on your mobile device by opening the AWS IoT 1-Click and signing in with your AWS password. This opens the app for button configuration on the setup tab. Press the Claim with Device ID button.

lte-m button2

3. Press the scan button to scan the serial number on the box (You can enter the serial number manually if you have lost the box).

ATT3

4. Scan the Serial Number (SN) barcode on the box with your mobile device, or type in the SN number located on the device. The SN will auto-populate on the screen, press the claim button to add this button to your AWS Account.

ATT4

5. Click the button on the AT&T LTE-M device and press the finish button to finalize the claim. The LED light on the button will turn a solid green once it has successfully transmitted data to AWS. Once you see “Claim Succeeded” message on the screen, press the ‘Finish’ button.

ATT5

6. Press the devices tab at the bottom of the screen to view the device in the app. Click on the device in the list to enable it.

LTE-M Button6.jpg

7. On the next screen, click on the ‘enable’ slider.

lte-m button7

Configuring the Action for the Button

1. Log on to your AWS Console.
2. Click All Services, navigate to → Internet of Things → IoT 1-Click
3. Choose the 1-Click Service, this is what you will use to assign a Lambda Function to the device.

ATT7

4. On the left hand side of the screen you will see the menu for managing 1-Click Devices

ATT8

5. Click on the Manage Option in the 1-Click Menu
6. Create a test project to attach for the AT&T LTE-M Button. Press the ‘Create a Project’  button.

ATT9

7. Enter a Project name and Description and press the ‘Next’ button.

ATT10

8. Press Start to Define a Device Template for the Lambda Function you want the device to use.

ATT11

9. Name the template, and set an action (Lambda Function). In this case, choose ‘Send SMS’.

ATT12

10. A confirmation screen will appear, press the ‘Create Placements’ button.

awsenterprise21

11. On the next screen, give the placement a name.

ATT13

12. Scroll down to Create Placements and enter a device placement name and enter a phone number (+1xxxxxxxxxx) and write a message in the placement attributes. Press ‘Create Project’.

awsenterprise20

13. Press ‘Choose a Device’ to add the AT&T Button to this placement, click on ‘Choose’ to the right of the available devices on the screen, and then press the ‘Create Placement’ button at the bottom of the screen.

lte-m button15

14. You will now see this device in the Placements for this Project.

lte-m button18

15. Press the button once on the AT&T LTE-M Device. When the light on the device turns solid green a text is sent to the specified number.

 

Download a PDF of this blog: AT&T LTE-M Button Configuration

AT&T LTE-M Button Configuration

AWS IoT Button Configuration

Once you have established your AWS account, you are ready for AWS Internet of Things (IoT) button configuration.

Order here (This is an affliate link full disclosure)

Open box by prying open the panel on the end that has the white sticker

IOT1

2. Remove the documentation that is included in the box and then use your mobile phone’s camera to scan the QR code to open the “Getting Started” page on your phone.

IOT2

3. Review ‘Cloud Programmable Dash Button’ — read the intro description on what the button is, and what it can do.

4. Review ‘Trigger AWS Lambda functions from simple devices’ and the description of the IoT Service.

5. Configure the Button on your mobile device. Open the app: AWSBTNDev – sign in with your AWS password. This opens the app for configuring your button.

6. Click the Plus Sign to configure the new button

7. Click “Agree and Get Started” on the Set up your Button screen.

8. Scan the DSN barcode on the box with your mobile device. The DSN and Name values will auto-populate on the screen.

9. Go to Settings on your mobile device and connect to the button’s wireless network using the password provided on the screen. Utilize the automatic copy/paste function to transfer the password.

10. Select the wi-fi network and enter the password copied from the previous action.

11. Once the certificate has downloaded, set the button action. Select the Lamda function that sends an email on click of the button, then select “Set Action.”

12.Send test email via button click.

13. On first button click, verify the email address through Amazon Web Services automated email.

IOT3

14. Receive email via the AWS IoT button! Your first action is complete.

IOT4

Important Note!

Amazon Web Services has identified a defect that may prevent some AWS IoT developer buttons from operating as expected. To determine if your AWS IoT developer button is impacted, check whether your button flashes a red LED in a long-short-short pattern after it is clicked.

If your button is impacted, here are the two options you can choose from:

Option 1: You can re-provision (see steps below) the impacted developer buttons using the AWS Developer button app. Re-provisioning will apply the correct firmware, and result in a series of white LED flashes for a few seconds, and then subsequent button clicks should become functional with a green LED confirmation. If impacted, you can let AWS know if this option will work for you. AWS has outlined the re-provisioning steps below for your reference.

Option 2: AWS can offer replacement for all your impacted developer buttons. Please note that 2nd Generation developer buttons are out-of-stock so currently they can offer you 1st Generation developer buttons as replacement. Please let them know if you prefer this option.

Re-provisioning steps:

  1. Install and open the “AWS IoT Button Dev” application in the iOS or Android app stores, and log in to the app with your AWS account or IAM user.
  2. If the button is already registered under your account, make a note of the Lambda function used by the button, and then choose the “delete” option for that.
  3. Then choose “Set up AWS IoT Button”, scan the DSN barcode (or type it in manually from the back of the button), and click “Register Button”.
  4. Once, the app automatically sets up your cloud resources, follow the instructions in the app to configure the button’s Wi-Fi.
  5. When asked to associate a lambda function with the button, choose the original function to keep the same functionality. The button should then resume normal.

Download a PDF of this blog: AWS IoT Button Configuration
Download a PDF of links below: AWS IoT Button Config Links

AWS IoT Button Config Links
West dashboard homehttps://us-west-1.console.aws.amazon.com/console/home?region=us-west-1
AWS IoT Button Wizard Quickstart Guidehttps://docs.aws.amazon.com/iot/latest/developerguide/iot-button-lambda.html
FAQhttps://aws.amazon.com/iotbutton/faq/
Review ‘Cloud Programmable Dash Button’https://aws.amazon.com/iotbutton/
Review ‘Trigger AWS Lambda functions from simple devices’https://aws.amazon.com/iot-1-click/
AWS Lambda Resourceshttps://aws.amazon.com/lambda/resources/#Getting_Started
AWS Lambda overview and introductory video with sample use caseshttps://aws.amazon.com/lambda/
Working with Lambda Functionshttps://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction-function.html
Console-based Getting Started exercisehttps://docs.aws.amazon.com/lambda/latest/dg/getting-started.html
Deploying Applications with AWS Lambdahttps://docs.aws.amazon.com/lambda/latest/dg/deploying-lambda-apps.html
Use Caseshttps://docs.aws.amazon.com/lambda/latest/dg/use-cases.html
Best Practices for Working with AWS Lambda Functionshttps://docs.aws.amazon.com/lambda/latest/dg/best-practices.html
Tech supporthttps://aws.amazon.com/contact-us
After Registering Buttons Via Mobile
Dashboard > Connect to AWS IoThttps://us-west-2.console.aws.amazon.com/iotv2/home?region=us-west-2#/connectdevice/
Connect an IoT devicehttps://us-west-2.console.aws.amazon.com/iotv2/home?region=us-west-2#/connectdevice/
Choose button from list of registered buttonshttps://us-west-2.console.aws.amazon.com/iotv2/home?region=us-west-2#/connectdevice/
Download a connection kithttps://us-west-2.console.aws.amazon.com/iotv2/home?region=us-west-2#/connectdevice/
Configure and test your device
AWS IoT Button Configuration

Setting up an Amazon Web Services (AWS) Account

To get started you will need to set up an AWS account – follow these easy steps
Sign up here for an AWS account. It’s free but requires credit card.

  1. Create account by adding name, company name and contact details. Choose Professional or Personal Account and enter your phone number with no spaces.

Picture1

2. Enter a credit card on the Payment Information screen – depending on the tier you choose (Personal or Professional) the card may or may not be activated.

Picture2

3. Type in your phone number and enter the security check then hit the ‘Call Me Now’ button.

Picture3

4. A four digit number appears on the computer screen.

Picture4

5. Receive a phone call and enter the four digit code on your keypad.

6. You will then be verified after entering the code correctly.

Picture5

7. Select a support plan – Basic (free), Developer ($29/month), Business ($100/month)

Picture6

 8. Confirm your email address at the custom link sent to your email address

Picture7

You can now sign into the AWS console and personalize your experience based on your role, level of service and interests. Dig in, check out the tutorials and make your way around the AWS site!

Get a PDF of this blog: Setting Up An Amazon Web Services Account

Setting up an Amazon Web Services (AWS) Account

Why IoT Now?

IoT-2

Smart, Connected… The IoT Buzz is True
The Internet of Things (IoT) continues to be a buzzworthy topic as new devices are developed and the general public gains a better understanding of their intrinsic value.  Companies have been reluctant to deploy IoT-based solutions, or even explore deployment options, for various reasons: security on the devices themselves and the networks they run on are a cause of concern, as is the complexity and expense of creating solutions that utilize IoT devices. Marrying solutions to existing enterprise resources also rates as a point of concern. The changes in the IoT landscape over the past 18 months are discussed below — as Revolution11 has been a leader in the forefront of IoT research and development, it is crystal clear that the elements for a successful IoT deployment are well within the reach of developers far and wide.

Dedicated to IoT
In the past 12 months the four major mobile carriers in the US have each rolled out networks dedicated to low power IoT devices. LTE-M is the abbreviation for LTE Cat-M1 or Long Term Evolution (4G), category M1. This technology is for IoT devices to connect directly to a 4G network, without a gateway and on batteries. These networks are not ‘phone’ networks adapted for IoT devices, they were specifically designed for Machine-to-Machine communications. With distinct price plans, they are generally geared toward those providing the services, not the consumer directly.

Learn more about LTE-M Networks

Certified Modules Bring About Change…Quickly
Expense and the difficulty of integrating sensors and other IoT devices into business solutions are often seen as barriers to entry. Prototyping solutions using arduinos or Rasberry Pis was an easy fix, but when the time came to scale a customized group of sensors or devices to move into production, the sourcing, testing, and certifying by mobile carrier was an incredible roadblock which was expensive and time-consuming. Within the past couple of years pre-certified components and Original Equipment Manufacturers (OEM) vendors who produce the parts have, thankfully, arrived on the scene. It is now possible to build your IoT sensors or devices using these pre-certified modules.

Learn more about AT&T’s validated chipsets and modules

Incorporate IoT Solutions Into Your Organization…Today
The time is now to incorporate IoT solutions into your organization! AT&T has an easy-to-use design tool known as “Flow,” along with convenient APIs and efficient data services. Don’t worry about storing huge amounts of data that the sensors generate on your own servers — the data from these services are a snap to incorporate into other IoT frameworks utilizing Amazon and Google.

Learn more about AT&T Flow

Development
In our business this is what we look for, first and foremost. Developing and deploying an IoT solution is now within reach and has quickly become practical for organizations of all formats and sizes… what is the downside to efficient, reliable tracking of your assets in real time? None, really — just to name one of the MANY applications that IoT services deliver to your business. IoT gives deeper meaning to the “things” that are all around us, and enables this technology to monitor (just about anything) and notify stakeholders of performance metrics on demand. Our experience tells us that this is a win-win solution for many developers.

Need more information? Contact Revolution11 to discuss your IoT ideas.

Download a PDF of this entry here: Why IoT Now?

Why IoT Now?

Why We Think We Won the AT&T Hackathon

20170911005157_resized
The Revolution11 Team

“Winning means you are willing to go longer, work harder, and give more than anyone else.” – Vince Lombardi

Winning the AT&T IoT hackathon in September 2017 has propelled Revolution11 into a new realm within the Custom Application Development market. Several clients have asked for details on the overall contest and they are intrigued as to why we won with our “Smart Manhole” project. In response, we have noted that it is the same DNA, drive and culture that powers Revolution11 in the Custom Application Development market that served us especially well in winning the top prize at the hackathon. The Revolution11 philosophy focuses on small, well-thought out projects, developed in the Agile style. Our cohesive team concentrations on developing solutions for the mobile market; our subject matter expertise and years of experience working with IoT devices and services means that this win is just a springboard to new and exciting innovation for our trusted clientele..

Agile Development
In today’s competitive environment, a company’s processes, and even its business model, changes with a frequency that is undetermined, yet necessary. Traditional software development models rely on long foundation and discovery phases, which often leave software and end products that no longer meet the needs of the organization. And its expensive to boot! Revolution11 utilizes the agile style which suites our goal of rapid, yet precise, development and allows us to pivot with no downtime. A simple debrief with key stakeholders let’s them understand the overall environment. This collaboration permits us to pick the smallest element of a process that will have a big impact, i.e., solving a pain point, saving money or increasing revenue. The solution is then rapidly prototyped, tested by our team and given to a select few end-users. Then comes the live environment where the pain point becomes a thing of the past.

A Small Cross Disciplinary Team
Many old school Application Development firms segregate their teams by technology. The web application team, the database team, an iOS team and the list goes on – the problem with this approach is the segmented thought process often presents itself, not in a good way, in the final product. Rather than use the correct tool for the job, the team that landed the project will contort the project to fit their perspective, rather than applying the most efficient tools for the problem(s) at hand. Firms may employ a variety of strategies that involve technical architecture and insist that the segmented teams to execute against a rigid plan – often leading to delays, and huge cost overages.

Experience Counts in the IoT Industry
IoT development is not a new experience for Revolution11. Our proven forte is to prototype devices and applications based on input from a variety of markets – including the utility and industrial application space. Our team places creativity at the top of the list and is, therefore, well prepared to craft applications specifically designed to solve problems, be they old or new.

Download a PDF of this blog post: Why We Think We Won

Why We Think We Won the AT&T Hackathon

“Smart Manhole” System Design

Revolution11 Takes 1st Place at IoT Hackathon

 Hackathon-650x320

GSMA Conference

Overview

The Revolution11 “Smart Manhole” project originated from a hackathon hosted by AT&T and the GSMA in San Francisco, CA September 9-11, 2017. Read the story here.

The goal of the “Smart Manhole” project is to address the following needs in utility hole maintenance and infrastructure wiring: 1) the ability to know the inside wiring layout before opening a utility hole, 2) the wireless tracking of temperature, humidity and other telemetry data without having to open the utility hole, and 3) receipt of alerts to prevent unauthorized or incorrect access to the infrastructure when a utility hole cover has been opened.

Components

The overall system consists of three main subsystems:
the IoT Device, the Cloud services and the iOS application.

att-iot-s-kit@2x1. IoT Device
The IoT Device is a prototype constructed with the AT&T IoT Starter Kit. The device, once properly enclosed and weather-sealed, is to be adhered to the underside of the utility hole cover. The device serves functions including telemetry data gathering and transmitting, as well as utility cover locating/identification.

  • Sensors: temperature, humidity and acceleration sensors are integrated in the NXP K64F Development Board.
  • NXP K64F Development Board: part of the AT&T Starter Kit, the main development board that hosts and runs the software which handles and controls the cellular shield to transmit the data gathered by the sensors.
  • Avnet Cellular Shield: part of the AT&T Starter Kit, uses the WNC M14A2A LTE module to connect to the AT&T cellular network to transmit data over HTTP.
  • Bluetooth Beacon: a passive bluetooth beacon which serves locating and identification purposes.

> Learn more about the AT&T Starter Kit here:
https://www.business.att.com/enterprise/Service/internet-of-things/iot-platforms-development/starter-kit/

> Revolution11 provides a thorough overview of Beacon technology here:
https://revolution11blog.com/2016/05/27/using-sensors-to-get-information-sent-to-your-mobile-device/

iot-flow-designer-overview-infographic2. Cloud Services
The Cloud consists of all databases and services that are hosted in servers, VMs or other connected computer resources.

  • AT&T Flow: single point of entry for all transmissions from the IoT device.  Processes the data received, appends derived data to the payload and stores to AT&T M2X. Based on the derived calculations, the Flow also pushes data to the email services to generate alerts.
  • AT&T M2X: a time-series database with GET/POST APIs. Used to store all sensor and derived time-series data.
  • External Email Service: An API that the Flow application calls to send emails for temperature/humidity/opening alerts. Currently a PHP service hosted on Amazon EC2 as a temporary measure for prototyping needs.
  • External Database: stores all non-sensor related data from
    external sources (e.g., utility company’s database) that pertain
    to the utility holes.
  • Data Services APIs: API services that the mobile app or other front-end applications can call to obtain all data available that pertain to a particular utility hole. Currently, a set of PHP services hosted on Amazon EC2 serves as a temporary measure for prototyping needs.

> Find more information on AT&T’s Flow Design tool here:
https://www.business.att.com/enterprise/Service/internet-of-things/iot-platforms-development/flow-designer/

> AT&T M2X information found here:
https://m2x.att.com

> Amazon’s EC2 cloud services, go here:
https://aws.amazon.com/ec2/

vector_iphone_6_6s_7_by_aslittledesign-daq6a6i3. Mobile App
The Mobile App is the front-end interface (other than email alerts) that interacts with the end user. The mobile app obtains the UUID and location information from the bluetooth beacons on the IoT device via Bluetooth-Low-Energy 4.0 standard and then, if the user requests, queries the Data Services APIs with the UUID to obtain the sensor time-series data as well as data from the external database to display on the mobile interface. The mobile app queries the Data Services APIs periodically (depending on configuration) to ensure the data displayed are refreshed and up to date.

Flow

System design & data flow diagram:

Flow_Diagram_HR

Conclusion

This prototype, when fully developed, has the potential to save utilities and municipalities both time and money. It will also help increase the security around critical infrastructure.

Revolution11 looks forward to continuing to offer leadership in the IoT space.

Download a PDF of this blog post: Smart Manhole Design

“Smart Manhole” System Design