mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-11-14 17:44:37 -08:00
Merge branch 'master' into master
This commit is contained in:
commit
e9e15a78dd
20
blog/2024/October/meshtastic-solutions.mdx
Normal file
20
blog/2024/October/meshtastic-solutions.mdx
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Introducing Meshtastic Solutions: Supporting the Future of the Open Source Meshtastic Project"
|
||||
description: "Meshtastic Solutions is a new initiative designed to support the growth and long-term success of the open source Meshtastic project"
|
||||
slug: introducing-meshtastic-solutions
|
||||
authors: MeshtasticTeam
|
||||
tags: [meshtastic, meshtastic-solutions]
|
||||
date: 2024-10-23T13:00
|
||||
hide_table_of_contents: false
|
||||
image: "/design/web/social-preview-1200x630.png"
|
||||
---
|
||||
|
||||
The Meshtastic Team is excited to announce Meshtastic Solutions. This new venture will support the Meshtastic open source project, as well as provide a pool of expertise for anyone building tools and systems with Meshtastic. Meshtastic Solutions will ensure the long-term health and success of the Meshtastic team and ecosystem, as well as to spur development of the Meshtastic firmware, clients, libraries, and utilities.
|
||||
|
||||
This support will be fueled by partnerships with hardware vendors, many that you are familiar with, and some that are new to Meshtastic. In time, high quality devices will bear the Meshtastic seal of approval. Individual devices will be eligible for registration through Meshtastic, providing assurance of genuine hardware, as well as identity and cryptographic key attestation.
|
||||
|
||||
Meshtastic Solutions will also serve as a hub for businesses that need custom solutions or expert consultation within the Meshtastic ecosystem. Meshtastic Solutions is open for business for providing engineering, software solutions, and other support for custom use-cases. The first stage of this support is the Backer program, where existing manufacturers can financially support Meshtastic. This will be extended to include a full Partner program, offering in-depth design, close support, and device testing assistance. All with the goal of helping hardware vendors produce the best products possible for Meshtastic.
|
||||
|
||||
Meshtastic Solutions is separate from both the Meshtastic open source project, and Meshtastic LLC, the license and trademark holding entity. There will be no drastic changes to the Meshtastic project as a result of this new venture, with the exception of more development and higher quality products and solutions to choose from. This support from Backers and Partners will fuel some long-awaited milestones, including a well-tested Stable firmware release.
|
||||
|
||||
We’re looking forward to a stronger Meshtastic ecosystem that continues in the strong open source legacy the project has worked hard to foster. Follow our progress at [Meshtastic.com](https://meshtastic.com), and feel free to contact us with questions or to discuss business opportunities.
|
|
@ -26,3 +26,11 @@ Jonathan:
|
|||
image_url: https://github.com/jp-bennett.png
|
||||
socials:
|
||||
github: jonathanbennett
|
||||
MeshtasticTeam:
|
||||
name: Meshtastic Team
|
||||
url: https://meshtastic.org
|
||||
image_url: https://github.com/meshtastic.png
|
||||
MeshtasticSolutions:
|
||||
name: Meshtastic Solutions
|
||||
url: https://meshtastic.com
|
||||
image_url: https://github.com/meshtastic-solutions.png
|
||||
|
|
|
@ -14,7 +14,11 @@ This is an interface to talk to and control your Meshtastic device over a serial
|
|||
|
||||
![image](https://user-images.githubusercontent.com/9000580/205529843-962c3187-8411-452c-b729-42c58b1571f5.png)
|
||||
|
||||
<object data="https://www.youtube.com/embed/HdOiGKBtapw?autohide=1&autoplay=0" width="100%" height="400"></object>
|
||||
<object
|
||||
data="https://www.youtube.com/embed/HdOiGKBtapw?autohide=1&autoplay=0"
|
||||
width="100%"
|
||||
height="400"
|
||||
></object>
|
||||
|
||||
## Serial Module Config Values
|
||||
|
||||
|
@ -38,10 +42,10 @@ Available Values:
|
|||
- `TEXTMSG` will allow you to send a string over the serial port to the device, which will be broadcasted as a text message to the default channel. Any text message received from the mesh will be sent to the serial port as follows: `<Short Name>: <text>`.
|
||||
- `NMEA` will output a NMEA 0183 Data stream containing the internal GPS or fixed position and other node locations as Waypoints (WPL).
|
||||
- `CALTOPO` will output NMEA 0183 Waypoints (WPL) every 10 seconds for all valid node locations, to be consumed by [CalTopo / SARTopo](/docs/software/integrations/caltopo.mdx).
|
||||
- `WS85` will parse and compute wind speed data received over serial from the Ecowitt WS85. Transmits valuess via telemetry packet every 5 minutes. Modification of the WS85 weather sensor is required (https://hackaday.io/project/196990-meshtastic-ultrasonic-anemometer-wx-station). If option is not available in app then enable with cli command "meshtastic --set serial.mode 6"
|
||||
- `WS85` will parse and compute wind speed data received over serial from the Ecowitt WS85. Transmits valuess via telemetry packet every 5 minutes. Modification of the WS85 weather sensor is required (https://hackaday.io/project/196990-meshtastic-ultrasonic-anemometer-wx-station). If option is not available in app then enable with cli command "meshtastic --set serial.mode 6"
|
||||
|
||||
:::tip
|
||||
`PROTO` mode will show no obvious output when passively observed by a serial monitor. When testing, consider using the [Python CLI](https://github.com/meshtastic/python) with the `--listen` option, to view the stream of protobufs.
|
||||
`PROTO` mode will show no obvious output when passively observed by a serial monitor. When testing, consider using the [Python CLI](https://github.com/meshtastic/python) with the `--listen` option, to view the stream of protobufs.
|
||||
:::
|
||||
|
||||
### Receive GPIO Pin
|
||||
|
@ -68,7 +72,7 @@ The serial baud rate.
|
|||
|
||||
The amount of time to wait before we consider your packet as "done".
|
||||
|
||||
### Override Console Serial Port
|
||||
### Override Console Serial Port
|
||||
|
||||
If set to true, this will allow Serial Module to control (set baud rate) and use the primary USB serial bus for output. This is only useful for NMEA and CalTopo modes and may behave strangely or not work at all in other modes. Setting TX/RX pins in the Serial Module config will cause this setting to be ignored.
|
||||
|
||||
|
@ -120,18 +124,17 @@ All serial module config options are available in the python CLI. Example comman
|
|||
|
||||
:::
|
||||
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
|
||||
| serial.enabled | `true`, `false` | `false` |
|
||||
| serial.echo | `true`, `false` | `false` |
|
||||
| serial.mode | `DEFAULT` `SIMPLE` `PROTO` `TEXTMSG`, `NMEA`, `CALTOPO` | `DEFAULT` |
|
||||
| serial.rxd | GPIO Pin Number 1-39 | Default of `0` is Unset |
|
||||
| serial.txd | GPIO Pin Number 1-33 | Default of `0` is Unset |
|
||||
| serial.baud | `BAUD_DEFAULT` `BAUD_110` `BAUD_300` `BAUD_600` `BAUD_1200` `BAUD_2400` `BAUD_4800` `BAUD_9600` `BAUD_19200` `BAUD_38400` `BAUD_57600` `BAUD_115200` `BAUD_230400` `BAUD_460800` `BAUD_576000` `BAUD_921600` | `BAUD_DEFAULT` (38400) |
|
||||
| serial.timeout | `integer` (milli seconds) | Default of `0` corresponds to 250 ms |
|
||||
| Setting | Acceptable Values | Default |
|
||||
| :---------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
|
||||
| serial.enabled | `true`, `false` | `false` |
|
||||
| serial.echo | `true`, `false` | `false` |
|
||||
| serial.mode | `DEFAULT` `SIMPLE` `PROTO` `TEXTMSG`, `NMEA`, `CALTOPO` | `DEFAULT` |
|
||||
| serial.rxd | GPIO Pin Number 1-39 | Default of `0` is Unset |
|
||||
| serial.txd | GPIO Pin Number 1-33 | Default of `0` is Unset |
|
||||
| serial.baud | `BAUD_DEFAULT` `BAUD_110` `BAUD_300` `BAUD_600` `BAUD_1200` `BAUD_2400` `BAUD_4800` `BAUD_9600` `BAUD_19200` `BAUD_38400` `BAUD_57600` `BAUD_115200` `BAUD_230400` `BAUD_460800` `BAUD_576000` `BAUD_921600` | `BAUD_DEFAULT` (38400) |
|
||||
| serial.timeout | `integer` (milli seconds) | Default of `0` corresponds to 250 ms |
|
||||
| serial.override_console_serial_port | `true`, `false` | `false` |
|
||||
|
||||
|
||||
:::tip
|
||||
|
||||
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
|
||||
|
@ -264,6 +267,7 @@ while True:
|
|||
```
|
||||
|
||||
#### Arduino Mini Pro BOM
|
||||
|
||||
- An Arduino Mini Pro with example sketch from below uploaded to it.
|
||||
- T-Beam V1.1 running Meshtastic
|
||||
- PIR Sensor ([Adafruit Breadboard Model](https://www.adafruit.com/product/4871))
|
||||
|
|
|
@ -160,11 +160,10 @@ Tap "Edit" to access the Channel Menu:
|
|||
1. Add, remove, or modify secondary channels
|
||||
2. Create or modify encryption keys
|
||||
3. Enable uplink and downlink for individual channels
|
||||
4. Position enabled
|
||||
4. Position enabled
|
||||
5. Precise location (if position is enabled)
|
||||
6. Position precision (if precise location is disabled)
|
||||
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="apple">
|
||||
|
|
|
@ -6,10 +6,9 @@ sidebar_position: 2
|
|||
---
|
||||
|
||||
import PositionPrecision from "@site/docs/blocks/_position-precision.mdx";
|
||||
import Link from "@docusaurus/Link"
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
|
||||
import Link from "@docusaurus/Link";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
|
||||
## Introduction
|
||||
|
||||
|
@ -42,45 +41,53 @@ To find devices to connect via Bluetooth click the "+" button on the bottom righ
|
|||
The cloud icon at the top right corner indicates if you are connected to a device. This currently has three states:
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Not connected"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-no-ack_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-no-ack_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Not connected"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-no-ack_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-no-ack_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
Cloud with a slash through it: No device connected to the application.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Connected"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-imp-ack_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-imp-ack_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Connected"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-imp-ack_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-imp-ack_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
Cloud with a check in it: Device connected to the application.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Sleeping"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-waiting_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-waiting_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Sleeping"
|
||||
className="max-h-14"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-waiting_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-waiting_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
Cloud with an up arrow in it: Device is connected, but currently sleeping or out of range.
|
||||
Cloud with an up arrow in it: Device is connected, but currently sleeping or out
|
||||
of range.
|
||||
|
||||
## Common tasks
|
||||
|
||||
### Set your region
|
||||
|
||||
In order to start communicating with your mesh, you must select a region. This setting controls which frequency range your device uses and should be set according to your location. See [Region Settings](https://meshtastic.org/docs/getting-started/initial-config#set-regional-settings) for a list of region codes and their meanings.
|
||||
|
||||
- Tap on the "Region" dropdown in the top-right corner and make the appropriate selection.
|
||||
|
||||
### Change your name
|
||||
|
||||
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens. Initials, or "short name", can be customized in the Radio configuration - User settings. The four characters displayed after your initials cannot be changed. These are the last four hex digits of the device MAC address. Devices with unset names will display these four characters as the device short name.
|
||||
Edit the "Your name", e.g. to be "Mike Bird". This is the name that other people will see, so make it unique within your group. The initials e.g. "MB" should also be unique and will be used to identify you in the message history and on the device screens. Initials, or "short name", can be customized in the Radio configuration - User settings. The four characters displayed after your initials cannot be changed. These are the last four hex digits of the device MAC address. Devices with unset names will display these four characters as the device short name.
|
||||
|
||||
[![Changing device name](/img/android/android-settings-mike-sm.webp)](/img/android/android-settings-mike.webp)
|
||||
|
||||
|
@ -102,7 +109,7 @@ You will see a warning because changing the Channel will break communications wi
|
|||
|
||||
[![Do you want to change the channel?](/img/android/android-new-channel-sm.webp)](/img/android/android-new-channel.webp)
|
||||
|
||||
The app will generate a new QR code on the screen. This encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
||||
The app will generate a new QR code on the screen. This encodes the channel details and a random 256-bit key for sharing with the new group. You can share the QR code with other Meshtastic users, or use the Share button and share the link via chat message, SMS, or email. The link is a very long code, for example: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
||||
|
||||
### Join a channel
|
||||
|
||||
|
@ -113,10 +120,11 @@ The app will generate a new QR code on the screen. This encodes the channel det
|
|||
2. If the channel is shared from a file or link using the `Share` button, you can click on the file or link and you need to choose "Open with Meshtastic".
|
||||
|
||||
:::info If a QR or URL opens a webpage instead of the APP or "Open with Meshtastic" is not an option:
|
||||
|
||||
1. Go to Android Settings > Apps > Default apps > Meshtastic > Opening links
|
||||
2. Make sure you have in "links/web address": www.meshtastic.org
|
||||
3. If you see the option "Open the supported links", make sure it is enabled.
|
||||
:::
|
||||
:::
|
||||
|
||||
[![Accept new channel](/img/android/android-accept-channel-c.webp)](/img/android/android-accept-channel.webp)
|
||||
|
||||
|
@ -134,13 +142,15 @@ You can test changing channels with the QR code shown below.
|
|||
### Adjust a channel
|
||||
|
||||
You can change the following settings by tapping on the name of an existing channel:
|
||||
|
||||
1. MQTT Uplink
|
||||
2. MQTT Downlink
|
||||
3. Position enabled
|
||||
3. Position enabled
|
||||
4. Precise location (if position is enabled)
|
||||
5. Position precision (if precise location is disabled)
|
||||
|
||||
#### Position Precision
|
||||
|
||||
The precision levels currently used in the app correspond the values in the table below. These can be thought of as the radius of a circle around a point (not your current location) which you are within.
|
||||
|
||||
<PositionPrecision />
|
||||
|
@ -157,54 +167,69 @@ The message window operates like most messaging apps. Note that your primary cha
|
|||
With LoRa (or any radio) there is some uncertainty that the message has been received, so there is a confirmation built-in to the protocol. There are small icons shown to the right of the messages you send:
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="cloud up"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-waiting_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-waiting_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="cloud up"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-waiting_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-waiting_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
Cloud with an up arrow: the message is queued in the app, waiting to be handed to the device.
|
||||
Cloud with an up arrow: the message is queued in the app, waiting to be handed
|
||||
to the device.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="cloud only"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-sent_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-sent_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="cloud only"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-sent_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-sent_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
- Cloud only: the device received the message from the app, and it has been sent and transmitted via LoRa.
|
||||
- Cloud only: the device received the message from the app, and it has been sent
|
||||
and transmitted via LoRa.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Cloud with a check mark"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-imp-ack_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-imp-ack_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Cloud with a check mark"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-imp-ack_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-imp-ack_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
- Cloud with a check mark: received at least one node's acknowledgement response. Confirmations could be from any one device.
|
||||
- Cloud with a check mark: received at least one node's acknowledgement
|
||||
response. Confirmations could be from any one device.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Person with a check mark"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-DM-ack_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-DM-ack_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Person with a check mark"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-DM-ack_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-DM-ack_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
- Person with a check mark - The intended recipient node of your direct message acknowledged the message.
|
||||
- Person with a check mark - The intended recipient node of your direct message
|
||||
acknowledged the message.
|
||||
|
||||
<center>
|
||||
<ThemedImage
|
||||
alt="Cloud crossed out"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl('/img/android/android-no-ack_lt.webp'),
|
||||
dark: useBaseUrl('/img/android/android-no-ack_dk.webp'),}}/>
|
||||
<ThemedImage
|
||||
alt="Cloud crossed out"
|
||||
className="max-h-18"
|
||||
sources={{
|
||||
light: useBaseUrl("/img/android/android-no-ack_lt.webp"),
|
||||
dark: useBaseUrl("/img/android/android-no-ack_dk.webp"),
|
||||
}}
|
||||
/>
|
||||
</center>
|
||||
- Cloud crossed out: the initial sender did not receive any confirmation within a certain timeout.
|
||||
- Cloud crossed out: the initial sender did not receive any confirmation within
|
||||
a certain timeout.
|
||||
|
||||
By default there is no long-term store-and-forward of messages, so messages not received during transmission are lost.
|
||||
|
||||
|
@ -225,7 +250,6 @@ The network list shows all the users (devices) that have connected to the same C
|
|||
|
||||
The Map tab will show a local map with an icon for each active mesh node that has a known position. The users names are shown above the icon.
|
||||
|
||||
|
||||
[![Map Layers](/img/android/android-map-layers-c.webp)](/img/android/android-map-layers.webp)
|
||||
|
||||
- Clicking the layers icon in the top-right will allow you to select the map type.
|
||||
|
@ -234,7 +258,7 @@ The Map tab will show a local map with an icon for each active mesh node that ha
|
|||
|
||||
[![Download offline maps](/img/android/android-map-download-c.webp)](/img/android/android-map-download.webp)
|
||||
|
||||
- Some map types allow downloading for offline use. If offline maps are available for your selected map type, a download icon will appear in the bottom-right corner of the map. Tap this icon and choose the option to Download Region, then select the area you wish to download.
|
||||
- Some map types allow downloading for offline use. If offline maps are available for your selected map type, a download icon will appear in the bottom-right corner of the map. Tap this icon and choose the option to Download Region, then select the area you wish to download.
|
||||
|
||||
## Configuration options
|
||||
|
||||
|
@ -253,6 +277,7 @@ The debug panel allows you to see all packets sent between the application and t
|
|||
[![Meshtastic configuration options](/img/android/android-radio-configuration-c.webp)](/img/android/android-radio-configuration.webp)
|
||||
|
||||
Radio Configuration opens a list of all radio and module configuration settings.
|
||||
|
||||
- See [Radio Config](/docs/configuration/radio) for radio settings.
|
||||
- See [Module Config](/docs/configuration/module) for module settings.
|
||||
- At the end of this list are buttons for Reboot, Shutdown, Factory reset, and NodeDB reset.
|
||||
|
@ -281,7 +306,7 @@ Opens the introduction slideshow.
|
|||
|
||||
[![Quick Chat](/img/android/android-quick-chat-sm.webp)](/img/android/android-quick-chat.webp)
|
||||
|
||||
Brings up an editor to create and edit quick response messages. These will appear as buttons in the chat window. Messages have the option to send instantly, or be appended to your message and sent manually.
|
||||
Brings up an editor to create and edit quick response messages. These will appear as buttons in the chat window. Messages have the option to send instantly, or be appended to your message and sent manually.
|
||||
|
||||
### About
|
||||
|
||||
|
|
Loading…
Reference in a new issue