Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mongoose-os-libs/rpc-service-config
https://github.com/mongoose-os-libs/rpc-service-config
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mongoose-os-libs/rpc-service-config
- Owner: mongoose-os-libs
- License: other
- Created: 2017-06-06T22:43:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-26T13:25:56.000Z (over 2 years ago)
- Last Synced: 2024-07-31T21:52:08.249Z (6 months ago)
- Language: C
- Size: 485 KB
- Stars: 3
- Watchers: 7
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mongoose-os - rpc-service-config
README
# RPC Service - Config
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](/docs/mongoose-os/userguide/rpc.md)) or use `mos` tool.Below is a list of exported RPC methods and arguments:
## Config.Get
Get device configuration subtree. Arguments:```javascript
{
// 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"}'
trueThis RPC command has a shortcut: `mos config-get`:
mos config-get
{
"http": {
"enable": true,
"listen_addr": "80",
...
mos config-get wifi.sta.enable
true## Config.Set
Set device configuration parameters. Arguments, either:```javascript
{
// Required. Contains a sparse object with configuration parameters.
// These parameters are applied on top of the existing device configuration.
"config": { ... }
}
```or
```
{
"key": "debug.level", // Config key in dotted notation
"value": 3, // Config value, as JSON.
}
```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...## Config.Save
Writes an existing device confuguration on flash, as a sequence of
`confX.json` files
(see [description](/docs/mongoose-os/userguide/configuration.md)). This makes
configuration permament, preserved after device reboot. Arguments:```javascript
{
"reboot": false // Optional. Whether to reboot the device after the call
}
```Example usage:
mos call Config.Save '{"reboot": true}'