Forum: Mikrocontroller und Digitale Elektronik SIM800L Modul Uhrzeit abfragen


von Daniel E. (danebn)


Lesenswert?

Hallo Leute,

ich versuche gerade aus meinem SIM800L die aktuelle Uhrzeit auszulesen.
Dazu habe ich diese Anleitung gefunden:

https://elementztechblog.wordpress.com/2016/12/28/getting-time-and-date-from-gsm-modem/

Allerdings wird mir nie die aktuelle Zeit aus dem Netz geladen.

Kennt jemand dieses Problem bzw. eine Lösung?

Danke für eure Antworten

von Oleg (Gast)


Lesenswert?

Daniel E. schrieb:
> Allerdings wird mir nie die aktuelle Zeit aus dem Netz geladen.

Welches Kommando benutzt du?
Und was genau kommt als Antwort?

von Oleg (Gast)


Lesenswert?

Und noch eine Frage:
Hast du sichergestellt, daß das Modul eingebucht ist?

von Daniel E. (danebn)


Lesenswert?

Oleg schrieb:
> Daniel E. schrieb:
>> Allerdings wird mir nie die aktuelle Zeit aus dem Netz geladen.
>
> Welches Kommando benutzt du?
> Und was genau kommt als Antwort?

Gehe genau nach dieser Anleitung vor.
Es kommt immer die Uhrzeit 00:00 und solange das Modul eingeschaltet ist 
zählt sie normal nach oben, nach dem Neustart ist sie wieder 00:00

Und ja es ist 100%ig eingebucht

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Vielleicht ist es im GSM-Netz so wie beim ISDN, daß eine Uhrzeit an das 
GSM-Gerät erst nach dem Zustandekommen einer gehenden Verbindung 
übermittelt wird (d.h. eine SMS abgesetzt, eine Sprach- oder 
Datenverbindung irgendwohin aufgebaut hat).

Hast Du das mal untersucht?

von Daniel E. (danebn)


Lesenswert?

Rufus Τ. F. schrieb:
> Vielleicht ist es im GSM-Netz so wie beim ISDN, daß eine Uhrzeit an das
> GSM-Gerät erst nach dem Zustandekommen einer gehenden Verbindung
> übermittelt wird (d.h. eine SMS abgesetzt, eine Sprach- oder
> Datenverbindung irgendwohin aufgebaut hat).
>
> Hast Du das mal untersucht?

Nein, aber werde ich versuchen

von Matthias (Gast)


Lesenswert?

Hallo,

ich habe das ganze einmal ausprobiert.
Bevor man den Zeitstempel per AT+CCLK abfragen kann muss (a) der Befehl 
AT+CLTS=1 und (b) scheinbar eine Netzwerkkommunikation stattfinden. Bei 
mir hat die PIN-Eingabe geholfen.

Hier die Kommandos:
1
<\n>AT+CPOWD=1<\r>
2
<\r>
3
<\n>NORMAL POWER DOWN<\r>
4
5
--- Power On Reset ---
6
7
<\n><\0>AT<\r>
8
<\r>
9
<\n>OK<\r>
10
<\n>AT<\r>
11
<\r>
12
<\n>OK<\r>
13
<\n><\r>
14
<\n>+CPIN: SIM PIN<\r>
15
<\n>AT+CCLK=?<\r>
16
<\r>
17
<\n>OK<\r>
18
<\n>AT+CCLK?<\r>
19
<\r>
20
<\n>+CCLK: "04/01/01,00:00:15+04"<\r>
21
<\n><\r>
22
<\n>OK<\r>
23
<\n>AT+CLTS=1<\r>
24
<\r>
25
<\n>OK<\r>
26
<\n>AT+CCLK?<\r>
27
<\r>
28
<\n>+CCLK: "04/01/01,00:00:48+04"<\r>
29
<\n><\r>
30
<\n>OK<\r>
31
<\n>AT+CPIN="XXXX"<\r>
32
<\r>
33
<\n>OK<\r>
34
<\n><\r>
35
<\n>+CPIN: READY<\r>
36
<\n><\r>
37
<\n>*PSUTTZ: 2019,1,3,9,11,28,"+4",0<\r>
38
<\n><\r>
39
<\n>DST: 0<\r>
40
<\n><\r>
41
<\n>+CIEV: 10,"26203","o2 - de","o2 - de", 0, 0<\r>
42
<\n><\r>
43
<\n>Call Ready<\r>
44
<\n><\r>
45
<\n>SMS Ready<\r>
46
<\n><\r>
47
<\n>+CTZV: +4,0<\r>
48
<\n><\r>
49
<\n>*PSUTTZ: 2019,1,3,9,11,31,"+4",0<\r>
50
<\n><\r>
51
<\n>DST: 0<\r>
52
<\n>AT+CCLK?<\r>
53
<\r>
54
<\n>+CCLK: "19/01/03,10:12:34+04"<\r>
55
<\n><\r>
56
<\n>OK<\r>
57
<\n>
58
<\n>AT&W<\r>
59
<\r>
60
<\n>OK<\r>
61
<\n>AT+CFUN=1,1<\r>
62
<\r>
63
<\n>OK<\r>
64
<\n>
65
<\n>AT+CCLK?<\r>
66
<\r>
67
<\n>+CCLK: "19/01/03,10:17:46+04"<\r>
68
<\n><\r>
69
<\n>OK<\r>
70
<\n>AT+CPOWD=1<\r>
71
<\r>
72
<\n>NORMAL POWER DOWN<\r>
73
<\n>

von E-Minus (Gast)


Lesenswert?

