...was an easy task: some sanding and drilling and some of my dried plants...
Mittwoch, 28. September 2016
in autumn some #wood work would work
This spring I've found this piece of wood while cycling through the woods and as autum has come, I thought it would be nice to make something out of wood which would fit into my house.
Samstag, 9. April 2016
Renewed my Dremel's batteries -
For some time now my beloved Dremel had some battery problems. I could work with it for something like 5 minutes which is way to little.
So today I tried to open up the battery pack which was the easiest part. Then I bought some NiMH batteries with those little flags for soldering onto them, because it's hard to solder any wires directly to a battery pole.
So today I tried to open up the battery pack which was the easiest part. Then I bought some NiMH batteries with those little flags for soldering onto them, because it's hard to solder any wires directly to a battery pole.
Those eneloops are NiMH, the original batteries might have been NiCd so the charger might overcharge the eneloops... have to unplug them before... not perfect but hopefully it will work.
Mittwoch, 6. April 2016
google earth moved my car
since last summer I can't park in front of my house anymore. That's why my car stands out of town and I think that's why google updated their google earth pictures to show the actual position of my good old van.
Mittwoch, 30. März 2016
An early project
Found this note last weekend in the desk of my childhood when I was looking for a small screw to get my mums sewing machine working again. I was always harvesting screws and stuff ... Besides the screw I found those mics and speakers of old telephones which I have used to built a communication device in the late 80s.
Back then you were able to repair a telephone. Microphone and speaker could be easily replaced.., no soldering required.
Montag, 15. Februar 2016
Part 5: install #pilight on your #pi and controll your lightswitches
TinkerTable switches on and off one of my lights in my flat when I come home or leave home (using IFTTT and geofences and pilight and a python script. And it provides a nice website to switch my lights on and off using my mobile.
# pilight
https://www.pilight.org/get-started/installation/
run as sudo:
sudo su
add the apt to the repository:
nano /etc/apt/sources.list
add this line:
deb https://apt.pilight.org/ stable main
you'll need a key:
wget -O - https://apt.pilight.org/pilight.key | apt-key add -
now update the apt package list
apt-get update
this produced an error so I first installed that driver:
sudo apt-get install apt-transport-https
and again:
apt-get update
and install pilight
apt-get install pilight
Pilight will start itself at boot time
YEAH!
a good guide to pilight in german:
https://raspberry.tips/hausautomatisierung/raspberry-pi-pilight-mit-433mhz-modulen-zur-hausautomatisierung/
you've got to make some changes to the config json file (in the older pilight version there where extra files for hardware and config and settings)
https://wiki.pilight.org/doku.php/config
stop pilight before editing the file:
sudo service pilight stop
you can start it with
sudo service pilight start
the config.json looks like
{
"devices": {
"living": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 0,
"unit": 0
}],
"state": "off"
},
"kitchen": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 2,
"unit": 0
}],
"state": "off"
},
"corridor": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 1,
"unit": 0
}],
"state": "on"
},
"bedroom": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 0,
"unit": 3
}],
"state": "on"
}
},
"rules": {},
"gui": {
"living": {
"name": "Wohnzimmer",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"kitchen": {
"name": "Kueche",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"corridor": {
"name": "Flur",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"bedroom": {
"name": "TinkerTable",
"group": [ "janhimself" ],
"media": [ "all" ]
}
},
"settings": {
"log-level": 6,
"pid-file": "/var/run/pilight.pid",
"log-file": "/var/log/pilight.log",
"webserver-enable": 1,
"webserver-root": "/usr/local/share/pilight/",
"webserver-http-port": 5001,
"webserver-cache": 1
},
"hardware": {
"433gpio": {
"sender": 4,
"receiver": 1
}
},
"registry": {
"pilight": {
"version": {
"current": "7.0"
}
}
}
}
installing pilight:
https://www.pilight.org/get-started/installation/
run as sudo:
sudo su
add the apt to the repository:
nano /etc/apt/sources.list
add this line:
deb https://apt.pilight.org/ stable main
you'll need a key:
wget -O - https://apt.pilight.org/pilight.key | apt-key add -
now update the apt package list
apt-get update
this produced an error so I first installed that driver:
sudo apt-get install apt-transport-https
and again:
apt-get update
and install pilight
apt-get install pilight
Pilight will start itself at boot time
YEAH!
a good guide to pilight in german:
https://raspberry.tips/hausautomatisierung/raspberry-pi-pilight-mit-433mhz-modulen-zur-hausautomatisierung/
you've got to make some changes to the config json file (in the older pilight version there where extra files for hardware and config and settings)
https://wiki.pilight.org/doku.php/config
stop pilight before editing the file:
sudo service pilight stop
you can start it with
sudo service pilight start
the config.json looks like
{
"devices": {
"living": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 0,
"unit": 0
}],
"state": "off"
},
"kitchen": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 2,
"unit": 0
}],
"state": "off"
},
"corridor": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 1,
"unit": 0
}],
"state": "on"
},
"bedroom": {
"protocol": [ "intertechno_old" ],
"id": [{
"id": 0,
"unit": 3
}],
"state": "on"
}
},
"rules": {},
"gui": {
"living": {
"name": "Wohnzimmer",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"kitchen": {
"name": "Kueche",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"corridor": {
"name": "Flur",
"group": [ "janhimself" ],
"media": [ "all" ]
},
"bedroom": {
"name": "TinkerTable",
"group": [ "janhimself" ],
"media": [ "all" ]
}
},
"settings": {
"log-level": 6,
"pid-file": "/var/run/pilight.pid",
"log-file": "/var/log/pilight.log",
"webserver-enable": 1,
"webserver-root": "/usr/local/share/pilight/",
"webserver-http-port": 5001,
"webserver-cache": 1
},
"hardware": {
"433gpio": {
"sender": 4,
"receiver": 1
}
},
"registry": {
"pilight": {
"version": {
"current": "7.0"
}
}
}
}
Sonntag, 14. Februar 2016
Part 4: old printer as wireless network printer using #cups and your #raspberry pi
TinkerTable has a built in HP Deskjet 940c printer, old but reliable and with this setup it's a super useful wireless network printer:
install cups for printing
sudo apt-get install cups
give user permission to print
sudo usermod -a -G lpadmin pi
to print remotely enable:
sudo cupsctl --share-printers --remote-admin
from a browser log into your cups server: <YOURPISIP>:631/admin
add your printer to cups, (log in with your pi account) and default values in the cups management console
Install your printer on your windows pc
-->Devices and Printers--> Add Printer--> Printer isn't listed --> Select a shared printer by name--> http://<myPi IP Address>:631/printers/HPDeskjet940c
(its http NOT https)
One helpful resource was:
http://www.gaducated.com/raspberry-pi-print-and-scan-server-part-2-print-and-airprint-configuration/
One helpful resource was:
http://www.gaducated.com/raspberry-pi-print-and-scan-server-part-2-print-and-airprint-configuration/
Samstag, 13. Februar 2016
Part 3 of: one button scan to dropbox with your #raspberry pi: buttons
This is just a short one: you'll need to install the gpio stuff so that your python scripts can make use of them:
now if you don't have it already on your pi: install python
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
you need the gpio thingy to controll your pi with buttons and let some leds light up
now if you don't have it already on your pi: install python
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
you need the gpio thingy to controll your pi with buttons and let some leds light up
And you'll need some soldering...
I've added 5 LEDs and 5 Buttons and three switches (of which only one is connected to the pi)
and here's my wiring diagram :D
You'll need some resistors for the red, green and yellow LEDs and some pullup resistors for the buttons (not sure if they are called pull down resistors in my case as they connect the pins so ground while the button is open...).... pull down.... pull down resistors!
Freitag, 12. Februar 2016
Part 2 of: one button scan to dropbox with your #raspberry pi
The dropbox part ist very useful: Andrea Fabrizi's script is very easy to use. I do also use it with my timelapse projects. But first mission was to get my snailMails scanned and saved digitally:
# dropbox-Uploader
I used Andrea Fabrizis Dropbox script:
https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh
get the bash script here:
https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh
sudo apt-get install git-core
follow these steps:
https://github.com/andreafabrizi/Dropbox-Uploader
git clone: https://github.com/andreafabrizi/Dropbox-Uploader/
or just: curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
give the execution permission to the script (make sure your in the right directory)
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh
follow the steps that the script wants you to do... setting up a dropbox api and so on...
# dropbox-Uploader
I used Andrea Fabrizis Dropbox script:
https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh
get the bash script here:
https://github.com/andreafabrizi/Dropbox-Uploader/blob/master/dropbox_uploader.sh
sudo apt-get install git-core
follow these steps:
https://github.com/andreafabrizi/Dropbox-Uploader
git clone: https://github.com/andreafabrizi/Dropbox-Uploader/
or just: curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
give the execution permission to the script (make sure your in the right directory)
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh
follow the steps that the script wants you to do... setting up a dropbox api and so on...
Donnerstag, 11. Februar 2016
Part 1 of: one button scan to dropbox with your #raspberry pi
My tinkerTable works as a document management system... kind of.
That's why there's a button which starts the scanner and saves the scan to dropbox.
Here's what you need for the scanning part:
sane
make sure your scanner is supported:
http://www.sane-project.org/sane-mfgs.html
Install sane:
sudo apt-get update
sudo apt-get install sane
allow user to scan:
usermod -a pi -G scanner
this didn't work with the raspberry pi model b, but scanning worked anyhow.
check scanning:
scanimage -L
this didn't work, but I got a result using
scanimage > test.ppm
imagemagic is needed to convert images:
sudo apt-get install imagemagick
I've found lot's of help here:
http://www.gaducated.com
That's why there's a button which starts the scanner and saves the scan to dropbox.
Here's what you need for the scanning part:
sane
make sure your scanner is supported:
http://www.sane-project.org/sane-mfgs.html
Install sane:
sudo apt-get update
sudo apt-get install sane
allow user to scan:
usermod -a pi -G scanner
this didn't work with the raspberry pi model b, but scanning worked anyhow.
check scanning:
scanimage -L
this didn't work, but I got a result using
scanimage > test.ppm
imagemagic is needed to convert images:
sudo apt-get install imagemagick
I've found lot's of help here:
http://www.gaducated.com
Dienstag, 9. Februar 2016
How To prevent your pi's screen from going to sleep
If you don't want your screen to shut down try this:
sudo nano /etc/kbd/config
edit these two lines:
BLANK_TIME=0
POWERDOWN_TIME=0
and then, if you realize that this didn't work, try:
sudo nano /etc/lightdm/lightdm.conf
in the section [SeatDefault] insert this line:
xserver-command=X -s 0 dpms
(And: How To prevent yourself from going to sleep: ssh into your pi)
sudo nano /etc/kbd/config
edit these two lines:
BLANK_TIME=0
POWERDOWN_TIME=0
and then, if you realize that this didn't work, try:
sudo nano /etc/lightdm/lightdm.conf
in the section [SeatDefault] insert this line:
xserver-command=X -s 0 dpms
(And: How To prevent yourself from going to sleep: ssh into your pi)
Samstag, 5. Dezember 2015
If I would need steel? #bicyle touring
If I would need a bike next year....
But I still love to take my Stevens out into the woods. It takes me to work every day, we had fun going to The Hague together and I enjoyed even the sometimes painful ride to Copenhagen.
Samstag, 24. Oktober 2015
Market Research: Shoes & Footwear - Results & Findings
It was time to get me a pair of new shoes. As always it was a long process to find the best solution. First there are my own needs. My personal list of problems my shoes have to solve in their life is the basis. Then a thorough market research has to be made. There are thousands if not millions of models and types of shoes which have to be taken into account here! And then there are blue Vans Sk8-High...
2012-05-30:
2008-08-16:
2012-05-30:
2008-08-16:
Freitag, 23. Oktober 2015
38.224 lines of Music as txt
I like to listen to music and I like to track everything. That's why I now have 38.224 lines in a txt file representing the music I listened to over the last 22 month and it's also why most of my friends think I'm kind of weird.
Here's how:
The basic is Spotify as my streaming music service of choice. Spotify allows you to scrobble all the music you've listened to over to last.fm. You'll find that somewhere in your spotify settings.
Now to collect all this data for myself, to play around with it and get happy, I needed my own list. Using an IFTTT recipe, everytime a new 'scrobble' was made at last.fm, a line was added to a google spreadsheet. Unfortunately google somehow added a new file every 2000 lines so that I decided today to tinker all those files into one txt file and to change the IFTTT recipe to dropbox (Here's the recipe). While I'm writing this, the recipe creates a second file in dropbox too...
Here's what:
Having all those lines of pure music data as a txt file, you can easily import it into your spreadsheed.
Using a little pivot table I found out that I've been listening to 2212 different artists, Alt-J at first place, followed by Turbostaat:
My most-played song over the last 22 month was All Opportunities by Solander.
I didn't even realize that It's On is a song of both Broncho and Pins:
What I double checked is this chart: it shows songs played per day. And there are days when I listened to more than 200 songs:
By hour of day:
Now I could cluster artists by hour... or day of week ... or I could go outside, enjoy the sun, have some coffee ...
Here's how:
The basic is Spotify as my streaming music service of choice. Spotify allows you to scrobble all the music you've listened to over to last.fm. You'll find that somewhere in your spotify settings.
Now to collect all this data for myself, to play around with it and get happy, I needed my own list. Using an IFTTT recipe, everytime a new 'scrobble' was made at last.fm, a line was added to a google spreadsheet. Unfortunately google somehow added a new file every 2000 lines so that I decided today to tinker all those files into one txt file and to change the IFTTT recipe to dropbox (Here's the recipe). While I'm writing this, the recipe creates a second file in dropbox too...
Here's what:
Having all those lines of pure music data as a txt file, you can easily import it into your spreadsheed.
Using a little pivot table I found out that I've been listening to 2212 different artists, Alt-J at first place, followed by Turbostaat:
I didn't even realize that It's On is a song of both Broncho and Pins:
Donnerstag, 22. Oktober 2015
Samstag, 10. Oktober 2015
Sorting my apps...
So the first train was late and I missed the next connection. Made the most out of it and color sorted all the apps.
Sonntag, 3. Mai 2015
Maybe C*omeone is interested in this new video of @thedjangos ;)
Just found out that Django Django's new album is out now.
That will help me to survive Monday I think...
That will help me to survive Monday I think...
Sonntag, 15. März 2015
Mittwoch, 21. Januar 2015
#Raspberry Pi Timelapse project
Someone gave me a "Magic Garden" as a present this Christmas! So I headed to my local dealer to get me a Pi Cam to play around with it as I now really really had a valuable yet scientific job to do!
Here's the result:
And this is what I've done:
I cut a little slot into the pi case for the flat cable. Then I found some parts of a lamp and a lighter and a film canister - screwed and glued it together to have a solid and flexible stand for it. While writing these lines I am thinking abount some buttons to start my scripts and shutdown the device ...
Using the above mentioned tutorials I came out with two little python scripts:
(note to myself: needs some errorhandling if the dropbox upload fails)
-----------------tinkerCam.py-----------------
#! /usr/bin/env python
# taking a picture and uploading it to dropbox
# uses Andrea Fabrizis Dropbox Upload www.andreafabrizi.it
from subprocess import call
import time
import datetime
import picamera
pictureDir = '/home/pi/tinkerCam/pictures/'
ts = time.time()
fileNameShort = 'tinkerPic_' + datetime.datetime.fromtimestamp(ts).strftime('%d-%m-%y_%H-%M-%S') + '.jpg'
uploader = '/home/pi/Dropbox-Uploader/dropbox_uploader.sh'
upconfig = '/home/pi/Dropbox-Uploader/.dropbox_uploader'
camera = picamera.PiCamera()
fileName = pictureDir + fileNameShort
camera.capture(fileName)
cmd = uploader + ' -f ' + upconfig + ' upload ' + fileName + ' /tinkerCam/' + fileNameShort
call([cmd], shell = True)
#copy file to usbStick
stickDir = '/media/stick/tinkerCam/'
cmd = 'mv ' + fileName + ' ' + stickDir+fileNameShort
print cmd
#call([cmd], shell = True)
#clean up
cmd='rm ' + fileName
call([cmd], shell = True)
print 'finished'
Here's the result:
And this is what I've done:
I cut a little slot into the pi case for the flat cable. Then I found some parts of a lamp and a lighter and a film canister - screwed and glued it together to have a solid and flexible stand for it. While writing these lines I am thinking abount some buttons to start my scripts and shutdown the device ...
Next thing was to follow this tutorial to get that thing working: python-picamera-setup
As the pi runs headless through its life, I wanted it to either copy the pictures to a dropbox folder or to a usb stick plugged into the pi.
For the dropbox part I followed raspi.tv here: how-to-use-dropbox-with-raspberry-pi
Some googling helped me to find out how to mount a usb stick to my pi how-to-mount-a-usb-flash-disk-on-the-raspberry-pi Most important was to change the fstab: adding the sticks uuid and so on:
(note to myself: needs some errorhandling if the dropbox upload fails)
-----------------tinkerCam.py-----------------
#! /usr/bin/env python
# taking a picture and uploading it to dropbox
# uses Andrea Fabrizis Dropbox Upload www.andreafabrizi.it
from subprocess import call
import time
import datetime
import picamera
pictureDir = '/home/pi/tinkerCam/pictures/'
ts = time.time()
fileNameShort = 'tinkerPic_' + datetime.datetime.fromtimestamp(ts).strftime('%d-%m-%y_%H-%M-%S') + '.jpg'
uploader = '/home/pi/Dropbox-Uploader/dropbox_uploader.sh'
upconfig = '/home/pi/Dropbox-Uploader/.dropbox_uploader'
camera = picamera.PiCamera()
fileName = pictureDir + fileNameShort
camera.capture(fileName)
cmd = uploader + ' -f ' + upconfig + ' upload ' + fileName + ' /tinkerCam/' + fileNameShort
call([cmd], shell = True)
#copy file to usbStick
stickDir = '/media/stick/tinkerCam/'
cmd = 'mv ' + fileName + ' ' + stickDir+fileNameShort
print cmd
#call([cmd], shell = True)
#clean up
cmd='rm ' + fileName
call([cmd], shell = True)
print 'finished'
-----------------tinkerTimelapse.py-----------------
#! /usr/bin/env python
from subprocess import call
import time
import datetime
import picamera
uploader = '/home/pi/Dropbox-Uploader/dropbox_uploader.sh'
upconfig = '/home/pi/Dropbox-Uploader/.dropbox_uploader'
usbPath = '/media/stick/tinkerTimelapse/'
dropboxPath = '/tinkerCamTimelapse/'
tempPath = '/home/pi/tinkerCam/'
def toDropbox(fileNameShort):
cmd = uploader + ' -f ' + upconfig + ' upload ' + tempPath + fileNameShort + ' ' + dropboxPath + fileNameShort
call([cmd], shell = True)
#clean up
cmd = 'rm ' + tempPath + fileNameShort
call([cmd], shell = True)
def capturePic(frame, fileNameShort):
with picamera.PiCamera() as cam:
time.sleep(2)
picPath = tempPath + fileNameShort
print 'capturePic:', picPath
cam.capture(picPath)
def constructFileName():
ts = time.time()
fileNameShort = 'tinkerPic_' + datetime.datetime.fromtimestamp(ts).strftime('%d-%m-%y_%H-%M-%S') + '.jpg'
return fileNameShort
#user interface
picDays = raw_input('How many days will be captured?: ')
framesPerHour = raw_input('How many pictures per hour?: ')
frames = int(framesPerHour) * 24 * int(picDays)
saveTo = raw_input('Save to? [dropbox, usb]: ')
#capture images
for frame in range(frames):
start = time.time()
fileNameShort = constructFileName()
fileName = tempPath + fileNameShort
capturePic(frame, fileNameShort)
if saveTo == 'dropbox' or saveTo == 'd':
toDropbox(fileNameShort)
if saveTo == 'usb' or saveTo == 'u':
cmd = 'mv ' + tempPath + fileNameShort + ' ' + usbPath + fileNameShort
call([cmd], shell = True)
print 'Picture taken: ', frame
time.sleep(int(60 * 60 / int(framesPerHour)) - (time.time() - start))
print 'finished'
Samstag, 13. Dezember 2014
Concert: Turbostaat
Dear reader, what should I say...
6 month after giving a concert in Wiesbaden Turbostaat are back in Frankfurt with their double concert today and tomorrow.
So it was Turbostaat that made my day ... :P
6 month after giving a concert in Wiesbaden Turbostaat are back in Frankfurt with their double concert today and tomorrow.
So it was Turbostaat that made my day ... :P
Abonnieren
Posts (Atom)





















