Skip to main content

An adafruit-ampy batch tool

Project description

AMPY Batch Tool

项目介绍

AMPY Batch Tool 简称ab,可以批量将项目中指定的文件夹或文件上传到MicroPython开发板

如何安装

在线安装(推荐)

# 安装
$ pip install ampy-batch-tool

# 更新
$ pip install --upgrade ampy-batch-tool

离线安装

首先克隆或下载项目源文件压缩包并解压缩,然后进入项目文件夹运行命令

$ python setup.py install
# for local develop
$ pip install -e .

如何上传文件

  • 在你的项目文件夹下新建abconfig文件(ab工具默认查找该配置文件,也可以手动指定其它文件)

  • 配置文件中填写需要上传的文件夹或文件,每行一个,例如:

     drivers/
     !test.py
     main.py
     !services/
     not_exists/
    
     #services/websocket.py
     # .git/
    

    #号开头的行:上传时排除的文件夹或文件 以!号开头的行:在repl模式下上传文件后立即运行的文件

  • 在需要上传项目文件的时候执行如下命令即可

     $ ab
    
  • 如果找不到或者未手动指定配置文件,则显示使用说明

  • 完整输出内容

     Port List:
         [1] COM8 - Silicon Labs CP210x USB to UART Bridge (COM8)
         [2] COM1 - 通信端口 (COM1)
     Choose a port: 1
    
     File List (3):
     - drivers/button.py
     - services/mqtt.py
     - main.py
    
     Dir List (3)
     - drivers
     - drivers/others
     - services
    
     Not Found List (1)
     - not_exists
    
     Making dirs on board...
     - drivers exist
     - drivers/others exist
     - services exist
    
     Upload files to board...
     - uploading drivers/button.py (1/3)
     - uploading services/mqtt.py (2/3)
     - uploading main.py (3/3)
    
     Upload Finished
    

REPL 模式使用说明

$ ab --repl
Port List:
    [1] COM3 - Silicon Labs CP210x USB to UART Bridge (COM3)
    [2] COM1 - 通信端口 (COM1)
Choose a port: 1

Miniterm for MicroPython REPL
    Ctrl-Z - Quit
    Ctrl-N - Help
    Ctrl-X - Kill main.py
    Ctrl-Y - Serial Info
    Ctrl-L - Run last file
    Ctrl-R - Run local file
    Ctrl-T - Run board file
    Ctrl-G - Run clipboard code

>>> help()
Welcome to MicroPython on the ESP32!

For generic online docs please visit http://docs.micropython.org/
>>>

repl模式快捷键

  • Ctrl + Z:退出repl
  • Ctrl + X:一键删除main.py文件
  • Ctrl + G:将剪贴板中的代码粘贴到repl
  • Ctrl + Y:显示串口相关设置
  • Ctrl + O:显示快捷键说明
  • Ctrl + R:运行本地文件
  • Ctrl + T:运行远程文件
  • Ctrl + L:再次运行上次的本地文件
  • Ctrl + U:上传配置文件中指定的文件

一键删除main.py文件

有些时候由于在代码中写入死循环,导致无法删除或者重新上传文件的情况,可以尝试使用这个功能,快捷键为:Ctrl + X

运行本地.py文件

快捷键为:Ctrl + R

>>> Run local file
    [1] upload_to_pypi.py
    [2] setup.py
    [3] local.py
    [4] ab\__main__.py
    [5] ab\__init__.py
    [6] ab\pyboard.py
    [7] ab\miniterm.py
Choose a file: 3

boot.py - FILE
client - PATH
drivers - PATH
onboard.py - FILE

this is a local py file
>>>

运行远程.py文件

也就是运行开发板上的文件,快捷键为:Ctrl + T

>>>
Run onboard file
    [1] /boot.py
    [2] /drivers/ssd1306.py
    [3] /onboard.py
Choose a file: 3

