“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

PushingBox API: Real Time Notifications for IoT Devices – Part 2

In previous blogs we introduced FileMaker’s support of iBeacons and the PushingBox API. We now cover the integration of a FileMaker App that will make use of the new RangeBeacons Script Step to search for an iBeacons UUID. When the UUID is found, you can use the PushingBox API and Pushbullet to send notifications to both Chrome and iOS devices. This functionality can also be used to send a file or photo to Chrome; it can also be used similarly to perform a script or other actions with the “Insert from URL” script, or to send variables in your notifications that are read from a sensor or device.

First, we will demonstrate sending a notification via the Insert from URL script step with the PushingBox service.

Follow the steps in the previous PushingBox post to set up the scenario and action.

Here we will set up an example that sends notifications on the temperature of a room using Pushbullet and the PushingBox HTTP API method where variables will be used for $room$ and $temperature$. The full message and title are: The $room$ temperature is $temperature$ degrees

image1-22

Remember that you will need your Pushbullet Token and Pushingbox DeviceID to make this work. This is the unique key that identifies the scenario you want to launch. The DeviceID can be found on the Scenario Page. You can also create more arguments to define custom notifications text using your own variables.

image2-24

Within FileMaker we can accomplish the notification with a single Insert from URL script step where the details of the script step are:

image3-26 copy

Below are the results on…

Chrome:

image5-28

iOS (iPad):

image6-30

iOS (iPhone):

image7-33

We will now use the App to scan for an iBeacon and send a push notification and file (to Chrome) when found. The scripts are:

image8-36

image9-39 copy

This will search for an iBeacon UUID and perform a script to send the message and file. Since the app uses the RangeBeacons Script, it is performed from FileMaker Go 15 as shown below performing searching for the iBeacon.

image11-41image12-43image13-45

The results on Chrome and iOS are featured below. You can see in the desktop notification that a zip file was successfully sent with the notification.

image14-47image15-49

The scenarios and possibilities with PushingBox are vast and when combined with the emergence of connected devices and the support of iBeacons via FileMaker Go 15. Revolution11 staff have been busy coming up with many different scenarios that will fill the needs of our clients!

Go to Part 1 of this subject.

Download a PDF of this blog here: PushingBox API Pt2

 

PushingBox API: Real Time Notifications for IoT Devices – Part 2

PushingBox API: Real Time Notifications for IoT Devices, Applications and Web Services – Part 1

PushingBox is a cloud service that sends notifications based on API calls — you can trigger the service by HTTP request (GET/POST) or email. PushingBox is called from almost anything, e.g., Arduino, Spark Core, IFTTT, email, SmartThings, an HTTP request or your own script. Dozens of services, such as emails, Tweets, SmartWatch notifications, Push Notifications (iOS, Android, WindowsPhone), Windows8 Notifications and MacOS Notifications can be utilized.

In a previous blog post, Revolution11 introduced iBeacons, Apple’s protocol that allows mobile devices (iOS and Android) to pick up signals from small sensors using the Bluetooth Low Energy (BLE) protocol. The uses for iBeacons are endless, and as our consumption of “stuff” from mobile devices increases, sensors such as iBeacons will deliver rich contextual content from everyday objects.

In this example, we combine iBeacons with PushingBox API and Pushbullet to send notifications to iOS devices and Chrome browser with a FileMaker solution.

Set-Up:

1. Go to https://www.pushingbox.com/ and sign up for an account. Notifications are created from an API call to the services supported by PushingBox. Next, configure the service you are sending the notification from. You can do it at the My Services page.

2. Add a service:

PB1

3.  Select the Pushbullet service:

PB2

The Pushbullet Service dialog box will prompt you to name the service and enter the access token used in the API call.

4. Download Pushbullet at this point by clicking on the link (1)

PB3

5. Signup for a Pushbullet account and Create an Access Token (2).  You can use a Google account to sign into the PushingBox and Pushbullet accounts making it simple and quick.

a. Enter the access token back in the Pushbullet service.

PB4

6. Create a “scenario” and add an action to which the service will use and eventually write the text to send. The action is essentially the customized information you will use in your scenario.

a. Go to “My Scenarios” and give the service a name of your choice and click “Add”

b. This is step is where you will get the DeviceID used in the API call. Select “Manage”

PB5

7. Select “Add an Action” and note your DeviceID:

PB6

Pushbullet or any other scenario you’ve set up will be available to add an action too.

8. Select “Add an action with this service

PB7

From here you can create the message you want to send or use variables if you want to send some customized information with your scenario.

PB8

Here we are creating variables for use in a FileMaker solution, in this example we create variables:

$MessageTitle$

$RSE_Message$

Be on the lookout for our next blog post where we will create the FileMaker solution and integrate it with iBeacons, PushingBox, and Pushbullet Web service. Revolution11 is continually seeking innovative solutions for our clients.

Download a PDF here: PushingBox API

PushingBox API: Real Time Notifications for IoT Devices, Applications and Web Services – Part 1

Using Sensors To Get Information Sent To Your Mobile Device

ibeacon copyiBeacon and Other Bluetooth Low Energy Sensors – Getting Information from the Physical Environment with Mobile Devices


