Releases: Carglglz/upydev
Releases · Carglglz/upydev
upydev 0.4.3
Fix
wss_repl.py
droppedwebsocket_help
dependency.upyutils/develop/upynotify.py
pwm bug,upytuils/ble/ble_uart_peripheral.py
rxbuf bug.- wss WebSocketDevices now use ROOT CA-signed certificate
(ROOT CA key/cert generated with$ upydev kg ssl CA
) - allow_abrev bug for
$ upydev kg ssl dev status -a
option (--a
for python3.8+). - fix fast get/dsync shasum animation for BleDevices.
- improve certificate info issuer/subject.
- fix dev_platform in
net scan
for esp8266 - now serial repl works with
screen
too (usingrepl -sc
) (in casepicocom
is not available) - fix ssl error on
stream_test
in WebSocketDevices using wss. - fix paste mode in serial repl missing to print first line output.
- fix net scan bug for esp8266
- fix dsync command help info.
- fix uconfig (config in shell-repl) help info.
- fix config
add_param
to allow customroot_path
- update otatool.py, ota.py to use ROOT CA certificate as CA.
Added
- Added
ursyslogger.py
toupyutils/develop
to enable remote logging with rsyslog as endpoint. - Added
test_dev.py
to run parametric tests using yaml files. - Added benchmark integration with
pytest-benchmark
- Added network tests with
iperf3:uiperf3.py
- Added multiple tests and benchmarks using yaml files.
- Added benchmarks from
micropython/tests/perf_bench
play
command to run custom tasks in ansible playbook style.- Added example playbooks
uptime
andcycles
utils/commands.- upylog file rotation, so file log size does not go over a limit size. (2KB default)
- uptime.py and cycles.py to upyutils_dir (so it can be installed with
update_upyutils
cmd) mv
command to change file names.kg ssl CA
to generate a ROOT CA key/cert to be able to generate device's and host CA signed certificate.kg ssl host
to generate a HOST key/cert signed by ROOT CA.kg ssl dev add/export
to add or export a device certificate.kg ssl CA add/export
to add or export a ROOT CA key/cert pair.kg ssl dev/host/CA status
to check expiration date of certificates.- The new CA-host-dev certificate chain of trust model allows log in to wss WebSocketDevices from multiple locations/hosts (by exporting the ROOT CA key/cert pair to a new host and add them there to generate the proper key/cert for that host).
- nwatchdog timer kwargs.
- net scan results are sorted by RSSI value.
- local path in shell-repl prompt is now aware of current git branch.
upydev 0.4.2
Fix
- fix lcd ~ home user expand in shl & ssl key,cert gen for zerotier devices with custom port
- fix test_custom_cmd.py reload script on exception
- clarify extra free RAM in custom esp32 OTA SSL build
- fix file not found error in
put
command if file is indicated with absolute path - fix
datetime
command missing import os
missing withput
,get
commands if-dir
indicated
upydev 0.4.1
Fix
- optimized autocompletion of subcommands and options
- upydev cli startup time
upydev 0.4.0
Fix
- hard reset
-hr
option forreset
command - added missing commands
touch
,cd
. - fix
-h
help for filesystem commands - autocomplete options
Added
- autocomplete commands with multiple options as subcommands
upydev 0.3.9
Fix
- parse additional positional args in cli bug
upydev 0.3.8
Added
- added command history file to shell-repls
- added tests and example tests to run with devices
- added shell support for command concatenation (
&&
) - added shell basic support for pipe device output to a local file (
>, >>, |
) register
command to register a device name or group as a callable shell functionota
command to do OTA Firmware updates (esp32). This needsota.py
for network (LAN/WiFi) orotable.py
for BLE. (upyutils
directory) andfirmware.bin
file inbuild-GENERIC_OTA
or from micropython esp32-ota downloads.ota
with-sec
option to do OTA over TLS. (This needskg ssl
first).rsa sign
,rsa verify
commands to sign file or verify signatures made with device RSA keykg rsa host
, to generate a host RSA key pair and send public key to device.rsa sign host [FILE]
to sign a file with host RSA key.rsa verify host [FILE]
to verify in the device a file signature made with host RSA keyrsa
lib inupyutils
to support RSA key load, sign, verify, encrypt, decrypt,
generation and export in PEM formatkg rsa
added option-rkey
to remove RSA private key from the host, so in combination with-tfkey
option, the RSA private key will be stored only in the device.rsa auth
to authenticate a device with a RSA encrypted challenge.shasum.py
lib inupyutils
to support hash SHA-256 checkshasum
andshasum_c
to compute hash SHA-256 of files and check shasum files.ls
command to improve ls fromupysh
, with multiple dirs and pattern matchingcat
command that accepts multiple files and pattern matching- refactored help
- dropped wlan utils
- dropped prototype commands (this will be a stand alone cli or add-on for upydev)
Fix
mpyx
command with multiple fileskg wr
now use RSA public key for password derivation and send encrypted password
that is decrypted and stored in device.- Load time in MacOS caused by upydevice->BleDevice->bleak->corebluetooth
- Save in ecdsa key/cert directly in
DER
, no need foropenssl
inPATH
. - Allow mdns name in ssl certificate.
- Improved file io operations (
put
,get
,dsync
...), more flexibility indicating files / dirs / pattern matching etc. Improved overall performance, specially for WebSocketDevices. - fix
ping
,probe
for zerotier devices (this needs updated config, see how-to section in docs.) - fix
update_upyutils
if dirlib
does not exists. - refactored shells-repls, now
shl
, orrpl
commands only
upydev 0.3.7
Added
rssi
command in shell repls to get RSSI value (Wifi or Ble)make_sgroup
/mksg
command to create a subgroup of an existing group of devices.set_hostname
command to set hostname of the device for dhcp service (needs wpa_supplicant.py)set_localname
command to set localname of the device for ble gap/advertising name (needs ble_uart_peripheral.py)- Now
-@
option accepts multiple devices, names with*
wildcard or global groupgg
or other group names, e.g.upydev check -i -@ esp\* dev{1..4} mytestgroup
will expand to all devices that start withesp
,dev1 dev2 dev3 dev4
and devices configured inmytestgroup
Fix
firmwaretools.get_fw_versions
update aftermicropython.org\all
not working anymore.- fix device name instead of
None
input
,get
,fget
,dsync
insslweb_repl
with-nem
mode enabled. - fix
fget
disconnection error.
upydev 0.3.6
Added
zerotier
compatibility through raspberry pi bridge (port forwarding + ufw route rules) and-zt [HOST IP/BRIDGE IP]
option to indicate host zerotier ip and raspberry pi bridge local ip for ssl
shell-repl mode. Also-zt
option with config command compatibility.- mDNS
.local
/dhcp_hostname
compatibility, so device configuration works across networks, e.g,-t
argument now can accept-t mydev.local
and resolve to device ip. - added
-zt [IP]
inkeygen ssl
for zerotierwss-sslwebrepl
mode wpa_supplicant.py
utility in upyutils- New buzzer effects in
buzzertools.py
:error
,warning_call
,phone_call
,door_bell
. - Added docs for
zerotier
bridge configuration inHOWTO
Fix
fget
error on connection, and unintended verbose output on close.check -i
,info
commands in-apmd
, if connected to AP of the device.- fix ssl cert authentication in
wss
mode if using.local
/dhcp_hostname
target.
upydev 0.3.5
Fix
set_ntptime
with WebSocket Devices- blerepl paste command
- paste command in sslweb_repl -nem mode
Added
- get rssi value in blerepl
upydev 0.3.4
Fix
-
Fix autocomplete on tab in REPL while
import
orfrom X import
in SERIAL REPL -
Command names change:
filesize
-->du
,filesys_info
-->df
fw
-->fwr
d_sync
-->dsync
sync
-->fget
-
Catching passwords too short for AP configuration
-
Refactor help info organisation for easy reading.
-
Refactor device management actions (configuration, groups...)
-
Refactor firmware actions,
-i
option to check firmware and platform match. (from firmware file name) -
tree
command in upysh2.py unix/linux like. -
drop
mpy-cross
dependency, better to build from source.
Added
- Autocomplete
shr@
,ssl@
,wssl@
andble@
commands with saved devices in UPY_G global group pytest
andpytest-setup
command in SHELL-REPLSpytest
andpytest-setup
command mode in CLI.- commands that start with
%
or not registered in SHELL-REPLS commands are forwarded to local shell (works with alias too) - Ble SHELL-REPL
ble@[device]
set
command to set current device configuration of a device saved in global groupcheck
command to see device configuration (-i
to see more info if device available)dm
command to see help about DEVICE MANAGEMENTgc
command to see help about GENERAL COMMANDSwu
command to see help about WLAN UTILS COMMANDSsd
command to see help about SD UTILS COMMANDSpro
command to see help about PROTOTYPE COMMANDSgg
to see global group-gg
flag to set -G flag to global group (-gg
==-G UPY_G
)-ggp
flag to set -GP flag to global group (-ggp
==-GP UPY_G
)%
before any command e.g.%config
display help info about that command.probe
command to test if a device/group is reachablescan
command to look for devices (serial [-sr], network [-nt] or ble [-bl])shl
/shell
, andrpl
/repl
commands works with@
or-@
and will detect device type, redirecting to the proper SHELL-REPL / REPL type.put
,get
,install
,fget
,dsync
, file operations now support indicating file/files/cwd/expression as a second argument, e.g,upydev put this_file.py
,upydev put demo_*.py
,upydev put fileone.py filetwo.py
,upydev put cwd -dir lib
...- Alias and positional args for keygen/firmware/flash actions
upydev kg/keygen rsa/wr/ssl
,upydev fwr get/list latest
,upydev flash esp32-idf4-20200122-v1.12-76-gdccace6f3.bin
,upydev flash pybv11-20200114-v1.12-63-g1c849d63a.dfu
... - Alias and positional args for
make_group, mg_group
actionsmkgroup/mkg, mggroup/mgg
, andsee
. e.gupydev see MY_GROUP
,upydev mkg MY_GROUP -devs mydevtest 192.168.1.40 mypasswd
,upydev mgg MY_GROUP -add sdev2 /dev/tty.SLAB_USBtoUART 115200
- Alias and positional args for SD actions
upydev sd enable/init/deinit/auto
- upydev pypi version checking on
h
/help
command. -gf
flag to indicate a group file operation (files are upload/download to/from a directory with the name of the device in the current working directory). It uses local group configuration file if available (unless -gg flag is indicated), otherwise it falls back to global group configuration-rf
flag fordsync
mode, to remove files or directories deleted in local dir.-to [devname]
flag now can be used with-tfkey
to transfer keys by USB/Serial-d
flag fordsync
to sync from device to host.backup
command ==dsync . -d
to make a backup of the device filesystemrsync
command ==dsync [DIR] -rf -wdl
to recursively sync (deleting files too)