Category Archives: Computer

I’m a Fan of …

Everyone is a fan of something .. i’ll share some things.

More elaborate pages on those topics are coming

Hardware

  • Microtik (switches)
    • See other pages .. search for mikrotik
  • Shelly (Smart home devices) Switches, dimmers, powermeasurement, buttons, floodsensors, gassensors
  • Creality (3D printer)
  • Realme (Mobile) previous One-plus-one
  • Raspberry, Arduino’s
  • Reolink webcams
  • RD6006 Lab Powersupply
    • Wifi, Node-red controllable via netbus

Software

  • Docker/podman
  • Ovirt
  • Grafana
  • Node-red
  • Pureref
  • Fritzing
  • MQTTexplorer
My 2019 Laptop word cloud design. Printed on transparent plastic

2022 Lab upgrades, old servers removed

A fresh start

Add packages to a pre-existing docker image

A little test building a custom docker image, for a friend.

Q: I have a Node-red docker, but without ffmpeg binary

Using below code, i’ve added a overlay with ffmpeg.
Podman command’s should be working for docker command also.
(Note: When adding multiple packages OR other commands, try to use a single commandline, Every RUN command adds a overlay.

mkdir noderedbuild
cd  noderedbuild
vi Dockerfile
FROM nodered/node-red
LABEL description="Custom Nodered Build"
MAINTAINER haanstoot <fash@fash.nu>
USER root
RUN apk add  --no-cache ffmpeg
EXPOSE 1880

Below builds a local image named nodered:v1
NOTE: docker run command may be incomplete for Node-Red, this was just a example to add packages

podman build -t nodered:v1 .    
podman images
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered localhost/nodered:v1 -d

Tested with

[root@podman ~]# podman exec -it mynodered /bin/bash
bash-5.0# ffmpeg
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers

Usage:

https://flows.nodered.org/flow/127b038961f873d1babeecaf5578959e

RTSP Frame save in Node-Red

LS120 app android

May 2020 i’ve bought a Youless LS120, to monitor my electricity and gas, today i found out there is a android app .. Duh 🙂

Audio switcher

Doing my work from home via Jitsi (Jabra headset) and Listening to music on my speakers. Sometimes i want to switch output. For example spotify on my headset.

Using below code, i can easily switch between output sinks.

#!/bin/bash

if [ -z "$1" ]; then
    echo "DEVICE"
    pactl list sinks | egrep "^Sink|Description" | sed 'N;s/\n/,/' |sed -e 's/\t/ /g'  | cut -f2,5- -d" "
        echo "APPLICATIONS"
    pactl list sink-inputs | egrep -ie "^Sink|application.name" | grep -v "\-application-name" | sed 'N;s/\n/,/' | sed -e 's/\t/ /g' | sed -e 's/  / /g' | cut -f3,6- -d" "
    echo "Usage: $0 APPID DEVICEID" >&2
    exit 1
fi

pactl move-sink-input $1 $2

It shows output devices, and applications which are using audio sinks.
Just match them up.

OldSkool Computer Cartridges/expansions/add-ons

(Todo : add photos/designs )

Amiga:

Action Replay IIOwned since … 80s 90s?

Modded this one, as part of my modular
amiga system where i wanted to remake
every part onto 10×15 euro prints. So i could
swap things out for other boards.
Memory expansion512k .. missing in action
Go a new one in … ?
Boot selectorSwaps df0 and df1
DIY version was a wirewrap ic socket with a cross switch, now i have a Gotek buffered switching module with can be actvated with a keystroke.
(Gotek post)
Keyboard modHidden key (in the space of the stands, which triggered a extra key stroke)
Kickstart selectorA print you can insert in the ROM socket of your amiga. Had only 1.2 and 1.3.
Now there are many .. like diagnostic roms.
I made a altered 1.2 version .. which was unusable .. i f*cked it up
SID modAdded a sid parallel on the 8020 CIA chip
Gotek driver emulatorI made a arduino version to read disks. (Other post)
But this is a disk image drive emulator.
See Gotek post
Boot sector warnPiezo beeper which warned me when a boot sector was being written (virus alert)
Sound filter fixAmiga audio filter enhancer, using capacitors and resistors

C64:

Final Cartridge III
Led modMemory activation leds
KCS Power CartridgeSepp’s old cartridge?
Rom selectorDIY rom selector
Data Manager 2Can’t find anything on this one on other sites !?!?!
https://www.henriaanstoot.nl/2022/07/17/mystery-cartridge-c64/

Atari:

Vic-20:

Reset modDIY reset mod
ROM selectorDIY ROM selector
Many cartridgesSold in 2022, kept only some useful once’s

PC:

PC speaker modSpeaker to audio jack
Seek time monitorWhen a seek took too long, LEDs would light up, time to defrag!
Covox modA pre sound card parallel to audio resistor bridge.
Only a few demo’s and games supported this mod.
VGA to scartDisplay hack
VGA to Scart hack

Monitor:

Monitor modDIY horizontal flip using relays
Color modGreyscale / RGB switcher

Generic:

Joystick recorderrecorded movements when playing a game, so it could replay parts.

IPA Certificates

This content is password protected. To view it please enter your password below:

MQTT Keyboard

A fancy keyboard….. At last a clickety keyboard. A Razer Blackwidow V3 mechanical keyboard. I’m not a gamer, but i like the clickety sounds. RGB leds are always nice to play with.

One of the nice things about razer is the Linux support!

Some nice links:

https://github.com/openrazer/openrazer

https://openrazer.github.io/

Even several python scripts can be found, but no MQTT.
So made a fast ‘n simple hack to control my keyboard with mqtt/nodered.

When someone is at the frontdoor, my keyboard changes from white to red.

Below a node-red example

My python code:

import paho.mqtt.client as mqttClient
import time
import os
import subprocess
import json

def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("Connected to broker")
        global Connected
        Connected =True
    else:
        print("Connection failed")

def on_message(client, userdata, message):
    subprocess.Popen(["razer-cli", "-c", message.payload])

Connected = False

broker_address = "your.mqtt.brokerip.here"
port = 1883
#user = "user"
#password = "password"
client = mqttClient.Client("mqttrazer")
#client.username_pw_set(user, password=password)
client.on_connect = on_connect
client.on_message = on_message

client.connect(broker_address, port=port)
client.loop_start()

while Connected != True:
    time.sleep(0.1)

client.subscribe('razer/in')

try:
    while True:
        time.sleep(1)

except KeyboardInterrupt:
    print ("exiting")
    client.disconnect()
    client.loop_stop()

Checking SFP connections with phone

Testing my 10gbps fiber
If your mobile doesn’t have a filter, you should be able to see fiber connections using camera.

Concertina and Augmented reality

One of the first attempts to do some augmented reality.
Tried to display note buttons realtime on a instrument.

I’m using a image on a screen due to the lighting, i was unable to test my real instrument with the light i had when testing.

Wren 2 Concertina