Daytona Anima 190FD Part 01″Vorspiel“

Lange hat es (bei mir) dann doch gedauert, nun habe ich bei meinem Stammdealer zugeschlagen…
Ein Anima mit langem Getriebe und Lichtmaschine Version 2016 mit verbesserter Kupplung trudelt im nächsten Monat bei mir ein.

Mal sehen, ob und wie ich den „einbau“ hier dokumentiere – es wird auf jeden Fall ein größeres Winterprojekt nix da mit eben mal alt raus und neu rein.

Heute stellte sich ganz nebenbei raus, das die Schweisspunkte der Motorhalterungen nicht mehr ganz so hybsch sind, wie Sie es mal waren. Auf Hochdeutsch, die Schweisspünktchen der oberen Motorhalterung auf der Antriebsseite sind lecker durchgebrochen.
Stimmt an dem Rahmen hab ich damals nix nachgeschweisst, nur an dem verunfallten Vorgänger.
Diesmal (ich überlege noch wie genau) wird die linke Motorhalterung aber nicht mehr nur nachgeschweißt, sondern nach aussen verlängert.

Es wird spannend und sicherlich geht eine Menge Hartgeld auf Wanderschaft.

Mit meiner damaligen pi*daumen Kalkulation lag ich gar nicht so daneben. Bis so ein Anima 190 komplett ist wechselt Währung im 2kilo Bereich den Besitzer.

bpmcounter.sh Beats per minute

Meine Audiodateien liegen auf einem Debian System und ich stand vor der Thematik das TBPM Tag meiner mp3 Dateien zu pflegen.

Nach längerer Recherche bin ich auf das Paket bpm-tools gestossen, mit dem das zählen der Beats sehr gut funktioniert.

Es würde diesen Beitrag nicht geben, wenn auch das schreiben der Tags funktionieren würde.

bpm-tag hat bei meinen Dateien (idv2.3/2.4) nicht nur das TBPM Feld beschrieben, sondern die Inhalte aller anderen (Ausnahme APIC) Tags gelöscht.

Daher der gute Rat – wer das script nutzen möchte – probiert vorher mit Kopien und nicht mit den einzigen originalen, ob es Nebenwirkungen gibt.

Die Problematik mit den gelöschten Feldern und der Tatsache, dass bpm-tag (nicht der spezifikation entsprechend) kommawerte in die Tags schreibt habe ich also mit dem folgenden Script/wrapper gelöst.

Aus den anderen Beiträgen weiß ich um die Problematik der Zeilenumbrüche – daher das Script als gezipter Anhang.

Folgende Pakete werden (mindestens) vorausgesetzt:


python
eyeD3
sudo apt-get install sox
sudo apt-get install lame
sudo apt-get install libsox-fmt-mp3
sudo apt-get install bpm-tools

Auch wenn es anders in der Hilfe von bpm-tag beschrieben ist – die beiden Schalter bpm-tag -f -n sind nötig, damit bpm-tag nur die bpm zählt und nicht in den Tag schreibt.

Da das zählen etwas Zeitaufwendig ist, wird zuerst mittels eyeD3 nachgesehen, ob das TBPM Feld beschrieben ist, bevor die bpm gezählt werden.
EyeD3 nutze ich (und damit der Wrapper/ das Script) auch zum schreiben der Tags.

Das Script geht rekursiv durch alle Unterordner.
Wem das Script gefällt, sollte den untenstehenden Anhang benutzen und nicht via copy & paste die Zeilen übernehmen, da alle Browser die Zeilen parsen und verarbeiten.


#!/bin/bash

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
VERSION=0.1

if (( $# < 1 )) ; then
cd "$1"
fi

header() {
# echo ----------------------------------------------------------
echo bpm.sh - adding bpm tag, version $VERSION
echo ----------------------------------------------------------
echo -ne "\n"
}

check_bpm-tools() {
local bpmtagok=$(which bpm-tag)
if [ -z "$bpmtagok" ]; then
echo "you need bpm-tag to run this script"
echo "apt-get install bpm-tools"
exit 1
fi
# checking for eyeD3 ...
local eyed3ok=$(which eyeD3)

if [ -z "$eyed3ok" ]; then
echo "you need eyeD3 (http://eyed3.nicfit.net/) to run this script"
exit 1
fi
}
echo " all tools found."

header
while [ "$1" ]; do
case $1 in
-v) exit 0;;
-c) check_bpm-tools; exit 0;;
-i) cover_img; exit 0;;
esac
shift
done

