RocNetNode Raspbian-Paket

Einführung

Es wird ein RocNetNode-Plug&Play-Installations-Paket zusammen gestellt, das alles enthält was, für die Konfiguration und den Betrieb erforderlich ist.

Raspbian

Das Installations-Ziel ist Raspbian und lässt sich nicht auf Debian installieren.

Der folgende Fehler tritt auf, wenn eine Installaton auf Debian versucht wird:

dpkg: error processing rocnetnode-5906-raspbian-armhf.deb (--install):
package architecture (armhf) does not match system (armel)

Es wird dringend empfohlen, Raspbian zu verwenden, weil es für den Rasberry Pi optimiert ist und dafür eine bessere Leistungsfähigkeit hat.

Paket-Inhalt

Beschreibung Datei
RocNetNode-Binary /opt/rocnet/rocnetnode
Bibliotheken /opt/rocnet/dcc232.so
/opt/rocnet/sprog.so
/opt/rocnet/rfid12.so
Standard-Einstellungen /opt/rocnet/rocnetnode.ini
Start-Skript /opt/rocnet/rocnetnode.sh
Update-Skript /opt/rocnet/update.sh
Daemon-Skript /etc/init.d/rocnetnoded
Konfigurieren der I2C-Module postinst
Konfigurieren des RocNetNode als Dienst im “run level 2 und 3” postinst


Herunterladen & Installieren

Per ssh oder einer direkten Verbindung:

wget http://rocrail.net/software/rocrail-snapshot/raspi/rocnetnode-xxxxx-raspbian-armhf.deb
sudo dpkg -i rocnetnode-xxxx-raspbian-armhf.deb
sudo reboot

Das “xxxxx” muss durch die gewünschte Revision-Nummer ersetzt werden.

Standard-Login: user=pi, password=raspberry

Hinweis: Die Standard-Tastatur-Belegung ist Englisch. (QWERTY)


Upgrade

Speziell nach dem ersten Ausrollen werden Upgrades manchmal wegen Fehlerbehebungen und zusätzlicher Funktionalität benötigt.
Das wird einfach in vier Schritten erledigt:

sudo service rocnetnoded stop
wget http://rocrail.net/software/rocrail-snapshot/raspi/rocnetnode-xxxx-raspbian-armhf.deb
sudo dpkg -i rocnetnode-xxxx-raspbian-armhf.deb
sudo service rocnetnoded start

Das “xxxx” muss durch die gewünschte Revision-Nummer ersetzt werden.

Herunterfahren

Arbeitsbereich

Beim Herunterfahren von “Rocview & Server” erfolgt eine zweite Abfrage nach dem Herunterfahren aller RocNetNodes, wenn RocNet eine der Zentralen im Rocrail-Server ist.

Konfigurations-Dialog

Siehe: RocNetNode-Konfiguration → Herunterfahren

Terminal

sudo service rocnetnoded stop

Versorgung abschalten

Dies ist nicht der bevorzugte Weg, RocNetNodes herunterzufahren, weil das nicht zum Rocrail-Server gemneldet wird und im schlimmsten Fall Konfigurations-Einstellungen verloren gehen können.
Aber manchmal kann ein ungewünscher Spannungs-Ausfall geschehen und sollte normal nicht zu irgendwelchen Problemen führen.


Setup aus den Sourcen

Dies überspringen, wenn das Paket erfolgreich installiert wurde.

Build

git clone https://gitlab.com/rocrail/Rocrail
cd Rocrail
make fromtar
sudo make install
cd rocnetnode
sudo make install

Auto startup

sudo cp ~/Rocrail/rocnetnode/package/rocnetnoded /etc/init.d/rocnetnoded
sudo chmod 755 /etc/init.d/rocnetnoded
sudo chmod 755 /opt/rocnet/rocnetnode.sh
sudo update-rc.d rocnetnoded defaults

Zur Wieder-Installation nach Modifizieren des rocnetnoded-Scripts, muss es zunächst entfernt werden:

sudo update-rc.d rocnetnoded remove

Andernfalls tut der Befehl nichts, außer nur Warnungen anzuzeigen.

Run levels

Event Levels
Start 2, 3
Stop 0, 1, 6


Manuell Start/Stop

Der RocNetNode kann mit folgendem Dienst-Befehl manuell gestartet und gestoppt werden:

sudo service rocnetnoded stop


Modifikationen

Hosts

Die letzte Zeile in Datei /etc/hosts (127.0.1.1 raspberrypi)

127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
fe00::0		ip6-localnet
ff00::0		ip6-mcastprefix
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters

127.0.1.1	raspberrypi

muss gelöscht sein.
Dies ist erforderlich, um die reale IP-Adresse dieses Knotens abzurufen.


I2C

Siehe: I2C-Vorbereitungen

Dies kann nur mit dem sudo-Befehl aktiviert werden.

Die Module aus der /etc/modprobe.d/raspi-blacklist.conf durch Auskommentieren entfernen (# am Beginn folgender Zeilen einfügen):

# blacklist spi and i2c by default (many users don't need them)

#blacklist spi-bcm2708
#blacklist i2c-bcm2708

Diese dann in /etc/modules hinzufügen:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
i2c-bcm2708
i2c-dev

Prüfen des I2C-Bus

I2C-Tool aufrufen:

sudo apt-get install i2c-tools

Prüfen des Bus 1 mit 2 x GCA-Pi02:

pi@raspberrypi ~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 21 22 23 -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --    


Häufige Fragen

  1. Können sowohl Rocrail-Server als auch RocNetNode auf dem selben Raspberry Pi installiert sein?
    • Ja.
  2. I2C funktioniert nach einem Raspbian-Update nicht mehr.


Links

Technische Einzelheiten

Die Bauteile für grundsätzliche Ein-/Ausgabe sind MCP23017 und die Adafruit 16-Kanal-LED/Servo-Baugruppe. Die Adafruit-Baugruppe beruht auf dem PCA9685. Datenblätter sind leich für Beide zugänglich. Es sind sehr viele verschiedene I2C-ICs verfügbar, aber meistens nur in SMD.


Sicherheit

Sicherheit des Rpi (Raspberry Pi) ist ein Punkt, der nicht gut abgedeckt wird. Weil auf dem Rpi eine Standard-Version von Linux läuft, treffen Sicherheits-Maßnahmen für Linux auch auf dem Rpi zu. Einige der Maßnahmen die vorgenommen werden sollten sind:

  1. Ändern des Standard-Passwortes 'pi'.
  2. Unnötige Dienste wie z.B. cups (print) usw. abschalten.

Es gibt noch weitere präventive Maßnahmen, die vorgenommen werden können oder sollten, aber diese liegen außerhalb der Betrachtungen dieser warnenden Hinweise.


Personal Tools