Download and install Atomiton Stack
Download A-Stack
Prerequisite to download
Download Page Link
- 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
Description | Usage | |
---|---|---|
A-Stack | Contains A-Stack UserInterface. A-Stack UI help managing your Runtime environment easily via ThingSpaces, Query Editor and Admin panels. Size ~ 50MB |
|
A-StackPrime | Does not contain A-Stack UserInterface Size ~15MB |
|
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 Name | Description |
---|---|
bin | TQL Command Line Interface Tool (Windows: tql.bat; Linux: tql) |
lib | Libraries used by TQL Command Line Interface Tool |
syslib | Atomiton Provided Drivers associated with various protocol handlers. Please look at |
logs | Log files generated by A-Stack |
examples | Sample Models |
sff.local.config.xml | Add you local project specific settings here |
resources | Temporary 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-Stackui | A-Stack Javascipt/HTML files |
atomiton.A-Stack.jar | A-Stack Runtime (Main one!) |
Starting A-Stack
- Please refer to TQL Command Line Interface Engine command with Start option
Verify Installation
There are two ways you can verify that the engine has started successly
- Using TQL Command Line Interface Engine command with Status option
- Looking at the log file (logs/startup.log) which should display
Default Configuration
Default configuration settings of A-Stack
<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**
Login | Password | FirstName | LastName |
---|---|---|---|
A-Stack@atomiton.com | tql123 | Atomiton | A-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>
Generate RSA Private key
Generate RSA Private Keyopenssl genrsa -des3 -out server.key 1024
Generate Certificate Signing Request
Generate Certificate Signing Requestopenssl req -new -key server.key -out server.cer
Remove Paraphrase:
Remove Paraphrasecp server.key server.key.org openssl rsa -in server.key.org -out server.key
Generate a self-signed certificate
Generate Certificateopenssl x509 -req -days 365 -in server.cer -signkey server.key -out server.crt
Create p12 format file
Convert to p12 formatopenssl pkcs12 -export -in server.crt -inkey server.key -out serverKeystore.p12
Import into keystore
Import KeyStorekeytool -importkeystore -deststorepass test123 -destkeystore server.jks -srckeystore serverKeystore.p12 -srcstoretype PKCS12
Configure keystore options in sff.local.config file
<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.