for d in */ ; do
echo cleaning up $d
cd "$d"
for file in $(find -iname '*.mp3' | sort); do
echo checking "$file"
bpmset=$(eyeD3 "$file" |grep BPM |cut -f2 -d':'|cut -f2 -d ' ')
if [ -z "$bpmset" ]; then
echo -n "no bpm tag "
bpm=$(bpm-tag -f -n "$file" 2>&1 | cut -f2 -d':' | cut -f1 -d '.')
echo "- set bpm to$bpm"
eyeD3 --preserve-file-times "$file" --bpm=$bpm &> /dev/null
else
echo bpm tag is set to $bpmset
fi
echo -ne "\n"
done
cd ..
done
IFS=$SAVEIFS

bpmcounter.sh

Playercheck.sh

Triodes Squeeliteplayer hat ein kleineres Problem, wenn längere Zeit kein Stream gesendet wird. Daher habe ich diesen Workaround geschrieben, der mittels netcat-traditional den LMS Server ausliesst und die Player bei Bedarf ausschaltet.

Werden danach Tracks an den Player gesendet, schaltet dieser sich automatisch wieder ein (LMS standard).

  • chmod +x nicht vergessen 😉

Leider werden die Einrückungen (Tabs) aus dem Script hier nicht übernommen 🙁


#!/bin/bash
## check if any player is playing
## and restart squeezelite if timetoplay is equal on both checks
##vars
port=9090
server=localhost

# use a fresh logfile
mv /tmp/playercheck.log /tmp/playercheck.txt
echo "$(date)">/tmp/playercheck.log
sensors|grep 'Core 0' |awk '{print $3}'|cut -b2,3,4,5,7>>/tmp/playercheck.log

# get number of known players
players=$(printf "player count ?\nexit\n" | nc $server $port | cut -d ' ' -f 3)

## check all known players
for((i=0; i<$players; i++))
do
playerID=$(printf "player id $i ?\nexit\n" | nc $server $port | cut -d ' ' -f 4 | sed 's/%/%%/g')
playermodel=$(printf "player model $i ? \nexit\n" | nc 127.0.0.1 9090 |cut -d ' ' -f 3)

if [ !$playermodel = squeezelite ]
   then
echo Player Nr. $i is not a squeezelite Session>>/tmp/playercheck.log
else
playername=$(printf "$playerID name ?\nexit\n" | nc $server $port | cut -d ' ' -f 3)
playermode=$(printf "$playerID mode ? \nexit\n" | nc 127.0.0.1 9090 |cut -d ' ' -f 3)
if [ $playermode = pause ]
then
grep $playername:$playermode /tmp/playercheck.txt && printf "$playerID power 0 \nexit\n" | nc $server $port
echo $playername:$playermode>>/tmp/playercheck.log
else
timetoplay1=$(printf "$playerID time ?\nexit\n" | nc $server $port | cut -d ' ' -f 3)
echo "$playername:Playtime:$timetoplay1">>/tmp/playercheck.log
timetoplay2=$(printf "$playerID time ?\nexit\n" | nc $server $port | cut -d ' ' -f 3)
if [ $timetoplay1 = $timetoplay2 ]
then
echo no difference between 1st and 2.nd check
timetoplay3=$(printf "$playerID time ?\nexit\n" | nc $server $port | cut -d ' ' -f 3)
if [ $timetoplay1 = $timetoplay3 ]
then
printf "$playerID power 0 \nexit\n" | nc $server $port
fi
else
echo "$playername is playing nothing 2do 4me">>/tmp/playercheck.log
fi
fi
fi
done

Raspi und Edimax EW-7811Un

