Skip to content

UyumazHakan/Hardware-Abstraction-Platform

Repository files navigation

READ ME

This document provides a step by step guide to set up the HAL, retrieve data from the sensor devices, send it to various other devices / IoT Core Team.

Features

  • Support for numerous sensors.

  • Modular and extensible structure.

  • Simple UI to enable user to configure his devices and sensors.

  • Secure data transmission to other devices/IoT Core Layer.

  • Intermediate data storage.

  • Detection of sensor failures.

  • Machine to Machine communication.

Deployment

  • Clone this repo

  • Assuming that the config web server(https://gitlab.lrz.de/IoT-Practicum-Group/sensors/tree/v2018) is running smoothly, use it to register yourself, create your device and edit the device details accordingly.

  • Make sure to mention the appropriate sensor, communication and security protocols without fail.

  • Make sure that the device is connected to Internet.

  • Install python3.5+ on the device

  • Run sudo bash install.sh <config-web-server-ip:4000>

Components Supported

  • Raspberry Pi:

  • List of sensors mentioned in the SensorKit X40

  • Odroid XU4:

  • Weather Board

  • myAHRS+

  • List of sensors mentioned in the SensorKit X40 that are based on RPGPIO library

Usage

To send data to IoT Core Team

  • Register the device and respective sensors with the IoT Core Team via http://iot.pcxd.me:8080/

  • Note down the Sensor_ID, Device_ID and also download the Device Key.

  • Login to the config web server and modify the config details accordingly

  • HAL_custom_id = Sensor_ID

  • Topic = Device_ID

  • Bootstrap Server Username = "JWT"

  • Bootstrap Server Password = Device Key

  • Run sudo bash install.sh <config-web-server-ip:4000>  to collect data from the sensor and send it to the IoT Core Team.

Machine-to-Machine Communication

To send data to another machine:

Follow "To send data to IoT Core Team" section except,

  • Topic = (Could be anything)

  • Bootstrap Server Username = (mosquitto username of listener machine, if any or a blank space)

  • Bootstrap Server Password = (mosquitto password of listener machine, if any or a blank space)

To receive data in another machine

  • Download files from m2m folder

  • Run sudo mosquitto_install.sh

  • To receive data, run - sudo python3 mqtt_subscribe.py

Documentation for Intermediate Data Storage on Edge Device

Contributors

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •