https://github.com/d-corler/ota-cli
Uploads firmware over the air to devices like Arduino, ESP8266, ESP32, etc.
https://github.com/d-corler/ota-cli
arduino cli esp32 esp8266 ota
Last synced: 8 months ago
JSON representation
Uploads firmware over the air to devices like Arduino, ESP8266, ESP32, etc.
- Host: GitHub
- URL: https://github.com/d-corler/ota-cli
- Owner: d-corler
- License: mit
- Created: 2022-02-27T13:10:32.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-10T14:22:39.000Z (11 months ago)
- Last Synced: 2025-09-20T13:56:16.480Z (9 months ago)
- Topics: arduino, cli, esp32, esp8266, ota
- Language: TypeScript
- Homepage:
- Size: 88.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ota-cli
[](https://github.com/d-corler/ota-cli/blob/main/)
[](https://npmjs.org/package/ota-cli)
[](https://github.com/d-corler/ota-cli/blob/main/LICENSE)
[](https://github.com/d-corler/ota-cli/issues)
Uploads firmware over the air to devices like Arduino, ESP8266, ESP32, etc.
Authentication supported.
# Summary
* [ota-cli](#ota-cli)
* [Summary](#summary)
* [Usage](#usage)
* [Commands](#commands)
# Usage
```sh-session
$ npm install -g ota-cli
$ ota COMMAND
running command...
$ ota (--version)
ota-cli/0.1.0-pre win32-x64 node-v16.13.2
$ ota --help [COMMAND]
USAGE
$ ota COMMAND
...
```
# Commands
* [`ota help [COMMAND]`](#ota-help-command)
* [`ota plugins`](#ota-plugins)
* [`ota plugins:inspect PLUGIN...`](#ota-pluginsinspect-plugin)
* [`ota plugins:install PLUGIN...`](#ota-pluginsinstall-plugin)
* [`ota plugins:link PLUGIN`](#ota-pluginslink-plugin)
* [`ota plugins:uninstall PLUGIN...`](#ota-pluginsuninstall-plugin)
* [`ota plugins:update`](#ota-pluginsupdate)
* [`ota upload`](#ota-upload)
## `ota help [COMMAND]`
Display help for ota.
```
USAGE
$ ota help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for ota.
```
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.11/src/commands/help.ts)_
## `ota plugins`
List installed plugins.
```
USAGE
$ ota plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ ota plugins
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/index.ts)_
## `ota plugins:inspect PLUGIN...`
Displays installation properties of a plugin.
```
USAGE
$ ota plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ ota plugins:inspect myplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/inspect.ts)_
## `ota plugins:install PLUGIN...`
Installs a plugin into the CLI.
```
USAGE
$ ota plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ ota plugins:add
EXAMPLES
$ ota plugins:install myplugin
$ ota plugins:install https://github.com/someuser/someplugin
$ ota plugins:install someuser/someplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/install.ts)_
## `ota plugins:link PLUGIN`
Links a plugin into the CLI for development.
```
USAGE
$ ota plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ ota plugins:link myplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/link.ts)_
## `ota plugins:uninstall PLUGIN...`
Removes a plugin from the CLI.
```
USAGE
$ ota plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ ota plugins:unlink
$ ota plugins:remove
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/uninstall.ts)_
## `ota plugins:update`
Update installed plugins.
```
USAGE
$ ota plugins:update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/update.ts)_
## `ota upload`
Upload a firmware to a device
```
USAGE
$ ota upload -f -i [--debug ] [--deviceIp ] [--devicePass ]
[--dnsServiceName ] [--dnsServiceType ]
FLAGS
-f, --file=path/to/firmware.bin (required) Path to the firmware binary file
-i, --interfaceIp= (required) Provide IP of your default local network interface
--debug=
--deviceIp=path/to/firmware.bin (WIP) Skip the scanning step by providing the device IP address directly
--devicePass= Skip the authentication step by providing the password directly
--dnsServiceName= [default: _arduino._tcp.local] Provide the name of the DNS service to lookup
--dnsServiceType= [default: PTR] Provide the type of the DNS service to lookup
DESCRIPTION
Upload a firmware to a device
```
_See code: [dist/commands/upload/index.ts](https://github.com/d-corler/ota-cli/blob/v0.1.0-pre/dist/commands/upload/index.ts)_