Beim Versuch einen  Edimax EW-7811Un mit dem Pi zu verheiraten hab ich „mal eben“ 4 Stunden verballert..
Hatte ich via eth0 eine Verbindung zum Router, funktionierte auch das Wlan?
Dabei hatte ich dann so vielsagende Meldungen wie: „ifup wlan0 ioctl[SIOCSIWAP]: Operation not permitted“ bekommen.

Die dazugehörige /etc/network/interfaces sieht so aus:

## loopback
auto lo
iface lo inet loopback

## wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "Acesspoint ssid"
wpa-psk "passphraseimklartext"
dns-nameservers ip.des.routers

## eth0
iface eth0 inet dhcp

Also bis auf das Wlan0 zuerst, dann eth0 eigentlich ganz normal – trotzdem lief es erst nach Trick 17.
Zwei Scripte lösten das ganze Problem. Auch wenn der Edimax sich mit ID 7392:7811 meldet, diesmal keine udev Regel.

joe /etc/network/if-down.d/start.wlan
#!/bin/sh
# lo is configured aint nobody got time for that
[ "$IFACE" = lo ] && exit 0

# Only run from ifdown
[ "$MODE" != stop ] && exit 0

# start wlan0 interface
/sbin/ifup wlan0
exit 0

Nicht vergessen – das Script muss auch ausführbar sein.

chmod +x /etc/network/if-down.d/start.wlan

Und noch eines für den anderen Fall:
joe /etc/network/if-up.d/stop.wlan
#!/bin/sh
# lo is configured aint nobody got time for that
[ "$IFACE" = lo ] && exit 0
# Only run from ifup
[ "$MODE" != start ] && exit 0
# stop wlan0 interface
/sbin/ifdown wlan0
exit 0

chmod +x/etc/network/if-up.d/stop.wlan

squeezelitechecker.sh

Ich benutze squeezelite unter Debian und hab (bin wohl nicht ganz alleine damit) ein paar Probleme, wenn squeezelite ein paar minuten/Stunden nur auf einen Stream wartet und nichts abspielt.

Dann stürzt es einfach ab.

Dieses Script war im Betastatus, die elegantere Variante findet sich Hier
und auch im slimdevices Forum

Rasbpi meets Mini

„meine“ beiden Hobbys auf einem BildTisch 🙂

Der Raspberry Pi ist der „innoffizielle Nachfolger“ des Sinclair ZX81, so einen hatte ich (als Bausatz) in ganz jungen Jahren – der Modellmini steht stellvertretend für meine beiden großen, die ich knapp ein Jahrzehnt später gekauft, restauriert/modifiziert und immer noch im Besitz habe. Aber warum sind die nun zusammen auf einem Bild?

Ein Pi und ein Modellmini
Ein Pi und ein Modellmini

Ganz einfach, wurde der ZX-81 Bausatz mit einem Gehäuse ausgeliefert, der Pi kommt „ohne“….

hobbys_fitting_test
Ein Pi in einem Modellmini

Wenn sich die beiden im echten Leben nicht vertragen (ok – der Mini hat seit ~20 Jahren eine optoelektronische Zündung) als Miniaturen vertragen sich die beiden als Modelle ganz gut.

sitz passt wackelt (nicht) und hat Luft
sitz passt wackelt (nicht) und hat Luft

Ein erster Funktionstest – noch ohne Seiten & Heckscheibe – funktionierte ganz gut.
Ich brauche „nur“ noch einen Wlanstick mit Antenne, denn die Mini Karosse ist aus Zink – da kommt nicht viel rein/raus.

Leider ist die Heckklappe (Zugang für das externe Handschuhfach beim echten Mini) hier nur angedeutet, da werde ich wohl  einen Abdruck des Hecks machen, die Klappe im Mini aussägen und falls ich zu viel feilen muß (und damit englische Spaltmasse herauskommen) wohl nachbauen um sowohl an die USB Ports zu kommen ohne das dass Modell zu sehr darunter leiden muss.

