You don’t need any pull up or pull down resistors, use  pull_up_down=GPIO.PUD_DOWN instead. The setup: The wiring: The test program: test.py # Door open/closed detector # # (c) Alan Lupsha 2020 # wiki.lupsha.com import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) # GPIO Numbers instead of board numbers MAGNET_GPIO = 18 GPIO.setup(MAGNET_GPIO, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # GPIO ..

Read more

You need to install JDK8 because JDK11 and others won’t work.  Otherwise, you’ll get errors like this one: Server VM is only supported on ARMv7+ VFP Install: sudo apt-get install openjdk-8-jre-headless openjdk-8-jdk-headless Verify: root@door:/home/pi/programs/doorswitch# javac -version javac 1.8.0_212 root@door:/home/pi/programs/doorswitch# java -version openjdk version “1.8.0_212” OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01) OpenJDK Client VM (build 25.212-b01, mixed ..

Read more

Source: https://github.com/ttww/JavaFrameBuffer The error: pi@pi2 ~/jfb $ javah -d src/main/c -classpath bin org.tw.pi.framebuffer.FrameBuffer Error: Could not find class file for ‘org.tw.pi.framebuffer.FrameBuffer’. The fix: #!/bin/sh jniResult=libFrameBufferJNI.so   # Make sure to update these to your correct JDK path jniJdkHeader=/opt/jdk/current/include jniSysHeader=/opt/jdk/current/include/linux rm “$jniResult” echo “here is the correct compile command” javah -d src/main/c -classpath src/main/java org.tw.pi.framebuffer.FrameBuffer   # rm ..

Read more

# install maven and git sudo apt-get update && sudo apt-get install -y maven git verify install pi@door:~ $ git –version git version 2.20.1 pi@door:~ $ mvn –version Apache Maven 3.6.0 Maven home: /usr/share/maven Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-armhf/jre Default locale: en_GB, platform encoding: UTF-8 OS name: “linux”, version: “5.4.79+”, arch: “arm”, ..

Read more

Also see: https://wiki.lupsha.com/raspberry-pi-3-setting-up-a-phidgets-voltage-reader-2/ #!/bin/bash # # hits the sensorreading app and grabs sensor raw value, and computes it, per phidgets 1117 raw to voltage # # Alan Lupsha 10/20/2019 # # hit the API and get the reading # # ex: {“userCommand”:”/sensor/0″,”errors”:[],”workLog”:[],”port”:{“index”:0,”value”:584}} # READING=`curl –silent -H “Accept: application/json” http://10.1.10.12:50003/sensor/0` echo “API reading: $READING” # # ..

Read more

