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.