Ir ao conteúdo
  • Cadastre-se

ViniciusKruz

Membro Pleno
  • Posts

    724
  • Cadastrado em

  • Última visita

Tudo que ViniciusKruz postou

  1. @alexandro umbert Eu não ompreendi muito bem essa parte do seu código que faz a recepção, esse RxBuff, mas de uma qualquer maneira, ela deve estar armazenanado a recepção e o que você deve fazer é converter ela para float e só depois disso tratar realmente como tal. Em C existe uma função chamada atof se não me engano, da uma verificada se ela vai reolver esta conversão.
  2. Agora estou entendendo melhor sei código, na verdade você não postou ele completo e seu buffer de recepção dos dados do gps é o RxBuf, citado acima. Então, aí fica bem mais fácil, o que acontece é que esse buffer já é uma cadeia de caracteres, é como se fosse uma matriz só que unidimensional enquanto que a matriz mesmo, seria bidimensional, inclusive esse laço for que você usou, esta percorrendo todo esse buffer. Para percorrer uma variável bidimensional, precisa de dois laços for, um dentro do outro, por exemplo, para percorrer a matriz char buffer [2][20] você faz assim: int x=0; int y=0; for (y=0;y <2;y++){//lê as linhas for (x=0;x <20;x++){//le as colunas } } Desta forma você pode ler ou gravar em qualquer posição da matriz.
  3. @alexandro umbert Veja se entendi. Você recebe toda a cadeia de caracteres do gps, composta por 10 caracteres (somente a latitude) mais um separador um por um através da variável lat? Se for isso, antes de armazenar, vai ter que se preocupar é com o recebimento desses 11 caracteres. Por exemplo, supondo que o gps envie a latitude 40.7127837, você terá que receber um número de cada vez e armazenar em um buffer, nisso estou supondo que seu gps envie esses dados serialmente. Da forma como seu código está , não faz o menor sentido porque sua variável LAT é do tipo char e isso significa que ela só pode receber um valor de 8 bits (0 a254) ou ainda um caractere qualquer. Analise o datasheet do seu gps e se possível me passe o protocolo de comunicação dele,quem sabe assim eu possa te ajudar melhor.
  4. @alexandre.mbm Eu estou longe do meu sistema essa semana mas assim que puder dou mais detalhes. Quanto aos turoriais, passei uma lista com todos, tanto os meus quanto os dos colegas. @lucianolcoa O sistema do @Intrudera6 pode te ajudar. Da uma olhada.
  5. @reuzito Esse tópico é meio gagá hahaha hoje em dia já tem soluções como esta: https://www.robocore.net/loja/produtos/arduino-shield-usb-host.html Não conheço nem tenho experiência com este shield, embora ele seja para arduíno, deve dar pra adaptar as bibliotecas para os PICs. Se quiser usar um arduíno, melhor ainda, é só fazer as conexões, gravar o sketch e pronto.
  6. @alexandro umbert Que matriz seria esta? seria por acaso uma variável bidimensional tipo "char lat[10][20]"? Pode dar um exemplo de que matriz seria esta?
  7. @rodrigocirilo Pelo que pude experimentar do ESP como cliente, eu não achei muito satisfatório, no meu caso eu fiz o teste assim: o ESP se conectava ao meu site(www.meusite.com.br/pagina.php) e enviava certos dados ou lia certas variáveis, até aí tudo bem caso o servidor esteja online e respondendo rápido, o problema é o tempo gasto, se acontecer do servidor não estar respondendo no momento(offline) por padrão o ESP fica travado nesta espera por cerca de 4 segundos ou seja, se tiver alguma função esperando pode ficar prejudicada. Eu consegui configurar essa espera em 1 segundo, se o servidor não responder, encerra a comunicação. Se esse tempo for um problema para você, talvez a solução seja diferente: colocar o ESP como server e conectado a uma rede wifi qualquer, sempre executando as tarefas corriqueiras dele e sempre escutando uma porta qualquer, daí seu supervisório simplesmente envia o pacote ao ESP que responderá de imediato. Isto te resolveria além do problema do delay da espera como ainda facilitaria para você alterar seu supervisório, ao invés deste ficar sempre aguardando um ESP para dar um comando, ele já envia de imediato este tal comando que será interpretado rapidamente também seria mais viável porque é muito mais fácil implementar no seu supervisório uma rotina onde ele envia dados para um servidor qualquer(ESP) que criar uma rotina para fazer dele um servidor. Isto que estou te propondo tem muito pouca diferença do que imagino que seu supervisório faça hoje de modo serial, imagina a cena, seu supervisório precisa saber um valor de uma variável em um dispositivo serial, o que ele faz? envia a este dispositivo o pedido deste valor e recebe a resposta, ou então, seu supervisório precisa ligar um led em um dispositivo serial: ele simplesmente manda o comando e pronto, o dispositivo responde com o led. Então! com o ESP como servidor é o mesmo princípio, o que muda é só que ao invés de seu supervisório dizer "serial.escreva(dado)" vai dizer "servidor.escreva(dado)". adicionado 6 minutos depois @Intrudera6 Parabéns pelo empenho/dedicação. Já fizemos alguns tutoriais aqui como é de seu conhecimento, faça um explicando o uso desse sistema que você criou, o que acha? Esses dias até entrei em contato com o moderados deste fórum para que ele encontrasse uma forma de aproveitar mais esses tutoriais porque nem os meus eu não estou mais conseguindo encontrar, estão todos se perdendo e ele me disse que era pra fazer uma lista que ele iria colocar eles em uma pasta nomeada de tópicos importantes. Publica o seu em forma de tutorial para que possa ficar tudo guardado. Ou se não quiser criar um tutorial, pelo menos divulga ele aqui no fórum(Programação de microcontroladores), já resolveria.
  8. Microcontroladores já são completos e não tem como mexer no hardware.
  9. @tiagopdutra reaolve uma coisa de cada vez. Primeiro faça seu lcd funcionar com o exemplo disponivel na ide do arduino porque esse codigo do exemplo e confiavel. Se não souber como me avisa que te ajudo.
  10. @rodrigocirilo Esse seu supervisório já tem implementado essa parte do server? Ele fica escutando em uma porta como se fosse um webserver? Geralmente com os ESPs costuma-se fazer o contrário, o ESP é quem é o servidor e recebe os comandos de outros sistemas dando a resposta, mas claro, ele(ESP) também pode ser o cliente que se conecta no servidor e checa alguma coisa.
  11. @HenriSp Eu ia mesmo te sugerir este teste, parabéns pela iniciativa. Sem dúvidas, seu display está com algum problema(supondo que sua ligação esteja correta rsrs).
  12. @HenriSp O Datasheet do seu LCD é esse: https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf e a pinagem dele é esta: Pelo que pude verificar aqui, o seu display é compatível com a placa i2c. Como há compatibilidade, o problema pode estar na placa i2c, no firmware ou no display já que o firmware que você está usando é "confiável", sobrou para o display ou a placa i2c. Embora a placa i2c esteja se comunicando(constatado pelo scanner), isso não significa que ela esteja 100% boa, pode acontecer de que ela esteja recebendo os dados mas não consiga passá-los para o display.
  13. Meu App está ficando pronto, vejam as telas: Tela principal Ligando e desligando um controle: Ainda faltam muitas coisas, mas já está funcionando, nesta tela acima, é só clicar no nome do controle que abre as opções e o botão de ligar/desligar. Pode ter quantos controles forem ao clicar no botão, o sistema pega o IP dele no banco de dados e manda o comando. A parte estética ainda precisa melhorar, vou criar um layout melhor para os botões e trabalhar as cores.
  14. Com este esquema que te passei, sim. Você pode tanto desligar pelo wifi(App), pelo botão na face frontal e a terceira opção que é esse apagador no esquema acima. A propósito, estou considerando esta "tomada" como se fosse o apagador(comutador) da lâmpada ok. Considerando o esquema acima, a lâmpada vai desligar somente se o SonOff estiver desligado(seja pelo wifi, seja pelo botão frontal) e também o apagador estiver desligado, se um dos dois(apagador ou SonOff) estiver ligado a lâmpada permanecerá ligada. Se você quiser ligar por um e desligar por outro não vai dar certo porque pra isto precisaria fazer um treeway(não sei se é assim que se escreve), onde o SonOff e o apagador precisam ter 3 contatos cada, conforme esquema abaixo: Com esse treeway(Acima) qualquer um pode ligar ou desligar a lâmpada. Uma alternativa ao primeiro circuito seria se os comutadores(apagador e SonOff) ficassem em série, como no circuito abaixo, só que aí seria o contrário da primeira opção: qualquer um desliga a lâmpada, mas para ligá-la, os dois precisam estar ligados. Veja o esquema:
  15. Rapaz, se você ligar isso aí invertido vai dar uma baita pipoqueira rsrsrsrs. Se não me engano, o esquema é assim: Dá uma lida no manual dele e confira se estou certo antes de ligar kkkkk. Geralmente esses SonOff são assim mesmo, a energia entra por um lado e um dos fios(Neutro) passa direto para o outro lado enquanto que o outro fio(Fase) passa por um relé. Se tiver um multímetro será bom verificar certinho qual desses contatos passa direto e qual é cortado pelo relé. Descoberto isso, basta colocar o apagador em paralelo com o fio que passa pelo relé. Boa sorte.
  16. @HenriSp Se for comprar, toma o cuidado de analisar o datasheet pra não ter erro viu. Se possível posta fotos da frente e do verso do seu display, quem sabe possamos identificar a pinagem.
  17. No Arduíno tem escrito nos pinos SCL e SDA, pode procurar que encontra mas provavelmente você já ligou no lugar certo porque caso contrário, o scanner não encontraria a plaquinha. Como a plaquinha foi encontrada, você terá que verificar depois dela se está tudo conectado corretamente. Pra saber você vai precisar do datasheet(manual) do display, geralmente eles vem com um adesivo atras que dá pra pesquisar por este número, tendo o datasheet em mãos confere a pinagem.
  18. @HenriSp i2c costuma ser meio chatinho pra configurar, primeiro verifica na sua plaquinha onde vai o LCD se os pinos SDA e SCL vão para os pinos SDA e SCL do Arduíno bem como o negativo e positivo da plaquinha indo para os respectivos pinos no Arduíno. Outra coisa, pelo que andei consultando, esse seu Arduíno, tem um jampeamento para 3 e 5v, verifica o manual dele para que esteja correto, acredito que esta plaquinha sua seja de 5v. Depois de ter certeza de que o hardware está todo correto, entra nesse site: http://playground.arduino.cc/Main/I2cScanner e instala esse sketch no seu Arduíno e manda compilar, ele vai te mostrar se tem algum dispositivo i2c online. Caso encontre, vai te mostrar o endereço real dele, daí, se mesmo tendo o endereço correto, não aparecer nada no display, verifica a pinagem do display se está correta. Se não encontrar nada, ou sua plaquinha/Arduíno estão com defeito ou então o hardware está errado. O i2c scanner vai retornar o resultado da busca em um terminal, logo, mande abrir ele(Ferramentas>>Monitor Serial) Boa sorte.
  19. @Papibakigrafo Funcionou!!! estava faltando os plugins, aliás, não estava faltando, só estava era faltando a fonte do plugin(source"npm").
  20. @Papibakigrafo Eu vou criar um projeto novo do zero só pra testar isso melhor, ou é permissão ou está faltando alguma coisa. Com esse código que me passou continuou na mesma, só funciona daquele jeito que eu disse, como se fosse GET e mesmo assim só funciona no brouser, no App não dá nem sinal no ESP.
  21. @Papibakigrafo Cara meus cabelos tão ficando tudo branco mas ta bom, tem gente que tá é caindo né, ainda ta bom kkkk Pela lógica era para os dados serem apresentados assim: $.post("http://192.168.0.39/act,{valor1:1,valor2:10},function(result){ console.log(sucesso); }); porém só funciona se eu fizer assim: $.post("http://192.168.0.39/act?valor1=1&valor2=10,' ',function(result){ console.log(sucesso); }); Vai entender!!!! Nem com seu código não adiantou, só funciona com tudo na mesma linha como se fosse GET, acho que vou deixar assim até encontrar outra solução adicionado 1 minuto depois Obs.: não está aparecendo pra mim a opção de inserir código(<>).
  22. @Papibakigrafo Muito obrigado pelas dicas, valeu mesmo, já ralei com isso a tarde inteira e nada!!
  23. @Papibakigrafo Como é que você está conseguindo enviar os dados para o ESP pelo PhoneGap? Estou usando esta rotina aqui: $.post("http://192.168.0.39/act","{usuario:'admin', senha:'admin', canal:'1', valor:'1'}",{'headers':{'Content-Type':'application/json' }}) .success(function(d, status, headers, config, statusText) { console.log(" success"); }).error(function(d, status, headers, config) { console.log(" error"); }); offtopic:(não consegui colocar o código dentro da tag correta, o icone<> não apareceu ao editar) Os dados estão indo de forma incorreta pelo navegador e pelo Smartphone não vai nada, já tentei de inúmeras outras formas mas tudo dá na mesma, geralmente não vai nem pelo navegador. Já adicionei no config.xml: <access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="mailto:*" /> <allow-intent href="geo:*" /> E mesmo assim nada.
  24. @JONATHA19820 OPA, obrigado precisando estamos aí.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!