Posts mit dem Label Raspberry werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Raspberry werden angezeigt. Alle Posts anzeigen

26.2.19

Mount unter Raspbian - diverse Fehler

Ich hatte auf einem RPI Ubuntu laufen mit /etc/fstab:

\\192.168.178.210\Backup /media/nas/Backup cifs username=pi,passwd=[meinPW],gid=1000,uid=1000 0 0


Ein Mounten war problemlos möglich.

Auf einem anderen RPI mit Raspbian kamen immer wieder Fehlermeldungen:

/var/log/kern.log

Unknown mount option "passwd xxx"

Umändern von passwd in password brachte auch nichts...

Google Suche fand natürlich einige Hilfen...
 
Ausprobiert z.B.

sec=ntlmv2

usw. brachte auch Fehlermeldungen
Feb 26 07:49:20 octopi kernel: [227184.735746] CIFS VFS: Send error in SessSetup = -13
Feb 26 07:49:20 octopi kernel: [227184.735785] CIFS VFS: cifs_mount failed w/return code = -13


Erst das Auslagern der credentials machte das Mounten möglich...... warum? .... grübel.... Sonderzeichen waren im PW nicht vorhanden.....

//192.168.178.210/Backup /media/nas/Backup cifs vers=1.0,credentials=/etc/.mycredentials,gid=1000,uid=1000 0 0
 .mycredentials:
username=pi
password=geheimespw



11.2.17

Mit dem Raspberry den Arduino steuern

Hintergrund:
Ich habe ein Codeschloss installiert und mit einem Arduino verbunden.
Nun soll ein PI diesen ansteuern.
Nach etlichen Versuchen mit Python Scripten, nun erst einmal ein sehr einfaches Shell Script, mit dem ich das Menü des Arduino aufrufen kann.
Verbunden ist der Arduino ganz normal per USB mit dem Raspberry.

#!/bin/bash
SERIAL="/dev/ttyACM0"
while true
do
    read line
    echo $line > $SERIAL
    sleep 2
....
    cat $SERIAL
done
Ausgabe:

***** MENU ****
<enter> -> print this menu
  1     -> learn a code / paste csv-list of codes
  2     -> delete a code
  3     -> display all codes
  7     -> reset tamper flag & reboot
  8     -> save all codes to eeprom
  999   -> delete ALL codes in eeprom
Notes: Name entries max 9 characters.
       Action entries 1 for open, 0 for close.
To be continued...

3.2.17

Makibes 10.1 Zoll Display am Raspberry

Nachdem ich mir das Makibes Display bei Amazon gekauft hatte, habe ich versucht ihn an dem Raspberry zu betreiben.
Zu meiner Schande muss ich gestehen, dass ich 3/4 der Zeit damit verbracht hatte, das Flachbandkabel, was von der Schaltplatine kommt, mit dem LCD-Schirm zu verbinden.
Das Problem lag daran, dass ich diese schwarzen "Nupsis", die das Flachbandkabel halten sollen, ganz herausgezogen hatte.
Stattdessen muss man die mit leichtem Druck nach oben biegen, das Kabel einlegen und wieder zurück in die Ausgangsposition bringen.

Wenn das geschafft ist, kann man das Display über HDMI mit dem RPI verbinden.
Dann noch eine USB-Verbindung vom RPI zum Display und die config.txt anpassen.

Unter /boot/config.txt eintragen:

max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0

Und darauf achten, dass als "Source" HDMI gewählt ist!! (auch damit hatte ich 30 Minuten verschwendet)

Hier die Herstellerseite, die aber nicht sehr viel hergibt.

29.11.16

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.
 

 

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

8.7.16

Transparente Bridge mit dem RPI

Hier habe ich eine kleine, feine Anleitung gefunden.


Hardware:
RPI mit USB-Ethernet (eth1 - wird automatisch erkannt)
USB WLAN Dongle Dlink (wird auch automatisch erkannt)

Software installieren:

apt-get install bridge-utils tcpdump


/etc/network/interfaces anpassen:

############ WLAN
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

########## Bridge
auto br0
iface br0 inet dhcp
    bridge_ports eth0 eth1
    bridge_stp on

WPA Passwort für das Wlan-Netzwerk (erforderlich hier zur Fern-Administration) erstellen mit

wpa_passphrase 'SSID des Routerst' 'Passwort'

und in die Datei wpa_supplicant.conf einfügen

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="Name des Routers"
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP

    psk=[erstellt mit WPA-pass] }

Wenn Wlan läuft, kann man sich per SSH einloggen und den RPI rebooten bzw. das Netzwerk br0 hochfahren mit

ifup br0 (als root)



10.12.15

Reverse Tunnel mit dem Raspberry

Mein Ziel:

Raspberry per UMTS-Stick jederzeit administrieren können.

Benötigt:

UMTS-Stick, Raspberry, eigener Server im Internet (oder DynDNS mit Linux-System -> Port im Router freigeben!).


Login vom PI auf den Server ohne PW ermöglichen. Anleitung findet sich hier.

Script auf dem RPI create_ssh_tunnel.sh (kopiert von hier):
#!/bin/bash
createTunnel() {
  /usr/bin/ssh -N -R 2222:localhost:22 serverUser@Domain
  if [[ $? -eq 0 ]]; then
    echo Tunnel to jumpbox created successfully
  else
    echo An error occurred creating a tunnel to jumpbox. RC was $?
  fi
}
/bin/pidof ssh
if [[ $? -ne 0 ]]; then
  echo Creating new tunnel connection
  createTunnel
fi
Dann noch ausführbar machen mit
chmod +x  create_ssh_tunnel.sh
Eintragen als Cronjob mit crontab -e

*/1 * * * * ~/create_ssh_tunnel.sh > tunnel.log 2>&1
Wenn der Tunnel steht, die Verbindungsaufname auf dem Server testen mit

ssh -p2222 pi@localhost
Update:

Wenn ich mich von einem Windows PC anschließend z.B. mit der Weboberfläche eine NAS, welches sich im Netzwerk des PI befindet, verbinden möchte, muss der Tunnel erweitert werden:

/usr/bin/ssh -N -R 2222:localhost:22 -R 62011:[IP des NAS]:443 serverUser@Domain 
Bei Zugriffen auf Port 62011 des PI erfolgt eine Weiterleitung auf Port 443 des NAS.
Nun auf dem Windows PC in Putty einen neuen Tunnel eintragen:
 
Wenn nun die Verbindung vom Windows PC zum Server (über Putty) steht und auch der 
Tunnel vom PI zum Server, kann man im Browser eingeben:
https://localhost:40000 
und man gelangt auf das Webinterface des NAS.
 
 
 
Alternativ (und flexibler) ist es sich mit dem Server zu verbinden und in Putty folgendes einzustellen:
 
 
Anschließend neue Session anlegen, die sich localhost:12000 verbindet.

 


Unter SSH/Tunnels können dann beliebig viele Tunnel ins eigene Heimnetz angelegt werden.
 



 
 

6.12.15

Raspberry und Sunfounder

Auf meinem RPI2 habe ich minibian installiert.
Um das "Männer-Experimentierpaket" Sunfounder zu betreiben, müssen einige Pakete nachinstalliert werden.

Zuallererst den Compiler mit

apt-get install gcc

Beim Compilieren von C-Quellcode, welches in dem Sunfounder-Paket steckt, kommt erst einmal eine Fehlermeldung

fatal error: wiringPi.h: Datei oder Verzeichnis nicht gefunden

Damit die Bibliotheken vorhanden sind, einfach wiringpi installieren mit

apt-get install wiringpi

und et löpt!

29.11.15

Image für Raspberry erstellen

Am Beispiel des Minibian

1. Download dem Images
2. tar xzOf 2015-11-12-jessie-minibian.tar.gz | sudo dd of=/dev/mmcblk0 bs=1M

