Server and LEDStrip #434
Replies: 20 comments 8 replies
-
Also tried turning off data compression; in SiteController.cs |
Beta Was this translation helpful? Give feedback.
-
The fact that it's connecting to the client and getting stats back mean it's connecting and working, and that's 99% of the battle! Note that you should at LEAST be able to see a status effect (every fifth LED will be white, red, or green). If that's not working, it must be a wiring issue as that's the default. |
Beta Was this translation helpful? Give feedback.
-
In built effects, status, fire, rainbow, work perfectly. Wiring is fine. Will explore if I can get some feedback from ProcessIncomingData. |
Beta Was this translation helpful? Give feedback.
-
Is it possible you’re sending zeros? They’d draw as black...
… On Sep 19, 2023, at 7:16 AM, mikejohnau ***@***.***> wrote:
In built effects, status, fire, rainbow, work perfectly. Wiring is fine.
Will explore if I can get some feedback from ProcessIncomingData.
—
Reply to this email directly, view it on GitHub <#434 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCF2WXJFVGZMKBYDHUDDX3GSNDANCNFSM6AAAAAA46KDONY>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
OK. So got to the bottom of this. The issue that I had was in SiteController.cs. Most new LightStrip instances in the locations were set up with FramesPerBuffer = 500 and BatchSize =10. As I was just modifying the IP address of a LightStrip in a location to test, I hadn't figured these settings would have much effect. Dropping both settings to 5 fixed all the problem. Now getting full effects seamlessly sent over wifi on both the Heltec wifi 32 (v1) and wrover. Thanks for your help and guidance. Now if I just one of those mesmerizer boards.... |
Beta Was this translation helpful? Give feedback.
-
If you're in the USA I'll send you one as a prize for being the first person I know of that made use of the server and got it running other than me! Shoot me an email with your address... (that's not some patriotic thing, but it's $50 to ship them outside the USA). Here's a picture of my server running the 15 instances of NightDriver in the shop and around the house: On the left side are the serial debug windows for four of the clients, so I can monitor both ends and debug that way... |
Beta Was this translation helpful? Give feedback.
-
What you'll want to do is size your FramesPerBuffer according to the number of buffer slots your chip has with whatever memory it has free. You can get the buffer status from the debug output, or on the display if equipped. These days it's likely down to 21 if you're running the max length of 1144 LEDs. If you don't need 1144 LEDs in a row, you can reduce the number of LEDs you send (in your LightStrip constructor). The Wifi transmission will just send the smaller number, even if the NightDriverLED instance is configured for NUM_LEDS=1144. If you want more frames of buffer, though, I'd compile NightDriverLED with NUM_LEDS set to some more practical limit. Then youll have tons of buffers and things will work a lot better. Right now I think there's only enough ram on a non-PSRAM module for about 21 buffers of 1144. So you could get 100 buffers if you went to 200-pixel strip, for example. For the long runs, like under my eaves where every ESP32 runs a full 1144 at 24fps, I've started moving to S3 based chips with PSRAM. But I always have a few around the shop running the base config to make sure it works. It just requies pretty solid wifi with only 21 buffers. I generally use them for static effects and set the framerate low, that way a smaller number of buffers lasts longer. If you went down to 1 fps, you'd have 21 seconds of buffer :-) Let me know if you get stuck! I'm happy to see someone use it! |
Beta Was this translation helpful? Give feedback.
-
Turn on ENABLE_OTA in your next build(s). Then you can squirt new code in
Over The Air instead of over serial. See flash* in
https://github.com/PlummersSoftwareLLC/NightDriverStrip/tree/main/tools for
inspiration. Sweeten to taste. You really just replace the serial device
name with the hostname or IP address.
In theory, if you build an image that crashed before it boots, it'll reboot
again using the previous OS image. This is the way your phone, tablet,
TiVo, etc. all work.
If you REALLY hose things up, you can still recover via serial. (This is
usually true with your phones and tablets and such that get 'bricked'
during an uddate, too, but the serial port is often "hidden".) In the case
of NightDriverLED installations on eaves, this is Dave's "climb the ladder"
case.
Making NUM_LEDS approximately match reality is to not waste bit times in
the frame. The 281x are serial devices, bucket brigade
<https://www.arrow.com/en/research-and-events/articles/protocol-for-the-ws2812b-programmable-led>,
peeling off the first 24 bits of color and passing everything downstream.
If you only have four LEDs and configure 1024, the device still assembles
and shifts out (1020 * 24 bits * 1.25uS/bit) before it can transmit the
end of frame and do it again. There is thus a slight - but perceivable -
pause between frames if you're just clocking hundreds of bits off into
space. Don't stress if they don't match exactly, but a little tuning can
help.
The S3's with Octal SPI are awesome. You can DMA
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/spi_master.html>
them. The cheap ones (dimes of difference) are still nifty.
… Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7066081
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
[ This is mostly a personal response and perhaps better suited in a
discussion. ]
The main reasons that I like the server approach for changing effects are
that effects dont need to reside on the ESP32 and that I can change effects
on multiple ESP32s at the same time, simply update SiteLocations.cs ,build
the project
Without words in his mouth, I think that's Dave's rationale, too. He has a
bunch of units outside that are quite visible and he likes to be able to
push seasonal effects.
I don't do C#. I tried sending and receiving colordata frames early in my
explorations with this package and got nowhere, so I've just leaned to
doing the effects on the hardware itself. Now that I've collected scores of
strips and controllers and am running out of space in the lab, it's time to
order some channels and actually install it and display it. It'll be
the first time my bench has run out of space and I've needed to put it on
the ceiling. :-)
and restart the app on the Pi 4. I also have a copy of the server app
running on my dev Macbook so that I can test any settings/effects before
putting into "production".
Sounds sweet. When I was working on matrix effects, I REALLY wanted a way
to render into a window on my laptop so I didn't have to mess with the
hardware, but I ran into recursive debugging problems and decided to just
keep reattaching the power supply clips, moving the panel from room to
room, and so on instead of tackling the network code. But I was on the
opposite half as you are...and for me, it was a distraction and not my
goal, so i had the liberty of giving up.
I also think its pretty neat that I can throw 30 frames a second of data
at multiple ESP32 over WiFi from a Pi 4. I'm in
Are you multicasting or sending unique effects to each? Either way, yep,
that's pretty nifty!
Are you concerned about raising the RF noise floor with a non-stop (ish)
stream of radio traffic?
Are there any S3's that you would recommend? I havent looked at them
beyong the M5's and they are definately not the cheapest here in Aus. Are
there any barebones dev kits available yet?
I use the barest boards from AliExpress or, less often, Banggood and just
build up what I need for a specific project. I can build up 5-6 bare boards
for the price of the ones that come in a plastic box. The 3.3v nature of
this SOC does mean you have to find an LVDO if you're powering the REALLY
minimalist modules. The pin pitch is also at the lower edge of my
capabilities. A step up into boards from the likes of WEMOS are pretty
popular, though I've used none of theirs. (Not a boycott. I just can't buy
'em all....) The developoer boards often add level shifting, fuses,
LVDO's and other niceties. The raw modules are just a pain to deal with.
I'm Team RISC-V, so while I like the C3 and newer versions, they're not
well suited here as they're single core. I'm really liking the S3 because
it has 45 (with the wind at your back) GPIO pins and a giant pin mux that
can remap anyting to anything. I like that the S3 has native USB, so it
doesn't NEED an external UART and it has integrated JTAG and USB
controller. It can be a USB disk drive, for example.
I've been toggling between two boards for the ESP32-S3 work on related
projects and while I've run NDL on each of them, I've not really trained
platform.ini on them as we don't really have great way to express "here's a
board that may run ny project with any pinout" in our build system.
https://wiki.luatos.com/chips/esp32s3/index.html is an extremely Chinese
product, but even Amazon carries them. Be prepared to choose your preferred
language in the LHP on every page click.
https://wiki.luatos.com/chips/esp32s3/index.html
Inexplicably, it includes a CH343 that requires a WCH driver for a WCH9103
on MacOS so the dev nodes are /dev/cu-wch*. The MacOS driver works just
enough for upload to start and then fail. There's an itty bitty switch that
controls whether the USB port is connected to the CH343 or to pins 18 and
19 for the chip's own USB CDC/JTAG.
The weird of this board is that it's merely quad SPI officially. The
schematics show it with a ESP32S3FN8, but the last several I've bought
have been S3R8, which use octal spi. That eats into the GPIO budget, but it
enables DMA from all the flash and RAM. I can't tell if the schematics are
out of date or what.
The other bucket of S3's on my bench is filled with YD-ESP32-S3 N16R8 by
VCC-GND Studio.
https://github.com/vcc-gnd/YD-ESP32-S
https://mischianti.org/2023/08/10/vcc-gnd-studio-yd-esp32-s3-devkitc-1-clone-high-resolution-pinout-and-specs/
I *think* this is a clone of DevKit C1. I've been paying $5.10 for the
N16R8's. The larger parts (N16R8s
<https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf>)
are supposed to always be octal spi.
It brings out both USB serial solutions to different connectors - no switch.
I'm pretty sure I've seen both of these boards under different names, but
those are what I'm stocking right now. I think I have 4 of the YDs, 5 of
the LuaTOS, and 5 of the vanilla ESP32-nothing bare modules, mostly
unopened. I didn't set out to collect ESP32's; it just kind of happened.
(I'm a RISC-V <https://www.robertlipe.com/tag/risc-v/> guy. Really!)
ESPressif's naming scheme for chips, modules, and boards is terribly
confusing. It's very hard to be certain what you're buying. If you're
buying in low quantity, you can have a super awesome 32-bit, 8MB RAM/16MB
Flash with full USB, driving video streams from WiFi or Flash for $5 ...
and laugh hysterically at the people suffering writing assembly, counting
NOPs trying to not glitch an 8051, ATMega, or other impoverished SoC
because they "saved" $2.
One thing that I will attempt is to document how I got the server running
and how to set it up, create sites, locations and add effects etc. This may
help others heading down the same path.
Excellent. More doc is needed and welcome in this project.
|
Beta Was this translation helpful? Give feedback.
-
Thanks for the recommendation i will take a look. I'm sending unique effects to 3 x 144 strips of LEDs at the moment. Also have a 4 x 60 Atomlight, I'm working on unique and coordinated effects to each channel, eg. fireeffect on each channel followed by fireeffect accross all 4 channels and then marquee all around. And when I say working on... I got the Wifi server working earlier today. The thing that makes me laugh here, and I do mean in a positive way...... is "I don't do C#".. I'm a marketing manager and turn 55 later this year and while I have always been amazed by coding ( but never tried it) and interested in product development, I can absolutely say that until I saw Dave's videos I had never manufactured anything in my house apart from cabinets from Ikea. Now I have a functional Atomic Fire Lamp, a 48 * 16 spectrum analyser, the insulators build (without the insulators but did we all realise that 12* led rings are the same diameter as Tea light candles ) and 3 * 1 metre (144 leds) strips and am looking to expand. Dave needs large kudos here..Even my wife approves the expenditures and the time for me to play. Some ideas..
I have ideas about how to fund as well. Not sure how to discuss outside of this forum.. |
Beta Was this translation helpful? Give feedback.
-
No, I mean it in a much stronger, snobbier way.I am (was) a professional
programmer and I chose long ago to invest my skills only in those languages
developed and used by multiple companies and environments. I think Iheard
that Mono did get later standardized after the fact, but it's still mostly
a single-environment language driven by a single company. I have, OTOH,
been doing embedded/microcontroller and OS work since the late 80's, so
this was mostly pretty easy to pick up. Blinking lights are WAY easier to
visualize than communications protocols or USB implementations or such.
I'm glad you're having so many successes with the project. It's pretty
budget-friendly - a couple dozen dollars will let you get your feet wet
with a couple of microcontrollers and strips/panels and a couple of hundred
can keep you entertained for quite some time, especially once you eliminate
a few layers of middle-men. But I already had a head start on the
electronics side...
As to your ideas, there are lots of projects to control lights. You can
find or help make about anything you like. As above, the entry barrier is
quite low. This one is easy to think of as a HUB75 project half and a 281x
half, each with different effect groups within them. You now know very much
what's inside something like the $5-25 strip controllers you can buy or
that are included with the strips themselves. They're often less ambitious
MCUs than the ESP32-S3s, but something like BL602, MSP430, or ESP8266s are
quite common. You can pick any price/feature price combination along the
curve. I didn't enjoy mobile development myself when I was doing it, but
NDL is structured in a way to make it possible for apps today if someone
wanted to create and help support them.
Enjoy.
…On Thu, Sep 21, 2023 at 7:24 AM mikejohnau ***@***.***> wrote:
Thanks for the recommendation i will take a look.
I'm sending unique effects to 3 x 144 strips of LEDs at the moment. Also
have a 4 x 60 Atomlight, I'm working on unique and coordinated effects to
each channel, eg. fireeffect on each channel followed by fireeffect accross
all 4 channels and then marquee all around. And when I say working on... I
got the Wifi server working earlier today.
The thing that makes me laugh here, and I do mean in a positive way......
is "I don't do C#".. I'm a marketing manager and turn 55 later this year
and while I have always been amazed by coding ( but never tried it) and
interested in product development, I can absolutely say that until I saw
Dave's videos I had never manufactured anything in my house apart from
cabinets from Ikea.
Now I have a functional Atomic Fire Lamp, a 48 * 16 spectrum analyser, the
insulators build (without the insulators but did we all realise that 12*
led rings are the same diameter as Tea light candles ) and 3 * 1 metre (144
leds) strips and am looking to expand.
Dave needs large kudos here..Even my wife approves the expenditures and
the time for me to play.
Some ideas..
We have a web ui, LEDStrip has a server option the only other option is
store effects on the device. But I'm just wondering if we can coordinate
both of these network controllers into one viable product....
1. Minimum code base for LEDStrip
2. common cloud base storage area for effects
3. Andriod or IOS app to enable/disable/schedule cloud based effects
I have ideas about how to fund as well. Not sure how to discuss outside of
this forum..
—
Reply to this email directly, view it on GitHub
<#434 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD3ZS27MLV672RRM6UT3X3QWYDANCNFSM6AAAAAA46KDONY>
.
You are receiving this because you commented.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7069923
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
Good luck. Some of those markets are tempting and some are crazy crowded.
Sound reactive, timer based strips are plentiful, for example.
There are dozens of GitHub projects that might be viable starting places.
Some have licenses that would be challenging.
Ironically, just since I last typed, I concluded that at least one vendor
in a very similar marker has probably folded. SoulmateLED was. Based on ,
any of the same packages as NDL and had a grid of 2812s rolled into a vase
or behind a diffuser, bundled with remote and OTA, etc. No code changes in
years and the site's certificates have expired with nobody noticing, so
they might be dead. GoVEE and many others build strips and controllers with
varying degrees of sophistication. Even BTF Lighting is relabeling and
using controllers, supplies, and strips. My GUESS that if there's a ,
markets it's in custom fixtures and software that's not awful. Some vendors
ship WLED and related packages just to cut their own costs even more.
I'm probably have >20 stock controllers by now. One advertised 141 effects.
I considered making myself a challenge to clone the effects into NDL in
one weekend. They ones in the commercial stuffare easy... and the apps are
consistently 3 stars and under.
If you think you can do better, go for it.
P. S. My own patio umbrella, with boring lights, has solar panels up top
and a few 18650s in it. No space in the waterproof area for even a small
PCB, though. Maybe space for one of my ESP modules, though. Waterproofing
and service are the challenges in a product like that. Solvable, though.
…On Fri, Sep 22, 2023, 6:26 AM mikejohnau ***@***.***> wrote:
I get that the barriers to entry are very low and you can buy all kinds of
controllable LED's. But I haven't seen any body actually enter the mass
market yet.
Everybody that has seen my Fire Lamp wants one. Men, women and children.
Apart from me making them one or them going down the same track that I did
and making there own, where do they get one?
What if I want a lamp that is just a 2 metre long single strip that can
bend over my couch/coffee table etc, and i can control the colours or it
responds to music??
We're just coming into summer here in Aus. The umbrella is on the agenda.
Where do I buy one?
How does the average home handyman make his backyard shed sparkle like
Dave's Cabana? (Sorry Dave, I've seen the videos. Average does not describe
your pursuits). Controllable LEDs and super glue them everywhere?
I could have probably built my own LCD picture frames with storage any
cloud connectivity etc.... But no. I have 3 different frames, from 3
different vendors, with 3 different mobile apps. Lets not talk about what
the extended family have and how i get my phots to there frames....
I get that globally there may be like a million people who are interested
in making and extending this via github and youtube. But how many people
would just like to buy a lamp that does great stuff, when they want it to
and in the colours they want.
Picture this:
New Years eve, its 11.59 and 59 seconds, then the ball drops to announce
that start of the new year and every lamp, every light strip in the house
starts showing a Fireworks effect.... Who wouldn't want that?
But it must be available and easy....That is the mass market.
I only know one man man can do that at the moment....
—
Reply to this email directly, view it on GitHub
<#434 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD37S23VY5EZOWXWDEJLX3VYXLANCNFSM6AAAAAA46KDONY>
.
You are receiving this because you commented.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7080584
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
I'm not going to climb for a better pic, but it's a thing.
https://photos.app.goo.gl/orcXGdQ7gwAJWKEP7
The battery lasts several hours, but these lights are way less powerful.
It's likely that the lifespan of the battery will outlive the fabric, which
always dissolves in the sun in a few years.
Some combination of solar + li-ion pack/MCU in a waterproof case would
probably be viable.
…On Fri, Sep 22, 2023, 7:41 AM mikejohnau ***@***.***> wrote:
Love it... Solar powered ESP32 umbrellas... now why didn't I think of
that? May not last long though. Do I just stab the umbrella through the
UPS? LOL.
—
Reply to this email directly, view it on GitHub
<#434 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD3YQVMXX72JKB6GA22LX3WBPLANCNFSM6AAAAAA46KDONY>
.
You are receiving this because you commented.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7081230
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
Sounds good I'll look into it. I do like the idea of a solar umbrella. Now I just need to tidy up the wiring on everything |
Beta Was this translation helpful? Give feedback.
-
Looks great! Congrats.
"Working" is hard. (We try to make it not be hard, but we can't control it
all...) Tidy is comparatively easy.
Is your 48x16 on a single GPIO coming off your board? Are they first on the
strand?
Asked another way, I suppose: are the hoops, the grids, and maybe the top
strand on 1, 2, or 3 different GPIOs? My personal experience has mostly
been on the HUB75 (some of these effects and a few others I recently worked
on were promoted to the trunk just a few days ago) or 1D WS2811/2812's just
for spot-testing. I have enough of the 16x16 pads that I can knock up 1x3
configuration like that. I think if we take the electrical configuration
from SPECTRUM (right?) and 'just' add a configuration in the platformio.ini
for the new target and a new #ifdef in effects.cpp, we could do visually
interesting things with those panels that isn't "just" a spectrum analyzer.
My working theory is that we add a new EFFECTS_THINGY to platformio that
sets width 48 and height 16 and USE_281x and an #elif EFFECTS_THINGY in
effects.cpp that takes some of the 2D effects from MESMERIZER and retargets
them for the different screen. All the effects SHOULD kind of work because
they SHOULD respect MATRIX_HEIGHT and MATRIX_WIDTH, but some of them would
just look bad in the lower resolution or the goofy geometry. I know the
Maze effect, for example, would work very badly on 48x16. Pong or Pacman
clocks just aren't going to look good inside as there's too much space
between the pixels. Some of the abstract artsy things might look OK
(especially through a diffuser) and there shouldn't be a lot of actual
engineering involved - just pilfer through the effects and see what might
look good.
Are you comfortable enough editing source code and building it to help
with somethign like that? I can help "fix" any effects that look like
they'd almost look good - especially those with "MATRIX_SM" in the name as
they may still be in my L3 cereberal cache if not L2. So geometry and C++
skills welcome, but more importantly, an interest in picking a better name
than "THINGY" (this is why we don't let engineers name things...) and just
the drudgery of building in and picking through what's ugly enough to toss
and try to identify what can be prettied up.
As reference, you can see how effects like EFFECT_MATRIX_SPECTRUM_ANALYZER
and EFFECT_MATRIX_GHOST_WAVE appear in both the MATRIX and SPECTRUM build.
The plan seems to be that platform.ini matches on a name that matches, sets
X and Y either in platformio.ini or globals.h, based on a name (THINGY) set
in platform.ini, effects.cpp is built to test #if
MESMERIZER/SPECTRUM/THINGY to pile up a list of effects, then the
individual effects in include/effects/matrix/*.h are built, using the
graphics primitives to hit the right hardware to hit the right photon
sources and using the WIDTH/HEIGHT geometry specified at the beginning of
this run-on paragraph.
It's 768 pixels instead of 2048 (4096 if I get back to tracking down the
64x64 issue) so we may have fun with speeds as well as aspect ratios and
pixel density. I can't promise it'll be fun (undersell - overdeliver), but
it has the opportunity to be educational for at least one of us.
Doing similar work, I found the remote handy. Maybe the web UI and/or
jamming JSON into the REST gullet is enough to redo and skip effect now.
(if not, a big ole '#if 0' or '#if 1' can be quite effective
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/87686904968a3eb655a5f128e70bdd6ca6a4ae55/src/effects.cpp#L366>
in keeping only one or two effects running). The shown shunt was so it
would run ONLY the MATRIX_SM* effects for development, while making it easy
to go back to the others with a single-byte source change.
Buzz me at this name at gmail if you're interested in pursuing it. I could
knock up a hardware equivalent of the panel part of what you have and start
off with some samples to start.
…On Sat, Sep 23, 2023 at 12:58 AM mikejohnau ***@***.***> wrote:
Sounds good I'll look into it. I do like the idea of a solar umbrella.
[image: IMG_0299]
<https://user-images.githubusercontent.com/26905608/270090075-4c7dc0b5-6ded-4bbb-bcdb-c37a9a95a2a2.png>
Now I just need to tidy up the wiring on everything
—
Reply to this email directly, view it on GitHub
<#434 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD376ZD6XPMF2MYCUPYTX3Z3AXANCNFSM6AAAAAA46KDONY>
.
You are receiving this because you commented.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7087444
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
My thought is that a device of some description (lamp, umbrella, Mesmeriser, Preconfigured LED Strip) would be bought with a basic set of effects maybe solid colours fading to black or a basic rainbow effect.
Then a subscription payment or similar opens up the rest of effects, fire, marquee fireworks any thing else exciting that we can come up with, for the duration of the subscription. I could see July being a big month in the US and January being a big month here in Aus (our national day is Jan 26th).
These effects would be store in the cloud.
My understanding of GPLv3 is that the user has the right to all source code and the right to modify and distribute etc. But it doesn’t mean that the software or services attached to the software can’t be sold.
My guess is that 99 out of 100 people who have seen Dave’s videos would love something like a firelamp or umbrella, but would never build one for themselves. However I bet a few of them would buy one if it was available.
… On 23 Sep 2023, at 1:04 am, Rutger van Bergen ***@***.***> wrote:
I think I understand the idea better now, thanks for clearing that up.
That said, my question about the "what/how" of the cloud part of the solution stands. Also, everything in this repo very consciously being licensed under GPLv3, an additional question I would have is what exactly people would be paying for when it comes to the effects?
—
Reply to this email directly, view it on GitHub <#434 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGNIYCGM27XCE5BSUJ6YERTX3WSHBANCNFSM6AAAAAA46KDONY>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
At the moment each “device” has its own ESP32 attached running a single GPIO.
The Spectrum has a M5StickC-Plus attached as does the Insulators build (the 5 rings). The strips are connected to Heltec 32 WiFi V1 boards.
I’m currently trying to drive multiple channels from a single ESP32 in my FireLamp. Currently each of the legs are mirroring the output from the first leg. What I want to do is drive each leg separately via the server dotnet app. Haven’t achieved it yet but only started looking at it a couple of days ago.
I agree that there must be a way to translate some of the 1D effects into 2D. The matrix is just a chain of LED’s that we can build a frame buffer for, fill it and send it. I would love to help and see what we can do. I’m more than happy playing with code
But in saying that I also want to concentrate on getting the Fire Lamp working the way I want first. Give me a couple of weeks and lets touch base on this again.
… On 23 Sep 2023, at 5:15 pm, Robert Lipe ***@***.***> wrote:
Looks great! Congrats.
"Working" is hard. (We try to make it not be hard, but we can't control it
all...) Tidy is comparatively easy.
Is your 48x16 on a single GPIO coming off your board? Are they first on the
strand?
Asked another way, I suppose: are the hoops, the grids, and maybe the top
strand on 1, 2, or 3 different GPIOs? My personal experience has mostly
been on the HUB75 (some of these effects and a few others I recently worked
on were promoted to the trunk just a few days ago) or 1D WS2811/2812's just
for spot-testing. I have enough of the 16x16 pads that I can knock up 1x3
configuration like that. I think if we take the electrical configuration
from SPECTRUM (right?) and 'just' add a configuration in the platformio.ini
for the new target and a new #ifdef in effects.cpp, we could do visually
interesting things with those panels that isn't "just" a spectrum analyzer.
My working theory is that we add a new EFFECTS_THINGY to platformio that
sets width 48 and height 16 and USE_281x and an #elif EFFECTS_THINGY in
effects.cpp that takes some of the 2D effects from MESMERIZER and retargets
them for the different screen. All the effects SHOULD kind of work because
they SHOULD respect MATRIX_HEIGHT and MATRIX_WIDTH, but some of them would
just look bad in the lower resolution or the goofy geometry. I know the
Maze effect, for example, would work very badly on 48x16. Pong or Pacman
clocks just aren't going to look good inside as there's too much space
between the pixels. Some of the abstract artsy things might look OK
(especially through a diffuser) and there shouldn't be a lot of actual
engineering involved - just pilfer through the effects and see what might
look good.
Are you comfortable enough editing source code and building it to help
with somethign like that? I can help "fix" any effects that look like
they'd almost look good - especially those with "MATRIX_SM" in the name as
they may still be in my L3 cereberal cache if not L2. So geometry and C++
skills welcome, but more importantly, an interest in picking a better name
than "THINGY" (this is why we don't let engineers name things...) and just
the drudgery of building in and picking through what's ugly enough to toss
and try to identify what can be prettied up.
As reference, you can see how effects like EFFECT_MATRIX_SPECTRUM_ANALYZER
and EFFECT_MATRIX_GHOST_WAVE appear in both the MATRIX and SPECTRUM build.
The plan seems to be that platform.ini matches on a name that matches, sets
X and Y either in platformio.ini or globals.h, based on a name (THINGY) set
in platform.ini, effects.cpp is built to test #if
MESMERIZER/SPECTRUM/THINGY to pile up a list of effects, then the
individual effects in include/effects/matrix/*.h are built, using the
graphics primitives to hit the right hardware to hit the right photon
sources and using the WIDTH/HEIGHT geometry specified at the beginning of
this run-on paragraph.
It's 768 pixels instead of 2048 (4096 if I get back to tracking down the
64x64 issue) so we may have fun with speeds as well as aspect ratios and
pixel density. I can't promise it'll be fun (undersell - overdeliver), but
it has the opportunity to be educational for at least one of us.
Doing similar work, I found the remote handy. Maybe the web UI and/or
jamming JSON into the REST gullet is enough to redo and skip effect now.
(if not, a big ole '#if 0' or '#if 1' can be quite effective
<https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/87686904968a3eb655a5f128e70bdd6ca6a4ae55/src/effects.cpp#L366>
in keeping only one or two effects running). The shown shunt was so it
would run ONLY the MATRIX_SM* effects for development, while making it easy
to go back to the others with a single-byte source change.
Buzz me at this name at gmail if you're interested in pursuing it. I could
knock up a hardware equivalent of the panel part of what you have and start
off with some samples to start.
On Sat, Sep 23, 2023 at 12:58 AM mikejohnau ***@***.***>
wrote:
> Sounds good I'll look into it. I do like the idea of a solar umbrella.
>
> [image: IMG_0299]
> <https://user-images.githubusercontent.com/26905608/270090075-4c7dc0b5-6ded-4bbb-bcdb-c37a9a95a2a2.png>
>
> Now I just need to tidy up the wiring on everything
>
> —
> Reply to this email directly, view it on GitHub
> <#434 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ACCSD376ZD6XPMF2MYCUPYTX3Z3AXANCNFSM6AAAAAA46KDONY>
> .
> You are receiving this because you commented.Message ID:
> <PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7087444
> @github.com>
>
—
Reply to this email directly, view it on GitHub <#434 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGNIYCA237WENGUIXNMYVC3X32EAPANCNFSM6AAAAAA46KDONY>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
I'm not going to give you legal advice on edging GPL, but I'd more respect
$150 umbrellas or lamps or whatever than $2 effects ... that are going to
be cloned the day they're seen anyway.
Storing them "in the cloud" doesn't give you the protection (legally or
technically) than you seem to think it does. By any reasonable definition,
your effects would be derived works from licensed materials. I'll let you
chase the search on that term on your own.
…On Sat, Sep 23, 2023 at 2:19 AM mikejohnau ***@***.***> wrote:
My thought is that a device of some description (lamp, umbrella,
Mesmeriser, Preconfigured LED Strip) would be bought with a basic set of
effects maybe solid colours fading to black or a basic rainbow effect.
Then a subscription payment or similar opens up the rest of effects, fire,
marquee fireworks any thing else exciting that we can come up with, for the
duration of the subscription. I could see July being a big month in the US
and January being a big month here in Aus (our national day is Jan 26th).
These effects would be store in the cloud.
My understanding of GPLv3 is that the user has the right to all source
code and the right to modify and distribute etc. But it doesn’t mean that
the software or services attached to the software can’t be sold.
My guess is that 99 out of 100 people who have seen Dave’s videos would
love something like a firelamp or umbrella, but would never build one for
themselves. However I bet a few of them would buy one if it was available.
> On 23 Sep 2023, at 1:04 am, Rutger van Bergen ***@***.***> wrote:
>
>
> I think I understand the idea better now, thanks for clearing that up.
>
> That said, my question about the "what/how" of the cloud part of the
solution stands. Also, everything in this repo very consciously being
licensed under GPLv3, an additional question I would have is what exactly
people would be paying for when it comes to the effects?
>
> —
> Reply to this email directly, view it on GitHub <
#434 (reply in thread)>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AGNIYCGM27XCE5BSUJ6YERTX3WSHBANCNFSM6AAAAAA46KDONY>.
> You are receiving this because you were mentioned.
>
—
Reply to this email directly, view it on GitHub
<#434 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD325MFKXRCRMQNM24SLX32EOTANCNFSM6AAAAAA46KDONY>
.
You are receiving this because you commented.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7087672
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
Thanks. I’ll believe you. You’re in the game I’m not.
Just trying to throw out some ideas.
… On 23 Sep 2023, at 5:38 pm, Robert Lipe ***@***.***> wrote:
I'm not going to give you legal advice on edging GPL, but I'd more respect
$150 umbrellas or lamps or whatever than $2 effects ... that are going to
be cloned the day they're seen anyway.
Storing them "in the cloud" doesn't give you the protection (legally or
technically) than you seem to think it does. By any reasonable definition,
your effects would be derived works from licensed materials. I'll let you
chase the search on that term on your own.
On Sat, Sep 23, 2023 at 2:19 AM mikejohnau ***@***.***> wrote:
> My thought is that a device of some description (lamp, umbrella,
> Mesmeriser, Preconfigured LED Strip) would be bought with a basic set of
> effects maybe solid colours fading to black or a basic rainbow effect.
>
> Then a subscription payment or similar opens up the rest of effects, fire,
> marquee fireworks any thing else exciting that we can come up with, for the
> duration of the subscription. I could see July being a big month in the US
> and January being a big month here in Aus (our national day is Jan 26th).
>
> These effects would be store in the cloud.
>
> My understanding of GPLv3 is that the user has the right to all source
> code and the right to modify and distribute etc. But it doesn’t mean that
> the software or services attached to the software can’t be sold.
>
> My guess is that 99 out of 100 people who have seen Dave’s videos would
> love something like a firelamp or umbrella, but would never build one for
> themselves. However I bet a few of them would buy one if it was available.
>
> > On 23 Sep 2023, at 1:04 am, Rutger van Bergen ***@***.***> wrote:
> >
> >
> > I think I understand the idea better now, thanks for clearing that up.
> >
> > That said, my question about the "what/how" of the cloud part of the
> solution stands. Also, everything in this repo very consciously being
> licensed under GPLv3, an additional question I would have is what exactly
> people would be paying for when it comes to the effects?
> >
> > —
> > Reply to this email directly, view it on GitHub <
> #434 (reply in thread)>,
> or unsubscribe <
> https://github.com/notifications/unsubscribe-auth/AGNIYCGM27XCE5BSUJ6YERTX3WSHBANCNFSM6AAAAAA46KDONY>.
>
> > You are receiving this because you were mentioned.
> >
>
> —
> Reply to this email directly, view it on GitHub
> <#434 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ACCSD325MFKXRCRMQNM24SLX32EOTANCNFSM6AAAAAA46KDONY>
> .
> You are receiving this because you commented.Message ID:
> <PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7087672
> @github.com>
>
—
Reply to this email directly, view it on GitHub <#434 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGNIYCD4TNIJVS2RMUIX3DLX32GYJANCNFSM6AAAAAA46KDONY>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
I hadn't really figured out how you were getting different effects on
different pins at the same time. Different SOCs would certainly explain it.
I agree that there must be a way to translate some of the 1D effects into
2D. The matrix is just a chain of LED’s that
The case I'm flirting with here is effects for HUB75s panels (as shown in
that Styx-tracked video) to the 2812 grids. 2D to 2D, but different
D's...and different electronics, though that's mostly hidden from the
effects layers themselves. They operate on abstract "LED"s, not knowing if
they're 2812's or pixels in a HUB75 matrix.
But in saying that I also want to concentrate on getting the Fire Lamp
working the way I want first. Give me a couple of weeks and lets touch base
on this again.
Cool. I'll keep trying to trick someone else into running with it. :-)
… Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/434/comments/7087705
@github.com>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
So first post here. I've got a fair way with these projects. Have built the Atomic fire lamp, the spectrum and 4 metres of LED strips (and counting). All working great with the built in LED effects, those that work anyway. So now I have moved on to the Night Driver server to drive everything over wifi.
I have managed to set up the NightDriver Server on my intel based Macbook Pro. It runs, connects to the LED strip (I can see the data being sent by the console app and hitting the Heltec wifi32 on the builtin screen) but no change in effect on the strip.
Am I missing something here? I have tried commenting out all of the built in effects. but still no effects over wifi. I have even tried turning the oled screen off as I know fire effects dont like it. Still no good.
Server operating

globals.h setup
#ifndef PROJECT_NAME
#define PROJECT_NAME "Ledstrip"
#endif
// #define COLORDATA_SERVER_ENABLED 0 // Also provides a response packet
#define ENABLE_NTP 1
#define ENABLE_OTA 1
only change to platformio.ini is:
[platformio]
default_envs = ledstrip
serial monitor output while connected is
(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes written to file /current.cfg: 1
(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.183, Mem: 120896, LargestBlk: 81908, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 2, Buffer: 11/20, CPU: 027%, 003%, FreeDraw: 0.028
(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.183, Mem: 124016, LargestBlk: 81908, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 2, Buffer: 1/20, CPU: 029%, 002%, FreeDraw: 0.028
(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.183, Mem: 124068, LargestBlk: 81908, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 2, Buffer: 11/20, CPU: 031%, 002%, FreeDraw: 0.028
(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.183, Mem: 124068, LargestBlk: 81908, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 2, Buffer: 1/20, CPU: 028%, 003%, FreeDraw: 0.028
(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
I'm no programmer just a happy hobbyist. If you need any more info on my set up, please let me know.
I hope that somebody out there can help. As a 50 odd year old wanna be geek these are great projects that I am enjoying building and Dave's Youtube videos were a great inspiration.
Beta Was this translation helpful? Give feedback.
All reactions