Author Topic: T2 Terminus - User Manual, Downloads, Demos, and Application Notes  (Read 3848 times)

CKnight28

  • Moderator
  • Jr. Member
  • *****
  • Posts: 50

Our second generation Standard Terminus (T2) products are highly adaptable, cost-effective cellular terminals incorporating an embedded 32-bit Cortex M3™ 150MIPS processor with 256KB Flash/96KB+4KB RAM. The T2 offers standard serial and USB (OTG) connectivity, 4-20 mA current loops, an accelerometer, and an input power range of 7 -28 VDC. The T2’s ability to configure 9 GPIO as CMOS I/O allows for a straight-forward creation of effective embedded applications. Additionally, Native USB OTG support in the Cortex processor allows for development of USB connectivity in applications.

This thread will cover the general use of the T2 and getting started with the device, and loading/running a demo application. The other threads in this section will be more specific to hardware and firmware.

T2 Terminus Variants
The T2 Terminus comes in multiple versions, and can be used across various networks depending on the user's needs.
  • 2G    - GSM865T2
  • 2.5G - CDMA864T2 Verizon/Sprint
  • 3G    - HSPA910T2
  • 3G    - EVDO910T2 Verizon/Sprint
  • 4G    - LTE910T2 : Coming Soon!

--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------


Unit set up and considerations
The Terminus T2 has multiple access ports, but by default from Janus only the DB9 is truly accessible until more set up is done. The DB9 is pinned out for DTE (host) usage, as it can be utilized to control a serial device in the field through this port.

In order to use the device by default, it's required that the user have access to or purchase a null modem adapter for the DB9 to swap to DCE (device) usage and communicate with a local PC.

Something similar to this will do just fine.


--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------


User Manuals/Documentation
The general user manual covers quick up and run with the T2, including basic connectivity and communications with the Plug in Modem that is housed within the T2.

T2 Terminus Product Brief
T2 Terminus User Manual - General
T2 Terminus User Manual - Hardware
T2 Terminus DFU User Manual
T2 Terminus Python Quick Start Guide


--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------


Relevant Downloads
These are download links for files that are useful when getting ready to evaluate the T2 Terminus, as well as supporting files for updates such as the STM DFU usage, linked in the above documents.

ST VCP Driver
ST DFuSe 3.0.2


--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------


CDMA/EVDO Provisioning
While using the T2 Terminus units that utilize the CDMA/EVDO based technologies, a provisioning is required by the user to activate the device for use on the network. Once an account is created and the unit is ready for activation, the end user must go through the steps listed in this application note to bring the unit up.

Provisioning Guide


--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

Python Demos
The T2 Terminus utilizes the Plug in Modem devices internally, allowing use of the Python interpreter if the unit has one available (HSPA910CF, for example). The Python quickstart guide is linked above in the documentation section.

Demo Code: https://github.com/JanusRC/Python

SMS Echo Demo
This demo is a simple SMS echo. The user guide is more generalized for the Terminus T2 Janus device but the instructions that cover the demo are still relevant and useful on their own.

Note that although the unit is capable of doing this, it's recommended to use the STM processor as it allows greater functionality and control.


--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

STM Processor Demos
The embedded STM32 processor allows for full control of the T2's peripherals as well as modem control. The following demos can help get your application up and running with some code to reference or use. Note that these are demos and should be treated as such, when putting any of this code into your application ownership must be taken.

Demo Code: https://github.com/JanusRC/T2-Terminus
Skeleton Tree
This archive is for easy up and run when using the Janus demo code with Keil, it contains the libraries requires for the F2 and F4 based processors, as well as the app pack, and settings in Keil to get started.

T2 Functionality Demo
This is a more general/all encompassing demonstration of the T2. It contains:
  • Basic up and run of the unit
  • Modem control
  • Uart control w/ ring buffer
  • Front end terminal for manual control of the modem (ON/OFF, Registration/Activation, SMS, Socket Handling)
  • 3 Full demonstrations containing persistent network handling and continuous function
    • -Socket Client
    • -Socket Host
    • -SMS Echo
  • Modularized code for easy edit

