|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2014
Città: Milano
Messaggi: 209
|
Domande varie su come lavorano hardware e software
Ciao a tutti, da qualche mese sto leggendo manuali e libri per apprendere python e java, ma più mi addentro in questi linguaggi più mi vengono domande su come lavorano con l'hardware. Mi spiego meglio: da tempo penso a come poter, per esempio, far accendere un led inviando un comando via bluetooth dal mio dispositivo ( ovviamente il led è attaccato a un altro dispositivo bluetooth ). Come faccio a far capire (?) al bluetooth del led che con un comando deve far accendersi...ovviamente ci deve essere un circuito e un microprocessore...ma come faccio a programmarli? Premetto che conosco la struttura della cpu, dei registri, del bus ecc... ma non capisco come vengono programmati.
Spero riusciate a capire il mio problema, in caso contrario non esitate a chiedere chiarimenti. Inoltre se aveste capito sapreste consigliarmi qualche libro, manuale o sito che chiarisca questi aspetti? Grazie ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non so darti risposte specifiche relativamente a python e java, sicuramente ci saranno delle librerie per accedere alle varie interfacce hardware.
Per quanto riguarda il bluetooth devi sapere che tale sistema prevede vari "profili" che consentono di realizzare diversi tipi di applicazioni. Il più generico a mio parere è quello di "porta seriale": sul pc vedrai il bluetooth come una porta seriale virtuale (alla quale si può accedere come se fosse un file, oppure tramite le api specifiche), mentre il modulo esporrà un'interfaccia seriale con un protocollo standard tipo UART, facilmente interfacciabile con un microcontrollore, dal quale potrai pilotare le uscite digitali per accendere il led. Come vedi ci sono un bel po' di cose da studiare, sul mercato inoltre puoi trovare soluzioni più o meno pronte, la scelta dipende soprattutto da qual'è il tuo obiettivo. In rete trovi molto materiale, comincia a vedere qui per farti un'idea: http://forum.arduino.cc/index.php?topic=104903.0 |
![]() |
![]() |
![]() |
#3 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21662
|
Quote:
imho stai facendo un gran calderone con un miscuglio di roba talmente varia che è difficile dare una risposta completa parli di java e python ok ma se non specifichi dove dovrebbero girare i programmi risulta difficile darti una soluzione. dalle poche informazioni che hai detto io penso di aver capito questo (se ho sbagliato correggimi senza problemi) tu hai un dispositivo (pc o smart device) che deve comunicare in bt con una dispositivo elettronico (una scheda) dotata di led e di una radio bt allora in questo caso la soluzione che di solito si usa è fare il pairing delle radio bt e aprire una connessione con profilo SPP (serial port) una volta fatto questo il cellulare / pc dovrà scrivere su quella seriale (il bt ti crea una seriale virtuale sul pc) un determinato comando (es. la stringa ledON ) la scheda elettronica comunicherà in uart (una seriale con i livelli elettrici da bus interno) con il microcontrollore a bordo della scheda che dovrà, con il codice nel micro, identificare il messaggio e alzare il registro del microcontrollore corrispondente al porto su cui è collegato il led ed è tutto
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
![]() Nel caso specifico del bluetooth puoi usare la libreria pySerial (per la porta seriale) e il modulo ARF 52 http://www.adeunis-rf.com/fr/produits/bluetooth/arf52 e collegarlo al pc tramite un modulino FT232 che è un bridge da USB a RS-232. http://www.ftdichip.com/Products/ICs/FT232R.htm Ti consiglio di studiare un po' di elettronica prima di mettere mano a qualunque cosa, magari puoi giocare in parallelo con roba low cost come il raspberry pi o arduino. Altri siti da vedere: https://www.sparkfun.com/ http://www.electroyou.it/ http://dangerousprototypes.com/ https://www.youtube.com/user/adafruit Un'altra buona cosa sarebbe iscriversi a ing. elettronica, se ancora devi iniziare l'università ![]() Enjoy!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21662
|
Quote:
una roba come tipo questa anche un pò meno complicata (quella nell'immagine ha 2 canali seriali e funziona anche come sniffer e porto di debug per il modulo) ![]()
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jan 2008
Messaggi: 103
|
Io per collegare un modulo bt che va a 3.3v alla seriale sul pc (usb con segnali a 5v) ho usato un partitore solo su tx pc -> rx bt, da bt a pc sono andato diretto
![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
A parte che il pc probabilmente ha già il bluetooth...
L'ARF52 esce a 3.3V ed è fatto per essere interfacciato con microcontrollori o simili. Nel mio messaggio avevo suggerito, se uno vuol collegarlo al pc, di usare l'ft232 che è uart 5 o 3.3V da un lato e USB dall'altro. Se proprio uno ancora avesse una uart di "vecchio tipo" c'è il max232 che è un traslatore di livello. Usare un partitore di tensione non fa altro che deteriorare la qualità del segnale perché disadatti l'impedenza del cavo. La UART fu fatta con livelli tra 0 e -12V per aumentare la distanza di trasmissione, se esci a 12V a fine linea ne hai circa 3 o 4. Per distanze più lunghe di 100m (non sono sicuro del numero, ma era qualcosa del genere) fu inventato il modem che trasmetteva il segnale della UART in modulazione di frequenza. La parentesi storica è for free ![]() In ogni caso mi fa piacere vedere quanta gente gioca con l'elettronica, ci vorrebbe una sezione del forum a parte ![]()
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
![]() |
![]() |
![]() |
#9 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21662
|
seriale a 5V?
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
![]() |
![]() |
![]() |
#10 | ||
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Quote:
Quote:
![]() |
||
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non ho capito la frase tra parentesi come si colloca nel discorso... comunque è un sistema che funziona, ma non è esattamente il massimo dell'affidabilità.
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Jan 2008
Messaggi: 103
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:45.