jno
Command line interface wrapper for Arduino IDE, inspired by ino.
Installation
Using PyPi, the package can be obtained using:
pip install jno
Or you can download the repo and use:
pip install .
Initialize
To begin using jno, change working directory to your project. Then, perform:
jno init
This will initialize the basic directory structure and create a jno.jno file, which stores the local jno settings.
Note that on Windows, calling jno like this may not work. Instead, call the jno module directly:
python -m jno
By default, jno does not know where your Arduino IDE is located - this is represented by exec_dir in the config. There is a local and a global version of jno.jno files. The local jno.jno file overwrites the global version IF the parameters are not set to NULL or DEFAULT. To set up your exec_dir, find your Arduino folder - say /home/pi/Documents/arduino-1.8.10. Perform:
jno setglobal --exec_dir=/home/pi/Documents/arduino-1.8.10
OR
jno setlocal --exec_dir=/home/pi/Documents/arduino-1.8.10
depending on what you plan on doing - setglobal means a local .jno with exec_dir set to NULL will use the global exec_dir instead.
Once exec_dir is set, jno is ready to go. You should change the global and local settings to your liking - the options are documented below. Global settings are stored in the local user's home folder in a .jnoglobal.jno file.
Usage
The commands supported are:
jno build [parameters]: compile the code, verifying that there are no errors
jno upload [parameters]: compile + upload the code
jno serial [parameters]: start a serial monitor
jno init: initialize current working directory with libraries/, sketch/, and jno.jno if they are not present
jno clean: removes all build files (located in .build of directory)
jno boards [optional parameters]: list the board models supported by your Arduino IDE
jno ports [optional parameters]: list the ports currently available
jno setlocal [setting]: change setting in local jno.jno
jno setglobal [setting]: change setting in global jno.jno
jno help [command name]: lists usage and description for all commands, or for a specific command
Settings (for setlocal and setglobal)
These settings are the same as those contained in jno.jno files. These settings WILL be saved locally or globally. Note that lower case inputs are equally as valid. Possible parameters are as follows:
--exec_dir=/some/dir: directory that contains the arduino executable file. NULL is the default value.
--board=boardname: board that code should be compiled for. Possible 'boardname' choices include uno and mega. For boardname options, use the boards command.
--port=/some/port: port of arduino to upload code or start serial communication. On Linux, dmesg is useful in determining this.
--baudrate=9600: baudrate used for serial communication. Must be an integer.
--sketch_dir=/some/dir: directory of the local jno 'home'. Only mess with this if this jno.jno is meant to point to a deeper directory.
Parameters (for other commands)
Parameters are used only for the current invocation of the command and override local settings - they WILL NOT be saved. Possible settings are:
-p, --port=/some/port: see --port above. Affects the upload, serial, and ports commands.
-b, --board=boardname: see --board above. Affects the build, upload, and boards commands.
-b, --baudrate=9600: see --baudrate above. Only affects serial command.
-e, --endline=some_string: adds string on to end of any sent serial message. Only affects serial command.
-q, --quit=some_string: sets string that quits serial when entered ('EXIT' by default). Only affects serial command.
-n, --noreplace: turns off replacement of \n or \r in user-sent data with newline or carriage return. Only affects serial command.
Note: invoking any command with "help" following the command name will print the help string for the command instead, as if jno help [command name] was invoked.
jno Directory Structure
A valid jno directory contains a libraries directory, a sketch directory with a sketch.ino inside, and a jno.jno file. The libraries directory should contain any libraries not included in your Arduino IDE. The structure looks like this:
my_ard_proj
.
|-- jno.jno [configuration file]
|-- libraries [directory containing dependencies]
|-- sketch [directory containing main program .ino file]
| `-- sketch.ino
|
`-- .build [directory for build files]
References
This tool is a wrapper for the Arduino IDE commandline interface, documented here: https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc
Metadata
Release files for jno 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jno-0.5.0.tar.gz | 14.8 kB | Without provenance | Details for jno-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jno-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for jno-0.5.0-py3-none-any.whl |
Total release size: 35.4 kB
Release files / jno-0.5.0.tar.gz
| Download URL | jno-0.5.0.tar.gz |
|---|---|
| Size | 14.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ac564a78f4a5ebe09931efa166f91016678104093eb93be8d4a9f0b86cb73c8
|
|
BLAKE2b-256 checksum How to use checksums |
c58ca1dd06be14893d525147d0880da98f2459cd261ca2c6850c33a361fb3e2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9
|
Release files / jno-0.5.0-py3-none-any.whl
| Download URL | jno-0.5.0-py3-none-any.whl |
|---|---|
| Size | 20.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95847786ec741ed2ffe655859e3cea3b721563b2721cb22672bfabc298979893
|
|
BLAKE2b-256 checksum How to use checksums |
b874bc86c5ec07e8db7e35daa9939b3ec22eda9c33ebee43227c8a0dab7e17f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9
|
Security for jno 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.