Skip to content

Running the Server

Diamond edited this page Dec 1, 2023 · 3 revisions

This page details how to run the two server implementations found in christmasd.

christmasd

This section is for christmasd, the actual server implementation that runs on the Raspberry Pi to directly interact with the LEDs.

TBD.

christmasd-test

This section is for christmasd-test, the testing server that everyone can connect into to test their code. Connections made to this server will use the same exact wire protocol as christmasd, so it's very suitable for testing both the LED code and the client library implementations.

Requirements

You will need Go 1.21+ and the christmas repository cloned. Ideally, your directory structure should look like this:

.
├── christmas
└── christmasd  <- You are here.

Running

In order for christmasd-test to run, it must first know of the LED points. If you're developing this project, you may choose to give it the test LED points file located at ../christmas/data/fake/led-points.csv. This is strongly recommended.

Run:

go run ./cmd/christmasd-test --led-points ../christmas/data/fake/led-points.csv

You will be greeted with a log message:

03:11:51 AM INF starting HTTP server addr=:9001

Then, go to your web browser and head to localhost:9001. You will see a page that looks like the one below. The console will contain the ws://... link. This is what you want to use to connect to the server.

Screenshot of the testing interface

Clone this wiki locally