NXP i.mx 6 UltraLite Evaluation Kit Edge MicroServer Installation and Setup Guide Version 1.0
Software Change Log... 2 Introduction... 2 About the NXP i.mx 6 UltraLite Evaluation Kit... 2 Initial Setup... 2 Preparing the Device... 3 Download and Install the Edge Microserver... 5 Configuration and Connection... 6 Configuring and Setting up a Websocket Connection... 6 Verifying Websocket Connection... 7 Troubleshooting... 8 Compatibility... 9 Document Revision History... 9 1
Software Change Log Version Release Date Changes 1.0 4/15/2016 Initial Release Introduction The Edge MicroServer is a powerful component of the ThingWorx architecture. The Edge MicroServer allows for the rapid deployment of connections between the ThingWorx platform and an associated data reporting device, with minimal design requirements on the part of the user. The Edge MicroServer provides an always-on connection to the platform, and it opens a local web server that interacts with the REST API available on the platform. This document provides installation and usage instructions for setting up the Edge MicroServer with the NXP i.mx 6 UltraLite Evaluation Kit. About the NXP i.mx 6 UltraLite Evaluation Kit The NXP i.mx 6 UltraLite Evaluation Kit [hereafter referred to as the NXP Device] is a development and evaluation board manufactured by NXP Corporation. It allows for a rapid interchange of various NXP accessories, including LCD screens, processor boards, and payment interfaces. It features a 528 MHz ARM Cortex-A7 Core processor, 4GB DDR3L SDRAM @ 400MHz, 256 Mb Quad SPI Flash, a MicroSD connector, as well as various peripheral input and outputs, including Bluetooth connectors, speaker, HDMI, and Ethernet connectors, USB ports, CAN connectors, and more. The ThingWorx Edge MicroServer Linux-ARM distribution may be installed on the NXP Device, and this guide will follow the procedure for doing so. This guide will also follow the features involved with initiating a connection between a remote Thingworx platform and the NXP Device. Initial Setup Setup of the NXP Device with an EMS will first require configuring and setting up the device according to the instructions provided by NXP for this board. They may be found at http://www.nxp.com/products/sensors/gyroscopes/i.mx6ultralite-evaluation-kit:mcimx6ul-evk?. This device is required to be in a state where it is running off of the OS image installed on an SD card on the device s SD card slot. In addition, libstdc++ libraries are required by the ThingWorx EMS. More information about the ThingWorx EMS may be found at http://support.ptc.com/cs/help/thingworx_hc/thingworx_6.0_hc/. 2
Please note that this guide was written for a computer running Microsoft Windows. Refer to the Troubleshooting section of this guide for help with frequently asked questions. Preparing the Device 1. If it has not already been performed, follow the NXPi.MX 6UltraLite Quick Start Guide to connect all peripherals to the device appropriately. Verify it has a micro SD card properly connected, and power it on. 2. Make sure the device is connected to a PC via a micro USB cord inserted into the J1901 micro USB port. See the device setup guide at http://www.nxp.com/products/sensors/gyroscopes/i.mx6ultraliteevaluation-kit:mcimx6ul-evk? Verify that the device has an Ethernet connection to a local network with internet, as well. 3. On the connected computer, verify that the proper Windows drivers are installed to interface with this device. This may be verified in Device Manager, and the device should have installed automatically as Silicon Labs CP210x USB to UART Bridge, or similar. If the device does not install automatically, you will need to manually locate and install these drivers. 3
4. Note the COM port listed in this connection. Open a terminal serial connection program such as PuTTY, and create a new connection to this device on the serial port noted. Use baud rate 115200. 5. At this point, PuTTY should show a console with details concerning the device s boot-up, or you may see a prompt. Press Enter once. Following this, type root and press enter again. The screen should be visible to the one at right: 6. Enter the command: ifconfig To obtain the device s IP address. 4
Download and Install the Edge Microserver 1. From the PTC Support Site, download the ThingWorx EMS. Make sure you download the proper version for your device (and latest datecode): MicroServer-5-3-1-1113-Linux- ARM. 2. Use a program such as WinSCP to copy the EMS to the device under the following directory (create if it does not exist): /usr/include/microserver Set permissions for the wsems and luascriptresource to allow for execution (all permissions works) using chmod: chmod 777 wsems chmod 777 luascriptresource 5
Configuration and Connection Configuring and Setting up a Websocket Connection 1. Open for editing, using either WinSCP or the VI editor, the config.json file. 2. Modify the configuration file to suit a connection to a remote ThingWorx Platform server. A valid AppKey is required. Note: It is highly recommended to connect to a server using only a secure (https) connection via SSL or TLS. For additional guidance and examples on setting a configuration file, please refer to http://support.ptc.com/cs/help/thingworx_hc/thingworx_6.0_hc/ and follow the guide section entitled ThingWorx WebSocket-based Edge MicroServer (WSEMS) 3. After verifying the connection information (see example below), save and close the file. 4. Start the EMS using the following command:./wsems 5. Verify that the EMS starts, runs, and connects to the remote platform. Look for the message Websocket Connected! to verify a connection was successful. 6
Verifying Websocket Connection 1. From any browser, navigate to the remote ThingWorx platform server. 2. Navigate to the Monitoring > Remote Things section, and then click the Unbound tab. The NXP device, configured with the name given in the config.json file, should be visible here. 7
3. At this point, the device is connected. You may configure it to push properties to the server and bind them as remote properties. For more information, follow the examples and guides at http://support.ptc.com/cs/help/thingworx_hc/thingworx_6.0_hc/. 4. To properly shut down the device, first stop the EMS (use CTRL+C), and then power down the device using the command: shutdown h now Power off the power switch, and then remove the power supply. Troubleshooting Problem Solution(s) 1. Device will not boot up / will not remain running. 1. Verify that the proper power supply is connected (5V, 3.5A). 2. Verify that the Ethernet port is connected to a router with an internet connection. 3. The SD card must be present on the device with an OS image. Verify that the SD card is properly imaged and mounted in the device. For more information in preparing the SD card, visit http://www.nxp.com/products/sensors/gyroscopes/i.mx6ultraliteevaluation-kit:mcimx6ul-evk 4. Some devices have trouble holding the SD card firmly against the pins in the reader on the board. Your device may require repair or replacement. To confirm this issue, contact NXP; or to confirm this issue, try applying gentle but firm pressure to the top of the SD card, against the board, while it is in the reader. If the device boots while pressure is applied, try to re-seat the SD card or contact NXP for further assistance. 5. The SD Card image may be corrupted. Attempt to re-flash. 6. Verify the USB cable is connected to the proper micro-usb port on the device (there are two). Refer to the NXP Quick Start Guide for guidance. 2. The device will not connect to a remote server or the EMS will not connect. 1. Carefully check the config.json file for any typos, such as a missing comma, quotation mark, or an inaccurate AppKey. Look at the EMS console log while running to determine what the problem is. 2. If you are connecting via SSL, verify that the server supports such a connection, that the config.json file is set to use port 443, and a certificate is provided. Refer to the config.json.complete file, included on the EMS, for example configurations and explanations. 3. Verify that no firewall or network configuration is preventing the device from connecting to the server, or the server from accepting connections from the device. 4. Attempt to connect to a ThingWorx server on the local network to rule out other network issues. 5. Verify that the Standard C++ library is loaded onto the device (libstdc++) 8
Compatibility This guide has been tested for compatibility with the DEVICE and the following ThingWorx platform and operating system: ThingWorx Platform Version ThingWorx 7.0.1 OS Windows 7, Service Pack 1 EMS Board MFGTOOL MicroServer-5-3-1-1113-Linux-ARM Rev L3.14.38.6ul Document Revision History Revision Date Version Description of Change April 15 th, 2016 1.0 Initial Release 9