Casa inteligente. O conceito de uma casa verdadeiramente moderna, onde, com a ajuda da tecnologia, uma pessoa recebe todo o conforto. Mais e mais pessoas estão comprando soluções prontas para uso. infelizmente (especialmente por causa do curso atual), muitos desses kits aumentaram bastante o preço e muitas vezes se tornaram muito caros para “tocar o futuro”. E resta nos alegrar que mentes ainda inquisitivas estejam desenvolvendo cada vez mais maneiras DIY de automatizar suas casas.Eu gostaria de falar sobre o projeto que espiei no site da BQ. Sempre me pareceu que o “Smart Home” é uma tecnologia complexa e uma pessoa sem um profundo conhecimento de engenharia e eletrônica nem deveria se meter ali. Mas, como se viu, tudo é um pouco mais simples.Este projeto descreve como usar a placa compatível com arduino, um cabo de extensão simples com um botão, protocoder e um smartphone para ligar / desligar a luz usando comandos de voz. O princípio básico é que você se conecte remotamente à placa usando bluetooth e, iniciando o aplicativo em seu smartphone, poderá dar um comando específico. Mas as primeiras coisas primeiro.Instalação .A primeira coisa que você precisa fazer é, obviamente, integrar a placa ao seu cabo de extensão.
Para isso, em primeiro lugar, esse mesmo cabo de extensão deve ser desmontado de maneira absolutamente bárbara. Os espanhóis atenciosos alertam em letras maiúsculas que seria bom desconectar o cabo de extensão da fonte de alimentação antes dessas manipulações.Depois de desmontar o cabo de extensão, você poderá adiar o botão com segurança - não será mais necessário. Você está interessado nos fios que entraram nele - existem apenas dois deles. Na maioria das vezes eles são azuis e marrons - nós os repelimos. O fio azul deve ser imediatamente soldado e instalado por contração - esses são os "tubos" de plástico que você pode encontrar facilmente em qualquer loja de rádio amador. Isso deve ser feito, caso contrário, a seção exposta dos fios poderá em breve levar a consequências que não são previstas pelo projeto.O segundo fio não precisa ser soldado. Lá, você terá duas extremidades do fio marrom. Eles precisam ser instalados em um relé compatível com arduino. A extremidade proveniente do cabo de alimentação é instalada no terminal C - central. Com ela você não vai perder, ela está no meio. E o fio que sai das “tomadas” é para o terminal NO (normalmente aberto). Se o seu relé não estiver rotulado, gire-o com os terminais para baixo. A esquerda é a que você precisa.Se tudo for feito corretamente, agora o cabo de extensão do lado de dentro ficará mais ou menos assim:
depois disso, o cabo de extensão poderá ser "fechado" passando primeiro o fio do relé para conectar a placa de circuito através do orifício esquerdo do botão. As manipulações com o interior acabaram.
Agora você precisa instalar a própria placa. No exemplo, o bq ZUM é usado, cuja diferença fundamental é, neste caso, o módulo bluetooth integrado. No entanto, o ZUM pode ser substituído por outra placa, por exemplo, o Freeduino Uno. Mas então você precisará adicionalmente do módulo ausente.Para conectar com segurança os componentes eletrônicos ao cabo de extensão, você também precisará de peças impressas em uma impressora 3D. Além de uma pequena plataforma para a placa, o número de peças também inclui um contêiner para o módulo de energia, onde as baterias estão instaladas. Certamente, com a ajuda de componentes eletrônicos adicionais, você pode alimentar a placa com o cabo de extensão, mas este exemplo, infelizmente, não é considerado.
Depois de montar todos os componentes eletrônicos, nós o instalamos. O resultado final parece muito bom, mas a parte do software permanece.Protocoder.Protooder é um ambiente de programação + estrutura JavaScript para criar rapidamente protótipos que podem ser usados em dispositivos Android. Instalá-lo é muito simples.
O esboço deste projeto foi enviado pelos espanhóis ao público e não há necessidade de programar nada. Na tela do celular, o aplicativo fica assim:
Não se assuste com palavras estrangeiras que não sejam o inglês; no código-fonte, você pode alterar os rótulos para o que quiser. Na aplicação, vemos três botões. E aqui está o que cada um deles significa:Conectar bluetooth - como você pode imaginar, pressionando este botão, você pode, através do Protocoder, ingressar no dispositivo bluetooth desejado. No nosso caso, este dispositivo é uma placa;Desconectar- isto é, consequentemente, uma quebra na comunicação. Uma função muito útil, levando em consideração o fato de que, enquanto a conexão estiver estabelecida, você não poderá fazer alterações no código da placa programável;Hablar - "fale". Ao clicar neste botão, você abrirá o serviço de entrada de voz usual do google. É pressionando este botão que você “digitará” seus comandos;
Aqui está o código para o Protocoder e seu smartphone: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]+"+");
}
});
})
Dê uma olhada nele de perto. Você encontrará nas linhas 19, 20 e 21 palavras como enciende ("Ligar"), apaga ("Resgatar") e parpadea cada segundo ("Piscar a cada segundo"). Se você não deseja treinar seu espanhol, essas palavras devem ser substituídas por outras mais familiares. Não é difícil adivinhar o que cada equipe faz.Agora seu celular pode se juntar ao quadro e dar comandos a ele. Mas ela própria ainda não é capaz de percebê-los - ela também precisa ser programada.Antes de tudo, se você pretende usar a fonte dos espanhóis, verifique se o relé está conectado à placa nos pinos corretos: Você já se certificou
? Então é hora de preencher o código. Isso é feito usando o IDE do Arduino. Aqui está o 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();
}
Um ponto importante. Se você não usar a placa bq ZUM, há uma alta probabilidade de que o módulo bluetooth esteja instalado em uma velocidade diferente. Então você precisa substituir a linha:Serial.begin(19200);
Por exemplo:Serial.begin(9600);
A Internet também possui exemplos suficientes de como alterar independentemente a velocidade de transferência de dados do próprio módulo bluetooth.Então, depois de instalar o programa no smartphone e na placa, nosso projeto está concluído. É hora de pegar baterias novas, conectar o cabo de extensão à rede e a ela, por exemplo, uma lâmpada. Com o que você deve terminar? Demonstração - no vídeo:Obviamente, ativar / desativar o uso de comandos de voz ainda não é uma casa inteligente. Mas o principal é a ideia. E a idéia é que, com a ajuda de projetos de bricolage, qualquer um pode ficar facilmente sozinho, Jack, que construirá uma casa. Casa muito inteligente.PS Link com arquivos de projetoPSS Espero que Elon Musk veja o texto e compre todos nós para a Tesla por 400 tysjach dollarov. Spasibo!