167 lines
2.7 KiB
Markdown
167 lines
2.7 KiB
Markdown
## Prueba 1
|
|
|
|
### 1. Protoboard
|
|
|
|
Montar componentes según la imagen.
|
|
|
|
**IMPORTANTE:** El pin `Tx` del Arduino no está conectado al diodo.
|
|
|
|
![protoboard](proto_01.png)
|
|
|
|
El protoboard se confecciono según el circuito impreso.
|
|
|
|
![](placa_impresa.png)
|
|
|
|
|
|
|
|
### 2. Firmware
|
|
|
|
Cargar el fichero `0x00_debug/0x00_debug.ino` en el Arduino 0x01.
|
|
|
|
Fichero `0x00_debug.ino`.
|
|
|
|
```
|
|
int inQuery;
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
}
|
|
|
|
void loop() {
|
|
|
|
if ( Serial.available() > 0) {
|
|
inQuery = Serial.read();
|
|
Serial.print("Decimal: ");
|
|
Serial.println(inQuery);
|
|
Serial.print("Hexadecimal: ");
|
|
Serial.println(inQuery, HEX);
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
|
|
### 4. Raspbian
|
|
|
|
**Paso 1.**
|
|
|
|
Hacer una instalación fresca del sistema operativo (version lite).
|
|
|
|
**Paso 2.**
|
|
|
|
Configurar SO.
|
|
|
|
```
|
|
$ sudo raspi-config
|
|
```
|
|
|
|
Seguir el siguiente patrón de opciones:
|
|
|
|
3 Interface Options > I6 Serial Port > Would you like a login shell to be accessible over serial? \<No\> > Would you like the serial port hardware to be enabled? \<Yes\>. > Seleccionar \<Ok\> > Seleccionar \<Finish\> > Would you like to reboot now? \<Yes\>.
|
|
|
|
**Paso 3.**
|
|
|
|
Instalar 'pyserial'.
|
|
|
|
```
|
|
$ sudo apt update && sudo apt upgrade
|
|
$ sudo apt install python3-pip
|
|
$ sudo pip3 install pyserial
|
|
```
|
|
|
|
**Paso 4.**
|
|
|
|
Clonar repositorio en la raspberry.
|
|
|
|
```
|
|
$ git clone https://gitea.nulo.in/Nodemecu/nodemecu.git
|
|
```
|
|
|
|
Entrar al directorio de trabajo.
|
|
|
|
```
|
|
$ cd nodemecu
|
|
```
|
|
|
|
Cambiar a rama testing.
|
|
|
|
```
|
|
$ git checkout testing
|
|
```
|
|
|
|
Verificar.
|
|
|
|
```
|
|
$ git branch
|
|
master
|
|
placa
|
|
* testing
|
|
```
|
|
|
|
Entrar al directorio `Debug`.
|
|
|
|
```
|
|
$ cd Debug
|
|
```
|
|
|
|
**Paso 5.**
|
|
|
|
En la computadora, desde el Arduino IDE, abrir el monitor serial.
|
|
|
|
**NOTA:** El Arduino debe estar conectado tanto a la raspberry como a la pc por USB según el esquema del protoboard al inicio.
|
|
|
|
En la raspberry ejecutar `arduinos.py` para enviar caracteres por serial (interrumpir el comando con ctrl-c).
|
|
|
|
```
|
|
$ sudo python arduinos.py 1
|
|
|
|
```
|
|
|
|
En el monitor Arduino debería imprimirse lo siguiente.
|
|
|
|
![](monitor_01.png)
|
|
|
|
Probar con otros numeros
|
|
|
|
|
|
|
|
## Prueba 2
|
|
|
|
**Paso 1**
|
|
|
|
Actualizar repositorio en la raspberry, corroborar que se este trabajando en la rama `testing` (ver pasos anteriores).
|
|
|
|
```
|
|
$ git pull
|
|
```
|
|
|
|
|
|
|
|
**Paso 2.**
|
|
|
|
Apagar la Raspberry y retirar los Arduinos del protoboard y cargar a cada uno el fichero `.ino` correspondiente:
|
|
|
|
- Fichero `0x01_debug.ino` -> Arduino `0x01`.
|
|
|
|
- Fichero `0x02_debug.ino` -> Arduino `0x02`.
|
|
|
|
Volver a montar en protoboard.
|
|
|
|
**Paso 3**
|
|
|
|
El montaje debe quedar de la siguiente forma:
|
|
|
|
![](proto_02.png)
|
|
|
|
**Paso 4.**
|
|
|
|
En la Raspberry ejecutar en terminal.
|
|
|
|
```
|
|
$ sudo python arduinos.py 1
|
|
1
|
|
$ sudo python arduinos.py 2
|
|
2
|
|
```
|
|
|
|
Al pasar los argumentos `1` y `2` el comando debe devolver solo el número pasado, no acepta otros números.
|