Anteprima
Vedrai una selezione di 9 pagine su 38
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 1 Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Solartest, Gestione impianti fotovoltaici - Tesina per istituto tecnico industriale Pag. 36
1 su 38
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Informatica: Database e creazione applicazione Android

Sistemi: Programmazione web

Italiano: Eugenio montale e la metafisicità del paesaggio

Storia: Guerra fredda
Estratto del documento

Un gruppo può accedere ad un solo impianto , mentre un impianto può

essere Gruppi n

Id

n nome 1

1

DatiImpianti GruppiUtenti

GruppiImpianti

Id utente

Id

impianto

Id_

Kwatt Id_gruppo

Id_gruppo

Co2

euro 1 1

n 1 1

Utente

Impianto Id

Id nome

Potenza cognome Login

Co2 sesso 1 1

Euro_annui Id

email

1 1

Area_ installazione User

sito

Proprietario pass

cellulare

Data_attivazione telefono

Note cfiscale

indirizzo

1

n 1

AccessiUtenti Attivazione

Id_utente Id_utente

Data Codice

Ip stato

dispositivo

visualizzato da più gruppi(1-n).

un utente può appartenere ad un solo gruppo mentre un gruppo può

contenere più utenti.

Un impianto può avere più record di “datiImpianti” relazionati, mentre ogni

record corrisponderà ad un solo impianto.

Tra login e utente e tra attivazione e utente si ha un’associazione 1 a 1 in

quanto ogni utente ha correlato un solo record di login ed un solo record di

attivazione.

Tra utente e accessi utenti si ha una relazione 1 a n in quanto ogni utente

può essere relazionato a più accessi , ma un accesso può corrispondere solo

ad un utente.

Android

L’applicazione rende possibile all’utilizzatore , il controllo dei dati degli impianti

a lui collegati , in tempo reale. Inoltre avrà a disposizione la possibilità di

modificare i propri dati entrando nell’apposito menù. Il collegamento al

database online è effettuato tramite l’utilizzo di appositi file php memorizzati

all’interno dello spazio web.Tali file restituisco e ottengono i dati relazionandosi

unicamente con l’applicazione android.

Per utilizzare l’app è necessario abilitare la connessione internet e anche il

rilevatore di posizione geografica (GPS).

Schermata iniziale : Login

1) Grazie a questa schermata l’utente

sarà abilitato a proseguire nell’utilizzo

dell’applicazione.

Inserendo i propri dati di “Username”

e “password” all’interno delle

apposite textbox , dopo la pressione

del button “login” verrà reindirizzato

nella pagina principale dell’utente .

Il sistema di Login funziona attraverso

un interfacciamento con file PHP

presenti nello spazio web occupato

dal sito e dal database.

Il file PHP , in questo caso

“check.php” , permette

all’applicazione di verificare se i valori

immessi dall’utente all’interno della

textbox sono validi e quindi se

username e password sono esistenti e

collegate tra di essi ad un account

Pagina principale dell’utente : Home

2) Login

1.

Settings

3.

3. Home 5. Data

4. Maps 6. Combobox

Una volta Loggato , l’utente avrà quindi a disposizione la precedente pagina.

Pagina dalla quale potrà effettuare diverse richieste ( mediante la pressione

degli appositi bottoni) che porteranno in chiaro i dati conservati sul database .

1.Login :

viene utilizzato per visualizzare con quale account , l’utente ha

effettuato l’accesso.

2.Settings:

Bottone utilizzato per visualizzare a video la pagina relativa a tutte le

impostazioni dell’utente (visualizzazione ,modifica dati dell’account).

3.Home :

Bottone per aggiornare la pagina e visualizzare nuovamente il

contenuto con i dati aggiornati.

4.Maps :

Dopo la sua pressione verrà visualizzata sulla mappa l’area di terreno

relativa all’impianto selezionato nella combobox.

5.Data :

Visualizza la pagina relativa a tutti i dati dell’impianto e consente la

