Serveur d'impression

L'isolement est la clé d'une utilisation fiable de Pi – Bien choisir son serveur d impression

Le 1 mai 2020 - 12 minutes de lecture

Tarte aux framboisesLisez les autres articles de cette série: Pi pour tout le monde et tout et recevez des alertes par e-mail du récepteur Watch Dog d'un RFEngineer.

De nos jours, beaucoup de gens jouent avec l'Arduino (et les clones) et le Raspberry Pi (et les clones), parfois appelés ordinateurs à carte unique ou SBC. Nous avons même entendu récemment des rumeurs selon lesquelles ils commencent à apparaître dans certains de nos équipements de diffusion, cachés et intégrés dans le boîtier.

Chacun a ses forces et ses faiblesses. L'opinion ne manque pas sur ce qui est mieux. Si vous voulez le mien, l'Arduino est meilleur pour les applications de contrôle de petites machines, et le Pi est bien meilleur si vous avez besoin de mise en réseau, d'un bureau GUI et des buzzers et des cloches. L'Arduino n'est pas aussi puissant, mais il est idéal pour un contrôleur de processus dédié. Parce que le Pi est un ordinateur à part entière (s'il est miniaturisé), il n'est pas aussi adapté aux processus en temps réel. En fin de compte, le choix vous appartient.

La question clé pour nous est de savoir si elle est fiable. Vous pourriez dire: «Je peux peut-être voir un serveur d’impression ou un point d’accès sans fil« intelligent »dans mes studios, mais fonctionneront-ils sur un site d’émetteur distant dans un champ de maïs?»

Oui, à condition de protéger les entrées et sorties («I / O»). Les puces de microprocesseur modernes sont assez fiables, si vous respectez leurs limites. Même si votre émetteur est un modèle plus récent avec des entrées et sorties logiques, vous ne devez pas simplement le connecter directement aux broches du SBC. Vous devez également surveiller vos tensions d'entrée, quelles que soient les surtensions. Par exemple, si la puce du processeur de votre SBC fonctionne à 3,3 V et que vous connectez 5 V à l'une des entrées, de mauvaises choses se produiront.

Des cartes d'E / S tierces sont disponibles pour le Pi (traditionnellement appelé «chapeaux») et l'Arduino («boucliers»). C'est un bon endroit pour commencer à expérimenter, mais la plupart ne sont pas adaptés aux environnements hostiles. Une carte d'E / S analogique que nous avons achetée n'avait que des résistances de montage en surface 1K entre les bornes d'entrée et les broches de la puce A / D. Cela fournissait une petite protection, mais il n'y avait aucun moyen de gérer une forte poussée.

POURQUOI UTILISER UN SBC?

Il est vrai que l'exemple que je vais vous montrer dans cet article pourrait être fait avec une télécommande de modèle récent avec connectivité réseau. Les meilleures télécommandes – et d'ailleurs, la plupart des derniers émetteurs – peuvent désormais envoyer des e-mails ou des SMS, offrir un contrôle SNMP et plus encore. Mais les plus grands avantages de la révolution SBC sont:

  1. Les SBC sont ridiculement bon marché. Vous pouvez en acheter plusieurs et garder des pièces de rechange à portée de main.
  2. Ils sont ridiculement petits. Vous pouvez même obtenir de jolis étuis pour embellir votre travail.
  3. Il y a beaucoup d'informations en ligne; exemples de code, «comment faire» et plus encore. Vous pourrez probablement trouver un projet existant qui fera ce que vous voulez avec seulement un peu de modification.
  4. Vous pouvez donner à votre équipement exactement ce qu'il veut avec une logique «intelligente». Par exemple, vous devrez peut-être envoyer à votre émetteur une commande momentanée en cas de panne à long terme, mais le dispositif défaillant ne fournit qu'une fermeture constante. (Le petit Adafruit Itsy-Bitsy, qui est compatible Arduino, est idéal pour cela, soit dit en passant.)
  5. Si votre SBC a une connectivité réseau (le Pi le fait par défaut; vous pouvez l'ajouter à l'Arduino), il peut envoyer des e-mails et / ou vous pouvez vous y connecter à distance pour vérifier les choses.

De plus, que se passe-t-il si votre télécommande existante est un modèle plus ancien? Et s'il vient d'être détruit par la foudre et que vous avez besoin de quelque chose maintenant en attendant un remplacement? Plus important encore, que se passe-t-il si c'est un cas particulier que votre télécommande existante ne résout pas aussi bien que vous le souhaitez? (Voir à nouveau l'avantage n ° 4 dans la liste ci-dessus.)