In wie weit ich das Interieur verändern muß um es wieder montieren zu können, muss ich noch herausfinden.
Nachtrag: Der Pi hatte nach Feindkontakt mit einem Blödkolben nur noch seine USB Buchse. Bis auf die beiden herausgeführten Kabel ist der Modellmini unscheinbar geblieben und hat sein Interieur behalten 😉
ein paar Glasfasern (überbleibsel von der Neuverkabelung meines Arbeitgebers) hab ich schon gekürzt und damit werden die LEDs vom Pi an üblichen Stellen wie Blinker herausgeführt. Die LEDs leuchten zu schwach um die
Blinker anzusteuern (ohne LAN blinkt er eh nicht mehr)

Der Pi läuft Headless (nur via putty) und über udev Regeln.
Steckt ein DAC drin startet squeezelite, ein Softwareplayer für den Logitechmediaserver.
Ist eine Webcam mit Ihm verbunden, startet mjpg-streamer.
Die Webcam (eine Logitech C210) wird noch zerlegt, bekommt einen Schalter an die +5V Strecke und die Optik wird anstelle eines Hauptscheinwerfers montiert, denn Haupteinsatz des kleinen Rackers ist die Heimautomation, nicht die überwachung unserer Bude oder der Bewohner.

Das ist eine der udev regeln: (Logitech C210 Webcam) Bitte daran denken, dass sind zwei Zeilen, die jeweils mit ACTION beginnen und müssen auch (eine Befehlskette – eine Zeile) so übernomen werden.

/etc/udev/rules.d/70-usb-cam.rules
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="0819", RUN+="/usr/local/bin/mjpg-streamer.sh start"
ACTION=="remove", SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="0819", RUN+="/usr/local/bin/mjpg-streamer.sh stop"

Raspberry Bilderrahmen

Die 1.024 Neuauflage der Idee, einen Raspberry mit einem digitalen Bilderrahmen zu vereinen… (oder doch nicht?)

Man(n) nehme einen Raspberry und einen Bilderrahmen – so weit so alt die Thematik, aber diesmal wird alles anders.

Anstatt wie im anderen Projekt den Pi unsichtbar zu verstecken wird dieser diesmal „offensichtlich“ versteckt 😉

Sowas hatte ich vor gefühlten 20 Jahren schon mal gemacht, mir ging der damalige Kabelverhau von TAE Dose zu DSL Konverter zu DSL Modem (und so weiter) so tierisch auf den senkel, dass ich das ganze mal auf ein gerahmtes Holzbrett als funktionierendes beschriftetes Schaubild an die Wand gehängt hatte. Damals haben fast alle Freunde zuerst das Kunstwerk angesehen, sich dann (meistens) schmuzelnd über die kranke Kunst ausgelassen, aber das es sich dabei um tatsächlich funktionierende Technik handelte dauerte immer etwas länger 😉
Ok – damals war ich wirklich „krank“ – die ganzen Kabel unterputz in Leerrohren verlegt und das in einer Mietswohnung – würd ich heute nieeeeee mehr machen…

Dieser wird wohl nach ausgiebiger Väterlicher Testphase im Kinderzimmer als „Conni mit der Schleife im Haar Spüler in der Endlosschleife“ enden 😉

Zurück zum Thema:
Fast Ideal ist der Bilderrahmen Ribba von Ikea – Kostenpunkt fümpf maak T€uro – hat aber leider ein Echtglas.

Ikea Bilderrahmen ribba
Ikea Bilderrahmen ribba

Ausser dem Rahmen brauchts noch 2 M3 Schrauben in ~30 mm länge (ich hab erstmal 40 mm genommen – immer frei nach dem Motto schon 3* abgesägt und immer noch zu kurz) und wers mag noch ein paar Kupfer Hutmuttern.

Der Pi läuft als squeezelite Player ein vcgencmd measure_temp liefert im laufenden Betrieb (ohne Kühlkörper und oder Lüftungslöcher im Rahmen in beheizter Umgebung) zwischen 42.8’C und 46.4’C. Währen einer ssh Session steigt die Temperatur etwas an – aber als reiner Softwareplayer passt das.

Was noch auf der 2do Liste stehtand:
Wlan ist etwas eingeschränkt (gegenüber offen ~5 Meter weniger – also in der Wohnung knapp die Hälfte der vorher möglichen Distanz verloren) – wird entweder

  • über ein Plexiglasscheibe
  • über einen Wlan Adapter mit externer Antenne
  • verlegen eines USB Ports nach „aussen“

