SIM900 alternative  - Page 1
Forum section: electronics / projects

author: hussamaldean
author_rank: Unknown
timestamp: September 09, 2019, 02:46:03 am
content: Hi all,I am currently working on a project that uses GSM-GPRS to communication to send certain data at certain rate. however, SIM900 is very slow and I have to delay the commands otherwise, it won't be able to keep up with the data stream required.is there any GSM-GPRS module that supports SPI protocol ?I think with SPI, I will be able to get better results due to fact that SPI is much faster at rate of 4MHzregards

author: hussamaldean
author_rank: Unknown
timestamp: September 09, 2019, 03:00:55 am
content: Quote from: blueskull on September 09, 2019, 02:58:30 amthe data is being chocked by UART not the communication between SIM900 and the server since I have to send just a string which contains only about 60 characters

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 12:29:31 pm
content: any help ?

author: Marco
author_rank: Super Contributor
timestamp: September 10, 2019, 01:13:22 pm
content: Quote from: hussamaldean on September 09, 2019, 03:00:55 amSo you don't really care how fast it goes to the server, but you absolutely want those 60 characters to get to the modem as fast as possible?Why?

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 01:52:59 pm
content: Quote from: Marco on September 10, 2019, 01:13:22 pmin case if the internet went down, I need to send thousands of those strings to the server as fast as possibleso, needing a faster communication between SIM and ESP32 is a must at least I can send a certain data and don't have to wait for a response from the SIM module.All I need just to tell me if the end server reports 200 or other case.

author: mikerj
author_rank: Super Contributor
timestamp: September 10, 2019, 05:15:46 pm
content: I think you will be disappointed, GPRS is just slow with a maximum throughput of only 85.6 kbps for the SIM900 module. If you are running the USART at 115.2 kbs you shouldn't have a bottleneck.

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 05:45:57 pm
content: Quote from: mikerj on September 10, 2019, 05:15:46 pmI tried to send the command without any delay and the results are the SIM didn't even start the HTTP connection

author: Marco
author_rank: Super Contributor
timestamp: September 10, 2019, 06:10:56 pm
content: What's your USART code like? Do you have a CTS interrupt?

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 06:20:52 pm
content: Quote from: Marco on September 10, 2019, 06:10:56 pmISR is handling important stuff like instantly update the value of certain registry when one of the inputs is changed. so, implanting such interrupt won't serve me anything since the data I receive is only when I receive the status of 200 otherwise I shall repeat the scenario.

author: FreddieChopin
author_rank: Regular Contributor
timestamp: September 10, 2019, 06:26:54 pm
content: if latency is important then use UDP or raw sockets (works on XP without SP1)

author: Marco
author_rank: Super Contributor
timestamp: September 10, 2019, 06:32:46 pm
content: Quote from: hussamaldean on September 10, 2019, 06:20:52 pmYou still need flow control, either RTS/CTS or XON/XOFF ... do you have flow control?

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 06:35:51 pm
content: Quote from: FreddieChopin on September 10, 2019, 06:26:54 pmthe server requires JSON format and I have to use HTTP due to server limitation

author: FreddieChopin
author_rank: Regular Contributor
timestamp: September 10, 2019, 06:42:23 pm
content: Quote from: hussamaldean on September 10, 2019, 06:35:51 pmWell there's your problem. First you use bloated HHTP and then bloat it even further with JSON. With right assembly code you can get few Mbit/s speed out of bock standard USART.

author: hussamaldean
author_rank: Unknown
timestamp: September 10, 2019, 08:03:43 pm
content: Quote from: FreddieChopin on September 10, 2019, 06:42:23 pmfew Mbps will be impossible since the module maximum baud rate is 115200bps

author: Marco
author_rank: Super Contributor
timestamp: September 10, 2019, 08:08:49 pm
content: Without flow control higher transfer rate between your microcontroller and the modem will just help you to screw up faster.

author: FreddieChopin
author_rank: Regular Contributor
timestamp: September 10, 2019, 08:13:14 pm
content: Then maybe you could use USB-OTG host library and use LTE modem? They are very very fast.

author: hussamaldean
author_rank: Unknown
timestamp: September 13, 2019, 04:56:51 am
content: Quote from: FreddieChopin on September 10, 2019, 08:13:14 pmcould you please elaborate ?

author: mikerj
author_rank: Super Contributor
timestamp: September 13, 2019, 07:10:14 am
content: Quote from: hussamaldean on September 10, 2019, 05:45:57 pmThat doesn't sound like it's the fault of the UART. Does your carrier even support GPRS, many do not?A 4G USB dingle is cheap and very fast, but driving it from a microcontroller is much harder and requires one with USB OTG. Could you maybe use something like a Raspberry Pi?

author: hussamaldean
author_rank: Unknown
timestamp: September 13, 2019, 08:28:24 am
content: Quote from: mikerj on September 13, 2019, 07:10:14 amgreat solution but we don't have 4G in Iraq