Przekaźnik

Przekaźnik

Program: który poprzez Internet steruje diodami mikrokontrolera.

Następnie wyniki włączania/wyłączania diod zostają zapisane do pliku txt wraz z godziną.

Kompilator: Eclipse

Galeria:

Program w akcji.

Kod programu:

Program główny – backend:

package com.example.przekaznik;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class MainActivity extends Activity {
	  WebViewClient wwClient= new WebViewClient();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
      Button b1=(Button)findViewById(R.id.buttonDioda1);
      Button b2=(Button)findViewById(R.id.buttonDioda2);
      Button b3=(Button)findViewById(R.id.buttonDioda3);
      Button b4=(Button)findViewById(R.id.buttonDioda4);
      Button b5=(Button)findViewById(R.id.buttonDioda5);
      Button b6=(Button)findViewById(R.id.buttonDioda6);
      Button b7=(Button)findViewById(R.id.buttonDioda7);
      Button b8=(Button)findViewById(R.id.buttonDioda8);
      final SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd_HHmmss");

      b1.setOnClickListener(new View.OnClickListener() {	
		@Override
		public void onClick(View v) {
			WebView ww= new WebView(getApplicationContext());
				ww.loadUrl("http://192.168.0.100/leds.cgi?led=1");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 1\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}				
		}
      });
      b2.setOnClickListener(new View.OnClickListener() {		
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=2");		
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 2\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	  });
      b3.setOnClickListener(new View.OnClickListener() {	
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=3");		
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 3\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
    b4.setOnClickListener(new View.OnClickListener() {
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=4");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 4\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
      b5.setOnClickListener(new View.OnClickListener() {	
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=5");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 5\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
      b6.setOnClickListener(new View.OnClickListener() {
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=6");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 6\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
      b7.setOnClickListener(new View.OnClickListener() {		
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=7");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 7\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
      b8.setOnClickListener(new View.OnClickListener() {	
  		@Override
  		public void onClick(View v) {
  			WebView ww= new WebView(getApplicationContext());
  				ww.loadUrl("http://192.168.0.100/leds.cgi?led=8");
				File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
			    	FileOutputStream fos=null;				
				      try {
				    	fos=new FileOutputStream(file,true);
						String zawartosc=sdf.format(new Date());
						fos.write((zawartosc.toString()+" dioda 8\n").getBytes());
						fos.close();
				  	} catch (FileNotFoundException e1) {
				  		e1.printStackTrace();
				  	} catch (IOException e) {
				  		e.printStackTrace();
				  	}
  		}
  	});
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

Layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="98dp" />

    <Button
        android:id="@+id/buttonDioda1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/webView1"
        android:layout_marginLeft="32dp"
        android:text="@string/d1" />

    <Button
        android:id="@+id/buttonDioda2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda1"
        android:layout_alignBottom="@+id/buttonDioda1"
        android:layout_toRightOf="@+id/buttonDioda1"
        android:text="@string/d2" />

    <Button
        android:id="@+id/buttonDioda3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda2"
        android:layout_alignBottom="@+id/buttonDioda2"
        android:layout_toRightOf="@+id/buttonDioda2"
        android:text="@string/d3" />

    <Button
        android:id="@+id/buttonDioda4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda3"
        android:layout_alignBottom="@+id/buttonDioda3"
        android:layout_toRightOf="@+id/buttonDioda3"
        android:text="@string/d4" />

    <Button
        android:id="@+id/buttonDioda5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda4"
        android:layout_alignBottom="@+id/buttonDioda4"
        android:layout_toRightOf="@+id/buttonDioda4"
        android:text="@string/d5" />

    <Button
        android:id="@+id/buttonDioda7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda5"
        android:layout_alignBottom="@+id/buttonDioda5"
        android:layout_toRightOf="@+id/buttonDioda6"
        android:text="@string/d7" />

    <Button
        android:id="@+id/buttonDioda8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda7"
        android:layout_alignBottom="@+id/buttonDioda7"
        android:layout_toRightOf="@+id/buttonDioda7"
        android:text="@string/d8" />

    <Button
        android:id="@+id/buttonDioda6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonDioda7"
        android:layout_alignBottom="@+id/buttonDioda7"
        android:layout_toRightOf="@+id/buttonDioda5"
        android:text="@string/d6" />

</RelativeLayout>