UN EXEMPLE: LE GÉNÉRATEUR DE SURVEILLANCE

Il s'agit d'un véritable projet Raspberry Pi 3 B + que j'ai installé dans l'un de nos grands FM ici en Alabama. Nous utilisons un émetteur Nautel GV40 sur nos deux sites FM de 100 000 watts et pour les STL, nous avons des liaisons de données sans fil dédiées. C'est idéal pour un «accès n'importe où», car nous pouvons (avec précaution, avec un bon pare-feu et une certaine redirection de port) accéder à nos sites sur Internet.

En bref, voici le contexte: les deux sites sont situés au sommet d'une colline dans des zones relativement reculées. Les chemins de terre ont tendance à se laver après une tempête ou des arbres tombés bloquent l'accès. Les voies publiques menant aux portes principales sont pavées, mais elles peuvent également être bloquées par les inondations et les arbres tombés. En cas de violente tempête, je suis probablement sur le générateur, et il faudra un certain temps avant que je puisse accéder au site pour faire le plein du générateur. Pour rester à l’air, je veux réduire la puissance pour réduire la consommation de carburant du générateur.

Nos télécommandes sont censées être capables de faire ce que je veux, mais leur «programmation» prend beaucoup de temps. Ce n'est pas facile non plus de tester votre travail, alors qu'avec un Pi ou un Arduino, je peux facilement simuler les entrées et confirmer qu'il fait ce dont j'ai besoin.

Pour faire court, étant donné mes antécédents en tant que programmeur, ingénieur et bricoleur invétéré, j'ai opté pour le Pi sur l'un de ces sites – à moins de 50 $ de Digikey avec le système d'exploitation Raspian «Noobs» prêt à fonctionner sur une carte SD.

Le deuxième site utilise un processeur de type Arduino et augmentera et diminuera automatiquement la puissance de l'émetteur. J'utilise un ordinateur portable sous Linux pour surveiller l'Arduino et il envoie l'e-mail. Mais c'est pour un futur article; pour l'instant, regardons simplement comment utiliser un Raspberry Pi comme moniteur autonome. Si l'une des broches d'E / S devient faible, il enverra un e-mail. Je l'ai configuré pour que, si le générateur démarre, le programme exécuté sur le Pi envoie un avertissement. De même, une fois que le générateur cesse de fonctionner, je reçois un autre e-mail. Je peux alors choisir d'entrer dans l'émetteur à distance pour réduire la puissance, si je le souhaite.

LIMITATION DU COURANT DES E / S

La clé pour protéger votre Pi ou Arduino est de garantir que les entrées ne voient jamais une entrée «hostile». C’est l’idéal de toute façon; nous pouvons au moins ajouter suffisamment de protection pour nous couvrir dans la plupart des cas. Ce projet utilise le K827-PH, un opto-isolateur disponible dans la plupart des maisons d'approvisionnement, y compris Digikey et Mouser. Ce sont des unités d'entrée de LED et de sortie de transistor typiques, avec quatre isolateurs dans un seul boîtier DIP à 16 broches. Nous n'avons besoin que d'une seule opto pour cet exemple, mais les autres sont disponibles pour une extension ultérieure.

Fig. 1: Schéma des connexions entre le contrôleur du générateur et Pi.

La figure 1 montre le circuit de base pour cette discussion. Il s'agit d'une version simplifiée de ce que j'ai fait sur le site mentionné ci-dessus. Le but de l'isolement est isolement, donc je ne connecte pas l'entrée du Pi directement aux contacts "run" du générateur. Je ne prends pas non plus l'alimentation 5V du Pi; cela irait à l'encontre du but de l'isolement. Au lieu de cela, j'utilise une alimentation 12V externe (en réalité, une simple verrue murale 12V) qui passe par les contacts normalement ouverts du générateur, via une résistance 3,3K, dans l'isolateur K827.

Regardez attentivement R1 et C3 à l'entrée de l'opto. J'ai déterminé qu'il s'agit de toute la protection nécessaire pour ce site particulier. Si vous avez l'un de ces sites qui attire tout, de la foudre aux extraterrestres avec des chapeaux amusants, vous devriez améliorer cela. Agrandir le condensateur. Ajoutez une varistance à la terre pour bloquer toutes les hautes tensions. Divisez R1 en deux 1,5 K, au lieu d'un seul 3,3 K, avec un condensateur supplémentaire à la terre au milieu. Ajoutez une self en ferrite ou RF sur l'entrée. Je vous laisse cela.

