Wednesday, September 7, 2016

Acceso spento






+

accesso GPIO e interrompere il rilevamento con Node. js su tavole di Linux come il Raspberry Pi zero, 1, 2, o 3, BeagleBone o BeagleBone nero. Se & APOS; re utilizzando Node. js v4 o superiore e di vedere un sacco di errori di compilazione durante l'installazione di OnOff, it & APOS; s molto probabile che gcc / g ++ 4.8 o superiore non sono installati. Vedere Node. js v4 e addons native per i dettagli. Se & APOS; re utilizzando Node. js v0.10.29 sul Raspberry Pi e di vedere un errore di compilazione dicendo che & # x2018; REPLACE_INVALID_UTF8 & # x2019; non è un membro del & # x2018; v8 :: String & # x2019; vedi Node. js v0.10.29 e addons nativi sul Raspberry Pi. Se & APOS; re utilizzando Node. js v0.10.29 sul BeagleBone nero e di vedere un errore di compilazione dicendo che & # x2018; REPLACE_INVALID_UTF8 & # x2019; non è un membro del & # x2018; v8 :: String & # x2019; vedi Node. js v0.10.29 e addons nativi sul BeagleBone nero. I meccanismi che consentono pi utente su Raspbian di GPIO di accesso senza i privilegi di superutente funzionano correttamente nel 2015/05/05 rilascio di Raspbian Wheezy. Tuttavia, se Raspbian Wheezy è stato aggiornato con l'aggiornamento sudo apt-get e sudo apt-get upgrade. questi meccanismi si romperà. Si tratta di un problema noto Raspbian Wheezy. Il problema inoltre descritto come risolvere il problema. Si noti che questo è solo un problema su Raspbian Wheezy. Su Raspbian Jessie i meccanismi funzionano correttamente. Per un'introduzione alla Node. js checkout OnOff di sviluppo per il Raspberry Pi al Learning System Adafruit. Si supponga che ci & APOS; s un LED sulla GPIO # 14 e un pulsante momentaneo sulla GPIO # 4. Quando si preme il pulsante, il LED dovrebbe accendersi, quando & APOS; s rilasciato il LED dovrebbe spegnersi. Ciò può essere ottenuto con il codice seguente: Qui sono stati creati due oggetti GPIO. Una chiamata ha portato per il LED sulla GPIO # 14 che è un'uscita, e uno chiamato pulsante del pulsante momentaneo sulla GPIO # 4, che è un ingresso. Oltre a specificare che il pulsante è un input, i costruttori opzionale terzo argomento viene utilizzato per specificare che & APOS; entrambi & APOS; salita e di discesa di interrupt deve essere configurato per il pulsante GPIO sia come pressione di un tasto e rilascia dovrebbero essere trattati. Dopo tutto quello che è stato impostato correttamente, i pulsanti guardano metodo viene utilizzato per specificare una funzione di callback da eseguire ogni volta che viene premuto o rilasciato il pulsante. L'argomento valore passato alla funzione di callback rappresenta lo stato del pulsante che sarà 1 per pressato e 0 per rilasciato. Questo valore viene utilizzato dal callback per accendere il LED acceso o spento utilizzando il suo metodo writeSync. Quando il programma di cui sopra è in esecuzione può essere terminato con Ctrl-C. Tuttavia, esso doesn & APOS; t liberare le proprie risorse. Si ignora anche l'argomento err passato al callback. Qui & APOS; s una variante leggermente modificata del programma che gestisce Ctrl-C con grazia e balle fuori in caso di errore. Le risorse utilizzate dagli oggetti GPIO led e dei pulsanti vengono rilasciati chiamando il loro metodo unexport. Internamente OnOff utilizza file sysfs situati in / sys / class / GPIO per accedere GPIO e il modulo epoll per rilevare gli interrupt hardware. L'interfaccia sysfs Linux GPIO per userspace è documentato qui. It & APOS; s relativamente semplice interfaccia che può essere utilizzato per chiedere al kernel di Linux per esportare il controllo di un GPIO per userspace. Dopo il controllo di un GPIO è stato esportato in userspace, il GPIO può essere configurato come ingresso o uscita. Successivamente, lo stato di un ingresso può essere letta, e lo stato di uscita può essere scritto. Alcuni sistemi permetterà anche lo stato di un'uscita da leggere. L'interfaccia sysfs GPIO può anche essere utilizzato per il rilevamento di interruzione. OnOff in grado di rilevare diverse migliaia di interruzioni al secondo sia sul BeagleBone e il Raspberry Pi. GPIO - Un numero intero senza segno che specifica il numero GPIO. direzione - Una stringa che specifica se il GPIO deve essere configurato come ingresso o uscita. I valori validi sono: & APOS; in & APOS ;, & APOS; APOS fuori & ;, & APOS; il più alto e APOS ;, e & APOS; bassa & APOS ;. & APOS; alta & APOS; e & APOS; bassa & APOS; sono varianti di & APOS; fuori & APOS; che configurano il GPIO come uscita con un livello iniziale di alto o basso, rispettivamente. [Bordo] - Una stringa opzionale che specifica il bordo di generazione di interrupt o bordi per un ingresso GPIO. I valori validi sono: & APOS; nessuno & APOS ;, & APOS; l'aumento e APOS ;, & APOS; cadono & APOS; o & APOS; entrambi & APOS ;. Il valore di default è & APOS; nessuno & APOS; indicando che il GPIO non genera interrupt. Su kernel Linux precedenti alla 3.13 è stato possibile per entrambi gli ingressi e le uscite per generare interrupt. I 3.13 kernel cessato il supporto per le uscite di generazione di interrupt, indipendentemente dal fatto che l'hardware sottostante li sostiene o no. [Opzioni] - Un opzioni facoltative oggetto. Restituisce un nuovo oggetto GPIO che può essere utilizzato per accedere a un GPIO. Le seguenti opzioni sono supportate: activeLow - Un valore booleano che specifica se i valori letti o scritti alla GPIO dovrebbero essere invertite. Il bordo di generazione interrupt per la GPIO seguire anche questa questa impostazione. I valori validi per activeLow sono true e false. Impostazione activeLow ai veri inverte. Opzionale, il valore predefinito è false. GPIO su Linux sono identificati con numeri interi senza segno. Questi sono i numeri che devono essere passati alla funzione di costruzione GPIO OnOff durante l'esportazione GPIO a userspace. Ad esempio, il pin 8 sull'intestazione espansione Raspberry Pi P1 corrisponde a GPIO # 14 a Raspbian Linux. 14 è quindi il numero di passare alla onoff GPIO costruttore in pin 8 nell'intestazione espansione P1. [Callback] - Un callback completamento opzionale che riceve due argomenti (Err, il valore), dove err è riservato per un oggetto di errore e il valore è il numero 0 o 1 e rappresenta lo stato del GPIO. Leggere il valore GPIO in modo asincrono. Si noti che la maggior parte dei sistemi supportano rilettura di GPIO configurati come uscite. Il metodo di lettura può quindi essere definito per ogni GPIO, indipendentemente dal fatto che sia stato configurato come ingresso o uscita. Il Raspberry Pi e BeagleBone sono esempi di tali sistemi. Leggere il valore GPIO sincrono. Restituisce il numero 0 o 1 per rappresentare lo stato del GPIO. Si noti che la maggior parte dei sistemi supportano rilettura di GPIO configurati come uscite. Il metodo readSync può quindi essere definito per ogni GPIO, indipendentemente dal fatto che sia stato configurato come ingresso o uscita. Il Raspberry Pi e BeagleBone sono esempi di tali sistemi. Valore - Il numero 0 o 1. [Callback] - Un callback completamento opzionale che ottiene un argomento (ERR), dove err è riservato per un oggetto di errore. Scrivi valore GPIO in modo asincrono. Valore - Il numero 0 o 1. Scrivi valore GPIO sincrono. callback - Una callback che prende due argomenti (Err, valore), dove err è riservato per un oggetto di errore e il valore è il numero 0 o 1 e rappresenta lo stato del GPIO. Il valore può anche essere utilizzato per determinare se l'interrupt è verificato su un fronte di salita o di discesa. Il valore 0 implica un bordo interrupt caduta e un valore di 1 implica un fronte di salita interrupt. Guarda per gli interrupt hardware sul GPIO. L'argomento bordo che è stato passato al costruttore determina quale interrupt hardware da controllare. [Callback] - La richiamata da rimuovere. Smettere di guardare per gli interrupt hardware sul GPIO. Se viene specificato callback, solo quel particolare richiamata viene rimosso. In caso contrario, tutte le richiamate vengono rimossi. Rimuovere tutti gli osservatori hardware di interrupt per il GPIO. Restituisce i APOS stringa &; in & APOS; o & APOS; fuori & APOS; che indica se il GPIO è un ingresso o un'uscita. direzione - Una stringa che specifica se il GPIO deve essere configurato come ingresso o uscita. I valori validi sono & APOS; in & APOS; e & APOS; fuori & APOS ;. Impostare la direzione GPIO. Restituisce la stringa & APOS; nessuno & APOS ;, & APOS; cadendo & APOS ;, & APOS; l'aumento e APOS ;, o & APOS; entrambi & APOS; indicando il bordo di generazione di interrupt o bordi per il GPIO. edge - Una stringa che specifica il bordo di generazione di interrupt o bordi per il GPIO. I valori validi sono: & APOS; nessuno & APOS ;, & APOS; l'aumento e APOS ;, & APOS; cadono & APOS; o & APOS; entrambi & APOS ;. Su kernel Linux precedenti alla 3.13 è stato possibile per entrambi gli ingressi e le uscite per generare interrupt. I 3.13 kernel cessato il supporto per le uscite di generazione di interrupt, indipendentemente dal fatto che l'hardware sottostante li sostiene o no. Impostare GPIO interrupt generazione di bordo. Restituisce vero o falso che indica se i valori letti o scritti alla GPIO sono invertiti. invertire - Un valore booleano che specifica se i valori letti o scritti alla GPIO dovrebbero essere invertite. Il bordo di generazione interrupt per la GPIO seguire anche questa questa impostazione. I valori validi per invertito sono true e false. Impostazione activeLow ai veri inverte. Opzionale, il valore predefinito è false. Impostare impostazione GPIO activeLow. Invertire l'effetto di esportare il GPIO allo userspace BLINK il LED sulla GPIO # 14 per 5 secondi: Testato sui seguenti piattaforme: L'idoneità di OnOff per una particolare scheda di Linux è fortemente dipendente come le interfacce GPIO sono resi disponibili su quel bordo. La documentazione interfacce GPIO descrive le convenzioni di accesso GPIO piuttosto che norme che devono essere rispettate in modo GPIO può variare da piattaforma a piattaforma. Ad esempio, OnOff si basa su file sysfs trova in / sys / classi / GPIO essere disponibile. Tuttavia, questi file sysfs per userspace GPIO sono opzionali e possono non essere disponibili su una particolare piattaforma. Non è mai stato più facile da gestire team di sviluppatori con diversi permessi e progetti multipli. Ulteriori informazioni su pacchetti private e le organizzazioni & hellip; Statistiche Provalo parole Dipendenze (1) Hai bisogno di aiuto A proposito di NPM roba legale




No comments:

Post a Comment