RakWireless Chirpstack integration with external database (MariaDB)

Hi everyone, my RakWireless sensor has successfully connected to Chirpstack, and the data is submitted periodically. I would like to implement a connection to my external MariaDB database using HTTP, but I have no idea where to put the code. The Chirpstack manual contains sample codes (I still would appreciate any feedback regarding what needs to be included in the code) but does not show where it has to be located. Any help is appreciated!

The code is for the HTTP endpoints, so what is receiving the HTTP posts. You have two ways to enable integrations.

Either through your Chirpstack.toml (see configuration options under [integration] here) where you have to add http to the enabled integrations array and then configure it in [integration.http]. This enables a global integration forwarding data from all applications.

Or through the web UI, if you click on an application there is a tab for integrations where you can configure your http endpoint. This enables the integration for that application only/

Thank you, I have done just that. Do I understand correctly that on application I just give the end point address and at the end point I write code (either with GO or Python) which will commit the data from payload to MariaDB?

Yes that is correct :+1:

Dear fellows,
I have a similar case - Chirpstack v4 HTTP intergation to an external database.
I have created an HTTP endpoint on the same server where Chirpstack is running, so i’ve set the integration to http://localhost:8090.
However, when I run my endpoint (written with GO), I receive the following message:
listen tcp :8090: bind: address already in use
exit status 1

Can you help me with that?

Dear fellows,
in the meantime, I have changed the port of the HTTP endpoint to :8091, and the error message disappered. Now the new problem: after running the GO endpoint code, it is stalled and issueing no messages.

My chirpstack application is receiving UP events every 30 seconds.
Since I am using the sample GO code main.go, then theoretically i should receive something like “Uplink received from %s with payload: %s”". But I do not receive anything.
Can you help me with that? Thank you!

Dear fellows,
SOLVED by changing the Chirpstack application “HTTP integration” setting “Event endpoint URL(s)” to actual local IP of the endpoint, instead of “localhost”.

Thank you all for the inspiration :slight_smile: