MIT Media Lab: XBee Workshop. Instructor: Rob Faludi

Similar documents
ICTP: Wireless Sensor Networks Workshop. Instructors: Rob Faludi & Jordan Husney

8/11/11. Radio Communication Configurations Zigbee Configurations. Zigbee. XBee Wireless

XBee Wireless. Michelle Shorter

Sociable Objects Workshop. Instructor: Rob Faludi

ZigBee Wireless. Thursday, October 12th, 9:15 pm Room 447

Collaborative Mesh Networking. Instructor: Rob Faludi Week 9

L13. Communicating wireless by XBee modules

1 of 4 1/23/ :17 AM

Rob Faludi, 8/17/11

ARDUINO WIRELESS SD SHIELD Code: A000065

Application Note for Configuring XBee S1 Modules Using CoolTerm on Mac OSX

XBee /XBee-PRO OEM RF Modules

IO Expansion Shield User Manual

Arduino & mbed Workshop + Hackathon

By Ambuj Varshney & Akshat Logar

XBee Series 2 OEM RF Modules

XBee-PRO 900HP DigiMesh Kit

In this activity you will create a tool to allow you to play games such as Red Light/Green Light. To create the game, follow the steps below.

XBee ZigBee SMT RF Module Development Kit Getting Started Guide

Example: Enable sleep mode

XBee ZigBee Mesh Kit Radio Frequency (RF) Module. User Guide

Dual Serial Shield User Manual

Mesh networking with ZigBee. A dive into the ZigBee ecosystem

Sierra Radio Systems. Mesh Data Network. Reference Manual. Version 1.0

USB ZigBee Adapter. User Manual. 1.0, Dec 2011

XBee transparent mode

ESPino - Specifications

Figure 3-1: XBee Loopback Testing

XBee ZNet 2.5/XBee-PRO ZNet 2.5 OEM RF Modules

Serial Basic Hookup Guide

I, J, K. Ethernet.begin() method, 274. Future Technology Devices International (FTDI), 24

Xbee module configuration from a µcontroller

XBee-PRO 900HP Development Kit Getting Started Guide

The BASIC Stamp and other 5 V controllers need an adapter that:

Introduction. Introduction

RFD900x Asynchronous firmware

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

XBee Starter Kit Getting Started Guide

Thursday, September 15, electronic components

USB Wireless Bridge USERS MANUAL R02

DIGWDF Ren-W Universal Assembly Guide

RoboticsConnection XBee Connection Guide. Summerour Robotics Guide V1.1

What s in the box. Connection Please see also a video tutorial at Securing wire. 4 pin adapter.

Arduino Prof. Dr. Magdy M. Abdelhameed

User s Manual Closer to Real, Zigbee Module ZIG-100. Wireless Communication. ROBOTIS CO.,LTD

XBee /XBee-PRO ZB RF Modules

1/Build a Mintronics: MintDuino

AppBee-Mod & AppBee-SIP Documentation for use with the BASIC Stamp

Hackaday Fubarino Contest Entry. Project: Bluetooth PC Remote Power Switch (Prototype) Description:

um-fpu Application Note 9 Adding a Serial Connection to um-fpu V2

Digi XBee3 DigiMesh. RF Module. Migration Guide

Wireless-Tag WT51822-S4AT

REQUIRED MATERIALS Epiphany-DAQ board Wire Jumpers IR Rangefinder Sensor LED Resistors Breadboard Multimeter (if needed)

User Manual. ESP8266 Wifi Shield

XBee-PRO PKG-U USB RF Modem

Pmod ESP32 Reference Manual

XBee Drop-in Networking Accessories User s Guide

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

GRAVITECH GROUP

keyestudio Keyestudio MEGA 2560 R3 Board

ARDUINO MEGA 2560 REV3 Code: A000067

NPort Z2150 User s Manual

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

The Unofficial XBee FAQ (version 1.3)

Nano RK And Zigduino. wnfa ta course hikaru4

IDUINO for maker s life. User Manual. For IDUINO development Board.

Elchin Mammadov. Overview of Communication Systems

GETTING STARTED GUIDE

Lab 1: An Introduction to Arduino: From Flashing Lights to a Wireless Robot!

Arduino Dock 2. The Hardware

JeeNode V2. A small *duino-ish MPU board with a wireless RF module. Jean-Claude Wippler jeelab.equi4.com March 2009

XBee-PRO PKG-U USB RF Modem

