polito.it
Politecnico di Torino (logo)

Sviluppo di un Linux Networking Driver e Firmware per il microcontrollore ESP32-WROVER-E. = Development of a Linux Networking Driver and Firmware for the microcontroller ESP32-WROVER-E.

Enrico Valsania

Sviluppo di un Linux Networking Driver e Firmware per il microcontrollore ESP32-WROVER-E. = Development of a Linux Networking Driver and Firmware for the microcontroller ESP32-WROVER-E.

Rel. Luciano Lavagno. Politecnico di Torino, Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica), 2023

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview
Abstract:

Questa tesi di Laurea Magistrale è stata svolta presso Bitron S.p.a, nel reparto R&D Charging svolgendo un tirocinio della durata di 6 mesi. Lo scopo di tale lavoro consiste nella scrittura di un Linux driver e corrispettivo firmware per il modulo Wi-Fi ESP32-WROVER-E per poter utilizzare questo dispositivo su una colonnina di ricarica per auto elettriche come Wi-Fi Station Point oppure Wi-Fi Access Point. L’adozione di questo modulo permette all’utente e all’azienda che fornisce il servizio di monitorare il funzionamento della colonnina, potendo avere a disposizione una larga serie di dati e impostare un profilo di ricarica adeguato all’utente stesso. Inoltre, fornendo accesso Wi-Fi la colonnina di ricarica può implementare il protocollo OCPP, che permette una gestione da un CSMS (Charging Station Management System) in remoto di pilotare la colonnina e altre feature. Essendo l'ESP32-WROVER-32 un microcontrollore, esso implementa all’interno del proprio firmware funzionalità del MAC layer del protocollo 802.11 quindi risulta un dispositivo ’HardMAC’ (also called ’FullMAC’). Quindi, non deve essere implementato all’interno del Linux driver il layer mac80211 come verrà spiegato in maggiore dettaglio all'interno del lavoro di Tesi. Nello specifico, tale Linux driver serve per il riconoscimento e una corretta comunicazione da parte della SoM (consta di un chip STM su cui è implementato il Linux kernel 5.10.61) con il modulo dell’Espressif. Inoltre, viene utilizzato un protocollo SPI per lo scambio di pacchetti e di informazioni tra SoM ed ESP. La SoM funge da Master nella comunicazione mentre l’ESP32 da Slave. Il codice complessivo (lato Linux) consta in un modulo che implementa la comunicazione SPI, la configurazione dell’interfaccia di rete e l’invio/ricezione di pacchetti 802.11 dalla SoM all’ESP32 mentre il firmware implementato lato ESP32 consta nel protocollo SPI, la possibilità di funzionare come station (STA) o come hotspot (AP) e il corrispettivo scambio di pacchetti ricevuti dalla rete alla SoM e dalla SoM alla rete. Complessivamente il lavoro effettuato tocca diversi aspetti che verranno trattate, quali il protocollo 802.11, l’analisi dei pacchetti tramite Wireshark, l’utilizzo dell’SPI e di un logic analyzer, le APIs fornite dall’Espressif utilizzando FreeRTOS, la disamina del funzionamento dei Linux device driver associati ai layer di networking di Linux. Inotre, ovviamente, la scrittura dei due codici interamente in C.

Relators: Luciano Lavagno
Academic year: 2022/23
Publication type: Electronic
Number of Pages: 93
Subjects:
Corso di laurea: Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica)
Classe di laurea: New organization > Master science > LM-25 - AUTOMATION ENGINEERING
Aziende collaboratrici: Bitron S.p.A.
URI: http://webthesis.biblio.polito.it/id/eprint/26665
Modify record (reserved for operators) Modify record (reserved for operators)