Das DIY Smartphon ist fertig 
27.01.19, 16:27 - Linux


Mein Jüngster und ich haben am Samstag Abend das LEGO® Telefon fertig gebaut. Ich ermutige alle die Interesse an so etwas haben, ruhig mal mit der Software zu spielen, denn ich bin zur Meinung gekommen, dass die sogenannten Softphones (IP Telefone) das normale GSM / UMTS whatsoever Netz verdrängen werden. LTE Telefonie funktioniert wenn ich mich nicht irre, genau so. Der Vorteil: ich habe immer ein und die selbe Nummer, egal an welchem Rechner oder Smartphone ich bin, überall auf der Erde. Alles was ich brauche ist eine Internetverbindung.

Die Technik:
Ich verwende einen Raspberry Pi mit aufgesetztem Touchdisplay, Soundkarte (da der Rpi kein Audio-in hat) und Akku. Um erreichbar zu bleiben, habe ich mir einen LTE Hotspot gegönnt (gebraucht 35,-). Jedes andere WLAN geht auch.



Auf dem Rechner läuft Linux, als Telefonie Software sind "ekiga" oder "twinkle" im Einsatz. Beide funktionieren, beide haben Vor- und Nachteile, laufen aber out of the Box.
Der Anbieter der Telefonnummer ist sipgate. Der Basisanschluß ist kostenlos, gezahlt werden nur die Verbindungsgebühren.

Wie funktioniert das? Der Kommunikationsdienstleister vermittelt zwischen Internet und Fernmeldenetz. Also ähnlich wie z.B. bei Skype, allerdings habe ich eine feste Ortnetznummer.

Kann man nicht einfach ein iPhone benutzen? Ist doch leichter, kleiner und hat nur Vorteile?
Jo, aber ich kanns halt. Und langfristig will ich dieses Zuckerberg / Jobs / Google Gedööns los werden. Noch kann ich nicht auf den Rotz verzichten, wenn ich Teil dieser Gesellschaft sein möchte.

Ausserdem laufen auf dem kleinen Raspberry noch feine andere Programme, die es im Jobs Universum nicht gibt: eine schöne Shell, GnuPG, Libreoffice, Firefox und vieles mehr.



Jaaaaaa, es ist nicht alles rosa: Das Display ist verdammt klein, ich habe keine Kamera installiert, und der Akku hält nicht unbegrenzt. Aber mir hat sich eine Tür geöffnet. Ich sehe die Alternative. Und die wird ein Mini Rechner mit sparsamem Prozessor, vollwertiger Linux Distri sein, mit Softphon. Alles was man braucht. Das GPD2 z.B. kostet 700 €, ein neues Eifon fast das Doppelte.

Ich sehe sagte der Blinde.

so long,
webdoktor

LEGO® ist eine Marke der LEGO Gruppe, durch die die vorliegende Webseite jedoch weder gesponsert noch autorisiert oder unterstützt wird

P.S. Ein bischen Code nach dem
weiterlesen

Das Erste was fehlte war eine Touchtastatur, bzw. ein Touch Numpad zum Wählen der Telefonnummern.
Die Lösung heisse "xvkbd", ein Virtuelles, skalierbares, umbaubares on-screen Keyboard. Um es zu starten kann man in der Konsole den Befehl "xvkbd -keypad" eingeben. Es ist als Paket in Raspbian installierbar.
Ich habe eine Desktop Verknüpfung angelegt, da ich ja nur den Eingabestift zur Verfügung habe und somit nicht auf einer Tastatur tippen kann wenn ich unterwegs bin, bis die virtuelle Tastatur gestartet ist.

Anschließend habe ich mir die Knöpfe des LCDisplays vorgenommn. An der Seite sind 3 kleine SMD Taster, die direkt auf die Pinleiste des Rpi führen und Aktionen auslösen können. Ich spreche diese stromsparend mit Python an:
import RPi.GPIO as GPIO
import subprocess
import time
GPIO.setmode(GPIO.BOARD)

GPIO.setup(12, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(16, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP)

while True:
# please pull not all the time, just 10 times a sec.
time.sleep(0.1)

if(GPIO.input(12) == 0):
subprocess.Popen('/home/pi/keypad', shell=True)
time.sleep(0.5)
# hold on buffer to open a program only once
if(GPIO.input(16) == 0):
subprocess.Popen('/usr/bin/twinkle')
time.sleep(0.5)
if(GPIO.input(18) == 0):
subprocess.Popen("vba /home/pi/gb/tetris.gb", shell=True)
# jaaaa, ich liebe den game boy
time.sleep(0.5)
GPIO.cleanup()


Damit das ganz von alleine startet wird erst eine kleines Script geschrieben, welches den Befehl
python /home/pi/knopf.py &
ausführt und dieses Script anschliessend mit einem knopf.desktop Eintrag im Verzeichniss ~/.config/autostart verlinkt, damit es bei Systemstart automatisch löppt:

[Desktop Entry]
Name=Knopfscript
Type=Application
Exec=/home/pi/knopf.sh
Terminal=false


Als letzten Hinweis spricht der Zocker in mir: Ich liebe den Game Boy. und was liegt näher als einen Emu zu installieren. vba ist ausreichend schnell und läuft flüssig, allerdings nicht mit dem Startmenü eintrag, sondern nur auf Konsolenebene mit der --fullscreen option .... Wichtig: in der configdatei /etc/Virtualgameboy.cfg muss die skalierung aus 1x umgestellt werden, sonst passt der fullscreen nicht auf das 320x240 Display.

Als allerletztes noch etwas, das mich länger aufgehalten hat als nötig:
Die USB Soundkarte wird als zweites angezogen. Dumme Programme nutzen aber, egal was in den Audiopreferenzen von LXDE steht immer die erste Karte, also hier die im Pi verbaute. Schaltet die onboard Soundkarte ab, um Spass zu haben:
in der Datei /boot/config.txt kommentiert den Passus
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on

aus und setzt
dtparam=audio=off
drunter... dann is ruh, es gibt fortan nur noch die eine Soundkarte.

Das Projekt ist fertig
Ich habe alles eingebaut, was ich für spannend halte. Es ist ziemlich praktikabel, vielleicht wäre noch eine Möglichkeit der externen Stromzufuhr und eine größere Powerbank angebracht.

Es wurde gezeigt, dass es kein Hexenwerk ist, auf freier Software basiert und viele Vorteile hat (aber als Prototyp auch Nachteile).


Kommentare

Kommentar hinzufügen
nocomments