Iota Wi-Fi Evaluation Board

Overview

The Iota Evaluation Boards make it easy for developers to evaluate the functionality of ioBridge’s Iota and RealTime.io technology. This ioBridge technology makes it simple to connect new and existing products to the internet.

The Iota module connects via a Wi-Fi to the ioBridge RealTime.io cloud server on the internet.  Wi-Fi is simple to setup using a mobile device or by using WPS buttons on the Wi-Fi router. The Iota can be used with or without an external microcontroller.

Simple javascript applications, that communicate with the RealTime.io streaming API, are provided to demonstrate the functionality of the Iota and RealTime.io.  These can be run on a browser on a mobile device or PC connected to the internet.

The evaluation boards also expose the serial UART as a USB connection, so you can easily send and receive serial messages to and from a web service using a terminal application. Each pin on the Iota Ethernet or Iota Wi-Fi module are broken out for easy access to standard female strip terminals on the evaluation board. Common configuration pins are tied to a DIP switch and jumpers to get started quickly. The status indicators of the Iota Ethernet or Iota Wi-Fi are wired to LEDs to visualize network and cloud state of the Iota.

This guide will help you set up the Iota Wi-Fi Evaluation Board and create a demo cloud application using the RealTime.io application builder.  Section 1 will guide you through the hardware setup.  Section 2 guide you through the process of registering a device, creating a demo application.  Finally, section 3 is an overview of demo applications and how they work.

 

Realtime Iota Android 2

 

Iota Wi-Fi Evaluation Board Peripherals

The evaluation kit includes the following on-board peripherals to aid in the evaluation of RealTime.io and Iota technology:

  • On-off switches
  • Buzzer
  • RGB LED
  • Potentiometer
  • Light Sensor
  • Temperature sensor
  • 0-20mA input
  • 0-5 VDC analog input
  • Two Relays
  • PWM output
  • 0 to 5 VDC output
  • UART
  • USB

Getting Started with the Iota Wi-Fi Evaluation Board

The following seections will guide you through the setup of the Iota Wi-Fi Evaluation Board and how-to create a RealTime.io Application to demostration the functionality of the Iota Wi-Fi Evaluation Board.

Here are the items you need to get started:

  • Iota Wi-Fi Evaluation Board
  • WiFi access point
  • USB cable
  • 5v power adapter
  • Web browser with internet access

Section 1 – Hardware Setup

This section will help you get familiar with the Iota Wi-Fi Evaluation Board hardware.

Iota WiFi Evaluation Board

Iota WiFi Evaluation Board labels

Highlighted Sections

  1. Device Serial Number – uniquely identifies the Iota module
  2. Factory Reset Jumper – used to reset the Iota to factory defaults
  3. DIP Switches – used to access common configuration pins on the Iota
  4. Mini-USB COM port – used to send serial messages from a host computer
  5. Power – center positive connector for +5VDC regulated power adapter
  6. Indicator LEDs – indicate device, network, and cloud status
  7. Iota WiFi Module – used to connect to the RealTime.io servers on the Internet using a local Wi-Fi network

Schematics

The Iota WiFi Evaluation Board schematic is as follows

Iota WiFi Evaluation Schematic labels

DIP Switch Configuration

Set the Evaluation Board DIP Switches to the following configuration:

Iota-WiFi-Eval-DIP-Settings

This will set the board to use 9600 baud and the USB port.

Factory Reset Jumper Setting

Set the Factory Reset Jumper so that the normal side is selected.

Power Connection

Connect the Iota Evaluation Board to a +5VDC regulated power supply (center-positive). The ENABLED (red) indicator LED will illuminate.

Section 2 – Wi-Fi Setup

The Iota Wi-Fi Module supports two methods for connecting to a wireless network: WPS Push Button and Hot Spot.

WPS Push Button

  • Press the WPS button on Wireless Router / Gateway (if enabled)
  • Press WPS button on Iota Wi-Fi Module (Status light will be fast flashing, then the Cloud light will be solid green when successfully connected to RealTime.io). This may take up to two minutes.