oder durch Idee #4 gelöst.

Ein 20*4 Zeichen HD44780 kompatibles Display mit blauen LEDs (hat leider bisher den Weg noch nicht zu mir gefunden – geistert seit Wochen durch die div. Packetstationen). Wenn vorhanden (und montiert) gibts ein Update.
Jedoch bin ich mir noch nicht sicher, wie sich das Display und die höhere Prozessorlast um es mit aktuellen Daten zu füttern auf das unbelüftete Gehäuse auswirkt. Vielleicht muß ich dann einen Rahmen um das Passepartout bauen, um die beiden thermisch voneinander zu trennen.
Auch bin ich mir noch nicht ganz sicher, ob ich das Display sichtbar über die Steckleisten der GPIOs oder auf der Rückseite der Platine unsichtbar…

  • evtl ein zweiter identischer Bilderrahmen und die Boxen Lautsprecher noch „hybsch“ zu verstecken. (Ohne Witz – die Soundbar hat gute Küchenradio qualität und ist auch ohne zusätzliche Stromversorgung direkt am Pi betrieben ziemlich laut)

Als Bauteile habe ich bisher diese verwendet:

  • Ikea RIBBA Bilderrahmen
  • Raspberry Pi Rev2 512
  • Raspbian (/var/log und /tmp auf Ramdisk gemountet) auf einer (gekürzten) Sandisk 8 Gb
  • Squeezeliteplayer (mit ein paar Scripten)
  • Cabstone USB Soundbar (USB DAC mit 6 Watt Miniverstärker und zwei Lautsprechern)
  • EDIMAX EW-7811UN Wlan Adapter
  • „Original“ Iphone G2 Ladegerät – Sowohl das WLAN als auch der DAC ziehen kräftig – hier gilt – bloss nix sparen (ausser Ärger) und wenn nicht vorhanden – lieber im Apfelschuppen kaufen, als ohnlein.
  • 2 Schrauben M3x 40mm (gekürzt) mit Hutmuttern
  • 2 Messing Abstandshülsen mit Innen und Aussengewinde (waren früher bei jedem Leer Computergehäuse dabei)
Raspberry Bilderrahmen Fertig
einfach und schlicht
Raspberry Bilderrahmen
Raspberry Bilderrahmen

Sekundärtriebtäter

Die 18/24 er Untersetzung (1zu 1.333) hab ich nun doch getauscht 😉

Jetzt ist es eine 16/28 (1zu1.75) geworden, denn außer den Testfahrten auf dem Autobahnzubringer bin ich in den letzten 2.000 Km nur 3* wirklich auf der Schnellstrasse unterwegs gewesen und auch die Ziele wären mit einer Strecke durch die Stadt erreichbar gewesen.

Der Motor dreht nun im 4. Gang richtig aus, die Karre ist oben rum nur etwas langsamer geworden, dafür gibts wieder 2.Gang Gaswheelys (ohne Kupplungs Schnalzen, nur mit Gewichtsverschiebung).

Bis der Daytona lieferbar ist, dauerts wohl noch bis zur Winterpause und auch der hat nur 4 Gänge….

Ich hab mir vorsorglich schon mal ein paar japanische Motorrümpfe samt 5 oder 6 GangGetrieben in der Bucht besorgt – denn für Plug & Play bin ich irgendwie zu alt 😉

😉

Nachtrag: Eine Woche später…
Viel zu kurz, ständig dreht man im Übergangsbereich zwischen Neben und Hauptdüse, der erste Gang ist an der Ampel nach ~ Autolängen erreicht und der Akku(Batteriehalter) ist 1a durchgebrochenvibriert wobei letzteres „Zufall“ sein kann.
Jetzt wird mit 15,16,17/24 durchprobiert, denn 18/24 lief ja eigentlich ganz gut (bis auf hin und wieder runter in den 3. Schalten zu müssen) und wenn da nix passt, nehm ich einfach die 18 zähne vorne und nen 70er Schlappen hinten.

