X

Sign up for MicroEJ Studio

A few clicks left before entering the MicroEJ world.

 
Salutation: *
First Name: *
Last Name: *
Country: *
Email Address: *
Company:
  I agree to hear from MicroEJ about the latest trends and news
 
 
X

Firmware Evaluation License Agreement

You need to accept the License Agreement before downloading the firmware.

  I agree

Getting Started on NXP LPCXpresso54608 Development Board

1

Prepare your Evaluation Board.

Prerequisites

Hardware
Software

The MicroEJ firmware should now run on your evaluation board. You can also read the RELEASE-NOTES of the firmware.

Flash the SEGGER Firmware

  • First, make sure a jumper is set on the JP5 connector on the board.
  • Power the board by connecting the board to the PC using a micro USB to USB cable on connector J8 (USB Debug Link).
  • Launch the Program LPC-Link2 with Segger J-Link script. With a default installation, it's located here: C:\NXP\LPCScrypt\scripts\program_JLINK.cmd.
  • On the command invite, press the spacebar to flash the J-Link firmware. Once it is done, unplug power from the board and quit the script.
  • Remove the jumper from the JP5 connector.
  • Power the board. We can now use J-Link software to flash it.

Program the MicroEJ Firmware

  • Download the following archive.
  • Unzip the archive in a folder of your choice.
  • Start J-Flash Lite.
  • Confirm the notice.
  • Choose the device selection (three dots button next to the unspecified field). Choose NXP in the drop-down menu.
  • Select the device LPC54608J512, click OK, and keep the other setups at their default value (Interface: SWD and Speed: 1000).
  • Press OK to expand the programming window.
  • Program the external flash by selecting the FMW-BLUE-OM13092-PQ9Y4-1.6.1-0x10000000-EXTERNAL.hex in the unzipped folder.
  • Accept terms of use and wait until programming complete (this may take a while).
  • Then program the internal flash by selecting FMW-BLUE-OM13092-PQ9Y4-1.6.1-0x00000000-INTERNAL.hex in the unzipped folder.
  • Accept terms of use and wait until programming complete (this may take a while).
  • Unplug the USB cable, exit SEGGER J-Flash Lite program.

Before running the demo

  • Insert a FAT32 formatted SD card in the SD connector.
  • Connect the board through the Ethernet port to a network providing a DHCP server and DNS via DHCP.
  • Plug the USB cable to power on the board.

The MicroEJ firmware should now run on your evaluation board.

2

MicroEJ Android Companion

The Android companion is an application that connects to a MicroEJ application store (communitystore.microej.com store by default) to install apps on an embedded device running a MicroEJ firmware using a Wifi or Bluetooth interface.

Hardware Requirements

  • an Android Device with networking capabitlities over WiFi

Software Requirements

  • an Android OS KitKat (v4.4 or API level 19) or superior

Android Application Installation

  • Your evaluation card and the Android device running the MicroEJ companion should be connected to the same LAN.
  • Download the Android application package here and transfer the .apk file to the filesystem of your Android device.
  • Launch a file manager on your device.
  • Find your apk file.
  • Launch it and select Install.
  • If a security warning appears, click on Settings and activate the Unknown sources option.
  • Then proceed with the installation.

Use of the MicroEJ Companion

The MicroEJ Companion has several steps to be followed before managing applications with your device.

  • First and foremost create an account here.
  • Start the MicroEJ Companion and log in with the credentials you created on the community store.
  • Choose the WiFi/Network device.
  • Add your evaluation board by clicking on the + icon, enter a name and an IP (the IP can be found on the default Settings page available from the        icon, also take note of your Device UID for future use.).
  • Confirm by clicking on Add Device
  • Select the newly created board in the list.
  • A list of MicroEJ applications available on the community store and board is displayed.
  • You can control the lifecycle (start/stop, install/uninstall) of each app from this list of app.
3

Publishing Data to Google Cloud IoT Core

