Support
Wiki Documentation
Support Forum
Mobile
- Rocweb Browser
- WIO-Control ESP32
- andRoc Android
- Rocview Tablet
DIY
User
Wiki writer
Legal
Support
Wiki Documentation
Support Forum
Mobile
DIY
User
Wiki writer
Legal
Zuerst lesen: RasPi Dev (en)
Nicht
libi2c-dev
installieren; Es wird den Installations-Prozess abbrechen und die benötigten C-Headers und Bibliotheken sind schon im RaspBian-Image enthalten.
Der Rocrail-Server wird auch im RocNetNode mitgebuildet:
make server sudo make install
Das "Binary" wird in Rocrail/unxbin
geschrieben.
Die rocnetnode.ini
kann von Rocrail/rocnetnode/package/rocnetnode.ini
kopiert werden.
cd rocnetnode sudo make install
Das Kopiert folgende Dateien nach /opt/rocnet
:
rocnetnode
rocnetnode.ini
rocnetnode.sh
rocnetnode.ini
und die dcc232
-Bibliothek müssen sich im Arbeitsverzeichnis befinden./dev/mem
und /dev/i2c-x
zugreifen zu können, muss das Programm mit sudo
gestartet werden:20130825.214751.623 r9999I main raspi 0068 setup RasPi I/O 0x00000001 20130825.214751.624 r9999E main raspi 0072 can't open /dev/mem
Sudo
-Starten im unxbin
-Verzeichnis:
sudo ./rocnetnode
Siehe: Port-Zuordnung
<rnnode> <rocnet id="4711" addr="224.0.0.1" port="4321"> <rocnetnodeoptions iotype="0" sack="true"/> <portsetup port="1" type="1" delay="200"/> <portsetup port="2" type="1" delay="200"/> <portsetup port="3" type="1" delay="200"/> <portsetup port="4" type="1" delay="200"/> <portsetup port="5" type="1" delay="200"/> <portsetup port="6" type="1" delay="200"/> <portsetup port="7" type="1" delay="200"/> <portsetup port="8" type="1" delay="200"/> <portsetup port="9" type="0" delay="0"/> <portsetup port="10" type="0" delay="0"/> <portsetup port="11" type="0" delay="0"/> <portsetup port="12" type="0" delay="0"/> <portsetup port="13" type="1"/> <portsetup port="14" type="1"/> <portsetup port="15" type="1"/> <portsetup port="16" type="1"/> </rocnet> <trace rfile="rocnetnode" protpath="" debug="false" info="false" calc="true" byte="false"/> <digint lib="dcc232" iid="dcc-1" device="/dev/ttyUSB0"/> </rnnode>
Attribute | Beschreibung | Bereich | Voreinstellung |
---|---|---|---|
id | RocNet-kennung | 0-65535 | 0 |
addr | Multicast-Adresse | * | 224.0.0.1 |
port | Multicast-Port | 0-65535 | 4321 |
Attribute | Beschreibung | Bereich | Voreinstellung |
---|---|---|---|
iotype | I/O type | 0=i2c-1, 1=i2c-0 | 0 |
sack | Rückmelder-Bestätigung | true/false | false |
rfid | Aktiviert ID-12-Lesen | true/false | false |
Für Raspberry Pi Rev. 1 I2C-0 als Gerät verwenden.
Attribute | Beschreibung | Bereich | Voreinstellung | Bemerkung |
---|---|---|---|---|
port | logische Port-Nummer zur Verwendung in der Rocrail-Adressierung | 1-128 | 1 | |
type | I/O-Typ | 0=Ausgang, 1=Eingang | 0 | |
delay | Verzögertes AUS der Eingäne für Belegtmelder1), oder Ausgangs-Pulszeit. | 0-255 | 0 | 10ms Einheiten, 0=nicht verwendet |
state | Sichert Ausgangs-Status | 0=off, 1=on | 0 | Gesichert beim Abschalt-Befehl (Power Off). |
Mit der internen RS232 kann kein brauchbares DCC-Signal generiert werden.
Der beste Weg ist es, einen FDTI USB-RS232-Konverter an den USB-Anschluss anzuschliessen.
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC crw-rw---T 1 root dialout 188, 0 Jan 1 1970 /dev/ttyUSB0
Wenn das Programm im Konsolen-Modus läuft kann es mit CTRL+C angehalten werden.
In allen andern Fällen muss kill
verwendet werden.
I2C kann nur mit dem sudo -Befehl aktiviert werden. |
Entfernen der Module aus der /etc/modprobe.d/raspi-blacklist.conf
durch auskommentieren (#
am Anfang 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
Standardmäßig ist der serielle Port des Raspberry Pi zur Verwendung als Konsolen-Eingang/Ausgang konfiguriert. Während es zweckmäßig ist wenn eine Anmeldung über den seriellen Port gewünscht ist, bedeutet es doch, dass der seriellen Port nicht für eigene Programme verwendbar ist. Um in der Lage zu sein, den seriellen Port zur Verbindung und Kommunikation mit anderen Geräten (z.B. Arduino) zu verwenden, muss die Anmeldung des seriellen Konsolen-Ports deaktiviert werden.
Unnötig zu sagen, dass es notwendig wäre, sich auf andere Art am Raspberry Pi anzumelden und so wird vorgeschlagen, das über das Netzwerk mit einer SSH-Verbindung zu tun.
Um den seriellen Port für eigene Verwendung zu aktivieren, muss die Anmeldung am Port deaktiviert werden. Es gibt zwei Dateien, die dafür editiert werden müssen.
Die erste und wichtigste Datei ist /etc/inittab
Sie enthält den Befehl zur Aktivierung des Anmelde-Prompts und das muss deaktiviert werden. Die Datei wird mit einem Editor geöffnet und das Ende der Datei aufgesucht. Dort ist eine Zeile ähnlich der folgenden zu finden:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Durch Einfügen eines #
-Zeichens am Anfang der Zeile wird der Befehl deaktiviert.
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Die Datei abspeichern.
Wenn der Raspberry Pi bootet werden alle Bootup-Information ian den seriellen Port gesendet. Das Deaktivieren dieser Bootup-Information ist optional und wenn es gewünscht ist, kann man sie aktiviert lassen, weil es hilfreich sein kann, zu sehen was beim Bootup geschieht. Wenn ein Gerät beim Bootup angeschlossen ist (z.B. Arduino), empfängt es diese Informationen über den seriellen Port und es liegt beim Anwender, zu entscheiden, ob das ein Problem ist oder nicht.
Es kann durch Editieren der Datei /boot/cmdline.txt
deaktiviert werden.
Der Inhalt der Datei sieht aus wie dies:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Alle Referenzen zu ttyAMA0
entfernen, welches der Name des seriellen Ports ist.
Die Datei sieht dann aus wie dies:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Um die Änderungen wirksam zu machen, muss der Raspberry Pi neu gestartet werden:
sudo shutdown -r now