Daniel E. schrieb:

> Kennt jemand dieses Problem bzw. eine Lösung?

Hier™ sendet o2/Telefónica seit einigen Monaten auf 900/1800MHz keine 
Zeit mehr mit :-(

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Daniel E. schrieb:
> Allerdings wird mir nie die aktuelle Zeit aus dem Netz geladen.

Im ursprünglichen GSM-Standard wurde die Uhrzeit völlig vergessen, und 
es wurde ausschließlich eine GSM-eigene Zeitzählung der übertragenen 
Rahmen usw. durchgeführt.

Erst recht spät haben E-Plus und O2 eine GSM-Erweiterung namens NITZ 
eingeführt, aber offenbar wird diese heutzutage nicht mehr durchgängig 
übertragen. Irgendwann in 2016 ging die Telefonica-Uhr sogar um zehn 
Minuten falsch, was offenbar nicht einmal sofort bemerkt wurde. Telekom 
und Vodafone hingegen übertrugen und übertragen niemals die Uhrzeit im 
GSM-Netz.

Wie es bei UMTS aussieht, weiß ich nicht mit Sicherheit, aber ich 
glaube, dass auch dort schon auf NTP-Server per IP verwiesen wird. Und 
bei LTE gibt es ganz klar nur noch NTP. Es kann sein, dass die 
Netzanbieter hierfür eigene NTP-Server bereitstellen, aber diese wären 
im engeren Sinne kein Bestandteil des Mobilfunknetzes selbst.

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Abfragen an einen Zeitserver sind normale Internetanfragen, hat nichts 
mit GSM zu tun.

Aber danke für den Thread, ich war immer am Überlegen ob ich meiner 
AlarmSau eine Funktion verpasse, die die Zeit vom GSM-Netz bezieht und 
für wer weiß was verwendet. Allerdings wird die Zeit, zu der eine Alarm 
stattgefunden hat, automatisch durch die verschickten SMS dokumentiert, 
so daß sich die Alarmanlage selber gar nicht darum kümmern braucht.

von Chris S. (chris606)


Lesenswert?

Ich stehe im Moment vor einem ähnlichen Problem.
Ist es möglich mit einem SIM800 Modul vom einem Zeitserver die aktuelle 
Uhrzeit und das Datum abzurufen?
Hat da vielleicht jemand ein Beispiel?

Ich hab bis jetzt noch nichts gefunden...

Gruß
Christian

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Thread nicht gelesen?

> <\n>AT+CCLK?<\r>
> <\r>
> <\n>+CCLK: "19/01/03,10:12:34+04"<\r>
> <\n><\r>
> <\n>OK<\r>
> <\n>

von Chris S. (chris606)


Lesenswert?

Ich möchte nicht die Zeit vom GSM Modul abfragen, das ist nicht sicher 
und nicht zukunftssicher (siehe Thread!)
Ich möchte die Zeit über eine GSM Datenverbindung von einem Zeitserver 
übers Internet abrufen.

(Thread hab ich gelesen!)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Dann verstehe ich Dein Problem nicht. Im Datenblatt steht drin, wie man 
HTTP-Abfragen mit dem Ding durchführt.

von Chris S. (chris606)


Lesenswert?

Hat das vielleicht schon mal jemand gemacht und hat hier ein Beispiel 
oder etwas Ähnliches?
Bei welchem Server kann ich denn die Uhrzeit holen?

Gruß
Christian

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Was machst du denn sonst mit dem Modem bzw. was für ein Rechner hängt da 
dran? Das Problem ist, dass im Internet praktisch nur noch das 
NTP-Protokoll unterstützt wird und das will man ungern auf einem AVR 
implementieren.

Kennt jemand einen Server, der noch das daytime (Port 13) oder time 
(Port 37) Protokoll unterstützt, bei dem die gelieferte Zeit stimmt und 
den man anzapfen darf?

Es gibt Server, die zwecks Klicks auf Werbung die Uhrzeit anzeigen. Bei 
denen steht dann im Kleingedruckten zum Beispiel
1
example.com displays exact, official atomic clock time for
2
any time zone (more than 7 million locations) in 51 languages.
3
Automated access is prohibited.

Edit: Und dann gibt es noch Google, die diesen Missstand ausnutzen und 
öffentliche Zeitserver anbieten. Offiziell natürlich auch nur NTP, aber 
bei denen könnte der Trick time over http funktionieren. Es sind ja 
echte NTP-Server, deren Uhren sollten richtig gehen. Falls man per HTTP 
tatsächlich die gleichen Server erreicht, sind auch die HTTP-Zeitstempel 
richtig. Und die Abfrage ist zumindest halb legal, weil Google ja 
möchte, dass man sich dort Cookies setzen lässt. Mal sehen, wie lange 
das gut geht ;)
Zum üben auf dem PC, ganz offiziell:
1
rdate -pnv time.google.com
oder eben per HTTP:
1
netcat time.google.com 80
2
HEAD / HTTP/1.0
man achte auf die Leerzeile bzw. ein zusätzliches Enter nach der 
HEAD-Zeile. Dann bekommt man, neben den Keksen, eine Zeile, die auch ein 
Tiny auswerten kann
1
Date: Mon, 13 Apr 2020 20:00:06 GMT

Per Modem müsste man eine HTTP-Verbindung zu time.google.com aufbauen 
und ein paar Zeichen schicken:
1
"HEAD / HTTP/1.0\r\n\r\n"

Die Pressemitteilung dazu:
https://www.theregister.co.uk/2016/12/02/google_public_ntp_servers/

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.