this is a onboard py file
>>>

运行剪贴板中的代码段

快捷键为:Ctrl + G

需要注意复制的代码段的缩进

>>> Run clipboard code

HZK Info: //client/combined.bin
    file size : 303520
  font height : 16
    data size : 32
    scan mode : Horizontal
   byte order : LSB
   characters : 8932

slave id: 60
>>>

重新运行之前的文件

快捷键为:Ctrl + L

注意:只能重新运行上一次的本地文件

因为开发板上文件的运行方式不同,所以暂不支持一键重新运行

上传配置文件中指定的文件

省去每次上传文件都要退出repl模式的麻烦,快捷键为:Ctrl + U

参数说明

  • -h:显示使用说明
  • -m:使用minify工具压缩代码(功能未实现)
  • -q:屏蔽操作过程中的相关提示
  • -s:模拟操作过程,不实际上传文件
  • --repl:进入repl模式
  • --readme:在网页中显示使用说明

已知问题

  1. 调用ampy工具新建文件夹的时候如果文件夹已存在,则会抛出异常且无法捕捉

  2. 偶尔出现无法进入raw_repl模式的问题,重新运行一次即可解决

更新记录

  • v0.6:增加在repl模式下直接上传文件的功能

  • v0.5

    • 调整了repl模式下的快捷键
    • repl模式增加运行本地文件功能
    • repl模式增加运行远程文件功能
    • 美化repl模式提示内容
  • v0.4.2repl模式增加一键删除main.py文件功能

  • v0.4.1repl模式增加粘贴代码功能

  • v0.4:增加进入repl模式菜单和相关功能

  • v0.3.2:修复由于v0.3.1导致的分隔路径错误问题

  • v0.3.1:修复上传文件时字符转义的问题

  • v0.3

    • 重构了获取所有文件和文件夹列表功能
    • 增加了显示网页版使用说明的参数
    • enter_raw_repl()中增加延时,尝试解决已知问题2
  • v0.2.2:修复某些开发板不能读取串口数据的问题(如安信可 ESP32C3 系列开发板

  • v0.2.1:修复导入模块路径问题

  • v0.2

    • 使用 pyboard.py 替代ampy以提升文件上传效率,并解决已知问题 1
    • 禁用了代码压缩功能,使用 pyminifier 压缩代码会出现问题
    • 删除指定临时目录参数
  • v0.1.1:尝试上传到 PyPI

  • v0.1:完成基本功能

附录:repl快捷键汇总

排除掉MicroPython已经使用的,以及与各种编辑器和终端发生冲突的,而且只能使用字母键,所以实际可用的按键其实并不多,凑合选择了一组,就是现在使用的这些

# 不可用的
Ctrl +:
	A - raw repl mode
	B - soft reset / exit raw repl
	C - interrupt run / cancel paste mode
	D - soft reset / finish paste mode
	E - paste mode
	I - list imported modules
	J, M - enter key
	P - up key
	V - mostly paste
# 之前使用的
Ctrl +:
	L - show serial port info
	O - show help
	R - run local pyfile
	T - run onboard pyfile
	U - run code in clipboard
	] - quit
	[ - delete onboard file main.py
# 现在使用的
Ctrl +:
	Z - quit
	X - delete onboard file main.py
	N - show help
	Y - show serial port info
	L - run last pyfile (local / onboard)
	R - run local pyfile
	T - run onboard pyfile
	G - run code in clipboard
	U - upload files to board
# 可用的 (闲置的)
Ctrl +:
	F - vsc 冲突
	H - bs 冲突
	K - vsc 冲突
	Q - vsc 冲突
	S - vsc 冲突
	W - cmder 冲突

合作及交流

走线物联扇贝物联

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ampy-batch-tool-0.6.tar.gz (26.0 kB view hashes)

Uploaded Source

Built Distribution

ampy_batch_tool-0.6-py3-none-any.whl (23.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page