Si le générateur démarre, ses contacts normalement ouverts se ferment, ce qui fait passer environ 3 mA de courant à travers la LED de l'isolateur. Cela transforme le transistor, ce qui tire la broche 15 vers le bas. Tout ce dont nous avons besoin maintenant, c'est d'un petit programme qui vérifiera cette broche à intervalles (j'ai choisi 60 secondes).

Fig.2: Brochage du connecteur de style IDE à 40 broches pour le Raspberry Pi.

La figure 2 est le brochage du connecteur de style IDE à 40 broches prévu pour les E / S sur le Pi. À ce stade, la documentation du Raspberry Pi peut vous confondre: il existe en fait plusieurs conventions de dénomination et de numérotation différentes pour le connecteur de style IDE à 40 broches fourni pour les E / S. La bibliothèque python que j'utilise veut les numéros "GPIO". Notez que chaque entrée peut également être affectée à différentes utilisations, selon ce que vous faites. Pour cet article, nous n'avons besoin que de GPIO 22 comme entrée, qui correspond à la broche 15 du connecteur à 40 broches.

Vous pouvez télécharger le programme python prêt à l'emploi ici. Tirez-le dans un éditeur et modifiez les adresses e-mail, le mot de passe, le serveur de messagerie et les numéros de port selon vos besoins. Une fois que vous avez terminé, enregistrez le fichier sous genwatch.py, puis copiez-le sur votre Pi. Dans un terminal, dans le même répertoire que ce fichier, entrez la commande

"Chmod + x genwatch.py"

faire le dossier exécutable. Vous pouvez maintenant l'exécuter en entrant

"./Genwatch.py"

à l'invite du terminal, tout en restant dans le répertoire contenant le fichier. Le programme vérifiera en permanence la broche attribuée à des intervalles d'une minute, en envoyant un e-mail si le statut du générateur change. Appuyez sur CTRL-C pour arrêter le programme.

Pour le tester, court-circuitez momentanément la broche 15 (GPIO22) à la broche 9 (masse) sur le connecteur à 40 broches. Vous pouvez utiliser un câble d'attache ou un petit fil volant – mais soyez prudent! Certaines des autres broches sont directement connectées aux blocs d'alimentation et vous pouvez endommager les choses si vous mettez accidentellement 5 V sur une entrée 3 V ou mettez à la terre l'une des broches d'alimentation. Le boo-boo classique court-circuite accidentellement les broches 1 à 2 sur ce connecteur à 40 broches; vous connecterez l’alimentation 3,3 V directement au 5 V! Vous ne voulez vraiment pas faire ça.

J'ai commenté le programme pour vous. Python ignorera tout après le hachage (#), donc les commentaires sont un excellent moyen d'expliquer ce que fait le code. Encore une fois, vous devrez saisir une adresse e-mail et un mot de passe valides, ainsi que l'adresse e-mail du destinataire et l'adresse de votre serveur de messagerie. Celles-ci sont également notées dans le programme.

Obtenez un Raspberry Pi et jouez avec ça. Vous aurez besoin du Pi et du système d'exploitation Raspian, qui est disponible en téléchargement ou préinstallé sur une carte SD. Python sera inclus avec le système d'exploitation Linux Raspian standard, vous devriez donc avoir ce dont vous avez besoin.

Plus d'informations sont disponibles en ligne. Vous pouvez faire une recherche Google pour "python Raspberry Pi" pour voir un tas d'exemples. Il existe également une multitude de forums disponibles en ligne, du forum «officiel» Raspberry Pi aux forums spéciaux parrainés par des fournisseurs tels que Seeed Studio, Adafruit et d'autres.

Si vous vous sentez expérimental, voici une idée: reportez-vous à la figure 2 pour les brochages et essayez de réaffecter cette ligne «genrun = Button (xx)» dans le programme à différents numéros GPIO. Mettez ensuite ces broches à la terre; les e-mails doivent être envoyés. Pour un exemple plus avancé, envisagez d'utiliser l'un des optos de rechange pour surveiller la verrue murale 12V elle-même et envoyez un e-mail supplémentaire en cas de panne de l'alimentation 12V. Quoi qu'il en soit, amusez-vous!

Stephen Poole, CBRE, AMD, est ingénieur en chef chez Crawford Broadcasting Company à Birmingham, Ala.

Comment utilisez-vous un SBC sur votre lieu de travail? Dites-nous à [email protected]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.