read sensordata and update the map

This commit is contained in:
unknown 2020-12-08 22:35:51 +01:00
parent 580ac21ca0
commit 074e4f49cc
6 changed files with 69 additions and 56 deletions

74
.idea/workspace.xml generated
View File

@ -23,30 +23,12 @@
</component>
<component name="ChangeListManager">
<list default="true" id="99c957e4-aa42-481d-843d-3fbc901e0f79" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/.idea/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cmd/tcp_only/tcp_only.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/collectors.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/dispatcher.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/format.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/http.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/pipeline.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/static/iphone.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/serial_only/serial_only.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/serial_only/serial_only.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/server/server.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/server/server.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/server_only/server_only.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/dispatcher/dispatcher.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/ex_websocketMessage.json" beforeDir="false" afterPath="$PROJECT_DIR$/static/ex_websocketMessage.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.mod" beforeDir="false" afterPath="$PROJECT_DIR$/go.mod" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.sum" beforeDir="false" afterPath="$PROJECT_DIR$/go.sum" afterDir="false" />
<change beforePath="$PROJECT_DIR$/hyperimu.json" beforeDir="false" afterPath="$PROJECT_DIR$/static/hyperimu.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/static/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/net/net.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial_ubx/serial.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/ublox/decode.go" beforeDir="false" afterPath="$PROJECT_DIR$/ublox/decode.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ublox/messages.go" beforeDir="false" afterPath="$PROJECT_DIR$/ublox/messages.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/tcp_only/tcp_only.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/tcp_only/tcp_only.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/format.go" beforeDir="false" afterPath="$PROJECT_DIR$/core/format.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/static/scripts/map.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/scripts/map.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/static/scripts/websocket.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/scripts/websocket.js" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -58,6 +40,7 @@
<list>
<option value="Go Application" />
<option value="Go File" />
<option value="JavaScript File" />
</list>
</option>
</component>
@ -87,6 +70,9 @@
<property name="go.sdk.automatically.set" value="true" />
<property name="go.tried.to.enable.integration.vgo.integrator" value="true" />
<property name="last_opened_file_path" value="$USER_HOME$" />
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component>
<component name="RecentsManager">
@ -98,7 +84,18 @@
<recent name="$PROJECT_DIR$/serial" />
</key>
</component>
<component name="RunManager" selected="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only">
<component name="RunManager" selected="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/tcp_only">
<configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
<option name="arquillianRunConfiguration">
<value>
<option name="containerStateName" value="" />
</value>
</option>
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
@ -108,6 +105,24 @@
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/server" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/cmd/server/server.go" />
<package value="git.timovolkmann.de/gyrogpsc/cmd/server" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/tcp_only" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/cmd/tcp_only/tcp_only.go" />
<package value="git.timovolkmann.de/gyrogpsc/cmd/tcp_only" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/serial" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
@ -117,21 +132,16 @@
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build server.go" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="FILE" />
<filePath value="$PROJECT_DIR$/server.go" />
<directory value="$PROJECT_DIR$" />
<configuration name="index.html" type="JavascriptDebugType" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/gyrogpsc/static/index.html" useBuiltInWebServerPort="true">
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/tcp_only" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/server" />
<item itemvalue="JavaScript Debug.index.html" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
</list>
</recent_temporary>
</component>

View File

@ -8,7 +8,7 @@ import (
const (
TCP_PORT = ":3010"
HTTP_PORT = ":3011"
SERIAL_PORT = "/dev/tty.usbmodem14201"
SERIAL_PORT = "COM4"
)
func main() {

View File

@ -2,6 +2,7 @@ package main
import (
"git.timovolkmann.de/gyrogpsc/core"
"log"
)
const (
@ -10,9 +11,13 @@ const (
)
func main() {
log.Println("setup dispatcher")
dispatcher := core.NewDispatcher()
processor := core.NewPipeline(dispatcher, 20, 10000)
log.Println("initialize processing pipeline")
processor := core.NewPipeline(dispatcher, 50, 494)
processor.Run()
collectRoutines(processor)
log.Println("start http server")
core.HttpListenAndServe(dispatcher, HTTP_PORT)
}

View File

@ -7,8 +7,6 @@ import (
"log"
"math"
"time"
"github.com/m7shapan/njson"
)
/*{
@ -159,20 +157,20 @@ func convertIPhoneSensorLog(jsonData []byte) (*Sensordata, error) {
func convertAndroidHyperImu(jsonData []byte) (*Sensordata, error) {
prep := struct {
Timestamp int64 `njson:"Timestamp"`
Position [3]float64 `njson:"GPS"`
Orientation [3]float64 `njson:"orientation"`
}{}
err := njson.Unmarshal(jsonData, &prep)
if err != nil {
return nil, err
}
timestamp := gjson.Get(string(jsonData), "Timestamp").Int()
lat := gjson.Get(string(jsonData), "GPS.0").Float()
lon := gjson.Get(string(jsonData), "GPS.1").Float()
alt := gjson.Get(string(jsonData), "GPS.2").Float()
pitch := gjson.Get(string(jsonData), "orientation.0").Float()
roll := gjson.Get(string(jsonData), "orientation.1").Float()
yaw := gjson.Get(string(jsonData), "orientation.2").Float()
sd := &Sensordata{
Timestamp: prep.Timestamp * int64(time.Millisecond),
SourceId: SOURCE_TCP,
Timestamp: timestamp * int64(time.Millisecond),
//Timestamp: time.Unix(0, prep.Timestamp * int64(time.Millisecond)),
Position: prep.Position,
Orientation: prep.Orientation,
Position: [3]float64{lat, lon, alt},
Orientation: [3]float64{pitch, roll, yaw},
}
return sd, nil
}

View File

@ -40,17 +40,17 @@ map.on('load', function () {
});
// setup the viewport
map.jumpTo({ 'center': [9.19640999, 49.12283027], 'zoom': 15 });
map.jumpTo({ 'center': [9.19640999, 49.12283027], 'zoom': 14 });
map.setPitch(30);
// on a regular basis, add more coordinates from the saved list and update the map
//var i = 0;
//var timer = window.setInterval(, 10);
})
function updateMap (coordinates) {
function updateMap (long, lat) {
let coordinates = [long, lat]
empty.features[0].geometry.coordinates.push(coordinates);
map.getSource('route').setData(empty);
map.panTo(coordinates);

View File

@ -37,10 +37,10 @@ window.addEventListener("load", function(evt) {
// let dat = JSON.parse(evt.data)["lsm6dsm gyroscope"]
//let dat = JSON.parse(evt.data)["lsm6ds3c gyroscope"]
let dat = JSON.parse(evt.data)
console.log(evt.data)
//console.log(evt.data)
console.log("JSON geparsed onmessage", dat)
//console.log(dat.orientation)
document.getElementById("gyroscope").style.transform = `rotateX(${-((dat.orientation[1]+90)%360)}deg) rotateY(${dat.orientation[0]}deg) rotateZ(${-dat.orientation[2]}deg)`
//console.log(dat.SOURCE_TCP.Orientation)
document.getElementById("gyroscope").style.transform = `rotateX(${-((dat.SOURCE_TCP.Orientation[1]+90)%360)}deg) rotateY(${dat.SOURCE_TCP.Orientation[0]}deg) rotateZ(${-dat.SOURCE_TCP.Orientation[2]}deg)`
/*
@ -54,8 +54,8 @@ window.addEventListener("load", function(evt) {
// }
// addData(orientation[0] / multiplier)
*/
addData(dat.orientation[0])
setData(dat.GPS[0], dat.GPS[1])
addData(dat.SOURCE_TCP.Orientation[0])
updateMap(dat.SOURCE_TCP.Position[1], dat.SOURCE_TCP.Position[0])
// addData(dat[0])
//document.getElementById("gyroscope").style.transform = `rotateX(${-orientation[0]}deg) rotateY(${orientation[1]}deg) rotateZ(${-orientation[2]}deg) translateZ(50px)`
}