Merge pull request #153 from mkinney/add_more_info_to_how_to_help

add details to some dev pages
This commit is contained in:
mkinney 2021-12-26 12:08:42 -08:00 committed by GitHub
commit 65bfe3abe3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 4 deletions

View file

@ -51,6 +51,16 @@ cd Meshtastic-device
git submodule update --init --recursive
```
Note: If you get an error like this:
```
Compiling .pio/build/rak4631_5005/src/plugins/PositionPlugin.cpp.o
src/nrf52/NRF52CryptoEngine.cpp:3:10: fatal error: ocrypto_aes_ctr.h: No such file or directory
```
then you need to run that submodule command from the main Meshtastic-device directory.
5. Activate the Platformio python virtual environment
```

View file

@ -6,19 +6,38 @@ slug: /developers
---
# How to Help
Meshtastic is a team of volunteers and as such there is always plenty of ways to help. This project gets great contributions from people in their off hours and those contributers work on the features they are interested in. It is a very open and welcoming developer community and we are always looking for help improving Meshtastic.
Meshtastic is a team of volunteers and as such there is always plenty of ways to help. This project gets great contributions from people in their off hours. Those contributors work on the features they are interested in. It is a very open and welcoming developer community and we are always looking for help improving Meshtastic.
Here are some ways to help and people to connect with if you have an interest in helping with development.
* If you're a developer, there's plenty stuff to do. Dig in!
* If you're interacting with Meshtastic radios, we could use help with testing, documenting and providing feedback.
* If you're into Web Development, check out the different web repos.
* If you're into Kotlin and Android, check out the link to the repo below.
* If you're into Python, check out the link to the repo below
* If you're into Ham Radio and LoRa, then this is a great project for you!
* ... basically... we would love to have your help and feedback
## Plugins
There are several developers, testers, and active users on [Discord](https://discord.gg/UQJ5QuM7vq).
There are many technologies (and repositories) used in creating the Meshtastic ecosystem. Below is a breakdown:
## Protocol buffers
Most communication and interactions happen with protocol buffers. The [Meshtastic-protobufs](https://github.com/meshtastic/Meshtastic-protobufs) repo is where all of the protocol buffer changes happen. See the [Protobuf API Reference](https://meshtastic.org/docs/developers/protobufs/api) for more details.
## Firmware
The [Meshtastic-device](https://github.com/meshtastic/Meshtastic-device) is where all of the firmware development happens. This is where the code for the esp32 and nrf52 based devices to interact is developed. It is mainly C and C++ code.Think Arduino. It is where the first level of hardware interaction begins and ends.
## Plugins
[Plugins](https://meshtastic.org/docs/software/plugins/) are also implemented mainly in the Meshtastic-device repo above. Typically, you would add functionality in the protobufs repo and the device repo to implement plugin functionality. You probably also want to have some client/device use/interact with the plugin and that is where the Device support comes into play.
## Device Support
The [Meshtastic-python](https://github.com/meshtastic/Meshtastic-python) is typically where the first device interaction takes place, but that is not a requirement. This repo has a cli that allows you to interact with most functionality with the devices. This python library can also be consumed for other applications. See [Community applications](https://meshtastic.org/docs/software/community/community-overview) for other Meshtastic applications.
## Web Application
The [Meshtastic-web](https://github.com/meshtastic/meshtastic-web) is where the hosted web server on the esp32 devices in Typescript is developed. See the [Web interface overview](https://meshtastic.org/docs/software/web/web-app-software) for more details.
@sachaw has been making tons of progress on the web app and would love help with
The [meshtastic.js](https://github.com/meshtastic/meshtastic.js) is a javascript library that provides an interface for Meshtastic devices.
@sachaw has been making tons of progress on the web app and would love help with:
* Saving of preferences
* Better loading state indicators
@ -26,5 +45,10 @@ Here are some ways to help and people to connect with if you have an interest in
* Various plugin support
## Phone Apps
There are two phone apps that interact with the Meshtastic devices:
* The [Meshtastic-Android](https://github.com/meshtastic/Meshtastic-Android) repo contains the Kotlin code for Android based interactions with Meshtastic devices. See [here](https://meshtastic.org/docs/developers/android/build-app) for how to build/create a development environment for the Meshtastic Android App.
* The iOS app is in the process of a complete re-write in Swift and will have the new repo published soon. Note: There are a couple of earlier implementations.
## Documentation
This website is in the [Meshtastic](https://github.com/meshtastic/Meshtastic) repository.