Command line tool for wired/wireless MicroPython devices
Project description
uPydev
Command line tool for wireless MicroPython devices
uPydev is an acronym of 'MicroPython device', and it is intended to be a command line tool to make easier the development, prototyping and testing process of devices based on boards running MicroPython. It is intended to be cross-platform and connection agnostic (Serial, WiFi and Bluetooth Low Energy).
⚠️ Keep in mind that this project is in ALPHA state, sometimes, some commands may not work/return anything ⚠️
Features:
- Tools to allow configuration, management, communication and control of MicroPython devices.
- Command line Autocompletion
- File IO operations (upload, download one or multiple files, recursively sync directories...)
- SHELL-REPL modes: Serial, WiFi (SSL/WebREPL), BLE
- Custom commands for debugging, testing and prototyping.
- Group mode to operate with multiple devices
Docs
Getting Started
Installing :
$ pip install upydev
or $ pip install --upgrade upydev
to update to the latest version available
Create a configuration file:
upydev will use local working directory configuration unless it does not find any or manually indicated with -g
option.
-
To save configuration in working directory:
$ upydev config -t [DEVICE ADDRESS] -p [PASSWORD/BAUDRATE]
, whereADDRESS
must be a valid IP , SERIAL ADDRESS-p
is set to 115200 by default, so it is not necessary unless using a different baudrate, or MAC ADDRESS/ UUID
It will depend on OS system (e.g. Linux uses MAC format 'XX:XX:XX:XX:XX:XX', and macOS uses UUID format 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')
e.g.
# WiFi $ upydev config -t 192.168.1.40 -p mypass # SERIAL $ upydev config -t /dev/tty.usbmodem387E386731342 # BLE $ upydev config -t 9998175F-9A91-4CA2-B5EA-482AFC3453B9
Default device name is
upydevice
, to set a custom name use-@
flag as
$ upydev config -t 192.168.1.40 -p mypass -@ mycustomdevice
To check configuration
$ upydev check
Device: mycustomdevice
Address: 192.168.1.40, Device Type: WebSocketDevice
Or to get more information if the device is online
$ upydev check -i
Device: mycustomdevice
WebSocketDevice @ ws://192.168.1.40:8266, Type: esp32, Class: WebSocketDevice
Firmware: MicroPython v1.13-221-gc8b055717 on 2020-12-05; ESP32 module with ESP32
(MAC: 80:7d:3a:80:9b:30, RSSI: -48 dBm)
-
To save configuration globally use
-g
flag:$ upydev config -t [DEVICE ADDRESS] -p [PASSWORD/BAUDRATE] -g
e.g.
$ upydev config -t 192.168.1.40 -p mypass -g
-
To save configuration in a global group use
-gg
flag:$ upydev config -t [DEVICE ADDRESS] -p [PASSWORD/BAUDRATE] -gg -@ mydevice
e.g.
$ upydev config -t 192.168.1.40 -p mypass -gg -@ mydevice
Once the device is configured see next section or read Usage documentation to check which modes and tools are available.
Or if you are working with more than one device continue with this section to create a group configuration.
uPydev Usage:
Requirement : Needs REPL to be accessible (see Getting Started)
Usage:
$ upydev [Mode] [options] or upydev [upy command] [options]
This means that if the first argument is not a Mode keyword or a upy command keyword it assumes it is a 'raw' upy command to send to the upy device
Help: $ upydev h
, $ upydev help
, $ upydev -h
or $ upydev %[command]
Example: Mode
$ upydev put dummy.py
, $ upydev get dummpy.py
Example: uPy command
$ upydev info
Example: Raw commands
$ upydev "my_func()"
$ upydev 2+1
$ upydev "import my_lib;foo();my_var=2*3"
Too see documentation check Upydev readthedocs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.