/iot-platform

IoT Platform is a software to manage large scale deployment of IoT devices and to process big data generated by them.

Primary LanguageJavaScriptMIT LicenseMIT

iot-platform

IoT Platform is a software to manage large scale deployment of IoT devices and to process big data generated by them. IoT platform is supported by E-Yantra (Government of India Program). This platform is being used across various engineering institutes including IIT Bombay.

Architecture

60c1f12a3f754657ac33b126ef4d0bbb

Team

  • Chief Architect : Akshar Prabhu Desai
  • Developers
    • Siddhesh Prabhu
    • Omkar Manjrekar

Setup

  1. Install Java JDK 8, MySQL and Gradle locally and set MySQL username and password to root/root
  2. Create db named "iot"
  3. Clone this github repository
  4. Inside the repository, type "gradle server:fatJar". This generates a .jar inside "./server/build/libs/" file which will create the server on your machine when executed
  5. Run the server with command "sudo java -jar ./server/build/libs/<name-of-jar-file>"
  6. In your browser, visit the url "127.0.0.1:8002/install". This will add required tables, and seed data to your iot database
  7. Visit url "127.0.0.1:8002/login" and login with "admin@e-yantra.org" and "1234567" as password
  8. In the table configset in the database, add five keys and their respective values
    • awsKey
    • awsSecret
    • endpoint (iot endpoint unique to your AWS account)
    • IoTRoleARN (role that grants iot access to dynamoDB and other services, requires additional settings) (optional for dynamoDB storage)
    • lambdaCronArn (ARN of the lambda function that manages cron, requires additional settings) (optional for cron service)
    • lambdaNotificationArn (ARN of the lambbda function that manages SNS notification settings)
  9. Change the CERT_ROOT under StringConstants class to point to the directory where you want to store thing certificates

Follow this link for additional AWS setup steps for optional services.