I noticed that the Setup of NodeRED on Raspberry Pi still recommends BullsEye (Debain/PiOS 11). Pi ecosystem has moved on to BookWorm (12) and now Trixie (13). These OSes take advantage of new southbridge comm chip on the Pi5. Yeah, this has given us grief.
I understand there is a software shim to redirect calls for the older gpio/comms libraries and I guess I could try those out to migrate some of my i2c dependent projects to newer PI hardware/software.
Purpose of this thread is just to ask the NodeRED core developers if there is any appetite for verification of new versions of NodeRED against newer releases of RaspberryPi and it's OS.
I guess as an individual living on the western side of the pond, I'm dispappointed that a largely UK centered hardware vendor (raspberry pi) and a largely UK centered software vendor (NodeRED) aren't syncing their efforts a bit. I can only gather that NodeRED going forward just isn't interested in having new and improved releases of the little cheeky swiss army knife singleboard computer that is the PI fully supported?
I'm not being critical... I'm asking.... To use NodeRED on Pi, do I need to stay on Pi hardware that is 1 generation behind and software that is 2 versions behind?
Yes, I am one of those that reported GPIO issues a bit more than a year ago.. well, i2c comms, which use GPIO pins. never got it fully working again when going to Pi5 and Bookworm..
The Raspberry Pi foundation only ever seemed interested in Python (in keeping with most education stuff I suppose) so node.js never really seemed to be of interest to them.
This is a rather inflammatory statement to be honest.
There is Dave's Pi installer script which is really comprehensive and you could also use the Docker install.
The Pi foundations support for Node-RED was only ever half-hearted as they didn't even want to include npm in the node.js package which is an absolute requirement for all node.js packages. The Node-RED devs certainly tried.
If there are any remaining Pi 5 GPIO issues, these are Pi foundation problems to resolve.
I might be wrong, but doesn't the code for GPIO handling use python?
Hmm. Not terribly helpful. As I recall, if there are any remaining issues, they are more down to lack of a Pi 5 to test on than reluctance to make an effort.
I hope if Peter does meet with problems, he will be able to thoroughly document them here.
As for the RPi people's attitude to Node-red, it is a puzzle. Node-red is conspicuously rare their published projects.
I think it's a shame because some Pies - I'd pick the 4 and Zero 2 are still ideal Node-red platforms. If I wanted a new NR server though, I would not go for a Pi 5, especially not if it required GPIO access.
Yes, that's what I meant, there was no real reason for that other than education was the primary focus of the foundation from the start. It wouldn't have been hard to create better C++ libraries that could have been used by Python, node.js, Mono, etc. but they never did as far as I'm aware.
Sadly, education seems fixated on Python to the exclusion of most other things.
To be fair, most of us I think have shied away from using GPIO on the Pi directly. Partly due to the library issues but also because Pi's were notoriously sensitive and letting out the magic smoke due to a mistake connecting GPIO was rather common. Given the low cost of ESP boards, that became the GPIO platform of choice for many. With the Pi as a low power compute platform.
didn't mean it to be inflammatory. i have a side hobby where I take lease return golf carts and make them street legal (many communities permit golf carts as LSV - low speed vehicles). I will only work on electric carts, no petro. I will only work on Yamaha, ClubCar, and EZ-Go... at the exclusion of other makes. The chinese carts come with alot of consumer features and bling that folks desire, but the parts and service support from those manufacturers is nill. It's a conscientous decision that I took to stick to better supported products. I have folks complain to me about that decision.
Pi foundation did an interesting thing with the 5.. gave us allot of stuff we asked for... and broke things we depended on. It's still a great swiss army knife, but now the philips screwdriver doesn't fit anything (if you can catch that analogy). It may well be the NodeRED group doesn't feel like expending energy to support the latest and greatest if it's creator is slow to fix what they broke. To suggest that isn't inflammatory at all. Just calling out the possibility...
I remember years ago suggesting to the PI Forum keepers (admins/moderators, etcc) that they should dedicate a section to vbscript programming...(I was heavily envolved in trying to make PI w/ nodered more plug and play by dynamically recognizing attached i2c devices and configuring them as instances... so allot of behind the scenes scripting was needed). I was lit up by other posters to say the least... so I'm well aware of the PI foundation's preference for python and mere tolerance for c (a necessary evil).
Trust me.. I'm not pleased with Pi5 and it's RP1 not working on existing code and requiring rework that hasn't been clearly laid out by the foundation...
I'll give Pi5 and NodRED one more try with my existing projects and see if I can migrate.
So yeah - long story short - as you know they changed the Pi5 hardware and "broke" the old way of getting at GPIO. I did look at the new libraries - but they would then be pi5 specific and not backwards compatible - and given the large population of other Pi versions out there I didn't want to to break the existing library. And I didn't really want to create a whole new node - just for Pi5 and then have to get users to understand that if they had one combo of hardware and os to use one set of nodes and if not use another etc... Also I don't have a Pi5 which doesn't help matters
So when they made a compatibility layer available (rpi-lgpio) then in theory that should then allow the "old" nodes to continue to work. But as I said I don't have Pi5 so can't directly test myself - but hopefully someone in the community could do - and help update the docs if there is anything extra needed etc... However this is GPIO only - I have no idea about i2C or other uses of the pins.
As others have also mentioned a lot of folk so now use other co-located things like ESP chips for IO as they are cheaper to destroy, and in some cases simpler to program and configure. But as also mentioned - unless you really need the CPU grunt of the 5 then a 3 or 4 is still probably price performing for things that require simple IO.
We also have the pigpiod nodes which do use a different library - and do give much more accurate timings for things like PWM usage - but does rely on running a daemon as root and the node talks to that - but the underlying library does have a small vulnerability and the original author has not maintained it - and again I have not tested it on a Pi 5.
Also yes - latest PiOS (trivia) should also be fine in general across all versions of Pi hardware.
Backstory - once upon a time we did indeed work fairly closely with Pi team and they included Node-RED in the Raspbian full-fat distro and had a version in the repo - so you could apt install it... however that relied on the debian build of node.js which was always well behind in terms of fixes - and often didn't include npm by default. And when folk tried to upgrade to the latest Node-RED not in the distro it often broke things - so it all got rather messy... and as others have mentioned python was the answer... so we decided to not rely on either Debian or Raspbian and just go with one recommended install for Pi (the "script") as that also works on other Debian variants large and small. This is not a slight against the Pi - more simply a reflection that there are a lot of possible platforms out there for running Node-RED (including a lot of Pi versions) and there's only so many hours in a day and only so much pocket money for buying new toys.
And yes re Phillips screwdriver - it's like when they introduced Pozidrive - to me it looks the same - but isn't - and can easily round out screws when you get it wrong.
Yes, this is the 'shim' that I was referring to. I don't think it is the Pi Foundation that's introduced this, but an independent developer.
Awesome... you got my screwdriver reference.... close but not exactly... doesn't fit all circumstances...
Pi on node-red is so awesome. i love the 5 for the easy to support m.2 capability...so was hoping to replace my 4Bs with it. yeah cheap alterantives are a possibility... but I really like good quality digital i/o boards and sensors communicating with the PI over i2c... you can literally do everything from i/o to control to hmi with a PI, NodeRED, a few reasonably priced i2c expansion boards, and a touch screen. I'm just hoping this elegant pairing continues to find favor in the community... but if not... I understand....