Skip to content

Latest commit

 

History

History
300 lines (217 loc) · 9.93 KB

README.th.md

File metadata and controls

300 lines (217 loc) · 9.93 KB

Microgear-java


Microgear-java คือ client library ภาษา Java ที่ทำหน้าที่เป็นตัวกลางในการเชื่อมโยง application code หรือ hardware เข้ากับบริการของ netpie platform เพื่อการพัฒนา IOT application รายละเอียดเกี่ยวกับ netpie platform สามารถศึกษาได้จาก https://netpie.io


การติดตั้ง


สามารถเรียกใช้เวอร์ชั่นล่าสุดจาก Maven ได้ดังนี้

<dependency>
	<groupId>io.netpie</groupId>
	<artifactId>microgear</artifactId>
	<version>1.1.0</version>
</dependency>

ตัวอย่างการใช้งาน


import io.netpie.microgear.Microgear;
import io.netpie.microgear.MicrogearEventListener;

public class Example {
	final static String appID = "appID";
	final static String Key = "Key";
	final static String Secret = "Secret";
	static Microgear microgear;
	static callback callback;


	public static void main(String[] args) throws InterruptedException {
		microgear = new Microgear();
		callback = new callback();
		microgear.SetCallback(callback);
		microgear.Connect(appID, Key, Secret);
		microgear.Subscribe("/Topic");
		int count = 1;
		for(;;){
			microgear.Publish("/Topic", String.valueOf(count)+".  Test message");
			count++;
			Thread.sleep(2000);
		}
	}

	static class callback implements MicrogearEventListener{

		@Override
		public void onConnect() {
			// TODO Auto-generated method stub
			System.out.println("Microgear is Connected.");
			//this.microgear.Publish("/chat", "Hello world#pppppp#qqqqq");
		}

		@Override
		public void onMessage(String topic, String message) {
			// TODO Auto-generated method stub
			System.out.println(topic+" "+message);
		}

		@Override
		public void onPresent(String token) {
			// TODO Auto-generated method stub
			System.out.println("Present "+token);
		}

		@Override
		public void onAbsent(String token) {
			// TODO Auto-generated method stub
			System.out.println("Absent "+token);
		}

		@Override
		public void onDisconnect() {
			// TODO Auto-generated method stub
			System.out.println("Microgear is Disconnect.");
		}

		@Override
		public void onError(String error) {
			// TODO Auto-generated method stub
			System.out.println("Error "+error);
		}
	}
}

การใช้งาน Library


Microgear


Create&Connect

Connect(appID, Key, Secret);

arguments

  • appID string - กลุ่มของ application ที่ microgear จะทำการเชื่อมต่อ
  • Key string - key สำหรับ gear ที่จะรัน ใช้ในการอ้างอิงตัวตนของ gear
  • Secret string - secret ของ key ซึ่งจะใช้ประกอบในกระบวนการยืนยันตัวตน

SetCallback

SetCallback(Callback);

arguments

  • Callback MicrogearEventListener - event class.

SetAlias

SetAlias(Newalias) microgear สามารถตั้งนามแฝงของตัวเองได้ ซึ่งสามารถใช้เป็นชื่อให้คนอื่นเรียกในการใช้ฟังก์ชั่น chat() และชื่อที่ตั้งในโค้ด จะไปปรากฏบนหน้าจัดการ key บนเว็บ netpie.io อย่างอัตโนมัติ

arguments

  • Newalias string – ชื่อของ microgear นี้

Chat

Chat(Name, Message); การส่งข้อความโดยเจาะจงผู้รับ

arguments

  • Name string - ชื่อของ microgear ที่ต้องการจะส่งข้อความไปถึง
  • Message string – ข้อความ

Publish

Publish(Topic, Message, Retained); ในกรณีที่ต้องการส่งข้อความแบบไม่เจาะจงผู้รับ สามารถใช้ฟังชั่น publish ไปยัง topic ที่กำหนดได้ ซึ่งจะมีแต่ microgear ที่ subscribe topic นี้เท่านั้น ที่จะได้รับข้อความ

arguments

  • Topic string - ชื่อของ topic ที่ต้องการจะส่งข้อความไปถึง
  • Message string – ข้อความ
  • Retained Boolean - ให้ retain ข้อความไว้หรือไม่ default เป็น false

