Download and install Atomiton Stack

Download A-Stack

Prerequisite to download

  • Login to your TQLStudio Account either from Atomiton Website OR direct from TQLStudio Page
  • If you login from Atomtion Website, be sure to click "Go to my apps". This takes you to Project Dashboard page of TQLStudio
  • Click on Profile / Account
  • Click on A-Stack of Left hand side panel, which brings up the Download A-Stack page

A-Stack vs A-StackPrime

There are two zip file bundlers available for download


DescriptionUsage
A-Stack

Contains A-Stack UserInterface.

A-Stack UI help managing your Runtime environment easily

via ThingSpaces, Query Editor and Admin panels.

Size ~ 50MB

  • Public or Private Cloud deployments
  • Local Machines (Laptops, VMs etc) where disk (> 200GB) and memory (RAM > 2GB)
A-StackPrime

Does not contain A-Stack UserInterface

Size ~15MB

  • Gateways (Raspberry Pi, Intel Compute Stick, others)
  • Micro controllers where disk and memory are limited.

Install A-Stack

Chose appropriate type of A-Stack bundle depending on you requirements to build IoT Application. The Steps to install for Linux or Windows Environment are same. If there are any differences those will be mentioned in Installation Steps. 

Prerequisite to Install

  • Runtime environment for A-Stack is Java. 
  • A-Stack requires JDK 1.8 Latest (or at least build 1.8.0_91-b14)
  • Minimum Technical Requirements for A-Stack runtime is :
    • Any hardware  - both 32-bit or 64-bit architectures with JDK 1.8 installed.
    • Minimum of 2GB of RAM.
  • Verify that Java is installed properly on your host using "java -version" from your shell / terminal window.
    Sample verification on Raspberry Pi

Installation Steps

Unzip A-Stack Bundle
  • Open a terminial / cmd window and create a directory (say, atomiton-release)
  • Run unzip <Name of the A-Stack Bundler Zip file>
Content Description

Once the bundle is unzipped you will following files and folder structure.

File/Folder NameDescription
binTQL Command Line Interface Tool (Windows: tql.bat; Linux: tql)
libLibraries used by TQL Command Line Interface Tool
syslib

Atomiton Provided Drivers associated with various protocol handlers.

Please look at

logsLog files generated by A-Stack
examplesSample Models
sff.local.config.xmlAdd you local project specific settings here
resourcesTemporary store where you projects gets imported and stored
sff.auto.launch

Folder containing runtime / 3rd party redistributable bundlers

(Including Protocol Handlers prepackaged by Atomiton)

A-StackuiA-Stack Javascipt/HTML files
atomiton.A-Stack.jarA-Stack Runtime (Main one!)


Starting A-Stack

Verify Installation

There are two ways you can verify that the engine has started successly

  1. Using TQL Command Line Interface Engine command with Status option
  2. Looking at the log file (logs/startup.log) which should display

Default Configuration

Default configuration settings of A-Stack

Default Engine Configuration Setting
<SffLocalConfig>
        <Deploy.Location>/Users/baseerkhan/iot/atomiton/atomiton-release/</Deploy.Location>
        <Project.Repository.Location>[:Deploy.Location:]resources</Project.Repository.Location>
        <sff.server.port>8080</sff.server.port>
        <sff.local.deploy></sff.local.deploy>
</SffLocalConfig>
  • A-Stack starts on port 8080 by default. You can edit this file to change the default settings.
Log Files
  • A-Stack by default creates log files in logs folder in A-Stack folder
  • By default Log provider configured is Log4j with following Log4j properties files

    Default Log4j settings
    #Log4J Properties :
    log4j.rootLogger=INFO, R
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=deviceEngine.log
    log4j.appender.R.MaxFileSize=50Mb
    # Keep one backup file
    log4j.appender.R.MaxBackupIndex=20
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=[%d] %p %c [%t] %m%n
Default Login and Password

**Applicable to A-Stack User Interface Only**

Not the A-Stack User Interface credentials are not same as your TQLStudio account. You can change the default login credentials using A-Stack UserInterface.

**Login and Password are CaseSensitive**

LoginPasswordFirstNameLastName
A-Stack@atomiton.comtql123AtomitonA-Stack
Verify Agreement
  • Login URL

    http://<hostipaddress>:<defaultPort>/app/index.html


  • Accept the Agreement
  • Default Engine not activate page (Applicable to version 1.0.5) (Coming Soon)

Activate A-Stack (Applicable to version 1.0.5)

Steps to activate A-Stack are:

  • Login to TQLStudio (Account / A-Stack page) and download your private key file (PEM file) and save it locally to your machine.

  • Click on Activate now (Coming Soon)


  • Click on Upload a pem file; select the saved pem file (from local machine) in dialog window (Coming Soon)


  • Activation result page (Coming Soon)


Enable SSL/TLS on A-Stack

In order to enable SSL/TLS on A-Stack you need to import certificate into key store. Steps are:

1) Create a new keystore and generate a private/public key pair
2) Create a Certificate Signing Request (CRS) for your key.
3) Submit your CRS to certification authority (CA)
4) CA should issue you a certificate file (*.crt) along with a certificate authority chain
5) Import all files from last step into your keystore

Let's walk through these steps with Self-Signed Certificate:

<running these commands within dir sslcertificates under install dir, will make it easier>

  1. Generate RSA Private key

    Generate RSA Private Key
    openssl genrsa -des3 -out server.key 1024


  2. Generate Certificate Signing Request

    Generate Certificate Signing Request
    openssl req -new -key server.key -out server.cer


  3. Remove Paraphrase:

    Remove Paraphrase
    cp server.key server.key.org
    openssl rsa -in server.key.org -out server.key


  4. Generate a self-signed certificate


    Generate Certificate
    openssl x509 -req -days 365 -in server.cer -signkey server.key -out server.crt


  5. Create p12 format file

    Convert to p12 format
    openssl pkcs12 -export -in server.crt -inkey server.key -out serverKeystore.p12


  6. Import into keystore

    Import KeyStore
    keytool -importkeystore -deststorepass test123 -destkeystore server.jks -srckeystore serverKeystore.p12 -srcstoretype PKCS12


Configure keystore options in sff.local.config file

Configure KeyStore Parameters
<SffLocalConfig>
        <sff.keystore.type>JKS</sff.keystore.type>
         <sff.keystore.file>/Users/baseerkhan/iot/atomiton/production/rel-106/server.jks</sff.keystore.file>
         <sff.keystore.pass>test123</sff.keystore.pass>
         <sff.cert.pass>test</sff.cert.pass>
</SffLocalConfig>

Once SSL/TLS is setup you can access transports: HTTP and WS over HTTPs and WSS.

Next, let's try importing a sample project.