I am working to create a high performance SMS / MMS appliance and need some advice. My understanding has been that I need to use AT commands over a serial connection to send. But since only one application at a time can access a serial port, how do I do a multi threaded operation? For instance, If I send all the commands to send an SMS, I have to wait for a response to know that that message was sent before I can start sending another.
That seems to introduce a massive bottleneck compared with how normal UDP-TCP/IP is handled and defeats the purpose of having more and more powerful chips. Even if there was 0 wait time for the chip itself to execute the commands, waiting for a response before sending more info is an issue.
I purchased a MangOH and 2 HL7588 chips and was worlking through the documentation. As I was reading the docs on the MMS side here source.sierrawireless.com/resou … tion-note/
Where it talks about how to send an MMS on page 4:
9.1 Sending MMS
The application will use the MMS Client APIs for preparing the MMS; the settings, destinations, text, audio and graphics data
are all supplied to the MMS Client through these APIs & the client formats them. The application, in addition, has to create an
HTTP client socket for the MMS client.
Here is a stepwise guide to what the application needs to do:
- Start the GPRS bearer using wip_bearerxx() APIs.
- Create an HTTP client socket using wip_HTTPClientCreateOpts() API to the MMS server IP on port 8080.
- Initialise the MMS using wip_mmsCreateOpts() API; settings such as subject, sender’s number, sender’s visibility, message class & priority can be configured.
- Use wip_mmsSetOpts() API to set the destination; this could either be an MSISDN or an email address.
- Use wip_mmsAddPart() API to add the different parts one by one to the MMS; text, sound & pictures can be added.
- Use wip_mmsSend() API to send the MMS to the MMSC URL.
- Use wip_mmsClose() API when finished.
It is great to see that I can make an HTTP call on port 8080, but what I don’t see is what is the webserver that is controlling that? Is there a HTTP server built into the HL7588 or the MangOH?
Is there any API to send an SMS / MMS that doesn’t use AT commands that would allow for faster processing? Can they be sent using a network / USB / GPIO from a Raspberry Pi rather than over the UART? I see it has USB2.0, ADC, Can those interfaces be used for this application?