1

yop,

Je me demandais si je pouvais utiliser un raspberry pi en industrie. Après avoir goûté depuis 6 mois aux langages des automates industriels (bonjour le FBD, l'IL, le LD, ou même le ST, moins puissant que le basic Casio, je voudrais savoir si on peut utiliser un Pi pour utiliser des langages plus puissants et conventionnels.

Si j'ai bien compris, un Pi est un PC cadencé à 1GHz, avec 512 Mo de RAM, un Linux embarqué (Debian en propose), des interfaces réseau/USB/HDMI entre autres.
Il y a aussi ce qui ressemble à un port IDE, mais qui sont en fait des ports (GPIO).

Question : faut-il être électronicien pour en tirer quelque chose ?
Dans mon cas, pour des petites applis, j'ai besoin de récupérer une info booléenne 24V issue d'une cellule quelconque, ou de donner un ordre (booléen ou numérique) à un autre élément (variateur, vérin, électrovanne, etc...).
Est-ce que l'apprentissage au niveau électronique est conséquent ?

Ensuite, est-ce "simple" à programmer ? Idéalement, il faut pouvoir adresser ces ports d'une façon ou d'une autre, via une lib d'assez haut niveau (pas d'asm grin), et pouvoir disposer sur la machine d'une event loop assez précise, voire embarquer quelque chose de plus haut niveau comme Qt, qui fournirait alors cet event loop.

Merci de m'aider à défricher ce domaine sur lequel je ne me penche que depuis hier smile

2

je recommande pas, a cause du manque de fiabilité de la carte SD. ca te pète dans les doigts sans prévenir

3

Je vais pas proposer ça à mon patron, en lieu et place des automates. Mais je veux savoir quelles sont les difficultés auxquelles je vais me confronter si je veux le faire.

4

pourquoi ne pas prendre un ordi plus standard qu'un raspi ? même si le raspi peut être un bon démonstrateur.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

squalyl (./2) :
je recommande pas, a cause du manque de fiabilité de la carte SD. ca te pète dans les doigts sans prévenir

Tout à fait d'accord, mieux vaut se tourner vers une carte qui propose une interface disque plus robuste (mécaniquement au niveau du connecteur et également au niveau du support (même s'il existe des SD dites industrielles)). Bref quelque chose avec du PCIe, NVMe, SATA ou encore IDE si tu vises pas les performances (les DoM IDE ou compact flash industrielles font bien le taff). Après tu peux aussi opter pour un truc diskless avec tout l'OS chargé en RAM mais là il te faut une interface réseau qui gère un protocole genre PXE pour tout récupérer au boot.

Perso je me tournerai vers un truc du genre: http://linuxgizmos.com/tough-i-mx6-based-linux-sbc-targets-wireless-video-runs-on-3w/ ou encore https://www.cnx-software.com/2016/08/11/versalogic-osprey-is-an-industrial-military-grade-intel-bay-trail-single-board-computer/
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

6

Imagine que des gamins de moins de 10 ans utilisent le port GPIO pour faire de l'électronique et ça te donnera une idée du niveau du langage utilisé, scratch est l'interface (python derrière) qu'utilisent ces enfants.
Je te recommande de télécharger le Raspberry Magazine ou bien de faire un tour dans une Fnac pour feuilleter les ouvrages au sujet de Scratch.

https://www.raspberrypi.org/magpi/issues/

Le numéro 46 devrait te donner un ordre d'idée de l'utilisation du GPIO avec Python: https://www.raspberrypi.org/magpi-issues/MagPi46.pdf

7

Ouais, techniquement tu devrais t'en sortir sans trop de soucis, surtout qu'il y a pas mal de matos tout fait.

Au niveau fiabilité par contre, ça risque d'être trop léger pour une utilisation industrielle (ou alors pour des machins pas critiques).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

Pour la boucle de retro contrôle de l'EPR, par exemple, ça le fait large
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

9

Merci zikzak. Effectivement, ça a l'air très simple. Plus qu'à espérer qu'il y ait le même genre de lib haut niveau en C/C++.
Et sinon, ma question n'est pas "est-ce fiable pour l'industrie ?", mais "pensez-vous que je puisse arriver à en tirer quelque chose ?"

Après, des questions se posent : Disons que je veuille 40 entrées et 40 sorties, je n'ai aucune idée de comment faire ça. Un bus avec des adresses pour chaque port IO, mais j'ai rien qu'en disant ça j'ai dépassé de loin mes capacités électroniques grin

10

gpio linux en C c'est une merde

- soit les perfs sont dégueulasses parce chaque changement d'état est un write() dans un device
-soit les perfs sont ultra bonnes mais faut gérer du mappage en mémoire avec éventuellement du DMA

mais on peut, pas de pbm!

11

Ok, si c'est une merde, pas la peine, le but est de rester simple. Merci ! grin

12

mais... tas regardé des exemples de code pour faire du gpio sur pi? smile

13

Y a des MagPI qui traitent du C aussi, et le GPIO est une force de cette carte. Les exemples couvrent donc aussi ce point.

14

Non, je n'ai pas regardé les exemples en C. Et quand je vois le descriptif des broches, ça ne me parle pas, mais alors pas du tout grin
Qu'est-ce qu'on récupère comme tension sur ces broches, quel est leur mode de fonctionnement, peut-on leur envoyer ou y lire le signal qu'on veut quand on veut ? Mystère indéchiffrable encore pour moi grin

15

Simplement avec quelque chose comme ça:
GPIO.setup(12, GPIO.IN)
GPIO.setup(12, GPIO.OUT)

Ça se passe d'explication ^_^
C'est du 3,3v à l'état haut et donc du numérique.

Les tutoriels sont foison sur le sujet et l'ensemble de la carte, vu son public de base tu devrais t'en sortir sans problème.

16

Ok, merci !!! smile