Guide by Tim; 4G and GPS HAT For Raspberry Pi - Waveshare SIM7600X

What are the advantages of SIM7600X over SIM900?

2 Likes

Hey mate,

The big one is SIM 900A supports only Dual frequency bands (900,1800 MHz) which are usually only available in Asian regions and countries. What this means as well is the SIM 900A is a 2G device. To my knowledge, there are no more carriers that do 2G in Australia or America.

The SIM7600X module is compatible worldwide (basically so long as it has a mobile connection nearby) and will still work in the 4G generation of connectivity.

Hope that helps,
Tim

1 Like

Hi Tim. Have you thought any more about a tutorial for controlling the Waveshare 4G Hat with an Arduino. I would be very interested to see this.

1 Like

Hey Colin,

I hadnā€™t considered putting that onto my radar of things to pursue but since you have brought it up I am definitely writing it down onto my list :blush:. This Waveshare SIM7600X HAT can also run as a standalone board without being attached to any other microcontroller or microprocessor. There is so very much to unpack with a device like the SIM7600X, it is definitely something I have wanted to return to.

Kind regards,
Tim

1 Like

Hi Tim,

Thanks for the prompt reply.
I am a total NOOB when it comes to the Raspberry Pi and Arduino world but am hoping to educate myself enough to cope. My working life was spent in the communications industry (satellite and mobile networks)

I have been trying to work out a 4G GPS Tracker for my son (a paraglider) and have decided that the Waveshare 7600G Hat is a good option. My problem is I donā€™t know where to go from there.
Will a standalone Waveshare SIM7600G Hat fit the bill or as I suspect does it need to be connected to some smarts like a Pi or Arduino to send location data among other things over 4G LTE?
Thatā€™s why I was hoping that you would consider expanding your tutorial to include the Waveshare SIM7600 Hat both standalone and with Arduino.

Regards
Colin

1 Like

@Tim
Tim, hello!
Your manual is very useful for me, thank you very much for it!
I would like to know if it is possible to contact you to order software for such a modem so that it can send a lot of SMS?
I am ready to give a good reward for this order.

Hey Colin,

I love your project application. For Airborne activities, weight management is always a priority. As well as battery power for the project. The Raspberry Pi 4 Model B is quite a power-hungry device and my understanding of Paragliding is that you can be up in the air for quite some time.

The Raspberry Pi Pico in combination with the SIM7080G NB-IoT / Cat-M(eMTC) / GNSS Module for Raspberry Pi Pico could be your best component choice. This will result in a significantly less power-hungry system that will still perform all the features you require.

Here are two great videos to learn from in regards to setting up the Pico to figure out GPS Location (plus speed), and the other video perfect for setting up automatic SMS messages with that GPS information send out of the Raspberry Pi Pico 4G connection - Raspberry Pi Pico + GSM + GPS + MEMS + MOTOR + ALARM + SMS / CALL ALERT - YouTube and Raspberry Pi Pico GPS Tracker | GPS NEO-6M GY-GPS6MV2 Module | Arduino IDE Programming - YouTube.

Iā€™ve got a feeling that hardware choice will get you the best maker result for this application :blush:.

Kind regards,
Tim

1 Like

so this is the error we encounter everytime we try to run the code. We did not change anything on the code except for the number we inserted.

just an update it worked. It send sms with gps now but I still get the same error afterwards. Any idea on how to get rid of it? Thank you

Take a look back up this thread about 16th September for a similar problem and some suggestions.

3 Likes

%Run GPS-Human-Readable-Final.py
SIM7600X is starting:
SIM7600X is ready
Start GPS sessionā€¦
AT+CGPS=1,1 ERROR
AT+CGPS=1,1 back:
ERROR

Traceback (most recent call last):
File ā€œ/home/ivor/Downloads/python-scripts-4g-waveshare-hat/GPS-Human-Readable-Final.pyā€, line 115, in
get_gps_position()
File ā€œ/home/ivor/Downloads/python-scripts-4g-waveshare-hat/GPS-Human-Readable-Final.pyā€, line 75, in get_gps_position
answer = send_at(ā€˜AT+CGPSINFOā€™,'+CGPSINFO: ',1)
File ā€œ/home/ivor/Downloads/python-scripts-4g-waveshare-hat/GPS-Human-Readable-Final.pyā€, line 48, in send_at
EastOrWest = Cleaned[27]
IndexError: string index out of range

Could someone give me an idiots guide. (Step by step to solve this please)

Maybe someone could create a few FAQ and solution videos on YouTube.

Tim: Great guide! I learned a lot about my new device.

1 Like

By any chance can you give me an idea on how to program this to send a google maps link instead of map coordinates

1 Like

A link to google maps with the marker placed at the desired location uses the query parameter. For example:

 https://www.google.com/maps/search/?api=1&query=28.6139,77.2090 (New Delhi, India)
2 Likes

im sorry but can you explain it in laymanā€™s term, or in which part of the existing code am I supposed to insert it. Thank you

1 Like

The text above is the google maps link - the http address that will display google maps with the marker placed at the nominated location. How you send it depends on who you are sending it to and how it will be used when it is sent. If you mean that you want to send it as a text message to a phone recipient so they can click on it to open google maps at that location, then you can modify the existing ā€˜global text_messageā€™ text (lines 128 and 129) in | FindGPSthenSMSFinal.py | to match that line. Something like:

#text_message = ('https://www.google.com/maps/search/?api=1&query=' + ((float(Cleaned[16:27])/1000)) + ','+((float(Cleaned[1:8]/1000))))
text_message = ('https://www.google.com/maps/search/?api=1&query=' + StringFinalLatText + ',' + StringFinalLongText)

If you are sending it some other way you should show the code you are currently using.

2 Likes

so I tried and inserted all what you said but once I tried it, it just stops at ā€˜sending short messageā€™ and just gives me an error (see picture) and I donā€™t get any sms from the device. By any chance do you have any solution with this?
error

1 Like

but weird is it sends message when I donā€™t insert the google maps link

1 Like

That error doesnā€™t seem to have anything to do with the change I suggested. If you compare the two versions you can see that the changes are only to the text of the message and there is no change to the logic of the program. Have you confirmed that sending the message using the original code works correctly? Itā€™s possible that the code might fail if the GPS message includes some data but not all of it, so are you sure the GPS is fully initialised? Does the message to be sent print before it is sent, and what exactly gets printed? You can uncomment some of the debug print commands to get a better picture of what is happening, especially about the GPS data stream.

2 Likes

ā€˜Sending short messageā€™ is all I get but after that I get nothing from the device. When I change text of the message from the original code with no link, the device works properly but then when I try to send the sms with google maps link it gets stuck with the ā€˜Sending short messageā€™ and I get error with no sms from the device.