]> git.gir.st - Ledberg-ESP8266.git/blob - red-pulse.pl
implement storing color and use wifimanager to keep track of ssid/psk
[Ledberg-ESP8266.git] / red-pulse.pl
1 #!/usr/bin/perl
2 # (c) 2019 Tobias Girstmair <https://gir.st/>; GPLv3
3
4 my $ip = "10.42.0.74";
5
6 use strict;
7 use warnings;
8 use Math::Trig;
9
10 sub packet {
11 my ($type, $r, $g, $b) = @_;
12 open(my $netcat, "| nc -u $ip 1337");
13 print $netcat pack "CC", 0x01, $r if ($type eq "power");
14 print $netcat pack "CCCC", 0x02, $r*0xFF, $g*0x7F, $b*0x7F if ($type eq "color");
15 close($netcat);
16 }
17
18 packet "power", 1;
19 while(1) {
20 for (0..359) {
21 packet "color", ((abs sin deg2rad $_), 0, 0);
22 select(undef, undef, undef, 0.02); # sub-second sleep() substitute
23 }
24 }
Imprint / Impressum