Solved

send sms using a gprs modem

Posted on 2006-10-22
4
2,446 Views
Last Modified: 2013-12-26
Hi expert...

I am developing an application using PB 6.5 for sending sms using a gprs modem (iTegno 3000).
How can I connect my application with the modem.

thanks
0
Comment
Question by:micky_ng
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 

Author Comment

by:micky_ng
ID: 17793508
Dear Experts...

I am trying to use MSComm32.ocx now. Do you have an example for sending sms trought a gprs modem ?

thanks
0
 
LVL 6

Expert Comment

by:tr1l0b1t
ID: 17818011
0
 
LVL 6

Accepted Solution

by:
tr1l0b1t earned 250 total points
ID: 17818208
Using MSComm32.ocx ...you must send AT GSM commands to the modem.
This page will be useful to get the basics : http://www.traud.de/gsm/sms.htm

Full list & specifications of AT GSM commands are at ETSI page :
(http://webapp.etsi.org/key/key.asp?GSMSpecPart1=27&GSMSpecPart2=005)
...an extract :

SMS Commands SMS Text Mode
---------------------------------------
AT+CSMS   Select Message Service
AT+CPMS   Preferred Message Storage
AT+CMGF   Message Format
AT+CSCA   Service Centre Address
AT+CSMP   Set Text Mode Parameters
AT+CSDH   Show Text Mode Parameters
AT+CSCB   Select Cell Broadcast Message Types
AT+CSAS   Save Settings
AT+CRES   Restore Settings
AT+CNMI   New Message Indications to TE
AT+CMGL   List Messages
AT+CMGR   Read Message
AT+CMGS   Send Message
AT+CMSS   Send Message from Storage
AT+CMGW   Write Message to Memory
AT+CMGD   Delete Message

PB source code should be something like this (just pseudocode):

String ls_data

OLEObject ole_1
ole_1 = create OLEObject
ole_1.ConnecttoNewobject("MScommlib.Mscomm")

// Configure the communication's port
ole_1.object.CommPort = 1
ole_1.object.Settings = "9600, N, 8, 1"
ole_1.object.InputLen = 0

// Open it
ole_1.object.PortOpen = True

// Send data
ole_1.object.Output = "AT " + char (13)

// Wait for "OK" response
Do
    ls_data += ole_1.object.Input
LOOP Until (Pos (ls_data, "OK") > 0)

// Close port
ole_1.object.PortOpen = FALSE

ole_1.DisconnectObject()

As you see, it's a very extensive subject  but I hope
you got the idea. I reccommend you to test AT commands with
Hyperterminal, then code the working sequence in PB.
Regards
0
 

Author Comment

by:micky_ng
ID: 17841097
Hi... Sir...

thanks very much for your detail description. It is very helpful.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
How to install Selenium IDE and loops for quick automated testing. Get Selenium IDE from http://seleniumhq.org Go to that link and select download selenium in the right hand column That will then direct you to their download page. From that p…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question