29.11.16

ip - Kurzübersicht

Wie manch anderen war mir bis vor kurzem nicht bekannt, dass die "klassischen" Befehle ifconfig, route, arp etc. deprecated sind.

ip aus der Suite iproute2 löst sie alle ab.

Anzeigen der IP Adressen


ip addr show

oder kurz auch: ip a

 Route anzeigen


ip route show

oder kurz: ip r

Default Route löschen

ip route del default via xx.xx.xx.xx

Default Route hinzufügen

ip route add default via xx.xx.xx.xx

Route für einzelne IP hinzufügen

ip route add 192.168.178.223 via 192.168.178.245 dev eth0

"ARP"


ip neighbour
oder kurz: ip n

ARP-Einträge löschen


ip neighbour delete 192.168.0.77 dev eth0

ARP-Eintrag ändern auf permanent

ip neighbour change 192.168.0.200 dev eth0 lladdr 45:43:34:34:34:54 nud permanent

Link anzeigen


ip link show eth0

Link aktivieren/deaktivieren


ip link set eth0 up/down

IP hinzufügen / löschen

ip addr add 192.168.0.5/24 broadcast + dev eth0
ip addr delete 192.168.0.5/24 dev eth0

Löschen aller IP Adressen von einem Device


ip -4 address flush label eth0

Statistiken abrufen


ip  -s -s link show eth0
ip -s neigh show

MAC Adresse ändern

ip link set eth0 address 45:45:45:45:45:45

Interfacenamen ändern

ip link set eth0 name eth20

Socket Statistics

ss -t
ss -lnt - TCP
ss -lnu -UDP
ss -ltun -beides







Node.js | Onvif auf dem RPI installieren

apt-get install npm

Dann versuchen nach dieser Anleitung vorzugehen.

Also:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt install nodejs

Fehlermeldungen:

1.  jshint nicht gefunden
2. jscs nicht gefunden
3. coffee nicht gefunden 
4. xml2js nicht gefunden
5. dot nicht gefunden
6. nimble nicht gefunden
7. istanbul nicht gefunden
8. cover nicht gefunden
9.  _mocha nicht gefunden
npm install jshint jscs coffee test-coffee-module xml2js dot nimble istanbul cover mocha




Fehlermeldung beim Installieren:
pi@pi-3:~/tmp/node_modules/onvif $ npm install jshint
npm ERR! Linux 4.1.19-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "jshint"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2

npm ERR! Cannot read property 'target' of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/tmp/node_modules/onvif/npm-debug.log

Abhilfe: Ich war in einem Verzeichnis, wo ein package.json existierte!

Dank an https://github.com/ashleygwilliams für den Hinweis!

Nach dem Installieren von onvif über npm, das Beispiel example2.js anpassen (IP, User, PW, Ports) und mit 

node example2.js 

ausführen.
 

 

21.11.16

Systemd - eigenen Service erstellen

Zunächst erstelle ich ein kleines Script in

/usr/local/bin/myscript

Darin wird testweise alle 5 Sekunden eine Zeile an den Logger (syslog) geschickt.
Damit es auch über den Service beendet werden kann, wird ein trap eingebaut.

#!/bin/bash

killit()
{
    echo "...Ende" | logger
    exit 0
}
trap killit HUP

while true; do


    sleep 5
    echo "...sleeping" | logger
done

 Ausführbar machen mit

chmod +x /usr/local/bin/myscript


Nun erstelle ich die Datei
/lib/systemd/system/myscript.service

mit folgendem Inhalt:
 [Unit]
Description=My own little script
After=network.target.

[Service]
#EnvironmentFile=
ExecStart=/usr/local/bin/myscript
ExecStop=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=myscript.service

Den Service aktivieren mit

systemctl enable myscript

Status  anzeigen lassen mit

service myscript status

Starten mit
service myscript start

Im Systemlog (/var/log/syslog) sollten nun alle 5 Sekunden neue Einträge auftauchen.
Service stoppen mit

service myscript stop

Sehr schön ist in diesem Zusammenhang das Zusammenspiel mit journalctl.

Ein

journalctl -u myscript.service listet nur die Einträge des soeben definierten Services auf.

2.11.16

Per X11 auf den RPI zugreifen

Nach einigen Mißerfolgen eine Kurzanleitung:

1. Xming Server unter Windows installieren
2. auf dem RPI unter /etc/ssh/sshd.conf => X11Forwarding yes (Standard bei  Raspbian, Ubuntu Mate)
3. auf dem Windows Rechner z.B. mit Cygwin Terminal export DISPLAY=127.0.01:0 (mit 0:0 ging es bei mir nicht)
4. ssh -Y user@rpi
5. z.B. iceweasel starten

Openhab und Ecoflow Max - API Anbindung

 Ich wollte die neu erworbene Powerstation in Openhab einbinden, um den aktuellen Status (Ladestand etc.) über Openhab auswerten zu können. ...