User Tools

Site Tools


Action disabled: index
rocnet:rocnetnode-build-fr

Construction de RocNetNode à partir des sources

Compilation

Lire en premier: RasPi Dev
:!: Ne pas installer libi2c-dev; cela cassera le processus de compilation et les entêtes C et les bibliothèques sont déjà disponible dans l'image RaspBian.
La version du serveur Rocrail inclut également le RocNetNode:

make server
sudo make install

Le binaire est écrit dans Rocrail/unxbin.
Le fichier rocnetnode.ini peut être copié à partir de Rocrail/rocnetnode/package/rocnetnode.ini.

Installation

cd rocnetnode
sudo make install

Cela copiera les fichiers suivants dans /opt/rocnet:

  • rocnetnode
  • rocnetnode.ini
  • rocnetnode.sh


Démarrage

  1. Le fichier rocnetnode.ini et la bibliothèque dcc232 doivent résider dans le répertoire de travail.
  2. Pour être capable d'accéder à /dev/mem et /dev/i2c-x le programme doit être démarré avec sudo:
20130825.214751.623 r9999I main     raspi    0068 setup RasPi I/O 0x00000001
20130825.214751.624 r9999E main     raspi    0072 can't open /dev/mem

Démarrage avec sudo dans le répertoire unxbin:

sudo ./rocnetnode


rocnetnode.ini

Voir: Cartographie des ports

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

rocnet

Attribut Description Plage Défaut
id Identifiant RocNet 0-65535 0
addr Adresse Multicast * 224.0.0.1
port Port Multicast 0-65535 4321


rocnetnodeoptions

Attribut Description Plage Défaut
iotype Type E/S 0=i2c-1, 1=i2c-0 0
sack Reconnaissance du détecteur vrai/faux faux
rfid Activer la lecture ID-12 vrai/faux faux

Pour le Raspberry Pi Rev. 1 utiliser I2C-0 comme périphérique.

Configuration des ports

Attribut Description Plage Défaut Remarque
port Numéro du port logique à utiliser pour l'adressage Rocrail 1-128 1
type Type E/S 0=sortie, 1=entrée 0
delay délai de désactivation de l'entrée pour l'occupation1), ou temps d'impulsion de la sortie. 0-255 0 unités par 10ms, 0=non utilisé
state Sauvegarde de l'état de la sortie 0=off, 1=on 0 Sauvegardé à la commande d'arrêt de l'alimentation.


Périphérique DCC232

Pour être capable de générer un signal DCC utilisable le RS232 interne ne peut pas être utilisé.
Le meilleur moyen est d'attacher un convertisseur FDTI USB-RS232 au connecteur USB.

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


Arrêt

Terminal

Si le programme fonctionne dans une console il peut être arrêté avec CTRL+C.
Dans tous les autres cas kill doit être utilisé.


Préparations I2C

Activer

Cela peut être uniquement activer avec la commande sudo.

Retirer les modules du fichier /etc/modprobe.d/raspi-blacklist.conf en les commentant (inserer # au début des lignes suivantes):

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

#blacklist spi-bcm2708
#blacklist i2c-bcm2708

Ajoutez les dans le fichier /etc/modules:

# /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


Liens & Documentation

Raspberry Pi et le Port Série

Par défaut le port série du Raspberry Pi est configuré pour être utilisé pour la console entrée/sortie. Bien que ce soit utile si vous voulez vous connecter en utilisant le port série, cela signifie que vous ne pouvez pas utiliser le Port Série dans vos programmes. Pour être capable d'utiliser le port série pour se connecter et parler aux autres périphériques (par exemple Arduino), la connexion de la console de port série doit être désactivée.

Inutile de dire que vous aurez besoin d'une autre façon de vous connecter au Raspberry Pi, et nous vous suggérons de faire cela sur le réseau à l'aide d'une connexion SSH.

Désactiver la connexion du port série

Pour activer le port série pour votre propre utilisation vous aurez besoin de désactiver la connexion sur le port. Il y a deux fichiers qui nécessite d'être édités

Le premier et le principal est /etc/inittab

Ce fichier possède la commande pour activer l'invite de connexion et cela doit être désactivé. Éditez le fichier et déplacez-vous à la fin du fichier. Vous verrez une ligne similaire à

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Désactivez la en ajoutant un caractère # au début. Sauvegardez le fichier.

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Désactiver l'info de démarrage

Quand le Raspberry Pi démarre, toutes les informations de démarrage sont envoyées au port série. Désactivez ces informations de démarrage est optionnel et vous voudrez peut-être laisser cela activé car il est parfois utile de voir ce qui se passe au démarrage. Si vous avez un périphérique connecté (par exemple Arduino) au démarrage, il recevra ces informations à travers le port série, donc c'est à vous de décider si c'est un problème ou non.

Vous pouvez les désactiver en éditant le fichier /boot/cmdline.txt

Le contenu du fichier ressemble à cela

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Retirez toutes les références à ttyAMA0 (qui est le nom du port de série). Le fichier ressemblera maintenant à cela

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Redémarrage

Afin d'activer les modifications que vous avez apportées, vous aurez besoin de redémarrer le Raspberry Pi

sudo shutdown -r now

1)
longueur d'impulsion minimale 100ms.
rocnet/rocnetnode-build-fr.txt · Last modified: 2021/12/22 09:42 by phil45