Giter VIP home page Giter VIP logo

ardupy-aip's Introduction

ArduPy AIP Build Status

aip - ArduPy Integrated Platform is a utility to develop ArduPy and interact with an ArduPy board. It enables users to quickly get started with ArduPy.

aip is meant to be a simple command line tool. You can customize your own ardupy firmware through it, without needing to know more details about ArduPy. aip is also integrated with mpfshell, so you can also use it to interact with your ArduPy board, such as adding, deleting, checking and modifying files, and running a REPL.

Installation

  • To install the latest release from PyPI:
      sudo pip install ardupy-aip
  • From Source Clone this repository:
      git clone https://github.com/Seeed-Studio/ardupy-aip
  • To install for Python 3, execute the following:
      pip3 install -U -r .

Usage

cmd function Example
aip help Help aip help
aip board Get board information aip board --scan
aip build -b <--board> Build firmware aip build -b wio_terminal
aip flash -p <--port> Flash firmware aip flash
aip shell -c "<--cmd>" Interact with the board aip shell -c "repl"

For more commands, see help.

ardupy-aip's People

Contributors

baorepo avatar bobkerns avatar crazyhackelkorn avatar lakshanthad avatar lynnl4 avatar pillar1989 avatar stonehippo avatar terop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ardupy-aip's Issues

"aip board" does not work if another Seeed device (e.g. XIAO) is already plugged in

Supplying --desc, e.g.

> aip board --desc wio_terminal
It's not an ardupy device!

But if I plug in the Wio Terminal first (or temporarily unplug my XIAO-based Altoid MIDI Box), then

> aip board --desc wio_terminal
2020-08-14

Further, while it appears from the code that it is using the "name" as I show above, it appears that it really does not matter what you supply for the argument to --desc; it seems to be entirely ignored.

It would really be nice if it reported more information, and listed all the identifiable boards, even if not configured for ArduPy.

Todo list

  • add build, install, flash command
  • publish to PyPi
  • add ci-travis
  • documentation of all commands
  • add uninstall command
  • add REPL command
  • add files command
  • handle different boards, set global variables?
  • the Ardupy module may not be on GitHub. What should I do?
  • shadow repositories cannot be downloaded using pygit2, and specific versions need to be considered.

aip depends on pip internals breaks with pip 20.3.3

Running AIP on a windows system with Python3.9 and PIP 20.3.3 leads to the following error:

