我是庖丁,《肢解IOT平台》之物模型

2021-09-24 07:51:52 字數 1860 閱讀 7655

物模型是對裝置在雲端的功能描述,包括裝置的屬性,資料,服務和事件。

物聯網平台通過定義一種物的描述語言來描述物模型,稱之為 tsl(即 thing specification language),採用json格式,您可以根據tsl組裝上報裝置的資料。

最終能達到的效果:

效果如下:

使用序列化框架gson對json格式的鍵值對進行識別解析,可以通過引入com.google.code.gson來配置關係。

com.google.code.gsongroupid>

gsonartifactid>

dependency>

複製**

kventry中提供了獲取鍵值對屬性的基本介面,例如獲取字元屬性的鍵,值和獲取字串,布林型和數字型別的介面方法。basickventry定義了鍵只能為字串型別,longdataentry,booleandataentry,doubledataentry和stringdataentry分別定義了相應屬性的值。

public

inte***ce

kventry

extends

serializable

複製**

通過將來自裝置的訊息根據型別劃分為裝置屬性(attributesupdaterequest)和裝置上傳資料(telemetryuploadrequest),

其中telemetryuploadrequest包含了long型的unix時間戳。

屬性識別解析如下,上傳資料解析識別類似

uml 時序圖如下:

public class jsonconverter  else

if (value.isboolean()) else

if (value.isnumber()) else

} else

}return result;

}private static void parsenumericvalue(listresult, map.entryvalueentry, jsonprimitive value) else catch (numberformatexception e) }}

public static attributesupdaterequest converttoattributes(jsonelement element)

public static attributesupdaterequest converttoattributes(jsonelement element, int requestid) else

}}複製**

準備工作:

​ 安裝docker

我已經將此工程製作成映象,並上傳到dockerhub上。

源**位址iot-guide-tsl

docker pull sanshengshui/iot-gui-tsl

複製**

​ 2. 後台執行iot-guide-tsl,並將映象埠80080對映到本機的8080

docker run -d -p 8080:8080 sanshengshui/iot-guide-tsl

複製**

利用curl測試介面

curl -v -x post -d

複製**

IoT 產品設計之什麼是覆膜與上光工藝

1 什麼是覆膜 覆膜就是將透明塑料薄膜經過加熱和壓力之後,覆貼在承印物表面的加工工藝,是一種熱裱工藝。還有一種工藝是冷裱,通過冷裱機壓力的作用直接覆貼在承印物表面的加工工藝。相比之下,熱裱更實,效果更好,不過冷裱成本低一些。塑料薄膜防水耐折,起到保護印刷品的作用,同時能給印刷品增加光澤度。2 覆膜分...

linux那些事之我是USB

這兩天閒著沒事,就翻開這本看了一下,這裡做些筆記,幫助自己以後複習用。usb的主要 位於 driver usb storage下面,核心 在 driver usb storage core目錄下面,這幅圖是看書的過程中畫的,這就是乙個簡單的匯流排裝置模型,相信不難理解,當裝置連線上時會被新增到匯流排...

重生之我是程式設計師

這一次重生落地直接撿到台式電腦,上面還安裝html和好多寫 的軟體,莫非這一次重生,我是程式設計師!第一章 初識 經過一周的學習,學完了html,掌握了html的使用方法和邏輯。其中學習了html的基礎結構即head標籤和body標籤,還有作為根標籤的html標籤。單標籤學習了br標籤 hr標籤 a...