The full demonstrations are commented out initially, if the Terminal is exited a standard UART access is granted @ 115200 baud rate to the modem directly.

Virtual COM Port Demo
This demo allows the user to talk with the internal modem via AT commands through the USB port instead of the DB9. The LEDs will blink once ready. This is the initial demo referenced in the user manual and requires the above linked STM USB drivers.

Bootloader
The factory bootloader is intended to give the user a quick up and run evaluation, but it is still a demonstration on how to use/make your own bootloader with a CRC check to avoid bricking with random application code as best as possible.
« Last Edit: June 18, 2015, 06:08:32 PM by CKnight28 »

CKnight28

  • Moderator
  • Jr. Member
  • *****
  • Posts: 50
Re: T2 Terminus - User Manual, Downloads, Demos, and Application Notes
« Reply #1 on: June 18, 2015, 08:20:37 PM »
T2 Functionality Demo Brief

This overview makes the assumption that you already have the T2 Terminus evaluation kit supplied by Janus, or an equivalent set of hardware for evaluation. The current implementation is geared for the HSPA variants of the device, although GSM/CDMA/EVDO variants can be used, they are NOT optimized or tested yet.

Recommended:
  • HSPA910T2 Terminus Device (STM32F4 Equipped ONLY)
  • Cellular Antenna
  • Activated SIM card, installed into the T2 via the port on the bottom of the device.
  • 12VDC wall wart power supply
  • DB9 serial cable with null modem adapter

Please Review the device user manuals located in this thread.

--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

Loading the binary to your T2
The T2 Terminus comes equipped with a factory bootloader, when the unit powers up you’ll find a greeting and a prompt to press the escape key, which will break out into the bootloader console. If you don’t do this it will default to a direct modem interface.

Step 1.
Connect to the DB9, and open HyperTerminal or an equivalent terminal emulator. Start a new session. Use the following settings as they are the default for T2 communications.
  • Bits per second: 115200
  • Data Bits: 8
  • Parity: None
  • Stop Bits: 1
  • Flow control: Hardware

Step 2
Apply power to the T2 and when the on screen instructions appear press the Escape key to break out into the bootloader menu.

Example:
Quote
Janus Remote Communications - TERMINUS 2 R1 STM32F4 - Boot Loader
FW: Mar  4 2015 14:54:53 (v2.5)

Starting Boot Loader Application
Starting Modem.. Press ESC to break to console
Boot Loader
E - Erase Application Flash
X - XModem Download
D - Dump Memory
B - Select Baud Rate
Z - Select Flow Control
I - Set Initial AT command
C - Clock Diagnostic
F - Fire DfuSe
M - Modem Console
BL>

Step 3.
Press X (case does not matter) to begin the xmodem transfer. Once the T2 is put into this mode, go to Transfer -> Send File. Select XModem for the protocol and browse to the .bin file, which will be located here:

Quote
/Demos/F4 Demos/bin/T2_Function_Demo.bin

Press Send and wait for the transfer to finish, it should only take a few moments. Once back at the terminal window press escape to back out of XModem transfer and into the main menu.

Step 5.
Turn off the power to the T2, the next time it boots it will run the application. Keep the terminal session open.

Example:
Quote
Janus Remote Communications - TERMINUS 2 R1 STM32F4 - Boot Loader
FW: Jul 21 2014 14:13:28 (v2.4)

Unchecked Debug Application
Application Valid, Starting

From here you should see a basic readout and a prompt if you wish to enter the Terminal.

Using the Terminal

Quote

Janus Remote Communications - TERMINUS 2 - Basic Demonstration
FW: Jun 17 2015 14:34:39

Entering Terminal Mode, [5] Seconds to type first command
Type ? for help, Q to exit

Enter a '?' or type 'Help', case is not sensitive.

In the code you can adjust how long this will wait, we default it for 5 seconds now which is plenty of time to enter the terminal if wanted.

You'll be shown the terminal, which contains many things you can do to evaluate the modem and some fundamental functions.

Quote

Entering Terminal Mode, [5] Seconds to type first command
Type ? for help, Q to exit
READY
Terminal Mode Help - USART3 Debug Port (Terminus 2) 14:34:56 Jun 17 2015