Turns out you need a powered USB hub, otherwise the Pi 3 won’t see the Phidgets 8/8/8 board. The setup: Pi3 Phidgets 8/8/8 board ( https://www.phidgets.com/?tier=3&prodid=16 ) Phidgets 1117 voltage sensor https://www.phidgets.com/?&prodid=88 Rosewill self-powered 7 port USB hub https://www.newegg.com/rosewill-rhub-300-usb/p/N82E16817182057 Once a self-powered USB hub is provided, the Phidgets IO board is detected: Setting up the Pi: sudo su apt-get ..

Read more

sudo su # enable zabbix on system boot systemctl enable zabbix-server.service # stop the server systemctl stop zabbix-server # check status systemctl status zabbix-server.service # start it systemctl stop zabbix-server # check status systemctl status zabbix-server.service # disable SELinux sestatus sudo setenforce 0 sudo shutdown -r now sudo su sestatus # iptables yum install iptables-services ..

Read more

# Install Xen: sudo apt-get update sudo apt-get upgrade sudo apt-get install xen-system # Edit interfaces sudo nano /etc/network/interfaces # and add the xen bridge: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto ..

Read more

#!/bin/sh LOG=/tmp/syncSvn.log SOURCE=/home/svn/dev/ DESTINATION=/mnt/d3/myd3/home/svn/dev EMAIL=root@localhost START=$(date +%s) echo “” > $LOG echo “Start ” >> $LOG echo `date` >> $LOG echo “Now beginning sync $SOURCE to $DESTINATION ” >> $LOG rsync –verbose –archive –recursive –delete-during –human-readable –progress –itemize-changes $SOURCE $DESTINATION >> $LOG echo “Finished sync $SOURCE to $DESTINATION ” >> $LOG echo “Checking SOURCE $SOURCE ..

Read more

# install it sudo apt install squid # back up config sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original sudo nano /etc/squid/squid.conf # edit stuff per https://ubuntu.com/server/docs/proxy-servers-squid # or leave default port 3128 Example config: acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports ..

Read more

First set up Nginx to recognize your domain, etc. mydomain.example.com , assume this server is called gateway, so gateway.mydomain.example.com sudo nano /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 mydomain.example.com gateway gateway.mydomain.example.com Install postfix: sudo apt-get update; sudo apt-get install postfix Internest Site → gateway.mydomain.example.com →  # Update your /etc/mailname file with your ..

Read more

# How to install and set up Nagios # read how-to: http://nagios.sourceforge.net/docs/3_0/quickstart.html sudo apt-get install apache2 sudo apt-get install libapache2-mod-php5 sudo apt-get install build-essential # get data about your operating system: uname -a lsb_release -a # With Ubuntu 6.10, install the gd2 library with this command: # sudo apt-get install libgd2-dev # With Ubuntu 7.10, ..

Read more

# go to your home dir and download it cd ~ wget http://apache.cs.utah.edu/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz tar xzvf apache-tomcat-9.0.22.tar.gz # make destination dir sudo mkdir /opt/tomcat # move unpackaged dir from home to /opt sudo mv ~/apache-tomcat-9.0.22 /opt/tomcat/ # create symlink to current so we only use /opt/tomcat/current in the future sudo ln -s /opt/tomcat/apache-tomcat-9.0.22/ /opt/tomcat/current # create ..

Read more

Listed at: https://packages.debian.org/stretch/firmware-misc-nonfree Need: firmware-misc-nonfree_20161130-5_all.deb see: https://packages.debian.org/stretch/all/firmware-misc-nonfree/download Get the deb file from: http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-misc-nonfree_20161130-5_all.deb Copy firmware-misc-nonfree_20161130-5_all.deb to a USB stick. On the linux box: Find your USB stick: sudo fdisk -l In my case it’s /dev/sdf1 Mount it and run the file mkdir /mnt/myusb mount /dev/sdf1 /mnt/myusb cp /mnt/myusb/firmware-misc-nonfree_20161130-5_all.deb /root cd /root deb -i firmware-misc-nonfree_20161130-5_all.deb Find ..

Read more

The WordPress “Health Status” says it’s missing some plugin: # check the PHP version that we have running: root@server:/opt/web/mysite.com# php –version PHP 7.4.12 (cli) (built: Nov 3 2025 14:32:41) ( NTS ) Find your version. And then: # get what’s missing for our PHP version: apt-get install php7.4-curl apt-get install php7.4-mbstring apt-get install php..

Read more

# install apt install php7.3-fpm apt install nginx # you need the mysql libraries to connect to mysqli(host, user, pass, instance) apt install php7.3-mysql # edit nginx to use php nano /etc/nginx/sites-enabled/default # Replace this: location / { # First attempt to serve request as file, then # as directory, then fall back to displaying ..

Read more

Keycloak is an open source software product to allow single sign-on with Identity and Access Management aimed at modern applications and services. As of March 2018 this WildFly community project is under the stewardship of Red Hat who use it as the upstream project for their RH-SSO product. # install java sudo apt install -y ..

Read more

sudo apt install python3.8 -y sudo apt install xdg-utils wget xz-utils -y sudo apt install libnss3 -y sudo apt-get install xorg openbox -y sudo apt-get install ubuntu-desktop -y mkdir ~/tmp cd ~/tmp wget https://download.calibre-ebook.com/4.17.0/calibre-4.17.0-x86_64.txz sudo mkdir -p /opt/calibre sudo rm -rf /opt/calibre/* sudo tar xvf ~/tmp/calibre-4.17.0-x86_64.txz -C /opt/calibre sudo /opt/calibre/calibre_p..

Read more

If you don’t have java, install it: # install java sudo apt-get install openjdk-7-jdk java -version Download it: cd ~ mkdir ~/tmp/ cd ~/tmp/ # get it, see https://tomcat.apache.org/download-90.cgi for more links wget http://mirror.reverse.net/pub/apache/tomcat/tomcat-9/v9.0.29/bin/apache-tomcat-9.0.29.tar.gz # create destination sudo mkdir /opt/tomcat sudo chown $USER:$USER /opt/tomcat # unzip it tar xzvf apache-tomcat-9.0.20.tar.gz –directory /opt/tomcat # make a ..

Read more

Example run: root@ox:/etc/init.d# ./oracle-xe-18c configure /bin/df: unrecognized option ‘–direct’ Try ‘/bin/df –help’ for more information. Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the ..

Read more

# view all queued up mail sudo postqueue -p # delete all queued up mail sudo postsuper -d ALL # add this to /etc/postfix/main.cf smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_helo_restrictions = reject_unknown_helo_hostname # optionally, run this so that it doesn’t complain about old files sudo postmap /etc/postfix/virtual # restart mail sudo /etc/init.d/postfix restart # watch log sudo ..

Read more

The board: The board I worked with is a 16 channel relay board: https://www.sainsmart.com/products/imatic-rj45-ethernet-wi-fi-control-board-with-integrated-16-ch-dc-12v-relay I believe this process should also work with the 8 channel relay  board: https://www.sainsmart.com/products/imatic-rj45-tcp-ip-remote-control-board-with-8-ch-relay The relay board has this ethernet card: The problem: The problem is that the board comes pre-programmed with the IP 192.168.1.4. The solution: The following steps show you how ..

Read more

he problem: “certbot renew” doesn’t work as nginx forwards to another service using proxy_pass The error looks something like this: Processing /etc/letsencrypt/renewal/wiki.lupsha.com.conf ——————————————————————————- Cert is due for renewal, auto-renewing… Plugins selected: Authenticator webroot, Installer None Renewing an existing certificate Performing the following challenges: http-01 challenge for wiki.lupsha.com Waiting for verification… Cleaning up challenges Attempting to ..

Read more

I recommend this: https://github.com/cubieplayer/Cubian/wiki/Install-Cubian Grab the HDMI image from http://cubian.org/downloads/ , like this one: http://cubieplayer.github.io/static_files/torrents/Cubian-nano-x1-a20-cubietruck-hdmi.img.7z.torrent Download it. Unzip it. Burn the .img file to a USB drive using Win32DiskImager: put it in the cubietruck, boot with it go through the setup, advanced, enable ssh server, save, exit Do everything here as root sudo su Check your version uname -a ..

Read more

Setup: sudo su echo “up” > /root/nasstatus.txt Mount point check is a simple empty file sitting at: /mnt/nas/file.txt If this file goes missing, we call speak.sh to say that the NAS is down. nano /root/checkSamba.sh #!/bin/bash FILE=/mnt/nas/file.txt STATUSFILE=/root/nasstatus.txt # keep track of last status NASDOWN=$(cat “$STATUSFILE”) if [ ! -f $FILE ]; then nohup /opt/settings/scripts/speak.sh ..

Read more

As the user (don’t need to be root). # one time setup:  echo “down” > xenstatus.txt checkXenSsh.sh: #!/bin/bash # one time setup: echo “down” > xenstatus.txt STATUSFILE=/home/pi/xenstatus.txt LASTSTATUS=$(cat “$STATUSFILE”) # check connection ssh -q root@xen.florida exit # status of ssh is stored in $? if [ `echo $?` = 255 ]; then nohup /opt/settings/scripts/speak.sh “zen ..

Read more

Using Ubuntu 18. Calling this service “shutdown” sudo nano /etc/systemd/system/shutdown.service Contents. Include the full path to your down.sh shell script. In this example, it’s /opt/settings/scripts/down.sh, and it calls a service using curl which then speaks to a speaker that the server is shutting down.  [Unit] Description=My shutdown [Service] Type=oneshot RemainAfterExit=true ExecStop=/opt/settings/scripts/down.sh [Install] WantedBy=multi-user.target Enable the ..

Read more

First the samba share must exist. Then, go to the linux box, and: Install cifs utils which lets you mount samba shares: Create a credentials file with the login/password to the samba share, and store this credentials file in /etc/ nano /etc/nas.credentials Enter your network share login and password in this nas.credentials file: username=mysambauser password=mysecretpassword ..

Read more

Create these 2 files because it won’t start without them: sudo touch /etc/inspircd/inspircd.motd sudo touch /etc/inspircd/inspircd.rules Edit the config: Simplified config which works: (also change: “chageme” entries and “mynamehere” entries) More setup: and make it auto start on boot: with contents: and watch the log: Also see linking servers to one another, ex: ..

Read more

Configuration: ./configure <<< “yes /home/ircuser/inspircd-3.8.1/run yes /home/ircuser/inspircd-3.8.1/run/bin yes /home/ircuser/inspircd-3.8.1/run/conf yes /home/ircuser/inspircd-3.8.1/run/data yes /home/ircuser/inspircd-3.8.1/run/logs yes /home/ircuser/inspircd-3.8.1/run/manuals yes /home/ircuser/inspircd-3.8.1/run/modules yes /home/ircuser/inspircd-3.8.1/run yes ” Mak..

Read more