Command API Quickstart
The fastest way to learn about the Gecko OS Command API is to use a desktop machine and a UART terminal application or a web browser over Wi-Fi.
To connect your Gecko OS device to a Wi-Fi network, you need to supply the device with network credentials: the wireless network name (SSID) and password. Let's get started!
There are a few steps involved:
- Program Gecko OS . This step is required if your device is not programmed with Gecko OS.
- Factory Reset . This step is optional, and returns the device to a known state.
- Open a Gecko OS terminal . A Gecko OS terminal is necessary to enter commands via the serial interface.
- Set up Wi-Fi network credentials . There are several ways to do this, explained below.
- Verify the Network Connection .
When you have set up a Gecko OS terminal, verified your Wi-Fi network credentials and tested the connection, you can work with the extensive feature set provided by Gecko OS. One of the key features is device firmware update (DFU). Gecko OS provides multiple options to update firmware, including wireless update over-the-air (OTA). Firmware update enables you to load the latest version of Gecko OS, or load specific Gecko OS products for development purposes, onto your device. The steps to perform DFU OTA are:
Programming Gecko OS onto your Device
Some WGM-series IoT devices from Silicon Labs may not be factory programmed with Gecko OS. Follow the Device Setup Guide to program your device with Gecko OS.
Performing a Factory Reset
You may optionally perform a factory reset to ensure the device is in a known state.
Performing a
factory_reset
returns variables to the default configuration.
Note
: On a Silicon Labs Wireless Starter Kit (WSTK), Button 1 is labelled
PB0
.
The device can be factory reset with the factory_reset command using a Gecko OS terminal .
To perform a factory reset:
- Press Button 1 and do not release it.
- Press and release the Reset button
- Continue to press Button 1 for at least 10 seconds
- Release Button 1 .
Opening a Gecko OS Terminal
You can control your Gecko OS device using the Gecko OS Command API via a UART serial terminal or console application.
Note : If your new Gecko OS device does not respond to commands, you may need to program it with Gecko OS .
For a Gecko OS evaluation board, plug the board into the USB port of your computer using a USB cable. USB provides power and a UART serial connection.
For a device not on an evaluation board, connect the terminal to device UART 1 and provide power to the device. For pinout information, see Peripherals, GPIO Functions and Pins or the device datasheet.
With the device UART connected:
- Open a communication terminal application e.g. Teraterm
- Find the UART serial (COM) port associated with the eval board
- Set the communication parameters to 115200 8N1 with NO hardware flow control
- Press the enter key. Gecko OS responds with a ready message and command prompt:
Ready
>
- At the Gecko OS prompt, type
version
and check for a response similar to the text below.
> version
SILABS-WGM160P-4.0.11, Gecko_OS-STANDARD-4.0.8, WGM160P
If problems arise, see the Gecko OS Troubleshooting Guide .
Setting up Wi-Fi Network Credentials
The Wi-Fi network credentials used by Gecko OS are stored in the wlan.ssid and wlan.passkey variables.
There are several ways to set these values, including:
- Setting up with the Command API . See below .
- Setting up with the Gecko OS Web App . See below .
- See Configuration and Setup for more ways to configure a Gecko OS device.
Setting up with the Command API
To set up with the command API, open a Gecko OS terminal as described above.
Enter the following commands in a Gecko OS terminal:
Gecko OS Commands | Description |
---|---|
|
|
Substitute the appropriate values for the placeholders
YOUR_AP_NAME
and
YOUR_AP_PASSWORD
.
Now you can verify the network connection . See below .
Setting Up with the Gecko OS Web App
The Gecko OS Web App provides a graphical interface to configure the network credentials on the device using a web browser. Gecko OS runs a Soft AP and an HTTP web server on the Gecko OS device. You connect to the soft AP with a mobile device or computer, and run the Web App in a web browser.
In a Gecko OS terminal, enter the command:
setup_web
Evaluation boards may also be placed into web setup mode without connecting a Gecko OS terminal:
- Press Button 2 and do not release it
- Press and release the Reset button
- Continue to hold Button 2 for at least three seconds
- Release Button 2
For more details, see Gecko OS Web App, Setup Web Mode .
This starts the Gecko OS Soft AP. By default the Soft AP SSID is
Gecko OS-nnn
, where
nnn
is the last three hex digits of the device WLAN MAC address, e.g.
Gecko OS-2D6
. The default password is
password
.
Connect a mobile device or Wi-Fi enabled computer to this network. Open a web browser and navigate to
setup.com
or
Gecko OS.com
.
The Gecko OS Web App opens the Web App connect tab by default, and scans for Wi-Fi networks in range.
Select your preferred network, enter the network password and click
Connect
. The Web App verifies the password and connects to the WLAN. If you select the
Reconnect to device
option, the web app restarts your Gecko OS device, and attempts to reconnect to it via the WLAN. For more details, see
Gecko OS Web App, Setup Web Mode
.
Now you can verify the network connection . See below .
Verifying the Network Connection
When you issue any Gecko OS command that requires network access, Gecko OS attempts to bring the network up using the values set for wlan.ssid and wlan.passkey .
You can bring the network up with the network_up command.
In the
Gecko OS terminal
, at the
>
prompt, enter the command as shown. The response should be similar to the following:
Gecko OS Commands | Description |
---|---|
|
|
If your Gecko OS device successfully obtains an IP address, it is successfully connected to the network.
Most Gecko OS evaluation boards have a network indicator LED to help determine successful connection to a network (but the WSTK does not). The network indicator LED changes its blink rate from fast (no IP address), to medium (DHCP in progress) to slow (DHCP successful, IP address obtained).
If your WLAN is connected to the Internet, you can try an Internet protocol command. For example, ping a known host:
Gecko OS Commands | Description |
---|---|
|
|
Claiming Your Device
The Zentri Device Management Service can be used to manage secure and authenticated firmware udpates, as well as the health and location of Gecko OS devices deployed in the field. A free DMS account is required before DMS features such as firmware updates are available. To create a DMS account, go to the DMS Signup page. The DMS username (your email address) and password you register are used when you login to the DMS to obtain an API token. See dms_claim .
To claim your device, issue the dms_claim command in a Gecko OS terminal :
Gecko OS Commands | Description |
---|---|
|
|
When you have successfully claimed your device, you can update it . See below .
For full details of the DMS claim and OTA update process, see Update and Recovery .
Performing a Firmware Update
To update the firmware on your device, see Device Firmware Update (DFU) .
Gecko OS Applications
Now that you have established control over your Gecko OS device, you can experiment with the rich set of Gecko OS features using the Gecko OS Command API.
There are many application notes demonstrating Gecko OS networking applications. See Application Examples .
Getting Help
As well as the Gecko OS documentation provided on this website, Gecko OS also provides interactive command line help. At the Gecko OS terminal prompt, issue the help command:
> help
Help options for the Gecko OS Command API ...
help all -> Print a list of all Commands and Variables
help commands -> Print a list of Commands
help variables -> Print a list of readable Variables
help <command> -> Print help for a specific Command
help <variable> -> Print help for a specific Variable
Additional help is available online at /gecko-os/4/standard/latest
- Enter help all for a full list of commands and variables .
- Enter help commands to list commands only, or help variables to list variables only.
- Enter help <command_or_variable_name> to show help for an individual command or variable.