Estou usando o SIM800E . Quero saber qual comando AT deve ser enviado ao modem para obter tempo? Este modem possui um RTC. Mas preciso configurá-lo automaticamente através da torre de celular. A torre pode enviar a hora para o modem quando solicitada usando um comando AT. Eu já vi em muitos telefones que o tempo é atualizado durante as transferências.
O manual não possui essas informações.
gsm
at-commands
gpuguy
fonte
fonte
Respostas:
Eu usei o seguinte comando:
que retorna a data e a hora, como:
produtos com sucesso usando três módulos de células diferentes: Enfora, Telit e Sierra. O fato de ele usar um caractere + após o AT implica que ele é um comando comum (em oposição ao proprietário) e deve estar disponível na maioria, se não em todos os módulos de célula. (Os comandos proprietários usam um caractere específico do fornecedor após o AT, como AT $, AT%, AT! Etc.)
Como mencionei em um comentário, se você não pode obter tempo usando este comando (por exemplo, ele retorna todos os 0), então outra maneira é conectar-se à rede e tirar o tempo de um servidor usando um comando HTTP.
onde somehost é seu próprio servidor ou Google.com etc. Isso também assume que index.html é a página principal do site (não é o caso do Google).
Ele retornará um cabeçalho como:
Até onde eu sei, todos os servidores são obrigados a retornar o tempo GMT em seus cabeçalhos.
fonte
HEAD / HTTP/1.0\r\nHost: example.com\r\n\r\n
pois me sinto/
menos propensa a 404s e que o HTTP 1.0 representa melhor nossa ignorância (em termos de dispositivo) do HTTP. Além disso, o ponto e vírgula parece um erro de digitação. Fora isso, a data é GMT / UTC por especificação ( consulte também ).Primeiro, o NITZ é pouco suportado em muitas redes (você pode dizer COST-CUTTING). Eu não confiaria nele, já que 1 em cada 10 redes o usa, especialmente em lugares distantes.
Em segundo lugar, o comando + CCLK é para o RTC interno do modem. Alguns modems possuem recursos para atualizar este relógio da rede. Contar com isso é arriscado.
A solicitação HTTP acima está incompleta, ou seja, não funciona. Eu costumava saber como fazer isso, assim, reverterá quando funcionar.
Isso não é inteiramente verdade. Existem comandos de modem proprietários que seguem a convenção AT +. Por exemplo, AT + WOPEN é um comando proprietário da Sierra.
Há um certo conjunto de comandos iguais, independentemente do modem. Estes são definidos nos documentos 3GPP. Os comandos proprietários são geralmente definidos nos manuais do usuário do fornecedor e claramente marcados como proprietários.
fonte
AT + CLTS = 1 (Obter carimbo de hora local) AT&W (Salvar configuração)
Desligue o modem e ligue o modem (reinicialize para obter a hora local da rede)
Da próxima vez que o modem for inicializado, você poderá obter a hora local pela rede e pode ser lido enviando
AT + CCLK?
Isso funcionou para mim, estou usando o modem SIM800 GSM, leia as descrições dos comandos AT para obter mais informações
fonte
PuTTY:
Funciona perfeitamente, depois disso você precisa analisar o resultado e colocar no clk, porque isso não acontece automaticamente. (pelo menos no meu Cinterion)
fonte
Use o comando AT + CIPGSMLOC. Funciona bem nos módulos SIMCOM.
Este comando precisa do serviço GPRS anexado antes de você usá-lo. Portanto, primeiro conecte o serviço GPRS usando a sequência de comandos apropriada e use este comando para obter a data e a hora da rede GSM.
Para anexar o serviço GPRS:
CMD:AT+CGATT=1 CMD:AT+SAPBR=3,1,"Contype","GPRS" CMD:AT+SAPBR=3,1,"APN","" CMD:AT+SAPBR=3,1,"USER","" CMD:AT+SAPBR=3,1,"PWD","" CMD:AT+SAPBR=1,1 CMD:AT+SAPBR=2,1 /* to confirm that GPRS is attached. will show IP if attached */
Em seguida, use o comando Localização GSM:
AT+CIPGSMLOC=1,1
Esse comando precisa de um tempo considerável (alguns segundos) para obter as informações da rede, portanto, dê tempo limite à função de execução do comando.
Este comando também retorna o local do BTS ao qual o módulo está conectado. Assim, você também pode obter uma localização precisa do módulo GSM.
Consulte este manual para obter mais informações: (funciona da mesma maneira no SIM800)
SIM900_GSM Location AT Command Manual_V1.00
Observe também que o comando AT + CLBS não é o mesmo que este comando. Pode não funcionar em algumas regiões. (Não pude usá-lo!). Mas o AT + CIPGSMLOC sempre funciona.
fonte
+CIPGSMLOC: 302<\r><\n>
em respostaNITZ, como apontado por RedGrittyBrick, é a resposta. No entanto, esta é uma mensagem enviada apenas pela rede, geralmente ao ingressar na rede. Algumas operadoras enviam, outras não. Não existe uma maneira padrão de solicitá-lo.
fonte
Aqui está a sequência de comandos AT para obter o tempo da rede celular. Funcionou no meu módulo GSM UBLOX LEON G-200 .
fonte
primeiro envie estes dois comandos
AT + CLTS = 1; & W
AT + CFUN = 1,1 e que AT + CLTS? verifique se você recebe esta resposta + clts: 1
e se envia este comando AT + CCLK?
fonte
{}
botão na barra de ferramentas do editor para blocos de código, como nas outras respostas. Isso fornecerá um plano de fundo cinza e uma fonte de largura fixa, facilitando a visualização de onde o código começa e termina.Utilizei com êxito o NITZ durante a inicialização e o CCLK quando desejo ler o RTC interno. No entanto, pode levar um ou dois minutos antes que o modem RTC seja configurado na rede. Vale a pena manter uma bandeira para indicar se o tempo é realmente válido.
fonte
Eu desenvolvi um firmware para um U-Blox LTE. Lá eu usei o AT + CCLK? para obter a hora local atual do modem.
Dá um tempo no seguinte formato. Não que seja um comando sincronizado.
Portanto, o seguinte comando AT foi enviado antes do registro, para sincronizar o horário com a rede
Então, minha sequência de comandos é:
Lógica adicional para garantir que ele tenha a hora correta:
Nota: NITZ ainda é suportado em um conjunto limitado de países ( https://en.wikipedia.org/wiki/NITZ )
Portanto, é melhor ter uma maneira alternativa de atualizar o horário, se não houver suporte nesse país.
No meu caso, temos o módulo GPS, para que eu obtenha atualizações de tempo através dos dados do GNSS.
Além disso, o que não é relevante aqui, mas considerado útil para sincronização de horário.
fonte