Python API for the SACADA data acquisition system
Project description
sacada-python
A biblioteca em Python do SACADA permite que sejam desenvolvidas aplicações científicas de maneira amigável e abstraída.
Instalação
A biblioteca, junto com o comando sacada
pode ser instalada globalmente com o comando
sudo pip3 install -U sacada-python
Caso deseje instalar apenas localmente, ou se não tiver acesso ao sudo, instale utilizando
pip3 install --user -U sacada-python
Tome cuidado que, neste caso, o comando sacada
ficará disponível apenas em ~/.local/bin
, que deverá estar no seu PATH
.
Uso
Biblioteca
[TODO] Escrever códigos de exemplo.
from sacada import SACADA
s = SACADA("/dev/ttyACM0")
# Imprime a tensão do canal A0 na tela
print(s.readVoltage("A0"))
Comando
O comando sacada
permite a interface com a placa via terminal. Ele faz uso de uma interface serial, então é importante que você tenha as permissões corretas para acesso. Caso você esteja tendo erros de permissão, tente se colocar no grupo dialout
utilizando o comando sudo usermod -aG dialout [seu usuario]
e relogue no seu computador.
Para testar a comunicação, você pode utilizar o comando sacada show
, que deve retornar a string de identificação da placa que você está utilizando. Para especificar uma porta, você pode utilizar o parâmetro --port [sua porta]
. Por padrão, a porta utilizada é a /dev/ttyACM0
. É importante frisar que a SACADA possui duas portas seriais, e que a utilizada para comunicação é sempre a de número menor.
Exemplos:
[tropos@cta-001 ~]$ sacada show
blazing.design/UFRGS,SACADA Mini,0,rev1
[tropos@cta-001 ~]$ sacada --port /dev/ttyACM123 show
blazing.design/UFRGS,SACADA Mini,0,rev1
O parâmetro --port deve ser sempre o primeiro do comando
Para medir um canal único, você pode utilizar o comando read
:
Exemplo:
[tropos@cta-001 ~]$ sacada read A0
3.29312515258789
Caso você deseje monitorar um canal continuamente, pode utilizar o comando monitor
. Você também pode especificar um arquivo para salvar os dados utilizando o parâmetro --save
. O intervalo de amostragem pode ser especificado (em milisegundos) com o parâmetro --interval
.
Exemplos:
# Monitora o canal A0 com o intervalo padrão de 1000ms
[tropos@cta-001 ~]$ sacada monitor A0
3.29312515258789
3.29187512397766
3.29175019264221
...
# Monitora o canal A0 com intervalo de 100ms
[tropos@cta-001 ~]$ sacada monitor A0 --interval 100
3.29287505149841
3.28575015068054
3.28275012969971
...
# Salva no arquivo ~/logs/out.log as amostras lidas
[tropos@cta-001 ~]$ sacada monitor A0 --save ~/logs/out.log
3.29275012016296
3.29187512397766
3.29212522506714
...
Os valores lidos e monitorados sempre serão dados em Volts
Licença
Este programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU como publicada pela Free Software Foundation; na versão 3 da Licença, ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para mais detalhes.
Uma cópia da licença (em inglês) está disponível no arquivo LICENSE.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of this license is provided in the LICENSE file.
Copyright 2019 Pedro Henrique Capp Kopper.
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
Built Distribution
Hashes for sacada_python-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44093858c73c1f00a9d6ba040104a7649ad1a8e029bb008562dacdf36970122a |
|
MD5 | 93bacd22c572556afc12e5da125a642f |
|
BLAKE2b-256 | 2a7915164d7fda18c633306a7bb1d5c3080c9dc8a0a123fb2b228eafdf0bd0f7 |