λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/JAVA

[μƒν™œμ½”λ”©] JAVA1 - 9. ν”„λ‘œκ·Έλž˜λ°μ΄λž€ 무엇인가?

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2022. 9. 13.

 

 

μƒν™œμ½”λ”© JAVA1

-  1. ν”„λ‘œκ·Έλž˜λ°μ΄λž€ 무엇인가?  -

-  2. IOT 라이브러리 μ„€μΉ˜ν•˜κΈ°  -

-  3. IOT ν”„λ‘œκ·Έλž¨ λ§Œλ“€κΈ°  -

 


 

1. ν”„λ‘œκ·Έλž˜λ°μ΄λž€ 무엇인가?

ν”„λ‘œκ·Έλž¨μ˜ λœ»μ€ μ‹œκ°„μ˜ μˆœμ„œμ— λ”°λΌμ„œ μ–΄λ– ν•œ 일이 μΌμ–΄λ‚˜λŠ” 것듀을 μ˜λ―Έν•œλ‹€.

 

즉, 컴퓨터가 가지고 μžˆλŠ” 각각의 μž‘μ—…λ“€(파일읽기, μ“°κΈ°, ν‘œμ‹œ λ“±λ“±) ν•˜λ‚˜ν•˜λ‚˜λŠ” 큰 μ˜λ―Έκ°€ μ—†κ² μ§€λ§Œ λ‚΄κ°€ ν•˜κ³ μžν•˜λŠ” 일이 무엇이냐에 λ”°λΌμ„œ κ·Έ 일을 ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 각각의 μž‘μ—…λ“€μ΄ μ‹œκ°„μ˜ μˆœμ„œμ— λ”°λΌμ„œ 싀행될 수 있게 되면 μžλ™ν™”κ°€ κ°€λŠ₯ν•œ 것이며, μ΄λŠ” μš°λ¦¬κ°€ ν”„λ‘œκ·Έλž˜λ°μ΄λΌλŠ” μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ μ΄κΈ°λ„ ν•˜λ‹€.

 

 


2. IOT 라이브러리 μ„€μΉ˜ν•˜κΈ°

μš°λ¦¬λŠ” μžλ°” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€μ–΄ λ³Ό 것이라고 가정해보도둝 ν•˜μž.

ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ„ μ΄μš©ν•˜λ©΄ μ—˜λ¦¬λ² μ΄ν„°λ₯Ό 호좜 ν•  수 있고, μ‹œνλ¦¬ν‹°λ₯Ό ν•΄μ œν•  수 있으며, 에어컨을 킬 수 있고, 냉μž₯κ³  μ•ˆμ— μžˆλŠ” 물이 λͺ‡λ³‘λ‚¨μ•˜λŠ”μ§€ μ•Œ 수 있고, μŠ€ν”Όμ»€μ˜ μŒλŸ‰μ„ 쑰절 ν•  수 있고, λΆˆμ„ 껐닀 μΌ°λ‹€ ν•  수 μžˆλ‹€.

μš°λ¦¬λŠ” 이 μ½”λ“œμ˜ μ‚¬μš©μžκ°€ λ˜μ–΄μ„œ μš°λ¦¬κ°€ ν•˜κ³ μž ν•˜λŠ” 일에 따라 μ‹œκ°„μ˜ νλ¦„μ˜ 따라 μ½”λ“œ 배치λ₯Ό ν†΅ν•΄μ„œ μš°λ¦¬κ°€ μ›ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€μ–΄λ³΄λ €κ³  ν•œλ‹€.

 

μœ„μ˜ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κΈ° 전에 μ•Œμ•„μ•Ό ν•  점은 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€λ•Œ μ²˜μŒλΆ€ν„° λκΉŒμ§€ λ‹€ λ§Œλ“€μ§€ μ•ŠλŠ”λ‹€λŠ” 것이닀.

λ‹€λ₯Έμ‚¬λžŒμ΄ λ§Œλ“  λΆ€ν’ˆμ„ μ΄μš©ν•΄μ„œ λ‚˜μ˜ μ™„μ œν’ˆμ„ λ§Œλ“€κ²Œ 될 것이며, 더 λ‚˜μ•„κ°€ λ˜λ‹€λ₯Έ λˆ„κ΅°κ°€λŠ” λ‚˜μ˜ μ™„μ œν’ˆμ„ λΆ€ν’ˆμœΌλ‘œ μ‚¬μš©ν•  μˆ˜λ„ 있게 λ˜λŠ” 것이닀.

 

μ—¬κΈ° κ°•μ˜μ—μ„œ μ œκ³΅ν•˜λŠ” μ•Œμ§‘νŒŒμΌμ„ 풀은 λͺ¨μŠ΅μ΄λ‹€.

λ‚˜λŠ” 이 νŒŒμΌλ“€μ„ λΆ€ν’ˆμ²˜λŸΌ μ‚¬μš©ν•΄ λ‚΄κ°€ μ›ν•˜λŠ” 앱을 λ§Œλ“€ 것이닀.