visualizzazione delle informazioni raccolte in un determinato periodo

temporale sotto forma di tabella o grafico.

6.Combobox :

visualizza gli impianti collegati all’utente loggato e al cambio di valore

effettua il refresh dei dati .

3) Mappe : GPS Permette all’utente di

visualizzare sulla mappa

( Google maps) la locazione

dell’impianto fotovoltaico ed

eventualmente calcolare il

percorso per poterlo

raggiungere dall’attuale sua

posizione.

4) Informazioni

: Dati impianto Attraverso tale schermata sarà possibile

visualizzare tutti i dati relativi all’impianto

selezionato in precedenza nella pagina

principale.

Vi sono riportati tutti i dati principali ed è

possibile , visualizzare dati sotto forma di

grafici e anche la locazione sulla mappa.

Grafici

5)

Attraverso la pressione del bottone

grafici (nella precedente schermata )

sarà possibile passare ad una nuova

activity che renderà possibile la

visualizzazione dei grafici relativi allo

specifico impianto. Grafici che

avranno il compito di rendere

all’utente più facile la comprensione

dell’andamento dei guadagni

economici,ambientali ed elettrici

dell’impianto.

6) Informazioni : Dati Utente

Activity che visualizza tuttti i dati

dell’utente loggato al momento.

Attraverso la pressione del tasto modifica

l’utente avrà la possibilità di passare alla

pagina successiva per la modifica dati.

Modifica dati utente

7)

Attraverso tale activity l’utente avrà

a disposizione un form per effettuare

la modifica dei propri dati anagrafici

e della propria password.

Parti di codice

significative : (Login.java)

Classe per visualizzare e gestire la schermata principale dove l’utente

effettuerà il login

package tesina.solartest;

import java.util.ArrayList;

import org.apache.http.NameValuePair;

import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

public class SolartesActivity extends Activity {

EditText un,pw;

TextView error;

Button ok;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {//Alla crreazione della

classe verrà eseguito questo metodo

super.onCreate(savedInstanceState);

final Context context = getApplicationContext();

//toast sono le finiestrelle nere che appaiono visualizzando messaggi come

le alert in javascript

final int duration = Toast.LENGTH_SHORT;setContentView(R.layout.main);

//setta quale file xml deve essere visualizzato

//assegna i nuovi oggetti a quelli già identificati nel XML

un=(EditText)findViewById(R.id.et_un);

pw=(EditText)findViewById(R.id.et_pw);

ok=(Button)findViewById(R.id.btn_login);

error=(TextView)findViewById(R.id.tv_error);

// img = (ImageView) findViewById(R.id.img_logo);

// img.setImageResource(R.drawable.logo2);

ok.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Intent nextScreen = new Intent(getApplicationContext(),

home.class);//al click verrà reinderizzato alla nuova classe e schermata

ArrayList<NameValuePair> postParameters = new

ArrayList<NameValuePair>();//parametri della query

postParameters.add(new BasicNameValuePair("username",

un.getText().toString()));

postParameters.add(new BasicNameValuePair("password",

pw.getText().toString()));

String response = null;//inizializza la stringa che conterrà i

risultati della query

try { //attraverso una classe definita per lo scopo esegue il

file php ottenendone il risultato

response =

CustomHttpClient.executeHttpPost("http://solartest.altervista.org/android/check.

php", postParameters);

String res=response.toString();

res= res.replaceAll("\\s+","");

//gestione errori

if(res.equals("1")){//se è tutto apposto esegue la nuova

activity error.setText("Password e username corretti");

Toast toast = Toast.makeText(context, "Password e

username corretti!", duration);

toast.show();

nextScreen.putExtra("username",

un.getText().toString()); startActivity(nextScreen);}

else{//altrimenti visualizza l'errore

error.setText("Password o username non corretti!!

Riprovare"); Toast toast = Toast.makeText(context, "Password o username

non corretti!! Riprovare", duration);

toast.show();}

} catch (Exception e) {//visualizza gli errori non dovuti

all'utente int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, e.toString(),

duration); toast.show();

}

}

});

}

}