Die 6 Gangbox ist etwas zu lang, die würde nur mit einem komplett anderen (breiteren) Gehäuse funktionieren – evtl ist das der KLXr/XY/Daytona Anima besser geeignet…

2be continued 😉

2.000 Kilometer

Die 2.000 Kilometermarke hab ich heute geknackt, außer einem gebrochenen Kickstarter, einem abvibrierten Halter vom Scheinwerferring gibt es nix neues zu vermelden.
Allerdings waren die Ventile fast Spielfrei….
Merke:  Anstatt alle ~500 Km werden die jetzt alle ~250 Km überprüft – denn seit den letzten 500 Km werkelt eine neue Kurbelwelle und das Öl habe ich von reinem 15W40 auf 50% 15W40 und 50% Rhinzin gewechselt.
(Seitdem schaltet sich das Getriebe auch nochmal Butterweicher als vorher)

Theoretisch habe ich also veränderte 3 Faktoren, denn Kollege Zufall ist ja trotz allem immer mit dabei…

Daytona Anima 190 4v

Lange geisterten die Prototypen durch verschiedene Mopped Messen, im Juni soll er endlich zu haben sein….
[edit]
…aber das Jahr stand nicht dabei….-(
offensichtlich gabs einiges auszusortieren – jetzt (knapp 13 Monate später) ist er wohl im Handel und hat eine Decompressionseinrichtung.
Abwarten und Tee trinken
[/edit]

Der SOHC 4Ventiler von Daytona mit 187 ccm

Die Optik (Kettenspanner, Kühlrippen auf der linken Zylinderseite) und technische Daten  (M8 Stehbolzen, N-1-2-3-4 Schaltschema) sehen nach einer Kawasaki/YX Basis aus.

Grübel…

  • Einlassventile 24.5mm
  • Auslassventile 21mm
  • Hub x Bohrung 62 x 62
  • Feuerflamme mit 9er Wärmewert (ER9EH) 😉

nett“ hot 😉 wenn man bedenkt, dass der XY eine 67 mm Bohrung vertragen kann, dann ergeben sich da ganz  böse Werte (218ccm)

Von nix kommt nix, aber ein 30mm Ansaugschlund will auch einen 30er Vergaser – wo kriegt man den her (kein Thema, Kartsport und die echten Moppeds wären geeignete Organspendelieferanten) aber – wo wie bekommt man sowas drunter?

Angenommen, man glaubt den weiterern technischen Daten, dann hat das „Ding2 eine primär untersetzung von 67/18 (3.722).
  1. 34/13 (2.6153)
  2. 26/15 (1.7333)
  3. 25/21 (1.1904)
  4. 22/24 (0.9166)

Also eigentlich ganz brauchbar, auch wenn der 1 wieder meilenweit vom 2. weg ist – aber wenn man dem offiziellen Prüfstandsdaten glauben darf (leider nur die unwichtigen Hottehühs, keine Newton Angabe) glauben darf, wird es damit wohl Zeit die 420er Kette an den Nagel zu hängen und eine 428er zu nehmen.
Tja 428er ritzel kein Thema haben die Pitbiker alle, aber die fahren auch allesamt irgendwelche 4xer Kettenräder, damit fährt die Möhre dann keine 90 Sachen 🙁

Da müssen dann wieder die Karts herhalten, dort gibt es geteilte Kettenblätter bis runter auf 23 zähne 😉
Hmmmmmmmmmmmmmmmmm
Moddor   == ~ 1.200 Flocken
Versager == ~     600 Flocken
Ansaugstutzen == 2* in die Hände spucken
mit Kleinvieh <= 2k 😉
Bis zum Saisonende weiß man(n) mehr 😉
Nachtrag:
Ich hatte das „Vergnügen“, mal den 150er Anima bewegen zu können – Fazit: Nix für Vadderns Sohn, das ist ne Drehzahlorgel ohne Bumms, ok ich bin von der 62 mm Welle etwas verföhnt.
Man(n) sollte auch keine Äpfel mit Birnen vergleichen, denn Mehrspass hat man nur mit Mehr Hubraum, nicht mit mehrdrehzahl…