Project weather logger part 5 : View data dan export

Posted: 24 Juli 2017 in Uncategorized

 

Assalamu’alaikum Wr. Wb.

Oke saya lanjutkan. remind lagi ini adalah seri berantai dari posting berikut ya

  1. https://tarecha.wordpress.com/2015/10/26/project-raspberry-pi/
  2. https://tarecha.wordpress.com/2017/06/05/project-weather-logger-part-1/
  3. https://tarecha.wordpress.com/2017/06/26/project-weather-logger-part-2-tambahan-sensor-tekanan-udara/
  4. https://tarecha.wordpress.com/2017/07/01/project-weather-logger-part-3-komunikasi-udp/
  5. https://tarecha.wordpress.com/2017/07/15/project-weather-logger-part-4-simpan-di-server-mysql/

well sebentar lagi akan semakin rumit,

setelah kita simpan di server lalu bagaimana kah cara melihat datanya ? mengekspornya ke csv kalau perlu. oke ini akan agak rumit,

kita akan gunakan Code Igniter dan Grocery CRUD untuk melihat dalam bentuk tabel, next chapter kita akan gunakan grafik. kira-kira seperti ini hasilnya

View Data Tabel dan Export

View Data Tabel dan Export

1. Download Code Igniner 3 di link berikut https://codeigniter.com/download   Jangan yang versi 4 karena belum stabil

2. Download Grocery CRUD di link berikut https://www.grocerycrud.com/

Fungsi dari grocery crud adalah kita bisa generate CRUD (Create Read Update Delete) dan View dari sebuah tabel tanpa hardcoding. tinggal panggil fungsi2 nya nanti jadi code generator. cukup mudah sih. sesunggunya bisa pakai fungsi CRUD ke data namun saya matikan karena pengen datanya pure dari node sensor.

oke ekstrak Code Igniter ke folder /var/www/html kalau pakai raspi, karena saya pakai windows untuk tutorialnya maka agak beda ya.

lalu ekstrak grocery crud ke root folder yang sama. grocery punya struktur tabel yang sama. tinggal copy paste dan overwrite saja.

exstrak CI

exstrak CI

3. setting database

cari file di folder \appication\config\database.php

untuk key itu tambahan dari saya ya. baca posting sebelumnya.

Setting Database

Setting Database

4. Buat controller application\controllers\Masterdata.php


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Masterdata extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database();
		$this->load->helper('url');

		$this->load->library('grocery_CRUD');
	}

	//ini untuk panggil viewnya
	public function _example_output($output = null)
	{
		$this->load->view('masterdata.php',(array)$output);
	}

	public function offices()
	{
		$output = $this->grocery_crud->render();

		$this->_example_output($output);
	}

	public function index()
	
	{
		
		$this->_example_output((object)array('output' => '' , 'js_files' => array() , 'css_files' => array()));
		
	}
	
	public function datamanagement()
	{
		$crud = new grocery_CRUD();
 
 
		$crud->set_table('masterdata');
		$crud->set_subject('Master Data Log');
		$crud->columns('iddata','waktu','idnode','dhthum','dhttemp','bmptemp','bmppress','sync1','sync2');
		$crud->display_as('iddata','ID Data');
		$crud->display_as('idnode','Node Name');
		$crud->display_as('waktu','Waktu');
		$crud->display_as('dhthum','Humidity DHT Sensor (%)');
		$crud->display_as('dhttemp','Temperatur DHT Sensor (oC)');
		$crud->display_as('bmptemp','Temperatur BMP Sensor(oC)');
		$crud->display_as('bmppress','Presure BMP Sensor (pa)');
		$crud->display_as('sync1','Sync Slave Server 1');
		$crud->display_as('sync2','Sync Slave Server 2');
		$crud->callback_column('sync1',array($this,'statusSync'));
		$crud->callback_column('sync2',array($this,'statusSync'));
		$crud->order_by('waktu','desc');
		//karena untuk display data saja makan add, edit, delete dihilangkan
		//data pure dari sensor
		$crud->unset_add();
		$crud->unset_edit();
		$crud->unset_delete();
		
		
		
		
		$output = $crud->render();
 
		$this->_example_output($output); 
	}
	
	public function statusSync($value, $row)
	{
		
		if ($value == 1)
			return "<img src=".site_url('../image/check.png')." height='15' width='15' > Done</img> ";
		else
			return "<img src=".site_url('../image/notcheck.png')." height='15' width='15' > Not Yet</img> ";
		
	}

	

}


5. Buat View application\views\masterdata.php

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php foreach($css_files as $file): ?>
	<link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>
<?php foreach($js_files as $file): ?>
	<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20src%3D%22%3C%3Fphp%20echo%20%24file%3B%20%3F%3E%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
<?php endforeach; ?>
</head>
<body>
	<center> 
<H2>Halaman Management Data</H2>

		 
<H3>Weather Logger by Mochamad Agung Tarecha</H3>

</center>
	
	
	 <a href='<?php echo site_url('masterdata/DataManagement')?>'>Log Data Management</a> |
	  
	 <a href='<?php echo site_url('../grafik.php')?>' target="_blank">Grafik All</a> | 
         <a href='<?php echo site_url('../grafikwaktu.php')?>' target="_blank">Grafik Filter Waktu</a> | 
	 <a href='<?php echo site_url('../grafiklast24hour.php')?>' target="_blank">Grafik last 24 Hour</a> 
    
<div>
		
		<?php echo $output; ?>
    </div>

</body>
</html>

6. Setting default controller ke controller masterdata

Default controller master data

Default controller master data

7. akses root folder menggunakan browser lalu klik log data management akan muncul tabel. untuk export tinggal klik export saja

Akses data

Akses data

 

oke sekian dahulu. next selanjutnya adalah tampilan grafik

Wassalamu’alaik

Iklan

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s