Desafio
Ignore o roteador noolite e controle a iluminação noolite de maneira rápida, eficiente e sem usar um servidor doméstico. Descentralização global e uso total de soluções em nuvem em dispositivos domésticos e itens da Internet. O que? ....Olá pessoal!Novamente, eu com meus sapatos bast e a história de como superar o caro roteador noolite, começo a controlar a iluminação e não incomodar as placas de solda, os controladores e, em geral - quero ativar / instalar o aplicativo e ele funciona sem dança adicional. Sim ... todo mundo escreve sobre isso, mas poucas pessoas fazem isso, porque muitas vezes todas as decisões são baseadas em instruções complexas. E eu vou te mostrar, agora :) - bem à frente amigos!
Todos que compraram unidades de iluminação noolite enfrentaram os seguintes problemas. Sejamos francos:
1. Fiquei preso, ok! e depois o que? como gerenciar blocos modernos, e eles também apareceram com criptografia e feedback ( artigo )
2. sim ... eles querem um gateway Ethernet ... para xxx green ... gerenciar - OK! E a aplicação? sim ...?! bom atacante
3. Comecei a gerenciar - mas é meio caro ... é iluminação, quero algo bacana e também quero scripts - mas onde posso obtê-los? (no final, o artigo é um mega bônus nos cenários!) você também precisa de um servidor doméstico :( - tudo isso no final leva a custos e já ... não muito orçamento.Esses itens (ou similares) também inibem os usuários na expansão da automação residencial.
A tarefa é clara: precisamos simplificar a vida e torná-la conveniente - agora vamos tentar resolvê-la recorrendo a métodos radicais. Nós removemos o servidor doméstico, o gateway Ethernet noolite.
(risadas da equipe noolita)Existem unidades de controle de iluminação e ... o usuário.
(deve haver uma foto de um usuário no campo :) com um bloco noolite)Para começar a gerenciar esses bloqueios - precisamos pensar nas tecnologias usadas em primeiro lugar e depois entender que tipo de hardware nos ajudará a fazer isso.
Recentemente, um protocolo de transferência de dados tem sido muito popular: MQTT - sim, é um protocolo de transferência de dados interessante e muito conveniente. Nós, com uma equipe de entusiastas de tarados, desenvolvemos um aplicativo para este protocolo que ajuda os usuários do Android (iOS constrói e Windows phone no processo de entrega aos mercados). O link para o aplicativo no final do artigo, não o considere um PR;) - oh bem - este é o PR: D - mas precisamos de um bom aplicativo que nos ajude a tornar o mundo um lugar mais legal. MQTT é legal - SIM!
Adotamos o protocolo MQTT - ótimo. Existe uma aplicação para isso - excelente. Agora atenção: a questão do preenchimento :) - que hardware suporta o MQTT? - SIM, todos disseram com uma só voz: claro, 8266 ESP.
Cozinhe o borsch mais e mexa os ingredientes adicionados, visite o site da noolite e veja o que eles têm em geral com os módulos de comunicação ... oh!
Então eles têm módulos para comunicação com esses blocos. Precisamos apenas de exóticos. Porque Sim, porque não temos servidor doméstico, nada além de blocos e o conceito de "descentralização". Oh ... Estou ansioso para discutir e gritar - oh, carma na minha cabeça - vamos seguir em frente!
Nós olhamos, no site - e vemos - 2 módulos: MTRF64 USB e MTRF64 - então, um USB, o segundo apenas UART. Bem, eles encontraram uma solução :) - já que o USB para computadores e a fonte de alimentação tem menos de 5V - e aqui o próprio Uart e até mesmo o 3.3V adaptado - bonito.
O que nós temos?1. bloco noolite SLF-1-300 (bloco com feedback e criptografia)

(foto noolite SLF-1-300)
2. Módulo UTR MTRF64 (que custa menos que USB, devido à falta de um chip para trabalhar com USB! Simplificado para o estado "base";))

(imagem MTRF64 UART)
3. módulo ESP8266

(foto ESP8266)
3. aplicativo para trabalhar com o MQTT (MQTT Buddy)

