Giter Club home page Giter Club logo

Comments (30)

souhaib100 avatar souhaib100 commented on August 15, 2024

Hi,
I will try send you a working simple as soon as possible.

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

Thanks appreciate it

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

hey sorry bother you again, i'm really stuck at the reading part and confused, hoping you could help me.

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Hi,
I almost done, I will update the library soon.
Sorry about that.

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

@elvindeguzman
I update the code with fixes and added an example class.
Try it please.
Thanks

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

appreciate it so much!

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

its sending the sms but I'm still having issue reading the sms

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Could you please share the output

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

looks like the event data registering is not getting the response like the +CMGL

I tried changing the listener to this:

            @Override
            public int getListeningEvents() {
                return SerialPort.LISTENING_EVENT_DATA_RECEIVED;
            }
            
            
            @Override
            public void serialEvent(SerialPortEvent event) {
            	result="";
                byte[] msg = event.getReceivedData();
                serialPort.readBytes(msg, msg.length);
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < msg.length; i++) {
                	char charVal = (char)msg[i];
                	System.out.println("msg["+i+"] : "+charVal);
                	sb.append(charVal);
				}
                logger.info("serial event = "+sb.toString());
                
                result = sb.toString();
            }

The only issue i'm having is sometimes the strings get cut for example when executing the command AT+CMGR=1 it should give me something like +CMGR: "REC UNREAD","+9999999999",,"21/03/30,04:39:39+32"
;1000000249;test;xxxxxx,5009;TCP;00002; but i'm getting some like the cut version of that string for example TCP:0002

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

I think it's modem model related

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

I'm using wavecom modem

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Could you debug the example and see the content of strs?

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Could you debug the example and see the content of strs?

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

printed the result from the event listener here:

COM4
result from listener::AT
result from listener::E1

result from listener::

result from listener::

result from listener::OK

OK

result from listener::A
result from listener::T
result from listener::+CSCS="GSM"
result from listener::

result from listener::

result from listener::
OK

OK

result from listener::A
result from listener::T
result from listener::+CMGF=1

result from listener::

result from listener::

result from listener::OK

OK

result from listener::A
result from listener::T
result from listener::+CMGS="+639
result from listener::985851
result from listener::509"

result from listener::

result from listener::>

result from listener::W
result from listener::W
result from listener::W

result from listener::

result from listener::>
result from listener::

result from listener::�
result from listener::

result from listener::

result from listener::

result from listener::+CMGS: 104

result from listener::
OK

OK

OK

result from listener::A
result from listener::TE
result from listener::0

result from listener::

result from listener::

result from listener::OK

OK

result from listener::

result from listener::
OK
result from listener::

result from listener::

result from listener::

result from listener::OK

OK

result from listener::

result from listener::
E
result from listener::RROR

RROR

result from listener::

result from listener::

result from listener::+
result from listener::C
result from listener::MGL: 1,"REC
result from listener::UNREAD","+63
result from listener::9985851509"
result from listener::,,"21/03/30,
result from listener::04:49:23+32
result from listener::"
;10000002
result from listener::49;ASAKA123
result from listener::;tracker.as
result from listener::aka.ph,5009;
result from listener::TCP;00002;

result from listener::
OK

OK

result from listener::

result from listener::

result from listener::+CPMS: 1,35,
result from listener::1,35,1,35

result from listener::
OK

OK

result from listener::

result from listener::

result from listener::+
result from listener::CMGL: 1,"RE
result from listener::C READ","+6
result from listener::39985851509"
result from listener::,,"21/03/30,
result from listener::04:49:23+3
result from listener::2"
;1000000
result from listener::249;ASAKA12
result from listener::3;tracker.asa
result from listener::ka.ph,5009;
result from listener::TCP;00002;

result from listener::

OK

OK

result from listener::

result from listener::
E
result from listener::RROR

RROR

result from listener::

result from listener::

result from listener::OK

OK

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

I'm not sure why the buffer is getting cut

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

Looks like using byte delimited listener is what I need. I created something like this:

final class MessageListener implements SerialPortMessageListener
{
@OverRide
public int getListeningEvents() { return SerialPort.LISTENING_EVENT_DATA_RECEIVED; }

@OverRide
public byte[] getMessageDelimiter() { return new byte[] { (byte)0x0D0A }; }

@OverRide
public boolean delimiterIndicatesEndOfMessage() { return true; }

@OverRide
public void serialEvent(SerialPortEvent event)
{
StringBuffer sb = new StringBuffer();
byte[] delimitedMessage = event.getReceivedData();
for (int i = 0; i < delimitedMessage.length; i++) {
char charVal = (char)delimitedMessage[i];
sb.append(charVal);
}
System.out.println("event value is "+sb.toString());
}
}

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Yes it may help

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

It may be also something related to the baudrate.

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Try execute this
AT+IPR=?

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

+IPR: (0,2400,4800,9600,19200,38400,57600),(300,600,1200,115200)
I'm using 115200 baud rate

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

The default for the serial library is 9600

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Change it, and try again

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

yep i change it and was using the 115200 and same issue

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Try this
AT+IPR?

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

+IPR: 115200

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Can you try with serial communication application like putty?

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

yep i'm using that and seems to be working properly on putty, no issue there, i'm also using 115200 rate when connecting using putty

from java-gsm-at-ussd.

souhaib100 avatar souhaib100 commented on August 15, 2024

Try reduce the baudrate speed

from java-gsm-at-ussd.

elvindeguzman avatar elvindeguzman commented on August 15, 2024

tried lower baudrate speed still no luck :(

from java-gsm-at-ussd.

ngethe avatar ngethe commented on August 15, 2024

were you able to send ?

from java-gsm-at-ussd.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.