Buenas noches, antes que nada agradecer a la comunidad por existir, y a la vez solicitar sus dispensas si es que ya existe
un hilo al respecto o publique donde no debía, tienen toda la libertad de transferir a donde corresponda.
Quisiera comentarles que estoy tratando de armar un pequeño sistema de monitoreo web, pero aún no puedo avanzar a la parte de
desarrollo web hasta que la base del sistema funciones, sería ilógico.
Tengo 2 sensores (un HC-SR04 y un LM35) y un módulo HC-05 (bluetooth) conectados a un Arduino Uno y este Arduino a una
Raspberry Pi 3 con cable USB, me he cansado de buscar en la web tutoriales y los he encontrado y muy buenos pero no logro
entender muchas de las cosas que hacen o como las hacen ya que mi nivel en este mundo es de pricipiante, en fin.
El tema es que necesito enviar los datos obtenidos por los sensores vía HC-05 (bluetooth) y capturarlos con un script python
el cual se encargará de subirlos a MySQL mariaDB, pero eso es harina de otro costal. Mi script python me da error a la hora
de leer el HC-05 (bluetooth), si me lo permiten les adjunto el código Arduino, el código python y el error.
Desde ya les agradezco cualquier ayuda y recuerden que tratan con un neófito en el tema.
Saludos cordiales gente.
Código Arduino:
Código Python:
Error del código python:
un hilo al respecto o publique donde no debía, tienen toda la libertad de transferir a donde corresponda.
Quisiera comentarles que estoy tratando de armar un pequeño sistema de monitoreo web, pero aún no puedo avanzar a la parte de
desarrollo web hasta que la base del sistema funciones, sería ilógico.
Tengo 2 sensores (un HC-SR04 y un LM35) y un módulo HC-05 (bluetooth) conectados a un Arduino Uno y este Arduino a una
Raspberry Pi 3 con cable USB, me he cansado de buscar en la web tutoriales y los he encontrado y muy buenos pero no logro
entender muchas de las cosas que hacen o como las hacen ya que mi nivel en este mundo es de pricipiante, en fin.
El tema es que necesito enviar los datos obtenidos por los sensores vía HC-05 (bluetooth) y capturarlos con un script python
el cual se encargará de subirlos a MySQL mariaDB, pero eso es harina de otro costal. Mi script python me da error a la hora
de leer el HC-05 (bluetooth), si me lo permiten les adjunto el código Arduino, el código python y el error.
Desde ya les agradezco cualquier ayuda y recuerden que tratan con un neófito en el tema.
Saludos cordiales gente.
Código Arduino:
Código:
#include <SoftwareSerial.h> //Librería SoftwareSerial
SoftwareSerial bluetooth(10, 11); //Pines RX|TX Arduino a BT
//Inicio de constantes y variables
const int trig = 2;
const int echo = 3;
int duracion;
int distancia;
int temperatura;
void setup() {
Serial.begin(9600); //Inicio puerto serial
bluetooth.begin(9600); //Inicio módulo bluetooth
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trig, LOW); //Inicio Pin Trigger en Low
}
void loop() {
//Solicito valores a las funciones
int val_0 = mideDistancia();
int val_1 = mideTemperatura();
//Envía valores al monitor serial (SI LOS MUESTRA)
//Serial.print(val_0);
//Serial.print(" | ");
//Serial.println(val_1);
//Envía valores vía HC-05
bluetooth.print(val_0 + "," + val_1);
bluetooth.print("\n");
delay(2000);
}
//Función mide distancia (HCSR-04)
int mideDistancia(){
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duracion = pulseIn(echo, HIGH);
distancia = duracion / 58.2;
return distancia;
}
//Función mide temperatura (LM35)
int mideTemperatura(){
int suma = 0;
int lm35 = analogRead(A0); //Lectura del Pin Analógico A0
for(int i=0; i < 5; i++){
temperatura = ((lm35 * 5000.0 / 1023) / 10);
suma = temperatura + suma;
delay(200);
}
temperatura = suma / 5; //Promedio de 5 Lecturas
return temperatura;
}
Código Python:
Python:
import bluetooth
arduinoHC05 = "00:21:13:02:B5:20" # HC05 address
port = 1
sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((arduinoHC05, port))
data = ""
while 1:
try:
data = sock.recv(1024)
data_end = data.find('\n')
if(data_end != -1):
rec = data[:data_end]
print(data)
data = data[data_end + 1:]
except KeyboardInterrupt:
break
sock.close()
Error del código python:
Código:
>>> %Run pythonLecturaHC05.py
Traceback (most recent call last):
File "/var/www/html/proyectoSensores/pythonLecturaHC05.py", line 12, in <module>
data_end = data.find('\n')
TypeError: a bytes-like object is required, not 'str'