Hallo liebe Community!
Ich habe etwas Schwierigkeiten, meinen Waveshare GSM/GPRS/GPS HAT in Betrieb zu nehmen und bin Euch für jeden Tipp dankbar.
Meine Hardware
Was möchte ich machen?
Ich möchte den Waveshare GSM/GPRS/GPS HAT (nachfolgend nur mehr gsmHat genannt) über USB an meinen Raspberry anschließen und damit ...
- einen Anruf tätigen
- die GPS Koordinaten ermitteln
Meine bisherige Vorgangsweise
Ich habe mir eine Wertkarte zugelegt, die ich mit einem Datentarif angemeldet und mit genügend Guthaben versehen habe. Mit dieser Wertkarte habe ich probeweise von meinem Smartphone aus einen Testanruf getätigt, eine SMS geschrieben und kurz im Internet gesurft - alles funktioniert.
Die Simkarte habe ich anschließend in den gsmHat eingespannt, auf dem die kurze GSM Antenne montiert ist (siehe Bild unten).
Nun habe ich den gsmHat mit dem USB0 Port vom Raspberry verbunden - Saft hat er schon mal.
Wenn man den PWRKEY kurz gedrückt hält passiert folgendes: Die STA LED fängt an dauerhaft zu leuchten und NET blinkt im Sekundentakt.
Nach etwa 8 Sekunden ändert sich die Blinkfrequenz von NET auf 3 Sekunden.
Dieses Blinkverhalten ist in der Bedienungsanleitung (Seite 10 Punkt 4) so beschrieben: Das schnelle Blinken von NET bedeutet, dass das Modul noch nicht im Netzwerk eingeloggt ist. Erst wenn NET langsam (einmal blinken alle 3 Sekunden) blinkt ist es verbunden. Mein Modul scheint sich also auch verbunden zu haben.
(Das Bild entstand vor dem 1. Boot, deshalb leuchtet die STA LED hier noch nicht)
Es gibt eine zugehörige Python Library mit der ich den gsmHat gerne ansteuern möchte (https://pypi.org/project/gsmHat/). Entsprechend der Anleitung habe ich diese zuerst installiert:
pip3 install gsmHat
In der raspi-config habe ich
- At the prompt Would you like a login shell to be accessible over serial? auf 'No' gesetzt
- At the prompt Would you like the serial port hardware to be enabled? auf 'Yes' gesetzt
Anruf-Problem
Nun möchte ich, wie auch in der Anleitung, einen Anruf tätigen:
python3
>>> from gsmHat import GSMHat, SMS, GPS
>>> gsm = GSMHat('/dev/ttyUSB0', 115200)
>>> Number = '+43660XXXXXXX' #Meine Telefonnummer
>>> gsm.Call(Number)
True
gsm.Call(Number) gibt nur True aus, ich erhalte auf meinem Smartphone aber keinen Anruf. Ändere ich +43660 in 0660, oder 0043660, wird False zurückgegeben.
GPS-Problem
Um die GPS Koordinaten zu ermitteln schloss ich die GPS Antenne an, startete das Modul neu und probierte folgenden Code:
python3
>>> from gsmHat import GSMHat, SMS, GPS
>>> gsm = GSMHat('/dev/ttyUSB0', 115200)
>>> GPSObj = gsm.GetActualGPS()
>>> print('GNSS_status: %s' % str(GPSObj.GNSS_status))
GNSS_status: 0
>>> print('Latitude: %s' % str(GPSObj.Latitude))
Latitude: 0.0
>>> print('Longitude: %s' % str(GPSObj.Longitude))
Longitude: 0.0
>>> print('GPS_satellites: %s' % str(GPSObj.GPS_satellites))
GPS_satellites: 0
>>> print('GNSS_satellites: %s' % str(GPSObj.GNSS_satellites))
GNSS_satellites: 0
Alles anzeigen
Den ganzen Nullen nach zu urteilen scheint das auch nicht zu funktionieren - aber ich komme einfach nicht dahinter warum.
Über Tipps zu meinem Anruf-, oder GPS-Problem würde ich mich sehr freuen!
Danke und LG
Michael