mvitale1989 / pwm_rest Goto Github PK
View Code? Open in Web Editor NEWRESTful services for controlling PCA9685 i2c PWM device
RESTful services for controlling PCA9685 i2c PWM device
Potrebbe essere utile modificare il driver in maniera che sia rappresentabile come un thread avente una BlockingQueue su cui ascolta richieste di scrittura/lettura, tuttavia andrebbe pensato un sistema di feedback verso il thread chiamante.
Proposta:
Sarà in quest'oggetto che dichiarerò quali motori sono presenti nell'installazione, e lui a sua volta gestirà in maniera trasparente il driver I2C e gli oggetti PCA9685 necessari al suo funzionamento. In questo modo dovrò solamente richiamare le funzioni "setAngle" dei motori per poter attuare, e l'oggetto si occuperà del resto.
Ogni motore ha i suoi parametri: è necessario scoprire precisamente quali valori di PWM corrispondono ad una determinata posizione (min o max).
Inoltre sarebbe utile mantenere in memoria la direzione di rotazione del motore.
scrivere istruzioni per la compilazione manuale, per sistemi non-debian (lo script automatizzato presuppone dpkg installato)
Implementare:
Non è necessario memorizzare nel DB il controller del motore. Dovrebbe servire solamente, in corrispondenza di ogni PCA9685, una collezione ORDINATA di ID motore che corrispondono ad i propri canali. Idealmente dovrei avere la tabella PCA9685 (contenente solo l'indirizzo sul bus), la tabella Servo (contenente un ID e le impostazioni del motore) e la tabella di associazione PCA-Servo (che ideamente contenga l'indirizzo PCA [=la sua chiave primaria], l'ID servo ed il canale all'interno del PCA; insomma questa dovrebbe rappresentarmi l'array ordinato di canali del PCA9685).
correggere, nel file compile.sh, le dipendenze reali richieste per poter compilare il sistema
Tramite il servizio REST deve essere possibile:
...vuol dire che probabilmente dovrò aggiungere anche un ulteriore parametro all'oggetto servo, che sarebbe "stato attuale di rotazione". (da 0 ad 1...0 se si trova al minimo di rotazione, 1 se al massimo)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.