Casa inteligente. El concepto de un hogar verdaderamente moderno, donde con la ayuda de la tecnología se proporciona a una persona una comodidad total. Cada vez más personas están comprando soluciones llave en mano. Desafortunadamente (especialmente debido al curso actual), muchos de estos kits han aumentado considerablemente el precio y, a menudo, se han convertido en una forma demasiado costosa de "tocar el futuro". Y queda por alegrarse de que las mentes aún curiosas estén desarrollando cada vez más formas de bricolaje para automatizar sus hogares.Me gustaría contarles sobre el proyecto que vi en el sitio web de BQ. Siempre me pareció que "Smart Home" es una tecnología compleja y una persona sin un profundo conocimiento de la ingeniería y la electrónica ni siquiera debería entrometerse allí. Pero resultó que todo es algo más simple.Este proyecto describe cómo usar la placa compatible con arduino, un cable de extensión simple con un botón, un protocodificador y un teléfono inteligente para encender / apagar la luz mediante comandos de voz. El principio básico es que se conecta de forma remota a la placa mediante Bluetooth y, al iniciar la aplicación en su teléfono inteligente, puede dar un comando específico. Pero lo primero es lo primero.Instalación .Lo primero que debe hacer es, por supuesto, integrar la placa en su cable de extensión.
Para esto, en primer lugar, este mismo cable de extensión debe desmontarse de una manera absolutamente bárbara. Los españoles interesados advierten en mayúsculas que sería bueno desconectar el cable de extensión de la fuente de alimentación antes de estas manipulaciones.Después de desmontar el cable de extensión, puede posponer el botón de forma segura; ya no lo necesitará. Usted está interesado en los cables que entraron, solo hay dos de ellos. Muy a menudo son azules y marrones, los repeleremos. El cable azul debe soldarse inmediatamente e instalarse por contracción: estos son los "tubos" de plástico que puede encontrar fácilmente en cualquier tienda de radioaficionados. Esto debe hacerse, de lo contrario, la sección expuesta de los cables pronto puede tener consecuencias que el proyecto no prevé.El segundo cable no necesita ser soldado. Allí, tendrás dos extremos del cable marrón. Deben instalarse en un relé compatible con arduino. El extremo que proviene del cable de alimentación está instalado en el terminal C - central. Con ella no perderás, ella está en el medio. Y el cable que va desde las "salidas" es al terminal NO (normalmente abierto). Si su relé no está etiquetado, gírelo con los terminales hacia abajo. La izquierda es la que necesita.Si todo se hace correctamente, ahora su cable de extensión desde el interior se verá así:
Después de eso, el cable de extensión se puede "cerrar" pasando primero el cable del relé para conectar la placa de circuito a través del orificio a la izquierda del botón. Las manipulaciones con el interior han terminado.
Ahora necesita instalar la placa en sí. En el ejemplo, se utiliza bq ZUM, cuya diferencia fundamental, en este caso, es el módulo bluetooth integrado. Sin embargo, ZUM se puede reemplazar con otra placa, por ejemplo, Freeduino Uno. Pero, además, necesitará el módulo que falta.Para conectar de forma segura los componentes electrónicos al cable de extensión, también necesitará piezas impresas en una impresora 3D. Además de una pequeña plataforma para la placa, el número de piezas también incluye un contenedor para el módulo de alimentación, donde se instalan las baterías. Seguramente, con la ayuda de dispositivos electrónicos adicionales, puede alimentar la placa desde el cable de extensión, pero este ejemplo, desafortunadamente, no se considera.
Habiendo finalmente ensamblado todos los componentes electrónicos, lo instalamos. El resultado final se ve bastante bien, pero la parte del software permanece.Protocoder.Protooder es un entorno de programación + marco de JavaScript para construir rápidamente prototipos que se pueden usar en dispositivos Android. Instalarlo es muy simple.
El boceto de este proyecto ha sido subido por los españoles al público y no hay necesidad de programar nada. En la pantalla del dispositivo móvil, la aplicación se ve así:
no se alarme con palabras extranjeras que no estén en inglés, en el código fuente puede cambiar las etiquetas a lo que desee. En la aplicación vemos tres botones. Y esto es lo que cada uno de ellos significa:Conectar bluetooth : como no es difícil de adivinar, al presionar este botón puede a través del Protocoder unirse al dispositivo bluetooth deseado. En nuestro caso, este dispositivo es una placa;Desconectar- Esto es, en consecuencia, una interrupción en la comunicación. Una función muy útil, teniendo en cuenta el hecho de que mientras se establece la conexión, no puede realizar cambios en el código de la placa programable;Hablar - "habla". Al hacer clic en este botón, abrirá el servicio de entrada de voz habitual de google. Es presionando este botón que "ingresará" sus comandos;
Aquí está el código para Protocoder y su teléfono inteligente:var bluetoothOn=0;
ui.addButton("Conectar bluetooth", 10, 150, function() {
network.connectBluetoothSerialByUi(function(m, data) {
txt.text(data + "\n");
});
bluetoothOn=1;
})
ui.addButton("Desconectar", 380, 150, function() {
network.disconnectBluetooth();
})
ui.addButton("Hablar", 280, 550, function() {
media.startVoiceRecognition(function(text) {
console.log(text);
if (bluetoothOn==1) {
if(text=="enciende") network.sendBluetoothSerial("=on+");
if(text=="apaga") network.sendBluetoothSerial("=off+");
if(text=="parpadea cada segundo") network.sendBluetoothSerial("=1+");
if(text.substring(0,13)=="parpadea cada" && text.substring(14,21)!="segundo" ) network.sendBluetoothSerial("="+text.split(" ")[2]+"+");
}
});
})
Míralo de cerca. Encontrará en las líneas 19, 20 y 21 palabras como enciende ("Encender"), apaga ("Canjear") y parpadea cada segundo ("Parpadea cada segundo"). Si no quieres entrenar tu español, estas palabras deben reemplazarse por otras más familiares. No es difícil adivinar qué hace cada equipo.Ahora tu móvil puede unirse al tablero y darle comandos. Pero ella misma todavía no es capaz de percibirlos, también necesita ser programada.En primer lugar, si tiene la intención de utilizar la fuente de los españoles, asegúrese de que el relé esté conectado a la placa en los pines correctos: ¿Se ha asegurado
? Entonces es hora de completar el código. Esto se hace usando el IDE de Arduino. Aquí está el código:String inString ="";
int pinRele=7;
void setup() {
Serial.begin(19200);
Serial.flush();
pinMode(pinRele, OUTPUT);
pinMode(13, OUTPUT);
}
void readFromAndroid(){
char inChar;
while(Serial.available()>0){
inChar =(char) Serial.read();
Serial.flush();
if (inChar=='='){
inString="";
}
else if(inChar!='+'){
inString+=inChar;
}
}
}
void writeData(){
if (inString=="on") {
digitalWrite(13, HIGH);
digitalWrite(pinRele, HIGH);}
else if (inString=="off") {
digitalWrite(13, LOW);
digitalWrite(pinRele, LOW);}
else if (inString.toInt()){
digitalWrite(13, HIGH);
digitalWrite(pinRele, HIGH);
delay(inString.toInt() *1000 );
digitalWrite(13, LOW);
digitalWrite(pinRele, LOW);
delay(inString.toInt() *1000 );
}
}
void loop() {
if (Serial.available()>0){
readFromAndroid();
}
writeData();
}
Un punto importante Si no utiliza la placa bq ZUM, existe una alta probabilidad de que el módulo bluetooth se instale a una velocidad diferente. Entonces necesita reemplazar la línea:Serial.begin(19200);
Por ejemplo:Serial.begin(9600);
Internet también tiene suficientes ejemplos de cómo cambiar de forma independiente la velocidad de transferencia de datos del módulo bluetooth.Entonces, después de instalar el programa tanto en el teléfono inteligente como en la placa, nuestro proyecto se completa. Es hora de llevar baterías nuevas, conectar el cable de extensión a la red y, por ejemplo, a una lámpara. ¿Con qué deberías terminar? Demostración - en el video:Por supuesto, activar / desactivar mediante comandos de voz todavía no es un hogar inteligente. Pero lo principal es la idea. Y la idea es que con la ayuda de proyectos de bricolaje, cualquiera puede quedarse fácilmente en su propio Jack, que construirá una casa. Casa muy inteligente.PS Enlace con los archivos del proyectoPSS Espero que Elon Musk vea el texto y nos compre a todos a Tesla por 400 tysjach dollarov. Spasibo!