2.1. Setup: hardware and software¶
2.1.1. Cinterion® IoT SDK installation¶
2.1.1.1. Install the Cinterion® IoT SDK¶
The Cinterion® IoT SDK is distributed by Telit as an archive. Extract its content on your system.
In the following sections, {Cinterion SDK}
refers to the directory that directly contains the
README.txt
file.
2.1.1.2. Set up the Cinterion® LGA DevKit¶
- Set up the Cinterion module:
- For the EXS82 module, use the LGA DevKit S+M.
- For the PLS63 module, use the LGA DevKit L.
- Screw the socket to the PCB.
- For the EXS82 module, put the
SMALL
fixing frame in the socket. - For the PLS63 module, put the
LARGE
fixing frame in the socket. - Put the module in the fixing frame.
- Close the socket.
- Check hardware configuration of LGA DevKit (both EXS82 and PLS63):
- Set
PWR
andASC0
switches to USB. - Place jumpers on:
ASC0_A
,CONTROL
,B+BB
,B+RF
,A
. - For GPIO test with
STATUS
LED blinking, place jumper on:GPIO5
- (optionnal) For GPIO test in input, place button with pull down on:
GPIO6
- Set
- Insert the SIM card.
- Plug the wideband antenna into either the
Main
or theDRX
ports. - Connect the dev kit to your PC using the
Native USB
port. - Press on the
ON
button to start the firmware.
2.1.1.3. Configure the connection¶
Follow the section 2 Setup of the SDK
Getting_Started.pdf
. On Windows 10, make sure to use the SDK drivers to have the names correctly displayed.Note the following COM ports:
Cinterion PID 0X006C USB Modem
andCinterion PID 0X006C USB Com Port2
. They will be refered as the modem COM port and the logging COM port respectively. If these devices are not accessible, make sure the drivers are updated.Configure the logging interface:
{Cinterion SDK}/tools> python log.py config -d "COMX,460800" -p COMY COMX,460800
where
COMX
is the logging COM port andCOMY
the modem COM port.Listen to logs:
{Cinterion SDK}/tools> python log.py read {Logs will appear here}
The command must be repeated if the module is rebooted (broken connection).
2.1.1.4. Serial interfaces¶
The serial interfaces of the DevKit are used as follows:
- USB (native):
- Virtual Port “modem”: AT commands (used by
app.py
/fs.py
) - Virtual Port “logging”: Logging interface (used by
log.py
)
- Virtual Port “modem”: AT commands (used by
- ASC0:
- Serial communication: applications can communicate through this interface using ECOM-COMM APIs.
- It is also used for the Cinterion mock (MQTT, AT commands, ..)
- Serial communication: applications can communicate through this interface using ECOM-COMM APIs.
- ASC1:
- Serial communication: applications can communicate through this interface using ECOM-COMM APIs.
2.1.2. MICROEJ SDK installation¶
2.1.2.1. Install the MICROEJ SDK¶
The MICROEJ SDK is distributed by MicroEJ with an Eclipse-based IDE.
Follow instructions in Download and Install.
2.1.2.2. Create a workspace¶
Open the IDE and create a workspace.
2.1.3. Cinterion evaluation package installation¶
2.1.3.1. Import the module repository¶
- In the workspace, select
File > Import > MicroEJ > Module Repository
, - Select
Select file
and browse to the filecinterion-offline-repository-<version>.zip
, - Click on
Apply and Close
.
2.1.3.2. Import the projects¶
For Cinterion-Platform-Clangv4_cortexa7-<version>.zip
, cinterion-demo-kernel-<version>.zip
and
cinterion-demo-application-<version>.zip
:
- In the workspace, select
File > Import > General > Existing Projects into Workspace
, - Select
Select archive file
and browse to the archive file, - Select all projects and click on
Finish
.
2.1.3.3. Build the VEE Port¶
The Security implementation is based on the
Mbed TLS v2.28.0 LTS
Third Party Library. The BSP project must containMbed TLS v2.28.0 LTS
Third Party Library sources incinterion-threadx-bsp/thirdparty/mbedtls
directory. Before building the VEE Port project, please clone Mbed-TLS repository and checkout to the LTS tagv2.28.0
with the following command:> git clone -b v2.28.0 https://github.com/Mbed-TLS/mbedtls.git
[Optionnal] To use the DTLS mock, download the following Bouncy Castle
v1.7
libraries:and drop the files in the cinterion-threadx-configuration/dropins/mocks/dropins folder, create the folder if it does not exist.
[Optional] For use with a production license, in
cinterion-threadx-configuration/module.properties
change thecom.microej.platformbuilder.architecture.usage
property value toprod
.For smaller footprint on EXS82 modules with mono-sandbox application only, the Tiny VM capability must be enabled: open
cinterion-threadx-configuration/cinterion.platform
file with a text editor and remove thekf
group.In the
Package Explorer
view, right-click oncinterion-threadx-configuration
and click onBuild Module
.Detailed documentation is available in the VEE Port sources, at the location of the import, to open with any rst viewer or text editor, by default:
{workspace}/Cinterion-Platform-Clangv4_cortexa7-<version>.zip_expanded
README.rst
: General VEE Port documentation.CHANGELOG.rst
: VEE Port changelog.RELEASE NOTES.rst
: VEE Port release note.cinterion-threadx-bsp/projects/cinterion/README.rst
: Advanced VEE Port documentation.
Configure the VEE Port with your environment: in
cinterion-threadx-bsp/projects/cinterion/scripts
, copyset_local_env.bat.tpl
toset_local_env.bat
and set the variables.
2.1.3.4. Demo configuration¶
The modem can be preconfigured with modem connectivity information.
To enable the modem connectivity, open a terminal to the modem COM port with baudrate 460800
:
Check if the SIM card needs to be unlocked:
> AT+CPIN? +CPIN: READY OK
Unlock the SIM card if previous result isn’t
READY
:> AT+CPIN={PIN} OK
where
PIN
is the PIN code (e.g.0000
). PIN information is stored and SIM will be automatically unlocked on each startup.Check the network attachment status:
> AT+CGATT? +CGATT: 1 OK
This may not be successful at first attempt. Retry on failure.
If the status is not
1
, trigger and wait for network attachment:> AT+CGATT=1 OK
This may not be successful at first attempt. Retry on failure. If the command still fails after a few attempts, and the previous command returns
0
, check your SIM card, your GPRS antenna, and potentially, the operator configuration.Configure the PDP context:
> AT+CGDCONT={CID},"IP",{APN} OK
where
CID
is the context ID (e.g.1
) andAPN
is the name of the APN to use (e.g."myapn"
). This configuration will persist on each startup.Activate the internet connection:
> AT^SICA=1,{CID} OK
where
CID
is the context ID (e.g.1
). If this command succeeds, the modem is correctly configured.
Also, the demo contains several application configurations (MQTT host, topic, …)
To configure the application:
Edit the file
{Package}/config/demo.config
to set the appropriate configuration where{Package}
is the path to the Cinterion MICROEJ evaluation package.Push the file on the filesystem of the Cinterion module, using the Cinterion SDK tools:
{Cinterion SDK}/tools> python fs.py download {Package}/config/demo.config A:/demo.config Sent 100 %
If configured, push the CA certificate on the filesystem of the Cinterion module:
{Cinterion SDK}/tools> python fs.py download {Package}/config/mosquitto.org.crt A:/mosquitto.org.crt Sent 100 %
Note
These configurations are persistent, the above instructions are not required after a reboot of the module.