• Stars
    star
    716
  • Rank 63,241 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 8 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MicroPython Tool - Utility to interact with a MicroPython board over a serial connection.

ampy replacement

We have been working on the next version of ampy which will solve various problems with the current system. Based on a new modular architecture, it makes adding device support and features very simple using plugins. It also aims to support coding over WiFi for supported devices. This should eliminate the need to have a wired connection and improve reliability as well. Here is an alpha release please go ahead and play with it. Leave suggestions for a new name in the issue section. :)

ampy

MicroPython Tool (ampy) - Utility to interact with a CircuitPython or MicroPython board over a serial connection.

Ampy is meant to be a simple command line tool to manipulate files and run code on a CircuitPython or MicroPython board over its serial connection. With ampy you can send files from your computer to the board's file system, download files from a board to your computer, and even send a Python script to a board to be executed.

Note that ampy by design is meant to be simple and does not support advanced interaction like a shell or terminal to send input to a board. Check out other MicroPython tools like rshell or mpfshell for more advanced interaction with boards.

Installation

You can use ampy with either Python 2.7.x or 3.x and can install it easily from Python's package index. On MacOS or Linux, in a terminal run the following command (assuming Python 3):

pip3 install --user adafruit-ampy

On Windows, do:

pip install adafruit-ampy

Note on some Linux and Mac OSX systems you might need to run as root with sudo:

sudo pip3 install adafruit-ampy

If you don't have Python 3 then try using Python 2 with:

pip install adafruit-ampy

Once installed verify you can run the ampy program and get help output:

ampy --help

You should see usage information displayed like below:

Usage: ampy [OPTIONS] COMMAND [ARGS]...

  ampy - Adafruit MicroPython Tool

  Ampy is a tool to control MicroPython boards over a serial connection.
  Using ampy you can manipulate files on the board's internal filesystem and
  even run scripts.

Options:
  -p, --port PORT  Name of serial port for connected board.  [required]
  -b, --baud BAUD  Baud rate for the serial connection. (default 115200)
  -d, --delay DELAY Delay in seconds before entering RAW MODE (default 0)
  --help           Show this message and exit.

Commands:
  get  Retrieve a file from the board.
  ls   List contents of a directory on the board.
  put  Put a file on the board.
  rm   Remove a file from the board.
  run  Run a script and print its output.

If you'd like to install from the Github source then use the standard Python setup.py install (or develop mode):

python3 setup.py install

Note to run the unit tests on Python 2 you must install the mock library:

pip install mock

Usage

Ampy is made to talk to a CircuitPython MicroPython board over its serial connection. You will need your board connected and any drivers to access it serial port installed. Then for example to list the files on the board run a command like:

ampy --port /dev/tty.SLAB_USBtoUART ls

You should see a list of files on the board's root directory printed to the terminal. Note that you'll need to change the port parameter to the name or path to the serial port that the MicroPython board is connected to.

Other commands are available, run ampy with --help to see more information:

ampy --help

Each subcommand has its own help, for example to see help for the ls command run (note you unfortunately must have a board connected and serial port specified):

ampy --port /dev/tty.SLAB_USBtoUART ls --help

Configuration

For convenience you can set an AMPY_PORT environment variable which will be used if the port parameter is not specified. For example on Linux or OSX:

export AMPY_PORT=/dev/tty.SLAB_USBtoUART
ampy ls

Or on Windows (untested) try the SET command:

set AMPY_PORT=COM4
ampy ls

Similarly, you can set AMPY_BAUD and AMPY_DELAY to control your baud rate and the delay before entering RAW MODE.

To set these variables automatically each time you run ampy, copy them into a file named .ampy:

# Example .ampy file
# Please fill in your own port, baud rate, and delay
AMPY_PORT=/dev/cu.wchusbserial1410
AMPY_BAUD=115200
# Fix for macOS users' "Could not enter raw repl"; try 2.0 and lower from there:
AMPY_DELAY=0.5

You can put the .ampy file in your working directory, one of its parents, or in your home directory.

More Repositories

1

zproc

Process on steroids
Python
112
star
2

flutter_pdf_viewer

A native PDF viewer for flutter.
Kotlin
107
star
3

thinkfan-control-gui

a small gui app for linux to control fan speed and monitor temps on a thinkpad
Python
79
star
4

flutter_cognito_plugin

An AWS cognito plugin for flutter
Dart
60
star
5

flutter-rx-ble

A Flutter BLE plugin, based on RxAndroidBle and RxBluetoothKit.
Dart
35
star
6

oscilloscope

An oscilloscope for python that just worksβ„’
Python
25
star
7

flutter-wifi-connect

Dead simple WiFi connect functionality for flutter.
Kotlin
23
star
8

eopkg3p

CLI and python API for the Solus 3rd party packages
Python
22
star
9

react-pages

A zero-fuss way to create non-node apps with react.
JavaScript
18
star
10

pymiwifi

A python API to the Xiaomi Mi WiFi Router web interface
Python
15
star
11

flutter-plugin-scaffold

A scaffold for writing flutter plugins
Kotlin
15
star
12

flutter-pdfium

dart:ffi wrapper for Google's Pdfium library
Dart
11
star
13

dockapt

A magical fusion of docker and APT
Python
6
star
14

muro

A WIFI enabled Music Remote for your desktop.
Python
6
star
15

flutter-keyboard-plugin

Flutter plugin to detect keyboard events.
Dart
5
star
16

lattu

Straightforward way to control BLE controlled smart bulbs using python.
Python
4
star
17

super_logging

The usual dart logging module with superpowers!
Dart
4
star
18

django-hideshow

Dynamically hide/show Django admin form fields using only HTML attributes. No javascript required. ℒ️
Python
4
star
19

dialmap

Software controlled dials done right.
Python
3
star
20

dart-paytm-api

Paytm internal APIs for dart
Dart
3
star
21

yt-tricks

Chrome extension containing YouTube Tricks!
JavaScript
2
star
22

minst-flutter-app

Dart
2
star
23

firmware-release-server

A firmware release management service for IOT devices and friends
Python
2
star
24

flutter-app-builder

An HTTP server that builds a flutter app on POST request
Python
2
star
25

sql2code

Convert SQL to import-able code!
Python
1
star
26

cookiecutter-mpy

Python
1
star
27

network_file

A dead simple Dart library, to find and share files across devices on a network.
Dart
1
star
28

yt-set-ops

Run set operations on YouTube subscriptions of two users
HTML
1
star
29

flutter-use-location

A dead simple location access plugin for flutter.
Kotlin
1
star
30

flutter_trialware

A Trial-ware utility plugin for flutter
Dart
1
star
31

pip-plugin-collection

A collection of popular pip plugins
Python
1
star