Índice:

NÃO MAIS PRIMAVERA DA PRIMAVERA: 5 etapas
NÃO MAIS PRIMAVERA DA PRIMAVERA: 5 etapas

Vídeo: NÃO MAIS PRIMAVERA DA PRIMAVERA: 5 etapas

Vídeo: NÃO MAIS PRIMAVERA DA PRIMAVERA: 5 etapas
Vídeo: Música PRIMAVERA 2024, Novembro
Anonim
NÃO MAIS PRIMAVERA
NÃO MAIS PRIMAVERA
NÃO MAIS PRIMAVERA
NÃO MAIS PRIMAVERA

Título alternativo: IP Time Clock parte 3

Se você gostar, vou entrar no concurso Clock.

Você está cansado de ter que saltar para a frente?

Você está cansado de ter que retroceder?

Bem, eu sou. Eu tenho um despertador antigo que consertou isso (por um tempo) (veja a foto) Ele se ajustava automaticamente para o horário de verão e (eu acho) tem bateria reserva para o caso de você perder energia. Infelizmente, há vários anos, os EUA decidiram mudar os dias para mudar o tempo. Portanto, agora este relógio precisa ser alterado manualmente quatro vezes por ano! Eu uso isso apenas como um backup.

Portanto, este velho geek preguiçoso (LOG) queria o relógio perfeito. Todo mundo é diferente e os tempos mudam (Ha! Ha!) E os ideais mudam. Aqui está meu relógio de quarto ideal.

Sempre visível à noite. CAVEAT: Sem segundos piscando à noite, isso é muito perturbador.

DST automático (horário de verão). Eu odeio ter que mudar o horário do relógio duas vezes por ano.

Exibe o dia da semana. Já que sou ANTIGO e não consigo me lembrar.

Eu gosto de segundos da manhã. O anúncio diz gargarejo por 30 segundos, então eu gosto de um relógio que exibe os segundos.

Sem luz azul. Todos nós sabemos que a luz azul é ruim para você. Nem sempre é verdade, veja isto:

www.instructables.com/id/Blue-Light-Proje…

Ok, isso é muito simples. Muitos relógios são visíveis à noite e muitos não são azuis. Alguns são relógios "atômicos" que se ajustam para o horário de verão. Na verdade, alguns dos meus relógios "atômicos" eu tenho que mexer com as mudanças de horário de verão.

Agora, a situação dos segundos é mais específica. Na verdade, eu projetei meu próprio para fazer isso neste Instructable (embora eu tenha percebido que não expliquei muito bem):

www.instructables.com/id/IP-Time-Clock-Par…

Este relógio durou cerca de quatro anos, relativamente livre de manutenção até alguns meses atrás, quando parou de funcionar.

Etapa 1: correção, primeira etapa

Reparação, primeiro passo
Reparação, primeiro passo
Reparação, primeiro passo
Reparação, primeiro passo
Reparação, primeiro passo
Reparação, primeiro passo

Tela azul da morte, relógio IP (na verdade, é preto).

Jargão técnico incompreensível:

Uma breve descrição do relógio IP. Ele usa um microcontrolador ESP-03, este se conecta à internet com wi-fi. Soldei duas tiras de cabeçalho macho de 2 mm no ESP-03 para que ele se conecte a um soquete no PCB.

Ele usa duas telas de sete segmentos de 3 dígitos como:

Não me lembro se eram cátodo ou ânodo comum.

Um Max7219 para acionar os visores e os LEDs individuais para os dias da semana.

Para obter mais detalhes, consulte o meu relógio IP, parte 2, Instructable.

Bem, a primeira coisa que tentei foi reprogramar o ESP-03 (microcontrolador), então olhei para o meu Instructable e tentei, mas não me deixou programá-lo.

HISTÓRIA IRRELEVANTE: Ok, eu sou um homem VELHO, então minha mente vagueia. Uma das razões pelas quais entrei no Instructables.com foi que ele tinha ótimos Instructables no Arduino. Esse foi um dos principais motivos pelos quais entrei nos Arduinos e aprendi a usá-los. Escritores instrutíveis estão em todos os níveis e habilidades diferentes, mas muitas vezes consigo encontrar alguns que estão em um nível que posso entender. Então, obrigado Instructables por me ajudar ao longo dos anos.

Para retribuir o favor, escrevo Instructables que espero que ajudem outras pessoas.

Uma segunda razão pela qual escrevo Instructables é para me ajudar a lembrar como fiz projetos. Enquanto escrevo os Instructables, tento fornecer todos os detalhes para fazer o que fiz. Aparente para mim, nem sempre faço um bom trabalho.

Ok, coloquei o IP Clock em banho-maria.

Minha teoria é que mais luz azul me deu mais energia (veja acima blueproject Instructable) e foco para revisitar este problema. O que finalmente descobri foi que o método que eu estava usando para programar o ESP-03 não funcionava mais. Eu escrevi isso em outro Instructable:

www.instructables.com/id/2020-ESP8266/

Resolvido o problema 1, agora posso programar ESP-03s com esboços do Arduino.

Etapa 2: consertando o próximo problema

Consertando o Próximo Problema
Consertando o Próximo Problema
Consertando o Próximo Problema
Consertando o Próximo Problema
Consertando o Próximo Problema
Consertando o Próximo Problema

Bem, eu programei um ESP-03 com meu antigo esboço do Arduino, coloquei no meu relógio IP, ainda não funcionou. A propósito, eu escrevi o esboço, nada era exibido até que uma conexão bem-sucedida com a Internet e o servidor NTP (fornece tempo preciso na Internet) fosse feita, então eu tinha uma tela em branco.

