Skip to content

Instantly share code, notes, and snippets.

@simonjenny
simonjenny / phone.py
Last active December 20, 2021 10:51
Fairytale Phone
#!/usr/bin/python3
import RPi.GPIO as GPIO
import math, sys, os
import subprocess
import socket
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
@simonjenny
simonjenny / create-a-pi
Last active January 9, 2020 12:07
Create-A-Pi
#!/bin/bash
command -v pv >/dev/null 2>&1 || { echo "Dieses Script benötigt das Programm pv." >&2; exit 1; }
# Shell Script for creating a pi sd card iwth the latest Rasbian
# Author <simon.jenny@me.com> Simon Jenny
#
# -------------------------------------------
if [ "$1" == "" ]; then
echo "Drive Folder Parameter missing!"
echo "Usage : create-a-pi DRIVE (eg /dev/disk2)"
echo "Here are all your mounted drives:"
@simonjenny
simonjenny / phone
Created January 19, 2018 09:14
Fairytale Phone - Next Thing Co C.H.I.P Version
#!/usr/bin/python
import CHIP_IO.GPIO as GPIO
import math, sys, os
import subprocess
import socket
GPIO.setup("XIO-P7", GPIO.IN);
GPIO.setup("XIO-P6", GPIO.IN);
@simonjenny
simonjenny / lego.sh
Last active January 9, 2020 12:06
Find Lego building instructions by set number from the command line and open the PDF in the default browser
#!/usr/bin/env bash
ARRAY=()
var=1
rows=$(curl --silent "https://www.lego.com//service/biservice/search?fromIndex=0&locale=en-US&onlyAlternatives=false&prefixText=${1}"|jq -r '.products[0].buildingInstructions[].pdfLocation')
for row in $rows;
do
ARRAY+=(${row})
echo "$((var++)). ${row}"
done
echo -ne "Welche Anleitung soll ich öffnen? "
@simonjenny
simonjenny / igit
Created March 13, 2019 14:13
Git all in one..
#!/bin/bash
if [ -z "$1" ]
then
echo "Commit Reason is empty"
exit 0
fi
~/Development/./clean.sh
git add .
git commit -m "$1"
git push
@simonjenny
simonjenny / slideshow.py
Last active May 18, 2023 14:52
Slideshow for Raspberry Pi (or any other Python capable OS)
# -*- coding: utf-8 -*-
import os, pygame, random
pygame.init()
pygame.mouse.set_visible(False)
BACKGROUND = (0,0,0)
INTERVAL = os.getenv('INTERVAL', 60)
IMAGEFOLDER = os.getenv('IMAGEFOLDER', 'images')
@simonjenny
simonjenny / rover.py
Created January 9, 2020 10:06
WiiMote Remote for ExplorerHat
import explorerhat, time, random
import RPi.GPIO as GPIO
import cwiid
import os
import sys
speed = 50
wii_connected = False
def connect_wii():
@simonjenny
simonjenny / rover.py
Created January 9, 2020 10:08
Autonomous Rover and Wiimote Control for ExplorerHat
import explorerhat, time, random
import RPi.GPIO as GPIO
import cwiid
mode = 0
back = explorerhat.analog.three
front = explorerhat.analog.four
speed = 50
wii_connected = False
@simonjenny
simonjenny / c64.py
Last active August 20, 2021 06:24
Commodore C64 Style Dashboard
# -*- coding: utf-8 -*-
# Download c64 Font : https://www.ffonts.net/Pet-Me-64.font
# Install Efa : https://simonjenny.dev/efa
# STATION="Allschwil, zum Sporn" python c64.py
import time, os, pygame, subprocess
from datetime import datetime
STATION = os.getenv('STATION', 'Basel, Marktplatz')
@simonjenny
simonjenny / dl.sh
Created February 27, 2020 12:35
Download all Videos in Youtube Playlist as Music Files
#!/bin/bash
/usr/bin/youtube-dl -i -f 'bestaudio[ext=m4a]' --write-thumbnail --embed-thumbnail \
--metadata-from-title "%(title)s" \
--metadata-from-title "%(artist)s" \
--output '/%(playlist_title)s/%(title)s/%(title)s.%(ext)s' \
--download-archive "$1.txt" \
--write-info-json \
-q https://www.youtube.com/playlist?list=$1