>> GEMALTO CONCEPT BOARD - WHAT WILL YOU CREATE?
I was recently introduced to this piece of kit and I finally got a chance to
play with it.
The
Cinterion Concept-Board
by Gemalto is an platform utilizing Java technology to allow hobbyists and
designers to innovate and build concept solutions for the Internet of Things
sector. It is designed for fast prototyping and can be connected to Arduino
style breakout shields and includes GSM technology for cellular connectivity.
Lets quickly go over the specifications, before getting into working with the
device:
- ARM11 CPU clocked at @520MHz
- 6Mb of RAM, 8Mb of flash memory
- Java ME 3.2
- integrated 5-band HSPA (7.2/5.7Mbit links)
- RS232 / USB interface
- secure TCP/IP networking
- integrated FOTA (Firmware OTA upgrades)
- power source via USB connection or battery
- HW extensions through Arduino-style connectors
Overall; nice set of specs - but it comes with one small caveat. Developers
have no access to the sweetness of that ARM11 CPU, as the device has
integrated a Java ME run-time environment as the mechanism for programming
the device. On the plus side, it can run multiple MIDlets at the same time
and once you figure everything out it is not difficult to use.
I did mention "once you figure everything out" right? :)
Unfortunately; the only development platform supported is Windows - even
with a platform independent solution such as Java ME, it isn't easy to get
everything up and running from Mac OSX or Linux; I was forced to opt for
installing Windows XP on VirtualBox to get started.
To get access to the SDK to even start with you must go through a
registration progress first requiring you to submit the IEMI number
on the device and provide some personal details. In what seems to be a
manual process you must then "wait" for them to get back to you with
a username/password combination to access a community area and
documentation.
Lucky; the person I got the unit from had already signed up and provided
me a CDROM with some bits and pieces in addition to passing on his
credentials to get everything else. The quick start and tutorial guides
were very limited (if any at all) however on the plus side a lot of
technical specifications if you have time to read through them all.
With my fresh install of Windows XP up and running, I felt I could actually
get started. The setup process was so-so and could have been done better -
it expects to flow perfectly (do not forget to press the START button on the
device) or you are forced out and have to restart the installation process
in recovery mode. I configured my HyperTerminal with 115200 bps,
8N1, CTS/RTS control and DTR on - then could see life on the device via
an AT command.
Bingo - up and running; AT commands you say? - yes, AT commands, and this
is 2014 right?
I guess someone forgot to tell Gemalto that AT commands are so last
century and the 467 page PDF document is probably going to scare off
any tinkerers who want to get up and running quickly. It wasn't going
to deter me and I persisted. I must say I am used to testing hardware
where I can have a demo running in five minutes, not almost three hours!
Compiling MIDlets aside - exactly how does someone get a compiled
package to the device and start it and be able to see something happen?
They provide an AT command (AT^SJAM specifically) with different
options; either to load a MIDlet into the executable space, start it,
stop it, unload it and some house keeping to see what MIDlets are running
and installed.
This is what I had to type in Hyperterminal to install, run
and cleanup the "hello world" MIDlet:
AT^SCFG="Userware/Stdout","FILE","8192","a:/debug.log","secure"
^SCFG: "Userware/Stdout","file","8192","a:/debug.log",,"on"
OK
AT^SJAM=0,"a:/helloworld.jad",""
OK
AT^SJAM=1,"a:/helloworld.jad",""
OK
AT^SJAM=5
^SJAM: "a:/JRC-1.50.9.jad","Java Remote Control MIDlet Suite","Cinterion","1.50.
9",1
^SJAM: "a:/helloworld.jad","Hello World","Gemalto M2M GmbH","1.0.1",0
OK
AT^SJAM=5
^SJAM: "a:/JRC-1.50.9.jad","Java Remote Control MIDlet Suite","Cinterion","1.50.
9",1
OK
AT^SJAM=3,"a:/helloworld.jad",""
OK
AT^SCFG="Userware/Stdout","null"
^SCFG: "Userware/Stdout","null",,,,"off"
OK
"what exactly is going on here?" you ask?
I had to start by copying my compiled MIDlet (jad and jar
files) to the virtual drive that is provided in Windows Explorer. The first
AT command is to reconfigure the stdout stream to be written to
a text file so I could view some output after it has executed; then the
load/start process, followed by a few status checks to identify when the
application stops running and a final set of steps to unload my MIDlet and
restore the stdout stream to its previous glory.
This is the "raw" way of doing things - I have seen in videos of some
of their examples the use of an automated way to compile, deploy and start
MIDlets but I wanted to know what was happening behind the scenes and the
use of Hyperterminal was perfect for this.
Seeing "Hello World" in my log file I finally felt I understood how to work
with this platform. My concern would be anyone who wants to use this and
doesn't have the patience to deal with the minor glitches and limited
walkthrough guides would simply give up after a while.
Once you figure all of this out and spend some time reading through the
technical documentation that is provided (there lots of it) you can actually
start creating some very interesting projects with the device. The device
provides the following JSR (Java Specification Request) implementations
(not clear how easily more could be added):
In addition to some non standard API's for accessing the hardware
specific features of the device - GPIO's, persistent storage, IP networking,
watchdog timers and underlying AT command system. With all this at
your arsenal - you can start writing MIDlets to actually do something
interesting without doing everything over AT commands (you could if you
wanted).
Gemalto is also hosting a
contest
called the #IoT maker challenge - that with less than fifteen days left,
are you surprised after reading the above that they only have six entries?
Now I that have gotten this far - it would not be difficult to enter it and
have a slight chance of winning!
The process from receiving the package to getting something running simply
requires too much fiddling around (especially with the level of support docs).
Unless you really want to get it working and are persistent; the platform
may not be for you.
At least now I have a chance to explore some of the more interesting
features of the device, I was able to have the device download a file from my
web server with very little code and I look forward to playing with
the JSR's (security especially) in more detail and definitely look into
the FOTA (Firmware Over-The-Air) features of the device.