taburineagle / NeewerLite-Python

NeewerLite-Python is an un-official cross-platform Neewer LED light control app - written in Python, originally based off of the NeewerLite macOS Swift project by @keefo (Xu Lian)
MIT License
60 stars 11 forks source link

UPDATES... kind of 🐜 #88

Open taburineagle opened 1 month ago

taburineagle commented 1 month ago

Hello! It has been a long time since I've been here, and the reason is... wait for it... ants -

Or, to be more specific, necessity to work on other projects because of ants. A camera enclosure I've been running had an ant infestation that not only destroyed the hardware I designed inside of the enclosure, but also destroyed the camera somehow - to the point where a fully-functional 4K camera can no longer record in 4K because of... reasons - it sees the 4K shot, it sets it up like normal, but refuses to write data for 4K (HD is fine however)... so I'm guessing something inside the memory of the camera (the buffer perhaps) is shot. Due to that, I've spent the last few months working on a completely new system (both engineering completely new hardware, software and layout logistics) that has kind of become a white whale of a project - one that I have needed to see through to the end. I've done it, designed an entirely new PCB, written an entirely new (and much better, honestly) daemon in C, etc. - but it's taken 2 months of complete focus that has taken me away from other projects like NeewerLite-Python. One plus-side to that is I've had the chance to code with an ESP32, and see the kinds of things it can do (originally I had a cobbled together PCB that I designed running a ATTiny chip connected to a Pi Zero, I simplified the entire thing using just an ESP32) - so I might actually be able to port a version of NeewerLite-Python (it wouldn't be Python any more, but meh) to an ESP32 using the built-in WiFi and Bluetooth, which I think was a vision @fribse had years ago for a project like that based on a microcontroller instead of a PC.

Ha, tl;dr - I'm still here. Haphazard, but here 😊

taburineagle commented 1 month ago

Here's a picture of the new board, if anyone's interested ~

2024-05-26_21-08-21

fribse commented 1 month ago

Hey @taburineagle That sounds very interesting. Yes, my though was just that as I know it the CPU usage is miniscule, so something like micropython might be able to do the trick? https://docs.micropython.org/en/latest/esp32/tutorial/index.html Glad that you got your project on the way.

Btw. did implement any of those 'busy' signs in the files for the webbased? I was contemplating looking into updating it, if something new has appeared.

taburineagle commented 1 month ago

@fribse - I'll have to check into MicroPython! I've actually never used that variant, but it looks interesting. C would still work, I'm guessing - semantically, I'd just have to change the name for the ESP version to something else, as just "NeewerLite" has already been taken 😄 ESP-NLP... or something...

I have actually added that in a while back - it might have gotten lost in the fray of updates - I pushed a busy signal update in the latest commit to the WIP-HTTP-Server-Mods branch...

fribse commented 1 month ago

Ha ha, uh, the big change in naming. Ahh, now I found it, ok, I'll try and fetch that and update the two files :-) Thankyou!

fribse commented 1 month ago

I just tried the 'new' version, but I get a list "index out of range" when I replace the two files. I tried moving the 'light_prefs' content to a backup folder, but that didn't help.

Jul 20 18:15:51 neewerlitepi systemd[1]: Started Run NeewerLite-Python HTTP Daemon as a service.
Jul 20 18:15:54 neewerlitepi python3[573]: Traceback (most recent call last):
Jul 20 18:15:54 neewerlitepi python3[573]:   File "/opt/NeewerLite-Python/NeewerLite-Python.py", line 3897, in <module>
Jul 20 18:15:54 neewerlitepi python3[573]:     loadCustomPresets() # if there's a custom mapping for presets, then load that into memory
Jul 20 18:15:54 neewerlitepi python3[573]:   File "/opt/NeewerLite-Python/NeewerLite-Python.py", line 1976, in loadCustomPresets
Jul 20 18:15:54 neewerlitepi python3[573]:     if currentParams[1] == 120: # we have a new-style list of parameters, so copy them as-is
Jul 20 18:15:54 neewerlitepi python3[573]: IndexError: list index out of range
taburineagle commented 1 month ago

Hmm, interesting... are you still using the older custom preset file structure? The one from #81? When I tested it with the old-to-new style converter, everything worked here on my end, but there may have been an eccentricity I didn't notice. Are you saying if you have no light_prefs folder in the NeewerLite-Python folder, it still presents that error?

fribse commented 1 month ago

I just emptied the light_prefs folder. I tried removing it entirely now, and now it starts. I've asked it to scan for lights, and now it shows this: billede However, it doesn't exit, and I can't trigger anything? If I do a restart of the service, it restarts, and then stops again a second later

taburineagle commented 3 weeks ago

Looking at that screenshot, it looks like it just successfully connected to CE:D9:49:A3:1F:F7 (it shows this at the top), but the table still shows lights aren't completely linked yet.

image

Are you saying if you let it look for lights and link them, the message at the top doesn't go away if you let it run for a longer period? (the HTTP Server busy message just shows the last message received from the program when it's busy, so in the screenshot above, it's still working on connecting to the lights and isn't 100% ready for anything else yet)...