A1260996310CsHeI - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

A1260996310CsHeI

Description:

Network information (operator, signal strength, attached etc. ... Your application that was written two years ago will still work on a new Intermec WWAN Device ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 34
Provided by: robyt
Category:

less

Transcript and Presenter's Notes

Title: A1260996310CsHeI


1
(No Transcript)
2
Building WWAN Solutions that work!
Thomas Vennström Erik Ramfelt System
Developers WWAN Toolkit Team Intermec
3
Agenda
  • Install the WWAN Toolkit
  • What is the WWAN Toolkit?
  • Current features of the Toolkit
  • Why use the WWAN Toolkit?
  • Develop a WWAN connectivity application
  • Pitfalls
  • Extend with Voice and SMS (if time permits)
  • QA

4
Install the toolkit
  • Install path c\Program Files\Intermec\WWAN
    Toolkit V4.5
  • Power Point Presentation located in the DevCon
    folder

5
What is the WWAN Toolkit?
  • A toolkit that provides access to the WWAN Radio
  • Supports Java, CPP, .NET (VB C)
  • Supports GSM/GPRS CDMA/1xRTT
  • Supports 760, 761 and all future Intermec WWAN
    enabled devices
  • Supports WM2003 Phone Edition
  • Current version 4.5

6
Current features of the Toolkit
  • Power management
  • Data connectivity (RAS Connection Manager)
  • Voice calls
  • SMS
  • Network information (operator, signal strength,
    attached etc.)
  • Radio information (serial, make, type etc)
  • SIM Card Management
  • Phone Book

7
Why use the WWAN Toolkit?
  • Easy to use
  • Rapid application development
  • One API
  • No need to learn complex AT command sets for each
    radio or any other APIs.
  • Cross platform
  • Works on all WWAN enabled Intermec devices
  • Backward compability
  • Your application that was written two years ago
    will still work on a new Intermec WWAN Device
  • Multiple languages
  • C, Java, VB.NET and C
  • Native OS/Device limitations
  • Work arounds for OS and device limitations
  • Full control
  • Simple to use yet fully fledged API

8
Develop a WWAN connectivity application(GPRS
using C)
  • Development environment setup
  • Start the radio and toolkit
  • Stop the toolkit and radio
  • Setup a connection (RAS)
  • Check network status
  • Connect
  • Ping
  • Disconnect
  • Keep the connection alive
  • Pitfalls

9
Development environment setup
  • Documentation found in the Start Menu/WWAN
    Toolkit
  • Open the workshop solutionPATH TO SOLUTION
    HERE
  • Pre-assembled source
  • Wrapper dll reference
  • Singleton reference (myToolkit)
  • Event handlers
  • AddText(string) help method
  • Test build

10
Initialize the radio and toolkit
  • myToolkit.PowerOn()
  • Power on the radio
  • myToolkit.Setup()
  • Initialize resources
  • myToolkit.SimCard.PinStatus
  • Check SIM PIN Status
  • SimPinStatus.PinReady
  • myToolkit.EnableModemEvents()
  • Enable event reporting (URC)
  • myToolkitRef.Network.AutomaticRegister()
  • GSM only. Register to your home network.
  • Try/Catch, GetLastWWANErrorString()

11
Stop the radio and toolkit
  • myToolkit.DisableModemEvents()
  • Disable modem events
  • myToolkit.Shutdown()
  • Clean up resources
  • myToolkitRef. PowerOff()
  • Power of the radio
  • Try/Catch, GetLastWWANErrorString()

12
Implement
13
Create a connection (RAS)Step 1 Create a
dialing Location
  • myToolkit.Connections.CreateDiallingLocation(.
    ..)
  • Parameters
  • string location A name for the location
  • string  areaCode Area code
  • string  countryCode Country code
  • bool pulseDial Pulse or tone dialing
  • string disableCallWaiting Always empty string
  • string dialFormatLocal Dialing pattern for
    local calls
  • string dialFormatLongDistance Dialing pattern
    for long distance
  • string dialFormatInternational Dialing pattern
    for international
  • bool overwrite True if to overwrite
  • bool setAsCurrent True if to set as currently
    used
  • Typical parameter setup
  • "Mobile", "","", false, "", "g", "g", "g", true,
    true

14
Create a connectionStep 2 Set up a GPRS Context
  • myToolkit.Connections.SetGprsContext(....)P
    arameters
  • SetGprsContextFlags flags Always
    SetGprsContextFlags.SetApn
  • int contextNumber  1 or 2 (MC45)
  • String acessPointName  The APN obtained by the
    network operator
  • String pdpAddress  Always null
    (dynamically configured by op)
  • bool headerCompression  Always false (not
    supported on MC45/46)
  • bool dataCompression  Always false (not
    supported on MC45/46)
  • Typical parameter setup
  • flags,1,internet.telia.se,null,false,false
  • GPRS Only.
  • Only used when network requires an APN

15
Create a connectionStep 3 Setup the connection
  • myToolkit.Connections.CreateRasEntry(...)
  • Parameters
  • string entryName Any name
  • string modemName Modem name
  • int baudRate Always 115200
  • CreateRasEntryFlags  flags CreateRasEntryFlags.No
    Flags
  • int countryCode Only circuit switched
  • Int areaCode Only circuit switched
  • string phoneNumber 991 (GPRS) 777 (1xRTT)
  • string extraCmds C2 (1xRTT)
  • string userName Depending on operator
  • string password Depending on operator
  • string domain Depending on operator
  • string ipAddr Depending on operator
  • string dnsAddr Depending on operator
  • stringdnsAltAddr Depending on operator
  • string winsAddr Depending on operator
  • String winsAltAddr Depending on operator

16
Continued.. Modem name parameter
  • On 760 modems_mc45_all.cab must be pre-installed
    to utilize special modem strings
  • On 761 the cab is not required, same modem names
    used.
  • Common GPRS "WANA on COM4 (No modem reset)"
  • Normal (predefined) "WANA on COM4"
  • PAP Authentication "Siemens MC45 on COM4 (PAP)"
  • CHAP Authentication "Siemens MC45 on COM4
    (CHAP)"
  • PAP/CHAP Authentication "Siemens MC45 on COM4
    (PAP/CHAP)
  • When using GPRS WANA on COM4 (No modem
    reset) should be used to prevent context from
    being reset.
  • Typical parameter setup
  • CreateRasEntryFlags flags CreateRasEntryFlags.No
    Flags
  • myras, "WANA on COM4 (No modem
    reset)",115200,flags,null,,991,
    null,null,null,null,null,null,null,null,null

