Welcome to Lithosphere
What is Lithosphere?
Lithosphere is an IoT development platform based on the XMPP protocol.
The goal of the Lithosphere platform is to provide a full-stack IoT solution, and developers can develop complex and flexible IoT applications based on the Lithosphere platform technology.
As a solution for IoT applications, Lithosphere has the following characteristics:
- Full stack IoT development framework
Lithosphere provides full-stack IoT solutions, including IoT servers, LoT LAN gateways, to MCU hardware board communication libraries, and mobile development frameworks.
Lithosphere adopts unified architectural technology and communication protocols, and developers no longer need to integrate multiple development technologies to develop IoT applications, which makes the development of IoT applications simple.
- Plugin-Architecture
Lithosphere's core subprojects Chalk, Granite, Sand, etc. are all built based on the plug-in architecture. IoT applications developed using Lithosphere generally have the following characteristics:- Highly modular
- Good scalability
- Flexible deployment
- Efficient communication protocol <br> The standard XMPP protocol uses XML to express protocol message packets, which makes it flexible and scalable, and is also criticized for redundancy and inefficiency in communication protocols.
A company has set a good example in solving the problem of XMPP efficiency. WhatsApp uses binary XMPP variants to provide IM services to more than 2 billion users around the world.
Yes, the Lithosphere platform also uses binary XMPP to solve communication protocol efficiency issues.
- Component programming based on IoT concept
Lithosphere provides a set of well-packaged IoT components to improve development efficiency by blocking underlying communication details.
We can use IoT concept components such as Actuator, Sensor, Concentrator, Gateway, Webcam to develop, without studying the underlying implementation details of specific technologies such as XMPP, LoRa, and WebRTC.
Lithosphere consists of the following sub-items:
Granite
Granite is an XMLMP Server developed based on Java. Granite XMPP Server has the following characteristics:
- Standard compatible
- Highly modular
- High availability and scalability
- Easy to scale and integrate
Granite is based on a microkernel architecture (plug-in architecture), which makes it very flexible and easy to scale.
Chalk
Chalk is a Java XMPP client communication library that can be used to develop XMPP clients for Java desktop and Android. Chalk is designed based on the plug-in architecture, which makes it easy to use and easy to scale.
Basalt
Basalt is a Java parsing library for XMPP. Basalt is based on the concept of OXM (Protocol Object-XMPP Document Mapping) and provides parsing and conversion functions between XMPP protocol documents and protocol objects (Protocol Object).
Sand
The Sand project provides a set of well-packaged IoT plugins. These IoT plug-ins are developed based on Chalk technology (client plug-in) and Granite technology (server-side plug-in). include:
- Actuator
Actuator component. For the actuator, you can refer to the content of the Actuator chapter in the concept.
- Sensor
Sensor assembly. For sensors, you can refer to the content of the Sensor chapter in the concept.
- Edge Thing
Edge device components. After the Edge Thing in Lithosphere is connected to Granite XMPP Server, it will automatically apply for registration. Generally speaking, Gateway, Concentrator and other components are all Edge Thing.
- LoRa Gateway
Encapsulates the gateway component of the LoRa protocol.
- Remoting
Remote control plug-in. Used to remotely control IoT devices in mobile apps or desktop clients.
- Operator
Operation and maintenance function plug-in used by operation and maintenance personnel. For example, in the operation and maintenance app, it is used to implement functions such as authorized equipment to access the network and modify customer permissions.
- Webcam
Real-time surveillance camera component based on WebRTC technology.
Mud
MCU board communication library. Supports BXMPP and TUXP protocol family Notification, Execution, Report and other protocols. Using the Mud library, IoT communication capabilities can be added to the MCU board.
Quick Start
If you are not familiar with XMPP, plug-in architecture, and IoT, then you can read
Concept <br> Come and get familiar with the relevant concepts.
If you are working on Lithosphere for the first time, it is recommended to follow
Hello Lithosphere Tutorial <br> Come to learn and understand the use of the Lithosphere platform.