Showing Posts From
Networking

- 26 Mar, 2018
- 2 Min. Lesezeit
Raspberry Pi WLAN/WIFI ohne Monitor und Tastatur einrichten
Du installierst Raspbian auf einem Raspberry Pi und dieser soll sich automatisch mit deinem WLAN verbinden? Auch ohne den Raspberry Pi an einen Monitor und Tastatur anzuschließen funktioniert das. InhaltRaspbian Image auf die SD-Karte kopieren Am einfachsten lädst du dir das Programm Etcher herunter. Es ist kostenlos und für Windows, Mac OSx und Linux verfügbar. Dann benötigst du noch das Raspbian Image. Dieses kannst du hier www.raspberrypi.org herunterladen. Installiere das Raspbian Image mit Etcher auf deine SD-Karte.WLAN Passwort einrichten Um deine WLAN Zugangsdaten einzurichten, musst du eine Datei namens wpa_supplicant.conf im Heimverzeichnis (/boot) der SD-Karte erstellen. Kopiere folgenden Text in die Datei. Raspbian Stretch:ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=DEnetwork={ ssid="DEINE-SSID" psk="PASSWORT" key_mgmt=WPA-PSK } Raspbian Jessie:network={ ssid="DEINE-SSID" psk="PASSWORT" key_mgmt=WPA-PSK } Ersetze DEINE-SSID mit der SSID deines Wlan's und PASSWORT mit deinem WLAN Passwort. Du kannst auch mehrere WLAN Netzwerke vorkonfigurieren. Trage dazu in der wpa_supplicant.conf mehrere network Einträge hinzu.network={ ssid="DEINE-SSID1" psk="PASSWORT1" key_mgmt=WPA-PSK } network={ ssid="DEINE-SSID2" psk="PASSWORT2" key_mgmt=WPA-PSK }Optional: SSH aktivieren Da du deinen Raspberry Pi ohne Monitor und Tastatur (headless) betreiben möchtest, musst du dich irgendwie mit ihm über das Netzwerk verbinden. Das geschieht meistens über SSH. SSH ist aus Sicherheitsgründen standardmäßig nicht aktiviert. Du kannst SSH aber ganz einfach aktivier, indem du im Heimverzeichnis (/boot) ein leere Datei namens ssh erstellst. Hier siehst du wie die Ordnerstruktur aussehen sollte.Raspberry das erste mal hochfahren und die Netzwerkverbindung testen Jetzt kannst du die SD-Karte in den Raspberry Pi stecken und diesen an das Netzteil anschließen. Beim ersten booten, werden deine WLAN Zugangsdaten eingerichtet und die wpa_supplicant.conf Datei an die richtige stelle kopiert. Warte eins zwei Minuten nach dem einschalten. Ob der Raspberry Pi mit deinem Wlan verbunden ist kannst du mit folgendem Befehlt testen. ping raspberrypi.local Diesen Befehl gibst du in die CMD (Windows), oder Terminal (Mac OSX) ein. Hier siehst du wie ein erfolgreicher Ping-Test aussieht. Es wird dir auch gleich noch die IP Adresse deines RPI in deinem Netzwerk angezeigt. Du kannst den Test mit control+C (Mac) / Strg+C (Win) abbrechen.Alternativ kannst du zum Einrichten des WLAN auch das Tool PiBakery verwenden. Damit lassen sich auch noch viele weitere Einstellungen vornehmen. In diesem Beitrag findest du dazu mehr Informationen.

- 10 Aug, 2017
- 6 min read
Controll FHEM devices with amazon dash button
I explained in this article how you can execute IFTTT actions with the Amazon dash button. By changing a single line of code you can switch an FHEM device. How does it work? By calling a URL (HHTP Post Request) you can tell FHEM to do soemthing. This way you can switch lights on or off, open or close shutters, turn remote contrles wall plugs on or off and a lot more. The dash button is not suitable for every application as the button has a latency of 5 to 6 seconds until a FHEM device is switched. What's required:Raspberry Pi or Debian/Ubuntu Linux computer Amazon Dash Button Running FHEMHere is a sample video how a Philips Hue lamp is turned on using a Amazon dash button and FHEM. Thanks to Hagen for that video.Contents Option 1: FHEM module dash_dhcpWorks without additional software FHEM server can be connected to the network vial ethernet cable Multiple Amazon dash buttons can be embeddedUpdate your FHEM to the newest version and install the module dash_dhcp. Here is a short tutorial how you can implement a update button in the sidebar of the FHEM web interface.Determine the MAC address of your Amazon dash button. Therefore, log into your router. I have a Fritzbox where all wifi devices are listed under WLAN -> Network. For Mac the free application LanScan can be used to run a scan of your network and detemrin the respective MAC address.Open the FHEM configuration file fhem.cfg and add the following code. Replace the MAC address behind allowed with the one of your dash button. You can write multiple MAC addresses after each other if you separate them by ,. The MAC address should be written in small caps.define DashButton dash_dhcp attr DashButton allowed ac:66:be:e3:fb:fe attr DashButton port 6767 attr DashButton room dashbuttondefine n_DashButton1 notify DashButton:ac-66-be-e3-fb-fe..short IF ([YourFHEMDevice] eq "on") (set YourFHEMDevice off) ELSE (set YourFHEMDevice on) Replace in the notify command YourFHEMDevice with the name of your FHEM device that you want to switch on or off and make sure that the MAC adress is written with dashes. Don't forget to save! Multiple dash buttons can be separated by commas.attr DashButton allowed ac:66:be:e3:fb:fe,ac:66:be:e3:fa:31Now You need to forward the data from port 67 to port 6767. DHCP requests arrive always through port 67 and that port can only be accessed with root access rights. FHEM is usually started without root rights. In case your FHEM server in implemened in the network via a wifi domgle execute the following command in the terminal.sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 In case the FHEM server is implemented via a ethernet cable use the following command.sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767You should be now able to switch your FHEM device on or off with the Amazon dash button. In order to check if the dash button is recognized by FHEM you can use the Event monitor in the FHEM web interface in the left sidebar. After clicking the dash button, dash_dhcp DashButton ac-66-be-e3-fb-fe: short should appear in the monitor. The forwarding of the ports via iptables needs to be set after a restart. Install the application iptables-persistent that the fowarding is loaded automatically after a restart.sudo apt-get update && sudo apt-get install -y iptables-persistent During the installation of iptables-persistent a couple of settings need to be made. Confirm all with YES. You can now write the port forward for the dash button in the file rules.v4. sudo nano /etc/iptables/rules.v4 Add the forward before the last COMMIT. (Ethernet cable)-I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI Dongle)-I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 Exit the Nano text editor with ctrl+x and save the changes. After a restart with sudo reboot the rules.v4 file is loaded automatically and the port forwarding should work. ALTERNATIVE In case the fowarding via rules.v4 does not work, you can try this alternative option. Open the /etc/rc.local file. This file is executed during every system start.sudo nano /etc/rc.local and add the command for the forwarding before exit 0. (Ethernet cable)sudo iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767 (WIFI dongle)sudo iptables -I PREROUTING -t nat -i wlan0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767Option 2: with NodeJS and DasherFHEM Server can be connected to the network via ethernet cable Multiple Amazon dash buttons can be used Flexible as other services, such as, Zapier or IFTTT can be pinged via HTTP GET and POST Request.- Additional software is requiredAs first step the package lists need to be updated and the required applications git & libpcap-dev need to be installed. sudo apt-get update && sudo apt-get install libpcap-dev Furthermore, the current version of Node.js (v6.5.0) is required. Detailed Tutorial Add the Node.js source to your package list. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - You can now install Node.js. sudo apt-get install -y nodejsAs next step you can download and install the Node.js application "Dasher". Navigate with cd ~/ into your home folder and copy Dasher from Github. git clone https://github.com/maddox/dasher.git Navigate to the Dasher directory cd dasher Now the required programs and dependencies of Dasher need to be installed. npm installDasher requires the MAC address of your dash button which are easily found. Log into your router and have a look at the connected devices. You can also use the program "find-button" that is provided by Dasher. script/find_button Press after "find-button" was started the dash button. The program should show the MAC address. Copy the MAC address and close the program with ctrl+c on a Mac or strg+c in Windows.Now you need to adjust the URL in the Dasher config/config.json file the way you want. nano config/config.json{"buttons":[ { "name": "Dash1", "address": "ac:61:b3:e1:fa:fe", "url": "http://127.0.0.1:8083/fhem?cmd=set%20DashButton1%20toggle", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]} The IP 127.0.0.1 points always to the local computer, i.e. himself. As alternative you can write http://localhost:8083/fhem?cmd=set%20DashButton1%20toggle.Start Dasher and press the button to check if everything works. If everything is fine the terminal should show "Dash1 pressed". Dasher and your button work and FHEM can be configured. You can close the program with ctrl+c. sudo npm run startConfigure FHEM for the Dash Button Open the FHEM configuration file fhem.cfg and add the following code. Define in FHEM a Dummy for the dash button. Here is a good help for beginners.define DashButton1 dummy attr DashButton1 webCmd toggleCreate a notify that turns your FHEM device on or off. Replace YourFHEMDevice with the name of your FHEM device. Save the cfg file. In case you have closed Dasher, you can start it with sudo npm run start and press the dash button.define n_DashButton1 notify DashButton1.* IF ([YourFHEMDevice] eq "on") (set YourFHEMDevice off) ELSE (set YourFHEMDevice on) Explenation: The Dummy DashButton1 will be define n_DashButton1[name of the notify] notify[the command] DashButton1.*[in case of a change of the Dummy Reading, then] IF ([YourFHEMDevice] eq "on") [check if Reading of YourFHEMDevice is on, then] (set YourFHEMDevice off) [set YourFHEMDevice Reading to off] ELSE (set YourFHEMDevice on) [otherwise set YourFHEMDevice Reading to on] To configure the dash button to turn off multiple FHEM devices, use the following configuration. Again, replace YourFHEMDevice and YourFHEMDevice1 with your FHEM devices names. You can write as many devices as you want behind each other as long as they are separated by ;;.define n_DashButton1 notify DashButton1.* set YourFHEMDevice off;; set YourFHEMDevice1 offSet up Dasher Autostart After every system start the Dasher Programm would need to be reconfigured by hand. Set up a Init script for Dasher that the Dasher runs as a service runs in the background and is started when the system is started. Tutorial You can see here roughly the time the setup needs to react.