PS C:\WINDOWS\system32> aip                                                                                             
Traceback (most recent call last):
  File "c:\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Python39\Scripts\aip.exe\__main__.py", line 7, in <module>
  File "c:\python39\lib\site-packages\aip\main.py", line 52, in main
    from aip.command import commands_dict, parse_command
  File "c:\python39\lib\site-packages\aip\command.py", line 46, in <module>
    from aip.build import buildCommand
  File "c:\python39\lib\site-packages\aip\build.py", line 34, in <module>
    from pip._internal.operations.prepare import (
ImportError: cannot import name '_download_http_url' from 'pip._internal.operations.prepare' (c:\python39\lib\site-packages\pip\_internal\operations\prepare.py)

Problem using aip.exe on Windows: cacert.pem issue

At a guess it seems like py2exe has been used to package aip on Windows? It seems like it may have a problem packaging cacert.pem...

Same error for the flash and list commands. board command works fine.

C:\Users\mst\code\ArduPy>aip build -b wio_terminal
ERROR: Exception:
Traceback (most recent call last):
  File "site-packages\pip\_internal\cli\base_command.py", line 188, in _main
  File "aip\build.py", line 349, in run
  File "aip\build.py", line 291, in downloadAll
  File "site-packages\pip\_internal\operations\prepare.py", line 198, in unpack_url
  File "site-packages\pip\_internal\operations\prepare.py", line 124, in get_http_url
  File "site-packages\pip\_internal\operations\prepare.py", line 216, in _download_http_url
  File "site-packages\pip\_internal\network\download.py", line 189, in __call__
  File "site-packages\pip\_internal\network\download.py", line 157, in _http_get_download
  File "site-packages\pip\_vendor\requests\sessions.py", line 543, in get
  File "site-packages\pip\_internal\network\session.py", line 421, in request
  File "site-packages\pip\_vendor\requests\sessions.py", line 530, in request
  File "site-packages\pip\_vendor\requests\sessions.py", line 665, in send
  File "site-packages\pip\_vendor\requests\sessions.py", line 665, in <listcomp>
  File "site-packages\pip\_vendor\requests\sessions.py", line 245, in resolve_redirects
  File "site-packages\pip\_vendor\requests\sessions.py", line 643, in send
  File "site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
  File "site-packages\pip\_vendor\requests\adapters.py", line 416, in send
  File "site-packages\pip\_vendor\requests\adapters.py", line 228, in cert_verify
OSError: Could not find a suitable TLS CA certificate bundle, invalid path: C:\Users\mst\AppData\Local\Temp\_MEI405162\pip\_vendor\certifi\cacert.pem```

api help does not work.

jimmyhoughjr@Jimmys-iMac ~ % pip3 install ardupy-aip

Collecting ardupy-aip
Downloading ardupy_aip-0.9.1-py2.py3-none-any.whl (35 kB)
Requirement already satisfied: pip>=20.1 in /usr/local/lib/python3.9/site-packages (from ardupy-aip) (21.1.1)
Collecting ardupy-mpfshell
Downloading ardupy-mpfshell-1.1.2.tar.gz (16 kB)
Collecting pyserial
Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting demjson
Downloading demjson-2.2.4.tar.gz (131 kB)
|████████████████████████████████| 131 kB 2.5 MB/s
Collecting pyusb
Downloading pyusb-1.2.1-py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 11.4 MB/s
Collecting colorama
Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting websocket_client
Downloading websocket_client-1.1.0-py2.py3-none-any.whl (68 kB)
|████████████████████████████████| 68 kB 9.3 MB/s
Building wheels for collected packages: ardupy-mpfshell, demjson
Building wheel for ardupy-mpfshell (setup.py) ... done
Created wheel for ardupy-mpfshell: filename=ardupy_mpfshell-1.1.2-py3-none-any.whl size=24966 sha256=ca392e188eb011aa58babd046e7e4eb80012c5d9aa96760c6d27cee3b487d632
Stored in directory: /Users/jimmyhoughjr/Library/Caches/pip/wheels/66/4b/72/3878706297d42d4ca0bb138f47b2505af1c9d731e865ec9e69
Building wheel for demjson (setup.py) ... done
Created wheel for demjson: filename=demjson-2.2.4-py3-none-any.whl size=73545 sha256=ee5909b9efe404fdacdceb6f1d8c73367cc467eac137288523ad7b2a7b33d57f
Stored in directory: /Users/jimmyhoughjr/Library/Caches/pip/wheels/dc/4f/8b/80a2c0a560a6a98d7b44ba8a6149002ff72041f564c642021a
Successfully built ardupy-mpfshell demjson
Installing collected packages: websocket-client, pyserial, pyusb, demjson, colorama, ardupy-mpfshell, ardupy-aip
Successfully installed ardupy-aip-0.9.1 ardupy-mpfshell-1.1.2 colorama-0.4.4 demjson-2.2.4 pyserial-3.5 pyusb-1.2.1 websocket-client-1.1.0
WARNING: You are using pip version 21.1.1; however, version 21.1.3 is available.
You should consider upgrading via the '/usr/local/opt/[email protected]/bin/python3.9 -m pip install --upgrade pip' command.
jimmyhoughjr@Jimmys-iMac ~ % aip help
Traceback (most recent call last):
File "/usr/local/bin/aip", line 5, in
from aip.main import main
File "/usr/local/lib/python3.9/site-packages/aip/main.py", line 39, in
from aip.parser import parser
File "/usr/local/lib/python3.9/site-packages/aip/parser.py", line 465, in
parser = Parser()
File "/usr/local/lib/python3.9/site-packages/aip/parser.py", line 73, in init
os.mkdir(self.user_config_dir)
FileNotFoundError: [Errno 2] No such file or directory: '/Users/jimmyhoughjr/.config/aip'

aip help errors

I am following the YouTube video .
"Wio Terminal Classroom with Ardupy #5 | AIP Usage & Ardupy Libraries"
I have installed "python-3.10.1-amd64.exe" and did "pip3 install ardupy-aip" with no errors.
When I type "pip3 list" I get

Package Version


ardupy-aip 0.9.1
ardupy-mpfshell 1.1.2
colorama 0.4.4
demjson 1.6
pip 21.3.1
pyserial 3.5
pyusb 1.2.1
setuptools 58.1.0
websocket-client 1.2.3

I think this means I have install ardupy-aip successfully but when I type in "aip help" I get the following error messages

Traceback (most recent call last):
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\Scripts\aip.exe_main
.py", line 7, in
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\site-packages\aip\main.py", line 52, in main
from aip.command import commands_dict, parse_command
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\site-packages\aip\command.py", line 46, in
from aip.build import buildCommand
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\site-packages\aip\build.py", line 40, in
from aip.utils import SerialUtils
File "C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\site-packages\aip\utils.py", line 39, in
from pip._internal.utils.misc import (
ImportError: cannot import name 'dist_is_editable' from 'pip._internal.utils.misc' (C:\Users\teddy\AppData\Local\Programs\Python\Python310\lib\site-packages\pip_internal\utils\misc.py)

Can someone tell me what I am doing wrong ? I don't want to continue if I don't get the same result as he does. I am sure the rest of the video will not work for me if I don't get what he does.

Adding in arduino libraries fails on credentials

Hi,

I execute the following:

aip install Seeed-Studio/seeed-ardupy-ultrasonic-sensor

And get the following:

Downloading library......
User for github.com: andrewtholt
Password: 
Save credentials to keyring [y/N]: 
Your response ('') was not one of the expected responses: y, n
Save credentials to keyring [y/N]: N
WARNING: 401 Error, Credentials not correct for https://github.com/Seeed-Studio/seeed-ardupy-ultrasonic-sensor/archive/master.zip
ERROR: HTTP error 401 while getting https://github.com/Seeed-Studio/seeed-ardupy-ultrasonic-sensor/archive/master.zip
ERROR: 401 Client Error: Unauthorized for url: https://github.com/Seeed-Studio/seeed-ardupy-ultrasonic-sensor/archive/master.zip

I can download the zip file from github with a browser, and with wget.

aip list error

When I execute aip list I get:

ERROR: Exception:
Traceback (most recent call last):
  File "../lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in _main
    status = self.run(options, args)
  File "../lib/python3.9/site-packages/aip/list.py", line 66, in run
    for library in os.listdir(moduledir):
FileNotFoundError: [Errno 2] No such file or directory: '/home/<user>/.config/aip/modules

I'm using:
Python 3.9.5
aip (0.9.1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.