samantha™ overview john toebes. problem statement multiple bluetooth failures at the aggieland...
TRANSCRIPT
Samantha™ Overview
John Toebes
Problem Statement
• Multiple Bluetooth Failures at the Aggieland Championship led to looking at the problem
• Needed a solution with no changes to the NXT• System needed to be robust and easily
diagnosed.• Must be international capable hardware and
software• Looked at alternatives for connection including
802.15, Spectrum RC, XTreme, WUSB, and UWB
Development Team
Team has over 100 years of commercial software development experience combined
John Toebes Team Lead, Overall DesignSamantha and FCS Software
Mary Ellen Toebes Samantha and FCS Software
Mark Schnell Hardware Design
Dave Baker Networking and Windows integration
James Rahaim System Test and Requirements
Tom Saxton Mac/iPhone Porting
System View
• Samantha Module provides WiFi connection to a USB
• Windows software– Discovers Samantha– Connects and analyzes– Uses Native Lego®
Mindstorms® Protocol
Lego® and Mindstorms® are trademarks of the LEGO Group of companies which does not sponsor, authorize or endorse this document
Samantha Capabilities• Passthru Lego Mindstorms Protocol
– NXT Response Tracking– Multi-Connection Support– Pairing Security
• Multiple UI Indicators– LED Indicators– NXT Network Status via Samostat.rxe– Web Page served from Samantha
• WiFi Network Integration– Automatic Network Discovery– Multiple Network Profiles– Adhoc/Infrastructure support
• USB Upgrade Capability– Bootloader for Flash upgrade with failsafe– Windows Protected Network Setup for profiles
Samantha Hardware
• Microchip PIC32MX460F512L CPU– 512K code Flash– 32K Data Memory– Hardware USB support
• ZeroG 802.11 module– 1 & 2 Mbit/sec– Integrated Antenna
• 3 Extra Bright LEDs for status Indication
• ESD Protection• Power shaping and isolation 6-18V
Network Interface
• HTTP 1.1 with AJAX/JSON– Web Browser– Pairing Control– Network Traffic Diagnostics
• UDP Port 30303 – Discovery/Announce• UDP NBNS Port 137 – (Netbios) Support – Windows
integration for naming• TCP Port 2901 – LEGO ® Mindstorms® Protocol• DHCP – Get IP address on managed network• AutoIP – Self assigned IP address on AdHoc network.• ICMP – Support for Ping
Computer Software
• FCS– Windows– Supports Windows 95, 98,
Xp, Vista and 7– Mac Version underway– Can run from Flash Drive– Standard Installer Available– Native MFC– Language and UI Fully Customizable
via resources– Support for Competition Matches
• Network Setup– Writes Wifi Protected Setup
System Diagnostics
• FCS– Tracks and can record every single message– Monitors battery voltage and network throughput– Records statistics from every match/run– Downloads stats from Samantha and compares– Monitors and reestablishes lost connections
• Samantha– Tracks all messages– Reports last 50 transactions via JSON and Web page– Monitors lost connections– Monitors battery voltages
Software Design
• All development tracked with revision control and release management
• Samantha– C code utilizing Microchip C Compiler– 14,425 Lines of custom code– 253,740 Code Words, 26,399 Data
• FCS – Windows– Native MFC– 19,777 Lines of custom code– 2 Open source modules used with permission
• FCS – Mac– Native Objective C– 95% common network base between iPhone/Mac– Mac UI still in development