Skip to content

exosite-garage/synapse_m2m_evaluation_kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Overview

Exosite has worked with Synapse Wireless to create an evaluation kit based on Synapse's SNAP Connect E10 Gateway.  This E10 Gateway has an Ethernet connection and runs Linux in addition to internally having a SNAP RF Engine embedded in it so act as a gateway for a SNAP network to the internet.

The evaluation kit is made up of a Synapse SNAPConnect E10 Gateway and two Synapse RF Engines running on protoboards in addition to some external sensors and LEDs.  The software for this evaluation kit can be used for any make-up of devices and is meant as an evaluation tool and reference code for your specific M2M and Internet of Thing projects.  

assets/exo_gw_synapse_eval_kit_graphics1.png

Getting Started

Wiring up your RF Engine Protoboards

Please wire up your RF Engine protoboards per this graphic.  The pre-installed SNAP application script (SNAPpy) expects the protoboards to be connected to these sensors and LEDs.  This kit includes a Red and Green LEDs, a Photo Cell sensor and a Thermistor sensor for measuring temperature.

Note: The LEDs have a positive and negative side, there should be a slight flat edge on the negative side of the LED in addition to the negative lead being shorter.  

assets/synapse_eval_kit_rf100Proto_hookup1.png

For more details on this hook-up information, please see the EK2100 User Guide, Holiday Light Show demo section.  The only diffence is there is only a Red and Green LED, placing the green LED where the yellow is in the user guide.  

EK2100 User Guide

Add your devices to Exosite Web Portal

  1. Go to https://synapse.exosite.com and log-in or create a new account.

  2. Once you are logged in, click 'Add a Device' on the Menu on the left-hand side. 

  3. On the Add Device Menu, Pick Exosite Evaluation SNAP E10 Gateway Kit v1 and click continue.  Enter the MAC Address of your E10 which can be found on the bottom sticker of the unit, provide a name for your device and an optional location, hit Continue. assets/adding_device1.png

  4. Your E10 Gateway has now been added to your account.  You can now add your SNAP RF Engine Nodes the same way, except choose Exosite Evaluation SNAP Node Protoboard v1 for the device type when adding the devices.

After adding your gateway and two nodes, your home page will look something like this.  If you click on any of the devices, you'll see the default application dashboard.

assets/home_page_steps.png

Power On and Connect Your Hardware

The Synapse gateway and nodes are pre-programmed with application code that will attempt to send data to Exosite.  There are a couple of steps to making this happen.  The first step is that the Gateway and the Nodes must 'pair'. This is so the nodes can direct their wireless function calls to a specific gateway which then intern communicates to Exosite.  

The second essential step is that the gateway and the nodes provision with Exosite using their unique identifier (MAC Address, SNAP address).  Only one user can 'own' a device.

  1. Power on your E10 Gateway by either using the included USB Power plug or connecting the USB cable to your computer.  When connecting to your computer, this USB connection can provide you with a Serial port to see the Linux console for the E10 providing debug information.  LEDB should turn green right away and the Ethernet connector LEDs should be blinking. assets/e10_hook-up.png

  2. Power on your RF Engine nodes.  Board LED1 should be blinking once per second if the node does not have a 'paired' gateway address stored in non-volatile memory.

  3. To 'pair' your nodes to your gateway, press and hold the 'mode' button of your E10 until LED A blinks red once per second.  (It is usually green).  The E10 is now in 'paring mode'.  LED A and the Mode button are on the Antenna side of the E10. assets/e10_node_pairing.png

  4. The nodes will automatically attempt to pair every 5 seconds if they have not been paired to an E10 Gateway.  Note: To easily 'clear' a paired gateway address on a node, you can hold in the button on the prototype board when powering on the node, any paired gateway stored in non-volatile memory will be erased and the device will try to find a new E10 to pair with.

  5. When a node has paired to an E10 gateway, it will flash LED2 once per second until it has provisioned with Exosite.  Once a node has paired and activated, it will blink LED1 and LED2 together once every two seconds.

  6. If the E10 has a good network connection and is able to connect to Exosite, it will 'Activate' and begin sending data to the Exosite Portal.  It will also attemp to activate for each node that has paired to it.  Note: An E10 will not activate until a user adds the E10 to their portal, nor be able to activate (provision) a node to Exosite.

  7. Once the gateway and nodes have activated and started sending data, they will show up as 'active' on your home page. (Green icon)

Note: This act of 'pairing' nodes to a gateway is specific to the reference application code for this kit, both on the nodes and the E10 gateway.  Developers are able to choose how they would want nodes and gateways to talk together using Synapse's SNAP application code once they begin developing on their own.  For the ease of use for this kit, this approach was chosen to make sure nodes could be paired to a specific E10 and lessen the chance a node would pair to another E10 in the same local area.  

Using the Default Application

assets/home_page_kits_active1.png

Once your devices have been added and they've started sending data, you can click on the devices in the Device List on your home page.  This will bring up the default application dashboard for that device.  The SNAP RF Engines show graphs for their RF signal, Temperature sensor value, Photo Sensor value, and push button activity.  You can also remotely turn on/off the Red and Green LEDs that have been added.

assets/node_application_dashboard1.png

LED Control

Demonstrates reading from Exosite

