Integrar Nobreak com ESP - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T14:20:00Zhttps://labdegaragem.com/forum/topics/integrar-nobreak-com-esp?commentId=6223006%3AComment%3A881400&feed=yes&xn_auth=no"O nobreak está conectado na…tag:labdegaragem.com,2024-01-24:6223006:Comment:8968782024-01-24T14:33:54.151ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>"O nobreak está conectado na USB do PC que roda o Home Assistant (acho que com um Raspberry também deve funcionar).Tenho o addon do Nodered instalado no Home Assistant."</p>
<p></p>
<p>Minha indicação - use o Wireshark para monitorar toda a comunicação USB entre o PC e o Nobreak. </p>
<p>Qualquer dúvida me avise! Sou especialista na ferramenta. </p>
<p></p>
<p>WireShark :…</p>
<p></p>
<p>"O nobreak está conectado na USB do PC que roda o Home Assistant (acho que com um Raspberry também deve funcionar).Tenho o addon do Nodered instalado no Home Assistant."</p>
<p></p>
<p>Minha indicação - use o Wireshark para monitorar toda a comunicação USB entre o PC e o Nobreak. </p>
<p>Qualquer dúvida me avise! Sou especialista na ferramenta. </p>
<p></p>
<p>WireShark :</p>
<p><a rel="nofollow noopener" href="https://www.wireshark.org/" target="_blank">https://www.wireshark.org/</a></p>
<p></p>
<p>Como monitorar USB com o WireShark:</p>
<p><a rel="nofollow noopener" href="https://www.youtube.com/results?search_query=wireshark+usb" target="_blank">https://www.youtube.com/results?search_query=wireshark+usb</a></p>
<p></p>
<p></p> mais uma coisa...se quiserem…tag:labdegaragem.com,2024-01-24:6223006:Comment:8965512024-01-24T11:43:36.165Zgustavo moraishttps://labdegaragem.com/profile/gustavomorais
<p>mais uma coisa...<br></br>se quiserem fazer testes rápidos direto no terminal do linux, consegui do seguinte modo:<br></br>abram 2 terminais.<br></br><br></br>No primeiro, mandem esse comando para ajustar a porta:<br></br>stty -F /dev/ttyACM0 2400 cs8 -cstopb -parenb raw -echo</p>
<p></p>
<p>Depois, esse para escutar o que vem da porta e mandar num arquivo:<br></br>cat /dev/ttyACM0 > data.dump</p>
<p></p>
<p><br></br>No segundo terminal, esse comando manda o pedido de status para o nobreak:<br></br>echo -en…</p>
<p>mais uma coisa...<br/>se quiserem fazer testes rápidos direto no terminal do linux, consegui do seguinte modo:<br/>abram 2 terminais.<br/><br/>No primeiro, mandem esse comando para ajustar a porta:<br/>stty -F /dev/ttyACM0 2400 cs8 -cstopb -parenb raw -echo</p>
<p></p>
<p>Depois, esse para escutar o que vem da porta e mandar num arquivo:<br/>cat /dev/ttyACM0 > data.dump</p>
<p></p>
<p><br/>No segundo terminal, esse comando manda o pedido de status para o nobreak:<br/>echo -en '\xAA\x04\x00\x80\x1E\x9E' > /dev/ttyACM0</p>
<p></p>
<p>Depois, esse comando mostra o que foi recebido:<br/>xxd data.dump</p>
<p></p> se alguém conseguir mais info…tag:labdegaragem.com,2024-01-24:6223006:Comment:8968772024-01-24T11:37:27.779Zgustavo moraishttps://labdegaragem.com/profile/gustavomorais
<p>se alguém conseguir mais informações sobre o que são esses bytes de retorno, por favor, ajudem.</p>
<p>os que observei ai foram inteiramente obtidos com empirismo. testando e anotando resultados.</p>
<p>se alguém conseguir mais informações sobre o que são esses bytes de retorno, por favor, ajudem.</p>
<p>os que observei ai foram inteiramente obtidos com empirismo. testando e anotando resultados.</p> Pessoal,
Reavivando o tópico…tag:labdegaragem.com,2024-01-24:6223006:Comment:8968742024-01-24T11:36:02.696Zgustavo moraishttps://labdegaragem.com/profile/gustavomorais
<p>Pessoal,</p>
<p></p>
<p>Reavivando o tópico.</p>
<p>Comprei um Ragtech Easy Pro de 1200va.</p>
<p>Também me negaram mais detalhes do protocolo no suporte.</p>
<p></p>
<p>Mas pelos logs que capturei na comunicação do app, consegui chegar em algo que não é perfeito mas atende minhas necessidade, que é de integrar monitorar o nobreak com o Home Assistant que tenho rodando aqui em casa.</p>
<p></p>
<p>Eles se comunicam com 2400bps, 8, N, 1</p>
<p></p>
<p>Enviando o hexa "AA 04 00 80 1E 9E", o…</p>
<p>Pessoal,</p>
<p></p>
<p>Reavivando o tópico.</p>
<p>Comprei um Ragtech Easy Pro de 1200va.</p>
<p>Também me negaram mais detalhes do protocolo no suporte.</p>
<p></p>
<p>Mas pelos logs que capturei na comunicação do app, consegui chegar em algo que não é perfeito mas atende minhas necessidade, que é de integrar monitorar o nobreak com o Home Assistant que tenho rodando aqui em casa.</p>
<p></p>
<p>Eles se comunicam com 2400bps, 8, N, 1</p>
<p></p>
<p>Enviando o hexa "AA 04 00 80 1E 9E", o nobreak responde com algo assim:<br/><span>"aa 21 00 00 58 ff ff ff <strong>ff</strong> 00 e1 c6 73 04 03 <strong>37</strong> fb 00 00 03 82 c2 00 a2 30 00 <strong>73</strong> 06 0a 00 c8"</span></p>
<p></p>
<p>o byte 9 (em negrito ff), acho que é a bateria.</p>
<p>ff é 100%. </p>
<p></p>
<p>o quinto byte do final para o começo (73), acho que é a voltagem de entrada.</p>
<p>convertendo de HEX para INT, dá 115. adicionando +5 fica bem próximo da realidade.<br/>quando desconecto para a tomada, ele cai para 06. que estou entendendo que é sem entrada da rede.<br/>uso isso para detectar que está sem rede. </p>
<p>exemplo, se for menor que 10, assumo que está usando bateria.</p>
<p></p>
<p>por ultimo, esse em negrito (37) é a temperatura.</p>
<p>convertendo de HEX para INT, fica 55 graus. que bate bem com o que comparei.</p>
<p></p>
<p></p>
<p></p>
<p>O nobreak está conectado na USB do PC que roda o Home Assistant (acho que com um Raspberry também deve funcionar).</p>
<p>Tenho o addon do Nodered instalado no Home Assistant.</p>
<p></p>
<p>Criei um fluxo no Nodered que fica a cada 10 segundos requisitando informações, recebendo o retorno e interpretando os bytes que ACHO que informam: Voltagem Externa, Nível da Bateria e Temperatura.</p>
<p></p>
<p>Fluxo completo está em anexo.</p>
<p>Entrando nos nós de funções dá pra copiar e observar as fórmulas que apliquei.</p>
<p></p>
<p>Só importar num nodered (os conectores finais, que mandam dados para sensores do Home Assistant poderiam ser substituídos por mqtt, por exemplo).</p>
<p></p>
<p>Fiz alguns testes comparando os valores com os que aparecem no aplicativo do windows e me parecem bem próximos.</p>
<p></p>
<p></p>
<p></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/12365655261?profile=original" target="_blank" rel="noopener">flows.json</a></p> Ivan, para quando tiver tempo…tag:labdegaragem.com,2023-06-14:6223006:Comment:8933172023-06-14T20:59:01.032ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Ivan, para quando tiver tempo. </p>
<p>Para fazer análise da comunicação USB, recomendo o uso do WireShark.</p>
<p>Qualquer dúvida, pode me perguntar. </p>
<p></p>
<p><a href="https://www.wireshark.org/" target="_blank">https://www.wireshark.org/</a></p>
<p>Ivan, para quando tiver tempo. </p>
<p>Para fazer análise da comunicação USB, recomendo o uso do WireShark.</p>
<p>Qualquer dúvida, pode me perguntar. </p>
<p></p>
<p><a href="https://www.wireshark.org/" target="_blank">https://www.wireshark.org/</a></p> Gustavo e José Gustavo,
já u…tag:labdegaragem.com,2023-06-14:6223006:Comment:8932202023-06-14T19:01:02.108ZIvan Francolin Martinezhttps://labdegaragem.com/profile/IvanFrancolinMartinez
<p>Gustavo e José Gustavo,</p>
<p></p>
<p>já utilizei um supervise para testar no Windows e falou com o nobreak (mas não tinha naquela maquina ambiente para dump e salvar os dados). </p>
<p></p>
<p>Mas não tenho mais a disponibilidade da maquina com windows, e no Linux nunca consegui fazer funcionar o supervise, e colocar uma VM para isso somente também é um trabalho que não quero ter. Só queria pegar os valores , mas a ragtech tem esse protocolo proprietário e não cria um driver simples para o…</p>
<p>Gustavo e José Gustavo,</p>
<p></p>
<p>já utilizei um supervise para testar no Windows e falou com o nobreak (mas não tinha naquela maquina ambiente para dump e salvar os dados). </p>
<p></p>
<p>Mas não tenho mais a disponibilidade da maquina com windows, e no Linux nunca consegui fazer funcionar o supervise, e colocar uma VM para isso somente também é um trabalho que não quero ter. Só queria pegar os valores , mas a ragtech tem esse protocolo proprietário e não cria um driver simples para o nut que resolveria o problema de muita gente..</p>
<p></p>
<p>Como tenho outras coisas mais importantes vou olhando quando tenho algum tempo, quando encontrei esse tópico e o Gustavo falou que tinha decodificado uma parte achei que dava para partir desse ponto. Mas como ele indicou parece que eles tem diversas versões de protocolo.</p>
<p></p>
<p>Pelo que percebi conectando na USB ele fica sempre enviando algum tipo de status, se identificar o que vem nesses bytes eu mesmo converto para o que precisar. Mas o tempo para ficar fazendo a engenharia reversa não tenho nesse momento.</p>
<p></p>
<p></p>
<p></p> Ivan boa tarde,
Seu Nobreak…tag:labdegaragem.com,2023-06-14:6223006:Comment:8933162023-06-14T17:00:00.477ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Ivan boa tarde, </p>
<p>Seu Nobreak é EasyWay - USB. </p>
<p>Qual programa e sistema operacional vocês usa para controlar o equipamento? </p>
<p></p>
<p><a href="https://ragtech.com.br/downloads/" target="_blank">https://ragtech.com.br/downloads/</a></p>
<p>Ivan boa tarde, </p>
<p>Seu Nobreak é EasyWay - USB. </p>
<p>Qual programa e sistema operacional vocês usa para controlar o equipamento? </p>
<p></p>
<p><a href="https://ragtech.com.br/downloads/" target="_blank">https://ragtech.com.br/downloads/</a></p> Ele funciona no software Supe…tag:labdegaragem.com,2023-06-14:6223006:Comment:8933152023-06-14T15:49:03.650ZGustavo Damiani Borbahttps://labdegaragem.com/profile/GustavoDamianiBorba
<p>Ele funciona no software Supervise?</p>
<p>Tenta com um software de monitoramento de porta, como o Advanced Serial Port Monitor. Ele vai mostrar a velocidade correta da porta e te mostra a conversa do Nobreak com o Supervise. A partir daí consegues os dados pra analizar.</p>
<p>Ele funciona no software Supervise?</p>
<p>Tenta com um software de monitoramento de porta, como o Advanced Serial Port Monitor. Ele vai mostrar a velocidade correta da porta e te mostra a conversa do Nobreak com o Supervise. A partir daí consegues os dados pra analizar.</p> Obrigado Gustavo,
Aqui o meu…tag:labdegaragem.com,2023-06-14:6223006:Comment:8934102023-06-14T15:19:28.537ZIvan Francolin Martinezhttps://labdegaragem.com/profile/IvanFrancolinMartinez
<p>Obrigado Gustavo,</p>
<p></p>
<p>Aqui o meu fica o tempo todo mandando dados (então não consegui confirmar qual a velocidade certa), tentei verificar se tinha um chksum simples dos bytes (como você indicou em blocos de 6 bytes) mas não teve nenhum bate.</p>
<p></p>
<p>O meu é um EasyWay 1800 Tri com porta USB.</p>
<p></p>
<p>Vou tentar depois com mais calma identificar os blocos e ver se bate com esse formato que você indicou.</p>
<p></p>
<p></p>
<p>Obrigado Gustavo,</p>
<p></p>
<p>Aqui o meu fica o tempo todo mandando dados (então não consegui confirmar qual a velocidade certa), tentei verificar se tinha um chksum simples dos bytes (como você indicou em blocos de 6 bytes) mas não teve nenhum bate.</p>
<p></p>
<p>O meu é um EasyWay 1800 Tri com porta USB.</p>
<p></p>
<p>Vou tentar depois com mais calma identificar os blocos e ver se bate com esse formato que você indicou.</p>
<p></p>
<p></p> Olá Ivan.
Não conclui o estu…tag:labdegaragem.com,2023-06-14:6223006:Comment:8931272023-06-14T11:15:24.701ZGustavo Damiani Borbahttps://labdegaragem.com/profile/GustavoDamianiBorba
<p>Olá Ivan.</p>
<p></p>
<p>Não conclui o estudo totalmente. Notei pelas capturas do Felipe que muda conforme o modelo.</p>
<p>O que consegui é que numa porta serial a 2400 bps 8n1 você envia uma mensagem de 6 bytes e o nobreak executa uma ação e responde ou retorna alguns valores.</p>
<p></p>
<p>Por exemplo ((demonstrado aqui em hexa):</p>
<p> - envie: FF Fe 00 85 01 83 e o nobreak retorna algo como C2 (alguma informação relativo a faimilia)</p>
<p>No caso do meu, família 2.</p>
<p></p>
<p>A…</p>
<p>Olá Ivan.</p>
<p></p>
<p>Não conclui o estudo totalmente. Notei pelas capturas do Felipe que muda conforme o modelo.</p>
<p>O que consegui é que numa porta serial a 2400 bps 8n1 você envia uma mensagem de 6 bytes e o nobreak executa uma ação e responde ou retorna alguns valores.</p>
<p></p>
<p>Por exemplo ((demonstrado aqui em hexa):</p>
<p> - envie: FF Fe 00 85 01 83 e o nobreak retorna algo como C2 (alguma informação relativo a faimilia)</p>
<p>No caso do meu, família 2.</p>
<p></p>
<p>A partir disso o formato das mensagens precisa ser adequada a família:</p>
<p> </p>
<p>- Primeiro byte => Modelo do NB</p>
<p> - Segundo byte => tipo de mensagem (01: escreve, 02: op AND, 03: op OR, 04: leitura)</p>
<p>- Terceiro e quarto bytes => endereço de memória do NB</p>
<p>- Quinto byte => Valor</p>
<p>- Sexto byte Checksum.</p>
<p></p>
<p>Com isso se monta a mensagem.</p>
<p></p>
<p>Preciso melhorar minhas anotações para criar um artigo e me fazer entender corretamente..</p>
<p>:)</p>
<p></p>