Wireless Control and transmission of Data for underwater Robot

Wireless Connectivity Kit Getting Started Guide. Getting Started Guide

XBee Grove Development Board. User Guide

RN-WIFLY-EVAL-UM. WiFly Evaluation Kit Roving Networks. All rights reserved. RN-WIFLY-EVAL-UM-1.0 Version /8/2011 USER MANUAL

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

4Serial SIK BINDER //77

XBee-PRO PKG-R RS-232 RF Modem

ARDUINO UNO REV3 Code: A000066

An FTDI connection: The ATtiny microcontrollers don t have a hardware UART External Crystal header pins for an optional crystal

G3P-WiFi User Manual Release 1.2

ECM-1240 User Manual

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

Lesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Exen Mini. Setup Guide - V1. nerdonic.com

Figure 1: ZigBee Evaluation Kit (ZEK) Contents. Figure 2: ZigBee Adapter Zb-121 and Module Zb-21

ARDUINO YÚN Code: A000008

WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH

Sten-SLATE ESP Kit. Description and Programming

ZFSM-201-KIT-1 Wireless UART Application User Guide

ACE PLUS CORP. APCON100 series Operation Manual RS-232 to Ethernet Converter

Core2530/XCore2530 User Manual

Communications Options for Wireless Sensor Networks. Marco Zennaro and Antoine Bagula ICTP and UWC Italy and South Africa

XBee Radios. Created by lady ada. Last updated on :00:18 AM EDT

RedBoard Hookup Guide

XBee/XBee-PRO S2C

X Board V2 (SKU:DFR0162)

XBee/XBee-PRO S2C Radio Frequency (RF) Module. User Guide

ARDUINO MINI 05 Code: A000087

Transcription:

MIT Media Lab: XBee Workshop Instructor: Rob Faludi

Plan for Today XBees Serial Terminals Addressing Basic Config Chat Project I/O Mode Arduino & XBee Workshop, Q&A

Student Introductions Name, where you are from, what you do What you want out of this workshop Aspirational pet animal

802.15.4 low power low bandwidth addressing affordable small standardized popular for DIY, easy to learn

802.15.4 Topologies single peer multi-peer broadcast

ZigBee & 802.15.4 ZigBee is built on top of the IEEE 802.15.4 protocol XBee radios can be purchased with or without ZigBee XBee 802.15.4 vs. ZNet 2.5 vs. ZB Pro vs. DigiMesh All ways are useful

ZigBee routing self-healing mesh ad-hoc network creation

ZigBee Topologies peer star mesh routing

Antennas

Breakout for Breadboards

Breakout Boards for breadboarding 2mm 0.1

Soldering Breakout Boards: finished

XBee Explorer from Sparkfun

Serial Terminal Programs

Serial Terminal Programs X-CTU: http://www.digi.com/support/productdetl.jsp? pid=3352&osvid=57&tp=4&s=316 CoolTerm: http://freeware.the-meiers.org/ HyperTerm: Windows Start Menu, Accessories, Communication http://www.hilgraeve.com/hyperterminal/ screen: Terminal program on the Mac (or Linux) plenty of others! settings: 9600 baud, 8 bits, no parity, one stop bit, no flow control

802.15.4 Addressing

Addressing Basics channels PAN ID 64 bit addresses (SN) 16 bit addresses

ZigBee Addressing

ZigBee Coordinator Every ZigBee network must have a coordinator There can only be one coordinator Coordinator selects channel and PAN ID End devices and routers can then join the PAN Typically mains-powered Coordinator s 16-bit address is always 0

ZigBee Router Non-coordinator routers are optional to ZigBee networks Typically mains-powered Many can be on each PAN Issues a beacon request on startup to locate channel and PAN Routers can communicate with any device on the network Stores packets for sleeping end devices 16-bit address assigned by coordinator

ZigBee End Device Optional to ZigBee networks Typically battery-powered Many can be on each PAN Issues a beacon request on startup to locate channel, PAN and parent End devices can only communicate directly with their parent 16-bit address assigned by coordinator

XBee ZB Coordinator Firmware for AT commands or API Router and End Device Firmware for AT commands or API...so 6 different firmware combinations (you ll always use 2 at the same time) and two power levels, regular and Pro and 4 antennas! whip, chip, U.FL and RPSMA.

Firmware Updates

Basic Configuration

