Servon liikeradan analysointi ML mallin avulla on Azure IoT Edge AI -pohjainen putki, joka lukee Servon liikeradan mittaustiedon sarjaportin kautta ja tekee reaaliaikaista poikkeamien tunnistusta koneoppimismallilla ja lähettää tulokset Azure IoT Hubiin jatkokäsittelyä ja visualisointia varten.
Järjestelmä koostuu kahdesta IoT Edge -moduulista:
Tarkoitus: Sensoridatan kerääminen sarjaportin kautta
Tarkoitus: Datan prosessointi ja poikkeamien tunnistus koneoppimismallin avulla
measurements[]-taulukko)/app/ML/anomaly_model.pkl/app/ML/feature_scaler.pkl/app/ML/feature_order.json["angle", "acc_x", "acc_y", "acc_z", "acc_total", "d_angle", "d_acc_total", "acc_total_ma", "acc_total_std"]
d_angle = diff(angle), d_acc_total = diff(acc_total)min(5, N) (N = puskurin koko), acc_total_ma ja acc_total_std{
"measurements": [
{
"time_ms": 0,
"angle": 0,
"acceleration": {
"x": 2029,
"y": 1986,
"z": 1648,
"total": 3282
}
}
]
}
{
"status": "processed",
"module": "cleandata",
"timestamp": "2025-12-23T08:00:00.000000",
"original_source": "serialreader",
"message_type": "ml_inference",
"measurement": {
"time_ms": 0,
"angle": 0,
"acc_total": 3282
},
"anomaly_detection": {
"is_anomaly": false,
"anomaly_score": 0.15,
"prediction": 1
}
}
Huom: Jos ML-komponentteja ei saada ladattua, anomaly_detection-kenttään lisätään virheilmoitus ja viesti lähetetään silti eteenpäin.
| Reitin nimi | Lähde | Kohde |
|---|---|---|
| serialreaderToIoTHub | /messages/modules/serialreader/outputs/output1 | $upstream |
| serialToCleandata | /messages/modules/serialreader/outputs/output2 | /modules/cleandata/inputs/input1 |
| cleandataToIoTHub | /messages/modules/cleandata/outputs/output1 | $upstream |
serialreaderToIoTHub lähettää /messages/modules/serialreader/outputs/output1 upstreamiin.serialToCleandata lähettää /messages/modules/serialreader/outputs/output2 cleandatan input1-syötteeseen.cleandataToIoTHub lähettää /messages/modules/cleandata/outputs/output1 upstreamiin.storeAndForwardConfiguration.timeToLiveSecs on asetettu arvoon 7200.IoTHubModuleClient.create_from_edge_environment(), jolloin yhteysasetukset tulevat Edge runtime -ympäristöstä.content_type=application/json ja content_encoding=utf-8.source_module=serialreader, message_type=raw_data.source_module=cleandata, message_type=ml_inference, original_source periytetään saapuvasta viestistä.restartPolicy=always).dialout-ryhmään laitteen käyttöoikeuksia varten./dev/ttyS0 ja käsittelee sarjaporttivirheitä uudelleenyhdistämällä./app/ML/*. Jos lataus epäonnistuu, viesteihin liitetään anomaly_detection-kenttään virhetieto.# Tarkista moduulien tila
iotedge list
# Katso lokit
iotedge logs -f serialreader
iotedge logs -f cleandata
iotedge logs edgeHub
# Käynnistä moduuli uudelleen
iotedge restart <moduulin_nimi>
| Moduuli | Versio | Muutokset |
|---|---|---|
| serialreader | 0.0.18 | Viimeisin testi versio |
| cleandata | 0.0.16 | Viimeisin testi versio |
Huom: Tämä dokumentti on voimassa versioille 0.0.18 (serialreader) ja 0.0.16 (cleandata).