Samantha Overview - Samantha and NXT Index
Download
Report
Transcript Samantha Overview - Samantha and NXT Index
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
John Toebes
Team Lead, Overall Design
Samantha 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
Team has over 100 years of commercial software development experience combined
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