FileMaker recently announced support of iBeacons with FileMaker Go. iBeacon is Apple’s protocol that allows mobile devices (iOS and Android) to pick up signals from small sensors using the Bluetooth Low Energy (BLE) protocol. In the case of the iBeacon protocol, devices can be associated with “things.” A sensor can be attached, literally, to any physical object, and by utilizing the unique identifier broadcast from the sensor, information about the object is fetched and sent to your phone.

For instance, a sensor is attached to a piece of art in a gallery and users passing by can quickly retrieve information about the specific artwork. You could also place a bunch of sensors on every item on every pallet of inventory on a truck, and the person receiving that inventory could tell if something was missing before even unloading the truck. Unlike barcodes or Quick Response (QR) codes, sensors do not have to be “scanned,” they are broadcast and have a range of about 70 meters, with the range on some sensors being configurable to greater or lesser distances. Users do not have to configure anything or make a connection to start receiving sensor data – simply open the app and nearby sensor information will be delivered to the device.

graphic-1

graphic2

graphic3

While iBeacon fulfills a specific need, it is not the only game in town. Increasingly, these specialized sensors have the ability to broadcast many protocols at once. Google has a competing protocol called Eddystone, which can broadcast four different packet formats (and with some sensors, you can use all four). Additionally, you can take advantage of all of this sensor goodness with a variety of web services:

UID – This is pretty much just like Apple’s iBeacon Protocol where sensors broadcast a unique identifier picked up over Bluetooth for mobile devices

URL – This format broadcasts a URL across the Google platform (in Google Play and in Google Chrome); these URLs are displayed without the user having to download any software

TLM – This format broadcasts Telemetric data such as battery voltage, beacon temperature, light and motion

EID – This format is for more secure implementations requiring a random unique ID, where the meaning is derived from the cloud resolver hosted by Google

It is also possible to broadcast custom packet formats from sensors.

All of these sensors come in a variety of form factors and capabilities. You can get coin-sized sensors, sticker-type sensors, and even sensors that can be embedded in clothing and washed. Imagine the ability to solve many business needs with sensors that can track movement, relay their location, give temperature readings, monitor light and motion, and retrieve information. It is now easier than ever to incorporate data from the physical environment with your business solutions.  The Revolution11 team is excited to incorporate the sensors when solving client needs — the uses for iBeacon and the other protocols are endless.

Download a PDF of this blog: iBeacon Sensors

Using Sensors To Get Information Sent To Your Mobile Device

Utilizing Twilio and ThingSpeak API in IoT Applications

blog graphic

Rapid Systems Engineering Lets Your Devices Talk To You

Rapid Systems Engineering recently posted about how they combined our solution that utilizes Twilio to automatically send notifications with ThingSpeak API and Infrared Sensors to create automatic messaging and data collection whenever any motion is detected out in the field.

You can read about it here.

Utilizing Twilio and ThingSpeak API in IoT Applications

Introducing Twilio Labs…

Twilio_logo_red

Twilio Labs is where additional features for the Twilio core platform are published.

Twimlets

The projects accessed through Twilio Labs are called Twimlets.  Twimlets are small web applications that implement basic voice application functionality.  They are open source so you can modify Twimlets to suit your needs; they are also stateless so you can pass the URL parameters of execution in when you call them.

Using Twimlets

You can wire up a phone number to the URL of a Twimlet, and they can be combined with your own applications. Twimlets can also be chained based on what happens during their execution.

The Twimlets currently available are:

Forward

will forward a call to another phone number and can forward to a new URL if the call isn’t answered

Find Me

will ring up to 10 phone numbers in order until someone answers the call

Simulring

will dial 2-5 phone numbers simultaneously and the first person to answer is connected to the caller

Voicemail

will ask the user to leave a message and will email the audio recording to a specified email address

Simple Menu

will play a message for the caller and wait for them to press digits that will launch them to a new URL or twimlet based on their selection

Simple Message

will play one or more audio files, say one or more text blocks, or any combination of both

Call Me

a simpler version of Simulring or Find Me that only rings one number and will forward to another URL or Twimlet if no one answers

Echo

outputs TwiML passed in via the URL, which is useful for building completely stateless apps that place outbound calls

Conference

allows you to build a simple conference line

Hold Music

plays hold music indefinitely based on music stored in an S3 bucket

Twimlet Generator

Twilio Labs provides a Twimlet Generator where you can build up and test a Twimlet URL on the website.

Below is the Forward Twimlet Generator and its Configuration parameters using Twilio’s Try It Out! section found in each Twimlet example:

image003

Twilio Sample File in FileMaker

Within FileMaker, Twimlets can be utilized by HTTP requests and the “Insert From URL” function.  Revolution 11 developed a sample file to send text messages shown in the blog “Twilio Sample PHP & Instructions.” In this blog, we integrated the Hold Music Twimlet.

image006

By entering a phone number in the “To Phone Number” section and pressing Send SMS button, the phone number you entered receives this SMS text message:

image008.png

When we enter the phone number we want to reach and press “Call 1,” the phone number receives a call with music playing.

image010

image013

Download a PDF of this blog here: Introducing Twilio Labs…

Introducing Twilio Labs…