README.md 3.94 KB
Newer Older
1 2 3 4 5 6 7 8
# 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

9 10 11 12 13 14 15 16 17 18
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`.
19 20 21 22 23

---

# Uso

24
## Biblioteca
25

26 27 28 29 30 31 32 33
[TODO] Escrever códigos de [exemplo.](/Exemplos)

```python
from sacada.SACADA import SACADA

s = SACADA("/dev/ttyACM0")

# Imprime a tensão do canal A0 na tela
34
print(s.readVoltage("A0"))
35
```
36

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
## 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
79

80 81 82 83 84 85 86 87 88
[tropos@cta-001 ~]$ sacada monitor A0 --interval 100
3.29287505149841
3.28575015068054
3.28275012969971
...
```

```
# Salva no arquivo ~/logs/out.log as amostras lidas
89

90 91 92 93
[tropos@cta-001 ~]$ sacada monitor A0 --save ~/logs/out.log
3.29275012016296
3.29187512397766
3.29212522506714
94
...
95 96
```

97
**Os valores lidos e monitorados sempre serão dados em Volts**
98

99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
---

# 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](/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](/LICENSE) file.

---

Copyright 2019 Pedro Henrique Capp Kopper.