The AMW006 ‘Numbat’ module is a fully certified small form factor, low power Wi-Fi networking module perfectly
suited to deeply embedded applications requiring medium/high data throughput in medium to high volume.
The module runs WiConnect firmware, ACKme Networks’ easy-to-use and reliable serial Wi-Fi networking application
that includes an embedded TCP/IP networking stack with SSL/TLS/HTTPS security.
Evaluation of WiConnect and the AMW006 module is available with the AMW006-E03 ‘Moray’ evaluation board. The
evaluation board is shown in Figure 1 and its features are shown in Table 1.
Figure 1. AMW006 Moray Evaluation Board
Table 1. AMW006 Evaluation Board Features
Note! Customers that wish to evaluate the AMW006 module using WICED should obtain an alternative
evaluation board that provides AMW006 program and debug capability. See the AMW006-E01 ‘Seabass’
WICED eval board.
The Moray evaluation board comes complete with a surface mount AMW006 ‘Numbat’ module. Each pin on the
Numbat module is connected to the expansion header. Schematics for the board are provided in Appendix B.
To get started with WiConnect, plug the AMW006 evaluation board into the USB port of the computer and open a
terminal emulator as described in Appendix A. The USB cable provides the evaluation board with power and a serial
UART connection to the computer.
With the board connected to the computer, verify the power LED is illuminated. If the power LED is NOT illuminated,
try re-plugging the USB cable, or try a different USB cable.
Note! Be sure to use a quality USB cable. Inferior cables may result in reduced or intermittent operation
of the evaluation board.
3.1 Getting Help
WiConnect provides extensive help for each command and variable. To obtain a list of help options, type the help
command.
> help
The following help options are available ...
help all -> Print a list of all Commands and Variables
help commands -> Print a list of Commands
help variables -> Print a list of Variables
help <command> -> Print help for a specific Command
help <variable> -> Print help for a specific Variable
Additional help is available online at http://wiconnect.ack.me
To obtain help for a particular command or variable, type help <command> or help <variable>.
To obtain help for the wlan_scan variable, type help wlan_scan.
> help wlan_scan
Usage : wlan_scan [-v] [<channel> [ssid]]
Shortcut: scan
Brief : Initiate a Wi-Fi scan and return results; optionally specify
a channel and AP SSID to scan for. For verbose scans, -v must be the first argument
Several methods are available to configure and join the AMW006 module to a Wi-Fi network.
Web Setup
WiConnect provides the option to use a web browser running on a network client (such as a smartphone, tablet or
computer) to select the remote Wi-Fi network the AMW006 module should join, and to enter a password for the
remote network.
When web setup is used, it is helpful to think of the network client as the keyboard and display for the module as
shown in Figure 3.
Figure 3. Web setup using a network client
Name: WiConnect-######
Password: password
To start web setup mode, enter the command setup web. WiConnect starts the local network and web server as
indicated by the final message: In progress.
Open the Wi-Fi settings on your smartphone, tablet or computer and join the network called WiConnect-######
(where ###### are the last 6 digits of the Wi-Fi module MAC address). The password for the network is simply:
password. The local network name and password, and the web address may be customised to suit your needs, see
the online WiConnect Reference Manual for further information.
After joining the local network, open a web browser on the network client and go to setup.com. The WiConnect web
page appears (see Figure 3), and a scan begins for Wi-Fi access points in range. Select the remote network you wish
to join, enter the network password then select Save & Exit and follow the prompts.
Once the settings are successfully saved, WiConnect prints Web Setup Mode exited to the terminal. Check that
the settings were successfully saved using get wlan.ssid and get wlan.passkey.
Web Setup Mode exited
> get wlan.ssid
YOUR_NETWORK_NAME
> get wlan.passkey
YOUR_NETWORK_PASSWORD
Script Setup
If you prefer instead to enter configuration details for the Wi-Fi network, WiConnect provides a default setup script
to step you through the process. The setup script is provided as a file called default_setup.script on the
WiConnect file system. The setup script may be customised as required.
> setup cmd
> Enter Wi-Fi network name:
set wlan.ssid YOUR_NETWORK_NAME
Set OK
> Enter Wi-Fi network password:
set wlan.passkey YOUR_NETWORK_PASSWORD
Set OK
>
set wlan.auto_join.enabled true
Set OK
> Saving settings
save
Saved
Success
>
network_up
[2014-05-17 | 11:48:31: Associating to YOUR_NETWORK_NAME]
In progress
> Security type from probe: WPA2-Mixed
Obtaining IPv4 address via DHCP
It is straightforward to manually enter the name and password for the network using the wlan.ssid and
wlan.passkey variables too. Be sure to save afterwards, or the values will be lost when the module reboots. Any
subsequent command requiring network access, such as an ICMP (Internet Control Message Protocol) ping,
automatically results in the module attempting to join the network.
Security type from probe: WPA2-Mixed
Obtaining IPv4 address via DHCP
IPv4 address: 192.168.0.31
[Associated]
Ping reply in 25ms
The network up –s command provides a shortcut to the process, by scanning for wireless Access Points, offering a
choice of networks to join and automatically saving the ssid and passkey:
> network_up -s
Scanning for networks...
! 3 networks found
! # Ch RSSI MAC (BSSID) Network (SSID)
Type the password for your Network : secretpassword
[Associating to myAP]
> In progress
> Security type from probe: WPA2-AES
Obtaining IPv4 address via DHCP
IPv4 address: 10.5.6.94
[Associated]
Wireless Protected Setup (WPS)
WPS is a Wi-Fi provisioning method originally intended to simplify the process of connecting Wi-Fi clients to Wi-Fi
Access Points. WPS offers both a push-button and PIN entry method for configuration. In reality, WPS push-button
(as opposed to PIN) is the only method that has gained some level of adoption in the industry, however WPS
naturally only works when the Wi-Fi AP supports WPS.
Many AP vendors choose not to test and certify APs with the Wi-Fi Alliance, and the lack of a standard WPS logo next
to the WPS button on an AP often means many users are unaware that WPS is available. The potential for equipment
incompatibility and added user confusion mean it is unwise to rely on WPS as the primary method of Wi-Fi
provisioning in the real world.
Incompatibility and confusion aside, WiConnect provides full support for WPS1.0 & WPS2.0 and the underlying WPS
engine has passed Wi-Fi certification. To use WPS in push-button mode, simply enter the wps command into
WiConnect, then press the WPS button on your router (if the router supports WPS, and it is enabled, and you can
find the button), and wait for the magic to happen.
ACKme Wi-Fi modules running WiConnect include a serial flash memory and a filesystem that provides users with the
ability to read and write files. A quick example showing how to create, manipulate then delete a file is provided
below.
> file_create hello.txt 13
my hello data
File created
Success
> ls
! # Size Version Filename
# 0 1853 2.0.0 /favicon.ico.gz
Note! When reading the contents of a file using stream_read, the file is automatically closed if the end of
file is reached.
3.5 Saving Custom Configurations
All available WiConnect variables may be saved to a file as a custom configuration. Saved configuration may then be
loaded at a later date. This feature is particularly useful for saving configuration variables prior to an over-the-air
(OTA) upgrade, and then restoring the configuration afterwards.
To open a UDP, TCP or secure TLS connection to a remote server, use the udp_client, tcp_client or
tls_client commands. WiConnect responds with a stream handle if the connection is opened successfully. For TLS
connections, WiConnect provides a default TLS root certificate signed by GeoTrust (located on the WiConnect file
system), however this certificate may not work with some TLS servers. A custom certificate may be provided as an
option to the tls_client command if required.
Now try writing a character to the UDP or TCP stream that was opened in the examples above (remember,
WiConnect does NOT echo characters typed after the stream_write command). The server at http://test.ack.me
responds with a character pattern using the Chargen (Character Generator) protocol.
Note! WiConnect supports TCP, UDP and TLS server modes too!
For more information, please refer to the WiConnect Reference Guide.
3.7 HTTP / HTTPS Clients
To open an HTTP or secure HTTPS connection to a remote server, read the first 300 bytes of the response then close
the connection, use the http_get, stream_read and stream_close commands. WiConnect responds with a
stream handle if the connection is opened successfully.
In WiConnect, a GPIO may have two functions: a standard IO function or an alternate function (such as a system
indicator, status GPIO or control GPIO). When a GPIO is configured with an alternate function, the standard IO
function is NOT available and the gpio_dir, gpio_set, and gpio_get commands are disabled for that GPIO.
Before a GPIO can be used, it is necessary to first check whether the GPIO is being used for an alternate function, or
is already in use as a standard GPIO (for another purpose). If the GPIO is in use, it must first be freed up by setting
the direction of the GPIO to none using the gpio_dir command (standard IO) or by disabling the alternate function.
The example below demonstrates how to control GPIO 23 on the AMW006 module. GPIO 23 is unassigned after
factory reset.
> gpio_dir 23 out
Set OK
> get gpio.usage
! # Description
#13 - UART1 RX
#14 - UART1 TX
#17 - SPI CLK
#18 - SPI MOSI
#19 - SPI MISO
#21 - system.indicator.network
#22 - system.indicator.wlan
#23 - Standard I/O
> gpio_set 23 0
Set OK
> gpio_set 23 1
Set OK
> gpio_set 23 0
Set OK
The AMW006 module may be factory reset using the factory_reset command or by holding the factory reset pin
(GPIO 0 on all ACKme modules) high for more than 10 seconds through a hardware reset. After a successful factory
reset, all variables are set to factory defaults and the module reboots. To avoid accidental factory reset, the Wi-Fi
MAC address must be provided when calling the factory_reset command.
> get wlan.mac
4C:55:DC:15:02:5D
> factory_reset 4C:55:DC:15:02:5D
Reverting to factory default settings
Setting boot app to wiconnect.exe (0)
WiConnect-2.0.0.0, Built:2014-10-07 00:07:31 for AMW006.2, Board:AMW006-E03.1
[Ready]
>
3.10 Save & Reboot
When the value of a WiConnect variable is changed, the new value is only saved to RAM (not flash!). The value of
unsaved variables is lost when the module is reset or rebooted. To save variables to non-volatile flash memory, use
the save command. The following example demonstrates that failing to save the wlan.ssid prior to reboot results
in the newly assigned value being lost.
> get wlan.ssid
> set wlan.ssid ssid_WONT_be_saved
Set OK
> reboot
[Disassociated]
Rebooting
WiConnect-2.0.0.0, Built:2014-10-07 00:07:31 for AMW006.2, Board:AMW006-E03.1
[Ready]
> get wlan.ssid
> set wlan.ssid ssid_WILL_be_saved
Set OK
> save
Saved
Success
> reboot
[Disassociated]
Rebooting
WiConnect-2.0.0.0, Built:2014-10-07 00:07:31 for AMW006.2, Board:AMW006-E03.1
[Ready]
> get wlan.ssid
ssid_WILL_be_saved
>
Note! WiConnect configures some services (such as GPIO initialization) only after reboot. It may be
necessary to save and reboot the module before the new value of some variables takes effect.
3.11 Command vs. Stream Mode
The WiConnect serial interface may be used in either Command Mode or Stream Mode. A brief description of each of
these modes is provided in the following text. For detailed information, please refer to the WiConnect Reference
Turn on/off character echo. In human
mode, lets you see what you're typing
Not Recommended for New Designs
Using WiConnect, Section 3
Command Mode
Command mode provides an asynchronous command interface that a host may use to send and receive control and
data information. Command mode is typically used by a host to configure WiConnect, however it may also be used
by simple hosts that need ultimate master/slave control over information sent to, and received from, the module. All
preceding examples demonstrate usage of WiConnect in command mode.
There are two ways to interact with WiConnect in Command mode. When operating in human friendly command
mode, WiConnect provides verbose asynchronous responses that are easy for humans to read. In machine friendly
command mode, verbose prints and the command prompt are disabled and a well-defined response header is
returned after each command.
Configuring Command Mode
Command mode can be configured using the convenience variable system.cmd.mode
Setting system.cmd.mode executes a macro that sets the value of the four variables used to switch between
human and command mode. These variables, together with the human and machine mode setting, are listed in the
following table.
Stream Mode
Stream Mode provides a streaming interface that transparently connects a WiConnect serial interface with a network
stream such as a UDP, TCP or TLS client or server. Stream mode provides a simple 1-1 connection between a physical
serial interface and a network stream.
Bytes or characters sent from the host to a serial interface are transparently pushed by WiConnect to a network
stream via a wireless interface. Conversely, bytes or characters received by a network stream (from a remote server)
via a wireless interface are transparently pushed by WiConnect to a serial interface connected to the host. A wireless
serial port is a typical application that uses stream mode.
3.12 Want more?
The WiConnect Reference Guide, available online at http://wiconnect.ack.me, provides detailed information about
all WiConnect features, commands and variables, versions and release notes.
A number of simple and more sophisticated example applications are also provided to help you get the most out of
WiConnect and the AMW006 module.
In most cases, acronyms and abbreviations are defined on first use. A comprehensive list of acronyms and other
terms used in ACKme Networks documents are provided on the ACKme Networks website at
The following instructions describe how to obtain and install a serial terminal application for use on computers
running a Windows® or OS X operations system. ACKme recommends using PuTTY for Windows® systems and
CoolTerm for OS X systems, however other equivalent applications may work equally well.
Plug the evaluation board into the computer using a USB cable before continuing.
Verify USB-Serial Driver Installation
The USB-Serial interface on WiConnect evaluation boards is based on an FTDI chip used widely in the industry. Most
operating systems including Windows®, OS X, and Linux provide integrated FTDI driver support as part of the
operating system. However on some older machines, or machines that do not pickup regular updates, the driver may
not automatically install and it is necessary to manually install the driver.
On computers running Windows®, check if the driver is installed as follows:
Display the System Control Panel (e.g. press the ‘Windows’ key + Pause key).
In the left-hand column near the top of the panel, click Device Manager
In the Device Manager dialog, expand the Ports (COM and LPT) branch
FTDI drivers appear under the USB Serial Port items. If no items of this kind appear, the drivers may
not be installed.
Note: The driver entry may not appear if the ACKme device is not connected to the USB port and
powered on.
Double click the USB Serial Port entry.
Select the General tab in the USB Serial Port Properties dialog. Check the following:
o Manufacturer: FTDI
o Device status: This device is working properly
Select the Driver tab in the USB Serial Port Properties dialog. Check the following:
o Driver Provider: FTDI
o Update drivers if necessary by clicking the Update Driver… button.
In some cases, the FTDI driver may actually be correctly installed, but the driver may not enumerate
as a Virtual Communications Port (VCP). If this is the case, find the device under the USB Serial Bus
controllers section of the Device manager, open the device, check the VCP box, then click OK. It may
be necessary to unplug/replug your evaluation board in order for the VCP driver to load correctly.
If the FTDI drivers do not appear to be installed, see the installation instructions on the FTDI official site:
Tera Term is available as a free download from http://ttssh2.sourceforge.jp. Download and install Tera Term now if
you have not already done so. The following procedure describes how to establish a UART serial connection between
Tera Term and the evaluation board.
1. Start the Tera Term application and click on the Setup tab. A
dropdown appears providing options to configure Tera Term as
shown in the screen capture on the right. Select Terminal.
2. Terminal Setup. In the New-line section of the Setup Terminal
dialog box (see the screen capture below), ensure that:
Receive: is set to CR
Transmit: is set to CR+LF
Close the Terminal Setup dialog box by selecting OK.
3. Serial Port Setup. Select the Setup tab again from the main window, then select Serial port. A Setup serial
port dialog box appears. Ensure the settings in the dialog box match the settings shown in the following
screen capture. The COM Port shown in the example (COM14) will almost certainly be different for your
evaluation board, be sure to choose the COM port that matches your board.
When the serial port has been correctly setup, close
the Serial port setup dialog box by selecting OK.
4. New Connection. From the Tera Term application menu,
setup a new connection with the evaluation board by
selecting File | New connection (or by pressing Alt + N) as
shown in the screen capture on the right. A New connection
dialog box appears as shown in the following screen capture.
Check the Serial radio button, then click the Port: dropdown
menu and select the COM port that matches your evaluation
board. The COM port description for the evaluation board
includes the text COMxx: USB Serial Port (COMxx).
Once the correct COM port has been selected, close the
New connection dialog box by selecting OK.
5. Testing the connection. If Tera Term was able to connect successfully, the text in the application title bar
indicates which COM port is connected, and the baud rate of the connection. For the example documented
above, Tera Term displays ‘COM14:115200baud’. The Tera Term screen remains blank however until a
character is sent to WiConnect. Try pressing the Enter key, WiConnect responds with Ready as shown in the
following screen capture.
CoolTerm is available as a free download from http://freeware.the-meiers.org/CoolTermMac.zip. Download and
install CoolTerm now if you have not already done so.
The following procedure describes how to establish a UART serial interface between CoolTerm and the evaluation
board.
1. Start the CoolTerm application and click the
Options menu icon. The CoolTerm Configuration
window opens. Set the Serial Port configuration
options as follows:
Port: usbserial-XXXXXXXX
Baudrate: 115200
Data bits: 8
Parity: none
Stop bits: 1
Flow control : Deselect all options
2. Click OK.
3. Click the Connect menu icon. The CoolTerm
application connects to the evaluation board.
Try pressing the Enter key, if CoolTerm is successfully connected to the evaluation board, WiConnect responds with
Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or
intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical"
parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes
without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included
information. Silicon Labs shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted
hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of
Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant
personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass
destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons.
Trademark Information
Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®,
EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®,
Gecko®, ISOmodem®, Micrium, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress®, Zentri, Z-Wave and others are trademarks or
registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited.
All other products or brand names mentioned herein are trademarks of their respective holders.
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
USA
Quality
www.silabs.com/quality
Support and Community
community.silabs.com
http://www.silabs.com
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.