Download precompiled binaries for 64 bit Linux, 32 bit Linux, ARM Linux, macOS, 64 bit Windows, 32 bit Windows.
Other requirements are:
Usage:
  gateway-connector-bridge [flags]
Flags:
      --account-server string          Use an account server for exchanging access keys and fetching gateway information (default "https://account.thethingsnetwork.org")
      --amqp stringSlice               AMQP Broker to connect to (user:pass@host:port; disable with "disable")
      --debug                          Print debug logs
      --http-debug-addr string         The address of the HTTP debug server to start
      --id string                      ID of this bridge
      --info-expire duration           Gateway Information expiration time (default 1h0m0s)
      --inject-frequency-plan string   Inject a frequency plan field into status message that don't have one
      --log-file string                Location of the log file
      --mqtt stringSlice               MQTT Broker to connect to (user:pass@host:port; disable with "disable") (default [guest:guest@localhost:1883])
      --ratelimit                      Rate-limit messages
      --ratelimit-downlink uint        Downlink rate limit (per gateway per minute)
      --ratelimit-status uint          Status rate limit (per gateway per minute) (default 20)
      --ratelimit-uplink uint          Uplink rate limit (per gateway per minute) (default 600)
      --redis                          Use Redis auth backend (default true)
      --redis-address string           Redis host and port (default "localhost:6379")
      --redis-db int                   Redis database
      --redis-password string          Redis password
      --root-ca-file string            Location of the file containing Root CA certificates
      --route-unknown-gateways         Route traffic for unknown gateways
      --status-addr string             Address of the gRPC status server to start
      --status-key stringSlice         Access key for the gRPC status server
      --ttn-router stringSlice         TTN Router to connect to (default [discover.thethingsnetwork.org:1900/ttn-router-eu])
      --udp string                     UDP address to listen on for Semtech Packet Forwarder gateways
      --udp-lock-ip                    Lock gateways to IP addresses for the session duration (default true)
      --udp-lock-port                  Additional to udp-lock-ip, also lock gateways to ports for the session duration
      --udp-session duration           Duration of gateway sessions (default 1m0s)
      --workers int                    Number of parallel workers (default 1)
For running in Docker, please refer to docker-compose.yml.
The Things Network's gateway-connector protocol sends protocol buffers over MQTT.
- Connect to MQTT with your gateway's ID as username and Access Key as password.
- On MQTT brokers that don't support authentication, you can connect without authentication.
 
- After connect: send types.ConnectMessageon topicconnect.- Supply the gateway's ID and Access Key to authenticate with the backend
 
- On disconnect: send types.DisconnectMessageon topicdisconnect.- Supply the same ID and Access Key as in the ConnectMessage.
- Use the "will" feature of MQTT to send the DisconnectMessagewhen the gateway unexpectedly disconnects.
 
- Supply the same ID and Access Key as in the 
- On uplink: send router.UplinkMessageon topic<gateway-id>/up.
- For downlink: subscribe to topic <gateway-id>/downand receiverouter.DownlinkMessage.
- On status: send gateway.Statuson topic<gateway-id>/status.
- The connect,disconnect,<gateway-id>/up,<gateway-id>/statustopics must only allow- publish for authenticated gateways with <gateway-id>.
- subscribe for the bridge.
 
- publish for authenticated gateways with 
- The <gateway-id>/downtopics must only allow- publish for the bridge.
- subscribe for authenticated gateways with <gateway-id>.
 
- Make sure you have Go installed (recommended version 1.11 or later).
- Set up your Go environment.
- Make sure you have Redis installed and running.
- Make sure you have RabbitMQ and its MQTT plugin installed and running.
- Fork this repository on Github
- git clone [email protected]:YOURUSERNAME/gateway-connector-bridge.git
- cd gateway-connector-bridge
- make deps
- make test
- make build
Source code for The Things Network is released under the MIT License, which can be found in the LICENSE file. A list of authors can be found in the AUTHORS file.