Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Atualização da automação residencial usando Raspberry Pi Matrix Voice e Snips. Neste PWM é usado para controlar LEDs externos e servo motor
Todos os detalhes fornecidos na parte 1
www.instructables.com/id/Controlling-Light…
Etapa 1: Instalação Matrix Core e Matrix HAL no RPi
1. Adicione o repositório Matrix e a chave.
curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.matrix.one/doc/apt-key.gpg $ (lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list
Repositório Matrix para Matrix HAL
curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key add -echo "deb https://apt.matrix.one/doc/apt-key.gpg $ (lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list
sudo apt-get update
sudo apt-get upgrade
2. Instale os pacotes Matrix Core.
sudo apt-get install matrixio-malos
sudo reboot
Instale os pacotes MATRIX HAL.
sudo apt-get install matrixio-creator-init libmatrixio-creator-hal libmatrixio-creator-hal-dev
Reinicie o seu dispositivo.
sudo reboot
3. Para instalar ZeroMQ
echo "deb https://download.opensuse.org/repositories/network…./" | sudo tee /etc/apt/sources.list.d/zeromq.list
wget https://download.opensuse.org/repositories/networ… -O- | sudo apt-key add
4. Configuração de JavaScript Crie uma pasta de projeto de nó no diretório inicial do RPi
cd ~ / mkdir js-matrix-core-app (qualquer nome que você quiser)
cd js-matrix-core-app
npm init
5. Instalação de pacotes npm para ZMQ e buffers de protocolo
Para instalar os pacotes npm ZMQ e MATRIX Protocol Buffers. Certifique-se de estar no diretório que você criou acima (nome que você forneceu). Aqui eu dei js-matrix-core-app. Isso permite que você interaja com o Matrix Core por meio do Node.js.
npm install zeromq --save
npm install matrix-protos --save
Como estou usando JavaScript, para usar PWM para LEDs externos, estou usando a biblioteca Matrix Lite. Para instalá-lo, use o comando mostrado abaixo, certifique-se de estar no mesmo diretório que criamos durante a instalação do Matrix core.
npm install @ matrix-io / matrix-lite --save
Etapa 2: aplicativo Snips (atualização)
1. Crie um novo slot e dê a ele o nome que desejar. Aqui estou usando quatro slots
- ligar, desligar, abrir e fechar
- sala para diferentes cômodos, como quarto, banheiro, etc.
- dispositivo para dispositivos como luz, ventilador, porta, etc.
- brilho para definir o brilho da luz em salas diferentes.
2. Em seguida, forneça o nome do tipo de slot. Aqui estou construindo um tipo de slot personalizado.
slot de sala
Dê qualquer nome que você quiser. Depois disso, adicione os valores de slot "banheiro", "quarto", "cozinha" e "corredor principal" etc.
Para slot de switch Dê qualquer nome que você quiser.
Depois disso, adicione os valores de slot "on", "off", "open" e "close".
Slot de dispositivo
Dê qualquer nome que você quiser. Depois disso, adicione os valores de slot "light", "fan" e "door".
slot de brilho
Dê qualquer nome que você quiser. Depois disso, adicione os valores de slot 75, 50, 25, 0
3. Feche o aplicativo, a fim de informar ao exemplo de treinamento qual slot é usado
- Clique duas vezes em Desligado e Ligado e selecione o nome do slot (interruptor).
- Clique duas vezes no nome da sala e selecione o nome do slot (sala).
- Clique duas vezes na luz, no ventilador e selecione o nome do slot (dispositivo).
- Clique duas vezes nos valores (0, 25, 50) e selecione o nome do slot (brilho).
Em seguida, salve-o e você pode testá-lo na janela fornecida no lado direito da página.
4. Em seguida, implante-o
Etapa 3: Pacote Npm necessário
Para enviar pacote de nó de instalação de e-mail
npm install nodemailer
Pacote Npm para comunicação baseada em eventos bidirecionais
npm install socket.io
Pacote Npm para expresso
npm install express
Se você quiser ouvir as palavras. Você pode baixar este pacote de nó.
npm instalar dizer
Adicione essas linhas no programa (exemplo)
const dizer = exigir ('dizer')
say.speak ('Brightness is set to 75');
Etapa 4: página da web
Fiz uma página para mostrar os logs (sala, dispositivos, estado do dispositivo, valor de intensidade e data) e medidor mostrando o valor de intensidade atual para que eu possa saber qual comando usei ao falar com os recortes. Siga os passos indicados abaixo para fazer uma página web.
Nota - Você pode usar o servidor Node ou o servidor Apache.
Neste projeto estou usando o servidor de nó porque o servidor Apache é lento e não foi capaz de atualizar os dados corretamente.
Nota - Se você usar o código fornecido neste projeto, certifique-se de que todos os dados estejam no diretório cd / var / www / html ou você pode alterar a localização no programa.
Primeiro, para instalar o servidor Apache usando o comando (não obrigatório)
sudo apt-get install apache2
O servidor Apache não é necessário se você tiver servidor de nó ou servidor de nó Faça um nome de arquivo vazio server.js, adicione o programa fornecido na etapa do programa e salve-o.
Para executar o servidor, use o comando
node server.js
Em seguida, vá para o diretório cd / var / www / html e faça duas pastas
1. Faça um nome de pasta js usando o comando
mkdir js
cd js // vá para o diretório
No diretório / var / www / html / js, crie um nome de arquivo angular.min.js e cole os dados do link
No mesmo diretório, crie outro nome de arquivo gauge.min.js e cole os dados do link do link
Arquivos necessários
2. Crie um nome de pasta jsonpage usando o comando
mkdir jsonpage
cd jsonpage
No diretório jsonpage, crie um nome de arquivo info.js. Esvazie
Nota: - O arquivo Json será apagado após 50 comandos de voz
Etapa 5: página de login
Para fazer a página de login, vá ao diretório cd / var / www / html e crie um arquivo vazio com o nome index.html. Adicionar programa fornecido abaixo
Etapa 6: página principal
Para fazer a página principal vá ao diretório cd / var / www / html e crie um arquivo vazio com o nome HA.html (qualquer). Adicionar programa fornecido abaixo
Para fazer o medidor, crie um nome de arquivo vazio index.js no diretório cd / var / www / html. O programa é fornecido abaixo.
Etapa 7: Assistente
Assistant.js para a página da web é fornecido abaixo
Uma vez feito todo o setup. Em seguida, abra o shell e execute
cd js-matrix-core-app
node assistant.js
Abra outro shell e execute
cd / var / www / html
node server.js
Navegador aberto
localhost: 8080 / index.html