3. Quellen aktualisieren mit apt-get update (Benutzer bei Minibian: root, PW: raspberry).
4. raspi-config installieren mit apt-get install raspi-config
5. Installieren von keyboard-configuration mit apt-get install keyboard-configuration
6. Ausführen von raspi-config und System anpassen


10.11.15

Sipcmd auf dem Raspberry einrichten

Zuerst wollte ich sipcmd nach dieser Anleitung installieren, doch es trat folgender Fehler auf:

 src/includes.h:23:19: fatal error: ptlib.h: Datei oder Verzeichnis nicht gefunden

Nach dieser Anleitung habe ich es geschafft sipcmd samt der Abhängigkeiten zu installieren.

Dieses Script war wichtig:

\curl -sSL http://tools.jens-bretschneider.de/setup-sipcmd.sh | bash
 
 Damit es nicht verloren geht, hier noch einmal komplett:
 
 
#!/bin/bash

# Abhaengigkeiten installieren
aptitude -y install libopal-dev libpt-dev

# sipcmd aus GitHub clonen
# http://sipcmd.sourceforge.net/
# https://github.com/tmakkonen/sipcmd
cd /opt
git clone https://github.com/tmakkonen/sipcmd.git

# Alias-Option reinpatchen
cat > /opt/sipcmd/src/alias.patch <<"EOF"
--- main.cpp 2015-02-01 15:46:56.708865742 +0100
+++ /mnt/usr/src/sipcmd-master/src/main.cpp 2014-11-26 21:26:19.762070877 +0100
@@ -311,6 +311,7 @@
// Parse various command line arguments
args.Parse(
"u-user:"
+ "a-alias:"
"c-password:"
"l-localaddress:"
"o-opallog:"
@@ -364,6 +365,10 @@
sipep->SetDefaultLocalPartyName(args.GetOptionString('u'));
}

+ if (args.HasOption('a')) {
+ sipep->SetDefaultDisplayName(args.GetOptionString('a'));
+ }
+
if (args.HasOption('c')) {
SIPRegister::Params param;
param.m_registrarAddress = args.GetOptionString('w');
EOF
patch /opt/sipcmd/src/main.cpp < /opt/sipcmd/src/alias.patch

# Debug-Meldungen deaktivieren
sed -i 's/^DEBUG/#DEBUG/' /opt/sipcmd/Makefile

# Compilieren
cd /opt/sipcmd
make
 Um sipcmd von der Kommandozeile zu starten muss zunächst ein neues (WLAN/IP) Telefon in der Fritzbox eingerichtet werden.
 
Danach kann man einen Anruf machen mit:
 
sipcmd -P sip -u 623 -c [PASSWORT] -w 192.168.1.1 -x 'c[RUFNUMMER];w10000;h' 
 
 
-P: Protokoll
-u: Benutzer, der in der Fritzbox eingerichtet ist als Gerät
-c: Passwort
-w: IP Adresse der Fritzbox
-x:  c - Rufnummer
     w - Wartezeit (hier 10 Sek.)
     h - hangup, auflegen 

25.10.15

Ubuntu auf Raspberry 2 installieren

"Just a reminder for me"

  • Download Image von https://ubuntu-mate.org/raspberry-pi/
  • Extrahieren
    bunzip2 ubuntu-mate-15.10-desktop-armhf-raspberry-pi-2.img.bz2
  • Mit DD SD-Card beschreiben
    sudo ddrescue -d -D --force ubuntu-mate-15.10-desktop-armhf-raspberry-pi-2.img /dev/mmcblk [Name der SD-Card]
  • Falls Name nicht bekannt -> lsblk
SD Kartengröße anpassen

  • sudo fdisk /dev/mmcblk0
  • Zweite Partition löschen (d,2)
  • Neue Partition anlegen (n,p,2,enter,enter) => w zum Schreiben 
  • Neustart => sudo resize2fs /dev/mmcblk0p2


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. ...