Quel(s) langage(s) source pour vos dev /Raspberry++

Quel(s) langage(s) source : Python, C++, Pascal.. pour vos dev /Raspberry++

Bonjour à tous,

Je vois [et suis intéressé] de plus en plus de sujets évoquant des développeurs 'nautiques' autour de l'electronique du bord, volontiers sur Arduino ou Raspberry (malgré une consommation électrique importante 60 W / h).

Pour mutualiser, connaître vos plates-formes d'usage ou de développement, voire partager vos goûts, envies et manques, vos propositions et déjà vos acquis, ce fil interroge pour partager sur :

  • 1/ vos langages de dev.
  • 2/ vos plateformes

  • 3/ vos projets

  • 4/ vos avancements/partagés

Si vous voulez répondre,
Et que cela permette des émergences...

PS merci à JP59 [et Bmayer, Courtox56 et bien d'autres] d'avoir incité à aller à cette participation, suite à www.hisse-et-oh.com[...]gratuit

L'équipage
08 mars 2023
08 mars 2023
  1. Langages : C++, Pascal, Php, python[débute]
  2. OS/plate-forme : Win + Linux + raspberry

  3. Électronique basique perso basse consommation : instruments, nav, cartos diverses, pilotes.

  4. Dispo

PS il me semble que la facilité et l'avenir militent pour Python, plus souple et facile que d'autres langages, plus professionnels !


Louarn:oui mais moins performant, visible notamment sur Raspberry pico·le 09 mars 2023 11:46
08 mars 2023

C++ sur arduino, python sur raspi quand j'en ai besoin. Le principal inconvénient de python à mon sens réside dans ses performances relativement modestes. Ce n'est absolument pas dérangeant pour faire de petits scripts qui n'ont pas d'objectif de performance, mais ca peut devenir embetant pour de plus gros projets (mais ca dépasse le cadre de cette discussion).
Le raspi à bord, je ne lui ai toujours pas trouvé d'utilité, à part pour jouer. Tout ce dont j'ai eu besoin, j'ai toujours réussi à le faire avec des cartes arduino-compatibles (dont les incroyables esp8266 et esp32), pour une fraction du prix et de la conso d'un raspberry.
J'ai fait jusque la :
- sur atiny13 : un diviseur de fréquence pour le compte-tour (le compte tour aliexpress n'avait pas une plage de réglage adaptée à mon moteur, malgré ce que disait la doc)
- sur atmega328 : un systeme de surveillance des differentes températures moteur avec écran lcd 2X16 et 3 sondes ds18b20 (de mémoire)
- sur esp-01 : multiplexeur nmea0183 avec renvoi en wifi des informations ais (pour ma tablette qui me sert de gps)
- sur esp-12 : une carte 4 relais avec module radio 433Mhz. Par encore trouvé d'utilité à bord, mais elle pilote mon chauffage à la maison


08 mars 2023

Hello,
On entend de plus en plus parler du langage Rust.
Quelqu'un ici a-t-il essayé ?
Amicalement.
FX


Jatim:Oui, il commence a avoir ses lettres de noblesse en backend.Des grosses entreprises l'utilisent pour de très gros projet (AWS Lambda/Batch etc sont entièrement écrite en Rust)Leurs idées principales c'étaient surtout de réduire les couts.Les entreprises sont toujours très frileuse, mais c'est quelques choses qu'on commence a voir, et certains de mes scripts au boulot je les ai fait en rust.C'est un langage assez simple, une fois qu'on a compris le "borrow-checker", et qu'on comprends les structures Option et Result, Il n'y a pas 10'000 syntaxes a apprendre.Un weekend devrait suffire a un développeur expérimenté, pour pouvoir commencer a écrire des petits programmes sans buté sur chaque ligne. Et je pense qu'on a un niveau acceptable professionnellement en 2/3 semaines.·le 08 mars 2023 20:18
08 mars 2023

Je crois surtout que le choix du langage dépend du projet. Si un projet est orienté micro-électronique et ne nécessite qu'un micro-contrôleur, le C ou le C++ me semble les plus indiqués, ils permettent entre autres de venir très près du matériel. Si le projet fait intervenir beaucoup de calculs, des IHM, le Pi est plus adapté, on trouve beaucoup de bibliothèques scientifiques en Python. Enfin si on souhaite distribuer les applications, si on veut faire du web, de l'IHM, alors je pense que c'est plutôt Javascript qu'il faut choisir. Sachant que dans un projet on n'utilisera pas forcément qu'un seul langage.


Lithops:Une bonne intro : forums.framboise314.fr[...]pic.php ·le 08 mars 2023 09:30
Jatim:Le C++ sur un microcontroller ? Faut que ça soit un macro micro controller alors :D Ou alors s'interdire d'utiliser la stdlib, le rtti, les exceptions (donc autant dire 95% du langage).·le 08 mars 2023 20:20
Lady_C:@jatim : et pourtant, c'est ce qui fait tourner les Arduino et les Esp8266 et Esp32·le 08 mars 2023 20:28
08 mars 2023

Ada : un ancien langage très peu souple donc beaucoup moins de bug.
utilisé dans les fusées, le controle aérien, les tGV etc.


08 mars 2023

Hello,
Perso je n'ai développé que sur Arduino, Uno, Méga, et Esp32. Ca convenait à de que j'avais besoin de faire.
Je n'ai pas encore eu besoin de passer sur Rasp. Et ça ne me tente pas , car je n'ai pas le temps de me mettre à un autre langage et je n'ai pas eu le besoin de ce type de carte. En plus j'apprends ici que ça consomme pas mal.
Coté langage je suis donc resté sur le C++ de l'IDE Adruino classique. Pas encore essayé l'IDE V2. Des avis ?
J'ai beaucoup utilisé les excellentes libraries NMEA2000 de Timo Lappalainen.

Ce que je devrais explorer maintenant c'est le BLE Bluetooth Low Energy. J'ai essayé le BT "normal", mais si on peut encore diminuer la conso tant mieux.
Et le BT serait peut-être un bon moyen de diminuer les câblages toujours casse-pied à mettre en oeuvre: prises, soudures, fils à faire passer...
J'ai un peu freiné mes petits essais de développement pour le bateau car il faut reconnaitre que certains fabricants comme Yacht Devices est très inventif dans des capteurs et interfaces à un prix relativement correct.
Le dernier truc sur lequel il faudrait que je retravaille c'est la montre conectée TTGO que j'avais fait l'an dernier, justement pour passer en BLE.
Amicalement.
FX


Lady_C:l'IDE 2.xx Arduino est plus lourd à charger, mais ne change rien aux programmes Arduino par eux-mêmes.
mise à jour des librairies facilitée, le compilateur reste le même. pas passé beaucoup de temps dessus.amusant, j'ai fait une petite mise à jour sur un arduino l'autre jour, l'IDE 2.xx me faisait une erreur de compilation, pas l'IDE 1.8xx, mais ensuite n'a pas eu de souci à me faire le téléchargement. je n'ai pas investigué.·le 09 mars 2023 16:11
ATCFrog:J'ai été hyper déçu par le nouvel ide arduino. Je m'attendais à quelque chose de beaucoup mieux ficelé, à la sauce vscode. Au final, c'est long à lancer, toujours pas très pratique (comme le premier ide) , mais effectivement la gestion des libs a été améliorée...Bilan : dès que j'ai le temps, je me configure platform.io pour me débarrasser une bonne fois pour toute de cet ide...·le 09 mars 2023 18:10
fxvt:Hello,
Merci pour vos retours qui semblent confirmer que ce n'est pas terrible-terrible.
J'étais tenté d'y passer pour l'autocompletion, mais ça attendra un peu. Amicalement.
FX·le 10 mars 2023 10:34
Lady_C:il y a une façon d'avoir un peu du meilleur de 2 mondes.
dans l' IDE Arduino 1.8.19 (ou avant), dans les préférences , vous avez l'option "utiliser un éditeur externe".
votre fichier sera en lecture seule dans l'IDE, et en lecture-écriture dans l'éditeur externe (notepad++, visual, visual codium, ou autres).
quand vous faites une sauvegarde dans l'éditeur externe, celle-ci sera répercutée dans l'IDE pour la compilation.
cette option n'existe pas (encore) dans l'IDE 2.xdans Notepad++, vous pouvez ajouter un fichier d'autocomplétion avec les spécificités Arduino
sourceforge.net[...]plugin/
voir aussi sourceforge.net[...]-alpha/ ·le 10 mars 2023 12:11
08 mars 2023

Quel est ton niveau en codage avec chacun de ces langages?
Si tu est un grand débutant le langage Arduino est très simple et marche bien avec la plus part de l'hardware.
Le python est aussi un langage très simple et utilise mais je le trouve moins accessible.
Mais comme dit plus tôt ton projet définie le langage.


08 mars 2023

Sur une base OpenPlotter/Signalk, Nodered permet de faire pas mal de choses, les bouts de scripts étant plutôt JavaScript.


09 mars 2023

Et pour les débutants, n'oubliez pas Scratch ;-)
robot-educatif.fr[...]cratch/


09 mars 2023

C++ ,un peu HTML ,Ubuntu ,Debian niveau 1 je tente le python mais j'arrive pas à accroché !
Je suis amoureux des ESP 32 ! mais je joue volontiers avec les Raspberry (2 a bord) .
Dans les projets un vrai Navtex (NAVDAT) moderne pas un truc des année 70.


Lady_C:www.fun-mooc.fr[...]python/
www.fun-mooc.fr[...]angage/ ça m'a bien aidé :-)·le 09 mars 2023 11:14
a_guy:Merci Lady C·le 09 mars 2023 15:08
09 mars 2023

1/ vos langages de dev.
Delphi 4 à 10.4 principalement
C, C++, Java, PowerShell à la marge

2/ vos plateformes
MSP430 (energia)
Raspberry Pico

3/ vos projets
Muliplexeur NKE compact / NMEA

4/ vos avancements/partagés


BMayer (LauBen):Un mux NKE ?Protocole Topline ?·le 10 mars 2023 17:58
09 mars 202309 mars 2023

1/ cobol, c, c++, java, python, R, javascript un peu (et des trucs propriétaires)

2/
2a/ les OS : Zos, Linux, assez peu de windows pour y être perdu
2b/ les babases : les machines qui font tourner Zos, les machines qui font tourner Linux, un peu de PC, et en perso 1 PC Linux, 1 RPi 4 qui héberge le PC de nav (Raspbian + kplex + qtVlm + xyGrib (+openplotter) + des trucs pour me faciliter la vie. Comme le pilote est un NKE et que je n'arrive pas à me passer des cartes papier, que je navigue qu'en côtier à la journée, le besoin n'est pas follement établi. C'est surtout de la capture de données

3/ ohlala !

3a/ Finir les formations de mes remplaçants --> plan de charge allégé --> retraite quand formations finies (en 2024)
3b/ Un truc à propos de Victron ? je le découvre... :-D
3c/ Ne pas lâcher trop vite l'analyse de données (va falloir un peu de sevrage) --> Comparer les prévisions MTO et les relevés, voir www.hisse-et-oh.com[...]te-grib

4/ aucun, je n'ai pu naviguer l'année dernière que grâce à MMW33 qui m'a botté le cul, m'a appâté et embarqué


09 mars 2023

Pour ce type de projet, ESP32 + langage Arduino me semble le chemin le plus simple.


Louarn:Quel projet ? Pour le mien, je n'ai nul besoin de Bluetooth ni de wifi·le 10 mars 2023 14:19
11 mars 2023

bonjour

Python sur raspberry pour recuperer via BLE les temperatures de thermometre mijia en differents endroits du bateau
Python sur raspberry pour recuperer par MQTT les infos du systeme electrique victron et
une appli. barometre a base de bmp280

le tout mis en base de données Influx et visualisé par grafana. L'emsemble de ces logiciels est opensource et marche très bien sur raspberry 3b

J'utilise aussi un 2eme pi 3b comme centrale de nav. avec opencpn, le pypilot tourne lui sur un rasp zero dedié. Mais la il n'y a pas de programmation à faire.

mon pc est sous linux/ubuntu


BMayer (LauBen)::-)·le 11 mars 2023 12:18
BMayer (LauBen):www.hisse-et-oh.com[...]te-grib qui vient d'être bousculé par www.hisse-et-oh.com[...]t-point pour lequel il faut transformer ce qui sort d'un smartShunt Victron en NMEA·le 11 mars 2023 12:35
fxvt:Victron publie le code Arduino pour décoder ce qui sort du bmv700, ça peut peut être aider, comme les bmv sont connectés aux shunt qui ne sont pas smart.Je m'en suis servi pour le sortir en n'mea2000·le 11 mars 2023 13:30

Phare du monde

  • 4.5 (117)

2022