(foto)
Agora você precisa simplificar sua vida e fornecer um código para a alma - exatamente. Quem quer sentar e escrever muito código, especialmente com o MTRF64, você precisa entrar nas docas, e lá ... há muitas coisas úteis (
link ) - mas precisamos fazer isso de forma rápida e eficiente. Código aberto da nossa equipe - bem-vindo: D>
GitHubTambém precisamos preparar o ESP8266 - quem "queimou" - sabe, não é difícil - 2 minutos e tudo funcionará para você.
Prepare-se e decole!
- Você pode fazer o download do firmware no site (
https://nodemcu-build.com ), pode fazer o download diretamente do repositório do
github , que é fornecido com todo o código
- Grave o comando ESP8266:
sudo python esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 {your_nodemcu_firmware.bin}
- Verifique se o esp8266 está conectado como / dev / ttyUSB0
- Verificamos que {your_nodemcu_firmware.bin} você substituiu pelo nome do seu firmware
- Se não houver esptool (faça o download
aqui ;))
- Pegue na placa de desenvolvimento do ESP8266 - e queime-a, “grave” ao máximo!
Agora, atenção, pegamos e baixamos o
código finalizado: working.
Leia antes de preencher o código!- substitua os dados do seu roteador wifi com login \ pass e substitua seu broker MQTT por login e passe. O código usa o broker MQTT gratuito de cloudmqtt.com. Nossa equipe criou seu broker gratuito, que você pode usar: mqtt.ximxim.com (mqtt \ mqtt)
Link para o repositório do GitHub:
mqtt_buddy-mtrf64-noolite-esp8266 - o código foi desenvolvido por
Dmitry Karaba (eu agradeço
muito a ele!).
O código é especialmente recarregado do repositório fechado da nossa empresa XIM, INC - para o público aberto para download gratuito.
Certifique-se de substituir os dados pelo seu Preencha o código no ESP8266 através da ferramenta
ESPLORER .
Agora conectamos a placa de desenvolvimento esp8266 + MTRF64.esp8266 D7 rx - MTRF64 TX
esp8266 D8 tx - MTRF64 TX
esp8266 GND - MTRF64 GND
esp8266 3V3 - MTRF64 3V3

(foto de conexão)
Depois de fazer o upload do código para esp8266 - após a reinicialização, você não poderá alcançá-lo e alterar algo (código) - deverá reescrever o firmware novamente. Porque porque o esp8266 muda automaticamente para a conexão UART9600 e começa a se comunicar com o módulo MTRF64. O código usa uma conexão uart alternativa através dos pinos d7 \ d8, os principais pinos RX, TX estão livres para trabalhar. Você pode facilmente criar suas condições para “interromper” a transição para o uart9600 para se comunicar com o MTRF64 - pois esse não era nosso objetivo e tarefa principal.
O que fizemos e como funciona
O módulo mtrf64 é conectado via UART com o esp8266, que por sua vez fica online no seu roteador e se conecta ao broker gratuito do MQTT. Por outro lado, como usuário, você também se conecta a este broker de nuvem por meio de um aplicativo móvel e começa a enviar comandos para os canais MQTT, que por sua vez são "desmontados" rapidamente e, dependendo do comando, são transmitidos pelo módulo UART MTRF64! Sim foi assim que ficamos legais e com orçamento! Sim É muito legal quando você percebe que criou uma cadeia lógica clara de tecnologias que funcionam para você. Obrigado;)
Gerência
Indo além: estamos conectados e o que vem a seguir? Como gerenciar;) - tudo é simples! Mesclamos nosso aplicativo MQTT Buddy com o Google Play (link no final do artigo) e adicionamos o corretor MQTT lá - por exemplo, mqttcloud.com. Agora adicione um novo botão para vincular o bloco noolite ao MTRF64 - faça deles amigos!
Comandos para comunicação com MTRF64Dmitry Karaba, desenvolvedor do código esp8266 para MTRF64, criou o seguinte formato de comandos do MQTT para se comunicar com o módulo.
Nos tópicos do MQTT, é possível ver que é possível trabalhar diretamente com canais, bem como com os endereços de dispositivos específicos, portanto, você pode ligar todos os dispositivos a um canal, mas trabalhar com cada um em um endereço específico. O endereço pode ser encontrado no tópico mqtt_buddy / sys ao vincular, o módulo responde com o endereço do dispositivo conectado.
Inclua um botão no MQTT Buddy (ou use seu cliente, console, python do MQTT no final com paho!). No MQTT Buddy - clique em "+" - digite o nome do botão e do tópico.
Incluindo um botão de controle no MQTT Buddymqtt_buddy / noolight / 0 e dados: “ligar, desligar ou alternar”e marque uma caixa: publicar - para que, quando você clicar no botão - possamos enviar o comando para o tópico mqtt.