Clicking on the On/Off buttons on the default application dashboard will result in the nodes turning the connected Red and Green LEDs on and off.  This is an example of showing remote control and sending instructions to a remote node.  In this case, the SNAP Node has requested these two data sourced to be 'polled' by the E10 gateway every 2 seconds.  Check out the SNAP Node application code to see how this works.

Push Button logging

Demonstrates writing to Exosite

When a user pushes the button on the Protoboard, the SNAP application sends a SNAP RPC request to the E10 to write a value to the push button data source.  The default application dashboard shows a log of these values with their time-stamp.  This demonstrates a interrupt on the SNAP Node causing a data write to Exosite.

Temperature, Photo Cell , Signal Strength

Demonstrates writing to Exosite and Exosite scripting

The SNAP node application has a time triggered loop in which it sends signal strength in -dBm, temperature as an analog A/D input value (in bits), and a photo-cell value in a range of 0 to 100 (percentage) converted on the node from an A/D input value.  

The signal is graphed exactly as is.  The Photocell range value and the analog temperature value are sent as a JSON formated string so that two pieces of information can be sent at one time.  This JSON string looks something like this: {"atmp":519,"ph":17} to a data source in Exosite called 'packet'.  There is an Exosite script that then parses this value and puts the individual values into specific data sources.  This demonstrates how an Exosite script can be used for parsing data.

The analog Temperature value also has a script associated with it.  This script takes the analog value and converts it to degrees F and stores it into another data source.  This shows how Exosite scripts can be used to process data.

Exosite Scripting

 

Customizing

Users can build custom dashboards, create their own widgets, create new scripts, and add other data from the nodes using the Exosite web portal tool.  To edit the RF Engine SNAP application on the nodes, Exosite provides the SNAPpy script.  Please see below.

Synapse SNAP Reference

Synapse Portal IDE 

 

 

Software Re-Installation / Creating your own product

E10 Gateway

The E10 in this kit should be pre-programmed with the Exosite gateway reference code.  If you need to re-install the software or you'd like to create your own kit, here are the instructions for updating your E10.

Software Installation

Required Software

  • Pyonep - Exosite Python Library
  • SNAP Connect - Synapse Python Library (Version 3.1.0 or higher)
  • Gateway Core - Exosite Gateway Framework 
  • Application - The actual evaluation application that runs on the gateway.  This is automatically downloaded and ran by the Gateway Core framework.

 All of these items are found in the attached zip file with an installer script.  Please submit a support ticket to get this installer at this time.  This installer can be run from a USB Flash drive connected to the E10 or over a network connection:

Instructions for installation with a USB Flash Drive:

  1. Unzip the contents of exosite_snape10_eval_kit_installer.zip onto USB Flash Drive. There should be a directory folder called 'installer' on your USB Flash Drive now.
  2. Plug the USB Flash Drive into the E10
  3. Mount the USB Flash Drive with the following commands using the E10 command prompt:
    1. mdev -s
    2. mount /dev/sda1 /mnt
    3. After executing the correct command, you should be able to find your USB FLASH drive files under the /mnt directory.
  4. Go to the installer directory with the following command: cd /mnt/installer
  5. Run the command: sh install.sh
  6. Reboot the device by powering it off or calling the reboot command.

This should install all the required components on the Gateway.  When rebooted, The Gateway Core application will attempt to provision and download the application code.   This installer will blow away any existing the CIK file for the gateway and thus the Gateway will need to be re-enabled on your Exosite portal.

 

RF Engines / Protoboards

The RF Engines / Protoboards in this kit should be pre-programmed with reference code that will work with the E10 gateway code including trying to pair to a E10 gateway, provisioning, and writing data.  If you need to re-install the software or you'd like to create your own kit, here are the instructions for updating your node.

Software Installation

Required Software

  • SNAP Module Python Application (Attached)
  • Synapse Portal - IDE to program your SNAP RF Engines
    • Recommend using a SNAP USB Stick with this although it is possible to use your E10 connected to your computer or to connect the proto-board directly to your computer via it's serial port.

 The  SNAPpy python application should be programmed on your node using Synapse Portal IDE tool on your computer.  Please submit a support ticket to get the node SNAPpy script.  

 

 

Troubleshooting

Finding the E10 Gateway MAC address

The E10's MAC address is located on the bottom and can sometimes be worn away.  You can use the USB connection from the E10 to log into a serial prompt.  At the serial prompt, type 'ifconfig' and look for the MAC address for 'eth0' to be printed out

# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1C:2C:XX:XX:XX
inet addr:192.168.10.33 Bcast:192.168.10.255 Mask:255.255.255.0

Can not add a device with specific MAC Address or SNAP Address to your portal

If you attempt to add an E10 or a RF Engine node to your portal but receive an error message like the following, there are a few steps to resolve this.

You have attempted to add a MAC Address that is not approved for this device. This may be by error. Please verify the exact MAC Address of your device and if you believe it is correct, use the Feedback system to contact us

The first is to verify you have the correct unique MAC Address or SNAP Address.  This is important to double check the sticker and possibly even the Debug USB port output.  

Next, contact the support team using the 'HELP' tab on the web portal or create a ticket through this support site.  Let us know the unique hardware address, the device type (E10 or RF Engine node), and your email and other contact information.  If a previous user has registered the device but not deleted it, the support team will take action to resolve this situation as fast as possible.

 

 

About

Documentation and code for Synapse - Exosite M2M Kit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published