Compare commits
3 commits
placa-y-ar
...
master
Author | SHA1 | Date | |
---|---|---|---|
5ccb19eca9 | |||
026fee8be3 | |||
|
0968283430 |
6 changed files with 64 additions and 30960 deletions
|
@ -58,10 +58,11 @@ void loop() {
|
||||||
Serial.write(" ");
|
Serial.write(" ");
|
||||||
Serial.write("C");
|
Serial.write("C");
|
||||||
Serial.write(" ");
|
Serial.write(" ");
|
||||||
Serial.write("99\n");
|
Serial.write("99");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
delay(1000);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ int inQuery;
|
||||||
|
|
||||||
|
|
||||||
int getData() {
|
int getData() {
|
||||||
int sensorValue = analogRead(A2);
|
int sensorValue = analogRead(A7);
|
||||||
return (map(sensorValue, 0, 700, 100, 0));
|
return (map(sensorValue, 0, 700, 100, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,9 @@ void setup() {
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
|
Serial.write("\n");
|
||||||
|
delay(1000);
|
||||||
|
|
||||||
if ( Serial.available() > 0) {
|
if ( Serial.available() > 0) {
|
||||||
inQuery = Serial.read();
|
inQuery = Serial.read();
|
||||||
|
|
||||||
|
@ -39,9 +42,9 @@ void loop() {
|
||||||
Serial.write(" ");
|
Serial.write(" ");
|
||||||
Serial.write("TSS");
|
Serial.write("TSS");
|
||||||
Serial.write(" ");
|
Serial.write(" ");
|
||||||
Serial.write("99\n");
|
Serial.write("99");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delay(1000);
|
|
||||||
}
|
}
|
||||||
|
|
82
README.md
82
README.md
|
@ -363,59 +363,61 @@ Ver el estado del servicio de envío de datos.
|
||||||
$ sudo systemctl status nodemecu.service
|
$ 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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
30905
placa/nodemecu.fz
30905
placa/nodemecu.fz
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ ser = serial.Serial(
|
||||||
parity=serial.PARITY_NONE,
|
parity=serial.PARITY_NONE,
|
||||||
stopbits=serial.STOPBITS_ONE,
|
stopbits=serial.STOPBITS_ONE,
|
||||||
bytesize=serial.EIGHTBITS,
|
bytesize=serial.EIGHTBITS,
|
||||||
timeout=2
|
timeout=1
|
||||||
)
|
)
|
||||||
|
|
||||||
ser.flush()
|
ser.flush()
|
||||||
|
@ -21,11 +21,14 @@ ser.write(serial.to_bytes(com))
|
||||||
ser.flush()
|
ser.flush()
|
||||||
while True:
|
while True:
|
||||||
if ser.in_waiting > 0:
|
if ser.in_waiting > 0:
|
||||||
line = ser.readline().decode('utf-8', errors='replace').rstrip()
|
line = ser.readline().decode('utf-8', errors='replace').rstrip()
|
||||||
print(line)
|
#time.sleep(0.1)
|
||||||
ser.flush()
|
print(line)
|
||||||
break
|
ser.flush()
|
||||||
|
break
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
quit()
|
quit()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@ ficheros="bin envs arduinos.py generador_json funciones registrador desinstalar"
|
||||||
|
|
||||||
echo "1. Instalando dependencias
|
echo "1. Instalando dependencias
|
||||||
"
|
"
|
||||||
#apt update && apt install -y python3-pip jsonlint jq uuid
|
apt update && apt install -y python3-pip jsonlint jq uuid
|
||||||
#pip3 install pyserial
|
pip3 install pyserial
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue