Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
locapack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RMESS
bossche-public
locapack
Commits
0d19887e
Commit
0d19887e
authored
4 years ago
by
Adrien van den Bossche
Browse files
Options
Downloads
Patches
Plain Diff
Update files to fit the Node-RED npm standard
parent
36e7478f
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
nodered/README.md
+106
-0
106 additions, 0 deletions
nodered/README.md
nodered/package.json
+6
-3
6 additions, 3 deletions
nodered/package.json
with
112 additions
and
3 deletions
nodered/README.md
+
106
−
0
View file @
0d19887e
# locapack
## Brief
Another localisation packet protocol to send/receive localisation data over networks.
## Details
LocaPack is an implementation of the locapack protocol used to send or receive various localisation data over wired and wireless networks.
LocaPack enables the transport of:
-
universal GNSS localisation coordonates such as latitude/longitude data,
-
locally referenced localisations, such as {x,y} positions in an indoor environment,
-
inter-node proximity information such as ranging data.
Some extra features are also avalable, such as:
-
automatic mapping/translation of coordonates between universal GNSS/locally referenced localisations,
-
movement_id, that enables extra movement information based on another sensor (typically a local accelerometer),
-
packet sequence numbering and local timestamping, to track positions and detect missing information,
-
message hashing, to send shorter but incomplete payloads, to respect privacy.
Several implementations are available:
-
Embedded: C++ class (Arduino library)
-
Infrastrucure/IoT: Node-RED palette
-
Portable: python
A Json description of the messages is also available.
## Implementation
LocaPack is available as a Node-RED Palette, ie a collection of nodes to produce or decode locapack messages.

Node-RED implementation status:
-
decode header,
-
decode universal GNSS packets,
-
decode locally referenced packets.
### JSON messages
LocaPack messages are also available in JSON.
Example of a Universal GNSS localisation packet:
```
json
{
"header"
:
{
"protocol_version"
:
1
,
"device_id_size"
:
2
,
"packet_type"
:
1
,
"movement_id_presence_flag"
:
false
,
"timestamp_presence_flag"
:
true
},
"sequence_number"
:
2746
,
"timestamp"
:
27850001
,
"device_id"
:
237
,
"payload"
:
[
192
,
49
,
131
,
47
,
66
,
150
,
8
,
165
,
63
,
154
,
153
,
18
,
67
,
164
,
112
,
157
,
63
],
"universalGnssPacket"
:
{
"header"
:
{
"altitude_presence_flag"
:
true
,
"dop_presence_flag"
:
true
},
"latitude"
:
43.9
,
"longitude"
:
1.1
,
"altitude"
:
146.6
,
"dop"
:
1.2300000190734863
}
}
```
Example of a Locally Referenced localisation packet:
```
json
{
"LocaPack"
:
{
"header"
:
{
"protocol_version"
:
1
,
"device_id_size"
:
2
,
"packet_type"
:
2
,
"movement_id_presence_flag"
:
false
,
"timestamp_presence_flag"
:
true
},
"sequence_number"
:
163
,
"timestamp"
:
1630289
,
"device_id"
:
124
,
"payload"
:
[
224
,
0
,
0
,
128
,
63
,
0
,
0
,
0
,
64
,
0
,
0
,
64
,
64
,
0
,
0
,
128
,
64
,
136
,
119
,
102
,
85
,
68
,
51
,
34
,
17
],
"locallyReferencedPacket"
:
{
"header"
:
{
"z_presence_flag"
:
true
,
"dop_presence_flag"
:
true
,
"frameofref_id_presence_flag"
:
true
},
"x"
:
1
,
"y"
:
2
,
"z"
:
3
,
"dop"
:
4
,
"frameofref_id"
:
9833440827789222000
}
}
}
```
## License
Locapack is distributed under the GPLv3 license.
This diff is collapsed.
Click to expand it.
nodered/package.json
+
6
−
3
View file @
0d19887e
{
"name"
:
"red-contrib-locapack"
,
"version"
:
"0.0.
1
"
,
"name"
:
"
node-
red-contrib-locapack"
,
"version"
:
"0.0.
4
"
,
"description"
:
"A node to interact with LocaPack devices using the LocaPack protocol"
,
"dependencies"
:
{
},
"keywords"
:
[
"node-red"
,
"localisation"
,
"protocol"
],
"main"
:
"index.js"
,
"scripts"
:
{
"test"
:
"echo
\"
Error: no test specified
\"
&& exit 1"
},
"author"
:
"Adrien van den Bossche <vandenbo@univ-tlse2.fr>"
,
"license"
:
"
ISC
"
,
"license"
:
"
GPLv3
"
,
"node-red"
:
{
"nodes"
:
{
"DecodeLocapackHeader"
:
"decode_locapack_header/decode_locapack_header.js"
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment