Conclusions Results Abstract

advertisement
Enabling Wi-Fi on Lego Mindstorms
Riley Schofield and Markanthony Rivera
Engineering Department, Hartnell College, Salinas, CA 93908
Peter Ateshian, Adjunct Faculty, Systems Engineering Dept.
Conclusions
Results
Abstract
The purpose of this project was to implement a new
Dexter Industries Wi-Fi module with the Lego
Mindstorms Brick (microcontroller). The Mindstorms
robotics platform is a popular environment for
teaching multi-level programming skills. A text
editor/compiler called BrixCC was used to program
the sensor. The initial goal was to initialize the
sensor and explore its capabilities. Initial attempts to
connect to a router failed. Programming was
switched to an alternative software, RobotC. The WiFi sensor was successfully connected to the Wi-Fi
Protected Access (WPA) network and returned a
reply when pinged. The Wi-Fi module was then
tested to send data back to the user. It is able to
retrieve information from online sources and display
it on the screen of the NXT “Brick”. Although this
new Wi-Fi sensor is still an unpredictable piece of
technology it has potential to be used in the field of
robotics education
•The NXT “Brick” successfully connect to a router
through the Wi-Fi module using the BrixCC software,
although sometimes the connection was unreliable,
which was key before commands and programs could
be sent to it via the Wi-Fi module.
Figure 6. The Wi-Fi
sensor attached to a
shooter bot. The
sensor can be attached
anywhere to any robot .
Figure 5. Part of the library that the “Connect to WPA network”
program pulls from. This library includes all of the necessary
programming to detect the network specified and connect to it
properly.
Introduction
The materials used were a BrixCC text editor and
compiler (which used the NXC coding), a Wi-Fi module
developed by Dexter Industries, and a Lego Mindstorm
kit, which included the necessary pieces to build a robot, a
“Brick”, and NXT-G software to program the robot.
The proposed method, before engaging in the project, was
to use the NXT-G software to enable the Wi-Fi module
with the Lego Mindstorm robot. After some research
however, it was discovered that a graphic had not yet been
designed for the Wi-Fi module. This meant that the sensor
would have to be programmed using coding.
The Wi-Fi sensor is a modern piece of technology. It has
the ability to connect to a network, and send and receive
commands and programs. It is able to retrieve information
from online sources and display it on the screen of the
NXT “Brick”. The attempt to connect to a WPA (Wi-Fi
Protected Access) network was a success and replies were
received, most of the time, when it was pinged. Although
the work was difficult and there were a lot of things that
could not be tested , the Wi-Fi module from Dexter
Industries has potential in being applied in teaching
robotics.
Figure 3. The NXC programming code library as it appeared in
the BrixCC text editor. This was only a fraction of what the entire
library was.
•The module also connected the NXT to the router
using the RobotC coding and software. This was much
more reliable as long as the router was connected to
the internet.
There were several methods available that could be used
in coding the robot with the Wi-Fi module. NXC and
RobotC were the two pieces of software used to program
the robot.
Here is where we
changed our network
name and password, or
“ssid” and “wpa_psk”.
Figure 1 (Right). Image of an
NXC “Brick” with a Wi-Fi module
attached. The blue LED light is on
to show power is flowing through
the module.
•The HTTP server was a slightly different story.
Whenever the address was input into the browser, as
the tutorial told us to type it, the browser would act
like it was trying to connect, but it would continuously
load, which was better than timing out like it normally
did. So something was obviously there, but the coding
needs to be changed or possibly something else needs
to be changed for it to work.
•One other main program worked with was the ‘Ping’
program. This program was designed to acquire the IP
address of a particular website specified, (in the
example case www.dexterindustries.com) and then use
that IP address to ping the website. To save time
simpler to just use the example program rather than
creating a program only concerned with the NXT and
sensor being able to communicate with another
computer on the network, and the program always
seemed to get stuck in a continuous loop. In trying to
change the program to just ping a particular address
already known, but the coding seemed dependent on
the part where it acquired the address in the first place.
•The two main programs that would enable us to
communicate with the NXT wirelessly were the ‘TCP
server’ (Transmission Control Protocol) program and
the ‘HTTP server’ (Hypertext Transfer Protocol)
program.
Figure 2 (Left). Diagram
of the Wi-Fi module and
labels of all of its
components.
Figure 4. The entire RobotC code for defining and
connecting to a specified WPA enabled network.
•The TCP program ran successfully and the NXT was
able to connect to the server through the Telnet client
(Tera Term and PuTTy were both used), however, the
screen on the NXT did not print out whatever letters
were typed in, like the youtube video showed.
Literature cited
Dexter Industries Blog. 2011. WIFI Week: Connecting the Wifi Sensor
to a Network >. Accessed 2012 July 18. (Subsequent tutorials as
well)
Dexter Industries Blog. 2012. Using Debugger Stream in RobotC >.
Accessed 2012 July26.
Dexter Industries. 2011. Wifi: A Wifi Sensor for Lego Mindstorms >.
Accessed 2012 June 25.
Dexter Industries. 2011. Serial-to-WiFi Adapter Application
Programming Guide >. Accessed July 2.
(And many others)
Acknowledgments
We thank Peter Ateshian, Juan Gonzalez, Tommy Pierce,
John Cole, Andy Newton, Joe Welch, Pat McNeill, Alison
Kerr, Casandra Martin, Ana Hernandez, the Naval
Postgraduate School, and Hartnell College for their help
this summer.
This internship was funded by a Title V Strengthening
Transfer Pathways Grant.
For further information
Please contact prateshi@nps.edu, mcriverakc@gmail.com, or
riley.schofield42@gmail.com. More information on this and related
projects can be obtained at www.dexterindustries.com.
Download