μ‚¬μš©ν•˜λŠ” 방법은 μ΄ν΄λ¦½μŠ€μ•ˆμ— μžˆλŠ” ν”„λ‘œμ νŠΈμ•ˆμ— λ“œλž˜κ·Έν•΄μ„œ μ§‘μ–΄λ„£μœΌλ©΄ λœλ‹€.

 

κ°•μ˜μ—μ„œ 제곡된 μ•Œμ§‘μ—μ„œ org폴더λ₯Ό κ·ΈλŒ€λ‘œ λ“œλž˜κ·Έν•΄μ£Όλ©΄ ν•΄λ‹Ή νŒŒμΌλ“€μ΄ μ†μ‰½κ²Œ μ•ˆμ— λ“€μ–΄κ°„ 것을 확인할 수 μžˆλ‹€.

 


3. IOT ν”„λ‘œκ·Έλž¨ λ§Œλ“€κΈ°

이제 본격적으둜 μžλ°”λ₯Ό μ΄μš©ν•΄μ„œ 집에 μžˆλŠ” μ—¬λŸ¬κ°€μ§€ 사물듀을 μ œμ–΄ν•  수 μžˆλŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€μ–΄ 보렀고 ν•œλ‹€.

 

기쑴에 λ‚΄κ°€ λ§Œλ“  ν”„λ‘œμ νŠΈμ— ν•΄λ‹Ή 클래슀λ₯Ό μƒˆλ‘œ μΆ”κ°€ν•΄μ£Όλ©°, Packageμ•ˆμ— 무언가 μžλ™μœΌλ‘œ μž…λ ₯λ˜μ–΄ μžˆλ‹€λ©΄ μ§€μ›Œμ€€ ν›„ Finishλ₯Ό 눌러 클래슀λ₯Ό 생성해 μ€€λ‹€.

 

이제 남이 λ§Œλ“  μ½”λ“œλ₯Ό λΆ€ν’ˆμœΌλ‘œ μ‚¬μš©ν•΄ λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€μ–΄ λ³Ό 것이닀.

 

집에 λ„μ°©ν–ˆμ„ λ•Œ μ—˜λ¦¬λ² μ΄ν„°λ₯Ό λΆ€λ₯΄κ³ , μ‹œνλ¦¬ν‹°λ₯Ό ν•΄μ œν•œ λ‹€μŒ μ§‘μ•ˆμ˜ λΆˆμ„ ν‚€λŠ” μˆœμ„œλ‘œ λ§Œλ“  ν”„λ‘œκ·Έλž¨μ΄λ‹€.

μ½”λ“œμ˜ λ‚΄μš©μ€ μ •ν™•ν•˜κ²Œ λͺ°λΌλ„ λ‚΄κ°€ λ‚΄λ¦° λͺ…λ ΉλŒ€λ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ½”λ“œλ₯Ό μ‹€ν–‰ν–ˆμ„λ•Œ μž‘μ„±ν•œ μˆœμ„œλŒ€λ‘œ κ²°κ³Όκ°€ 좜λ ₯λ˜λŠ”κ²ƒμ„ 확인할 수 μžˆλ‹€.

 

// org.opentutorials.iotμ•ˆμ— μžˆλŠ” 클래슀 νŒŒμΌλ“€μ˜ 경둜λ₯Ό 맀번 μž…λ ₯ν•˜λŠ” 과정을 μƒλž΅ν•˜κΈ° μœ„ν•΄ importλ₯Ό μ‚¬μš©
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;

public class OkJavaGoInHome {

	public static void main(String[] args) {
		
        // λ‚΄κ°€μ‚¬λŠ” μ•„νŒŒνŠΈλͺ… 호수λ₯Ό λ³€μˆ˜μ•ˆμ— λ„£μ–΄μ€Œ
		String id = "JAVA APT 507";
		
		// Elevator call - μ—˜λ¦¬λ² μ΄ν„°λ₯Ό 1측으둜 뢈러쀘
		Elevator myElevator = new Elevator(id);
		myElevator.callForUp(1);
		
		// Security off - μ‹œνλ¦¬ν‹°λ₯Ό 꺼쀘
		Security mySecurity = new Security(id);
		mySecurity.off();
		
		// Light on - μ§‘μ•ˆμ— μžˆλŠ” λΆˆμ„ 켜쀘
		Lighting hallLamp = new Lighting(id + " / Hall Lamp");
		hallLamp.on();
		
		Lighting floorLamp = new Lighting(id + " / Hall Lamp");
		floorLamp.on();

	}

}

이번 과정을 ν†΅ν•΄μ„œ μš°λ¦¬λŠ” ν”„λ‘œκ·Έλž˜λ°μ΄ λ§Žμ€ 일을 μžλ™ν™” μ‹œν‚¬ 수 μžˆλ‹€λŠ” 것을 μ•Œ 수 있게 된 것이닀.

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€