Raspberry Pi EyeFi Server

I tried to ceate a Raspberry Pi as a standalone Photo catching device for multile EyeFi Cards.

Turns out that is not possible at the moment using EyeFi Mobi cards.

That is what I tried:

Hardware:

– Raspberry Pi

– EyeFi Mobi card

– Edimax USB Wifi Dongle

– Camera

Software:

– Raspian install
– https://github.com/dgrant/eyefiserver2/

Installation:

– git clone the eyefiserver2
– follow https://github.com/dgrant/eyefiserver2/wiki/Getting-Started

Starting

Start the script

sudo eyefiserver.py start /etc/eyefiserver.conf /var/log/eyefiserver.log

Check

[03/26/16 01:32PM][runEyeFi] - Eye-Fi server started listening on port 59278
tcp        0      0 0.0.0.0:59278           0.0.0.0:*               LISTEN      873/python  

Seems okay

Upload Key

The first issue was the upload key.
Connected two different eyefi cards with OSX and Windows 7 and was unable to find an upload key other then 00000000000000000000000000000000

On OSX:

/Users/$USERNAME/Library/Application Support/Eyefi/Eyefi Mobi/

But there is a SQL database in:

And you can do the following:

sqlite3 offline.db
SQLite version 
Enter ".help" for usage hints.
sqlite> SELECT o_mac_address, o_upload_key FROM o_devices;
00-11-11-11-11-11|12345678901234567890123456789012

Hm but still, using that upload key (was reducted) the eyefiserver2 did not work.

And I was unable to get a connection from my camera to my pi.

There is an issue reported in github:

https://github.com/dgrant/eyefiserver2/issues/9

That referenced the following Whitepaper:

https://www.os3.nl/_media/2013-2014/courses/ot/connor_stavros.pdf

So at the moment the problem has not been solved,an workaround would be using an Mac / Windows System, or to upgrade to the larger EyeFi Version:

Feel free to comment your solutions below.

Further reading:

Raspberry PI and Eye-Fi
http://support.photosmithapp.com/knowledgebase/articles/116903-why-do-i-see-multiple-eye-fi-card-upload-keys-ho
https://github.com/michaelbrandt/node-eyefimobiserver/blob/master/related_work/eyefi-mobi.py
http://www.ephototag.com/using-a-eye-fi-card/
https://launchpad.net/eyefi/+download
http://bazaar.launchpad.net/~jordens/eyefi/trunk/view/head:/README.rst
http://support.photosmithapp.com/knowledgebase/articles/152395-how-do-i-generate-an-eye-fi-card-upload-key
http://thewifibooth.com/article/eyefiuploadkey-x2pro/

Apple Mail quit unexpectedly

On Apple OSX the following issue is very bad to solve:

Crashed Thread:        23  -[DeliveryQueue _deliverQueuedMessages:]  Dispatch queue: NSOperationQueue 0x7fcf5eb248f0 :: NSOperation 0x7fcf62396ec0 (QOS: UTILITY)

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Encoding a malformed address (unbalanced quote or parenthesis), bad things may be about to happen.
"XYZ,'
abort() called
terminating with uncaught exception of type NSException

There are some articles how to potentially solve it with deleting settings of mail etc. but there is another solution:

– Turn the system to offline mode (turn of WiFi etc.)
– Open Mail
– Search for the email with malformated content
– delete the email
– close Mail
– Turn the system back to online mode
– start Mail again

–> Done

Hope that helped

SwissTrailBell Review

Introduction

How cool is that, riding several hundret kilometers every week including areas with people walking around it annoyes to ring a bell.
Found myself angry with people, dogs, kids etc not recognizing my bell.
SwissTrailBell simply solves a problem that no one ever considered to be important enough to be solved.

Unboxing

The swisstrailbell is delivered in a unlabeled brown carton.

Swisstrail bell box

Swisstrail bell box

Within that box is the swisstrailbell itself and a short howto in german only.

Swisstrailbell box 3

Swisstrailbell box 2

Swisstrailbell box 3

Swisstrailbell box 3

The swisstrailbell itself is black and nicely made.

Swisstrailbell

Swisstrailbell

Swisstrailbell

Swisstrailbell


(The bell was ordered via Fahrradklingel-shop, so other shops might change the boxing)

Installation

Very easy and straight forward.

Swisstrailbell on a Cyclocross bike

Swisstrailbell on a Cyclocross bike

Swisstrailbell on a MTB

Swisstrailbell on a MTB

Weight

Swisstrailbell weight

Swisstrailbell weight

The ordered version is exactly 51 g.

Volume / sound

HOW LOUD IS IT? Loud enough!

In regards to the sound, fahrradklingel-shop.de has recorded an mp3 which gives an good idea about the sound.

Usage

I got one a week ago, attached it to my road bike and tried it several times and it just rocks.

It is loud enough to warn people early, they do not over-react and it sounds nicely. It is made for off-roaders riding trails to keep the hands on the handlebar while still informing people.

Very easy to attach to nearly every bike, of course mountain bike but also road and time trial bike can be used with the swisstrailbell.

And last but not least – the swisstrailbell is beatiful, it is an eye-catcher on every bike and envious eyes are guaranteed.

Pro:

+ Ringing by itself
+ Signaled by constant ringing audibly convergence
+ High acceptance by pedestrians
+ Different colors / designs
+ Easily activated with one hand
+ Simple assembly / disassembly
+ one per group is enough

Contra:

– relatively expensive
– can by itself twisting or slipping
– on duration annoying tinkling
– the design is a matter of taste
– relatively high weight

The swisstrailbell is about 28 € and can be ordered via swisstrailbell.ch

Alternatives

If the design of the swisstrailbell is not your style, found some alternatives on Amazon (so called Bären Glocke, bear bell):

Conclussion

Very nice, unique gadget for bikers.

links

User manual (german only)
swisstrailbell facebook page
German online shop

So it is up to you, happy riding.

Fahrrad richtig fotografieren

Ducati-corse-factory-900xr-01-1280.jpg
Ducati-corse-factory-900xr-01-1280“ von Pölkkyposkisolisti (talk) – Eigenes Werk. Lizenziert unter GFDL 1.2 über Wikimedia Commons.

Die Fahrrad Fotographie ist Teil der Produktfotografie und kann insbesondere den Verkauf von Fahrrädern befördern. Neben einem Foto vom Fahrrad als ganzes sollten auch Details wie Kurbel, Schaltung, Bremse, Bremsflanken und weitere Besonderheiten, aber bei gebrauchten Rädern auch Schönheitsfehler wie Kratzer, Dellen oder Unschönheiten abgelichtet werden.

Wer sein Fahrrad verkaufen möchte, sollte dies mit einem bzw. mehreren ansprechenden Fotos zeigen können.
Um das Fahrrad möglich schon zu fotografieren, gibt es ein paar einfache „Fahrrad Foto Regeln„.

    – Fahrrad putzen
    – Dinge, die nicht verkauft werden sollen – demontieren
    – Fahrrad vor gleichmäßigem, ruhigen, einfarbigen Hintergrund ablichten
    – Fahrrad von rechts (Kettenseite) fotografieren
    – für das Foto auf die richtige Höhe gehen (Blickwinkel!)
    – Kurbel auf ca. 3 Uhr stellen
    – Kette rechts (größtes Kettenblatt + größtes Ritzel)

Mit diesen einfachen Hinweisen sollte dem ansehnlichen Bild nichts im Wege stehen, sei es Mountain Bike, Rennrad, Cross Fahrrad, Zeitfahrrad, Triathlon Rad, Fixie oder weitere Bauart.

Hinweise zur Ergänzung gerne per Kommentar.

more space on /boot required

While doing a „yum update“ this message can be displayed:

Disk Requirements: At least 10MB more space needed on the /boot

That means the /boot is running out of space.

To free up there are at least two options:

Remove kernels manually

Check out your current running Kernel using

uname -a

Check the installed kernel versions with

 yum list installed | grep kernel

And remove not used kernel versions.

Use yum-utils

install yum-util

yum install yum-utils

Remove old kernel versions

package-cleanup --oldkernels --count=2

To make it persistent to only hold two versions change the conf file of yum:

vi /etc/yum.conf
installonly_limit=5

Using INetSim to redirect a particular IP

Having a small set of systems for malware analysis is a must hve of course, I have most of my envirenment in different VMs but sometimes you need to access IPs in the normal office LAN.

Here is a setup-example before:

Notebook eth0 192.168.1.22
- Remnux (watcher)
---- eth0 NAT 10.0.3.3 <--- sitting in the "good network"
---- eth1 VM malnet 192.168.99.99
---- inetsim listening on 192.168.99.99 offering various services

- Windows victim system (malho)
---- eth0 VM malnet 192.168.99.98 default gw 192.168.99.99

