sforkowany z mirror/meshtastic-firmware
make readme a bit more real.
rodzic
4483bd7f2b
commit
befb06bdd9
36
README.md
36
README.md
|
@ -1,5 +1,35 @@
|
||||||
# meshtastic-esp32
|
# Meshtastic-esp32
|
||||||
|
|
||||||
[![Join the chat at https://gitter.im/Meshtastic/community](https://badges.gitter.im/Meshtastic/community.svg)](https://gitter.im/Meshtastic/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
This is the device side code for the [meshtastic.org](https://www.meshtastic.org) project.
|
||||||
|
|
||||||
You probably don't want this yet.
|
Meshtastic is a project that lets you use
|
||||||
|
inexpensive GPS mesh radios as an extensible, super long battery life mesh GPS communicator. These radios are great for hiking, skiing, paragliding -
|
||||||
|
essentially any hobby where you don't have reliable internet access. Each member of your private mesh can always see the location and distance of all other
|
||||||
|
members and any text messages sent to your group chat.
|
||||||
|
|
||||||
|
The radios automatically create a mesh to forward packets as needed, so everyone in the group can receive messages from even the furthest member. The radios
|
||||||
|
will optionally work with your phone, but no phone is required.
|
||||||
|
|
||||||
|
Typical time between recharging the radios should be about eight days.
|
||||||
|
|
||||||
|
This project is currently pre-alpha, but if you have questions please join our chat: [![Join the chat at https://gitter.im/Meshtastic/community](https://badges.gitter.im/Meshtastic/community.svg)](https://gitter.im/Meshtastic/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge).
|
||||||
|
|
||||||
|
This software is 100% open source and developed by a group of hobbyist experimenters. No warranty is provided, if you'd like to improve it - we'd love your help. Please post in the chat.
|
||||||
|
|
||||||
|
## Meshtastic Android app
|
||||||
|
|
||||||
|
The source code for the Meshtastic Android app is [here](https://github.com/geeksville/Meshtastic-Android).
|
||||||
|
Soon our first alpha release of will be released here:
|
||||||
|
|
||||||
|
[![Download at https://play.google.com/store/apps/details?id=com.geeksville.mesh](https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png)](https://play.google.com/store/apps/details?id=com.geeksville.mesh&referrer=utm_source%3Dgithub%26utm_medium%3Desp32-readme%26utm_campaign%3Dmeshtastic-esp32%2520readme%26anid%3Dadmob&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1)
|
||||||
|
|
||||||
|
## Build instructions
|
||||||
|
|
||||||
|
This project uses the simple PlatformIO build system. You can use the IDE, but for brevity
|
||||||
|
in these instructions I describe use of their command line tool.
|
||||||
|
|
||||||
|
1. Purchase a suitable radio (about $30 from aliexpress)
|
||||||
|
2. Install [PlatformIO](https://platformio.org/).
|
||||||
|
3. Download this git repo and cd into it.
|
||||||
|
4. pio run -t upload (This command will fetch dependencies, build the project and install it on the board via USB).
|
||||||
|
5. Platform IO also installs a very nice VisualStudio Code based IDE, see their tutorial if you'd like to use it.
|
||||||
|
|
3
TODO.md
3
TODO.md
|
@ -5,6 +5,7 @@ Items to complete before the first alpha release.
|
||||||
* retest BLE software update for both board types
|
* retest BLE software update for both board types
|
||||||
* first alpha release, article writeup for hackaday
|
* first alpha release, article writeup for hackaday
|
||||||
* send note about Adafruit Clue
|
* send note about Adafruit Clue
|
||||||
|
* send note to the guy who designed the cases
|
||||||
* send pr https://github.com/ThingPulse/esp8266-oled-ssd1306 to tell them about this project
|
* send pr https://github.com/ThingPulse/esp8266-oled-ssd1306 to tell them about this project
|
||||||
|
|
||||||
# Medium priority
|
# Medium priority
|
||||||
|
@ -26,10 +27,10 @@ Items to complete before the first beta release.
|
||||||
* How do avalanche beacons work? Could this do that as well? possibly by using beacon mode feature of the RF95?
|
* How do avalanche beacons work? Could this do that as well? possibly by using beacon mode feature of the RF95?
|
||||||
* use std::map<NodeInfo*, std::string> in node db
|
* use std::map<NodeInfo*, std::string> in node db
|
||||||
|
|
||||||
|
|
||||||
# Low power consumption tasks
|
# Low power consumption tasks
|
||||||
General ideas to hit the power draws our spreadsheet predicts. Do the easy ones before beta, the last 15% can be done after 1.0.
|
General ideas to hit the power draws our spreadsheet predicts. Do the easy ones before beta, the last 15% can be done after 1.0.
|
||||||
|
|
||||||
|
* we currently poll the lora radio from loop(), which is really bad because it means we run loop every 10ms. Instead have the rf95 driver enqueue received messages from the ISR.
|
||||||
* platformio sdkconfig CONFIG_PM and turn on modem sleep mode
|
* platformio sdkconfig CONFIG_PM and turn on modem sleep mode
|
||||||
* keep cpu 100% in deepsleep until irq from radio wakes it. Then stay awake for 30 secs to attempt delivery to phone.
|
* keep cpu 100% in deepsleep until irq from radio wakes it. Then stay awake for 30 secs to attempt delivery to phone.
|
||||||
* have radiohead ISR send messages to RX queue directly, to allow that thread to block until we have something to send
|
* have radiohead ISR send messages to RX queue directly, to allow that thread to block until we have something to send
|
||||||
|
|
|
@ -224,7 +224,7 @@ inline double toRadians(double deg)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the bearing in degrees between two points on Earth.
|
* Computes the bearing in degrees between two points on Earth. Ported from my old Gaggle android app.
|
||||||
*
|
*
|
||||||
* @param lat1
|
* @param lat1
|
||||||
* Latitude of the first point
|
* Latitude of the first point
|
||||||
|
|
Ładowanie…
Reference in New Issue