WIPAT Commands User Guide
WIPAT Commands User Guide
WIPAT Commands User Guide
WIPsoft 5.42
WIPsoft 5.42
Introduction
Important Notice
Due to the nature of wireless communications, transmission and reception of data can never be guaranteed. Data may be delayed, corrupted (i.e., have errors) or be totally lost. Although significant delays or losses of data are rare when wireless devices such as the Sierra Wireless modem are used in a normal manner with a well-constructed network, the Sierra Wireless modem should not be used in situations where failure to transmit or receive data could result in damage of any kind to the user or any other party, including but not limited to personal injury, death, or loss of property. Sierra Wireless accepts no responsibility for damages of any kind resulting from delays or errors in data transmitted or received using the Sierra Wireless modem, or for failure of the Sierra Wireless modem to transmit or receive such data.
The driver or operator of any vehicle should not operate the Sierra Wireless modem while in control of a vehicle. Doing so will detract from the driver or operators control and operation of that vehicle. In some states and provinces, operating such communications devices while in control of a vehicle is an offence.
Limitations of Liability
This manual is provided as is. Sierra Wireless makes no warranties of any kind, either expressed or implied, including any implied warranties of merchantability, fitness for a particular purpose, or noninfringement. The recipient of the manual shall endorse all risks arising from its use. The information in this manual is subject to change without notice and does not represent a commitment on the part of Sierra Wireless. SIERRA WIRELESS AND ITS AFFILIATES SPECIFICALLY DISCLAIM LIABILITY FOR ANY AND ALL DIRECT, INDIRECT, SPECIAL, GENERAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF PROFITS OR REVENUE OR ANTICIPATED PROFITS OR REVENUE ARISING OUT OF THE USE OR INABILITY TO USE ANY SIERRA WIRELESS PRODUCT, EVEN IF SIERRA WIRELESS AND/OR ITS AFFILIATES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR THEY ARE FORESEEABLE OR FOR CLAIMS BY ANY THIRD PARTY. Notwithstanding the foregoing, in no event shall Sierra Wireless and/or its affiliates aggregate liability arising under or in connection with the Sierra Wireless product, regardless of the number of events, occurrences, or claims giving rise to liability, be in excess of the price paid by the purchaser for the Sierra Wireless product.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
WIPsoft 5.42
Introduction
Patents
This product may contain technology developed by or for Sierra Wireless Inc. This product includes technology licensed from QUALCOMM 3G. This product is manufactured or sold by Sierra Wireless Inc. or its affiliates under one or more patents licensed from InterDigital Group.
Copyright
2011 Sierra Wireless. All rights reserved.
Trademarks
AirCard and Watcher are registered trademarks of Sierra Wireless. Sierra Wireless, AirPrime, AirLink, AirVantage and the Sierra Wireless logo are trademarks of Sierra Wireless.
, , , inSIM , WAVECOM , WISMO , Wireless Microprocessor , Wireless CPU , Open AT are filed or registered trademarks of Sierra Wireless S.A. in France and/or in other countries.
Windows and Windows Vista are registered trademarks of Microsoft Corporation. Macintosh and Mac OS are registered trademarks of Apple Inc., registered in the U.S. and other countries. QUALCOMM is a registered trademark of QUALCOMM Incorporated. Used under license. Other trademarks are the property of the respective owners.
Contact Information
Phone: Sales Desk: Hours: E-mail: Sierra Wireless 13811 Wireless Way Richmond, BC Canada V6V 3A4 1-604-231-1109 1-604-232-1488 8:00 AM to 5:00 PM Pacific Time
sales@sierrawireless.com
Post:
Fax: Web:
www.sierrawireless.com
Consult our website for up-to-date product descriptions, documentation, application notes, firmware upgrades, troubleshooting tips, and press releases: www.sierrawireless.com
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
WIPsoft 5.42
Introduction
Document History
Version 001 002 003 004 005 Date March 14 2008 May 30 2008 December 15, 2008 March 9, 2009 July 28, 2009 Updates Creation Update for WIPsoft v5.01 Update for WIPsoft v5.11 Update for WIPsoft v5.12 Updated definition of Error 850 and 852 definitions updated. Added Note: If the Ethernet bearer support is defined, the Ethernet driver is subscribed on executing (+WIPCFG = 1). AT_WIP_NET_OPT_AUTO_SWITCH definition updated. <bid> parameter identifier updated to ETHER. Seven new rows added to Parameters table starting with Parameter number 23 through <netmask IP @*>. Caution regarding WIP_BOPT_IP_NETMASK and WIP_BOPT_IP_GW added. Example updated starting at AT+WIPBR=1,4 through the end of the table. Note that The Ethernet bearer can be started only in client mode added. Definition updated and note added to discuss that data can be transferred using two modes. Mode 5 added and AT+WIPFILE=4,1,5,report.log example enhanced to reflect new mode. New +WIPDATA error added. 006 007 008 February 22, 2010 March 24, 2010 July 20, 2010 Added opt num parameters WIP_BOPT_DEBUG_PKT and WIP_BOPT_RESTART to the +WIPBR command. Updated version number Clarified the definition of the WIP_BOPT_PPP_CHAP option for the +WIPBR command.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
WIPsoft 5.42
Introduction
Version 009
Updates Corrected erroneous syntax for mode=1 in the Service Creation +WIPCREATE section. Added a new <opt num> 28 and its corresponding GPRS CME Errors to the Bearers Handling +WIPBR section. Added new DATA Offline function including:
New DATA Offline session +WIPDATARW section. New <opt num> 15 in the IP Stack Handling +WIPCFG section. New <mode> 6, 7, 8, and 9 in the File Exchange +WIPFILE section. New <mode> 3 and <error> 836 in the Socket Data exchange +WIPDATA section. New <error> 853. New FTP DATA Offline example.
Added new MMS function including:
Added new MMS <mode> = 8 and details to the subsections of the following commands: Service Creation +WIPCREATE Closing a Service +WIPCLOSE Service Option Handling +WIPOPT, including additional options that can be applied to MMS sessions File Exchange +WIPFILE MMS Example MMS Errors 890 through 897 Note regarding the WIP_MMS_DONE option. Added new TCP Options function as <opt num> 16 and 17 in the IP Stack Handling +WIPCFG section.
010 August 3, 2011 Updated the <protocol>=8 information for the AT+WIPFILE command. Updated the AT+WIPOPT=8,1,2,96 code and the two following lines in the MMS example. Added error 801 to the +WIPFILE command. Added a Caution notice to the section called Options that can be applied to MMS sessions. Updated the +WIPCREATE Read command AT+WIPCREATE? and corresponding example. Added note regarding Option 16 to the +WIPBR command
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
Contents
1. INTRODUCTION ................................................................................................ 10
1.1. 1.2. 1.3. Abbreviations ...................................................................................................................10 Logos ...............................................................................................................................11 AT Commands Presentation Rules .................................................................................12
3. PRINCIPLES ...................................................................................................... 14
3.1. Sockets Identification ......................................................................................................15 3.1.1. Possible Protocols ....................................................................................................15 3.1.2. Number of Sockets ...................................................................................................15 3.1.3. Notes ........................................................................................................................15
4.2.
4.2.6. 4.2.7.
4.2.7.1.
WM_DEV_OAT_UGD_076
Introduction
Closing a Service +WIPCLOSE ......................................................................................44 5.2.1. Description ...............................................................................................................44 5.2.2. Syntax ......................................................................................................................44 5.2.3. Parameters and Defined Values ..............................................................................44 5.2.4. Parameter Storage ...................................................................................................45 5.2.5. Possible Errors .........................................................................................................45 5.2.6. Examples..................................................................................................................45 5.2.7. Notes ........................................................................................................................46 Service Option Handling +WIPOPT ................................................................................47 5.3.1. Description ...............................................................................................................47 5.3.2. Syntax ......................................................................................................................47 5.3.3. Parameters and Defined Values ..............................................................................48 5.3.4. Parameter Storage ...................................................................................................48 5.3.5. Possible Errors .........................................................................................................49 5.3.6. Examples..................................................................................................................49 5.3.7. Notes ........................................................................................................................51
5.3.7.1. 5.3.7.2. 5.3.7.3. 5.3.7.4. 5.3.7.5. 5.3.7.6. Options that can be applied to UDP, TCP Client, TCP Server Sockets ........................ 51 Options that can be applied to FTP Session ................................................................. 52 Options that can be applied to HTTP Session .............................................................. 52 Options that can be applied to SMTP Session .............................................................. 53 Options that can be applied to POP3 Session .............................................................. 54 Options that can be applied to MMS sessions .............................................................. 55
5.3.
FTP/HTTP/SMTP Session in Continuous Mode ......................................................60 FTP Session in Continuous Transparent Mode .......................................................61 Syntax ......................................................................................................................61 Parameters and Defined Values ..............................................................................63 Parameter Storage ...................................................................................................65 Possible Errors .........................................................................................................65 Examples..................................................................................................................66 Notes ........................................................................................................................67
Socket Data exchange +WIPDATA .................................................................................68 6.2.1. Description ...............................................................................................................68 6.2.2. Continuous Mode .....................................................................................................68
6.2.2.1. 6.2.2.2. 6.2.2.3. 6.2.2.4. TCP Sockets in Continuous mode ................................................................................ 68 UDP Sockets in Continuous mode ................................................................................ 68 [ETX] Escaping Mechanism .......................................................................................... 69 [DLE] Escaping Mechanism .......................................................................................... 71 TCP Sockets in Continuous Transparent Mode ............................................................ 72 UDP Sockets in Continuous Transparent Mode ............................................................ 72
6.2.3.
6.2.3.1. 6.2.3.2.
Leaving Continuous /Continuous Transparent Mode ..............................................72 Resetting TCP Sockets ............................................................................................73 Syntax ......................................................................................................................73 Parameters and Defined Values ..............................................................................74 Parameter Storage ...................................................................................................74 Rev 010 August 3, 2011 7
WM_DEV_OAT_UGD_076
6.3.
DATA Offline session +WIPDATARW .............................................................................80 6.3.1. Restrictions...............................................................................................................80 6.3.2. Syntax ......................................................................................................................80 6.3.3. Parameters and Defined Values ..............................................................................81 6.3.4. Parameter Storage ...................................................................................................81 6.3.5. Possible Errors .........................................................................................................82 6.3.6. Examples..................................................................................................................82
8.3.
9.1.2.
9.1.2.1. 9.1.2.2.
UDP Socket .....................................................................................................................93 PING ................................................................................................................................95 FTP ..................................................................................................................................96 FTP DATA Offline ............................................................................................................97 HTTP ...............................................................................................................................98 Rev 010 August 3, 2011 8
WM_DEV_OAT_UGD_076
Introduction SMTP ...............................................................................................................................99 POP3 .............................................................................................................................101 MMS ..............................................................................................................................103 Creating a TCP Server, spawning the maximum TCP Socket (for the configured Server) 106
9.11. Creating a Server and try to create a TCP Client/Server on a reserved index (reserved by the Server) will fail. ..................................................................................................................107 9.12. Create a TCP Client and try to create a TCP Server with indexes range containing TCP Client will fail. ................................................................................................................................109 9.13. Creating 8 UDP sockets, 8 TCP clients and 4 TCP servers. ........................................110
9.14. Changing the MAX_SOCK_NUM option value and try to create 8 UDP sockets, 8 TCP Client sockets and 4 TCP Server sockets. ...................................................................................113 9.15. Creating 8 UDP sockets, 8 TCP Clients, 4 TCP Servers and either one FTP/HTTP/SMTP/POP3 ...............................................................................................................115 9.16. Subscribe/Unsubscribe WIPsoft AT commands using WIPsoft Library API .................119
9.17. Creating TCP client and server sockets in the same Wireless CPU at the same time mapping or unmapping the UART to exchange the data between the sockets ...........................120
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
1. Introduction
The aim of this document is to provide Sierra Wireless customers with a full description of the AT commands associated with the WIP feature.
1.1.
Abbreviations
Definition Access Point Name American Standard Code for Information Interchange ATtention Blind Carbon Copy Carbon Copy Challenge Handshake Authentication Protocol Card Holder Verification Context IDentifier Converter Multiplexer Central Processing Unit Domain Name System Gateway GPRS Support Node General Packet Radio Service Global System for Mobile communication Hyper Text Transfer Protocol Internet Protocol Internet Protocol Control Protocol Mandatory Mobile Station Not Applicable MicroSoft Challenge Handshake Authentication Maximum Segment Size Not Used Optional Operating System Password Authentication Protocol Packet Data Protocol Personal Identity Number Post Office Protocol Point-to-Point Protocol Subscriber Information Module Simple Mail Transfer Protocol Transmission Control Protocol Type Of Service Time To Live
Abbreviation APN ASCII AT BCC CC CHAP CHV CID CMUX CPU DNS GGSN GPRS GSM HTTP IP IPCP M MS N/A MSCHAP MSS NU O OS PAP PDP PIN POP3 PPP SIM SMTP TCP TOS TTL
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
10
WIPsoft 5.42
Introduction
Definition Universal Asynchronous Receiver Transmitter User Data Protocol Uniform Resource Locator Wavecom Internet Protocol
1.2.
Logo
Logos
Definition This picture indicates the +WIND indication from which the AT command is allowed. X values can be: 1, 3, 4, or 16.
This picture indicates that a SIM card must be inserted to support the AT command.
This picture indicates that an AT command is supported even if the SIM card is absent.
This picture indicates that the PIN 1 /CHV 1 code must be entered to support the AT command. This picture indicates that an AT command is supported even if the PIN 1 /CHV 1 code is not entered. This picture indicates that the PIN 2 /CHV 2 code must be entered to support the AT command. This picture indicates that an AT command is supported even if the PIN 2/CHV 2 code is not entered.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
11
WIPsoft 5.42
Introduction
1.3.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
12
2. AT Command Syntax
This section describes the AT command format and the default value for their parameters.
2.1.
Command Line
Commands always start by the standard prefix AT+WIP and end with the <CR> character. Optional parameters are shown in brackets [ ].
Example: AT+WIPcmd=<Param1>[,<Param2>] <Param2> is optional. When the AT+WIPcmd is executed without <Param2> the default value of <param2> is used.
2.2.
Responses start and end with <CR><LF>, except for the ATV0 DCE response format and the ATQ1 (result code suppression) commands.
In some cases, such as "AT+CPIN?" or (unsolicited) incoming events, the product does not return the "OK" string as a response. In the following examples <CR> and <CR><LF> are intentionally omitted.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
13
3. Principles
WIPsoft is an application that implements the TCP/IP protocols using custom AT commands. This application operates in co-operative mode and must be downloaded to the Sierra Wireless embedded module. The commands are sent from an external application and the corresponding responses are sent back from the module to the external application. The WIPsoft uses the APIs provided by WIPlib and provides custom AT command interface to the external application. AT+WIP commands involve: a host computer, which issues AT+WIP commands Sierra Wireless intelligent embedded module the rest of the Internet / Intranet
INTERNET
Multiplexing: Several sockets can be operating at once. The +WIPDATA command allows to temporarily identify the UART in data mode with a given socket. The data written on UART is transferred through the socket. The data which arrives on the socket can be read from the UART. In AT mode, the host receives an unsolicited event when the data arrives on the socket. Multiple UARTs: There can be several UARTs simultaneously active at once, and different UARTs can map a different socket simultaneously. However, it is a forbidden to map a single socket on several UARTs simultaneously.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
14
WIPsoft 5.42
Principles
3.1.
Sockets Identification
Sockets are identified by a pair of numbers: the first one identifies the protocol; the second one identifies a given socket of this protocol.
3.1.1.
Possible Protocols
The possible protocols are, 1 = UDP 2 = TCP in connect mode (Client) 3 = TCP in listen mode (Server) 4 = FTP 5 = HTTP 6 = SMTP 7 = POP3 8 = MMS Two pairs with a different protocol number but the same index identify two distinct sockets. Example: Both 1,7 and 2,7 are valid identifiers simultaneously; the former identifies a UDP socket and the later, a TCP connected socket.
3.1.2.
Number of Sockets
The number of sockets per protocol is limited. UDP : 8 sockets TCP Clients : 8 sockets TCP Servers : 4 sockets
3.1.3.
Notes
The creation of basic sockets (TCP/UDP) is not commercial but other features are locked by a commercial feature named "internet plug-in". The WIPsoft commands used for socket/session creation will return a +CME ERROR: 839 error code if the feature is not enabled. To enable the features, you can refer to the Firmware AT Commands Interface Manual (especially the AT+WCFM command) and we recommend you to contact your Sierra Wireless distributor or sales point for further details.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
15
4. General Configuration
4.1. IP Stack Handling +WIPCFG
4.1.1.
Description
The +WIPCFG command is used for performing the following operations: start TCP/IP stack stop TCP/IP stack configuring TCP/IP stack displaying version information
4.1.2.
Syntax
if<mode>=0,1
Action Command
AT+WIPCFG=<mode> OK
if <mode>=2
Action Command
AT+WIPCFG=<mode>,<opt num>,<value> OK
if <mode>=3
Action Command
AT+WIPCFG=<mode> WIPsoft vXX.YY.ZZ on Open AT OS vA.B MMM-DDD-YYYY HH:MM:SS <WIPlib: version number> <WIPsoft: version number> OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
16
WIPsoft 5.42
General Configuration
if <mode>=4
Action Command
AT+WIPCFG=<mode>,<action> OK
Read Command
Test Command
AT+WIPCFG=? OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
17
WIPsoft 5.42
General Configuration
4.1.3.
<mode>:
2 3 4
<opt num>:
| PRECEDENCE | |
+-----+-----+-----+-----+-----+-----+-----+-----+
The first field is "PRECEDENCE". It is intended to denote the importance or priority of the datagram. The second field is "TOS" which denotes how the network should maintain the tradeoffs between throughput, delay, reliability, and cost. The last field is "MBZ" (Must Be Zero"), is currently unused and is set to 0. The TOS field can have the following values: 1000 -- minimize delay 0100 -- maximize throughput
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
18
WIPsoft 5.42
0010 -- maximize reliability 0001 -- minimize monetary cost 0000 -- normal service For more information on this field please refer to RFC1349. range: 0-255 (default value: 0) 2
General Configuration
WIP_NET_OPT_IP_FRAG_TIMEO - Time to live in seconds of incomplete fragments When a datagrams size is larger than the MTU (Maximum Transmission Unit) of the network, then the datagram is divided into smaller fragments. These divided fragments are sent separately. The WIP_NET_OPT_IP_FRAG_TIMEO option specifies the Time to live for these fragments. range: 1-65535 (default value: 60)
WIP_NET_OPT_TCP_MAXINITWIN Number of segments of initial TCP window This option is used to specify the number of segments in the initial TCP window. A TCP window specifies the amount of outstanding (unacknowledged by the recipient) data a sender can send on a particular connection before it gets an acknowledgment back from the receiver. The primary reason for the window is congestion control. range: 0-65535 (default value: 0)
WIP_NET_OPT_TCP_MIN_MSS - Default MSS of off-link connections This option is used by the WIPlib Plug-In internally. This parameter specifies the maximum size of TCP segment which would be sent. By default, the value of this parameter is set to 536. Hence WIPlib Plug-In would not send any TCP segment having a length greater than 536 bytes without header. range: 536-1460 (default value: 536)
WIP_NET_OPT_DEBUG_PORT This option is used to specify the port on which the debug traces are to be sent. range: 0-3 (default value: 0)
12
AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE - Used for TCP sockets to configure the packet segmentation on IP network side This option is used to specify the maximum time to wait between two successive data chunks received from the mapped UART/serial port (please see +WIPDATA AT command). It allows the application to buffer a certain amount of data before writing on IP network side. Each unit in the range represents 100 msec. For example, value 10 for this option will give a wait time of 1sec (10*100msec). Default value for AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE option is 0. This value means that no specific process is done to avoid TCP packets segmentation: data are written onto IP network without any delay after the reception of data from the mapped UART/serial port (please see +WIPDATA AT command). In this case some TCP packets sent on the IP network may be smaller than TCP_MIN_MSS value. Setting e.g. a 10 value for this option will make the application to wait at least 1 second or twice the TCP_MIN_MSS value to be reached before sending data on IP network. In this case, TCP packets size sent on the IP network should be equal to at least TCP_MIN_MSS (Default value = 536 bytes). range: 0- 100 (default value: 0)
13
AT_WIP_NET_OPT_ESC_SEQ_NOT_SENT : Used to configure whether a +++ escape sequence should be sent as data to the peer. By default, this option is set to 0 which means that the +++sequence is sent to the peer as data. If set to 1, +++sequence is not sent as data to the peer. range: 0 -1(default value:0)
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
19
WIPsoft 5.42
14
General Configuration
AT_WIP_NET_OPT_AUTO_SWITCH - Used for TCP socket, to switch back automatically to AT command mode when the TCP connection is closed by peer entity 0: Does not switch automatically to AT mode 1: Switches automatically to AT mode range: 0-1 (default value:0) 15 Set DATA offline (+WIPDATARW) RX and TX buffer size in bytes range : 1 32000 (default value 2048) 16 WIP_NET_OPT_TCP_REXMT_MAX Maximum timeout of TCP packets; the maximum time between TCP retransmissions range: 1 - 64 (default value:64 seconds) 17 WIP_NET_OPT_TCP_REXMT_MAXCNT - Max number of TCP packet retransmissions range: 1 - 12 (default value:12)
<action>:
0 1
requested operation on TCP/IP stack parameter management configuration storage (when existing) is freed stores the configuration parameters value range for different configuration options WIPsoft release version Open AT OS release version date of built of WIPsoft application
<value>: <XX.YY.ZZ >: <A.B>: <MM-DD-YYYY>: <HH:MM:SS>: <WIPlib: version number>: <WIPsoft: version number>:
WIPlib version
Note: Note:
(WIP_NET_OPT_SOCK_MAX + 1) sockets are reserved when UDP sockets are created (and not for TCP sockets); one socket buffer is added to support/afford DNS accesses For <opt num> numbers 6 through 11, the AT+WIPS command must be issued. For complete details regarding AT+WIPS, please refer the Firmware AT Commands Interface Manual.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
20
WIPsoft 5.42
General Configuration
4.1.4.
Parameter Storage
Only one IP stack configuration set can be saved into the FLASH memory. AT+WIPCFG=4,1 is used to store the TCP/IP stack configuration parameters into the FLASH memory AT+WIPCFG=4,0 is used to free the TCP/IP stack configuration storage Executing AT+WIPCFG=1 will apply default parameters when existing. Still it is possible to change option values at run time using AT+WIPCFG=2,<optnum>,<optvalue>.
4.1.5.
Possible Errors
The possible error message is displayed only if AT+CMEE=1 is activated else ERROR is displayed.
+CMEE AT error code 800 801 802 820 821 844 850 852
Description invalid option invalid option value not enough memory left error writing configuration in FLASH memory error freeing configuration in FLASH memory stack already started initialization failed IP stack not initialized
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
21
WIPsoft 5.42
General Configuration
4.1.6.
Command
Examples
Responses
AT+WIPCFG=1
Note: Start IP Stack
OK +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: OK OK +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: +WIPCFG: OK 0,10 1,0 2,60 3,0 4,536 5,0 6,8 7,32 8,0 9,0 10,4 11,4 12,10 13,0 14,0 15,2048 16,64 17,12 0,64 1,0 2,60 3,0 4,536 5,0 6,8 7,32 8,0 9,0 10,4 11,4 12,10 13,0 14,0 15,2048 16,64 17,12
AT+WIPCFG?
AT+WIPCFG=2,0,10
Note: Configure TTL of IP Stack
AT+WIPCFG?
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
22
WIPsoft 5.42
General Configuration
Command
Responses
AT+WIPCFG=0
Note: Stop the TCP/IP Stack
AT+WIPCFG=4,1
Note: Store IP configuration parameters into FLASH
AT+WIPCFG=4,0
Note: Free IP configuration parameters stored in FLASH
OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
23
WIPsoft 5.42
General Configuration
4.1.7.
Notes
It is recommended to change the default settings of the WIP stack using +WIPCFG only when it is required. Changing the parameter values especially the max number of sockets and the max TCP buffer size with the high values lead to over consumption of the stack memory which causes the WIPsoft to crash. Hence, care must be taken when the default settings of the stack is changed using +WIPCFG command. Following option values set by +WIPCFG command are taken into consideration at the run time. The below option values except for AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE and AT_WIP_NET_OPT_ESC_SEQ_NOT_SENT will be taken into consideration at next start up only if these are saved in the flash before stopping the stack. WIP_NET_OPT_IP_TTL WIP_NET_OPT_IP_TOS WIP_NET_OPT_IP_FRAG_TIMEO WIP_NET_OPT_TCP_MAXINITWIN WIP_NET_OPT_TCP_MIN_MSS WIP_NET_OPT_DEBUG_PORT AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE AT_WIP_NET_OPT_ESC_SEQ_NOT_SENT AT_WIP_NET_OPT_AUTO_SWITCH
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
24
WIPsoft 5.42
General Configuration
4.2.
4.2.1.
Description
The +WIPBR command can be used to select the bearer start/close the bearer configure different bearer options such as access point name
4.2.2.
Syntax
if <cmdtype>=0,1 or 5
Action Command
AT+WIPBR=<cmdtype>,<bid> OK
if <cmdtype>=2
Action Command
AT+WIPBR=<cmdtype>,<bid>,<opt num>,<value> OK
if <cmdtype>=3
Action Command
if <cmdtype>=4
Action Command
AT+WIPBR=<cmdtype>,<bid>,<mode>[,<login>,<password>,[<caller identity>]] OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
25
General Configuration
Action Command
AT+WIPBR=<cmdtype>,<bid>,<mode> OK
Read Command
Test Command
AT+WIPBR=? OK
if <mode>=1
Unsolicited response
IP
@>,<remote
IP
@>,<DNS1
@>,
4.2.3.
<cmd type>: 0 1 2 3 4 5 6 <bid>:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
26
WIPsoft 5.42
General Configuration
N/A ETHER GSM GPRS CMUX port over UART1 CMUX port over UART2 bearer option identifier WIP_BOPT_LOGIN username (string) max: 64 characters
WIP_BOPT_DIAL_RINGCOUNT - Number of rings to wait before sending the WIP_BEV_DIAL_CALL event range: 0-65535
WIP_BOPT_PPP_CHAP - Allow CHAP authentication for the connection between the PC and the Wireless CPU (UART bearer) range: 0-1
10
11
12
13
14
15
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
27
WIPsoft 5.42
16
General Configuration
WIP_BOPT_IP_DST_ADDR - Destination IP address (IP/string) Note: 17 18 19 This option is available only for UART PPP and GSM PPP, and is not applicable for GPRA bearer.
WIP_BOPT_IP_DNS1 - Address of primary DNS server (IP/string) WIP_BOPT_IP_DNS2 - Address of secondary DNS server (IP/string) WIP_BOPT_IP_SETDNS established range: 0-1 Configure DNS resolver when connection is
20
WIP_BOPT_IP_SETGW - Set interface as default gateway when connection is established range: 0-1
21
WIP_BOPT_GPRS_TIMEOUT - Define a time limit to connect GPRS bearer. For example, value 300 for this option sets a wait time of 30s (300*100ms). Note: If timer expires before GPRS bearer connects, error 847 is returned. range: 300-1200 (default: 1200).
22
23
24 25 26 27 28
WIP_BOPT_IP_MAC - Reads the MAC address, functioning as a read only option WIP_BOPT_IP_NETMASK - Sets the Network mask WIP_BOPT_IP_GW - Sets address of default gateway WIP_BOPT_RESTART terminated Automatically restart server after connection is
WIP_BOPT_GPRS_ERROR_REPORTING report <GPRS CME errors> instead of WIPsoft generic error range:0-1 (default=0 for WIPsoft generic error)
MAC address of Ethernet driver default gateway address network mask address range of value for different bearer options mode of operation
0 1 <state>:
stopped
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
28
WIPsoft 5.42
started
General Configuration
1 <status>:
<local IP @*>: <remote IP @*>: <DNS1 IP @*>: <DNS2 IP @*>: <login>: <passwd>: <caller identity>:
* IP @ are displayed in alpha numeric dot format. e.g. 192.168.0.1When no IP address is known, 0.0.0.0 is displayed.
Caution: The options WIP_BOPT_IP_ADDR, WIP_BOPT_IP_DST_ADDR, WIP_BOPT_IP_DNS1 and WIP_BOPT_IP_DNS2 can be read after the bearer connection is established successfully. If an attempt is made to read the options value before the bearer connection is established successfully, incorrect IP address will be received. Caution: The options WIP_BOPT_IP_NETMASK and WIP_BOPT_IP_GW can be read after the bearer connection is established successfully. If an attempt is made to read the options value before the bearer connection is established successfully, incorrect IP address will be received. Also the option WIP_BOPT_IP_MAC can be read after the bearer connection is open successfully. If an attempt is made to read the options value before the bearer connection is open, incorrect IP address will be received. If the Ethernet bearer supported is defined, the MAC address is read from the Ethernet driver on opening the bearer(i.e., +WIPBR=4,1).
4.2.4.
Parameter Storage
Several bearer configuration set can be saved. Calling twice AT+WIPBR=6,<bid>,1 with the same <bid> will store the last configuration set. AT+WIPBR=6,<bid>,1 is used to store the bearer configuration parameters set associated with the bearer <bid> into the FLASH memory. AT+WIPBR=6,<bid>,0 is used to free the bearer configuration parame ters set associated with the bearer <bid>. Executing AT+WIPBR=1,<bid> will open bearer <bid> with default parameters of the bearer when existing.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
29
WIPsoft 5.42
General Configuration
4.2.5.
4.2.5.1.
Possible Errors
General CME Errors
The possible error message is displayed only if AT+CMEE=1 is activated else ERROR is displayed.
+CMEE AT error code 800 801 802 803 804 807 808 815 816 820 821 847 848 849 Description invalid option invalid option value not enough memory left operation not allowed in the current WIP stack state device already open bearer connection failure : line busy bearer connection failure : no answer bearer connection failure : PPP authentication failed bearer connection failure : PPP IPCP negotiation failed error writing configuration in FLASH memory error freeing configuration in FLASH memory bearer connection failure: WIP_BOPT_GPRS_TIMEOUT time limit expired before GPRS bearer connected impossible to connect to the bearer connection to the bearer has succeeded but a problem has occurred during the data flow establishment
4.2.5.2.
Incorrect MS identity.(#3) service option not supported (#32) requested service option not subscribed (#33) service option temporarily out of order (#26, #34, #38) unspecified GPRS error PDP authentication failure (#29) invalid mobile class
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
30
WIPsoft 5.42
General Configuration
4.2.6.
Command
Examples
Responses
AT+WIPBR? AT+WIPBR=1,6
Note: Open GPRS bearer
OK
Note: No bearer has been opened yet
AT+WIPBR=2,6,11,APN name
Note: Set APN of GPRS bearer
AT+WIPBR=3,6,11
Note: Get APN of GPRS bearer
AT+WIPBR=2,6,21,600
Note: set GPRS connection timeout value to 60s
AT+WIPBR=4,6,0
Note: Start GPRS bearer
AT+WIPBR=5,6
Note: Stop GPRS bearer
AT+WIPBR=0,6
Note: Close GPRS bearer
AT+WIPBR=1,5
Note: Open GSM bearer
AT+WIPBR=2,5,0,login
Note: Set the login for GSM bearer
AT+WIPBR=2,5,1,password
Note: Set the password for GSM bearer
AT+WIPBR=2,5,2,phonenumber
Note: Set the phone number for GSM bearer
AT+WIPBR=2,5,15,1.1.1.1
Note: Set the local IP address for GSM bearer
AT+WIPBR=2,5,16,2.2.2.2
Note: Set the destination IP address for GSM bearer
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
31
WIPsoft 5.42
General Configuration
Command
Responses
AT+WIPBR=3,5,15
+WIPBR: 5,15,0.0.0.0 OK
Note: Local IP address is not set as GSM bearer is still not connected
AT+WIPBR=3,5,16
Note: Read the destination IP address for GSM bearer
+WIPBR: 5,16,0.0.0.0 OK
Note: Destination IP address is not set as GSM bearer is still not connected
AT+WIPBR=4,5,0
Note: Start the GSM bearer as a client
AT+WIPBR=3,5,15
Note: Read the local IP for GSM bearer
AT+WIPBR=3,5,16
Note: Read the destination IP for GSM bearer
AT+WIPBR=5,5
Note: Stop the GSM bearer
AT+WIPBR=0,5
Note: Close the GSM bearer
AT+WIPBR=1,4
Note: Opens the Ethernet bearer.
AT+WIPBR=4,4,0
Note: Starts the Ethernet bearer in client mode.
AT+WIPBR=5,4
Note: Stops the Ethernet bearer.
AT+WIPBR=0,4
Note: Closes the Ethernet bearer.
AT+WIPBR=2,4,23,1
Note: Sets the DHCP to TRUE. Default: TRUE.
AT+WIPBR=3,4,24
Note: Reads the MAC address.
OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
32
WIPsoft 5.42
General Configuration
Command
Responses
AT+WIPBR=3,4,23
Note: Reads the DHCP value.
AT+WIPBR=3,4,25
Note: Reads the Default gateway address.
AT+WIPBR=3,4,26
Note: Reads the Network mask address.
4.2.7.
4.2.7.1.
Notes
For Starting a Bearer
The mandatory parameters to start a bearer in server mode: <cmdtype>, <bid>, <mode>, <login> and <password> client mode: <cmdtype>, <bid> and <mode> Depending on the mode and the bearer type, additional parameters are required or forbidden:
Bid 1,3,11,14,21,24 1,3,11,14,21,24 5 5 6 Mode 0 1 0 1 0 Other Parameters None <PPP login>, <PPP password> None <login>,<password>[,<caller identity>] None
Starting bearer as a server requires additional parameters as mentioned in the above table. For PPP server, only parameters <login> and <password> are required. They will be compared with remote PPP client login and password. For GSM server, <login> and <password> will be used for PPP over GSM establishment (same behavior as described for PPP server). The <caller identity> is an optional ASCII string (type ASCII*). If not specified, then target will accept all DATA calls (independently of caller identification). If specified, then target will only accept calls from <caller identity> (which is the GSM data call number of the GSM client. Opening bearer only consists in associating the IP protocol stack with the specified bearer. The corresponding bearer setup has to be done through the adequate already existing AT commands (please refer to +WMFM commands for UART1 and UART2, +CMUX command for CMUX virtual ports and GSM/GPRS AT commands). Several bearers can be opened at the same time but only one bearer can be started at a time. If both DNS1 and DNS2 are displayed as 0.0.0.0 in the unsolicited message when bearer is opened in server mode, it means that connecting to a remote IP host through an URL will fail. The options WIP_BOPT_DIAL_REDIALCOUNT and WIP_BOPT_DIAL_REDIALDELAY will not be implemented through AT commands. Nevertheless, for future compatibility reason, Opt num 3 and 4 are kept as reserved.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
33
WIPsoft 5.42
General Configuration
For GSM bearer, the options WIP_BOPT_IP_ADDR and WIP_BOPT_IP_DST_ADDR will display valid addresses only when the bearer is started and connected, else it will display an address 0.0.0.0. The Ethernet bearer can be started only in client mode.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
34
5. IP Protocol Services
5.1. Service Creation +WIPCREATE
5.1.1.
Description
The +WIPCREATE command is used to create UDP, TCP client and TCP server sockets associated with the specified index and FTP/HTTP/SMTP/ POP3 service. Only one FTP/HTTP/SMTP/POP3/MMS session at a time is available. If a local port is specified while creating a socket, the created socket will be assigned to this port; if not, a port will be assigned dynamically by WIP application. If peer IP and peer port is specified, the created socket will be connected to the specified IP and port. TCP server cannot be used to transfer data. To transfer data, it creates a local TCP client socket. This process of creating local socket is referred as spawning. When a server socket is created using, socket passively listens on a specified port for incoming connections. The below mentioned diagram shows different states managed for TCP server.
Listen
On reception of a connection request from a remote client socket, a server socket does the following, spawns a new socket (client) to connect to the remote socket data transfer is done between the spawned socket and the remote socket server socket remains in the listening mode and is ready to accept the request from other clients Below mentioned diagram shows connection establishment procedure.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
35
WIPsoft 5.42
IP Protocol Services
Client Socket
Transfer data
Socket Closed
5.1.2.
Syntax
if <mode>=1
Action Command
if <mode>=2
Action Command
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
36
WIPsoft 5.42
IP Protocol Services
if <mode>=3
Action Command
if <mode>=4
Action Command
AT+WIPCREATE=<mode>,<index>,<server>[,<peer_port>],<username>, <password>[,<account>] OK
if <mode>=5
Action Command
if <mode>=6 or 7
Action Command
AT+WIPCREATE=<mode>,<index>,<server>[,<peer port>][,<username>,<password>] OK
if <mode>=8
Action Command
AT+WIPCREATE=<mode>,<index>,<server>,<peer port>,<url> OK
Read Command
AT+WIPCREATE? +WIPREADY: <mode>, <communication index>[, <peer IP>[, name>[, <password>]]] (mode = 1, 2, 4, 5, 6, 7 or 8) +WIPSERV: <mode>, <communication index>, <local port>, idx>, <to idx> (mode = 1 and 3)
Note: Only sockets created with +WIPCREATE command are displayed.
<user <from
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
37
WIPsoft 5.42
IP Protocol Services
Test Command
AT+WIPCREATE=? OK
if <mode>=1 or 2
Unsolicited response
if <mode>=3
Unsolicited response
Unsolicited response
+WIPREADY: <mode>,<index>
5.1.3.
<mode>:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
38
WIPsoft 5.42
<peer port>: peer port or the server port
IP Protocol Services
For TCP/UDP, this parameter is the port of the peer socket. For FTP,HTTP,SMTP, POP3, and MMS, this parameter is the server port range: 1-65535 (default value for FTP: 21 default value for HTTP: 80 default value for SMTP: 25 default value for POP3: 110 default value for MMS: 8080) <from idx>: minimum index for spawned TCP sockets range: 1-8 <server index>: TCP server socket identifier range: 1-4 <to idx>: maximum index for spawned TCP sockets range: 1-8 <communication index>: indexes reserved for spawned sockets It cannot be used by other sockets even if the spawned sockets are not created yet. range: 1-8 <server>: server address or proxy address This parameter is the server address for FTP, SMTP and POP3 protocol and for HTTP it is proxy server address. It can either be a 32 bit number in dotted-decimal notation (xxx.xxx.xxx.xxx) or an alpha numeric string format for hostname. <user name>: username for the authentication in string format Authentication is disabled when this parameter is not specified for HTTP, SMTP and POP3. <password>: password for the authentication in string format Authentication is disabled when this parameter is not specified for HTTP, SMTP and POP3. <account>: account information of the user in string format This is required by some FTP server during authentication phases. <header list>: HTTP header message (name-value pair) The first string in the message header field is the name of the header and the second string is the value of the header. <url>: URL of the MMS server This is an alphanumeric string format for hostname starting with http://. <> additional HTTP message header fields more pairs(name, value) of HTTP message header field can be added
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
39
WIPsoft 5.42
IP Protocol Services
5.1.4.
None
Parameter Storage
5.1.5.
Possible Errors
Description operation not allowed invalid option operation not allowed in the current WIP stack state bad index bad port number not implemented memory allocation error bad protocol error during channel creation UDP/TCP socket or FTP/HTTP/SMTP/POP3 session is already active destination host unreachable ( whether host unreachable, Network unreachable, response timeout) attempt is made to reserve/create a client socket which is already reserved/opened by TCP server/client incorrect number of parameters submitted protocol undefined or internal error user name rejected by server password rejected by server authentication error server not ready error
+CMEE AT error code 3 800 803 830 832 834 836 837 839 840 842 845 851 860 861 862 865 866
5.1.6.
Command
Examples
Responses
AT+WIPCREATE=1,1,80
Note: Create the UDP socket on local port 80 with communication index = 1 embedded module acts as an UDP server awaiting for incoming datagram on local port 80
OK
Note: An unsolicited event +WIPREADY: 1,1 will be received once the UDP socket is ready for usage
AT+WIPCREATE=1,1,www.sierrawire less.com,80
OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
40
WIPsoft 5.42
IP Protocol Services
Command
Note: Create the UDP socket on arbitrary free local port with peer IP and peer port 80 with communication index = 1 embedded module acts as a UDP client that can send datagram towards the remote entity
Responses
Note: An unsolicited event +WIPREADY: 1,1 will be received once the UDP socket is ready for usage
AT+WIPCREATE=1,1,80,www.sierraw ireless.com,80
Note: Create the UDP socket on local port 80 with peer IP and peer port 80 with communication index = 1 embedded module acts as a UDP client and an UDP server : it can send datagram towards the remote entity and receiving datagram on the specified local port.
OK
Note: An unsolicited event +WIPREADY: 1,1 will be received once the UDP socket is ready for usage
AT+WIPCREATE=3,1,80,5,8
Note: Create the TCP server on port 80 with server index=1 embedded module acts as a TCP server : it will from now on spawn TCP client socket from communication index 5 to 8
OK
Note: An unsolicited event +WIPACCEPT: 1,5 will be received once the TCP server is ready for usage
AT+WIPCREATE=2,1,IP ADDR,80
Note: Create the TCP client on port 80 with index=1 embedded module acts as a TCP client : it can from now on communicate with the remote specified entity through communication index 1
OK
Note: An unsolicited event +WIPREADY: 2,1 will be received once the TCP client is ready for usage
AT+WIPCREATE=4,1,ftp.sierrawire less.com,admin,123456
Note: Create a FTP session towards the remote specified FTP server. Communication index to be used then is 1
OK
OK +WIPREADY: 5, 1
Note: HTTP session with proxy and 1 message header field Use default 80 proxy port number 1 message header field: Message header field name is User-Agent Message header field value is WIP-HTTTPClient/1.0
OK +WIPREADY: 5, 1
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
41
WIPsoft 5.42
IP Protocol Services
Command
Responses
Note: HTTP session with proxy and 3 message header fields Use default 80 proxy port number 3 message header fields: Message header field name is User-Agent and header field value is WIP-HTTTPClient/1.0 Message header field name is AcceptEncoding and header field value is gzip Message header field name is AcceptLanguage and header field value is en-US
AT+WIPCREATE=5,1,proxyaddress, ,user,pass
OK +WIPREADY: 5, 1
Note: Authentication connection on default proxy server port 80
AT+WIPCREATE=6,1,"smtp.mail.yaho o.fr","587","user","pass"
OK +WIPREADY: 6, 1
Note: Connect to SMTP server port 587 with given username and password
AT+WIPCREATE=7,1,"192.168.1.4"," 110","user","pass"
OK +WIPREADY: 7, 1
Note: Connect to POP3 server port 110 with given username and password
AT+WIPCREATE=7,1, "pop.mail.server.com"
OK +WIPREADY: 7, 1
Note: Connect to the default port 110 of POP3 server, with no authentication required
OK +WIPREADY: 8, 1
Note: Connect to the MMS server, with no authentication required
AT+WIPCREATE? AT+WIPCREATE=3,1,80,3,4
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
42
WIPsoft 5.42
IP Protocol Services
Command
Responses
+WIPREADY: 2,3,"192.168.0.2"
AT+WIPCREATE?
OK
Note: Connected TCP clients (remote IP = 192.168.0.2 and 192.168.10.20 ). TCP server listening on local port 80 for connection index from 1 to3)
5.1.7.
Notes
The maximum number of sockets can be set to 23 so that WIPsoft can handle in the same time either one FTP session (in passive mode)/HTTP/SMTP/POP3, 8 UDP sockets, 8 TCP client sockets and 4 TCP servers. Starting a TCP server requires to specify the maximum number of communication sockets that can be spawned. This can be done using <from idx> and <to idx> parameters. Note that the value set for <to idx> should be equal or more than <from idx>. The maximum communication socket that can be created using WIPsoft is 8. Hence, the range for <communication index> and <from idx>, <to idx> is 1-8. Note that the spawned communication socket and the TCP client socket share the same communication index. It is not possible to create a client socket with AT+WIPCREATE=2, x, y, z when x is already reserved by a server with AT+WIPCREATE=3,<server idx>, <local port>,a,b where axb. Similarly, it is not possible to reserve a range with AT+WIPCREATE=3, <server idx>, <local port>, a, b if one of the TCP client socket indexes between a and b is already reserved, be it by a client or a server range The <from idx> and <to idx> are reserved for the server socket till the server socket and the spawned sockets are closed explicitly. So when trying to create a new TCP server socket, the <from idx> and <to idx> should be different from what was used earlier. A parameter used as <from_idx> cant be used as <to_idx> anymore for other TCP server socket creation until spawned sockets with specified <from_idx> and <to_idx> are closed along with the TCP server socket explicitly and vice versa. When no more communication index is available in the TCP servers range (or no more resources to accept new incoming connections), any peer trying to connect to the server will receive an accept () immediately followed by a shutdown () (peer close). It is possible to have a TCP client and TCP server sockets running at the same time in the same Wireless CPU. In this scenario, when the connection is established between the TCP server and TCP client sockets, it is necessary to unmap the mapped socket on one index in order to send/receive data on socket which is created on another index. It is possible to use CMUX logical ports and can have an interface connection (like UART connection) for each socket for e.g. TCP client socket on one logical port and TCP server socket on another. In this case, it is not necessary to map or unmap the UART connections to send or receive the data from the socket. The +WIPCREATE command causes the connection and authentication to the FTP server. If several file uploads and retrievals are required to/from the same server, a single connection with +WIPCREATE is needed. Then, each file operation will be done (one +WIPFILE command per operation), and the FTP connection will be released with +WIPCLOSE. SIM card is required only if FTP session is established through GSM or GPRS. An FTP session upon an UART will work without a SIM card.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
43
WIPsoft 5.42
IP Protocol Services
5.2.
5.2.1.
Description
The +WIPCLOSE command is used to close a socket or FTP/HTTP/SMTP/POP3/MMS session. When one serial port (UART or CMUX DLCI) is used to map a socket for read/write operations, [ETX] character can also be used to close the socket. An unsolicited event is generated, when socket or FTP/HTTP/SMTP/POP3/MMS session is closed.
5.2.2.
Syntax
Action command
AT+WIPCLOSE=<protocol>,<idx> OK
Read Command
AT+WIPCLOSE? NONE
Test Command
AT+WIPCLOSE=? OK
Unsolicited response
+WIPPEERCLOSE: <protocol>,<idx>
5.2.3.
<protocol>:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
44
WIPsoft 5.42
5 6 7 8 <idx>: HTTP SMTP POP3 MMS socket identifier or FTP/HTTP/SMTP/POP3 session identifier
IP Protocol Services
This parameter is the index of the socket or FTP/HTTP/SMTP/POP3 session created with +WIPCREATE command.
5.2.4.
None
Parameter Storage
5.2.5.
Possible Errors
Description not enough memory operation not allowed in the current WIP stack state bad index bad state not implemented bad protocol
5.2.6.
Command
Examples
Responses
AT+WIPCLOSE=1,1
Note: Close UDP socket index 1 with communication
OK
AT+WIPCLOSE=2,1
Note: Close TCP client with communication index 1
OK
AT+WIPCLOSE=3,1
Note: Close TCP server with communication index 1
OK
AT+WIPCLOSE=4,1
Note: Close FTP session with index 1
OK
Note: An unsolicited event +WIPPEERCLOSE: 4,1 is received once the FTP session is closed
AT+WIPCLOSE=5,1
Note: Close HTTP session with index 1
OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
45
WIPsoft 5.42
IP Protocol Services
Command
Responses
AT+WIPCLOSE=6,1
Note: Close SMTP session with index 1
OK OK OK
AT+WIPCLOSE=7,1
Note: Close POP3 session with index 1
AT+WIPCLOSE=8,1
Note: Close MMS session with index 1
5.2.7.
Notes
After issuing +WIPCLOSE command, no more data can be sent and received over the socket/session. In case of FTP protocol, the closure of FTP session is indicated by +WIPEERCLOSE unsolicited response when +WIPCLOSE command is used for closing the session. In case of TCP and UDP sockets, response OK is returned when the +WIPCLOSE command is executed irrespective of whether the socket is active or not. But in case of FTP/HTTP/SMTP/POP3 session, OK response is returned if +WIPCLOSE command is executed when the session is active else +CME ERROR: 831 error code is returned.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
46
WIPsoft 5.42
IP Protocol Services
5.3.
5.3.1.
Description
The +WIPOPT command is used to read and/or to configure different parameters on sockets and FTP/HTTP/SMTP/POP3/MMS service.
5.3.2.
Syntax
if <action>=1
Action Command
AT+WIPOPT=<protocol>,<idx>,<action>,<optnum> OK
Action Command
AT+WIPOPT=<protocol>,<idx>,<action>,<optnum>,<optval> OK
if <action>=2 and <protocol>=8
Action Command
AT+WIPOPT=<protocol>,<idx>,<action>,<optnum>,<optval> [,<optval2>,[<optval3>],[<optval4>]] OK
Read Command
AT+WIPOPT? NONE
Test Command
AT+WIPOPT=? OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
47
IP Protocol Services
Unsolicited response
+WIPOPT: <protocol>,<optnum>,<optval>
Unsolicited response
5.3.3.
<protocol>: 1 2 3 4 5 6 7 8 <idx>: <action>: 1 2 <optnum>: <optval>: <optval2>: <optval3>: <optval4>:
5.3.4.
None
Parameter Storage
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
48
WIPsoft 5.42
IP Protocol Services
5.3.5.
Possible Errors
Description invalid option invalid option value operation not allowed in the current WIP stack state bad index not implemented option not supported bad protocol invalid channel option or parameter value (for example, HTTP user name too long) protocol undefined or internal error protocol delete error protocol list error
+CMEE AT error code 800 801 803 830 834 835 837 850 860 863 864
5.3.6.
Command
Examples
Responses
AT+WIPOPT=2,1,2,8,20
Note: Set TTL for TCP client
AT+WIPOPT=2,1,1,8
Note: Get TTL for TCP client
AT+WIPOPT=3,1,2,9,10
Note: Set TOS for TCP server
AT+WIPOPT=3,1,1,9
Note: Get TOS for TCP server
AT+WIPOPT=1,1,1,1
Note: Get peer port for UDP
AT+WIPOPT=4,1,2,40,1
Note: Set data representation type for FTP
AT+WIPOPT=4,1,1,40
Note: Get data representation type for FTP
AT+WIPOPT=5,1,2,52,0
Note: Set HTTP version to 1.0
AT+WIPOPT=5,1,2,53,6
Note: Set maxredirect to 6
OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
49
WIPsoft 5.42
IP Protocol Services
Command
Responses
AT+WIPOPT=5,1,1,52
Note: Get HTTP version
+WIPOPT: 5,52,0 OK
AT+WIPOPT=6,1,2,61,senderaddres s@mail.com
Note: Set the sender address
OK
AT+WIPOPT=6,1,2,67,0
Note: The application will format the mail header and send it during the data sending phase
OK
AT+WIPOPT=6,1,1,61
Note: Get the sender address
AT+WIPOPT=6,1,1,60
service
AT+WIPOPT=6,1,1,66
Note: Get the set mail subject
+WIPOPT: subject OK
6,66,My
AT+WIPOPT=7,1,1,72
Note: Get total mail size
+WIPOPT: 7,72,243000 OK +WIPOPT: 7,73,1,1024 +WIPOPT: 7,73,2,5237 +WIPOPT: 7,73,3,128 +WIPOPT: 7,73,4,36400 +WIPOPT: 7,73,5,356 OK
AT+WIPOPT=7,1,1,73
AT+WIPOPT=7,1,2,74,10
+WIPOPT: 7,74,10 OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
50
WIPsoft 5.42
IP Protocol Services
Command
Note: Delete mail ID 10
Responses
AT+WIPOPT=8,1,2,82,Mr <mr.smith@example.com
Smith
5.3.7.
Notes
It is possible to change and retrieve option value using +WIPOPT command only when the socket/session (given by <idx>) is active else it returns error.
5.3.7.1.
Options that can be applied to UDP, TCP Client, TCP Server Sockets
Option Type WIP_COPT_PORT WIP_COPT_PEER_PORT WIP_COPT_PEER_STRADDR Description Port of the socket Port of the peer socket Address of the peer socket Specifies whether the socket is bounded2 to a peer socket or not default: 1 Minimum amount of available space that must be available in the emission buffer before triggering a WIP_CEV_WRITE event default: 1024 Number of bytes that can currently be read on that socket default: 0 UDP R R R TCP client R R R TCP server R -
opt num 0 1 2
0-1
WIP_COPT_BOUND
1-5839
WIP_COPT_SND_LOWAT
RW
RW
0-65535
WIP_COPT_NREAD
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
51
WIPsoft 5.42
IP Protocol Services
opt num
Value format
Option Type
Description When set to TRUE, TCP packets are sent immediately, even if the buffer is not full enough. When set to FALSE, the packets will be sent either, a) by combining several small packets into a bigger packet b) when the data is ready to send and the stack is idle. default: 0 Time-to-leave for packets default: 64 Type of service default: 0
UDP
TCP client
TCP server
0-1
WIP_COPT_NODELAY
RW
RW
0-255
WIP_COPT_TTL
RW
RW
RW
0-255
WIP_COPT_TOS
RW
RW
RW
2 The option WIP_COPT_BOUND is used to check whether an UDP socket is bound to any other UDP socket or not. When the UDP socket is created without specifying the IP address of the peer, then the option WIP_COPT_BOUND will be read as FALSE. This is because there is no destination IP address to communicate with. If the UDP socket is created by specifying the peer IP address, the option WIP_COPT_BOUND will be read as TRUE. This is because the peer IP address will be resolved by the DNS and the socket is said to be bounded to the peer socket. Hence this option will be read as TRUE.
5.3.7.2.
opt num
40
0-1
boolean
41
0-1
boolean
5.3.7.3.
opt num Value format
50
u32
WIP_COPT_RCV_BUFSIZE
RW
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
52
WIPsoft 5.42
IP Protocol Services
opt num
Value format
Value Option type type set the size of the TCP socket send buffer. default: 0 define the HTTP version to be used by the session default: 1 set the maximum number of allowed redirects a zero value disables automatic redirects default: 8 return the HTTP message header field (or a list of message header fields) from the last WIPFILE call default: depends on the HTTP server Description Type
51
u32
WIP_COPT_SND_BUFSIZE WIP_COPT_HTTP_VERSION
RW
52
0-1
u8
RW
53
u32
WIP_COPT_HTTP_MAXREDIRECT
54
<ascii list>
WIP_COPT_HTTP_HEADER
Caution: Option 54 (WIP_COPT_HTTP_HEADER) is not implemented and hence attempt to read this option will result in +CME ERROR: 834.
5.3.7.4.
opt num Value format
60
digit/string
u32/ascii
WIP_COPT_SMTP_STATUS_CODE
61 62 63 64 65 66
RW RW RW RW RW RW
67
digit
u32
WIP_COPT_SMTP_FORMAT_HEADER
RW
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
53
WIPsoft 5.42
IP Protocol Services
Caution: When option WIP_COPT_SMTP_FORMAT_HEADER is set to 0, application can format the mail header to attach documents (see RFC 2822 for Standard for the Format of ARPA Internet Text Messages for formatting details). Note that +WIPFILE command is used to send both mail header and body. Caution: When option WIP_COPT_SMTP_STATUS_CODE is used to retrieve the error code and the associated error string for the SMTP session creation, it will not return any error code and error string if no error occurred during that particular SMTP session creation. For example, After the SMTP session is created successfully, an attempt to retrieve the error code and the associated error string, using the option WIP_COPT_SMTP_STATUS_CODE, will result in an error code 0 and the error string corresponding to the successful case. Create a SMTP session for the second time which will result in the +CME ERROR: 840 error code because the session is already active. Now an attempt to retrieve the error code along with the associated error string, using the option WIP_COPT_SMTP_STATUS_CODE, will result in error code 0 and the associated error string because the first SMTP session was successful.
5.3.7.5.
opt num 70 Value format
digit/string
71
u32
WIP_COPT_POP3_NB_MAILS
72
u32
WIP_COPT_POP3_MAILSIZE
73
digit/string
ascii
74
u32
Caution: When option WIP_COPT_POP3_STATUS_CODE is used to retrieve the error code and the associated error string for the POP3 session creation, it will not return any error code and error string if no error occurred during that particular POP3 session creation. For example, after the SMTP session is created successfully, an attempt to retrieve the error code and the associated error string, using the option WIP_COPT_POP3_STATUS_CODE, will result in an error code 0 and the error string corresponding to the succe ssful case. Create a POP3 session for the second time which will result in the +CME ERROR: 840 error code because the session is already active. Now an attempt to retrieve the error code along with the associated error string, using the option WIP_COPT_POP3_STATUS_CODE, will result in error code 0 and the associated error string because the first POP3 session was successful
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
54
WIPsoft 5.42
IP Protocol Services
81 82 83 84 85 86 87 88 89 90
string string string string string string string See Table See Table u32
ascii ascii ascii ascii ascii ascii ascii u32 u32 u32
WIP_MMS_TO_PHONE* WIP_MMS_TO_EMAIL* WIP_MMS_CC_PHONE* WIP_MMS_CC_EMAIL* WIP_MMS_BCC_PHONE* WIP_MMS_BCC_EMAIL* WIP_MMS_SUBJECT WIP_MMS_CLASS WIP_MMS_PRIORITY WIP_MMS_SENDER_VISIBILITY
RW RW RW RW RW RW RW RW RW RW
91 92
string u32
ascii u32
WIP_MMS_FROM WIP_MMS_MULTIPART_TYPE
RW RW
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
55
WIPsoft 5.42
IP Protocol Services
opt num 94
Option type
Description
Type
WIP_MMS_ADD_FILE_ANY
About to attach a file of type specified in <optval> as a string using the format of mime-type, Example image/xyz. The size in Bytes is sent in <optval2>. The file name is sent as a string in <optval3> Content-id is sent in <optval4>. At least one of either file name or content-id must be set. Set the HTTP data transfer encoding no encoding=0 chunked data transfer encoding=1 default. Sent as the last command to signal that the MMS sending is considered done. This is to catch deadlocks, when for instance a user misses to send a last file.
NOTE : Once the MMS is sent, the +WIPPEERCLOSE: 8,* is received to indicate that MMS session is closed. Therefore, there is no need to issue the AT+WIPCLOSE command to close it).
95
u32
u32
WIP_MMS_HTTP_DATA_ENCOD
RW
96
WIP_MMS_DONE
* See the Phone/Mail Option Notes subsections for additional information about this option type.
Caution: For the WIP_MMS_ADD_FILE and WIP_MMS_ADD_FILE_ANY options, the total MMS size depends on the applications available memory (if the application is linked with 256kBytes or 1MBytes+ of RAM memory). For 256kBytes (WIPSoft Application) total MMS size must not exceed 150kBytes. For 1MBytes+ (Extended AT Application) total MMS size must not exceed 300kBytes.
5.3.7.6.1.
5.3.7.6.2.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
56
WIPsoft 5.42
IP Protocol Services
optval 0 1 2
5.3.7.6.3.
These are the file types that correspond to the values predefined in the MMS header specification. For other types of file the MIME type has to be explicitly set as a string.
optval Option Type Description
0 1 2 3 4 5 6 7 8 9
UTF8 UTF16 UCS2 US_ASCII JPEG GIF TIFF PNG WBMP SMIL
A text file of type UTF8 A text file of type UTF16 A text file of type USC2 A text file of type (US) ASCII An image file of type JPEG An image file of type GIF An image file of type TIFF An image file of type PNG An image file of type WBMP A multimedia presentation of type SMIL
5.3.7.6.4.
5.3.7.6.4.1.
The total number of recipient (To+Cc+Bcc) must be less than or equal to 12, and for each recipient list (To or Cc or Bcc), the string length must be less than 250 characters, including "/TYPE=PLMN" in case of phone recipient type.
5.3.7.6.4.2.
When getting WIP_MMS_TO_PHONE/WIP_MMS_TO_MAIL or WIP_MMS_CC_PHONE/WIP_MMS_CC_MAIL or WIP_MMS_BCC_PHONE/WIP_MMS_BCC_MAIL string is received in +WIPOPT, the response will include the complete TO or CC or BCC recipient list, preceded by TYPE/PLMN for phone recipient type. For example: If you enter AT+WIPOPT=8,1,2,81,0683517984 (set WIP_MMS_TO_PHONE option) then AT+WIPOPT=8,1,2,82,ovc@sierrawireless.com (set WIP_MMS_TO_MAIL option) After entering AT+WIPOPT=8,1,1,81 (get WIP_MMS_TO_PHONE option) or AT+WIPOPT=8,1,1,82 (get WIP_MMS_TO_MAIL option), the response will be: +WIPOPT: 8,82,0683517984/TYPE=PLMN;ovc@sierrawireless.com
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
57
6.1.
6.1.1.
Description
The +WIPFILE command defines the file system services that send a block of data through standard TCP/IP protocols. This command is used for file transfer/reception. The data can be transferred using two modes: continuous mode and continuous transparent mode. The FTP/HTTP/SMTP/MMS protocols support continuous mode of operation. But, continuous transparent mode is supported only by FTP protocol. By default, all these protocols transfer data using continuous mode. However, data transfer using FTP protocol can be configured using <dle_mode> parameter.
Note: There is no <dle_mode> parameter specified in the +WIPFILE command to configure mode of operation for HTTP/SMTP protocol.
6.1.1.1.
In case an [ETX] character needs to be transmitted as data, it should be preceded by [DLE] character. A single [ETX] character marks the end of transmission. Similarly, [ETX] characters received from the internet are sent to the host through the serial port preceded by a [DLE] character.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
58
WIPsoft 5.42
Internet GSM/GPRS
Desktop PC2
Data received from PC1: ab[ETX]c WCPU1 MAPPED UART Desktop PC1 Data sent to PC1: ab[ETX]c
The above schematic explains how [ETX] characters which have a special meaning in WIPsoft are handled on Sierra Wireless embedded module. On transmitting side, when [ETX] characters are escaped by a DLE (use case: Desktop PC1 sends data to the embedded module. Data contains an [ETX] character escaped by a [DLE] character ([DLE] [ETX] sequence), then the [ETX] character is transmitted as data. On the receiving side, when [ETX] character is received as data (use case: The PC2 sends data to the embedded module. Data contains an [ETX] character), then the [ETX] character will be preceded by a [DLE] character when it is sent to host through the serial port.
6.1.1.2.
In case a [DLE] character needs to be transmitted as data, it should be preceded by another [DLE] character. A single [DLE] character, not preceded by a [DLE] character will not be transmitted. Similarly, [DLE] characters received are sent to the host through the serial port preceded by a [DLE] character.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
59
WIPsoft 5.42
Internet GSM/GPRS
Desktop PC2
[GED
Data received from PC1: Reference] abc[DLE]d WCPU1 MAPPED UART Desktop PC1
[GED Reference]
Data sent to PC1: [GED abc[DLE]d
[GED Reference]
[GED [GED Reference] explains how [DLE] characters which have a special The above schematic meaning in WIPsoft are Reference] handled on Sierra Wireless embedded module. [GED [GED Reference] On the transmitting side, when [DLE] characters are escaped by another Reference] [DLE] character (use case: Desktop PC1 sends data to the embedded module. Data contains a non escaped [DLE] character, [GED and another [GED escaped Reference] [DLE] character ([DLE][DLE] sequence), then the [DLE] character is transmitted Reference] as data. A single [DLE] character is ignored and not transmitted. [GED Reference] On the receiving side, when [DLE] character is received as data (use case: The PC2 sends data to [GED [GED Reference] the embedded module. Data contains an [DLE] character), then the [DLE] character will be preceded by another [DLE] character when it is sent to host through the serial port. Reference]
[GED Reference] [GED Reference]
[GED Reference]
When the UART leaves data mode, the currently unsent data are transferred. [GED
[GED Reference]
Reference] [GED Reference] [GED Reference] [GED Reference] August 3, 2011 [GED Reference] [GED
[GED Reference]
[GED Reference]
[GED Reference]
WM_DEV_OAT_UGD_076
[GED Reference]
Rev 010
60
[GED Reference]
WIPsoft 5.42
6.1.3.
In this mode, [DLE]/[ETX] characters are considered as normal data and not as special characters. In case [ETX]/[DLE] character is received, it will not be preceded by a [DLE] character before sending it to the mapped UART. The mapped UART can be switched back to AT mode either by, 1. sending +++ sequence with 1 second guard time before and after the sequence 2. controlling the DTR signal using AT&D command When the UART leaves data mode, the currently unsent data are transferred.
6.1.4.
Syntax
if <protocol>=4
Action Command
if <protocol>=5
Action Command
if <protocol>=6
Action Command
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
61
Action Command
if <protocol>=8
Action Command
if <protocol>=5
Unsolicited response
+WIPFILE: reason>
5,<index>,<mode>,<http
status
code>,<http
status
Read command
AT+WIPFILE? OK
Test Command
AT+WIPFILE=? OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
62
WIPsoft 5.42
6.1.5.
<protocol>:
<idx>: <mode>:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
63
WIPsoft 5.42
6
(by using
This mode is used for uploading files to the FTP server if <protocol>=4. This mode is used for sending mail to the SMTP server if <protocol>=6. This mode is not supported by other protocols. 7 This mode is used to download and display DATA in Data Offline mode using +WIPDATARW command).
(1)
(by
This mode is used for downloading a file from the FTP server if <protocol>=4. This mode is used for downloading data of the specified URL using HTTP GET method if <protocol>=5. This mode is used for retrieving mail without deleting it from the POP3 server if <protocol>=7. This mode is not supported by other protocols. 8 This mode is used for retrieving mail and deleting after retrieval from the POP3 (1) server if <protocol>=7 in Data Offline mode (by using +WIPDATARW command). This mode is not supported by other protocols. 9 This mode is used for uploading a file using FTP APPEND method server if (1) <protocol>=4 in Data Offline mode (by using +WIPDATARW command). This mode is not supported by other protocols <filename>: file name if <protocol>=4: specify the name of the file to upload or download The maximum file length is limited to 128 characters. The actual filename, including path name has to be used. if <protocol>=5: URL of the HTTP request if <protocol>=7: mail id in string format if <protocol>=8: the identifier matching the identifier specified in WIPOPT. Note: For <protocol>=8, <filename> or <content-id> parameter must be identical to the one specified with AT+WIPOPT for option WIP_MMS_ADD_FILE or WIP_MMS_ADD_FILE_ANY
<dle_mode>:
Mode to configure continuous/continuous transparent mode This option specifies whether the file should be uploaded/downloaded using continuous or continuous transparent mode using FTP protocol. By default the mode will be set to 0 i.e., continuous mode. If this value is set to 1, data will be transferred using continuous transparent mode. Range: 01(default value: 0)
user name in string format Password in string format HTTP header message (name-value pair) The first string in the message header field is the name of the header and the second string is the value of the header.
<>
additional HTTP message header fields more pairs(name, value) of HTTP message header field can be added
HTTP 3 digit status code of the response HTTP status reason of the response in string format
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
64
WIPsoft 5.42
<content-id> <lastindicator>
1
: See the DATA Offline session +WIPDATARW section for more information.
6.1.6.
None
Parameter Storage
6.1.7.
Possible Errors
Description invalid option invalid option value operation not allowed in the current WIP stack state bad index bad state not implemented memory allocation error bad protocol error during channel creation internal error: FCM subscription failure protocol undefined or internal error POP3 email retrieving error POP3 email size error SMTP sender email address rejected by server SMTP recipient email address rejected by server SMTP CC recipient email address rejected by server SMTP BCC recipient email address rejected by server SMTP email body send request rejected by server Service denied Message format corrupt Address unresolved Message not found Network problem Content not accepted Unsupported message Unspecified error
+CMEE AT error code 800 801 803 830 831 834 836 837 839 846 860 867 868 880 881 882 883 884 890 891 892 893 894 895 896 897
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
65
WIPsoft 5.42
6.1.8.
Command
Examples
Responses
AT+WIPFILE=4,1,1,data.bin
Note: Download file in continuous mode
CONNECT <data received terminated by [ETX] character> OK CONNECT <data terminated character> OK CONNECT <data terminated character> OK CONNECT <data> +++ OK
Note; +++ sequence causes the UART to switch to AT mode
AT+WIPFILE=4,1,2,report.log
Note: Upload file in continuous mode
by
[ETX]
AT+WIPFILE=4,1,5,report.log
Note: Upload file in continuous mode; data will be added at the end of file
by
[ETX]
AT+WIPFILE=4,1,1,data.bin,1
AT+WIPFILE=4,1,2,report.log,1
AT+WIPFILE=4,1,1,data.bin,0
Note: Download file in continuous mode
AT+WIPFILE=4,1,2,report.log,0
Note: Upload file in continuous mode
AT+WIPFILE=5,1,2,urlForPut
CONNECT <data received terminated by [ETX] character> OK CONNECT <data terminated by [ETX] character> OK CONNECT <data terminated by [ETX] character> OK +WIPFILE:5,1,2,<http status code>,<http status reason>
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
66
WIPsoft 5.42
Command
Note: Send a HTTP PUT request to URL
Responses
AT+WIPFILE=5,1,3,urlForDelete
CONNECT <data received terminated by [ETX] character> OK +WIPFILE:5,1,3,<http status code>,<http status reason> CONNECT <data received terminated by [ETX] character> OK +WIPFILE:5,1,4,<http status code>,<http status reason> CONNECT <data sent terminated [ETX] character> OK
AT+WIPFILE=5,1,4,urlForPost
AT+WIPFILE=6,1,2
Note: Send data mail content
by
AT+WIPFILE=7,1,1,15
Note: Retrieve data from the given ID
AT+WIPFILE=7,1,3,1
Note: Retrieve data from the given ID
6.1.9.
Notes
The [ETX] character is considered as an end of data. Hence, in case [ETX] character needs to be transmitted, it should be preceded by [DLE] character. For MMS, when sending file data through AT+WIPFILE command, if data size is greater than the one specified via WIP_MMS_ADD_FILE or WIP_MMS_ADD_FILE_ANY options, the data will be truncated to said options size, and module will leave the data mode. When going back to AT mode, +WIPFILE: proto,index,size will be received with the size equal to the size of the data that will be included in the MMS file.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
67
WIPsoft 5.42
6.2.
6.2.1.
Description
The +WIPDATA command is used to read/write from/to a socket. On successful execution of the command, the UART switches to data mode. The UART can be switched back to AT mode by sending +++ with 1 second guard time before and after the sequence. If data is not read using +WIPDATA command, further data will be delayed. An unsolicited event is received when there is a data to read on socket. Data can be sent on the sockets using two modes continuous mode continuous transparent mode
Note: When using the UDP protocol, consider that you cannot send more than the WIP_COPT_RCV_BUFSIZE data receiving buffer size. Based on this, be sure that no data will be lost, as it depends on the bearer "speed".
6.2.2.
6.2.2.1.
Continuous Mode
TCP Sockets in Continuous mode
In continuous mode, an [ETX] character is considered as an end of data. When an [ETX] character is sent on the mapped UART, the TCP socket is shutdown and the peer side is informed of this shutdown with the indication [CR][LF]SHUTDOWN[CR][LF] on the mapped UART. In case an [ETX]/[DLE] character needs to be transmitted as data, it should be preceded by [DLE] character. Similarly, [ETX]/[DLE] characters received by the TCP/IP stack from the internet are sent to the host through the serial port preceded by a [DLE] character. To close sockets, switch the UART to AT command mode and use +WIPCLOSE command.
6.2.2.2.
UDP is a connectionless protocol and hence there is no way to detect or cause a shutdown. However, an [ETX] character is used to mark the boundaries of datagrams. All data written on an UDP socket is collected till an [ETX] character is encountered or the maximum size of the datagram1 is reached and will be sent as a single datagram. Similarly when reading data,
Maximum size of an UDP datagram has been fixed to 5904 Bytes. This limit is an arbitrary one. Nevertheless, note that smaller the datagram is the surer it will reach the aimed destination. Note that UDP is not a reliable transport layer.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
68
WIPsoft 5.42
all data will be read till an [ETX] character is encountered which indicates the end of the datagram. Note that, in this mode, packet segmentation feature is not supported. In case an [ETX]/[DLE] character needs to be transmitted, it should be preceded by [DLE] character similar to TCP socket. When the UART leaves DATA mode, either because of +++ escape sequence or because of an AT+WIPDATA=1, index, 0 on another UART, the currently unsent data are sent as a single datagram.
6.2.2.3.
The above schematic explains how [ETX] characters which have a special meaning in WIPsoft are handled on Sierra Wireless embedded module. On transmitting side, when [ETX] are not escaped (use case: Desktop PC1 sends data towards embedded module. Data contain a non escaped [ETX] ( no [DLE][ETX] sequence), then [ETX] is not transmitted but an action is done on embedded module regarding the concerned socket: UDP socket: a non escaped [ETX] marks the boundary of the current datagram to be sent. Datagram is immediately sent and the [ETX] is not sent towards the desktop PC2. TCP socket: a non escaped [ETX] causes a TCP shutdown operation on the transmitting direction: peer is informed that embedded module will not send any more data on that socket. Usually, peer will shutdown the other way (downlink) and this will result in a peer close event on the socket. On receiving side, when [ETX] are not escaped (use case: embedded module sends data towards Desktop PC1. Data contain a non escaped [ETX] ( no [DLE][ETX] sequence), then [ETX] means that a special IP event occurred on embedded module regarding the concerned socket: UDP socket: a non escaped [ETX] signals the boundary of the current received datagram.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
69
WIPsoft 5.42
TCP socket: a non escaped [ETX] signal that the peer TCP connected TCP unit shutdown the downlink way. Desktop PC1 should then close the uplink socket to totally terminate the TCP session.
Protocol
Mapped UART
UDP
UDP
[ETX] alone.
Mark the boundary of the UDP Datagram received/to be transmitted. Data containing [ETX]. Causes/signals a shutdown operation on TCP socket.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
70
WIPsoft 5.42
6.2.2.4.
A [DLE] character will be sent as data only when it is preceded by another [DLE] character. A single [DLE] character which is not preceded by a [DLE] character will not be transmitted.
The above schematic explains how [DLE] characters which have a special meaning in WIPsoft are handled on Sierra Wireless embedded module. On transmitting side, when [DLE] is not escaped (use case: Desktop PC1 sends data towards embedded module. Data contains a non escaped [DLE] ( no [DLE][DLE] sequence), then [DLE] is not transmitted. On transmitting side, when [DLE] is escaped (use case: Desktop PC1 sends data towards embedded module. Data contain an escaped [DLE] ( [DLE][DLE] sequence) then [DLE] data is transmitted. On the receiving side (use case: when Desktop PC2 sends data towards embedded module. Data contains a no escaped [DLE]) the data sent from the embedded module to Desktop PC1 will contain an escaped [DLE] preceding the [DLE] character (Desktop PC1 receives [DLE][DLE] character from embedded module). The scenario is same for both TCP and UDP sockets.
Protocol Mapped UART IP Network (active socket)
UDP
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
71
WIPsoft 5.42
Protocol
Mapped UART
UDP
[DLE] alone.
TCP TCP
6.2.3.
6.2.3.1.
In this mode there is no special meaning associated for [DLE]/[ETX] characters. They are considered as normal data and all the data will be transmitted on the mapped UART.
6.2.3.2.
In this mode there is no special meaning associated for [DLE]/[ETX] characters. They are considered as normal data and all the data will be transmitted on the mapped UART. In case [ETX]/[DLE] character is received, it will not be preceded by a [DLE] character before sending it to the mapped UART.
6.2.4.
The UART can be switched back to AT mode by sending +++ with 1 second guard time before and after the sequence by sending an AT+WIPDATA=<proto.,<index>,0 on another UART in AT mode When the UART leaves data mode either because of +++ escape sequence or because of an unmapping done on another UART, the currently unsent data are sent as a single datagram.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
72
WIPsoft 5.42
6.2.5.
A TCP socket is reset when the connection is aborted due to an error on the socket. When the socket is reset, an [ETX] character is sent on the mapped UART to indicate the end of communication. The mapped UART switches to AT mode and +CME ERROR: 843 is displayed on the UART.
6.2.6.
Syntax
Action Command
Read Command
AT+WIPDATA? NONE
Test Command
AT+WIPDATA=? OK
if <protocol>=1
Unsolicited response
if <protocol>=2
Unsolicited response
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
73
WIPsoft 5.42
6.2.7.
<protocol>:
<idx>: <mode>:
In this mode, [DLE]/[ETX] characters are considered as normal data and not special characters.
<send size>:
data packet size: This parameter specifies the size of the data packet that needs to be sent to the peer. This parameter is supported only for UDP continuous transparent mode. range: 8-1460 (default value: 1020)
<wait time>:
timeout for configuring the packet segmentation on IP network side: This parameter specifies the timeout after which the buffered data will be sent to the peer irrespective of size of the data packet. This parameter is supported only for UDP continuous transparent mode. range: 1-100 (default value: 2)
: See the DATA Offline session +WIPDATARW section for more information.
6.2.8.
None
Parameter Storage
6.2.9.
Possible Errors
Description bad state memory allocation error bad protocol connection reset by peer
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
74
WIPsoft 5.42
6.2.10. Examples
Command Responses
AT+WIPDATA=2,5,1
Note; TCP Client with index 5 can send/read data in continuous mode
AT+WIPDATA=2,5,1,10,5
Note; TCP Client with index 5 can send/read data in continuous mode
AT+WIPDATA=1,5,1
Note; UDP with index 5 can send/read data in continuous mode
AT+WIPDATA=1,5,1
Note; UDP with index 5 can send/read data in continuous mode
AT+WIPDATA=1,5,2
Note; UDP with index 5 can send/read data in continuous transparent mode with default value set for <send size> and <wait time>
AT+WIPDATA=1,5,2,20,2
Note; UDP with index 5 can send/read data in continuous transparent mode with <send size> set to 20 and <wait time> set to 2
AT+WIPDATA=2,5,1,20,10
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
75
WIPsoft 5.42
Command
Note: TCP with index 5 can send/read data in continuous mode with <send size> set to 20 and <wait time> set to 10
Responses
Note; +++ sequence causes the UART to switch to AT mode
AT+WIPDATA=2,5,2,10,5
Note: TCP with index 5 can send/read data in continuous transparent mode with <send size> set to 10 and <wait time> set to 5
AT+WIPDATA=2,5,2
Note: TCP with index 5 can send/read data in continuous transparent mode
6.2.11. Notes
6.2.11.1. Continuous Mode (Non Transparent) for a TCP Mapped Socket
If the [ETX] character is sent from the peer, it is considered as an end of data transfer. After sending an [ETX] character, the socket will be shutdown and the peer will be informed of this shutdown by a [CR][LF]SHUTDOWN[CR][LF] indication on its mapped UART and the UART does not switch to AT mode. This indicates that no more data can be sent from the host socket, but it can receive data. The below schematic shows the shutdown procedure for a TCP socket:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
76
WIPsoft 5.42
In the above schematic, a TCP socket is connected. On the transmitting side, data and [ETX] is sent (use case: Desktop PC1 is a embedded module which sends data to PC2 which is either a PC or a embedded module), the data is received on PC2 and [ETX] character shutdowns the socket on the transmitting side and displays a message [CR][LF]SHUTDOWN[CR][LF] on the mapped UART of PC2. When PC2 is switched back to AT mode, +WIPPEERCLOSE: <protocol>,<idx> indication is received indicating that no more data can be sent by PC1 but can read data sent from PC2. There are different indications received for shutdown and reset for a TCP socket. When a TCP socket is reset, [ETX] character is sent on the mapped UART to indicate the end of communication. The mapped UART switches to AT mode and +CME ERROR: 843 is displayed on the UART. The reset and shutdown can therefore be distinguished by the indications received on the UART.
6.2.11.2.
When a TCP socket is unmapped and still active, it is possible to map it again in another mode which is different from the previous one without closing the TCP socket. The UART switches back to AT mode due to +++with 1 second guard time before and after the sequence or by sending an AT+WIPDATA=<proto>,<index>,0 on another UART in AT mode. This applies to both UDP and TCP protocols. When +++ is issued, embedded module switches from DATA mode to AT mode. If ATO command is used to switch the embedded module back to DATA mode, +CME ERROR:3 will be received when GPRS bearer is used no response is received when GSM bearer is used To switch the embedded module back to DATA mode, AT+WIPDATA=x,x,x should be used instead of ATO. After executing AT+WIPDATA=x,x,x command, CONNECT will be received to indicate that the embedded module is switched back to DATA mode. Note that un-mapping socket using +WIPDATA command with <send size> and <wait time> specified results in ERROR. WM_DEV_OAT_UGD_076 Rev 010 August 3, 2011 77
WIPsoft 5.42
6.2.11.3.
Time out Mechanism to know the state of the Peer TCP Socket
In a TCP server-client connection between two remote devices if the peer socket is closed down abruptly (e.g. powered off) the peer TCP socket does not get any indication message. This is a normal behavior. The TCP protocol uses a timeout mechanism to check the state of the TCP sockets in a TCP socket connection. According to this mechanism, to know the state of the peer TCP socket the data needs to be sent and wait for the acknowledgement within a specified time period. If the acknowledgement is not received within the specified time out period then the data is retransmitted. But if the time out occurs before receiving acknowledgement then it implies that the peer TCP socket is closed.
TCP Timeout Period = function (R, N) Where, R = Round trip time. This is the time for a TCP packet to go to the remote TCP socket and the time to receive the acknowledgement by the transmitter TCP socket. The typical round trip time is 1 seconds for GPRS. N = Number of retransmission allowed before the time out happens. Hence, the typical timeout period is 10 minutes depending on the network and also the peer TCP socket localization. In WIPsoft, to know the state of the peer socket, data needs to be sent. If acknowledgement is not received within the timeout period then +CME ERROR: 842 is returned. This indicates that the peer socket is closed. Please note that the retransmission of the data to the peer TCP socket within the timeout period is managed by the WIPlib Plug-In.
6.2.11.4.
The parameters used for packet segmentation can be configured using +WIPDATA or +WIPCFG command. In case if it is not configured using +WIPDATA command, then the values already set for option WIP_NET_OPT_TCP_MIN_MSS and AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE will be used. Note that if an attempt is made to set data packet size more than twice the value of WIP_NET_OPT_TCP_MIN_MSS using +WIPDATA command results in +CME ERROR: 847. The data sent to a mapped TCP socket through UART will be buffered before sending it to the peer. This buffered data will be sent to the peer when: total amount of buffered data is twice or more than the preferred segmentation size. The preferred segmentation size is configurable through the AT+WIPCFG = 2, 4, <size> (WIP_NET_OPT_TCP_MIN_MSS) or +WIPDATA command. internal timer expires. The timeout period is configurable through the AT+WIPCFG = 2,12,<time> (AT_WIP_NET_OPT_PREF_TIMEOUT_VALUE) or +WIPDATA c ommand. socket is unmapped, shut down or closed In some scenarios, there might be a segmentation of data packets because of timer expiration, network problems etc. Thus a single packet of data may be received in more than one packet at the peer
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
78
WIPsoft 5.42
6.2.11.5.
This feature for UDP is supported only in case of continuous transparent mode. If the +WIPDATA command is executed in continuous mode to use this feature, ERROR will be returned. The parameters used for packet segmentation can be configured using +WIPDATA command. In case if it is not configured using +WIPDATA command, default value of these parameters will be used. The data sent to a mapped UDP socket through UART will be buffered before sending it to the peer. This buffered data will be sent to the peer when: the buffered data size is equal to segmentation size. Note that if the buffered data is greater than segmentation size, then the data will be written to the channel in chunks of segmentation size. the timer expires socket is unmapped or closed In some scenarios, there might be a segmentation of data packets because of timer expiration, network problems etc. Thus a single packet of data may be received in more than one packet at the peer.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
79
WIPsoft 5.42
6.3.
This command is used to upload or download data on UART without switching to DATA mode (CONNECT/OK Online mode) for +WIPDATA and +WIPFILE commands. DATA offline session starts when AT+WIPDATA command is used with mode (3) or when AT+WIPFILE command is used with mode (6, 7, 8 or 9). Otherwise +WIPDATARW command can't be use and returns +CME ERROR 831 error message. In this mode,[DLE]/[ETX] characters are considered as normal data and not special characters. Data read or written are in hexadecimal dump format.
6.3.1.
Restrictions
DATA offline feature is not recommended to send or received quickly high data volume. In this case, the nominal online mode shall be used. To improve AT command exchange and behavior, the use of USB com port is recommended. Otherwise, UART com port buffer threshold shall be decrease with +WHCNF command (see General AT Command User Guide). Be careful for TCP socket (+WIPDATA), a maximum of 5840 bytes can be send. Over this size data are lost but no error is returned. +WIDATARW command should not be used to fill TX sender buffer with more than 5840 bytes (4*1460) for TCP socket.
6.3.2.
Syntax
AT+WIPDATARW=<command>,<idx>,"<DATA DUMP>" OK
+WIPDATARW: <state>,<idx>
+WIPDATARW: <state>,<idx>,<size>
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
80
WIPsoft 5.42
Read Command
AT+WIPDATARW? OK
Test Command
AT+WIPDATARW=? OK
6.3.3.
<command>:
<idx> <state>:
channel identifier
0 1
WIPDATARW session Closed for the channel <idx> specified WIPDATARW session Opened for the channel <idx> specified. Ready to send or received data
2 3 <DATA DUMP>
To send more than 200 bytes data, use +WIPDATARW with <command> = 2 to add data to buffer and use for the last block Data must be written in TX buffer with <command> = 2 by 200 byte block and the last block must be written with <command> =1 to write it and send the TX buffer. Only 200 data bytes can be read or written at a time. DATA received are displayed by 200 byte block if received data buffer to display is bigger than 200 bytes.
6.3.4.
None
Parameter Storage
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
81
WIPsoft 5.42
6.3.5.
Possible Errors
Description Invalid option Invalid option value Bad index Bad state Memory allocation error Data offline buffer full
6.3.6.
Command
Examples
Responses
AT+WIPDATA=1,1,3
(UDP socket have been previously created)
Note : exchange data on socket index 1 with AT Command
+WIPDATARW:1,1 OK
Note WIPDATARW session ready on channel idx 1.
AT+WIPDATARW=1,1,"30313233343 536373839"
Note : send 10 data byte on channel idx 1
+WIPDATARW:3,1,10 OK
Note : 10 data bytes had been sent
AT+WIPDATARW=2,1,"30[]39"
Note : Write 200 Data bytes in TX Buffer
OK
Note : 200 data bytes are stored in TX Buffer
AT+WIPDATARW=2,1,"30[]39"
Note : Write 200 Data bytes in TX Buffer
OK
Note : 200 data bytes are stored in TX Buffer
AT+WIPDATARW=1,1,"3039"
Note : Write 2 Data bytes in TX Buffer and send buffer.
+WIPDATARW:3,1,402 OK
Note : 402 data bytes have been sent
AT+WIPDATARW=0,1
+WIPDATARW:0,1 OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
82
WIPsoft 5.42
Note : Close WIPDATARW session on channel idx 1
AT+WIPDATARW=1,1,"30313233343 536373839"
Note : try to send 10 bytes on channel index 1
AT+WIPFILE=4,2,6,./filename. txt
Note : Start data offline session for uploading file filename.txt
+WIPDATARW:1,2 OK
AT+WIPDATARW=1,2,"30313233343 536373839"
Note : Upload data
+WIPDATARW:4,2,10 +WIPDATARW:0,2 OK
Note : 10 bytes uploaded WIPDATARW session closed on channel idx 2
AT+WIPFILE=4,2,7,./filename. txt
Note : file Download and display filename.txt
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
83
7. Ping Services
7.1. PING command +WIPPING
7.1.1.
Description
The +WIPPING command is used to configure different PING parameters and to send PING requests. An unsolicited response is displayed each time a PING echo event is received or a timeout expires.
7.1.2.
Syntax
Action Command
AT+WIPPING=<host>,[<repeat>,<interval>,[<timeout>,[<nwrite>,[<tt l>]]]] OK
Read Command
AT+WIPPING? OK
Test Command
AT+WIPPING=? OK
Unsolicited response
+WIPPING:<timeout_expired>,<packet_idx>,<response_time>
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
84
WIPsoft 5.42
Ping Services
7.1.3.
<host>:
<repeat>:
<interval>:
<timeout>:
number of milliseconds before a packet is considered lost range: 1-65535 (default value:2000)
<ttl>:
IP packet Time To Live. Default value is set by WIP_NET_OPT_IP_TTL +WIPCFG option range : 0-255
<nwrite>:
<timeout_expired>:
PING result 0: PING response received before <timeout> 1: <timeout> expired before the response was received
<packet_idx>: <response_time>:
7.1.4.
None
Parameter Storage
7.1.5.
Possible Errors
Description invalid option invalid option value error on ping channel
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
85
WIPsoft 5.42
Ping Services
7.1.6.
Command
Examples
Responses
AT+WIPPING=www.sierrawireless.com
Note: Ping www.sierrawireless.com
OK +WIPPING: 1,0,0
Note: Ping www.sierrawireless.com failed : timeout expired
AT+WIPPING=192.168.0.1
Note: Ping 192.168.0.1
OK +WIPPING: 0,0,224
Note: Ping 192.168.0.1 succeeded. Ping response received in 224 ms
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
86
8.1.
8.2.
The wip_ATCmdSubscribe function subscribes to +WIPCFG, +WIPBR, +WIPPING, +WIPCREATE, +WIPDATA, +WIPFILE, +WIPOPT AT commands provided by WIPsoft.
8.2.1.
Prototype
8.2.2.
None
Parameters
8.2.3.
Returned Values
The function returns 0 on success negative error code on failure as described below:
Error Code -1 -2 Description subscription for WIP AT commands fails WIP AT commands already subscribed
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
87
WIPsoft 5.42
8.3.
The wip_ATCmdUnsubscribe function unsubscribes to +WIPCFG, +WIPBR, +WIPPING, +WIPCREATE, +WIPDATA, +WIPFILE, +WIPOPT AT commands provided by WIPsoft.
8.3.1.
Prototype
8.3.2.
None
Parameters
8.3.3.
Returned Values
The function returns 0 on success negative error code on failure as described below:
Error Code -3 -4 Description WIP AT commands already unsubscribed un-subscription for WIP AT commands fails
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
88
9. Examples of Application
9.1.
9.1.1.
9.1.1.1.
OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=3,1,80,5,8 OK +WIPACCEPT: 1,5 AT+WIPDATA=2,5,1 CONNECT +++ OK AT+WIPCLOSE=2,5 OK
//close the TCP client socket index 5 //read, write //switch to AT mode //create the server on port 80, idx = 1. The server //is listening for connection request on port //80.Spawned sockets will be given the index 5, //6, 7 and 8. It will accept connection request //until it has no more socket left. //unsolicited: the server accepted a connection //resulting TCP client on idx 5. //exchange data on socket index 5 //start GPRS bearer //set password (<password>) //set user name (<login>) //set APN name of GPRS bearer //open GPRS bearer
TCP Socket
TCP Server Socket
Using GPRS bearer
//start IP stack
AT+WIPCFG=1
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
89
WIPsoft 5.42
Examples of Application
9.1.1.2.
OK
AT+WIPCFG=1 AT+WIPBR=1,5 OK AT+WIPBR=2,5,2,Phone number OK AT+WIPBR=2,5,0,user name OK AT+WIPBR=2,5,1,passwd OK AT+WIPBR=4,5,0 OK AT+WIPCREATE=3,1,80,5,8 OK +WIPACCEPT: 1,5 AT+WIPDATA=2,5,1 CONNECT +++ OK AT+WIPCLOSE=2,5 OK
//set password
//create the server on port 80, idx = 1. The server //is listening for connection request on port //80.Spawned sockets will be given the index 5, //6, 7 and 8. It will accept connection request //until it has no more socket left. //unsolicited: the server accepted a connection //resulting TCP client on idx 5 //exchange data on socket idx 5
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
90
WIPsoft 5.42
Examples of Application
9.1.2.
9.1.2.1.
OK
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=2,1,ip addr,80 OK +WIPREADY: 2,1 AT+WIPDATA=2,1,1 CONNECT +++ OK AT+WIPCLOSE=2,1 OK
//set password
//create a TCP client towards peer IP device @ ip //addr, port 80. //all parameters and IP stack behavior are OK. //unsolicited: the TCP client socket is connected //to the peer //exchange data on socket idx 1:
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
91
WIPsoft 5.42
Examples of Application
9.1.2.2.
OK
AT+WIPCFG=1 AT+WIPBR=1,5 OK AT+WIPBR=2,5,2,Phone number OK AT+WIPBR=2,5,0,user name OK AT+WIPBR=2,5,1,passwd OK AT+WIPBR=4,5,0 OK AT+WIPCREATE=2,1,ip addr,80 OK +WIPREADY: 2,1 AT+WIPDATA=2,1,1 CONNECT +++ OK AT+WIPCLOSE=2,1 OK
//set password
//create a TCP client towards peer IP device @ ip //addr, port 80 //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected to //the peer //exchange data on socket idx 1
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
92
WIPsoft 5.42
Examples of Application
9.2.
OK
UDP Socket
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=1,1,80,www.sierr awireless.com,80 OK +WIPREADY: 1,1 AT+WIPDATA=1,1,1 CONNECT +++ OK AT+WIPCLOSE=1,1 OK AT+WIPCREATE=1,1,1234 OK +WIPREADY: 1,1 +WIPDATA: 1,1,25,"192.168.0.2",2397 AT+WIPDATA=1,1,1
//set password
//create a UDP client towards peer IP device @ //www.sierrawireless.com , port 80 //all parameters and IP stack behavior are OK
//unsolicited: the UDP client socket is pseudo //connected to the peer (no //real connection is UDP) //exchange data on socket idx 1:
//start a UDP server and listen for datagram on port //1234 //all parameters and IP stack //behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is UDP) //one datagram is ready to be read : it was sent from //192.168.0.2 on port //2397 and is composed of 25 //bytes
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
93
WIPsoft 5.42
Examples of Application
//here 25 bytes + the [ETX] character (marking the //bound of the datagram) have been read.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
94
WIPsoft 5.42
Examples of Application
9.3.
OK
PING
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPPING=192.168.0.1 OK +WIPPING:0,0,224
//set password
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
95
WIPsoft 5.42
Examples of Application
9.4.
OK
FTP
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=4,1,FTP server,21,username,passwd OK AT+WIPFILE=4,1,2,./filename.txt CONNECT <data> [ETX] OK AT+WIPFILE=4,1,1,./filename.txt CONNECT <data> [ETX] OK
//set password
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
96
WIPsoft 5.42
Examples of Application
9.5.
OK
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=4,1,FTP server,21,username,passwd OK AT+WIPFILE=4,1,6,./filename.txt +WIPDATARW: 1,1 OK AT+WIPDATARW=1,1,"30313233343536373839" +WIPDATARW: 3,1,10 +WIPDATARW: 0,1 OK AT+WIPFILE=4,1,7,./filename.txt +WIPDATARW: 2,1,2,1,"3132333435[]" +WIPDATARW: 2,1,2,2,"3132333435[]" +WIPDATARW: 0,1 OK
//set password
//upload data file // 10 data bytes sent // WIPDATARW channel idx 1 session closes on
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
97
WIPsoft 5.42
Examples of Application
9.6.
OK
HTTP
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=5,1,www.siteaddress .com,81,username,password,h eader name, header value OK +WIPREADY: 5,1 AT+WIPOPT=5,1,1,51 +WIPOPT:5,51,<sender buffer size> OK AT+WIPOPT=5,1,2,53,6 OK AT+WIPFILE=5,1,1,urlForGet,use rname,password,Accept,text/ html,Transfercodings,compress CONNECT <user starts getting the mail with the UART in data mode and ends with an [ETX] > OK +WIPFILE: 5,1,1,255,Found
//set password
//connect to remote HTTP proxy server port 81 //with authentication and some header fields
//connection and authentication are successful //get size of the TCP send buffer size
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
98
WIPsoft 5.42
Examples of Application
9.7.
OK
SMTP
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=6,1,192.168.1.2,25 ,user,password OK +WIPREADY: 6,1
//set password
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
99
WIPsoft 5.42
Examples of Application
//set sender mail address
AT+WIPOPT=6,1,2,61,sender@mail.c om OK AT+WIPOPT=6,1,2,62,sender name OK AT+WIPOPT=6,1,2,63, rec01@mail.com, rec02@mail.com OK AT+WIPOPT=6,1,2,64,ccrec01@mail. com, ccrec02@mail.com OK AT+WIPOPT=6,1,2,65,bccrec01@mail .com, bccrec02@mail.com OK AT+WIPOPT=6,1,2,66,mail subject OK AT+WIPFILE=6,1,2 CONNECT <user starts sending mail with the UART in data mode and ends with an [ETX] character > OK
//send mail
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
100
WIPsoft 5.42
Examples of Application
9.8.
OK
POP3
//start IP stack
AT+WIPCFG=1 AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=7,1,192.168.1.2,11 0,user,password OK +WIPREADY: 7,1 AT+WIPOPT=7,1,1,71 +WIPOPT: 7,71,10 OK AT+WIPOPT=7,1,1,72 +WIPOPT: 7,72,124000 OK AT+WIPFILE=7,1,1,5 CONNECT <user starts getting the mail with the UART in data mode and ends with an [ETX] > OK
//set password
//retrieve mail id 5
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
101
WIPsoft 5.42
Examples of Application
//retrieve mail id 1 and delete it from the server //after retrieving
AT+WIPFILE=7,1,3,1 CONNECT <user starts getting the mail with the UART in data mode and ends with an [ETX] > OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
102
WIPsoft 5.42
Examples of Application
9.9.
MMS
Example of sending an MMS with multiple recipients and multiple files with the same extensions. Please note that files are not buffered, but sent directly to the MMS Server. Detailed information about the files is needed for the headers before and must be set for each file using WIPOPT before sending the file via WIPFILE.
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,"orange.fr" OK AT+WIPBR=2,6,0,"user name" OK AT+WIPBR=2,6,1,"passwd" OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=8,1, "192.168.10.200",8080, "http://mms.orange.fr" OK AT+WIPOPT=8, 1, 2, 82, "Mr,Smith <smith@example.com>" OK
//start IP stack
//set password
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
103
WIPsoft 5.42
Examples of Application
//add telephone number to the CC field.
AT+WIPOPT=8,1,2,83,"+33623456789" OK AT+WIPOPT=8,1,2,83,"0654321987" OK AT+WIPOPT=8,1,2,86, "X <x@y.com>" OK AT+WIPOPT=8,1,2,92,1, "application/smil","<001>" OK AT+WIPOPT=8,1,2,93,9,100, "1.smil", "<001>" OK AT+WIPOPT=8,1,2,93,2,222,"2.txt", OK AT+WIPOPT=8,1,2,93,3,304,,<003>" OK AT+WIPOPT=8,1,2,93,4,1024,"4.jpeg" ,"<004>" OK AT+WIPOPT=8,1,2,93,5,2048,"5.gif", "<005>" OK AT+WIPOPT=8,1,2,94,"audio/xyz", 128,"6.xyz","<XYZ>" OK
// set the multipart type to Related and specify that the first file that should be read is a type SMIL with the content-id <001> // add a SMIL multimedia presentation file of size 100 Bytes with filename 1.smil and content-id <001> // add a text file of type USC2 of size 222 bytes with the filename 2.txt but no content-id.
// add a text file of type ASCII of size 304 Bytes with no filename but content-id <003>.
// add a JPEG picture of size 1024 Bytes with the filename 4.jpeg and content-id <004>.
// add a GIF picture of size 2048 Bytes with the filename 5.gif and content-id <005>.
// add a file of a content type specified in the string of size 128 Bytes with the filename 6.xyz and content-id <XYZ>. // NOW SEND THE CONTENT OF THE FILES IN THE SAME ORDER!
AT+WIPFILE=8,1,2,"1.smil","<001>" CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
104
WIPsoft 5.42
Examples of Application
// send the WIPOPT. TXT file previously specified by
AT+WIPFILE=8,1,2,"2.txt", CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK AT+WIPFILE=8,1,2,,"<003>" CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK AT+WIPFILE=8,1,2,"4.jpeg","<004>" CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK AT+WIPFILE=8,1,2,"5.gif", "<005>" CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK AT+WIPFILE=8,1,2,"6.xyz","<XYZ>" CONNECT <user starts sending the file with the UART in data mode and ends with an [ETX] character > OK AT+WIPOPT=8,1,2,96
previously specified by
GIF
previously
specified
by
previously specified by
// send WIP_MMS_DONE to signal that the users has sent the last file. This is to avoid deadlock errors where the user missed to send a file. //the server accepted a connection and the MMS was sent successfully //unsolicited: the MMS session is closed.
OK +WIPPEERCLOSE: 8,1
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
105
WIPsoft 5.42
Examples of Application
9.10. Creating a TCP Server, spawning the maximum TCP Socket (for the configured Server)
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=3,1,80,5,6 OK +WIPACCEPT: 1,5 +WIPACCEPT: 1,6 AT+WIPCLOSE=2,5 OK
//create the server on port 80, idx = 1. The //server is listening for connection request on //port 80.Spawned sockets will be given the //index 5 or 6. It will accept connection request //until it has no more socket left. //unsolicited: the server accepted a connection //resulting TCP client on idx 5. //unsolicited: the server accepted a connection //resulting TCP client on idx 6. //close the spawned TCP client socket index 5. //now if the peer device try to connect to the //server it shall receive an accept () immediately ///followed by an shutdown() (connection reset //by peer) //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
106
WIPsoft 5.42
Examples of Application
9.11. Creating a Server and try to create a TCP Client/Server on a reserved index (reserved by the Server) will fail.
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=3,2,80,1,2 OK AT+WIPCREATE=2,3,198.168.0.1,80 OK +WIPREADY: 2,3 +WIPACCEPT: 2,1 AT+WIPDATA=2,3,1 CONNECT AT+WIPDATA=2,1,1 CONNECT [ETX] +WIPPEERCLOSE: 2,3 AT+WIPCLOSE=3,1 OK
//send unescaped ETX character //exchange data on socket index 1 //create the server on port 80, idx=2. The server //is listening for connection request on port 80. //Spawned sockets will be given the index 1 or //2.It will accept connection request until has //nor more socket left. //create a TCP client towards peer IP device @ //198.168.0.1, port 80, //all parameters and IP stack behavior are OK. //unsolicited: the TCP client socket is connected //to the peer. //unsolicited: the server index accepted //connection; resulting TCP client on idx 1 //exchange data on socket index 3 a //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
107
WIPsoft 5.42
Examples of Application
//create the server on port 81, idx=2 and from_idx=2 and to_idx=3 //TCP client socket with idx 2 was reserved by //the previous server socket and it was not //closed explicitly. Hence error is returned.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
108
WIPsoft 5.42
Examples of Application
9.12. Create a TCP Client and try to create a TCP Server with indexes range containing TCP Client will fail.
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=2,1,198.168.0.1,80 OK +WIPREADY: 2,1 AT+WIPCREATE=3,2,80,1,2 +CME ERROR: 845
//create a TCP client towards peer IP device @ //198.168.0.1, port 80 //all parameters and IP stack behavior are OK. //unsolicited: the TCP client socket is connected //to the peer. //create the server on port 80, idx=2. Range //requested contains the already used index //1 and hence error is returned. //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
109
WIPsoft 5.42
Examples of Application
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
110
WIPsoft 5.42
Examples of Application
//all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 79. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 80. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 81 //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 82. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP)
OK +WIPREADY: 1,4 AT+WIPCREATE=1,5,59,192.168.0.1 ,79 OK +WIPREADY: 1,5 AT+WIPCREATE=1,6,60,192.168.0.1 ,80 OK +WIPREADY: 1,6 AT+WIPCREATE=1,7,61,192.168.0.1 ,81 OK +WIPREADY: 1,7 AT+WIPCREATE=1,8,62,192.168.0.1 ,82 OK +WIPREADY: 1,8 AT+WIPCREATE=1,9,63,192.168.0.1 ,83 +CME ERROR: 830 AT+WIPCREATE=3,1,80,1,1 OK AT+WIPCREATE=3,2,81,2,2 OK AT+WIPCREATE=3,3,82,3,3 OK AT+WIPCREATE=3,4,83,4,4 OK AT+WIPCREATE=3,5,84,5,5 +CME ERROR: 830
//8 UDP sockets have been created and hence //9th attempt fails //create one server on port 80, idx = 1. One //TCP client socket is reserved on index 1 //create one server on port 81, idx = 2. One //TCP client socket is reserved on index 2 //create one server on port 82, idx = 3. One //TCP client socket is reserved on index 3 //create one server on port 83, idx = 4. One //TCP client socket is reserved on index 4 //4 TCP servers have been created and hence //creation of 5th TCP server socket fails
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
111
WIPsoft 5.42
Examples of Application
//create a TCP client socket towards peer IP //device @ 192.168.0.1, port 80. Index 1 is //reserved by server index and hence error is //returned. //4 reserved TCP client sockets have been //spawned by their TCP server.
+WIPACCEPT: 1,1 +WIPACCEPT: 2,2 +WIPACCEPT: 3,3 +WIPACCEPT: 4,4 AT+WIPCREATE=2,5,192.168.0.1,80 OK +WIPREADY: 2,5 AT+WIPCREATE=2,6,192.168.0.1,80 OK +WIPREADY: 2,6 AT+WIPCREATE=2,7,192.168.0.1,80 OK +WIPREADY: 2,7 AT+WIPCREATE=2,8,192.168.0.1,80 OK +WIPREADY: 2,8 AT+WIPCREATE=2,8,192.168.0.1,80 +CME ERROR: 840 AT+WIPCREATE=2,9,192.168.0.1,80 +CME ERROR: 830
//unsolicited: the server index 1 accepted a //connection; resulting TCP client on idx 1 //unsolicited: the server index 2 accepted a //connection; resulting TCP client on idx 2 //unsolicited: the server index 3 accepted a //connection; resulting TCP client on idx 3 //unsolicited: the server index 4 accepted a //connection; resulting TCP client on idx 4 //create a TCP client towards peer IP device @ //192.168.0.1, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer. //create a TCP client towards peer IP device @ //192.168.0.1, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.1, port 80 //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.1, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.1, port 80. Index 8 is already //used and corresponds to an active socket. //create a TCP client towards a peer IP device @ //192.168.0.1, port 80. Index 9 is forbidden.
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
112
WIPsoft 5.42
Examples of Application
9.14. Changing the MAX_SOCK_NUM option value and try to create 8 UDP sockets, 8 TCP Client sockets and 4 TCP Server sockets.
AT+WIPCFG=1 OK AT+WIPCFG=2,6,3 OK AT+WIPCFG=4,1 OK AT+WIPCFG=0 OK AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=1,1,55,192.168.0.1 ,75 OK +WIPREADY: 1,1 AT+WIPCREATE=1,2,56,192.168.0.1 ,76
//create a UDP client towards peer IP device @ //192.168.0.1, port 75. //all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 76. //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack //close the IP stack //save the changed configuration to flash //MAX_SOCK_NUM has been changed to 3 //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
113
WIPsoft 5.42
Examples of Application
//all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 77. //all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 78. //maximum 3 sockets can be created as the //MAX_SOCK_NUM value has been changed to //3. Hence an attempt to create a fourth socket //returns error.
OK +WIPREADY: 1,2 AT+WIPCREATE=1,3,57,192.168.0.1 ,77 OK +WIPREADY: 1,3 AT+WIPCREATE=1,4,58,192.168.0.1 ,78 +CME ERROR: 838
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
114
WIPsoft 5.42
Examples of Application
9.15. Creating 8 UDP sockets, 8 TCP Clients, 4 TCP Servers and either one FTP/HTTP/SMTP/POP3
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=1,1,55,192.168.0.1 ,75 OK +WIPREADY: 1,1 AT+WIPCREATE=1,2,56,192.168.0.1 ,76 OK +WIPREADY: 1,2 AT+WIPCREATE=1,3,57,192.168.0.1 ,77 OK +WIPREADY: 1,3 AT+WIPCREATE=1,4,58,192.168.0.1 ,78
//create a UDP client towards peer IP device @ //192.168.0.1, port 75. //all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 76. //all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 77. //all parameters and IP stack behavior are OK. //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 78. //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
115
WIPsoft 5.42
Examples of Application
//all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 79. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 80. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 81 //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP) //create a UDP client towards peer IP device @ //192.168.0.1, port 82. //all parameters and IP stack behavior are OK //unsolicited: the UDP client socket is pseudo //connected to the peer (no real connection is // UDP)
OK +WIPREADY: 1,4 AT+WIPCREATE=1,5,59,192.168.0.1 ,79 OK +WIPREADY: 1,5 AT+WIPCREATE=1,6,60,192.168.0.1 ,80 OK +WIPREADY: 1,6 AT+WIPCREATE=1,7,61,192.168.0.1 ,81 OK +WIPREADY: 1,7 AT+WIPCREATE=1,8,62,192.168.0.1 ,82 OK +WIPREADY: 1,8 AT+WIPCREATE=1,9,63,192.168.0.1 ,83 +CME ERROR: 830 AT+WIPCREATE=3,1,83,1,1 OK AT+WIPCREATE=3,2,84,2,2 OK AT+WIPCREATE=3,3,85,3,3 OK AT+WIPCREATE=3,4,86,4,4 OK AT+WIPCREATE=3,5,84,5,5 +CME ERROR: 830
//8 UDP sockets have been created and hence //9th attempt fails //create one server on port 83, idx = 1. One //TCP client socket is reserved on index 1 //create one server on port 84, idx = 2. One //TCP client socket is reserved on index 2 //create one server on port 85, idx = 3. One //TCP client socket is reserved on index 3 //create one server on port 86, idx = 4. One //TCP client socket is reserved on index 4 //4 TCP servers have been created and hence //creation of 5th TCP server socket fails
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
116
WIPsoft 5.42
Examples of Application
//4 TCP server have been created and each of //them reserved 1 TCP client socket and hence //5th attempt of creating TCP server fails //4 reserved TCP client sockets have been //spawned by their TCP server.
+WIPACCEPT: 1,1 +WIPACCEPT: 2,2 +WIPACCEPT: 3,3 +WIPACCEPT: 4,4 AT+WIPCREATE=2,5,192.168.0.2,80 OK +WIPREADY: 2,5 AT+WIPCREATE=2,6,192.168.0.2,80 OK +WIPREADY: 2,6 AT+WIPCREATE=2,7,192.168.0.2,80 OK +WIPREADY: 2,7 AT+WIPCREATE=2,8,192.168.0.2,80 OK +WIPREADY: 2,8 AT+WIPCREATE=2,8,192.168.0.2,80 +CME ERROR: 840 AT+WIPCREATE=2,9,192.168.0.2,80 +CME ERROR: 830 AT+WIPCREATE=4,1,ftp server,,user name,password OK AT+WIPCREATE=7,1,POP3 server,,user name,mail id +CME ERROR: 840 AT+WIPCLOSE=4,1
//unsolicited: the server index 1 accepted a //connection; resulting TCP client on idx 1 //unsolicited: the server index 2 accepted a //connection; resulting TCP client on idx 2 //unsolicited: the server index 3 accepted a //connection; resulting TCP client on idx 3 //unsolicited: the server index 4 accepted a //connection; resulting TCP client on idx 4 //create a TCP client towards peer IP device @ //192.168.0.2, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer. //create a TCP client towards peer IP device @ //192.168.0.2, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.2, port 80 //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.2, port 80. //all parameters and IP stack behavior are OK //unsolicited: the TCP client socket is connected //to the peer //create a TCP client towards peer IP device @ //192.168.0.2, port 80. Index 8 is already //used and corresponds to an active socket. //create a TCP client towards a peer IP device @ //192.168.0.2, port 80. Index 9 is forbidden. //create FTP session using default port 21
//attempt of creating a OP3 session returns an //error as already 1 FTP session is active. //close FTP session
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
117
WIPsoft 5.42
Examples of Application
//all parameters and IP stack behaviors are OK. //unsolicited: the //successfully POP3 session is created
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
118
WIPsoft 5.42
Examples of Application
#if __OAT_API_VERSION__ >= 400 const u16 wm_apmCustomStackSize = 4096; #else u32 wm_apmCustomStack[1024]; const u16 wm_apmCustomStackSize = sizeof(wm_apmCustomStack); #endif
void adl_main ( adl_InitType_e InitType ) { TRACE (( 1, "Embedded Application : Main" )); /* subscribe to the +WIP AT commands set service */ if ( wip_ATCmdSubsrcibe() == 0) {
/* The customer can write here its own application based on other plug -ins or its specific application target. */ wip_ATCmdUnsubscribe(); } else { /* Error while subscribing to WIPsoft library */ } }
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
119
WIPsoft 5.42
Examples of Application
9.17. Creating TCP client and server sockets in the same Wireless CPU at the same time mapping or unmapping the UART to exchange the data between the sockets
AT+WIPCFG=1 OK AT+WIPBR=1,6 OK AT+WIPBR=2,6,11,APN name OK AT+WIPBR=2,6,0,user name OK AT+WIPBR=2,6,1,passwd OK AT+WIPBR=4,6,0 OK AT+WIPCREATE=3,2,80,1,2 OK AT+WIPCREATE=2,3,198.168.0.1,80 OK +WIPREADY: 2,3 +WIPACCEPT: 2,1 AT+WIPDATA=2,3,1 CONNECT abc+++ OK AT+WIPDATA=2,1,1 CONNECT abc+++ OK
//data received from socket index 3 //exchange data on socket index 1 //data sent to socket index 1 and switched to AT mode by giving +++ //create the server on port 80, idx=2. The server //is listening for connection request on port 80. //Spawned sockets will be given the index 1 or //2.It will accept connection request until has //nor more socket left. //create a TCP client towards peer IP device @ //198.168.0.1, port 80, //all parameters and IP stack behavior are OK. //unsolicited: the TCP client socket is connected //to the peer. //unsolicited: the server index accepted //connection; resulting TCP client on idx 1 //exchange data on socket index 3 a //start GPRS bearer //set password //set user name //set APN name of GPRS bearer //open GPRS bearer //start IP stack
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
120
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
121
WIPsoft 5.42
Error Codes
+CMEE AT error code 843 844 845 846 847 848 849 850 851 852 853 854-859 860 861 862 863 864 865 866 867 868 869-879 880 881 882 883 884 890 891 892 893 894 895 896 897
Description connection reset by peer stack already started attempt is made to reserve/create a client socket which is already reserved/opened by TCP server/client internal error: FCM subscription failure bearer connection failure: WIP_BOPT_GPRS_TIMEOUT time limit expired before GPRS bearer connected impossible to connect to the bearer connection to the bearer has succeeded but a problem has occurred during the data flow establishment invalid channel option or parameter value (for example, HTTP user name too long) specified parameters to the command is more or less than the maximum number of mandatory parameters IP stack not initialized Data offline buffer filled reserved for future use protocol undefined or internal error username rejected by server password rejected by server delete error list error authentication error server not ready error POP3 email retrieving error POP3 email size error reserved for future use SMTP sender email address rejected by server SMTP recipient email address rejected by server SMTP CC recipient email address rejected by server SMTP BCC recipient email address rejected by server SMTP email body send request rejected by server Service denied Message format corrupt Address unresolved Message not found Network problem Content not accepted Unsupported message Unspecified error
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
122
WIPsoft 5.42
Error Codes
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
123
Index
+WIPBR, 25 +WIPCFG, 16 +WIPCLOSE, 44 +WIPCREATE, 35 +WIPDATA, 68 +WIPFILE, 58 +WIPOPT, 47 +WIPPING, 84 FTP, 96 HTTP, 98 PING, 95 POP3, 101 SMTP, 99 TCP Socket, 89 UDP Socket, 93 wip_ATCmdSubscribe, 87 wip_ATCmdUnsubscribe, 88
WM_DEV_OAT_UGD_076
Rev 010
August 3, 2011
124