Giter Club home page Giter Club logo

javaguiforiot's Introduction

logo

JavaGUIforIOT

โครงงานการพัฒนา Java Desktop Application สำหรับการควบคุมอุปกรณ์ IOT "Home Security"

Help Report

https://drive.google.com/file/d/1r_P4g6XcoCOLkvR7XCuOzkfM1Y2MdSd7/view?usp=sharing

home About us

ในปัจจุบันเทคโนโลยีได้มีการพัฒนาอย่างก้าวกระโดด ทำให้เกิดนวัตกรรมใหม่ๆ เกิดขึ้น บนโลก รวมถึงการที่มีระบบเครือข่ายอินเทอร์เน็ตที่คนเราใช้กันอีกด้วย และภายหลังมีการนำ อินเทอร์เน็ตมาใช้ในการทำสิ่งต่าง ๆ เพิ่มมากขึ้น จนเกิดคำนิยามของคำว่า IoT หรือ Internet of Things ทางผู้จัดทำจึงเกิดแนวคิดในการควบคุม อุปกรณ์ IOT ได้ง่ายขึ้น ใช้ Java Application ในการ ควบคุมฐานข้อมูลแบบ Real-Time (Firebase) โดยภาษาหลักที่ใช้ประกอบด้วย ภาษา Java เป็นหลัก ภาษา C++ และ Javascript(Node js) รองลงมาตามลำดับ

Hardwares Hardwares

  • Arduino Uno
  • NodeMCU
  • DS3231 Temperature Sensor
  • MQ2 Gas Sensor

app preview Application Preview

app

graph

How to use How to use

วิธีการเปิดโปรแกรม

ใช้ JDK version 1.8

ดาวน์โหลดโฟลเดอร์นี้ โปรแกรม Home Security จากลิงก์นี้

https://goo.gl/UavCDD

จากนั้นสามารถเปิดโปรแกรมได้โดยใช้ Terminal หรือ Commandline เข้าไปที่ Directory ที่ดาวน์โหลดมา แล้วตามด้วยด้วยคำสั่งนี้

java -jar "JavaGUIforIOT.jar"

การเตรียม ฐานข้อมูลหากต้องการใช้ฐานข้อมูลของตัวเอง

  1. สามารถเข้าไปสมัครและสร้างฐานข้อมูลได้ที่ Firebase

  2. เข้าไป download file service account ตามภาพ กด generate new private key

fire1

fire2

fire3

  1. ไปที่ real-time database พร้อมกับก็อบปี้ URL

url

  1. ทำการ config path ต่าง ๆ ได้ในไฟล์ config.json

  2. โครงสร้างฐานข้อมูลดังภาพต่อไปนี้ โดยทั้งหมดต้องตั้งค่าเป็น String

struct

  1. (Optional) สามารถใช้ Firebase Function เพื่อให้มีการเก็บ log อัตโนมัติ ได้โดย ใช้ไฟล์ index.js ในโฟลเดอร์ firebaseFunction และใช้ library moment.js ซึ่งสามารถหาโหลดได้

function

Library

หากโปรแกรมค้นหาไฟล์ Library ไม่พบ สามารถดาวน์โหลดได้จาก

https://goo.gl/Qu2WG2

ฟังก์ชั่นต่าง ๆ ของโปรแกรม

  1. หลังจากที่เปิดโปรแกรมจะทำการแสดง GUI หน้าแรกของโปรแกรม ซึ่ง ค่าที่ได้จาก Sensor จะแสดงข้อมูลที่เป็นปัจจุบัน (ข้อมูลที่ได้จาก Firebase)

fire1

2.เราสามารถตั้งค่ากำหนดอุณหภูมิหรือปริมาณควันที่จะควบคุม เพื่อทำการ แจ้งเตือนภัย ในกรณีที่มีค่าอุณหภูมิหรือปริมาณควันที่มากเกินไป ด้วยเสียงและ คำแจ้งเตือนที่เป็นสีแดง ซึ่งสามารถกำหนดได้โดยทำการใส่ค่าลงไปในช่อง “อุณหภูมิที่จะควบคุม” และ “ปริมาณควันที่จะควบคุม” ลงไปแล้วกด “บันทึก” ภาพที่ 9 GUI หน้าแรกของโปรแกรม เมื่อมีการตั้งค่าจุดวิกฤต และมีการแจ้งเตือน ด้วยคำแจ้งเตือนสีแดง และมีเสียงแจ้งเตือนที่ตั้งค่าไว้

howto1

3.นอกจากนี้เรายังสามารถตั้งค่าเสียงแจ้งเตือนได้โดยการคลิกที่ “ตั้งค่าเสียง” จากนั้นก็จะปรากฏหน้าต่าง File Dialog ขึ้นมา ให้เราทำการเลือกไฟล์เสียงใน ในปัจจุบันรองรับสกุลไฟล์ WAV และมีขนาดสั้นเท่านั้น

howto2

4.ตัวโปรแกรมมีระบบประมวลผลของกราฟแสดงค่าเฉลี่ยของ อุณหภูมิและปริมาณแก๊สในแต่ละวัน โดยเราสามารถคลิก “กราฟค่าเฉลี่ย อุณหภูมิ” หรือ “กราฟค่าเฉลี่ยควัน” ในหน้าหลัก ซึ่งจะแสดงผลดังนี้

howto3

5.ถ้าหากข้อมูลในกราฟมีปริมาณที่มากเกินไป จะมี Scrollbar ปรากฎขึ้นด้านล่าง

howto5

6.ตัวกราฟสามารถเซฟเป็น png ได้

howto4

Members Members

Name Surname Student ID
Panupong Ketrattanakul 60070072
Phuree Kanusont 60070075
Yutthana Srithamboon 60070078

Supervisors Supervisors

Supervisors
Asst.prof. Thanisa Numnonda, Ph.D.

โครงงานนี้เป็นส่วนหนึ่งของวิชา OBJECT-ORIENTED PROGRAMMING (รหัส 06016317) คณะเทคโนโลยีสารสนเทศ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง

javaguiforiot's People

Contributors

realkyr avatar paoyimpae avatar

Watchers

James Cloos avatar Weeruhputt Supsohmboon avatar

Forkers

orb1t

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.