Created by Mike Pearson, last modified by Robert Nelson on Sep 08, 2017
This page will show you step-by-step how to interface a Synapse Wireless Snap RF Engine to the BeagleBone Black. This example uses the EK2100 Starter Kit from Synapse Wireless. From the kit, an SN132 SNAPstick (lower left photo), is connected to the BeagleBone’s USB Port. In this scenario we will press a button on the SN171 (lower right photo), also from the kit, wirelessly prompting a python script on the BeagleBone to send an email notifying “something has happened”. My goal when starting this project was to have multiple sensor nodes throughout a business or home communicating with a low power web enabled device.
- BeagleBone Black running Debian or Ubuntu
- Set up per instructions on this page http://www.eewiki.net/display/linuxonarm/BeagleBone+Black
- Portal IDE
- For this purpose, it’s only used to program the transceivers.
- Download Portal IDE from here: Portal - Developer Resources
- SNAP Connect
- This is the main software that will run on the BeagleBone Black.
- It is written in Python and made specifically for ARM devices to interact with SNAP networks.
- Will acquire and install in later steps.
Install Portal on Windows Machine
- Login here and download Portal-setup-2.4.36.exe (this is the version for my Windows 7 machine).
- Follow guided installation.
Install script on nodes
- Download node_smtp.py
- Move or save this file in the following directory on your machine:
- C:\Users\YourName\Documents\Portal\snappyImages (exact location may vary).
- Connect SNAPstick to an available USB port on your machine.
- Connect the ProtoBoard to a power source.
- Open Portal.
- Click “Connect” when prompted (mine says “USB0” for the Port).
- Update Firmware if needed Portal: Reference Manual Page 46
- In the “Node Views” window, click on “Stick” under “Device Type” (Figure 1).
- In the “Node Info” window, click on the "Upload SNAPpy Image (Figure 2).
- Select the node_smtp we saved earlier and click OK.
- The SNAPstick is now programmed.
- Now click on the “Device Type” labeled “Buzz” and repeat.
- You just programmed the ProtoBoard “over the air”.
SSH Into BeagleBone
Login as root.
/home/debian ssh firstname.lastname@example.org sudo su
Install SNAP Connect
The following steps are done on the Beaglebone Black.
Acquire SNAP Connect software.
/home/debian pip install --extra-index-url https:` `//update.synapse-wireless.com/pypi snapconnect
Get email Scripts
/home/debian/synapse cd /home/debian/synapse wget http:` `//eewiki.net/download/attachments/35848337/smtp_single.tar.xz tar xf smtp_single.tar.xz cd smtp_single nano smtp_single_recipient.py
- Edit the “to”,gmail_user and gmail_pwd to your credentials.
- Save and exit.
- Connect the SNAPstick to the USB port of the BeagleBone and reboot.
- Power the ProtoBoard.
- SSH back into the BeagleBone as root.
/home/debian/synapse/smtp_single_recipient ssh email@example.com sudo su cd synapse/smtp_single python run_me.py
What you should see:
/home/debian/synapse/smtp_single_recipient Permanent license created on 2012-02-14 14:14:45.343000 for 000020 Waiting for button press. Press CTRL+C to end script.
Now when you press the button on the ProtoBoard an email will be sent.
Email Multiple Recipients
This is an alternative script that allows you to send to multiple recipients. In this example, I chose one of my recipients to be MyNumber@vtext.com, allowing me to receive an email and text message.
/home/debian/synapse cd /home/debian/synapse wget https:` `//eewiki.net/download/attachments/35848337/smtp_multi.tar.xz tar xf smtp_multi.tar.xz cd smtp_multi nano smtp_multi_recipient.py
Edit the file with your information and run the script just like before.