Download and Install Software & Drivers Download & install the FTDI USB drivers: http://www.ftdichip.com/drivers/vcp.htm Download the CoolTerm: http://freeware.the-meiers.org/ Other Serial Terminal Options: settings: 9600 baud, 8 bits, no parity, one stop bit, no flow control X-CTU: http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=4&s=316 Z-Term: http://homepage.mac.com/dalverson/zterm/ HyperTerm: Windows Start Menu, Accessories, Communication Screen: Terminal program on the Mac (or Linux)

Open CoolTerm

Set Connection Options

Configure your radio with AT commands Configure your radio

Baud, Bits and Parity Baud rate: 9600 Data bits: 8 Stop bits: 1 Parity: None Flow control: none for now...

Data Mode vs. Command Mode Idle Mode, transmit and receive data Command Mode, talk to the XBee itself +++ "Yo, XBee" AT "Attention!" (Hayes command set) always press enter after AT commands never press enter after +++

AT Commands

Some AT Commands AT -> OK ATMY -> my address (not settable for ZigBee!!) ATDH, ATDL -> destination address hi/lo ATID -> personal area network ID ATCN -> end command mode ATWR -> write configuration to flash memory ATRE -> reset to factory defaults

Addressing In-Depth SL, SH: fixed serial number address MY: configured local 16 bit address DH, DL: destination address low and high ID: Personal Area Network ID Broadcast FFFF Broadcast PAN FFFF

Assignment Pick a PAN ID now and document it.

Basic 802.15.4 Chat

Create a Basic 802.15.4 Pair Two radios Use the 16-bit addresses for destinations HANDOUT Remember, the radios work reliably, troubleshooting is mostly about figuring out what they re doing.

Create a Basic ZigBee Pair One coordinator and one router Use the 64-bit addresses for destinations ATNR will reset your network layer, useful if you join the wrong ID Remember, the radios work reliably, troubleshooting is mostly about figuring out what they re doing.

I/O Intro For simple input and/or output Eight digital input/outputs One additional digital output Seven analog inputs Two analog outputs But not all at once! Pins are shared.

I/O Why Why: Save space, save power, save weight and save money Reduce complications for simple projects Why not: Limited inputs/outputs No access to logic Might make complicated projects even more complicated

Input/Output Wiring

I/O AT Commands ATD0...D8 -> configure pins for I/O ATIR -> sample rate ATIT -> samples before transmit ATP0...P1 -> PWM configuration ATIA -> I/O input address

I/O AT Commands: ZigBee ATD0...D7 -> configure pins for I/O (D8 and D9 not supported yet) ATP0...P2 -> configure pins 10-11 for I/O (P3 not supported yet) ATIR -> sample rate samples before transmit is always 1 destination address receives sample info ALL PINS READ BETWEEN 0 AND 1.2 VOLTS ONLY

XBee ZigBees inputs are 1.2V range

Voltage Divider to map 3.3V range to 1.2V range

Setting I/O Pins ATDx 0 Disabled ATDx 1 Built-in Function (sometimes) ATDx 2 Analog Input (sometimes) ATDx 3 Digital Input ATDx 4 Digital Output, low to start with ATDx 5 Digital Output, high to start with...so ATD32 would do what?

Input/Output Settings ATIR sets the data sample rate (uses hexadecimal notation) ATIT how many samples transmitted at a time ATD0 mode for digital pin zero (3=digital input, 5=digital output) ATIA remote address that s allowed to control local pins ATWR writes the settings to firmware (like saving to a disk)

XBee and Arduino

Why Arduino local logic pinouts fast prototyping connect to a huge variety of components, SPI, IC 2, PWM, etc.

Arduino Serial Library Serial.begin(speed) Serial.available() Serial.read() Serial.flush() Serial.print(data) Serial.write(byte)

NEW Software Serial 115K baud max, all pins are okay to use SWserial.read() does not block serial.available() function in software serial buffering! good choice for input, great for debug output w/ USB-serial converter http://arduiniana.org/libraries/newsoftserial/

Breadboard Hookups

Wiring

XBee Arduino Breadboard Layout

Power, Ground

TX, RX

XBee Connections (pin 1, 2, 3 and 10)

Remember! Use only +3.3 Volts. More than +7 Volts will kill your radio If you use a voltage regulator, always use decoupling capacitors. The radios often don t work without them. XBee TX goes to Arduino RX and vice versa. Unplug the TX & RX before uploading Arduino code (or use switches) You can t send infinitely fast. Try putting a 10 ms delay into your loop.