17
Implement
18
Check network status
  • myToolkit.Network.AttachToGprs()
  • Attach to the GPRS network (only on GSM/GPRS)
  • myToolkit. Network.GprsAttached
  • Check GPRS/1xRTT availability
  • myToolkit.Network.SignalStrength
  • 1-5, 0 no network

19
Implement
20
Connect
  • myToolkit.Connections.ConnectRas(rasname)
  • Connect using the name of the RAS connection
    created earlier.
  • Wait for a connected event
  • Wait for the RasConnState.RasConnStateConnecte
    d event to be received in the
    _RasStatusChanged(...) event handler
  • Remember Application.DoEvents() to pump the
    message queue.

21
Implement
22
Ping
  • Check signal strength
  • Check GPRS/1xRTT status
  • ActiveWwanAvailable(string ip,   
    int timeout,    int size)
  • Use an IP that is reliable, typically the server
    you are synchronizing with
  • Ping can cost money when using a GPRS connection
    depending on contract

23
Disconnect
  • myToolkit.Connections.DisconnectRas()
  • Starts the disconnection process
  • Wait for a disconnected event
  • Wait for the RasConnState.RasConnStateDisconne
    cted event to be received in the
    _RasStatusChanged(...) event handler

24
Implement
25
Keep the connection alive
  • Handle _RasError events
  • RasError.xxx constants
  • Handle disconnected event
  • RasConnState.RasConnStateDisconnected
  • Check signal strength/attach during a
    connection.
  • Circuit switched fallback, costs a more money,
    better coverage/stability

26
Pitfalls
  • GPRS is not always available
  • GPRS attach may require several attempts
  • Circuit switched fallback
  • Disconnect event is not thrown instantly
  • Network depending
  • Always Ping/Signal/Attach before synchronizing

27
Voice Dialing
  • Methods
  • myToolkit.Telephony.Hangup()
  • myToolkit.Telephony.Call(number)
  • myToolkit.Telephony.Answer()
  • Events
  • myToolkit_IncomingCall(...)
  • myToolkitRef_CallInProgressChanged(...)
  • myToolkit_CallerId(...)

28
Implement
29
SMS
  • myToolkit.Sms.SendMessage( centre,
    number, message)
  • Use myToolkit.Sms.SmsCentre
  • myToolkit.Sms.ReadMessage( index, out
    number, out timestamp, out
    smstext)
  • myToolkit.Sms.Count
  • myToolkit.Sms.DeleteMessage(index)
  • Event
  • myToolkitRef_NewSmsReceived(...)

30
Implement
31
Questions
32
Links
  • WWAN Toolkit Evaluation
  • http//www.intermec.com/eprise/main/Intermec/Conte
    nt/Support/DevelopersSupport/IDLSupport/Software_S
    howcase
  • Nag screen evaluation version
  • Wireless Communicator
  • Same link as above
  • Demonstration tool for WWAN Toolkit
  • Handles most of the WWAN Toolkit functionality
    and some extra perks.
  • Free of charge, no nag screen
  • Source code included when purchasing the WWAN
    Toolkit
  • Beta versions
  • http//www.intermec.com/eprise/main/Intermec/Conte
    nt/Support/DevelopersSupport/IDLSupport/beta_zone

33
Write a Comment
User Comments (0)
About PowerShow.com