See: Description
Interface | Description |
---|---|
ATDevice |
The
ATDevice interface provides methods for controlling a Data Communication Equipment such as a modem or a
cellular module using AT commands. |
ATModem |
The
ATModem provides methods for controlling a Data Communication Equipment such as a modem or a cellular
module using AT commands and modem control signals. |
CommandResponseHandler |
The
CommandResponseHandler interface defines methods for handling responses to AT commands. |
DataConnection |
The
DataConnection interface provides methods for reading and writing to a data connection opened by issuing
an AT command (e.g. |
DataConnectionHandler |
The
DataConnectionHandler interface defines methods for handling connection state changes. |
UnsolicitedResponseHandler |
The
UnsolicitedResponseHandler interface defines methods for handling unsolicited result code responses from
an AT device. |
Class | Description |
---|---|
ATDeviceConfig |
The
ATDeviceConfig class encapsulates the hardware addressing information, and static and dynamic
configuration parameters of an AT device. |
ATPermission |
The
ATPermission class defines permissions for AT device access. |
ATDevice
or ATModem
instance for the
device the application wants to control, using its numerical ID, name, type (interface) and/or properties:
ATDevice device = PeripheralManager.open(15);
Or (with modem signals control properties),ATDevice device = PeripheralManager.open("MODEM", ATDevice.class, "javax.deviceaccess.atcmd.psd=true", "javax.deviceaccess.atcmd.sms=true");
ATModem device = PeripheralManager.open("MODEM", ATModem.class, "javax.deviceaccess.atcmd.psd=true", "javax.deviceaccess.atcmd.sms=true");
ATDevice
interface such as the
sendCommand()
methods. When done, the application should call thedevice.sendCommand("AT\n");
ATDevice.close()
method to close AT device. The following sample codes give examples of using the AT API to send an SMS:device.close();
Unless otherwise noted, passing apublic static final int SUBMITTED = 1; public static final int SENT = 2; public static final int ERROR = 3; private ATDevice modem = null; private int status = 0; private class SMSHandler implements CommandResponseHandler { String text; public SMSHandler(String text) { this.text = text; } public String processResponse(ATDevice modem, String response) { // Assume that command echo has been previously disabled (such as with anATE0
command). if (response.equals("> \n")) { // Prompt for text return text; } else if (response.equals("OK\n")) { status = SENT; // Sent successfully } else if (response.contains("ERROR")) { status = ERROR; // Failed to send } return null; } } public boolean sendSMS(final String number, final String text) { // Acquire a modem with "sms" properties try { if (modem == null) { modem = PeripheralManager.open(null, ATDevice.class, "javax.deviceaccess.atcmd.sms=true"); } // Send SMS command SMSHandler sh = new SMSHandler(text); modem.sendCommand("AT+CMGS=\"" + number + "\"\n", sh); status = SUBMITTED; return true; // Submitted successfully } catch (IOException ioe) { return false; // Failed to submit } } public int getStatus() { return status; } public void close() { if (modem != null) { try { modem.close(); } catch (IOException ex) { // Ignored } } }
null
argument to a constructor or method in any class
or interface in this package will cause a NullPointerException
to be thrown.Copyright © 2012, 2013, Oracle and/or its affiliates. All rights reserved.
Legal Notices