Compare commits

..

3 commits

6 changed files with 64 additions and 30960 deletions

View file

@ -58,10 +58,11 @@ void loop() {
Serial.write(" ");
Serial.write("C");
Serial.write(" ");
Serial.write("99\n");
Serial.write("99");
}
}
delay(1000);
}

View file

@ -8,7 +8,7 @@ int inQuery;
int getData() {
int sensorValue = analogRead(A2);
int sensorValue = analogRead(A7);
return (map(sensorValue, 0, 700, 100, 0));
}
@ -20,6 +20,9 @@ void setup() {
void loop() {
Serial.write("\n");
delay(1000);
if ( Serial.available() > 0) {
inQuery = Serial.read();
@ -39,9 +42,9 @@ void loop() {
Serial.write(" ");
Serial.write("TSS");
Serial.write(" ");
Serial.write("99\n");
Serial.write("99");
}
}
delay(1000);
}

View file

@ -363,59 +363,61 @@ Ver el estado del servicio de envío de datos.
$ sudo systemctl status nodemecu.service
```
## Placas (PCB)
La última versión de la placa se encuentra en `placas/nodemecu.fz`. Es
un archivo en el formato de [Fritzing](https://fritzing.org/) que
permite editar esquemático, protoboard y PCB en un mismo archivo.
El archivo se guarda en `.fz` y no en `.fzz` para que podamos tener
registro de cambios con `git`. El segundo es un formato comprimido.
Para producir las placas físicas, primero se exporta el archivo Fritzing
a PDF utilizando el botón "Exportar para PCB".
Los archivos imprimibles son los que tienen el sufijo `mirror`, con
estos se pueden imprimir PCBs de forma casera.
### Funcionamiento
Todos los Arduinos se encuentran conectados con la Raspberry en modo
"maestro-esclavos" a través de una conexión serie de tipo UART.
Esto permite que la Raspberry pregunte y solo un Arduino responda por
vez, usando la misma conexión serie.
Cada Arduino tiene un ID de dispositivo que es único en toda la placa:
| Sensor | ID |
| ------------- | -- |
| Temperatura | 1 |
| Turbidez | 2 |
| pH | 3 |
| Conductividad | 4 |
La conexión serie se realizó adaptando el modelo ["UART/TTL-Serial
network with single master and multiple
slaves"](http://cool-emerald.blogspot.com/2009/10/multidrop-network-for-rs232.html),
donde los RX (recepción) y TX (transmisión) de los Arduinos y Raspberry
están conectados entre sí. Para activar la transmisión (respuesta) de
los Arduinos, los diodos Schottky son activados por una resistencia
pull-up de 10K.
Para poder activar la recepción de la Raspberry a través de un GPIO de
3.3V, se introdujo un divisor de tensión que baja el voltaje de 5 a 3.3V
en la misma línea.
Con esta conexión los Arduinos y la Raspberry pueden hablar entre sí.
### Historial
El historial de desarrollo de Nodemecu se encuentra en el directorio
`esquematicos/`.
### Gerber
Para generar los archivos Gerber, con el archivo Fritzing abierto, ir al
menú Archivo > Exportar > Para producción > Gerber Extendido (RS-274X)
y elegir un directorio/carpeta donde guardar los archivos.

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ ser = serial.Serial(
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=2
timeout=1
)
ser.flush()
@ -22,10 +22,13 @@ ser.flush()
while True:
if ser.in_waiting > 0:
line = ser.readline().decode('utf-8', errors='replace').rstrip()
#time.sleep(0.1)
print(line)
ser.flush()
break
time.sleep(1)
quit()

View file

@ -26,8 +26,8 @@ ficheros="bin envs arduinos.py generador_json funciones registrador desinstalar"
echo "1. Instalando dependencias
"
#apt update && apt install -y python3-pip jsonlint jq uuid
#pip3 install pyserial
apt update && apt install -y python3-pip jsonlint jq uuid
pip3 install pyserial
echo ""