Casa inteligente sobre rodas ... Alice

Oi Atualmente, eu pude perceber um dos recursos de uma casa inteligente, ou seja, o controle total da voz por luz através do serviço Yandex de Alice, em particular através da estação Yandex da coluna Smart e Alice no telefone. Mas tudo também funcionará em qualquer dispositivo em que esteja instalado. A instalação da luz é baseada em 4 controladores RGBWW MiLight FUT039 e Wi-Fi MiLight ibox2 (que puxa 4 zonas de controle), controladores MiLight (3 peças) são configurados em paralelo e funcionam como controle de backup na ausência da Internet, mas eles quase não têm relação com o controle de voz, portanto, não os levaremos em consideração.

Qual é a diferença entre esta implementação? O circuito de controle é simples de implementar, não requer nenhuma habilidade de programação e custos sobre o custo de um alto-falante inteligente e um microcomputador Raspberry 3, o software para o microcomputador é totalmente gratuito. E você não precisa conectar os dispositivos que controla aos servidores dos fabricantes. A Internet é necessária para os serviços Alice e Yandex, e você deve cuspi-la na porta 443.

Vou descrever brevemente como cheguei a isso. Inicialmente, a luz era controlada pelos controladores MiLight FUT039 por meio de controles remotos pendurados nos pontos mais convenientes do apartamento, e então comprei o controlador iBox2, após o qual consegui controlar a luz também pelo telefone. Logo, a conselho de um colega, adquiri uma estação Yandex-mini muito inteligente, gostei muito da oportunidade de acionar um alarme por voz, definir lembretes e outras insignificâncias. Depois disso, descobriu-se que a coluna pode gerenciar dispositivos inteligentes, mesmo através de contas nos sites dos fabricantes.

Depois de ler as informações sobre como o controle funciona por meio de pacotes de contas, parecia que você poderia, de alguma forma, dar comandos diretamente a dispositivos inteligentes via Wi-Fi, porque de alguma forma o telefone conseguiu controlar a luz através de Wi-Fi. Na realidade, tudo ficou um pouco diferente, tive que descartar e descartar muitas opções com falha, como transferir a saída de scripts em python ou PCP por meio de um módulo de rádio, mas, como resultado, tudo acabou.

Darei imediatamente artigos com links com base nos quais ele foi implementado e descreverei um pouco o que tirei de lá. O mais interessante é que cada artigo deu sua orientação no gerenciamento de dispositivos, mas o efeito foi a combinação desses recursos.

Então

1. "Alice, acenda a luz"


O primeiro artigo, mas não o principal. A principal coisa que tirei daqui é a informação sobre a existência do Openhab2, a instalação e a conexão do controlador iBox2 a ele. Depois de instalar o hub aberto, consegui controlar a luz também do computador. O mais básico são os 3 primeiros capítulos, então, na minha opinião, um absurdo foi. Peço desculpas ao autor, mas é. Conectar mais recursos externos à esquerda (Internet) para configurar a comunicação e algum tipo de "feitiço mágico" é um fracasso.

2. "Yandex: uma casa inteligente para adultos"


