control a blinkstick via http requests
Find a file
2022-02-24 23:25:20 +01:00
libs some more fixes 2022-02-24 15:24:08 +01:00
public initial commit 2021-04-06 16:41:49 +02:00
scripts fixed type environment variable 2021-04-14 23:11:15 +02:00
.gitignore code optimization 2022-02-21 11:56:49 +01:00
.nvmrc add '.nvmrc' 2022-02-21 11:57:18 +01:00
blinky.js optimized error handling and application start 2022-02-24 10:50:31 +01:00
blinky.service updated systemd-service and readme 2022-02-24 23:25:20 +01:00
config.json reworked almost the whole project - everything should work now as expected 2022-02-23 17:08:41 +01:00
LICENSE initial commit 2021-04-06 16:41:49 +02:00
package.json initial commit 2021-04-06 16:41:49 +02:00
README.md updated systemd-service and readme 2022-02-24 23:25:20 +01:00

blinky

control your blinkstick via http requests

requirements

  • nodejs
  • yarn / npm
  • nvm

the node-hid module is a bit picky about node.js's version - use node.js 8.x or 15.x

setup (as root)

  • install nvm

  • to load nvm restart your terminal or source ~/.nvm/nvm.sh

  • clone the project (to '/opt/blinky')
    git clone https://git.velvettear.de/velvettear/blinky.git /opt/blinky

  • enter the cloned directory
    cd /opt/blinky

  • install and switch to a supported node.js version (automatically done via .nvmrc file) nvm install

  • install the required modules
    npm install

  • switch back to your system's default node.js version nvm deactivate

  • execute blinky
    nvm run 15 blinky.js

  • if you get this error message on linux:
    Error: cannot open device with path /dev/hidraw0
    run:
    echo "KERNEL==\"hidraw*\", SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"20a0\", ATTRS{idProduct}==\"41e5\", MODE=\"0666\"" | sudo tee /etc/udev/rules.d/85-blinkstick-hid.rules
    and reboot your system

systemd

for security reasons it is highly recommended to not run blinky with root permissions!

  • create a new system user
    useradd -U -r -s /usr/bin/nologin node

  • make your install of nvm available to the new user
    cp -R ~/.nvm /opt/nvm
    chown -R node /opt/nvm

  • symlink the provided systemd-service file
    ln -s /opt/blinky/blinky.service /etc/systemd/system/blinky.service

  • reload systemd-services
    systemctl daemon-reload

  • enable and start blinky as a systemd-service
    systemctl enable --now blinky

  • if you don't use nvm otherwise remove it and remove it from your shell-profile
    rm -rf ~/.nvm
    vim ~/.zshrc

scripts

  • blinky-feed.sh
    • gathers various system information (currently temperature only) then converts it to color values and sends it to blinky
    • requirements: bash, bc