Accès aux ports GPIO "pérenne" ?

Vous souhaitez piloter votre framboise à partir d'une page web ? Ou mieux encore à partir d'un smartphone ou d'une tablette Android ? Venez donc visiter cette rubrique...

Modérateur : Francois

smog
Messages : 46
Enregistré le : mar. 24 nov. 2020 08:03

Re: Accès aux ports GPIO "pérenne" ?

Message par smog » ven. 27 nov. 2020 15:03

Merci encore pour toutes vos réponses ultra riches.
je regarde ça progressivement et je reviens vers vous, j'ai déjà quelques questions.

smog
Messages : 46
Enregistré le : mar. 24 nov. 2020 08:03

Re: Accès aux ports GPIO "pérenne" ?

Message par smog » ven. 18 déc. 2020 07:16

Bud Spencer a écrit :
mer. 25 nov. 2020 09:56

Jette un coup d’œil la et . Tu vas voire à quel point les méthodes que tu utilises sont obsolètes et limitées. Il y a aujourd’hui de quoi développer des applications simples et très efficaces qui savent embarquer elles même leur propre service de publication web et qui sont en mesure de dialoguer bilatéralement et en temps réel entre elles et des client http quel qu’ils soient.
Merci infiniment pour toutes ces informations et ce tutoriel. J'ai commencé à travailler ça, c'est une mine qui me donne une pêche d'enfer !
Je connais un peu toutes ces technologies, tu me permets de les approfondir et de les "rationnaliser".
Juste une première question : ton choix de JS (Node.js) est basé sur quoi ? Simplicité, connaissances, tests, efficacité ? Un peu de tout ça ?

C'est brillant en tous cas, et je suis impatient de commencer à travailler .Net Core IoT aussi. Merci, encore une fois, de partager tout ça !


EDIT : j'ai parcouru le début de ton post sur .NET Core, j'ai un début de réponse : avec node.js les performances sont là (je n'ai pas tout compris sur ta procédure de test avec les itérations, mais je vois bien les résultats chiffrés !) donc j'imagine que ça influe sur le choix...

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: Accès aux ports GPIO "pérenne" ?

Message par Bud Spencer » sam. 19 déc. 2020 10:30

Pourquoi NodeJs … Perso, je n’ai pas d’affinité particulière pour le JavaScript et c’est un langage que j’utilise très peu mais je reste persuadé que c’est un des meilleurs choix, sinon le meilleur pour les programmeurs débutants ou occasionnel qui veulent exploiter efficacement le PI. Dans 99% des cas, les développements qui tournent autour du PI, ce sont des projets d’interaction locale ou distante en temps réel avec tout un tas de capteurs ou de périphériques au travers des gpio mais aussi avec des ressources système et meme d’autres services en ligne. Il suffit juste de savoir que NodeJS peut répondre à toutes ces problématiques de façon beaucoup plus simple et efficace que la plupart des autres solutions et avec infiniment moins de code. Je pense aussi qu’il est beaucoup plus judicieux d’apprendre à programmer en JavaScript plutôt qu’en python. Meme si ces 2 langages n’ont pas la rigueur qui permet de former de bon developpeur, JavaScript est quand meme un peu plus rigoureux que python et surtout il utilise une syntaxe plus conventionnelle, ce qui peut grandement faciliter la transition vers d’autres langages.

.Net c’est autre chose. Là on touche plus à une de mes spécialisations et si l’on parle de langage, en ce qui me concerne c’est C# (logique puisque je viens du C, C++ et de Java). Avant .Net Core, je n’avais pas fait état des possibilités de cette solution parce que le niveau qu’il y a sur ce forum en terme de programmation est bien trop bas. Pour aborder .Net, il faut déjà avoir des bases solides en programmation et surtout connaitre les rudiments de la programmation objet. Mais quand j’ai vu que System.Device.Gpio et Iot.Device.Bindings était totalement compatible avec le PI, je me suis dit que c’était dommage de ne pas en parler et qui d’autres que moi l’aurrait fait ici ?

Je ne pense pas que l’on puisse comparer C# .Net avec NodeJs. Tout ce que l’on fait avec NodeJS, on peut le faire avec .Net, mais pas l’inverse. La richesse de .Net est énorme. Exemple simple avec les GPIO sur le pi : avec NodeJS, j’ai besoin d’utiliser une ressource tierce (wiringPi, rpio, pigpio ….). Avec .Net pas besoin de ça. System.Device.Gpio est une ressource officielle de .Net et elle est transparente quel que soit le langage ou la plateforme utilisée. Quand je fais une appli web avec NodeJs, je suis dépendant des versions de NodeJS, d’express, d’ejs, de npm ect … Avec .Net , je n’ai pas ce problème puisque tout est intégré dans le meme Framework. En terme de performance il ni a pas photo non plus. NodeJS est extrêmement rapide sur son thread unique, mais cela ne peut pas rivaliser avec les pools de thread de .Net. Autre énorme avantage de .Net, c’est l’interopérabilité. Quel que soit l’os ou la plateforme, il est on ne peut plus simple d’interfacer n’importe quelle librairie existante sans avoir à la modifier ou à la recompiler. Pour résumer, .Net, c’est un autre monde. Pas forcément un bon choix pour des tout petits projets. Pas forcément un bon choix non plus pour vouloir apprendre la programmation en partant de 0. Par contre, pour ceux qui ont déjà un peu d’expérience objet que ce soit en python, c++ , java ou n’importe quel autre langage poo et qui vise des projets robustes et ambitieux , je vous recommande très chaudement .Net.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

smog
Messages : 46
Enregistré le : mar. 24 nov. 2020 08:03

Re: Accès aux ports GPIO "pérenne" ?

Message par smog » sam. 19 déc. 2020 11:56

Merci pour ta réponse claire et argumentée. Je commence le C# et je dois reconnaître que c'est un langage très intéressant qui ouvre de belles perspectives (j'ai des connaissances en C++ mais tout ce qui tourne autour de la liaison soft/hardware comme les GPIO est encore très obscur).
Une chose est sûre, ton aide m'ouvre de beaux horizons, mille mercis.

Répondre

Retourner vers « Des interfaces pour le Raspberry Pi »