|
|
@@ -1,4 +1,4 @@
|
|
|
-# emqx_gateway
|
|
|
+# Gateway
|
|
|
|
|
|
EMQX Gateway is an application that managing all gateways in EMQX.
|
|
|
|
|
|
@@ -11,16 +11,42 @@ protocol access on EMQX. For example:
|
|
|
- Configuration & Schema
|
|
|
- HTTP/CLI management interfaces
|
|
|
|
|
|
-There are some standard implementations available, such as [Stomp](../emqx_stomp/README.md),
|
|
|
-[MQTT-SN](../emqx_mqttsn/README.md), [CoAP](../emqx_coap/README.md),
|
|
|
-and [LwM2M](../emqx_lwm2m/README.md) gateway.
|
|
|
-
|
|
|
The emqx_gateway application depends on `emqx`, `emqx_authn`, `emqx_ctl` that
|
|
|
provide the foundation for protocol access.
|
|
|
|
|
|
-## Three ways to create your gateway
|
|
|
+More introduction: [Extended Protocol Gateway](https://www.emqx.io/docs/en/v5.0/gateway/gateway.html)
|
|
|
+
|
|
|
+## Usage
|
|
|
+
|
|
|
+This application is just a Framework, we provide some standard implementations,
|
|
|
+such as [Stomp](../emqx_stomp/README.md), [MQTT-SN](../emqx_mqttsn/README.md),
|
|
|
+[CoAP](../emqx_coap/README.md) and [LwM2M](../emqx_lwm2m/README.md) gateway.
|
|
|
+
|
|
|
+These applications are all packaged by default in the EMQX distribution. If you
|
|
|
+need to start a certain gateway, you only need to enable it via
|
|
|
+Dashboard, HTTP API or emqx.conf file.
|
|
|
+
|
|
|
+For instance, enable the Stomp gateway in emqx.conf:
|
|
|
+```hocon
|
|
|
+gateway.stomp {
|
|
|
+
|
|
|
+ mountpoint = "stomp/"
|
|
|
+
|
|
|
+ listeners.tcp.default {
|
|
|
+ bind = 61613
|
|
|
+ acceptors = 16
|
|
|
+ max_connections = 1024000
|
|
|
+ max_conn_rate = 1000
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
|
|
|
-## Raw Erlang Application
|
|
|
+## How to develop your Gateway application
|
|
|
+
|
|
|
+There are three ways to develop Gateway application to accept your private protocol
|
|
|
+clients.
|
|
|
+
|
|
|
+### Raw Erlang Application
|
|
|
|
|
|
This approach is the same as in EMQX 4.x. You need to implement an Erlang application,
|
|
|
which is packaged in EMQX as a [Plugin](todo) or as a source code dependency.
|
|
|
@@ -30,7 +56,7 @@ and you can freely implement the features you need.
|
|
|
|
|
|
Steps guide: [Implement Gateway via Raw Application](doc/implement_gateway_via_raw_appliction.md)
|
|
|
|
|
|
-## Respect emqx_gateway framework
|
|
|
+### Respect emqx_gateway framework
|
|
|
|
|
|
Similar to the first approach, you still need to implement an application using Erlang
|
|
|
and package it into EMQX.
|
|
|
@@ -43,7 +69,7 @@ by the emqx_gateway framework, even if it may require you to understand more det
|
|
|
|
|
|
Steps guide: [Implement Gateway via Gateway framework](doc/implement_gateway_via_gateway_framekwork.md)
|
|
|
|
|
|
-## Use ExProto Gateway (Non-Erlang developers)
|
|
|
+### Use ExProto Gateway (Non-Erlang developers)
|
|
|
|
|
|
If you want to implement your gateway using other programming languages such as
|
|
|
Java, Python, Go, etc.
|
|
|
@@ -53,6 +79,14 @@ your device protocol and integrate it with EMQX.
|
|
|
|
|
|
Refer to: [ExProto Gateway](../emqx_exproto/README.md)
|
|
|
|
|
|
-## Cookbook for emqx_gateway framework
|
|
|
+## Understard emqx_gateway framework
|
|
|
|
|
|
*WIP*
|
|
|
+
|
|
|
+## Contributing
|
|
|
+
|
|
|
+Please see our [contributing.md](../../CONTRIBUTING.md).
|
|
|
+
|
|
|
+## License
|
|
|
+
|
|
|
+See [LICENSE](../../LICENSE)
|