Usando o monitor Arduino Serial, pude ver que ele não estava se conectando ao servidor NTP.

NOTA: O ESP-03 usa um microcontrolador ESP8266. Uma das coisas boas sobre o ESP8266 é que ele tem wi-fi integrado. Em termos técnicos, ele pode se conectar a um hotspot WiFi ou roteador WiFi que muitas casas, incluindo a minha, possuem.

Tornando-se bastante técnico aqui, os novos roteadores WiFi têm duas larguras de banda, 2,4 GHz e 5,0 GHz. (Veja a imagem do meu roteador) Gosto de pensar neles como a diferença entre o rádio AM e o FM. (Lembra daqueles?)

Uma limitação do ESP8266 é que eles usam apenas a largura de banda de 2,4 GHz.

Mais coisas técnicas, quando você se conecta ao WiFi, você precisa de um identificador chamado SSID. É como uma estação de rádio individual, K Earth 101. E por razões de segurança, você também precisa de uma senha.

Bem, muitos roteadores de banda dupla WiFi (2,4 GHz e 5 GHz) usam o mesmo SSID para ambas as bandas.

De qualquer forma, por algum motivo, não consegui conectar um ESP-03 ao meu roteador. Parece que me lembro de outras pessoas com problemas semelhantes.

Resumindo: configurei outro roteador que tinha SSIDs separados para banda de 2,4 e 5 GHz, por exemplo, "mtslink24" e "mtslink50" e era capaz de falar na Internet. (Veja a imagem)

AVISO: se você tiver um roteador de banda dupla com os mesmos SSIDs em ambas as bandas, ele pode não funcionar com ESP8266s.

Etapa 3: consertando o último problema

Consertando o Último Problema
Consertando o Último Problema

O que eu estava vendo é que ainda não consegui me conectar ao servidor NTP. Encontrei outro Sketch para ver se conseguia usar a Internet e funcionava, então o próximo problema parecia ser a conexão com o servidor NTP.

Bem, em meu esboço original, usei um endereço IP para me conectar a um servidor NTP:

tf.nist.gov/tf-cgi/servers.cgi

Então tentei vários IPs do Boulder e FT. Collins que estão bem mais próximos de onde estou. Nenhum deles funcionou. Fiz algumas brincadeiras e realmente conseguiu fazer um esboço global funcionar, mas só travaria talvez uma em cinco vezes. Fiz mais pesquisas e encontrei algo chamado pool.ntp.org. Aparentemente, o que isso faz é girar por meio de um monte de endereços IP, de forma que nenhum endereço único seja sobrecarregado e todos eles devam estar ativos.

Bem, eu realmente não entendo muito bem essa programação WiFi, mas consegui encontrar um exemplo que eu pudesse adaptar ao meu esboço e fazê-lo funcionar. Yippee!

Etapa 4: Arduino Sketch

Arduino Sketch
Arduino Sketch

Em anexo está meu esboço de trabalho, Special.ino

Aqui estão alguns comentários sobre isso:

É aqui que você coloca seu próprio SSID e senha. (Deve ser 2,4 GHz.)

char ssid = "YourSSID"; // SSID da rede (nome)

char pass = "Sua senha SSID"; // senha da rede

Usando a lista de servidores pool.ntp.org.

IPAddress timeServerIP; // time.nist.gov endereço do servidor NTP

const char * ntpServerName = "pool.ntp.org";

// obtém um servidor aleatório do pool WiFi.hostByName (ntpServerName, timeServerIP);

Duas funções DST:

void findChangeDates (); // Encontre datas de mudança de primavera / outono

bool IsDST (); // Verifique se é DST

findChangeDates (); pega o ano atual e descobre quais dias em março e novembro são as datas de mudança

bool IsDST (); determina se o dia atual é DST ou não

void digitalClockDisplay ()

Bem, infelizmente meu cérebro antigo não consegue mais descobrir isso. O que eu acho que isso faz é desligar a exibição de segundos após as 21h. e os liga novamente por volta das 5h da manhã. Acho muito chato olhar para um relógio quando estou na cama e ver os segundos passando. Mas quando eu acordo pela manhã, gosto de ver os segundos para que possa "cronometrar" meu gargarejo.

Etapa 5: Programação do ESP-03 e conclusões

Programação do ESP-03 e conclusões
Programação do ESP-03 e conclusões

Atualmente, estou usando o Arduino versão 1.8.12.

A maneira mais fácil de instalar o ESP8266 é usando o Board Manager usando este método:

github.com/esp8266/Arduino#installing-with…

Uma vez instalado, ao selecionar Placa, eu seleciono “Módulo ESP8266 genérico”.

AVISO: No meu PC, existem duas versões do “módulo ESP8266 genérico”. O da categoria “placas ESP8266” funciona, o da Sparkfun não.

Bem, eu sou preguiçoso. O que eu realmente fiz foi pegar um ESP-03 e programá-lo no meu adaptador ESP modificado de:

www.instructables.com/id/2020-ESP8266/

O que eu poderia ter feito é modificar meu PCB do relógio IP 2 de acordo com este esquema, apenas adicionando alguns jumpers.

Além disso, modifiquei um adaptador USB CP2102 para ter o RTS conectado ao pino próximo ao GND.

Com essas modificações, é como carregar um esboço normal do Arduino sem ter que apertar nenhum botão.

CONCLUSÕES: Bem, eu gosto do meu relógio IP. Ele atende a todos os meus critérios. Apesar do que a imagem mostra, os LEDs são vermelhos, não brancos e, portanto, não são azuis.

Recomendado: