Whiffy

Whiffy is a portable Wifi signal strength indicator. The strength of wifi signal(s) are displayed by an external array of LEDs (Red to Green) while additional access point information is displayed on the uLCD. The device scans access points and has two modes of operation - "connected" access point mode and "all" access point mode. Connected mode only shows signal strength pertaining to the access point which the module is currently connected. All mode displays an average of all detected access point strengths.

/media/uploads/rproctor6/img_6843.jpg

Hardware

Components:

Connections:

mbeduLCDRGB LED 1RGB LED 2PushbuttonSwitchESP8266External Power Supply
gndgnd (7)223gndgnd
VOUTVcc1
VU+5V (1)
p8RES (9)
p9RX (3)
p10TX (5)
p15X
p162
p211
p223
p231
p243
p26RESET
p27TX
p28RX
VCC3.3V
CH_PD3.3V

The mbed during testing was shown to not have enough of a supply to power the wifi chip. Because of this we used an external power supply where a down-stepper or something else with the 5V VU on the mbed might have worked.

Classes & Code Structure

/media/uploads/kevinrhyne/whiffydesign_-_new_page_-3-.png

Whiffy

Top level controller object with single member function update() which should only be run once. This function interfaces data between classes WifiControl, APVectorBuilder, and Reporter.

WifiControl & APVectorBuilder

WifiControl is the top level class that is responsible for scanning and returning an unparsed string containing SSIDs, signal strengths, and other unused information. This string is then passed (by Whiffy object) to APVectorBuilder whose function is to parse the string of raw access point data and return a C++ vector containing AccessPoint objects. This list is then given to the Reporter object as a parameter in a call to Reporter's update(vector<AccessPoint>, bool mode) function. The "mode" switch is also read at this level and passed as a parameter.

Reporter

Reporter is responsible for controlling the LCD and LEDs with strength and mode information. LCD and LEDs are initialized on instantiation and await a call to Reporter's update function. When update is called, Reporter uses LCDControl and LEDControl objects to output signal and mode information.

LCDControl & LEDControl

These classes contain functions to update the mode & strength LEDs as well as display mode & strength information on the LCD display.

Import programWhiffy

portable wifi info displayer

Configuration Mode

Connected Mode

Average Mode

Team Members

Kevin Rhyne

Clay Proctor


Please log in to post comments.