- 16 Dec, 2016
- 2 Min. Lesezeit
Android Things auf einem Raspberry Pi 3 installieren und WLAN einrichten
In diesem Tutorial wird erklärt wie du das IoT Betriebsystem Android Things auf einem Raspberry Pi 3 installierst, eine Verbindung mit dem ADB (Android Debug Bridge) herstellst und das WLAN am Raspberry Pi 3 einrichtest. Achtung Android Things ist ein Betriebssystem für IoT (Internet of Things) Geräte und hat keine grafische Benutzeroberfläche. Es ist vergleichbar mit Windows 10 IoT, welches eher für Hobby Entwickler gedacht ist. Android Things ist mehr für Systeme in Unternehmensbereichen gedacht. Inhalt Android Things auf einem Raspberry Pi 3 installierenLade dir das aktuelle [Android Things Image](http://Android Things) herunter und enpacke die Zip Datei.Um das Image so einfach wie möglich auf die SD-Karte zu kopieren, kannst du Etcher verwenden. Das Programm ist für Windows, Mac OSX und Linux verfügbar. Lade dir Etcher herunter und installiere es. Öffne Etcher und wähle das Android Things Image aus. Etcher wählt meist automatisch das richtige Ziel zum Kopieren des Image. Klick auf Flash! um den Schreibvorgang zu starten. Nachdem das Image erfolgreich auf die SD-Karte geschrieben wurde, kannst du die SD-Karte sicher Auswerfen.Steck die SD-Karte in dein Raspberry Pi 3, schließ ein Lan Kabel an und steck das Micro-USB Netzteil an. Android Things wird gebootet und zeigt dir die Netzwerkadesse an. adb connect IP-DES-RASPBERRY-PIADB (Android Debug Bridge) installieren Um eine Verbindung zu Android Things herzustellen, wird die Software-Schnittstelle Android Debug Bridge (ADB) verwendet. Damit kannst du auf das Android Gerät zugreifen und Befehle ausführen. Weitere Informationen findest du hier www.droidwiki.deADB (Android Debug Bridge) für Mac OSX installieren Installiere Homebrew auf deinem Mac /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Jetzt kannst du mit Hilfe von Homebrew einfach und schnell ADB installieren. brew install android-platform-toolsADB auf Linux Ubuntu +12.10 und Debian Jessie installieren sudo apt-get install android-tools-adbMit ADB eine Verbindung zum Raspberry Pi herstellen Jetzt kannst du mit ADB eine Verbindung zum Raspberry Pi und Android Things herstellen. Die IP Adresse vom Raspberry Pi siehst du auf dem Startbild von Android Things. Ersetze IP-DES-RASPBERRY-PI im Befehl. adb connect IP-DES-RASPBERRY-PIWLAN Verbindung einrichten Ersetze NETWORK-SSID und WIFI-PASSWORT mit deinen WLAN Daten.adb shell am startservice -n com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid NETWORK-SSID -e passphrase WIFI-PASSWORTDu kannst mit folgendem Befehl testen, ob du auf das Android Things Gerät per WLAN zugreifen kannst.adb shell ping IP-DES-RASPBERRY-PIMit dem Shortcut CTRL+C kannst du den Test wieder beenden.

- 07 Nov, 2016
- 5 Min. Lesezeit
Steam Box - PC Spiele auf dem Raspberry Pi mit Moonlight spielen (XBOX Controller, Nvidia Shield)
In dieser Anleitung erkläre ich dir, wie du Steam Spiele von deinem Gaming PC über WLAN/Netzwerkabel auf deinen Raspberry Pi spielen kannst. Das hat den Vorteil, dass du deine Steam Spiele auf deinem Fernseher im Wohnzimmer spielen kannst, ohne das der laute und große Gaming PC auch im Wohnzimmer stehen muss. Voraussetzungen:PC mit einer GeForce Experience kompatiblen Grafikkarte (GTX 600/700/900) oder neuerRaspberry Pi B oder Raspberry 2 mit eine laufenden Betriebsystem (z.B. Raspbian Jessie/Wheezy)High-End Wireless Router (802.11n dual-band empfohlen) oder per Netzwerkkabel verbundenZugriff auf die Kommandozeile (direkt oder via SSH) des RaspberryWer keine Lust auf das einrichten hat und die 200€ mehr einem nicht weh tun, der sollte sich das NVIDIA Shield anschauen. **Inhalt**PC Einstellungen für Moonlight Du benötigst die GeForce Experience Software. Diese wird eigentlich bei der Installation der Grafikkartentreiber mit installiert. Falls die Software noch nicht installiert ist, kannst du sie hier herunterladen (http://www.geforce.com/geforce-experience/download). Nach der Installation muss der Computer unbedingt neu gestartet werden!Moonlight auf dem Raspberry Pi installieren Als erstes musst du das Moonlight Repository zu deiner Repository Liste hinzufügen. Öffne dazu die sources.list Datei mit dem nano Texteditor sudo nano /etc/apt/sources.list und füge folgenden Text am Ende der Datei ein. deb http://archive.itimmer.nl/raspbian/moonlight jessie main Beende den Texteditor mit ctrl+x und bestätige das die Änderung gespeichert werden soll. Aktualisiere die Paketliste und installiere Moonlight. sudo apt-get update && sudo apt-get install moonlight-embeddedMoonlight Pair mit dem PC Nach der Installation von Moonlight auf dem Raspberry Pi musst du den Raspberry und den PC koppeln (pair). Dazu gibst du folgenden Befehl im Raspberry ein (Ersetze die IP mit der deines Gaming PC's). moonlight pair 192.168.178.12 Jetzt musst du den Code am Raspberry Bildschirm in deinem PC mit Steam eingeben (es müsste ein kleines Fenster aufgegangen sein) Moonlight starten Verbinde den Raspberry mit einem Fernseher/Monitor. PC und Raspberry müssen eingeschaltet sein und über WLAN oder Netzwerkkabel mit dem selben lokalen Netzwerk verbunden sein. Mit dem nachfolgendem Befehl startest du Moonlight auf dem Raspberry. moonlight stream <IP des Game PC> Bei mir sieht der Befehl wie folgt aus moonlight stream 192.168.178.12 Jetzt müsstest du auf dem PC und dem Raspberry die Steam Oberfläche sehen. Xbox Controller am Raspberry Pi anschliessen (optional) Ich benutze den XBox 360 USB am liebsten und beschreibe in diesem Abschnitt welche Einstellungen du vornehmen musst, um den XBox 360 Controller mit Moonlight zu verwenden. Dieser wird zwar standardmäßig erkannt, aber so schaltest du das nervige Blinken am Controller ab und die Steuerung verbessert sich. Entferne xpad vom Kernel Mmodul sudo modprobe -r xpad Blacklist das xpad Kernel Module. Öffne die Datei "gamepad.conf" mit dem Nano Editor. sudo nano /etc/modprobe.d/gamepad.conf und füge diesen Text ein blacklist xpad Installiere xboxdrv (Xbox360 USB Gamepad Linux Treiber). Dieser ist kompatibel mit Xbox 1, Xbox 360 USB und Xbox 360 Wireless Gamepad. sudo apt-get install xboxdrv xboxdrv soll beim hochfahren des Systems automatisch mit gestartet werden. Öffne dazu die Datei rc.local und füge folgenden Befehl am Ende ein. Beende danach den Nano Editor mit ctrl+x und bestätige die Änderung mit y. sudo nano /etc/rc.local und füge folgende Zeile vor "exit 0" ein xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --dpad-as-button --silent & INFO: Die Option --trigger-as-button besagt, dass die hinteren Wippschalter als Knöpfe fungieren. Dies ist bei Rennspielen nicht erwünscht und diese Option sollte dann weggelassen werden. Alle xboxdrv Optionen http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html Jetzt benötigt Moonlight noch eine map Datei, damit die Knöpfe vom Xbox Controller zugeordnet werden können. Erstelle zuerst einen Ordner in dem du alle Moonlight relevanten Daten abspeicherst. mkdir ~/moonlight Navigiere in den neu erstellten moonlight Ordner cd ~/moonlight und lade diese voreingestellte .map Datei herrunter. wget https://raw.githubusercontent.com/RoelofBerg/moonlightpisteambox/master/xbox.map Jetzt kannst du mit dem folgendem Befehlt Moonlight starten und lädst die .map Datei für den Xbox Controller mit. moonlight stream -mapping xbox.map Moonlight automatisch beim booten des Raspberry Pi starten Falls du nicht mehr in dem moonlight Ordner bist, navigiere dort hin. cd ~/moonlight Erstelle eine SH-Script Datei mit dem Nano Texteditor nano autostart.sh und füge folgenden Text ein. Ersetzte [IP des Game PC] mit der IP deines PC.#!/bin/bash#Wait until steam is reachable echo Verbindung zum PC wird hergestellt ... while ! nc -z -w5 [IP des Game PC] 47989 &>/dev/null; do :; done#Start moonlight echo …mit PC verbunden, starte moonlight cd ~/moonlight moonlight -mapping xbox.map stream [IP des Game PC] Mach das Script ausführbar. chmod +x autostart.sh Mit diesem Befehl kannst du testen ob dein Script funktioniert. ./autostart.sh Wenn alles funktioniert solltest du jetzt Steam auf deinem TV sehen. Begib dich zurück zur Console in dem du oben rechts auf den Ausschalten-Knopf in Steam klickst und "Big Picture verlassen" wählst. Um das Script beim hochfahren ausführen zu können, schalten wir die Passwortabfrage beim booten ab und loggen den Benutzer pi an. sudo raspi-config und wählen dann unter Punkt 3 "Boot Options" die Option B2 "Console Autologin Text console, automatically logged in as 'pi' user" (funktioniert so nur bei Raspbian Jessie). Wie du dich unter Raspbian Whezzy automatisch anmeldest wird in diesem Beitrag erklärt. Ab jetzt wird der Benutzer pi nach dem booten automatisch eingeloggt, ohne ein Passwort eingeben zu müssen. Das kannst du mit sudo reboot testen. Jetzt musst du noch das "autostart.sh" Script nach dem Anmelden ausführen lassen. Öffne die Datei profile Befehl für Jessie: sudo nano /etc/profile Befehlt für Wheezy sudo nano /etc/rc.local und füge diesen Text am Ende der Datei ein. . ~/moonlight/autostart.sh Beende den Nano Texteditor mit ctrl+x und bestätige die Änderung mit y. Nach einem Neustart solltest du jetzt automatisch eingeloggt sein und moonlight sich starten.Liste aller Moonlight Optionen/Parameter Ersetze [options] mit den gewünschten Befehlen. Du kannst mehrere benutzen, musst sie aber durch ein Leerzeichen trennen. moonlight [options] host Actions: map erstelle ein mapping file für gamepad pair Koppel dieses Gerät mit dem PC stream Stream PC zu diesem Gerät list Liste von verfügbaren Spielen und Programmen quit Beende den Stream help Zeige alle Optionen Global options: config [config] Lade eine Konfigurationsdatei save [config] Speichert eine Konfigurationsdatei Streaming options: 720 verwende 1280x720 Auflösung (standard) 1080 verwende 1920x1080 Auflösung width [width] Horizontale Auflösung (standard 1280) height [height] Vertikale Auflösung (standard 720) 30fps verwende 30fps 60fps verwende 60fps (standard) bitrate [bitrate] setze die Bitrate in Kbps packetsize [size] setze die max Paketgröße in Bytes app [app] Name einer zu streamenden App nosops GFE darf nicht die Spieleinstellungen verändern localaudio Audio lokal keydir [directory]\tLoad Verschlüsselungscode von einem Ordner laden I/O options: mapping [file] verwende [file] als Gamepad mapping Konfigurationsdatei (muss vor -input) input [device] verwende [device] als Eingabegerät. Can be used multiple times audio [device] verwende [device] als ALSA Audio Ausgabegerät (standard sysdefault) Moonlight schließen Du kannst mit dieser Tastenkombination das Moonlight Programm beenden, falls es sich mal aufhängt. Ctrl+Alt+Shift+Q