Discussions Générales > Bus CAN

Librairie CAN pour ESP32

(1/2) > >>

Jean-Paul:
Bonjour,

Il y a-t-il une librairie recommandée / préférée pour utiliser le CAN sur ESP32 via le controleur intégré (comme LaBox)

Pour les montages avec MCP2515 (2517), connectés sur Arduino classique Nano/Uno/Mega, j'utilise la librairie ACAN (https://www.locoduino.org/spip.php?article268 ou https://github.com/pierremolinaro/acan2515) qui me parait la meilleure solution actuellement.

Une version ACAN utilisant les mêmes concepts / méthodes serait l'idéal mais je n'ai pas trouvé...
(Je sais que ACAN2515 permet d'utiliser un MCP2515 externe connecté à un ESP32 mais cela n'aide pas vraiment)

Merci de votre aide.

Amicalement.
Jean-Paul.

Dominique:
Boujour Jean-Paul,

Une discussion a eu lieu sur ce sujet dans le forum en bas de l'article sur le Bibliothèque ACAN (1)
https://www.locoduino.org/spip.php?article268

Je suis à la recherche des différentes bibliothèques qui existent pour l'ESP32 sachant que LaBox utilise seulement un driver de ligne externe CCMCU230 et son controleur CAN interne.

Je reviens sur ce sujet un peu plus tard
Cordialement

Dominique:
Après recherches et comparaison des 3 bibliothèques présentes sur le Oueb, je préconise en première approximation celle-ci (de miwagner) :

https://github.com/miwagner/ESP32-Arduino-CAN
qui est la plus récente (2019)

Elle ressemble à celle de nhatuan84 qui contient les même éléments mais datés de 2017,

https://github.com/nhatuan84/esp32-can-protocol-demo

avec une article genre tuto :http://www.iotsharing.com/2017/09/how-to-use-arduino-esp32-can-interface.html


Elles diffèrent aussi par les exemples. Les exemples de la 2ème se compilent bien avec la première.

Elle(s) permettent notamment de déclarer une file d'attente configurable comme la bibliothèque ACAN, ce qui est important. Elle permettent aussi de configurer des masques et des filtres.

On peut se procurer une note d'application du SJA1000 qui est le controleur CAN intégré dans l'ESP32 :
https://www.nxp.com/docs/en/application-note/AN97076.pdf
et la datasheet du SJA1000 de NXP :
https://www.nxp.com/docs/en/data-sheet/SJA1000.pdf

Je vous tiendrai au courant de mes prochains tests

Dominique:
Comme promis, voici un petit programme de test du bus CAN.
avec la bibliothèque https://github.com/miwagner/ESP32-Arduino-CAN
J'utilise un Satellite V1 (donc à base de Nano) et un cordon téléphonique (4 fils du commerce, droit ou croisé, ça marche).
Sur le Nano je charge le programme Test_ACAN_Send-Receive_ID7 (qui utilise la bibliothèque ACAN).

Sur LaBox, je charge le programme Can-test-Jan-21.

Sur le moniteur on doit voir :
standard frame  from 0x00000007, DLC 8
0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80

Jean-Paul:
Bonjour,

Tout d'abord un grand merci pour ces messages complets, détaillés et très clairs. J'imagine le travail de recherche et de préparation préalable ...

L'installation des exemples sur Labox d'un coté et un Nano + interface CAN MCP2515 de l'autre côté, est sans problème et les messages passent du premier coup.
Ceci permet de confirmer le fonctionnement de l'interface CAN de LaBox en particulier vu l'utilisation, dans mon cas, d'une carte MCU-230 en peu 'spéciale' (cf https://forum.locoduino.org/index.php?topic=922.msg12212#msg12212)

Je vais à présent me plonger dans le bibliothèque de miwagner et peut-être dans les documents du SJA1000.
Il me semble en tout cas qu'il faudra avoir un équivalent du 'tryToSend' de ACAN pour essayer d'envoyer des messages sans bloquer si le bus est déconnecté.

Amicalement

Jean-Paul

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique