Welcome To Our Support Portal

Browse Impinj resources for help with FAQ, downloads, quick links, and more.


Submit a request

Speedway Connect

Follow


Speedway Connect is licensed software that runs on the Impinj Speedway Revolution reader and xPortal Gateway which enables users to easily plug-in RFID technology – extending the reach of this powerful data collection technology. The simplified graphical user interface enables even those unfamiliar with RFID to set basic reader configurations. Data is passed to the PC application in keystrokes via USB-HID, serial, Ethernet or Web delivery for RFID deployment without costly software development or middleware expenses.

 

Software Downloads and Documentation:

 Version: 2.0.6   Download Current ReleaseDownload File
 Documentation: 
 - Product Brief
 - Getting Started
 - Sample Code

 Note: Requires reader firmware version: Octane 5.4.0 or later
 Impinj partners can download firmware here.

   

 

Getting Started

Demo Mode or Use of License Key

The Speedway Connect software available on this page is a fully functional "demo" version.  This software will only run for 500 tag reports without a license key and then the program is disabled.  To continue to use Speedway Connect in this mode, you can visit the Speedway Connect web user interface (UI) on the reader and click "Save".  This will provide an additional 500 tag reports.

Once you are ready to use Speedway Connect in an uninterrupted (non-demo) mode, you will need to purchase a Speedway Connect license from your authorized Impinj reseller or distributor.  They will provide you with a license key (one key is required per reader). Each reader must have its own unique license key loaded in the Speedway Connect Web UI which is based on the reader's serial number.

Set up and connect all RFID system components.

  1. Attach antennas to the reader as desired. Take care not to cross thread the antenna cable.
  2. Connect the reader to a PC either directly or via router or switch using a standard Ethernet cable (no crossover required).
  3. If desired, connect USB host-to-device cable and/or RS-232 cable between Speedway Revolution reader and PC
    1. The flat USB Host end will connect to the PC.
    2. The “more square” USB device end will connect to the USB Device port on the reader.
    3. RS-232 pins are located on the reader’s 15 pin port.
      1. Pin 2 – Receive
      2. Pin 3 – Transmit 
      3. Pin 7 - Ground 
  4. Connect power to the Speedway Revolution and wait for the reader to boot. (~90 sec).

Load Speedway Connect software on your Speedway Revolution or Speedway xPortal  reader.

If you received Speedway Connect in a .upg file format, simply load it on the reader in the exact same way firmware is loaded.  If the firmware is below version 5.6.0, please upgrade to the latest version before installing. Firmware upgrade files are available from your Impinj authorized partner and very easy to load using the WebUI.

When successfully installed, the reader Web UI will display 'Application SW Version' information.

Follow the links to get more information on connecting to the reader and using the WebUI to upgrade firmware.

 

Configure the Reader and Start Reading Tags

  1. Point your PC browser to https://speedwayr-xx-xx-xx.local where xx-xx-xx are the last 6 characters of the MAC. You can also use the reader IP address if it is known. 
    1. For example, if connecting to a Speedway Revolution reader with a MAC address of 00:16:25:10:54:F9, the url to enter in your browser would be: https://speedwayr-10-54-f9.local
      1. In some instances the '.local' is not required (i.e. reader is on an enterprise network)
      2. Be sure to include the HTTPS (secure browser) in order to get the Speedway Connect Web UI.
      3.  A message may appear warning about security certificate, select 'Continue Anyway' or 'Ignore' (exact message and continue option will depend on your browser). 
    2. Enter the user name and password, the default is:
      1. Username: root
      2. Password: impinj
    3. Configure the application as desired.
    4. Enter the license key if available and click [Save].  The license keys are loaded in the "Speedway Connect Administration" section of the UI. If you need a license key for Connect 2.0, please purchase SKU IPJ-S4002. 
    5. The app will start running after the [Save] button is clicked. Once configured, the reader does not need to remain connected to the Ethernet network unless it is sending tag data out that port. 

Speedway Connect is not supported on xArray gateways.

 

 

Sample Code

TCP Client Examples

HTTP POST Example

Serial Client Example

 

 

TCP Client Example in Python

#!/usr/bin/env python

from __future__ import print_function
import socket
import select
import sys

# The IP address or hostname of your reader
READER_HOSTNAME = "SpeedwayR-10-27-52"
# The TCP port specified in Speedway Connect
READER_PORT = 14150
# Define the size of the buffer that is used to receive data.
BUFFER_SIZE = 4096

# Open a socket connection to the reader
s = socket.create_connection((READER_HOSTNAME, READER_PORT))

# Set the socket to non-blocking
s.setblocking(1)

