Skip to content

A complete hardware agnostic IoT system for monitoring home temperatures written in scala

License

Notifications You must be signed in to change notification settings

TralahM/IOT-System

Repository files navigation

Build Status License: MIT Organization HitCount PRs Welcome GitHub pull-requests GitHub version. Made With

IOT-System.

TralahM TralahM

Documentation

Using Akka to build out part of an Internet of Things (IoT) system that reports data from sensor devices installed in customers’ homes. The example focuses on temperature readings. The target use case allows customers to log in and view the last reported temperature from different areas of their homes. You can imagine that such sensors could also collect relative humidity or other interesting data and an application would likely support reading and changing device configuration, maybe even alerting home owners when sensor state falls outside of a particular range.

In a real system, the application would be exposed to customers through a mobile app or browser. This guide concentrates only on the core logic for storing temperatures that would be called over a network protocol, such as HTTP. It also includes writing tests to help you get comfortable and proficient with testing actors.

The application consists of two main components:

  • Device data collection: — maintains a local representation of the remote devices. Multiple sensor devices for a home are organized into one device group.

  • User dashboard: — periodically collects data from the devices for a logged in user’s home and presents the results as a report.

The following diagram illustrates the example application architecture. Since we are interested in the state of each sensor device, we will model devices as actors. The running application will create as many instances of device actors and device groups as necessary.

arch_boxes

This tutorial introduces and illustrates:

  • The actor hierarchy and how it influences actor behavior
  • How to choose the right granularity for actors
  • How to define protocols as messages
  • Typical conversational styles

How to Install

Building from Source for Developers

git clone https://github.com/TralahM/IOT-System.git
cd IOT-System

Contributing

See the Contributing File

See the Pull Request File

Support

LICENCE

Read the license here

Acknowledgements

Find me on Twitter

Find me on Kaggle

About

A complete hardware agnostic IoT system for monitoring home temperatures written in scala

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages