Skip to content

silviaquaglia/daq

 
 

Repository files navigation

DAQ: Device Automated Qualification for IoT Devices.

DAQ is a framework designed to test and operate IoT devices in an enterprise IoT environment. Nominally about device testing and qualification, Device Automated Qualification (DAQ), provides a means to automate many capabilities, resulting in a more manageable, robust, and secure platform.

Join the daq-users@googlegroups.com email list for ongoing discussion about using DAQ for enterprise IoT devices.

There are several main categories of capabilities that DAQ addresses:

System Requirements

Most aspects of DAQ assume a baseline setup consisting of:

  • Linux install: DAQ has been tested against both Ubuntu 16.04.4 LTS xenial and Debian GNU/Linux 9.4 stretch, YMMV with other platforms.
  • Dedicated network adapters: At the very minimum one dedicated ethernet adapter is required. This could either be a separate built-in NIC, or a USB-Ethernet dongle.
  • (Optional) OpenFlow-compatible hardware switch, described in the Network Topologies overview.

Folder Structure

The top-level DAQ folders correspond to the following structure:

  • bin/: System setup and management commands.
  • build/: Dynamically created directory for build logs.
  • cmd/: Primary commands for running DAQ testing.
  • daq/: Python source for DAQ runtime.
  • docker/: Docker build files for DAQ components and tests.
  • docs/: Documentation.
  • faucet/: Dynamically downloaded version of SDN controller.
  • firebase/: Hosted pages and functions for web dashboard.
  • functions/: Additional Cloud Functions for data processing.
  • inst/: Install directory for specific runtime contents.
  • local/: Local setup and config information.
  • mininet/: Local version of the mininet virtual network host framework.
  • misc/: Miscellaneous support files.
  • mudacl/: Utilities for managing and testing MUD network files.
  • mud_files/: Examples and prototype device MUD files.
  • pubber/: Sample code for generating cloud-ingest traffic.
  • schemas/: Device/cloud data exchange schemas.
  • testing/: Scripts for system continuous integration testing.
  • validator/: Tools for validating data exchange schemas.
  • venv/: Dynamically downloaded python virtual environment files.

Items in italics can generally be deleted without any loss of functionality (dynamically created at install/runtime). The local subdirectory contains local setup information that is not part of the source distribution.

About

DAQ (Device Automated Qualification) framework for IoT devices based on faucet.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 44.7%
  • Java 26.7%
  • Shell 21.2%
  • JavaScript 6.7%
  • HTML 0.3%
  • CSS 0.3%
  • Batchfile 0.1%