Node-Red, UIBuilder and Buttons!!

Node-Red, UIBuilder and Buttons!!

If you’ve been here before then you know I use Node-Red, if not and you don’t know what Node-Red is, you should check it out. To get a frontend UI out of Node-Red there has always been the Dashboard node for us to use and a set of Dashboard nodes to go with it. I have never been a huge fan of the Dashboard, but it was what we had and it did the job. The Dashboard nodes allowed you place UI nodes and connect them to your data and it would do the rest, no HTML code required on your behalf. But that was one of the limitations, was that you did not have control over the code. Enter UIBuilder.

The UIBuilder node is amazing. It is a Node-Red interface builder that gives you complete control, over everything. The downside (if it is one) is that you must know how to code HTML and JavaScript. UIBuilder lets you use any frontend framework you want to build your interface to Node-Red. JQuery, VueJS, MoonJS, Angular, etc.. So far I have dropped in a Bootstrap-Vue admin template and I have been going to work on that. It has taken me a minute to get used to how UIB all works, and I am not really all that great with JavaScript but I seem to be figuring things out. Hey, I have shit working.

The UIBuilder Wiki and the Github for the author have a ton of information and examples of how to get a few basic things done. Just expect most of them to be done with VueJS. It appears (at least to me, I could be wrong) that UIBuilder was originally VueJS heavy/dependent and as it matures it is more open to other frameworks. As of v3.1.3 it no longer installs Bootstrap-Vue and VueJS by default, as it had done it all prior versions. So just be aware that you can use any framework you want, but all of the examples (so far) are all written in VueJS. There is also the Node-Red forums if you get stuck, the author also happens to frequent the group.

View Post

Gulfcoast Robotics Carriage Cable Chain

Gulfcoast Robotics Carriage Cable Chain

The Monoprice Maker Select v2.1 comes with cable chains on the X and Z-axis, but not the Y-axis. I have no idea why. It has been on my list of to-do items to add a cable chain to the Y-axis, but I have just never gotten around to do it. About a year ago or so I managed to get around to printing the cable chain links and mounts but I never installed any of it. Fast forward to present day and I find myself wanting to tinker with the printer and have been thinking of new upgrades for it. Thats when I spotted the chain that I had printed in a box. I originally printed the chain to mount to the printer and to the stock carriage, but I no longer have that carriage. Now I have a carriage from Gulfcoast Robotics, so what I already printed doesn’t fit.

Off to Tinkercad!

I have previously designed a handle for the new Gulfcoast carriage that just slips on, I added a zip-tie to keep it from accidentally falling off and it works great! So I figured I could take that designed and remix it to work for me as a contact point for the heatbed cable chain. A day or two and 6 prints later and I have a slip-on cable chain for the Maker Select. I remixed a rear frame mount so that no screws are needed, just slide the piece over the bracket. The same goes for the bed carriage, just slide it on. I did add a zip-tie to make sure it doesn’t pop off, because it is a pain to put on. I used the existing chain links that I had already printed and it all came together.

The one thing I did not think about was the offset that the chain would have. The original mount that uses screws mounts to the same place as the Y-axis stepper motor and this is centered with the bed and the wiring. Adding a cable chain here you are going to get a nice straight line. I am using a slip-on rear mount so I cannot center it due to the stepper being in the way. Luckily I had two offset links printed from back then. Like it was meant to be. I still need to print one more but it works fine it just looks a little odd because of the way the chain is offset.

 

Maker Select Gulfcoast Robotics Heatbed Cable Chain (my cable chain mounts) https://www.thingiverse.com/thing:4644050

The cable chain links to make the chain https://www.thingiverse.com/thing:1060522

Y-axis cable chain mount for MP Maker Select (the thing I based my remix off of) https://www.thingiverse.com/thing:2221459

 

 

Raspotify

Raspotify

For the past few weeks (months?) whenever I was flashing an SD card with Balena Etcher I would see an ad for creating a Spotify Connect server out of a Raspberry Pi. I never really thought about it until I was cleaning the garage (not for fun, I’m moving to Texas) and I wanted to play some music. I have had a standard stereo receiver with some stand up cabinet speakers for a while it just hasn’t gotten much use this year. When I had used it I would just plug my phone into a cable I had directly plugged into the receiver and I would play songs that way. Well now I have an iPhone, no more Androids, and now I don’t have a headphone jack. Great. Fuck the dongles. I now had a need for a Spotify Connect server, which honestly is what I should have done a while back. Balena has their own special way of doing things, which I kinda don’t like so I searched out a different solution.