# Make a file pointer from the socket, so we can read lines
fs=s.makefile()

# Receive data in an infinite loop
while 1:
line = fs.readline()
# If data was received, print it
if (len(line)):
print (line, end="")

 

TCP Client Example in C#

using System;
using System.Net.Sockets;
using System.IO;
namespace SpeedwayConnectClient
{
    class Program
    {
        static void Main(string[] args)
        {
            // The IP address or hostname of your reader
            const string READER_HOSTNAME = "SpeedwayR-10-27-52";
            // The TCP port specified in Speedway Connect
            const int READER_PORT = 14150;
 
            try
            {
                // Create a new TCPClient
                TcpClient client = new TcpClient();
                // Connect to the reader
                client.Connect(READER_HOSTNAME, READER_PORT);
                // Get a reference to the NetworkStream
                NetworkStream stream = client.GetStream();
                // Create a new StreamReader from the NetworkStream
                StreamReader streamReader = new StreamReader(stream);
                // Receive data in an infinite loop
                while (true)
                {
                    // Read one line at a time
                    string line = streamReader.ReadLine();
                    // Print it to the screen
                    Console.WriteLine(line);
                }
            }
            catch (Exception e)
            {
                // An error has occurred
                Console.WriteLine(e.Message);
            }
        }
    }
}

 

TCP Client Example in Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class SpeedwayConnectClient
{
    public static void main(String[] args)
    {
        // The IP address or hostname of your reader
        final String READER_HOSTNAME = "SpeedwayR-10-27-52";
        // The TCP port specified in Speedway Connect
        final int READER_PORT = 14150;
         
        try
        {
            // Create a TCP socket connection to the reader
            Socket s = new Socket(READER_HOSTNAME, READER_PORT);
            // Create a BufferedReader object from the socket connection
            BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
            // Receive data in an infinite loop
            while (true)
            {
                // Read one line at a time
                String line = br.readLine();
                // Print it to the screen
                System.out.println(line);
            }
        }
        catch (Exception e)
        {
            // An error has occurred
            System.out.println(e.getMessage());
        }
    }
}

 

TCP Client Example in Ruby

require 'socket'
 
# The IP address or hostname of your reader
READER_HOSTNAME = 'SpeedwayR-10-27-52'
# The TCP port specified in Speedway Connect
READER_PORT = 14150
 
# Create a TCP socket connection to the reader
s = TCPSocket.open(READER_HOSTNAME, READER_PORT)
 
# Receive data in an infinite loop
while true
  # Read one line at a time
  line = s.gets
  # Print it to the screen
  print line     
end

 

 

HTTP POST Example

One of the available output options is HTTP POST. When this is enabled, the reader will periodically send tag data to a web server. Here are the details of the POST format, along with a sample PHP script showing how to parse the data and put it into a MySQL database as well as a demonstration video of this feature.

These are the POST variables sent by Speedway Connect:

  • reader_name : The name assigned to the reader in Speedway Connect
  • mac_address : The MAC address of the reader
  • line_ending : Line ending character specified in Speedway Connect
  • field_delim : Field delimiter character specified in Speedway Connect
  • field_names : A list of field names, separated by the specified delimiter
  • field_values : A list of field values, separated by the specified delimiter consisting of:
    • antenna_port
    • epc
    • first_seen_timestamp
    • peak_rssi
    • tid
    • user_memory

This an example of a server-side script that will parse the POST data and store it in a MySQL database.

 

 

 

Serial Client Example

using System;
using System.IO.Ports;
namespace SpeedwayConnectSerialClient
{
    class Program
    {
        static SerialPort serial = new SerialPort();
     
        static void Main(string[] args)
        {
            // Configure the serial port
            serial.PortName = "COM3";
            serial.BaudRate = 115200;
            serial.DataBits = 8;
            serial.Parity = Parity.None;
            serial.StopBits = StopBits.One;
            
            // Register an event handler that will be 
            // called when serial data is available
            serial.DataReceived += SerialDataReceived;
            // Open the serial port
            serial.Open();
            // Wait until the user presses enter to exit
            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
            // Close the serial port
            serial.Close();
        }
        static void SerialDataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            // Serial data is ready
            // Read it one line at a time and print it out
            string line = serial.ReadLine();
            Console.WriteLine(line);
        }
    }
}

 


Was this article helpful?
12 out of 13 found this helpful

Comments

Impinj is the leading provider of RAIN RFID solutions that provide Item Intelligence in the retail, pharmaceutical, healthcare, food and beverage, and many other industries.

Stay Connected


CONTACT US

Powered by Zendesk