NetBurner WiFi Configuration Access Point
Overview
This application configures a NetBurner device's WiFi interface as an access point, providing users with a convenient way to connect the device to local wireless networks. When no network credentials are stored, the device automatically starts a WiFi Access Point that hosts a webpage for network configuration.
Features
- Automatic AP Mode: Starts WiFi Access Point when no stored network credentials are found
- Network Scanning: Scans and displays available wireless networks
- Web-based Configuration: Provides a webpage interface for connecting to local networks
- Interactive Console: Command-line interface for manual WiFi management
- Status Monitoring: Real-time WiFi connection status and network information
- Persistent Storage: Saves WiFi credentials for automatic reconnection
Default Behavior
Access Point Configuration
- Default SSID Format:
NB_<last 6 bytes of MAC address>
- Default IP Address: 192.168.0.1
- DHCP Range: Starting from 192.168.0.2
Custom Branding
You can customize the access point SSID prefix by uncommenting and modifying this line in main.cpp
:
extern const NB::SSID_t default_SSID_Prefix = { 4, "FOO_" };
This would create access point names like FOO_012345
instead of NB_012345
.
Operation Modes
1. Configuration Mode (No Stored Credentials)
- Device starts as WiFi Access Point
- SSID and IP address printed to serial console
- Web interface accessible for network selection and credential entry
- User can scan for available networks and connect to desired network
2. Client Mode (Stored Credentials Found)
- Device automatically connects to previously configured network
- Normal operation with internet connectivity
- Web server runs on port 80
Interactive Commands
The application provides a console interface with the following commands:
Command | Function |
C | Connect to WiFi network |
D | Disconnect from current network |
R | Reset stored WiFi SSID credentials |
S | Scan for available networks |
W | Display WiFi status and configuration |
X | Reset WiFi module |
Z | System reboot |
Network Information Display
The status command (W
) provides comprehensive information including:
Ethernet Interface
- Interface number
- IP address, netmask, gateway, DNS
- MAC address
WiFi Interface
- Interface number and IP configuration
- Connection status
- Current SSID and BSSID
- Signal strength (RSSI)
- Channel information
- Security type (Open, WEP, WPA, WPA2, WPS)
- Cipher type (None, TKIP, AES, Mixed)
Device Information
- Hardware revision
- WiFi firmware revision
- Stored configuration parameters
Security Support
The application supports various WiFi security protocols:
- Open: No security
- WEP: Wired Equivalent Privacy
- WPA: WiFi Protected Access
- WPA2: WiFi Protected Access 2
- WPS: WiFi Protected Setup
Cipher support includes:
- TKIP: Temporal Key Integrity Protocol
- AES: Advanced Encryption Standard
- Mixed: Both TKIP and AES
Technical Details
Initialization Sequence
- Network stack initialization
- HTTP server startup (port 80)
- WiFi interface initialization and scanning
- Check for stored credentials
- Start Configuration AP or connect to stored network
Interface Management
- Uses SPI communication with WiFi module
- Automatic interface number assignment
- Dual-interface support (Ethernet + WiFi)
Memory Management
- Automatic scan result deallocation
- Pool-based buffer management for device information
Configuration Options
Several library defaults can be overridden by uncommenting variables in main.cpp
:
Usage Instructions
- First Time Setup:
- Power on the device
- Look for the access point SSID printed on serial console
- Connect to the AP using a computer or smartphone
- Navigate to the device's IP address (typically 192.168.0.1)
- Select and configure your local WiFi network
- Subsequent Boots:
- Device automatically connects to configured network
- Access device via its assigned IP address on local network
- Manual Configuration:
- Use serial console commands for advanced configuration
- Reset credentials with 'R' command if needed
- Perform network scans with 'S' command
Development Notes
- Built for NetBurner embedded systems
- Requires NetBurner RTOS and WiFi libraries
- Designed for development kits with dual Ethernet/WiFi interfaces
- System diagnostics enabled (should be disabled for production)