The software I used is called Raspotify and it is really simple to get up and running. All you need is a (any) Raspberry Pi, the SD card for it, power, and a way to plug it into your stereo. Almost any Pi except a Zero are basically plug-n-play as they have a 3.5mm audio jack. Super simple. After flashing Raspbian Lite to the SD card, boot the Pi and then run one command: curl -sL https://dtcooper.github.io/raspotify/install.sh | sh

That will get you going, after the Pi is finished you should now see a Spotify Connect server named “raspotify” on your Spotify app. You can edit /etc/default/raspotify to change the defaults if you want. Like stream quality and the server name etc. I highly recommend doing this. I noticed the volume was super low by default, well the Pi had its volume set to 40%, dang. Use the command alsamixer that will let you up the volume. I tend not to use things at 100% of the volume available, most times devices start to distort at max levels. I usually stick to 90% for my volume level.

I initially got it setup and running on a Pi 3B+ and it worked just fine, except it didn’t sit well with me using a full blown Pi for such a simple task as streaming music. It just isn’t right. You could use one single Pi as a Spofity connect server as well as host many other things (Pihole etc) but I like to keep things separate. Less chance of failure for me, since I tend to not leave shit alone. Enter the Raspberry Pi Zero W. But the RPi Zero doesn’t have an audio output, ha-hah! There are a few audio DAC hats out there for the Zero that add outputs, but I don’t have one and I didn’t want to buy one or wait for it to get delivered. So we have to make one! It is actually very simple, as long as you have the parts around that is. We are going to create a pair of basic line-out outputs. Good for receivers not so good for things like headphones. Its also just a basic output no extra DAC here. If you find the audio quality isn’t up to snuff (I have not noticed a difference but I have not also tested it thoroughly or compared it to other sources, yet) then a DAC hat is for you.

View Post

Alexa, turn this shit off

The title pretty much says it all. We were sitting in bed late one night and the wife yelled “Alexa, turn this shit off!”. Yet nothing happened. Well thats just not good enough. The next morning I opened Node-Red on the house server. I added a new Wemo Emulator node and named it “this shit”. I then connected the new node to the house lights via Hue nodes. Bam! Now whenever we yell at the echo “Alexa, turn this shit off!” you get greeted with “OK” and all the lights shut off! I couldn’t be happier. Now the wife laughs every night when I say it, go figure.

(on the flip side I can now tell her to “turn this shit on” and all the lights will turn on)

No fancy scripts needed, just install the Wemo Emulation node, and then connect it to whatever you want to control. Then tell Alexa to “discover devices” and you should be set.

DIY CCTV – Raspberry Pi IP Cameras and NVR

motionEye

I have an old CCTV DVR with two older analog cameras attached. It was all top of the line security gear 10 years ago when I was active in the field, and it has not aged well. The DVR has a very old and obviously no longer maintained android app, and the desktop software is just the same. I am not even sure if the company still sells standard DVRs anymore. The image quality on the cameras is horrible, somewhere around 480. To top it off my once prized analog security camera died while I was writing this.

Everything is IP and all the recorders are now NVRs these days. I was looking at possible new solutions to upgrading and there are some decent options out there. Theres the Blink XT2 and Arlo Pro cameras, they seem to be the most popular. There are also the super cheap (but indoor only at this time) Wyze cameras. They all have pretty decent apps but they all rely on cloud storage or record to local SD cards. If you want IP cameras without the cloud you are looking at going through a security professional or something you can get from Costco, Home Depot or Amazon etc. Now I can’t afford a new IP camera package at the moment but they seem nice, but with no local storage I decided to see if I could roll my own NVR and IP camera.

Before you go any further you should read this blog article, it has a ton of info on the options you have available to you. He goes in depth about the options, I am going to give you my experience with them, what I ended up sticking with and how I got it setup. I recommend trying out all the options if you are so inclined, it took me about a day or two to bounce between them all and settle on one. I have been writing this article for two weeks now.

I have a home server running on an old slim desktop computer (that someone dumped off on my curb one day). I am running Ubuntu Server 18.04 headless. I have a few programs and services running on it as well as a few terabytes of media that I cannot risk losing. Even losing the OS would be a pain in the ass as my Plex server would have to re-crawl the folders. That takes a long while, an event I would like to avoid if at all possible. So I am always hesitant on installing and trying new things that look like they need a lot of tweaking and trial & error. Enter the Raspberry Pi. This little SBC makes testing things perfect for me (I have still yet to dive into Docker and VMs). If it proves not too problematic then I can toss it on ye ole server.

I started writing this over a weekend, I thought I could turn my experience into a quick write up and oh man did this thing grow. I just want to state up front that I was kinda sideswiped during my process of doing this as a motionEyeOS prerelease came out and the official github has updated a few things which also match what I wrote here now (like they now cover the install on Buster which they did not before). So you may find some redundancies between our pages. Go figure.

View Post