Ports / pins libres sur ESCP32 CAM

Je viens de recevoir un lot d'ESP32 CAM et voudrais l'utiliser pour gérer des signaux infrarouges en entrée / sortie pour filtrer/générer les commandes envoyées à un robot par sa télécommande infrarouge

=> il y a-t-il des ports restants encore libres avec la camera embarquée ?

Je me sert déjà actuellement de la camera embarquée et de la partie WiFi de l'ESP32 CAM pour streamer sur mon PC la vidéo ce que voie la camera embarquée à l'ESP32 CAM, qui est fixée au robot et celà marche parfaitement
(il me reste juste de ce côté à alimenter l'ESP32 CAM par une pile LIPO plutôt que via un câble USB, l'ESP32 CAM étant déjà "fixée" au dos du robot via un mini sac à dos)

Il faudrait de plus que je puisse capter/analyser sur L'ESP32 CAM les signaux infrarouges en provenance de la télécommande afin de pouvoir les transmettre au PC
(j'arrive déjà très bien à le faire sur un arduino nano mais j'aimerais envoyer les signaux infrarouges décodés en bluetooth plutôt que de seulement les afficher sur la sortie standard)

Le PC recevra les images envoyées en wifi par l'ESP32 CAM, ainsi que les messages infrarouges décodés (en bluetooth si possible), les analysera afin d'effectuer une détection d'obstacle/visée, et renverra ensuite une commande bluetooh à l'ESP32 CAM afin que celui-ci génère en sortie le bon code infrarouge au robot télécommandé

Le but est que l'ESP32 CAM puisse servir de filtre entre la commande infrarouge initiale envoyée par la télécommande et la commande finale reçue par le robot afin de permettre la détection d'obstacle et la gestion de trajets complexes/dynamiques du robot via une analyse sur un PC

Cf. télécommande infrarouge -> capteur infrouge sur l'ESP32 CAM -> flux vidéo WiFi & commandes infrarouges décodées converties en bluetooth -> PC pour analyse -> commandes codées en bluetooth -> ESP32 CAM -> ordres infrarouges envoyées au robot associé à commander

Celà est-il possible ?
(il faut seulement que 2 ports soient libres/compatibles sur l'ESP32 CAM afin de pouvoir y gérer la réception et l'émission de signaux infrarouges, le reste de la communication s'effectuant en WiFi + bluetooth et ne devrait donc pas poser de problème particulier)

la description du pinout est dispo sur internet

il me semble que c'est compliqué d'utiliser à la fois le bluetooth et le Wi-Fi. La Radio et l'antenne sont partagées, pendant que l'ESP32 envoie/reçoit un paquet BT, il ne peut pas écouter ou envoyer un paquet WiFi.

Est-ce que je peux utilser un des ports GPIOs 2 4 12 13 14 et 14 libre si je ne veux pas utiliser pas le carte SD ?

Si oui, lesquels seraient les plus adaptés pour y gérer la réception et l'émission de signaux infrarouges sur l'ESP32 CAM

Je n'y ai pas encore jamais utilisé la partie Bluetooth, seulement la partie Wifi
=> si utiliser les 2 en // crée problème, je peux bien sûr convertir les signaux infrarouges décodés/codés via un message converti en Wifi plutôt qu'en bluetooth
(j'aurais préféré bien dissocier les deux, cf. WiFi pour la vidéo et Bluetooh pour la partie commande, mais pas bien grave si pas possible et que tout doive passer via Wifi)

oui vous pouvez utiliser 12 et 13 par exemple

Bonsoir
ça fait un moment que mes esp32-cam trainent qq part :innocent:

reponse rapide

  • au niveau IO dispo ça doit passer
  • Wifi et bluetooth en "simultané" pas sur du tout que çà passe , il me semble avoir lu qu'il y avait du nouveau mais perso jamais testé
  • Il existe une lib irRemote spéciale esp (j'ai testé récemment )

La vidéo passant en wifi par un flux généré par le sketch CameraWebServer d'exemple de l'ESP32 CAM, je pense qu'il est possible d'adapter ce sketch afin d'y rajouter le transfert des ordres infrarouges arrivant par la télécommande en entrée et le décodage des signaux infrarouges à générer en sortie

Où puis-je trouver cette librairie "lib irRemote spéciale esp" que je vois/teste ça ?

cf le YouTuber avec l'accent suisse :slight_smile: ( Andreas Spiess)

Super, merci à vous deux pour les infos

perso j'utilise celle-ci qui est bien maintenue

Ca marche comme pour un ESP8266 sur l'ESP32 CAM où il me faudra y faire quelques modifs ?

celle d'Artouste devrait marcher directement pour ESP32. il faut juste passer la bonne pin de réception

testé il y une 10zaine de jours en réception et émission par lien MQTT

Quel serait l'intérêt de passer spécialement par un lien MQTT ?

C'est juste pour qu'une communication puisse être établie entre l'ESP32 CAM et le PC afin que le PC puisse analyser les messages infrarouges reçues par l'ESC32 CAM (en // du flux vidéo reçu) et lui renvoie en retour les messages nécessaires que l'ESP32 CAM devra réencoder en infrarouge afin de les envoyer au robot

J'ai compris, le passage via un lien MQTT permet de rester dans les standards pour la communication de messages en IOT => donc je prend :smiley: :smiley:

Pour info, ça marche en E/S les liens MQTT ou il me faudra un lien MQTT pour gérer en sortie les messages infrarouges décodées de l'ESP32 CAM vers le PC et un autre lien pour gérer les messages à encoder en infrarouge en provenance du PC vers l' ESP32 CAM ?
(au pire, je verrais bien ça en fouinant un peu dans les exemples :smiley: :smiley: )

Et j'utilise pour l'instant l'adapteur spécial livré avec les ESP32 CAM S => il faudra que je passe par un Convertisseur USB vers TTL comme pour les Atmega328 Pro Mini par exemple ?

simplement que j'aime bien MQTT et NODERED qui tournent sur un serveur RPI4

JML me parle des pins 12 et 13 mais je vois dans les exemple qu'il est souvent question des pins 11 (ou 14) en réception et 4 (D2) en émission
=> quelles pins me permettraient de rester le plus standard possible pour l'émission IR (la 4 = D2 ?) et en réception IR (la 11, la 14, obi-wan-kenobi ?)

Je n'ai pour l'instant qu'un tout petit peu d'expérience avec la réception/décodage d'un signal IR via la pin 11 sur un arduino nano mais la pin à utiliser pour la réception semble changer en fonction du modèle utilisé (+ sens du vent ?) :frowning: