Welcom to Lithosphere
Lithosphere是什麼?
Lithosphere是基於XMPP協議的IoT開發平台。
Lithosphere平台的目標,是提供全棧的IoT解決方案,開發者可以基於Lithosphere平台技術,開發複雜、靈活的IoT應用。
Lithosphere 作為IoT應用的解決方案,主要有以下的特徵:
- 全棧IoT開發框架
Lithosphere提供全棧的IoT解決方案,包括IoT服務器,LoT局域網網關,到MCU硬件板通訊庫,以及移動端開發框架。
Lithosphere採用統一的架構技術和通訊協議,開發者不再需要整合多種開發技術來開發IoT應用,這使得IoT應用的開髮變得簡單。
- 插件架構(Plugin-Architecture)
Lithosphere的核心子項目Chalk,Granite,Sand等,都基於插件架構構建。採用Lithosphere開發的IoT應用一般會具備以下這些特徵: - 高效的通訊協議<br> 標準XMPP協議使用XML來表達協議消息包,這使得它具備靈活和擴展性強特點的同時,也備受通訊協議冗餘和低效的指責。
一家公司在解決XMPP效率問題上做出了很好的示範。 WhatsApp公司使用二進制的XMPP變種,為全球超過20億用戶提供IM服務。
是的,Lithosphere平台也使用二進制XMPP來解決通訊協議效率問題。
- 基於IoT概念組件編程
Lithosphere提供了一組屏蔽了底層通訊細節,封裝良好的IoT組件來提高開發效率。
我們可以使用Actuator,Sensor,Concentrator,Gateway,Webcam等IoT概念組件來做開發,而不需要去研究XMPP、LoRa、WebRTC等具體技術的底層實現細節。
Lithosphere由以下子項目構成:
Granite
Granite是一個基於Java開發的XMMP Server。 Granite XMPP Server具有以下特徵:
- 標準兼容
- 高度模塊化
- 高可用性和高擴展性
- 易於擴展和集成
Granite基於微內核架構(插件架構),這使得它非常靈活和易於擴展。
Chalk
Chalk是Java XMPP客戶端通訊庫,可以用於開發Java桌面和Android的XMPP客戶端。 Chalk基於插件架構設計,這使得它易於使用及易於擴展。
Basalt
Basalt是XMPP的Java解析庫。 Basalt基於OXM(Protocol Object-XMPP Document Mapping)概念,提供XMPP協議文檔和協議對象(Protocol Object)之間的解析轉換功能。
Sand
Sand項目提供一組封裝良好的IoT插件。這些IoT插件基於Chalk技術(客戶端插件)和Granite技術(服務器端插件)開發。包括:
- Actuator
執行器組件。關於執行器,可以參考概念裡的Actuator章節內容。
- Sensor
傳感器組件。關於傳感器,可以參考概念裡的Sensor章節內容。
- Edge Thing
邊緣設備組件。 Lithosphere裡的邊緣設備組件(Edge Thing)連接到Granite XMPP Server上後,會自動申請註冊。一般來說,Gateway,Concentrator等組件,都是Edge Thing。
- LoRa Gateway
封裝LoRa協議的網關組件。
- Remoting
遠程控制插件。用於在移動App或桌面客戶端裡做IoT設備的遠程控制。
- Operator
運維人員使用的運維功能插件。例如,在運維App裡,用於實現授權設備入網,修改客戶權限等功能。
- Webcam
基於WebRTC技術的實時監控攝像頭組件。
Mud
MCU板通訊庫。支持BXMPP,和TUXP協議族Notification、 Execution、Report等協議。使用Mud庫,可以為MCU板添加IoT通訊能力。
快速入門
如果你並不熟悉XMPP,插件架構,IoT,那你可以通過閱讀
概念<br> 來熟悉相關概念。
如果你是第一次接觸使用Lithosphere,建議跟隨
Hello Lithosphere教程<br> 來學習和了解Lithosphere平台的使用。