Compare commits
7 commits
master
...
placa-y-ar
Author | SHA1 | Date | |
---|---|---|---|
|
5c68e94310 | ||
|
a58cb67017 | ||
|
dca7f9e7dd | ||
|
de4d4f06a2 | ||
|
3717b24234 | ||
|
a70d4734b7 | ||
|
e4bf856b5f |
5 changed files with 30957 additions and 61 deletions
|
@ -58,11 +58,10 @@ void loop() {
|
|||
Serial.write(" ");
|
||||
Serial.write("C");
|
||||
Serial.write(" ");
|
||||
Serial.write("99");
|
||||
|
||||
|
||||
Serial.write("99\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
delay(1000);
|
||||
}
|
||||
|
|
|
@ -20,9 +20,6 @@ void setup() {
|
|||
|
||||
void loop() {
|
||||
|
||||
Serial.write("\n");
|
||||
delay(1000);
|
||||
|
||||
if ( Serial.available() > 0) {
|
||||
inQuery = Serial.read();
|
||||
|
||||
|
@ -42,9 +39,9 @@ void loop() {
|
|||
Serial.write(" ");
|
||||
Serial.write("TSS");
|
||||
Serial.write(" ");
|
||||
Serial.write("99");
|
||||
|
||||
Serial.write("99\n");
|
||||
}
|
||||
}
|
||||
|
||||
delay(1000);
|
||||
}
|
||||
|
|
82
README.md
82
README.md
|
@ -363,61 +363,59 @@ 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.
|
||||
|
|
30905
placa/nodemecu.fz
Normal file
30905
placa/nodemecu.fz
Normal file
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ ser = serial.Serial(
|
|||
parity=serial.PARITY_NONE,
|
||||
stopbits=serial.STOPBITS_ONE,
|
||||
bytesize=serial.EIGHTBITS,
|
||||
timeout=1
|
||||
timeout=2
|
||||
)
|
||||
|
||||
ser.flush()
|
||||
|
@ -21,14 +21,11 @@ ser.write(serial.to_bytes(com))
|
|||
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
|
||||
|
||||
line = ser.readline().decode('utf-8', errors='replace').rstrip()
|
||||
print(line)
|
||||
ser.flush()
|
||||
break
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
quit()
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue