GithubHelp home page GithubHelp logo

meshtastic / meshtastic-backend Goto Github PK

View Code? Open in Web Editor NEW
18.0 8.0 13.0 145 KB

License: GNU General Public License v3.0

Kotlin 88.46% Dockerfile 4.17% Shell 6.60% Mustache 0.77%
kotlin springboot lora meshtastic

meshtastic-backend's Introduction

Meshtastic-backend

Current Build Status CLA assistant

This is the backend server code for talking to devices via our (optional) MQTT internet gateway. It runs on hub.meshtastic.org.

Features provided:

  • Talks to our MQTT broker and decodes channels where users have registered their keys (republishing those messages as cleartext on MQTT)
  • Converts cleartext messages to JSON mqtt messages.
  • Provide REST endpoints of information various frontend apps might want.

Building/running locally

We actively support and encourage new developers. If you would like to run this software on your own machine the following instructions should get you started. If you have other questions please post in our forum or our developer slack channel.

The following commands (if you have Java (version 8 or later installed) should 'just work' to fetch needed dependencies and run the application.

apt install protobuf-compiler # Or for other operating systems download here https://github.com/protocolbuffers/protobuf/releases
git clone --recurse-submodules https://github.com/meshtastic/meshtastic-backend.git
cd meshtastic-backend
./gradlew bootRun

It will then be serving on port 8080 (and talking to the MQTT broker)

If you prefer IDEs (I do), it is setup to work with the Intellij IDE community edition.

If you have problems getting this build to work for you, it is probably best by watching how github uses very similar commands to build and run each checkin. But if that doesn't help, please post in our forum.

License

GNU GPL V3 licensed. Copyright 2021 Geeksville Industries, LLC.

meshtastic-backend's People

Contributors

geeksville avatar mc-hamster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meshtastic-backend's Issues

Default Coordinates GPS position 0.0,0.0 and latitude 0 should not be send

From looking at the MQTT data and map of the global channel it looks like some nodes report their latitude, longitude and altitude as "0".

{"channelId":"LongSlow","gatewayId":"!a84c7038","packet":{"from":1230671069,"to":-1,"channel":177,"decoded":{"latitudeI":0,"longitudeI":0,"altitude":0,"batteryLevel":33,"time":1639753585},"id":1481766144,"rxTime":1639753583,"rxSnr":5.25,"hopLimit":1,"wantAck":false,"priority":"UNSET","rxRssi":-36}}

From looking at the code (https://github.com/meshtastic/Meshtastic-device/blob/6fc3c9c8689e754869097b797c6d9dfe101cc182/src/gps/GeoCoord.h#L85) it seems that those values get initialized as 0 and are sent like this later on.

The behaviour should be changed so that values that can't be determined do not default to 0 and are not reported / used at all.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.