Ce projet ouvre un socket TCP sur le port 50000 afin de recevoir des ordres JSON pour piloter le RPLidar
- Query
{
"action": "DEVICE_INFO"
}
- Réponse
{
"status": "OK",
"action": "DEVICE_INFO",
"datas": {
"firmwareVersion": "1.20",
"hardwareVersion": 2,
"serialNumber": "123456ABCDEF"
},
"errorMessage": null
}
- Query
{
"action": "HEALTH_INFO"
}
- Réponse
{
"status": "OK",
"action": "HEALTH_INFO",
"datas": {
"libelle": "OK",
"value": 0,
"errorCode": 0
},
"errorMessage": null
}
La données libélé peut prendre les valeurs suivante :
- OK
- WARNING
- ERROR
Les autres valeurs sont récupéré directement depuis le driver RPLidar
- Query sans vitesse de rotation moteur
{
"action": "START_SCAN"
}
- Query avec vitesse de rotation moteur
{
"action": "START_SCAN",
"datas": {
"speed": 560
}
}
La vitesse est comprise entre 0 et 1023
- Réponse
{
"status": "OK",
"action": "START_SCAN",
"errorMessage": null
}
- Query
{
"action": "STOP_SCAN"
}
- Réponse
{
"status": "OK",
"action": "STOP_SCAN",
"errorMessage": null
}
- Query
{
"action": "SET_SPEED",
"datas": {
"speed": 560
}
}
La vitesse est comprise entre 0 et 1023
- Réponse
{
"status": "OK",
"action": "SET_SPEED",
"errorMessage": null
}
- Query
{
"action": "GRAB_DATA"
}
- Réponse
{
"status": "OK",
"action": "GRAB_DATA",
"errorMessage": null,
"datas": {
"ignored": 358,
"scan": [
{
"angleDeg": 122.3,
"distanceMm": 1243.45,
"syncBit": true,
"quality": 47
},
{
"angleDeg": 245.6,
"distanceMm": 234.12,
"syncBit": true,
"quality": 44
}
]
}
}
- Query
{
"action": "EXIT"
}
- Réponse
{
"status": "OK",
"action": "EXIT",
"errorMessage": null
}