Blazor : auto radiocontrollata con bluetooth ed Arduino

Mentre approfondivo la mia conoscenza di Blazor ho scoperto un'ottima libreria (https://github.com/EngstromJimmy/Blazm.Bluetooth) che consente di potersi connettere via Bluetooth a numerose devices, da un comune browser. Attualmente non tutti i browser sembrano supportare questa possibilità, quello al quale farò riferimento in questo articolo è Chrome, con il quale ho eseguito tutti i test sia su sistema Windows che su Android. Il progetto è molto semplice, realizzato all'unico scopo di verificare le possibilità di utilizzo della connessione bluetooth.

Fase 1 : realizzazione del prototipo

Lista delle parti necessarie

  • kit per auto con quattro motori
  • Modulo Bluetooth CC2541 4.0 HM 10 (Low Energy) basato sul chip CC2541
  • Arduino Mega 2560 r3 o compatibile
  • Arduino Motor Shield REV3

Diagrammi ed immagini

Lo schema del circuito da realizzare, la scheda del Motor Shield è sovrapposta alla scheda Mega. I motori vanno collegati per lato a coppie, per semplicità qui sono rappresentati da due soli motori, destro e sinistro.

Il prototipo completamente assemblato che utilizza un power bank per l'alimentazione, il collegamento del power bank è stato effettuato utilizzando un cavo usb in disuso.

Fase 2 : l'implementazione del software

Potete trovare tutti i sorgenti qui: https://github.com/stefano-maiocchi/RemoteControlledCar sono suddivisi in cartelle differenti:

  • Arduino : contiene il codice per il funzionamento con la scheda omonima
  • Net : contiene tutti i sorgenti in Net6.0
  • diagrams : contiene i diagrammi per la realizzazione del circuito
  • images : contiene varie immagini dimostrative

Quella che segue è l'immagine della UI, volutamente semplice, che consente di poter comandare remotamente il prototipo.

Per utilizzarla occorre - da uno dei browser compatibili - selezionare il tasto Connect. Se il bluetooth è abilitato, verrà mostrata una finestra per l'accoppiamento, una volta eseguito il quale, potrete iniziare ad utilizzare il prototipo mediante il joystick dell'interfaccia grafica.

Alcune note importanti :

  • perchè funzioni correttamente occorre modificare il file Properties / launchSettings.json inserendo in applicationUrl la porta e l'indirizzo di avvio dell'applicazione.
  • per questioni di sicurezza l'utilizzo della connessione bluetooth da browser è consentito solo con https

Fase 3 : il test

Un breve video dimostrativo del funzionamento del prototipo

Questo è tutto, mi auguro vi sia stato gradito. Se volete, lasciate commenti e suggerimenti qui sotto. A presto.

 

 

 

 

Add comment