Hot Spot

  • Press the HARD RESET switch  for 10 seconds while power is connected to the power supply then release. (Network light will be slow flashing)
  • Using a mobile phone or Wi-Fi enabled laptop, scan for Wi-Fi networks and connect to wireless network name that follows the format of iota-XXX (XXX is the last 3 digits of the serial number)
  • Open a web browser and navigate to: http:// iobridge.com (or http://192.168.4.1 as an alternative).
  • Select the Wi-Fi Network to connect to and enter a Password if necessary
  • Wait up to one minute as the Iota Wi-Fi Module connects to the Wi-Fi Network (Cloud light will be solid green when successfully connected to RealTime.io)

Section 3 – Cloud Setup

Now that you have the Iota Wi-Fi Evaluation Board powered up and connected, we need to create a RealTime.io application that will demostrate the GPIO features and control the on-board periperials.

Create a RealTime.io User Account

If you have never used ioBridge.com or RealTime.io in the past, you will need to set up a user account. Visit www.realtime.io/admin and click Sign Up. If you have an account, go ahead and Sign In.

Register a Device

In order to get started, you need to register a device. This process will authenticate you as the owner of an Iota-device or client, and will give you the ability to create API Keys to access the device.

  1. Sign In to RealTime.io
  2. Click Devices
  3. Select Register Device
  4. Enter the Serial Number of your Iota-enabled device and click Next
  5. If the authentication process succeeds, enter an easy to remember label for your device, and click Finish

The registration process automatically creates an API Key that you can use to access this device from the RealTime.io web service. The API Key is found under the API Keys tab.

Create an Application

Built into RealTime.io is an application builder and editor. This allows you to create applications directly on the RealTime.io servers and share them with users. We are going to use this to create a RealTime.io application from a template for the Iota Wi-Fi Evaluation Board.

  1. Click on Apps, then Create App
  2. Select Template App and click Next
  3. Select Iota Wi-Fi Evaluation Demo and click Finish
  4. Enter the API Key and click Save
  5. Enter Serial Number and click Save

RealTime.io Application Manager

The RealTime.io App Manager allows you to create, develop, and share apps. If you want to run the app on your smart phone, scan the QRCode and it will open in your phone’s web browser. The default app templates are responsive for smaller screens.

RealTime.io-App-Manager-for-Iota-WiFi

RealTime.io Application Editor

The RealTime.io App Editor allows you to write and customize apps right in the browser. RealTime.io Apps are written in HTML, JavaScript, and CSS, so you don’t have to learn any proprietary programming languages. The editor features code coloring, line numbering, and save notifications.

RealTime.io App Editor

Section 4 – Using the Demo Application

In order to use the demo application that you created, you need to open it in a web browser of your choice or on a mobile phone. We provided a QRCode that you can scan to easily open this on a mobile device’s web browser. This demo application allows you to control and monitor the peripherals attached to the GPIO of the Iota Wi-Fi Evaluation Board. The demo app uses the RealTime.io API to control and monitor the Iota module attached to the Iota Wi-Fi Evaluation Board.

RealTime.io-Iota-WiFi-Demo-App

Set Board Defaults

The Iota’s GPIO allows for many different configurations. To get started with the demo app, click “Set Defaults”. This will configure the Iota Wi-Fi Evaluation Board’s GPIO to the following configuration:

  • GPIO 0 – Mode 2 – Set Slider Switch Input Pin to Digital Input Pull-Up Mode
  • GPIO 1 – Mode 2 – Set Push Button Switch Input Pin to Digital Input Pull-Up Mode
  • GPIO 2 – Mode 5 – Set Buzzer Pin to PWM Mode
  • GPIO 3 – Mode 5 – Set Red LED Pin to PWM Mode
  • GPIO 4 – Mode 5 – Set Blue LED Pin to PWM Mode
  • GPIO 5 – Mode 5 – Set Green LED Pin to PWM Mode
  • GPIO 6 – Mode 4 – Set Potentiometer Pin to Analog Input Mode
  • GPIO 7 – Mode 4 – Set Light Sensor Pin to Analog Input Mode
  • GPIO 8 – Mode 4 – Set Voltage / Current / Temperature Sensor Pin to Analog Input Mode
  • GPIO 9 – Mode 0 – Set Relay A Pin to Digital Output Mode
  • GPIO 10 – Mode 0 – Set Relay B Pin to Digital Output Mode
  • GPIO 11 – Mode 5 – Set Analog Out / PWM Pin to PWM Mode