Este artigo é básico e obrigatório. Foi aqui que eu percebi para onde ir e como implementar tudo. O autor fornece um esquema geral de interação entre dispositivos e serviços, além de desmontar claramente o sistema de comandos e dispositivos no YandexUD. E o mais importante é o plug- in yandex2mqtt, escrito pelo autor do Munrexio ( https://sprut.ai/client/plugins/instruction/1821 ), sem o qual nada teria funcionado. Em resumo, o que obtive daqui: o plug-in yandex2mqtt, a idéia de usar um servidor MQTT para transferir estados e comandos, o sistema de trabalho com YandexUnnyDom e Yandex.Dialogs usando certificados para autorização e registro de habilidades. Levou tudo até a cabeça do Node-Red. Além disso, as especificidades associadas ao uso do controlador Wiren Board pelo autor, ou seja, A leitura é principalmente para entendimento geral. No meu caso, o módulo principal é o OpenHub, que suporta gerenciamento de dispositivos, e o plug-in yandex2mqtt e o servidor MQTT são os elementos de conexão com os serviços Yandex

Informações adicionais:

3. Raspberry Pi: configurando / testando o broker e o cliente Mosquitto no Raspberry Pi


O que é MQTT e por que é necessário na IIoT? Descrição do Protocolo MQTT http://wikihandbk.com/wiki/Raspberry_Pi:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0% B0 /% D0% A2% D0% B5% D1% 81% D1% 82% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B5_ % D0% B1% D1% 80% D0% BE% D0% BA% D0% B5% D1% 80% D0% B0_% D0% B8_% D0% BA% D0% BB% D0% B8% D0% B5% D0 % BD% D1% 82% D0% B0_Mosquitto_% D0% BD% D0% B0_Raspberry_Pi # .D0.A2.D0.B5.D1.81.D1.82.D0.B8.D1.80.D0.BE.D0. B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B1.D1.80.D0.BE.D0.BA.D0.B5.D1.80.D0.B0_.D0.B8_. D0.BA.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D0.B0_Mosquitto_.D0.BD.D0.B0_Raspberry_Pi.5B1.5D - parte do aplicativo, instalação e trabalho na linha de comando para exames de saúde
https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt/ - uma compreensão geral do protocolo

4. https://dialogs.yandex.ru/developer/ , https://dialogs.yandex.ru/developer/skills/ plataforma de diálogo para criar e testar habilidades


A instalação e a configuração são descritas em detalhes nos artigos originais, portanto, darei a você o procedimento. Em um futuro próximo, publicarei a imagem do Raspbian com um sistema operacional, é claro que alterarei minhas senhas e excluirei certificados de trabalho, as instruções para criá-las estão nos artigos e, posteriormente, com o passar do tempo, ressuscitarei o sistema em uma nova imagem e escreverei as instruções para os itens com os comandos de instalação e configurações. Devo dizer imediatamente que há muito excesso na imagem, tentei controlar o Milight através do módulo de rádio RF24 e dos scripts python que encontrei no github. Mas nem um único método funcionou, então eu os marquei, mas não limpei o sistema.

Vamos lá Montamos raspban light, atualizamos naturalmente, configuramos e configuramos mosquitos (os artigos descrevem as configurações com acesso por login e senha), encaminhamos as portas do roteador e, no artigo "casa inteligente por adulto", registramos o domínio para receber certificados e obter certificados. Instalamos o plug-in yandex2mqtt, configuramos, atribuímos certificados, logins e senhas nele, editamos dispositivos e tópicos mqtt. Registramos no Yandex.oAuth, obtemos tokens para o nosso domínio lá e registramos no YandexUD, onde prescrevemos acesso e tudo mais. Após a aprovação bem-sucedida do rascunho pelo moderador, você pode ver os dispositivos do plug-in yandex2mqtt no telefone no aplicativo Yandex ou no computador no serviço https://dialogs.yandex.ru/developer/skills/ no rascunho na guia Testes.

Agora, como definimos e configuramos o hub aberto no artigo "Alice, acenda a luz", você também pode encontrar um artigo sobre como instalar o hub aberto em outros recursos. Após adicionar, configurar e verificar os dispositivos MiLIght, os dispositivos mqtt ( https://robot-on.ru/articles/prostaya-rabota-s-mqtt-v-openhab-2 ), canais e endereços de tópicos são configurados no hub aberto. Pelo que entendi, os dispositivos no plug-in yandex2mqtt recebem comandos dos serviços Yandex e os convertem em true / false (0/1, respectivamente) ou no nível atual em porcentagem com uma etapa personalizada. O plug-in envia esses dados para tópicos, ou seja, é o editor, e o openhub, como inscrito nos tópicos, recebe valores dos tópicos correspondentes e os envia para alternar elementos nos dispositivos registrados nele, como resultado dos quais os dispositivos são controlados.

Como qualquer negócio feito pela primeira vez, existem várias nuances.

  1. Eu era capaz de instalar um openhub no meu microcomputador em funcionamento, mesmo que tivesse que chutá-lo. Mas ele não pôde reinstalá-lo em uma nova imagem limpa, e a solução lançada da última vez não ajudou. Erro (HTTP ERRO 404 Problema ao acessar / iniciar / índice. Motivo: não encontrado). Tenha isso em mente. Mas, como opção, o openhub também pode ser instalado em um computador para teste.
  2. O certificado de domínio para letsencrypt.org é emitido por três meses. Não me preocupei em obter outro certificado mais longo
  3. Um rascunho da habilidade em https://dialogs.yandex.ru/developer/ foi aprovado com moderação, mas ainda não foi possível publicá-lo. Erro (erros de validação: - URL do terminal: erro ao implementar o protocolo de casa inteligente: user_unlink: não encontrado). Até eu descobrir qual é o problema. Isso não impede o funcionamento do sistema, mas não me lembro se há restrições quanto à duração da habilidade não publicada.
  4. Encontrei um erro: as fontes yandex2mqtt no arquivo app.js na linha "app.post ('/ provider // v1.0 / user / unlink', routes.user.unlink);" é extremamente oblíqua. Corrigido no meu microcomputador - a publicação foi bem-sucedida.
  5. Também consertei a seção de troca de canal do dispositivo “TV” no config.js, o original não funcionava

E, finalmente, as perspectivas para esse monte de hub aberto, plug-in e mosquito. O OpenHub é o núcleo do sistema e pode controlar um grande número de dispositivos (e isso não são cem peças de ferro), e não apenas a luz. Agora estou filmando a Gnusmas TV para controle de voz. Como esse gerenciamento já funciona, você provavelmente pode copiar tudo o que existe na mesma Alice, você mesmo pode imaginar. A propósito, existem algumas observações de hoje. Eu descobri que a luz da casa pode ser controlada a partir de qualquer lugar onde exista Internet para Alice, por exemplo, de um telefone do outro lado da cidade e até verificada através de uma câmera doméstica. E como a lista de comandos para controlar o dispositivo já está registrada na habilidade, além dos comandos de voz serem reconhecidos e convertidos em texto, você não pode reclamar no telefone "Alice, apague a luz no quarto", mas simplesmente escreva "Apague a luz no quarto" e funcionará

Bem, o vídeo em si:

Source: https://habr.com/ru/post/pt483922/


All Articles