Github Repo | C Header | C source | JS source |
---|---|---|---|
mongoose-os-libs/rpc-service-config | mgos_service_config.h |
This service provides an ability to manage device configuration remotely.
It is required by the mos config-get
and mos config-set
commands.
If this library is not included in the app, those commands won't work.
It is possible to call this service programmatically via serial, HTTP/RESTful,
Websocket, MQTT or other transports
(see RPC section) or use mos
tool.
Below is a list of exported RPC methods and arguments:
Get device configuration subtree. Arguments:
{
// Optional. Path to a config object, e.g. `wifi.sta.ssid`.
// If not specified, a full configuration tree is returned.
"key": "..."
}
Example usage:
mos call Config.Get
{
"http": {
"enable": true,
"listen_addr": "80",
...
mos call Config.Get '{"key": "wifi.sta.enable"}'
true
This RPC command has a shortcut: mos config-get
:
mos config-get
{
"http": {
"enable": true,
"listen_addr": "80",
...
mos config-get wifi.sta.enable
true
Set device configuration parameters. Arguments:
{
// Required. Contains a sparse object with configuration parameters.
// These parameters are applied on top of the existing device configuration.
"config": { ... }
}
Example usage - set debug.level
to 3
:
mos call Config.Set '{"config": {"debug": {"level": 3}}}'
This RPC command has a shortcut: mos config-set
which sets the config
option, saves it, and reboots the device (since some config options take
effect only after reboot):
mos config-set debug.level=3
Getting configuration...
Setting new configuration...
Saving and rebooting...
Writes an existing device confuguration on flash, as a sequence of
confX.json
files
(see description). This makes
configuration permament, preserved after device reboot. Arguments:
{
"reboot": false // Optional. Whether to reboot the device after the call
}
Example usage:
mos call Config.Save '{"reboot": true}'
bool mgos_rpc_service_config_init(void);
edit this docInitialises mg_rpc handlers for Config commands