Partner Story: Rapid Systems Engineering

RSE_Logo

Project: San Francisco Temporary Occupancy, Night Noise Permitting Management Solution

The Challenge
What happens when your mobile infrastructure construction project is about to begin and you don’t have the proper permits? Nothing happens. The project is instantly stalled and your competition is suddenly in a better spot than you are — all because they have permits and you do not. Proper documentation and permitting is crucial at every step in citywide public works projects. An often overlooked step in the construction process, permitting can be a make or break deal for construction clientele, resulting in thousands of dollars of missed billing or missed work windows that need to be rescheduled at a later date.

Picture1

Avoid The Permit Trap
Rapid Systems Engineering (RSE) uses custom software to manage the permitting needs for multiple clients, ensuring that they stay on task and on target by obtaining crucial permits. The telecommunications industry evolves at a rapid pace, and as network expansions rollout to meet the demands of pervasive mobile technology, RSE is prepared to manage the day-to-day so that projects continue without interruption.

Solution
Revolution11 studied the permitting issue with RSE to develop an in-house solution for the management of San Francisco Department of Public Works (SFDPW) Permits, financial records, and documents, which are stored in a unified database for instantaneous access, version control and ease of use.

The resulting solution is a mobile iOS, web application, and desktop application that consolidates permitting data and documentation, records, real-time data capture and uploading of all permitting requests, submittals, and photos. Most importantly, management of critical project control aspects is now accessible from a mobile device, which goes where you go, or web browser so that other project team members stay apprised in real-time.

Permitting

Revolution11 Services

Revolution11LogoHeadquartered in San Francisco, Revolution11 is a highly sought-after application development consulting agency that takes a client-involved, design-based approach to building solutions.

Our team puts “boots on the ground” to solve your business challenges. To provide the best results we schedule regular face-to-face meetings – this proven strategy will immediately highlight the benefits of our partnership.

With Revolution11 you work closely with seasoned business professionals who bring years of business analysis, project management, and technical skills to produce creative, high quality business applications.

Rapid Systems Engineering Services
RSE_Logo

RSE is a certified Woman Minority Owned Business (WMBE) with expertise in Systems and Process Development, Implementation, Technical Analysis, Scope Management and Process Improvement.  We combine systems engineering and program management to enable cost-effective solutions considering customers business and technical needs.

Contact RSE for permitting services for telecommunications network construction including: SFDPW Temporary Occupancy Permits, Night Noise Permits, Night Noise Notification and Radius Maps. Contact: 1.707.515.0807 • rapidsystemsengineering.com

Download a PDF of this blog here: Permitting Solution

Partner Story: Rapid Systems Engineering

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

Revolution11 Wins AT&T IoT Hackathon

Hackathon-650x320
On September 10, 2017 Revolution11 took 1st place in the AT&T IoT Hackathon. It was great seeing all of the exciting ideas in this space. Many of our clients have been asking for more details on the solution we created and why we think we won, so we’ve created a couple of blog posts explaining just that!

> Read about why we think we won.

If you are interested in bring the world of IoT into your organization, you can contact us at 415.630.7004 or inquiries@revolution11.com.
IMG_0785

 

Revolution11 Wins AT&T IoT Hackathon

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…

Merging Your Mandrill Account With MailChimp – Part 2

Adding SPF and DKIM Records and Verifying Ownership of Your Sending Domain Through your Domains DNS Settings or Cpanel.

In Merging Your Mandrill Account With MailChimp – Part 1, we covered the process for merging your Mandrill with a MailChimp account. In this blog we continue to discuss the domain authentication to ensure those transactional emails keep flowing!

How to Set Up Sending Domains

Adding SPF and DKIM records and verifying ownership of your sending domains provides authentication to prove an email isn’t forged. Authentication helps legitimate senders prove that their email isn’t forged, and can help receiving servers like ISPs and corporate email servers control inbound spam. This is important because it prevents you from having to configure settings for different email clients and establishes a positive reputation for your domain. Essentially, it saves a lot of extra work in dealing with the variety of email clients your users receiving your emails use, and avoids having your “sent” emails ending up in junk or spam folders.

There are great articles to learn more about SPF and DKIM and domain verification  in your Mandrill account.

Verify the Domain

Log on to Mandrill and navigate to Settings/Domains/Sending-domains then click “Verify A Domain” and enter an email address for the domain you wish to verify.

image13-44

You will receive an email with a confirmation link – click the link and you’ve verified the domain can accept incoming email.

Set Up SPF and DKIM for Your Sending Domains

To add the SPF and DKIM records for your sending domains, you’ll need to add ‘TXT’ records through your hosting provider, domain registrar, or DNS provider usually through a cPanel. We will demonstrate by logging onto our domain (using GoDaddy as an example), navigating to manage DNS settings and the location of files or records stored on the domain’s server.

image14-47

SPF Record

If you don’t yet have an SPF record, add one for your domain by using the “Add Record.”

image15-50

At a minimum, the value should be the following if you’re only sending mail through Mandrill for that domain:

First Blurb

 

 

If you already have a TXT record with SPF information, you’ll need to add Mandrill’s servers to that record by adding include:spf.mandrillapp.com in the record (before the last operator, which is usually ?all, ~all, or -all).

In GoDaddy this is done through a popup widget where you enter the above values as shown:

image16-53

DKIM Record

Repeat the process for the DKIM using the “Add Record”

Blurb 2

In GoDaddy, this is done through a popup widget where you enter the above values as shown:

image17-56

DNS Providers

Here are useful links and information for several hosting and DNS providers provided by Mandrill’s help files that can guide you through your set up:

Provider

Links

Formatting Notes

CPanel (general)

Many hosting providers offer CPanel to manage your domain. CPanel instructions are often similar among hosts that offer this option.

Bluehost
GoDaddy

DKIM record typically escaped automatically.

The ‘name’ of your DKIM record should be
where yourdomain.com is replaced by the domain name where you’re adding the record. Most hosts that utilize cPanel don’t automatically add the domain name to the end of the record name.
mandrill._domainkey.yourdomain.com

Amazon Route 53

Route 53 console
Route 53 API

 
CloudFlare

SPF records

DKIM record escaped automatically.

DKIM records

DNS Made Easy

DNS Made Easy

The ‘Value’ field where you enter the content for each record must be enclosed in quotes.
DreamHost

DreamHost

 
DynDNS

DynDNS

The ‘data’ field where you enter the value for each record must be enclosed in double quotes.
GoDaddy

Plesk Panel 9

 

Plesk Panel 10

 
Hover

Hover

 
ZoneEdit

ZoneEdit

 

Download a PDF of this blog: Mandrill MailChimp 2

Merging Your Mandrill Account With MailChimp – Part 2