2010-07-14 11 views
13

Sto cercando di controllare una luce alimentata dalla rete da un semplice interruttore a relè collegato tramite USB al computer.Controllo dell'interruttore relè semplice tramite USB

L'interruttore di relè non è nemmeno un dispositivo USB, è solo un semplice interruttore che richiede la tensione USB per accenderlo. Quando la tensione scende al di sotto di una soglia, l'interruttore spegne la luce.

Il mio problema è che non riesco a controllare la potenza di una porta USB. Sono felice di farlo usando qualsiasi linguaggio su Windows o Linux (ma preferibilmente Java perché sono abituato a farlo).

risposta

15

Sfortunatamente, nella maggior parte dei casi non è possibile controllare l'alimentazione alla porta USB. L'alimentatore è solitamente cablato e non commutabile nel software. Puoi send a reset to a USB device, ma non funzionerà nel tuo caso.

Ci sono diversi progetti su instructables che funzionano in modo simile a quello che descrivi, ma sfortunatamente sembrano essere piuttosto complicati o richiedono parti costose.

EDIT: V'è in realtà un prodotto attualmente nelle notizie che voglio che si desidera, ma non sembra essere ancora la spedizione: http://www.pwrusb.com/

EDIT (di nuovo): A quanto pare you can do this with some usb hubs. This post sugggests the Linksys USB2HUB4 è uno che funziona.

EDIT (e di nuovo): A quanto pare ci sono una serie di domande simili, ma ci non sembrano essere tutte le risposte più utili:

+0

p1 per un editing completo e tenerci aggiornati. – Caelum

2

Ecco una soluzione completa .

Utilizza una scheda Arduino, con una connessione USB, (e Uno per esempio) per controllare il relè e combina questo con pfod (Protocollo per Operation Discovery) www.pfod.com.au che ti consente di controllare la scheda/il relay dall'arduino IDE SerialMonitor, o una finestra di terminale (TeraTerm) o un programma Java. Il protocollo del messaggio racchiude i comandi in {}, pensa in html semplificato per micros e fornisce numerose schermate, menu, cursori, input di testo e numerici, ecc. È disponibile una specifica dettagliata del protocollo

Vedere Garage Door Remote per un esempio dettagliato, completo Codice Arduino e un esempio di controllo del relè da TeraTerm e Aridino IDE SerialMonitor.

C'è anche un'app per Android, pfodApp, che eseguirà il controllo generale tramite bluetooth o wifi/internet con sicurezza a 128 bit. Il pfodApp fa tutto il materiale Android, è sufficiente codificare alcune semplici stringhe nel codice Arduino per ottenere qualsiasi sistema di menu che si desidera. Vedi www.pfod.com.au per numerosi esempi.

0

Suggerirei di posizionare un'unità Raspberry Pi separata con una funzione wake-on-lan attivata in modo da poter eseguire il ping su off e on.

+3

Potresti fornire documentazione o un tutorial su come impostare il wake-on-LAN con i lamponi? –

+0

Come proprietario di un RPI non sono a conoscenza del fatto che la connessione LAN cablata RPi fornita da un MicroChip [LAN9512] (http://ww1.microchip.com/downloads/en/DeviceDoc/9512.pdf) (modelli con porta B a 2 porte USB)) o [LAN9514] (http://ww1.microchip.com/downloads/en/DeviceDoc/9514.pdf) (modelli 4 porte USB B +) è cablato in software/firmware/hardware - sebbene l'IC abbia la sveglia -con funzionalità LAN per cui potrebbe essere interessante vedere se può essere fatto ...! – SlySven

0

si potesse fare dalla combinazione di questi due prodotti da Pololu, per circa $ 25:

  1. Micro Maestro (assembled)
  2. Basic SPDT Relay Carrier with 5VDC Relay (Assembled)

Il Maestro è principalmente un controller servo, ma è possibile impostare qualsiasi di i suoi canali sono invece semplici uscite digitali. L'uscita può essere controllata dal software Maestro Control Center oppure è possibile scrivere il proprio software. Un'uscita digitale da un Maestro è adatta per accendere il relè sul portante del relè. Il relè può essere alimentato da USB tramite il Maestro; Penso che disegni circa 100 mA di corrente, quindi probabilmente non sarà un problema per la maggior parte delle porte USB, anche se non sarebbe compatibile con USB perché la corrente totale assorbita dal Maestro e dal relè sarebbe superiore a 100 mA. Se sei preoccupato per questo, potresti fornire la tua fonte di energia per la staffetta.

4

La maggior parte dei convertitori da USB a seriale o da USB a RS232 $ 10 supporta l'handshaking hardware. Utilizzare uno di questi come io digitale a canale singolo.

Collegare il transistor che porterà il relè a DTR sulla scheda del convertitore e comandare DTR ON/OFF con il driver del convertitore.

Un 2N7002 è un buon transistor da utilizzare (FET in realtà) poiché funzionerà da 3 V e non ha bisogno di resistori ovunque.

1

Hai bisogno di un microcontrollore USB-GPIO:

Adafruit FT232H (circa $ 15) enter image description here

Arduino Nano ATmega328 (circa $ 7) 2

See this answer