Adicionamos um botão, agora fazemos a ligação padrão do bloco: clique no bloco, clique no botão BIND em nosso aplicativo e veja como o bloco está anexado ao módulo, o indicador piscante no bloco SLF se apaga.
Se você deseja obter mais informações - pode ler as mensagens no tópico: mqtt_buddy / sys - todas as informações do bloco chegam lá - toda vez, todos os 17 bytes de dados onde você pode descobrir os endereços dos blocos e o que está acontecendo no porão técnico ...
Após a ligação, criamos um novo botão para gerenciar esses blocos com um tópico.
Gerenciamento de bloco via tópico MQTT no MQTT Buddymqtt_buddy / noolight / 0 e dados: “ligar, desligar ou alternar”
nas configurações do aplicativo, marque as caixas: switch \ retained \ publish - agora, quando você clicar no botão, um comando será enviado ao tópico "mqtt_buddy / noolight / 0" - o esp8266 receberá esses dados e analisará o tópico e enviará o comando necessário ao módulo notrite MTRF64 e um milagre acontecerá ... um milagre da tecnologia que você conseguiu traduzir em realidade sem ações complexas.
A atualização e o gerenciamento do primeiro bloco levarão cerca de 5 minutos se você já estiver familiarizado com o esp8266 e o tiver atualizado pelo menos uma vez.
==================== arrancar ===============================
Links para hardware e software por artigo
-
Bloco MTRF 64- ESP8266 dev board - Aliexpress \ radio markets \ lojas online
-
Aplicativo MQTT Buddy para Android (iOS \ windows phone sob adaptação)
- mqtt.ximxim.com - nosso site - criamos uma sala SHOW no esp8266 para um fã maior;) - muito obrigado pela classificação positiva, tentamos tornar o IOT mais real e equipe de automação inteligente Equipe de automação inteligente> XIM, Inc.
Esqueceu o bastão de selfie em casaBem ... esqueci o bastão de selfie em casa, tive que refazer rapidamente o aspirador de escritório;)

=============== Scripts do MQTT Buddy Bon ==========================
Como nosso sistema é descentralizado e não há servidor doméstico - quem executará os scripts? Sim - funciona, sim - o autor usa essa funcionalidade. Como funciona e onde? Em nosso aplicativo MQTT Buddy. Tudo é bem simples: você adiciona um intermediário MQTT e entra nele, então, na parte superior, há um botão na forma de um relógio - esse é o script.
Incluindo Script no MQTT BuddyQuando você clica em - adicionamos o script e, se o seu corretor está disponível na Internet -, no momento certo (atenção, fusos horários são levados em consideração, você não precisa se preocupar e pensar nisso - basta informar ao sistema a que horas você deseja e o que enviar para o tópico de que precisa) - 100% de teste através do protocolo QOS = 1 MQTT). Simplificamos o serviço para os usuários o máximo possível, para que eles não pensem na parte técnica e não se incomodem, mas simplesmente digam "o que eu quero" :) - e que funcione.

Este é um serviço real que realmente funciona. Se alguém quiser obter um código MQTT Buddy gratuito para a funcionalidade PRO - você pode assinar o formulário no site mqtt.ximxim.com :)) - também há um show room do acesso à Web. Isso é tudo! Tire!
Tenha um bom dia e bom humor, obrigado pelo seu feedback, feedback positivo e críticas sólidas! Seja mais gentil.Atenciosamente, Automator, Alex B.