Subscribe

Subscribe(Topic); microgear อาจจะมีความสนใจใน topic ใดเป็นการเฉพาะ เราสามารถใช้ฟังก์ชั่น Subscribe() ในการบอกรับ message ของ topic นั้นได้ และหาก topic นั้นเคยมีการ retain ข้อความไว้ microgear จะได้รับข้อความนั้นทุกครั้งที่ subscribe topic

arguments

  • Topic string - ชื่อของ topic ที่ต้องการรับข้อความ

Unsubscribe

Unsubscribe(Topic); ยกเลิกการ subscribe

arguments

  • Topic string - ชื่อของ topic ที่ต้องการยกเลิกการรับข้อความ

Disconnect

Disconnect(); ยกเลิกการเชื่อต่อ


Resettoken

resettoken(); สำหรับต้องการลบ Token ที่มีอยู่ ซึ่งจะทำการลบ Token ที่อยู่ภายใน cache และบน platform เมื่อลบแล้ว จำเป็นจะต้องขอ Token ใหม่ทุกครั้ง


WriteFeed

wrtieFeed(Feedid, Data, Apikey): เขียนข้อมูลลง feed storage

arguments

  • Feedid string - ชื่อของ feed ที่ต้องการจะเขียนข้อมูล
  • Data string – ข้อมูลที่จะบัน ในรูปแบบ string
  • Apikey string - apikey สำหรับตรวจสอบสิทธิ์ หากไม่กำหนด จะใช้ default apikey ของ feed ที่ให้สิทธิ์ไว้กับ AppID

Event


application ที่รันบน microgear จะมีการทำงานในแบบ event driven คือเป็นการทำงานตอบสนองต่อ event ต่างๆ ด้วยการเขียน callback function ขึ้นมารองรับในลักษณะนี้

Event connect

อีเว้นท์นี้จะเกิดขึ้นเมื่อ microgear library เชื่อมต่อกับ platform สำเร็จ

@Override
public void onConnect() {
	// TODO Auto-generated method stub
	System.out.println("Microgear is Connected.");
	//this.microgear.Publish("/chat", "Hello world#pppppp#qqqqq");
}

Event message

อีเว้นท์นี้จะเกิดขึ้นเมื่อมี message เข้ามาพร้อมกับส่งผ่านข้อมูลเกี่ยวกับ message นั้นมาทาง argument ของ callback function

@Override
public void onMessage(String Topic, String Message) {
	// TODO Auto-generated method stub
	System.out.println(Topic+" "+Message);
}

arguments

  • Topic string - หัวข้อของข้อความที่เข้ามา
  • Message string - ข้อความที่เข้ามา

Event present

อีเว้นท์นี้จะเกิดขึ้นเมื่อมี microgear ใน appid เดียวกัน online เข้ามาเชื่อมต่อ netpie

@Override
public void onPresent(String Name) {
	// TODO Auto-generated method stub
	System.out.println("Present "+Name);
}

arguments

  • Name string - ชื่อของ microgear ใน appid เดียวกันที่ online

Event absent

อีเว้นท์นี้จะเกิดขึ้นเมื่อมี microgear ใน appid เดียวกัน offline หายไป

@Override
public void onAbsent(String Name) {
	// TODO Auto-generated method stub
	System.out.println("Absent "+Name);
}

arguments

  • Name string - ชื่อของ microgear ใน appid เดียวกันที่ offline

Event disconnect

อีเว้นท์นี้จะเกิดขึ้นเมื่อ microgear library ตัดการเชื่อมต่อกับ platform

@Override
public void onDisconnect() {
	// TODO Auto-generated method stub
	System.out.println("Microgear is Disconnect.");
}

Event error

อีเว้นท์นี้จะเกิดขึ้นเมื่อมี error ขึ้นภายใน microgear

@Override
public void onError(String error) {
	// TODO Auto-generated method stub
	System.out.println("Error "+error);
}

arguments

  • error string - ข้อความที่แสดง error

Event info

อีเว้นท์นี้จะเกิดขึ้นเมื่อมี info ขึ้นภายใน microgear

@Override
public void onInfo(String info) {
	// TODO Auto-generated method stub
	System.out.println("Info "+info);
}

arguments

  • info string - ข้อความที่แสดง info