# 端點(Endpoints)

端點是服務,程序或其他目標的進入點。因此在Thinger.io中,端點可以定義為目標被裝置調用以執行任何操作,例如發送電子郵件,發送SMS,調用REST API,與IFTTT互動,從不同的帳戶調用裝置,或調用其他任何HTTP端點。

在微控制器中,直接存取這些服務可能很複雜,並且在裝置中需要更多頻寬。通過端點,Thinger.io可以處理裝置請求的端點調用,通過使用ID啟動它們並傳遞所需的任何資訊。它還增加了一些彈性,因為端點請求可以根據需要進行動態更改,而不更動裝置中部署的程式。

# 建立端點

要管理所有端點,您需要點擊選單中的Endpoints進行存取:

然後點擊Add Endpoint按鈕,該按鈕將打開一個新界面以輸入端點詳細資訊,如以下畫面截圖所示:

還有設定必要的參數:

  • Endpoint Id: 端點的唯一ID(裝置必須使用此ID來啟動端點)。
  • Endpoint Description: 在這裡填寫更多有關該端點的細節描述。
  • Endpoint Type: 定義端點類型,根據所選類型,端點將顯示不同的內容。在以下部分中描述了其中一些類型。

# 電子郵件端點

電子郵件端點允許從您的裝置發送電子郵件。您可以定義目標電子郵件地址,主旨和撰寫電子郵件內文。

可設定的參數如下:

  • Email Address: 郵件的目標電子郵件地址。
  • Email Subject: 電子郵件主旨。
  • Email Body: 可自定義電子郵件內文,內文可以是包含向您的裝置發送數據的普通JSON文件,也可以是包含從您的裝置收集的資訊。

在下面的畫面截圖中,有一個電子郵件端點範例,其中包含一些文字和變數,這些文字和變數在裝置調用端點時填充裝置回報的目前溫度和濕度。請注意,temperaturehumidity變數在雙括號內{{}},所以端點將預期會得到這些資訊來完成主體。在下文中,有一些程式範例調用此端點。

有關如何調用端點可參考此文件基本上需要使用call_endpoint方法調用端點,其需要端點ID,在此範例中為ExampleEmail,並且要將選擇的數據以pson文件發送到端點,此處的pson文件非常類似於JSON,有兩個鍵(key)分別命名為temperaturehumidity分別儲存DHT傳感器的讀數。以下將示範調用端點。

pson data;
data["temperature"] = dht.readTemperature();
data["humidity"] = dht.readHumidity();
thing.call_endpoint("ExampleEmail", data);

注意: 如果要在電子郵件正文中包含單個值,則可以使用不帶任何鍵的雙括號{{}},並在pson使用單個值從裝置發送文件。如以下結構:

Temperature is: {{}} ºC

可以在裝置中調用此程式進行填充:

pson data = dht.readTemperature();
thing.call_endpoint("ExampleEmail", data);

# HTTP 端點

HTTP 端點是一種通用類型的端點,可用於與其他 Web 服務或 Web 應用程式進行互動。因此,可以為此端點發出的任何 HTTP 請求設定方法(method),URL,標頭和內文。

可設定的參數如下:

  • Request URL: 設定方法(GET,POST,PUT,PATCH或DELETE)和欲請求的URL。
  • Request Headers: 可以向請求新增標頭,這對於新增授權、暫存控制、設定內容類型等非常有用。
  • Request Body: 內文可以是具有特定內容的自定義內文,也可以是具有裝置發送的資訊的 JSON payload。 在自定義正文中,可以新增自定義變數,如電子郵件範例中所示。這樣,就可以建立不同格式的內容,如XML,SOAP等(請記得在這種情況下新增適當的內容類型(content-type))。