Sto sperimentando con il BMW Java SDK sul nuovo BMW 116i Innovation Package. Cose fondamentali come accendere e spegnere le luci, avviare e fermare il motore funzionano bene. Quello che sto cercando di fare ora è scrivere un carlet che limiti la velocità al massimo configurato nel profilo del driver. L'identità del conducente verrà rilevata come al solito tramite il lettore RFID.Come limitare la velocità con BMW JSDK su 116i a livello di codice da Java?
Il mio problema è che sebbene io possa leggere la velocità dal contagiri, non posso veramente limitare la velocità. Ecco quello che ho a lavorare finora:
public class SpeenControllingCarlet extends GenericCarlet {
public void start(final VehicleModel model) throws CarletException {
RfidReader rfidReader = (RfidReader) model
.getDevice(Devices.DRIVER_RFID_READER);
Rfid rfid = rfidReader.getRfid();
DriverProfile driverProfile = model.getDriverProfileRegistry()
.getDriverProfile(rfid.toString());
if (driverProfile == null) {
return;
}
final Double maxAllowedSpeed = Double.valueOf(driverProfile
.getCustomAttribute("maxAllowedSpeed", "190"));
Tachometer tachometer = (Tachometer) mode.getDevice(Devices.TACHOMETER);
tachometer.addSpeedListener(new SpeedListener() {
public void onSpeedChanged(SpeedChangedEvent speedChangedEvent) {
if (speedChangedEvent.getCurrentSpeed() > maxAllowedSpeed)
{
Horn horn = (Horn) mode.getDevice(Devices.HORN);
horn.beep(440, 2000);
}
}
});
}
}
Questo sarà solo un segnale acustico per due secondi, se il conducente va più veloce rispetto al profilo driver consente.
La mia domanda è - esiste la possibilità di limitare effettivamente il limite (non solo un beep sciocco)?
Se questo non è uno scherzo del pesce d'aprile, la mia prossima auto deve essere abilitata per JSDK! –
Ho quasi contrassegnato questo per la cancellazione, essendo come siamo così vicini al 1 ° aprile (il giorno Internet diventa inutile). Ma, secondo http://java.sun.com/developer/technicalArticles/J2ME/TLA.html, a quanto pare in realtà esiste un SDK Java per le BMW. –
Certamente * è * uno scherzo: D –