File XML per gestire l’interfaccia grafica della classe precedentemente

presentata.

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#ffffff"

> <LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:background="@drawable/logo3"

> <TextView android:gravity="center" android:textColor="#7BA05B"

android:background="#7F7F7F" android:text="SolarTest"

android:id="@+id/textView1" android:layout_width="fill_parent"

android:textAppearance="?android:attr/textAppearanceLarge"

android:layout_height="wrap_content"></TextView>

<TextView

android:id="@+id/tv_un"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="25dip"

android:text="Username" />

<EditText

android:id="@+id/et_un"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/tv_un"

android:layout_alignTop="@id/tv_un"/>

<TextView

android:id="@+id/tv_pw"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="15dip"

android:text="Password" />

<EditText

android:id="@+id/et_pw"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/tv_pw"

android:layout_alignTop="@id/tv_pw"

android:layout_below="@id/et_un"

android:password="true" />

<Button

android:id="@+id/btn_login"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_below="@id/et_pw"

android:layout_alignParentLeft="true"

android:layout_marginTop="15dip"

android:text="Login"/>

<TextView

android:id="@+id/tv_error"

android:layout_width="fill_parent"

android:layout_height="240dip"

android:textSize="7pt"

android:layout_alignParentLeft="true"

android:layout_below="@id/btn_login"

android:layout_marginRight="9dip"

android:layout_marginTop="15dip"

android:layout_marginLeft="15dip"

android:textColor="#AA0000"

android:text=""/>

</LinearLayout>

</ScrollView>

ANDROID PARTE AMMINISTRATORE /

OPERATORE (dimostrazione)

Come specificato prima l’utente per potersi registrare avrà bisogno di un codice

di attivazione fornitoli dall’operatore o chi di competenza. L’emissione di tale

codice è stata simulata tramite una nuova applicazione disponibile solo per gli

operatori. Una volta loggato l’utilizzatore avrà a disposizione la possibilità di :

Aggiungere utenti : e quindi inserire i principali dati con i quali sarà

o possibile rintracciare l’utente in caso di contatto o rinuncia all’attivazione

o altri problemi.

Eliminazione utenti : Attraverso una semplice ricerca potrà essere

o evidenziato un eventuale utente da eliminare

Modifica Utenti : Verranno modificati i principali dati di un utente :

o ATTENZIONE non potranno essere modificate ne username ne password

dal dispositivo utilizzante tale applicazione.

Modifica impianti: E’ possibile modificare i dati di un impianto,

o modificarne lo stato ecc.

Come nella precedente applicazione

anche in essa la principale schermata fa riferimento ad un’ activity

che gestisce il login dell’operatore.

L’operatore loggato avrà quindi a disposizione la schermata a sinistra che gli

fornirà le varie possibilità sopra elencate .

WEB

La parte web presenta le stesse funzionalità dell’applicazione Android,

visualizzate ovviamente in maniera più dettagliata.

1) Homepage

Nella sezione Home è possibile visualizzare le informazioni più significative

riguardanti coloro che hanno sviluppato il sito e l’applicazione e eventuali news

che riguardano l’intero sistema. Per entrare più nel dettaglio è possibile

consultare la sezione “Cosa è”.

2) Android

In questa sezione, grazie al “QRCode”, l’utente potrà scaricare l’applicazione

android semplicemente utilizzando l’apposita applicazione smartphone, che

permette la lettura del QRcode.

3) Contatti

Qui è possibile trovare informazioni per prendere appuntamento per

l’installazione di pannelli solari o per sottoscrivere un contratto, in modo da

visualizzare i dati dei propri pannelli.

4) Area Utenti

Qui troviamo una delle parti fondamentali del sito: il login con la

propria username e password e l’attivazione dei propri dati.

Login:

Dettagli
Publisher
38 pagine
26 download