Open danielkp1234 opened 2 years ago
Ive been playing with this all day. The issue you are having is connecting the arduino and sim7000 via serial. You cannot use hardware serial as the arduino uno only has a single hardware serial port, which is already linked to the onboard usb converter for debugging.
For the last 6 hours ive been trying to use software serial but the the sim7000 now doesnt work at all, my sim7600 doesnt work with soft serial, but does with hw serial.
If possible, get your hands on a mega and use hw serial
It might be that the SIM7000 wakes up with a default baud rate higher than the software serial port can support.
Often, you can autobaud the serial port. Have you tried sending multiple AT commands (just AT on its own) until you get an OK response. When you get an OK back, the modem has understood your AT command at the lower baud rate. Once you have set the baud rate, you can fix the baud rate (so you don't need auto baud any more) with AT+IPR command.
This is documented in section 3 of this document: https://simcom.ee/documents/SIM7000x/SIM7000%20Series%20UART%20Application%20Note_V1.00.pdf
(note: https is not working for the site above, so I will paste section 3 in below):
3 Synchronize baud rate SIM7000 supports auto baud rate, but the rate only supported on 9600, 19200, 38400, 57600, 115200. If users need to change to other baud rate, it needs to switch as AT command AT+IPR. Auto baud rating allows SIM7000 module to automatically detect the baud rate based on the host device. Host device must synchronize the baud rate with SIM7000 module first before communication. Host must send “AT” string to synchronize the module, if module matches the baud rate it will respond with response: “OK”, if no response is reported, host must send the synchronize string again until the response is received. The function is supported in “AT+IPR”. When “AT+IPR” is set to 0,auto baud is activated. If TA sends “AT+IPR=0” command to the modem, then module will be saved as auto baud mode.
Are you using a Botletics board, or are you communicating with a SIM7000 module by some other means? If you are not using a Botletics board then you will need level conversion. The SIM7000 UART interface accepts 1.8V maximum (see above document, section 2.2). If you try to run it with 5V (e.g. directly from an Arduino) then you will damage the SIM7000. You need level shifters, at least on the TX line from the Arduino to the RX line of the SIM7000. A 10K and a 5.6K resistor will do this also, as follows:
TX LINE FROM ARDUINO--->---10K---#---5.6K--->---GND
Connect the SIM7000 RX line where the # is shown, and you should get 1.8V. This is not relevant if you're using the Botletics board as it should do the level shifting for you.
Regards
Mark
On Wed, Apr 20, 2022 at 8:15 AM wilba84 @.***> wrote:
Ive been playing with this all day. The issue you are having is connecting the arduino and sim7000 via serial. You cannot use hardware serial as the arduino uno only has a single hardware serial port, which is already linked to the onboard usb converter for debugging.
For the last 6 hours ive been trying to use software serial but the the sim7000 now doesnt work at all, my sim7600 doesnt work with soft serial, but does with hw serial.
If possible, get your hands on a mega and use hw serial
— Reply to this email directly, view it on GitHub https://github.com/botletics/SIM7000-LTE-Shield/issues/293#issuecomment-1103551385, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFAGDCW25ECIBYCUGRCDTE3VF6VJ7ANCNFSM5TZWE6PQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Ive been playing with this all day. The issue you are having is connecting the arduino and sim7000 via serial. You cannot use hardware serial as the arduino uno only has a single hardware serial port, which is already linked to the onboard usb converter for debugging.
For the last 6 hours ive been trying to use software serial but the the sim7000 now doesnt work at all, my sim7600 doesnt work with soft serial, but does with hw serial.
If possible, get your hands on a mega and use hw serial
Do you get GPS and cellular connection working with mega board?
@Mark-Wills I didn't really understand very much of what you wrote sorry but i am using a DFRobot SIM7000 shield stacked on top of an Arduino UNO
I tested everything with AT Command Tester (https://m2msupport.net/m2msupport/download-at-command-tester/) and both cellular connection was working and I could get an IP and GPS also works so the problem is library-related. If this library isn't going to work for me how would I go about debugging and finding out why the attacthService function in the DFRobot library doesn't work since the GPS features in the DFRobot library works
Here is DFRobot SIM7000 library with the only change being made is changing the APN from cmnet to internet in attacthService void https://gist.github.com/danielkp1234/ab2ea90e5b47bd3070b7c0707d06bb61
I have had cellular and gps working on the sim7000. Unfortunately My module died yesterday or I would send you some screenshots
I have had cellular and gps working on the sim7000. Unfortunately My module died yesterday or I would send you some screenshots
Damn thats sucks. Do you know how i could start debugging the DFRobot SIM7000 libary since it kinda works its only the celluar part of the libary that has some kind of error since the same AT commands work when ran using AT command tester
The screenshot you sent above for the serial monitor, the sim7000 isnt actually replying, its a false flag, hence being detected as sim7500. Are you plugging the usb directly into the sim7000 to use the AT Command tester?
The screenshot you sent above for the serial monitor, the sim7000 isnt actually replying, its a false flag, hence being detected as sim7500. Are you plugging the usb directly into the sim7000 to use the AT Command tester?
Yes, i am
You need to establish a serial connection from UNO>SIM7000, either with software serial or hw serial. From memory if you put a blank sketch on the arduino and move the serial switch to 0/1, you should be able to plug usb into the arduino, open serial monitor and send AT commands
Well, if this wont work imma just going to try to find the issue in the attacthService function in the DFRobot libaray its properly some simple thing that is wrong. I just dont know how to debug it
@danielkp1234 any update on your issue?
Hello. Firstly I know that this library isn't supposed to be used with the DFRobot sim7000 but I have been recommended by multiple people to use this library since apparently, the DFRobot library won't work and is unstable.
I have been trying to make a GPS tracker using a DFRobot sim7000 to try and send longitude and latitude to an MQTT server using a 3g/4g connection but I can’t seem to get it working with either library.
I read a guide and came up with this code for submitting longitude and latitude to an MQTT server using cellular. https://pastebin.com/pj1eaDzP
This is the output of the Serial Monitor
and this is the code that causes the errors. I have also tried commenting out the EnableGPS code to see if GPRS would work but that doesn’t work either.