Rebuilding The Helios App

Víctor Gascó Ortiz cb4ae7d44c License added 3 years ago
Python - Bluetooth rfcomm-server 5669152112 Bluetooth smart environment connection 3 years ago
doc 5669152112 Bluetooth smart environment connection 3 years ago
smartenvironment 5669152112 Bluetooth smart environment connection 3 years ago
LICENSE cb4ae7d44c License added 3 years ago
README.md 1c98460a3b ReadMe doc - Using the module via Nexus repository 3 years ago

README.md

Helios Smart Environments with Bluetooth connection

In order to create a Smart Environment via Bluetooth connection, we need a hardware component with capability to execute a script and detect Bluetooth connections. For our tests, we choice the Raspberry Pi.

We used the model 2011.12, with 512 MB RAM and an ARM1176JZF-S processor at 700 MHz.

Raspberry Pi used in tests incorporates Raspbian GNU / Linux 10 OS and a set of Python libraries to configure Bluetooth connections:

import os
import glob
import time
import RPi.GPIO as GPIO
from bluetooth import *

we designed an approach with following requeriments:

Raspberry Pi with Bluetooth configuration

● Bluetooth device name: Helios environment 01

● Running Python script to scan incoming requests of other devices.

Android devices with Helios app

● Development of an Android module to scan Helios Smart Environments

● Utility to connect with the environment, using a token to autenticate Helios element

● Calls to Social Ego Network Manager to create a new context for connected users

General architecture

Android module functionalities

● Checking location and Bluetooth permissions on mobile device

● Scan Bluetooth devices

● Detect if discovered device is an Helios Smart Envrionment component

● Implementation of an Android Service to manage Bluetooth connection

● Call to Social Ego Network manager to create a new Helios Context

Raspberry device functionalities

● Python script running a RFCOMM server

● Service waiting for a Bluetooth connection

● Implementation using Python classes:

    RPi
    bluetooth
    pybluez

Cloning this branch of the module

git clone --single-branch --branch Bluetooth_Smart_Environments https://scm.atosresearch.eu/ari/helios_group/heliossmartenvironments.git

Integration of the module in the app

Open your app in Android Studio.

File > New > Import Module

Go to smartenvironment folder.

Select smartenvironments folder like source directory.

Click Finish to import.

New module should appears in first line of settings.gradle file:

    include ':app', ':smartenvironments'

Open build.gradle file of app module. In dependencies section add:

    implementation project(":smartenvironments")

Integration of the module using Nexus Helios repository

Add the repository in build.gradle file of project:

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://builder.helios-social.eu/repository/helios-repository/"
            credentials {
                username = heliosUser
                password = heliosPassword
            }
        }

    }
}

Add dependency to the build.gradle file of the app:

dependencies {
	implementation 'eu.h2020.helios_social.modules.smartenvironments:smartenvironments:1.0.0'
}