Anglais | Chine
Ce projet est un module sans fil basé sur la puce ESP32-pico-d4 d'Espressif Systems, avec plusieurs interfaces de protocoles de communication : UART, SPI. L'intention originale de la conception est de faciliter le débogage de l'algorithme de la caméra pour les compétitions de voitures intelligentes et de réduire la difficulté du débogage en coopérant avec l'ordinateur supérieur.
Le matériel esp32 prend en charge l'UART 5 Mbps et l'esclave SPI 10 Mbps
L'une des caractéristiques de ce module est qu'il peut être compatible avec l'interface du port série sans fil ZhuFei, dispose d'une fonction de contrôle de flux matériel et peut utiliser directement le pilote de port série sans fil ZhuFei pour établir une communication unidirectionnelle, éliminant ainsi le besoin des amis de la voiture de tester ce module. La nécessité d'une re-carte ne prend actuellement en charge que la transmission unidirectionnelle vers l'ordinateur supérieur.
Ce logiciel et ce matériel de projet sont approximatifs, invitons tout le monde à communiquer et à faire des suggestions d'amélioration, mon QQ : 1626632460
L'ordinateur supérieur de transmission d'image de voiture intelligente open source peut utiliser l'ordinateur supérieur Zhiyong , ce module est principalement utilisé avec cet ordinateur supérieur , le manuel d'utilisation et les routines du micro-ordinateur monopuce se trouvent dans cet entrepôt informatique supérieur , lien : https://gitee.com /zhou-wenqi/ipc-pour-voiture
Lien vidéo Bilibili : https://www.bilibili.com/video/BV1oZ4y1m7y2
La simulation PCB est la suivante
Catégorie | UART+SPI |
---|---|
Simulation 3D | |
Effet de soudure | |
Lien open source JLC | https://oshwhub.com/Wander_er/891fe1d235694ef7afe684f5a2f05b73 |
Nom | Fonction |
---|---|
doc | Document à puce |
conducteur | Fichier du pilote |
micrologiciel | Micrologiciel |
matériel | Matériel |
image | Image |
logiciel | Script python de l'ordinateur supérieur de transmission d'images simple |
Deux modes de communication
Débit en bauds UART jusqu'à 5 Mbps, recevez jusqu'à 20 000 octets à la fois
Utilisez l'interrogation en série pour extraire les données reçues du tampon. Il existe deux paramètres : la taille du tampon de réception et le temps d'attente maximum. Lorsque le nombre d'octets reçus atteint la taille du tampon, la réception est immédiatement considérée comme terminée ; lorsque l'envoi est terminé mais n'atteint pas la taille du tampon de réception, attendez ensuite un temps d'attente maximum avant de considérer comme terminé un transfert. Ce temps d'attente est fixé à 20ms.
Il peut donc être considéré comme ayant deux modes, commutez en modifiant le paramètre length
dans la fonction uart_read_bytes
() du firmware.
Mode transparent : fait référence à aucune limite d'octets fixe pour les données transmises. Chaque communication peut transmettre des données de différentes tailles, plus flexibles.
Il est recommandé d'utiliser le mode transparent avec un intervalle supérieur au serial port transmission time
+ 20ms
+ udp transmission time (rate calculated at 30Mbps)
Lorsque le paramètre length
est la taille du tampon RX_BUF_SIZE -1
, c'est le mode transparent , Cela suppose qu'aucune donnée n'atteindra cette longueur.
Mode octet fixe : fait référence à une limite d'octets fixe pour les données transmises. La vitesse est plus rapide que le mode transparent mais ne peut transmettre que des données de taille fixe.
Il est recommandé que l'utilisation du mode octet fixe ait un intervalle supérieur au serial port transmission time
+ udp transmission time (rate calculated at 30Mbps)
Lorsque le paramètre length
est égal au nombre d'octets de données fixes envoyés , C'est des octets fixes ,Par exemple, Lors de la transmission d'une image en niveaux de gris de 60 x 90 quand elle est de 5400.
Bien entendu, l’envoi de données inférieures à cette longueur peut également être considéré comme un mode transparent.
Débit en bauds SPI jusqu'à 10 Mbps, recevez jusqu'à 25 000 octets à la fois
SPI transmission time
+ udp transmission time (calculated at 30Mbps)
Le micrologiciel intègre deux modes de communication UART et SPI, qui peuvent être configurés par protocole de communication série et écrits dans Flash, sans perte de puissance, éliminant ainsi le besoin de modifications répétées du micrologiciel.
Comment se connecter à l'ordinateur inférieur ?
UART
Lien Pic-o | Ordinateur inférieur |
---|---|
RXD | TXD |
TXD | RXD |
RTS (MOSI multiplex) | CTS (s'il n'est pas disponible, cela n'a pas beaucoup d'importance, mais vous devez désactiver la détection du contrôle de flux dans la fonction de transmission série de l'ordinateur inférieur) |
IPS
Lien Pic-o | Ordinateur inférieur |
---|---|
CLK | CLK |
MISO | MISO |
MOSI | MOSI |
CS | CS |
Alimentation 5V, le fil de terre doit être connecté
Comment calculer le temps nécessaire pour envoyer une image complète ?
Prenons comme exemple la transmission UART 3 Mbps d'une image en niveaux de gris de taille. Calculez d’abord le nombre de bits dans l’image : 60 x 90 x 8 = 43 200 bits. Divisez ensuite le nombre de bits par le débit en bauds : 43200 / 3000000 = 0,0144 s = 14,4 ms
Comment accéder et utiliser le mode configuration ?
Utilisez l'assistant série USB vers TTL sur votre ordinateur pour connecter Pic-o Link
, court-circuitez les broches MOSI
et CS
, puis réinitialisez. Le voyant RVB est jaune et indique que vous êtes entré en mode configuration. À ce stade, vous pouvez configurer les paramètres Pic-o Link via le port série. Le débit en bauds est de 115 200 et le protocole est indiqué dans le tableau
| Catégorie | Remarque | En-tête du cadre | Longueur | | :------------------------------: | :----------------------------------: | :------: |- ----:| | Sélection du protocole de communication |Entier non signé 8 bits, 0 : UART, 1 : SPI| 0x41 (A) | 1 octet | | Débit en bauds du mode de communication UART | Entier non signé de 32 bits, <=5000000 | 0x42 (B) | 4 octets | | Le mode de communication UART reçoit le numéro d'octet du tampon | Entier non signé de 16 bits, <=20000 | 0x43 (C) | 2 octets | | Compte Wi-Fi | chaîne, jusqu'à 32 octets | 0x44 (D) | 32 octets | | Mot de passe Wi-Fi | chaîne, jusqu'à 64 octets | 0x45 (E) | 64 octets | | Adresse IP du serveur UDP |chaîne, jusqu'à 16 octets| 0x46 (F) | 16 octets | | Port du serveur UDP | Entier non signé de 16 bits, <=65535| 0x47 (V) | 2 octets | | Lire les paramètres du module | instruction unique | 0x48 (H) |aucun | |Écrire les paramètres de la mémoire du module dans Flash|instruction unique | 0x49 (I) |aucun |
Quelle adresse IP dois-je configurer spécifiquement ?
Les deux situations suivantes indiquent les paramètres d'adresse IP configurés par Pic-o Link :
Comment ouvrir le projet de firmware ?
Pic-o Link
et sélectionnez Open with Code
, attendez un moment après l'ouverture, le plugin installera automatiquement les dépendances et compilera la chaîne d'outils. Comment accéder au mode téléchargement et au firmware flash ?
Pic-o Link
à votre ordinateur, appuyez et maintenez le bouton DOWNLOAD
sur Pic-o Link, puis appuyez sur le bouton RESET
, puis cliquez sur le bouton de téléchargement en bas de Platform IO pour compiler et télécharger avec un clic, n'oubliez pas d'appuyer sur le bouton RESET
après le téléchargement Comment modifier le nom d'hôte du module ?
CONFIG_LWIP_LOCAL_HOSTNAME
dans le fichier sdkconfig.pico32
et recompilez le firmware flash.Quelle fréquence WiFI le module prend-il en charge ?
Exigences en matière d'interface et de dessin de PCB ?
Le mode UART prend TC264 comme exemple (se référer au diagramme schématique de l'interface du port série sans fil ZhuFei, peut être directement copié, notez que par rapport à l'interface UART générale, une broche de contrôle de flux supplémentaire est requise, peut imiter le port série sans fil ZhuFei, le pilote d'envoi utilise un GPIO comme mode de saisie à simuler)
Script d'affichage simple de l'ordinateur supérieur de transmission d'image Python, avec détection d'en-tête et de queue de cadre, similaire à l'ordinateur supérieur Zhiyong
Bibliothèques Python requises pour l'exécution :
Test officiel Espressif du taux udp/tcp ESP32 :
Type/Débit | Air dans le laboratoire | Boîte de bouclier | Outil de test | Version IDF (ID de validation) |
---|---|---|---|---|
Réception de paquets 802.11 bruts | N / A | 130 Mbit/s | Outil interne | N / A |
Transmission de paquets 802.11 bruts | N / A | 130 Mbit/s | Outil interne | N / A |
Réception UDP | 30 Mbit/s | 85 Mbit/s | exemple iperf | 15575346 |
Émission UDP | 30 Mbit/s | 75 Mbit/s | exemple iperf | 15575346 |
Réception TCP | 20 Mbit/s | 65 Mbit/s | exemple iperf | 15575346 |
Émission TCP | 20 Mbit/s | 75 Mbit/s | exemple iperf | 1557534 |