In this section, we are going to install an app (Google Edge Plug Agent) that is a service to connect to Google Cloud IoT Core. A second application (ThermoPub) is a simple GUI that is using the Google Edge Plug Agent service to publish a temperature.

The published data can either be seen locally on the GUI or accessed through the Google Cloud Console.

Install Data Applications

  • Use your Android phone and start the MicroEJ Companion.
  • Connect to your development board.
  • Install the    ThermoPub and    Google Edge Plug Agent applications.

Initialize your Google Iot Core project

  • Create a Google Cloud account here.
  • Create a new Google Cloud project (as described here).
  • Get to the IoT Core product in the BIG DATA category.
  • Create your registry.
  • Choose your Registry ID and your Region.
  • Select only the MQTT protocol (we do not need the HTTP protocol for the Google Edge Plug Agent).
  • Create a Default telemetry topic.
  • You do not have to create a Device state topic, you can choose None, and we do not need Stackdriver Logging.
  • Select Devices
  • Create a device.


Create your device authentication

Before entering the information about the device, we need a private key and a public certificate for this device. To generate them we'll use openssl. Use this bash script to generate your key.

                        #!/bin/bash

                        # Copyright 2017 Google Inc.
                        # Copyright 2019 MicroEJ
                        #
                        # Licensed under the Apache License, Version 2.0 (the "License");
                        # you may not use this file except in compliance with the License.
                        # You may obtain a copy of the License at
                        #
                        #     http://www.apache.org/licenses/LICENSE-2.0
                        #
                        # Unless required by applicable law or agreed to in writing, software
                        # distributed under the License is distributed on an "AS IS" BASIS,
                        # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                        # See the License for the specific language governing permissions and
                        # limitations under the License.
                        
                        openssl req -x509 -newkey rsa:2048 -keyout $1_private.pem -nodes -out $1_cert.pem -subj "/CN=unused"
                        openssl pkcs8 -topk8 -inform PEM -outform DER -in $1_private.pem -nocrypt > $1_private_pkcs8

Copy the content of the above script into a generate_keys.sh file (it is a script that can be used on Linux/macos or Windows for example by using WSL) and use it.

./generate_keys.sh i_am_a_device_id

You will get two files in the directory you executed the script: i_am_a_device_id_cert.pem and i_am_a_device_id_private_pkcs8.



Finish configuring the cloud.

Back to Google Cloud Console and the Device creation wizard.

  • Choose you Device ID.
  • Obviously allow Device Communication.
  • Choose Enter manually when asked about the authentication input method.
  • Paste the content of i_am_a_device_id_cert.pem in Public key value.
  • You can leave the other options as is and Create your device.

We are now done configuring Google Cloud IoT Core.



Configure and Run the applications.

You will need now to configure the device that is our LPCXpresso54608 board.

  • Start the Google Edge Plug Agent application with the Companion. It will create a template for a gcp_data_agent.properties file.
  • Unplug the USB cable from the board.
  • Unplug the SDCard from the board.
  • Populate the SDCard with your private key.
  • Fill the properties in the gcp_data_agent.properties file on your SDcard created by running the agent for the first time

Example of gcp_data_agent.properties:

broker.uri=mqtt.googleapis.com
project.id=my-sample-project-811256
cloud.region=us-central1
registry.id=MyRegistry
device.id=i_am_a_device_id
device.key=i_am_a_device_id_private_pkcs8.der
  • Copy the file i_am_a_device_id_private_pkcs8 next to the gcp_data_agent.properties file.
  • Plug back the SDCard and usb power to the board.
  • Start the Google Edge Plug Agent application with the Companion.
  • Start the ThermoPub application with the Companion.
  • It should start publishing a temperature to the state of the device.
  • Go into the device details in the Google Cloud Console.
  • Select Configuration & state history.
  • Select the last state.
  • Switch the Format to Text.
  • You successfully publish a temperature from the ThermoPub UI to Google IoT Core thanks to the    Google Edge Plug Agent
4

Install MicroEJ Studio

In the following sections, we're going to install MicroEJ Studio, develop a new application and locally deploy it on our board.

MicroEJ Studio is an IDE built on Eclipse for creating applications for the MicroEJ VEE (Virtual Execution Environment).

Supported Operating System

MicroEJ Studio runs on the following operating systems:

  • Windows 10, Windows 8.1, Windows 8, Windows 7
  • Linux distributions (tested on Ubuntu 12.04 and Ubuntu 14.04)
  • Mac OS X 10.11 and macOS 10.12

Java™ Runtime Environment

A Java™ Runtime Environment 8 is needed on your host computer for running MicroEJ Studio. Download Java™ from http://java.com/en/.

Download MicroEJ Studio

Download the installer package corresponding to your host computer OS from the download link.

Install MicroEJ Studio

  • Unzip the downloaded installer package.
  • Run the unzipped executable file.
  • On Windows, accept the administrator privileges elevation.
  • Follow the installer steps.
  • Proceed to the next step.

MicroEJ Studio
 

(Other platforms)

5

Install the Virtual Device

  • Start MicroEJ Studio.
  • Select the workspace where to put the MicroEJ applications code. If you are not familiar with Eclipse workspaces, select the default one and press OK.
  • Select the MicroEJ repository where to put MicroEJ application platforms. If you are not familiar with MicroEJ repositories, select the default one and press OK.
  • Select the Window > Preferences > MicroEJ > Platforms menu.
  • Download the Virtual Device here.
  • Press the Import... button and select the Virtual Device file previously downloaded (its extension is .jpf ).
  • Accept the license terms and press Finish. The MicroEJ Virtual Device is successfully installed.
6

Run your First MicroEJ Application

Learn how to develop applications with our demo application samples.

Import the Application Samples into Workspace

  • Download the Application Samples here.
  • Inside MicroEJ Studio.
  • Select File > Import > General > Existing Projects into Workspace.
  • Check Select archive file and browse applications-[version].zip.
  • The workspace shall compile without errors.

Application Samples


MicroEJ Demo Applications

Download

Application Deployment on Simulator

  • Inside MicroEJ Studio.
  • Right-Click on com.microej.demo.hello project.
  • Select Run As > MicroEJ Application.
  • The application is executed on the MicroEJ Virtual Device.
  • You should get the following window:
MicroEJ Demo Applications

Application Deployment on Firmware

Once the MicroEJ Firmware is flashed on your evaluation board.

  • Plug your board to a DHCP-enabled network thanks to an Ethernet cable.
  • Retrieve the IP address assigned to the Device, from the Settings menu by clicking the        icon on the main screen.
  • Inside MicroEJ Studio.
  • Select the previously created launcher for the Simulator
    • Go to Run > Run Configurations...
    • Select the com.microej.demo.hello HelloActivityStandalone launcher
  • Select the Execution tab and check Execute on Device
    • Core Engine Mode: Default
    • Settings: Local Deployment
  • Select the Configuration tab and set Host option with the board IP address.
  • Press Run. The application is deployed on board and is started.
7

Create your First MicroEJ Application

Learn to develop

Get the full technical documentation to develop your first apps.

Go further

Leverage the curated developer resources from MicroEJ to enrich your apps with powerful new features.

Learn about the MicroEJ Firmware and their flavors. This MicroEJ Firmware is BLUE.

Engage with the community

Publish your app. Show what you can do with MicroEJ Studio! Upload your app to MicroEJ Store.

8

Advanced Settings

Debug Notes

To get access to debug traces:

  • Flash the CMSIS-DAP firmware by running section 1 replacing "Program LPC-Link2 with Segger J-Link" by "Program LPC-Link2 with CMSIS-DAP".
  • Unplug and plug the USB cable.
  • Retrieve the right COM port available from the Windows device manager.
  • Open a serial terminal and connect the COM port with the following settings:
    • baudrate=115200
    • parity=NONE
    • databits=8
    • stopbits=1