That is pretty simple, if malware running on the "malho" system and trying to connect to anything, it get's catched by inetsim and packetsniffers.

But now the interesting aspect: e.g. if you have a system:

SSH server
---- eth0 192.168.1.33

That you want to access from malho (could be any other service as well)

Use the following inetsim settings:


#############################################################
# Redirect
#############################################################

#########################################
# redirect_enabled
#
# Turn connection redirection on or off.
#
# Syntax: redirect_enabled [yes|no]
#
# Default: no
#
redirect_enabled	yes


#########################################
# redirect_unknown_services
#
# Redirect connection attempts to unbound ports
# to dummy service
#
# Syntax: redirect_unknown_services [yes|no]
#
# Default: yes
#
redirect_unknown_services yes	


#########################################
# redirect_external_address
#
# IP address used as source address if INetSim
# acts as a router for redirecting packets to
# external networks.
# This option only takes effect if static rules
# for redirecting packets to external networks
# are defined (see 'redirect_static_rule' below).
#
# Syntax: redirect_external_address 
#
# Default: none
#
redirect_external_address  10.0.3.3

#########################################
# redirect_static_rule
#
# Static mappings for connection redirection.
# Note: Currently only protocols tcp, udp and icmp are supported.
#
# Syntax: redirect_static_rule tcp|udp       
#         redirect_static_rule tcp|udp           
#         redirect_static_rule tcp|udp <:port>                
#         redirect_static_rule tcp|udp <:port>                <:port>
#         redirect_static_rule icmp     
#         redirect_static_rule icmp              
#         redirect_static_rule icmp    <:icmp-type>           
#
# Default: none 
#
# Examples:
#
# WWW caching service
#redirect_static_rule	tcp             :8080			:80
#
# Submission [RFC4409]
#redirect_static_rule	tcp             :587			:25
#
# Echo-Request [RFC792]
#redirect_static_rule	icmp 10.10.10.20:echo-request	10.1.0.25
#
# Redirection based on IP address and/or port:
#redirect_static_rule	tcp	10.10.10.55:88  	 10.10.10.1:80
#redirect_static_rule	tcp	           :99  	192.168.1.1:25
#redirect_static_rule	tcp	10.10.10.20:    	 172.16.1.2:
redirect_static_rule tcp 192.168.1.33: 192.168.1.33:
redirect_static_rule icmp 192.168.1.33:echo-request 192.168.1.33

#########################################
# redirect_change_ttl
#
# Change the time-to-live header field to a random value
# in outgoing IP packets.
#
# Syntax: redirect_change_ttl [yes|no]
#
# Default: no
#
#redirect_change_ttl	yes


#########################################
# redirect_exclude_port
#
# Connections to  on this port
# are not redirected
#
# Syntax: redirect_exclude_port 
#
# Default: none
#
#redirect_exclude_port		tcp:22
#redirect_exclude_port		udp:111


#########################################
# redirect_ignore_bootp
#
# If set to 'yes', BOOTP (DHCP) broadcasts will not be redirected
# (UDP packets with source address 0.0.0.0, port 68 and
# destination address 255.255.255.255, port 67 or vice versa)
#
# Syntax: redirect_ignore_bootp [yes|no]
#
# Default: no
#
#redirect_ignore_bootp		yes


#########################################
# redirect_ignore_netbios
#
# If set to 'yes', NetBIOS broadcasts will not be redirected
# (UDP packets with source/destination port 137/138
# and destination address x.x.x.255 on the local network)
#
# Syntax: redirect_ignore_netbios [yes|no]
#
# Default: no
#
#redirect_ignore_netbios	yes


#########################################
# redirect_icmp_timestamp
#
# If set to 'ms', ICMP Timestamp requests will be answered
# with number of milliseconds since midnight UTC according
# to faketime.
# If set to 'sec', ICMP Timestamp requests will be answered
# with number of seconds since epoch (high order bit of the
# timestamp will be set to indicate non-standard value).
# Setting to 'no' disables manipulation of ICMP Timestamp
# requests.
#
# Syntax: redirect_icmp_timestamp [ms|sec|no]
#
# Default: ms
#
#redirect_icmp_timestamp	sec

--> you can now ping and ssh from malho to 192.168.1.

Another handy thing is you can also hide your local ip:

 redirect_static_rule icmp 1.2.3.4:echo-request 192.168.1.33

--> you can now ping and whatever from malho using 1.2.3.4 and the malho will not get the actual IP.