Trouble with Firestorm on a RaspberryPi

I have installed Firestorm on a Pi using the terminal window, but I can’t get the UI to work. The Pi and PB#2 are connected to the wifi AP of PB #1.

The coding is way over my head, but I think I have Firestorm installed correctly. With the exception of the following warnings…

pi@raspberrypi:~/Firestorm $ yarn build
yarn run v1.21.1
$ react-scripts build
Creating an optimized production build…
Compiled with warnings.

./src/PatternView.js
Line 17: Links must not point to “#”. Use a more descriptive href or use a button instead jsx-a11y/href-no-hash
Line 26: Links must not point to “#”. Use a more descriptive href or use a button instead jsx-a11y/href-no-hash

…Could these warnings be causing my problem?
When I navigate the Chromium tab to “file:///home/pi/Firestorm/public/index.html” it just shows a blank page.
It seems as though the server function is working fine because I see the following in the terminal window…

pi@raspberrypi:~/Firestorm $ PORT=3000 yarn server
yarn run v1.21.1
$ node server
listening on 3000
Pixelblaze Discovery Server listening on 0.0.0.0: 1889
connected to 192.168.4.4
sending to 3295484 at 192.168.4.4 {“getConfig”:true,“listPrograms”:true,“sendUpdates”:false}
connected to 192.168.4.1
sending to 5906449 at 192.168.4.1 {“getConfig”:true,“listPrograms”:true,“sendUpdates”:false}

…but I don’t have a UI to control the LEDs.

Any help troubleshooting this problem would be much appreciated.

And a second related question… Is there a way to sync multiple PBs physically with wiring rather than over wifi? Or would I still need Firestorm running on a separate processor regardless?

Thanks in advance and thanks for all the great work on this amazing product!

Hi A.A -

(April 2023 edit: Now you can use the new Sync feature to do much of what people used Firestorm for and more, such as sharing sensor board data.)

I haven’t used Firestorm from a Pi yet, but I think your issue could be related to how you’re trying to load Firestorm’s UI. Firestorm creates a http server, so instead of trying to access its UI from a file:/// URL, try from http://.

From Chromium on that Pi, try browsing to http://0.0.0.0:3000/ and see if you get a UI that looks like this:

One other thing to try. I noticed that the Firestorm docs for Pi show the server being started via authbind instead of just PORT=3000 yarn server. So perhaps try following those step-by-step, culminating with:

pm2 start server.js 
pm2 save
1 Like

Jeff is on the right track, you’ll point your browser to the ip and port that Firestorm is running on. If your browser is on the Pi itself, you can use http://127.0.0.1:3000 otherwise find the IP your pi has on the network. something like http://192.168.4.2:3000

Not directly related to your question, but I think you’ll have another problem too. When a Pixelblaze runs in AP mode and other Pixelblaze connect to it, it will act as a time sync source. Firestorm does this as well. With both, things might get a little weird. For a set up like yours, I’d run the PI as the AP, and have all Pixelblaze connect to it. Another reason for this is that PB can only host a limited number of devices in AP mode.

There isn’t a wire based sync option, but as I mentioned above, the animations time base will sync with one PB in AP mode even if there isn’t a pi running Firestorm. You can of course run something to a GPIO and use that to do something in the animations too.

Success!
Thanks for the help accessing the UI. It did indeed act funny with PB as AP… Works much better when everything is connected to my home network (it’ll take me some time to figure out how to turn the Pi into an AP). The only minor problem is that the animations don’t seem to be synced. But I think it’s because I messed with the code on one PB, but not the other. Should be easy to fix.
Thanks again for the help!

Here’s an image of our last installation using PB… It was very well received!

1 Like