Skip to content

TCC2021SeniorProject/IoTdevices

Repository files navigation





TABLE OF CONTENTS

  1. About the Project
  2. Getting Started
  3. Current Features
  4. Contact


About The Project

This project will assist developers in implementing custom IoT systems.

Here are the people who want to use this:

  • Users who want to design automata system with UPPAAL
  • Users who want their modeled diagrams to run on Rasberry Pis
  • Users who want to test out IoT environment with the modeling tool (UPPAAL)

(back to top)

Getting Started

Prerequisites

Using pip3: Download pycreate2, Download paramiko

Demo Installation

  1. Clone the repo

    git clone https://github.com/TCC2021SeniorProject/IoTdevices.git
  2. Go into IoTdevices folder

    cd IoTdevices
  3. Run DeviceSetup.py

    python3 DeviceSetup.py
  4. Create a model

  5. Write predefined code to go onto the IoT devices (examples in repo)

  6. Write injection code to be combined with the model (examples in repo)

  7. Include injection code when translating model

  8. Save and run translator output


Current Features

  • DeviceSetup.py for ease of adding IoT devices
  • deviceInterface.py for ease of writing and interfacing injection and predefined code
    • Connect(deviceIPs): Connects to all devices in the passed list deviceIPs
    • Send(com, deviceNum): Executes a command on a device using exec_command
    • SendAll(com): Executes a command on all connected devices using exec_command
    • Shell(com, deviceNum): Runs a command in a shell on a device, such as running a python script (predefined code) and passing input to it
    • ShellAll(com): Runs a command in a shell on all connected devices
    • Check(localpath, deviceNum): Checks to see if a device has a specified file
    • CheckAll(localpath): Checks to see if all devices have a specified file
    • Retrieve(remotepath, deviceNum): Attempts to download a specified file from a device
    • RetrieveAll(remotepath): Attempts to download a specified file from all devices. The device number is appended to the file name before the file extension.
    • Transfer(localpath, deviceNum): Sends a local file to a remote device. This allows for effectively scripted use of piTransfer.py
    • TransferAll(localpath): Sends a local file to all connected devices
    • Disconnect(): Disconnects from all devices


Contact

Director

Dr. Siddhartha Bhattacharyya
Email: sbhattacharyya@fit.edu

Developers

Sung-Jun Baek
Email: roni2006@hanmail.net
GitHub: MarcoBackman

Caelan Shoop
Email: cshoop2018@my.fit.edu
GitHub: CCShoop

Cameron Wright
Email: cameron2018@my.fit.edu
GitHub: CameronWr

(back to top)

Releases

No releases published

Packages

No packages published