Aaron Ardiri
[Valid RSS] RSS/XML feed
198 entries available (show all)

 

Internet of Things (IoT)
   

PLEASE TAKE A MOMENT TO FOLLOW MY NEW VENTURE:
 
RIoT Secure AB
 
ALL SECURITY RELATED TOPICS ON IoT wILL BE POSTED THERE


2014-10-26
>> 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.

  • ATI
    Cinterion
    EHS6
    REVISION 02.000
    OK

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.


 

advertisement (self plug):
need assistance in an IoT project? contact us for a free consultation.

 



TinyScreen - A perfect compliment to the TinyDuino
 
MicroLink GSM - Tiny Arduino with integrated GSM

DISCLAIMER:
All content provided on this blog is for informational purposes only.
All comments are generated by users and moderated for inappropriateness periodically.
The owner will not be liable for any losses, injuries, or damages from the display or use of this information.