--UTILITIES--
?, H              This help page
Q, QUIT        Exit Terminal Mode
NUKE            Erase Application
REBOOT        Reboot
DFUSE          Reboot w/ DfuSe
FORWARD     Forward SERIAL: DB9<->MODEM
--BASIC MODEM--
MODEM x      None=Status, 0=Off, 1=On
INIT              Initialize Modem With Basic AT commands
IDENTIFY       Identification Information of the Modem
--NETWORK--
REGISTER       Register on Network
ACTIVATE x     Activate Context w/ x APN
DEACTIVATE    Deactivate Context
--SMS--
SENDSMS 1 2    Send SMS Text Message: 1=Phone Number, 2=Text String
CHECKSMS        Check SMS Messages
GETSMS x          Process SMS x
DELSMS x          Delete SMS x
--SOCKET--
SOCKETD 1:2    Open a socket to a listening server: 1=IP Address, 2=Port
SOCKETL 1        Open a socket listen: 1=Port
READY

A basic operation to follow would be the following commands to run:
  • Turn the modem on: Enter 'modem 1'
  • Initialize the modem: Enter 'init'
  • Let the modem register: Enter 'register'
  • Activate the context to grab an IP address: Enter 'activate i2gold'
  • Open a socket connection to google; Enter 'socketd google.com:80'

Example terminal session below:

Quote

modem 1
Bringing up modem..
Modem is On.
READY
init
Running initialization routine.
Modem Information
------------------------------
Make:      Telit
Model:     HE910
Serial:    357164040650569
Firmware:  12.00.004-B007
---------------
SIM Information
Serial:    310410707530556
ICCID:     89014104277075305569
Phone #:
------------------------------

READY
Register
Running Registration Routine.
Network Information
------------------------------
Cell Reg:   1
Data Reg:   1
RSSI:       21 (-71 dBm)
BER:        2
Network:    AT&T
------------------------------

READY
Activate i2gold
Activating Context.
Context set up.
State: [1] || IP: [xxx.xxx.xxx.xxx]
READY
socketd google.com:80
Opening Socket to server [google.com]:[80].
Limited to [4] tries.
Socket open, forwarding UART.

If you find the phone number or network information isn't filled in, chances are the modem isn't fully ready yet to give that information. Wait a second and then try to run init or register again to fill the information entirely.

The APN that is being used is for AT&T, before trying to do any activation you must have your account's APN ready.

--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

Running the built in Demos
There are three demonstrations built into the project. In order to run one of them you'll have to uncomment the function you wish to run in main.c, edit the information in Demos.c, and then re-compile. It's recommended that if you are doing any edits or heavier code adjustments you purchase the ST Link part from our store and utilize Keil's direct upload via .hex files instead of needing to use the bootloader every time.

Area in Main.c to edit

Quote

   //*********************************
   // User Code Space BEGIN
   //*********************************
   
   //Uncomment the demo you wish to run
   
   //Run the serial bridge client demo
   //Requires a listening host via netcat or similar
   //printf("Running Serial Bridge - Client - Demo\r\n");
   //Demo_SerialBridge_Client(UartDB9, UartModem);
   
   //Run the serial bridge host demo
   //Requires a dialing client via netcat or similar
   //printf("Running Serial Bridge - Host - Demo\r\n");
   //Demo_SerialBridge_Host(UartDB9, UartModem);
   
   //Run the SMS Echo demo
   //Requires an SMS ready account/SIM
   //printf("Running SMS Echo Demo\r\n");
   //Demo_SMSEcho(UartDB9, UartModem, SMSPointer);


The information to edit in Demos.c  is found at the top.

Quote

//Context Information
char *AccessPointName = "yourAPN";
char *UserName = "";
char *Password = "";

//Socket Information
char *RemoteServer = "your.server.here";
char *RemotePort = "5556";
char *LocalPort = "5556";

The above information is generally only useful if you are running either the socket host or client demo. If you are running the SMS Echo demonstration it's not required to edit anything, you simply need a valid SIM card/account with the ability to send SMS and receive SMS.