Slider Switch

The slider switch is attached to GPIO 0. Slide the slider switch back and forth and the demo app will display the slider’s switch current state.

Push Button

The push button is attached to GPIO 1. Push the button in and the demo app will display the button’s current state.

Buzzer

The buzzer is attached to GPIO 2 and uses PWM to control it’s buzzing frequency. Click on one of the frequencies and a sound will be generated on the buzzer. To turn the buzzer off, click on “OHz”.

RGB LED

The Red-Green-Blue is connected to 3 GPIO pins: GPIO 3, GPIO 5, and GPIO 4 and uses PWM to contro the intensity of the colored light. Click on a color and this will set the LED’s color.

Potentiometer

The potentiometer is attached to PGIO 6 and displays an analog value relative to the position of the knob. Twist the knob back and forth and the demo app will display its current value.

Light Sensor

The light sensor is attached to GPIO 7 and displays an analog value relative to the light level sensed. Hold your hand over the light sensor to see the light value decrease on the demo app.

Analog Input / Temperature Sensor

The analog input / temperature sensor are attached to GPIO 8. The analog input will display the relative analog input value, the temperature of the recorded by the sesnor, the voltage, and current.

Relay A

Relay A is attached to GPIO 9. Click On or Off to control the state of the relay.

Relay B

Relay B is attached to GPIO 10. Click On or Off to control the state of the relay.

Servo PWM Output

The servo connector is attached to GPIO 11. Attach a standard analog servo motor to the header and click on a servo position. This will cause the servo to move.

 

USB Computer Connection

This guide will make use of the USB connection to send and receive serial messages to and from the Iota Evaluation Board. The Iota Evaluation Board uses the FTDI serial-to-USB chip and will set a virtual COM port on your computer. Most computers systems have the FTDI drivers available. If you need to install drivers for Windows, Mac, or Linux, visit the FTDI Drivers website. Once you have the driver installed, connect the Iota Wi-Fi Evaluation Board to a computer using a mini-USB cord.

Terminal Software Setup

In order to send and receive serial data to and from the Iota Evaluation Board, you need to use a Serial Terminal Application. You can use the built-in terminals such as Hyper Terminal on Windows or any terminal program that gives you access to the COM ports on your computer. If you don’t already have terminal software installed, many are available for free. Termite is free terminal software for Windows and has been tested to work with the Iota Evaluation Board. In all cases, use the terminal software to connect to the Iota Eval Board with the settings 9600-8-N-1 on the COM port created by the FTDI driver. If you are using Termite, open the application and open the FTDI COM port using a baud rate of 9600, 8 data bits, 1 stop bit, no parity, no flow control, and append nothing.

Termite Serial Settings for Iota Demo

 

Troubleshooting

Network LED doesn’t light up

  • The Iota Ethernet module requires DHCP to acquire network information.  Make sure your network has DHCP enabled.
  • Check that the network cable used to connect the Iota is connected to an active network port.
  • Make sure to use a straight-thru Ethernet cable and not a crossover network cable.

Cloud LED doesn’t light up

  • Check that internet access is available on the network to which you are connected the Iota.
  • Be sure that the API_MODE_SEL DIP switch is in the OFF position.
  • The Iota Ethernet Module requires the ability to make outgoing UDP connections. Check to make sure that at least one of the following UDP ports is available for outbound traffic: 554, 5004, 10627,28028 or 33434.

Can’t register device

  • Make sure the Cloud LED is lit before trying device registration again.
  • In order to authenticate you as the owner of your Iota-enabled device, the RealTime.io cloud service compares the IP address of the Iota with the IP address of the web browser you are using.  If the IP addresses match, the registration is accepted.  Make sure your Iota and registration device are on the same network.
  • Double check the serial number. We use uppercase letters A-F and numbers 0-9.

Application doesn’t work

  • Be sure that you have edited the index.html with the correct API Key and Iota serial number.
  • The API Key and serial number are case-sensitive.

Frequently Asked Questions

How much power does the 3.3V regulator supply?

The Iota’s 3.3V regulator is capable of delivering 1A of current in total.  We recommend that you limit external circuits to sourcing up to 150mA.

Resources