Merge branch 'master' into MQTT-Examples

This commit is contained in:
rcarteraz 2023-09-01 14:54:13 -07:00 committed by GitHub
commit c5eeef2999
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 178 additions and 42 deletions

View file

@ -14,6 +14,7 @@ The MQTT module config options are: Enabled, Server Address, Username, Password,
## Settings
## MQTT Module Config Values
### Enabled
@ -48,8 +49,8 @@ If true, we attempt to establish a secure connection using TLS.
The root topic to use for MQTT messages. This is useful if you want to use a single MQTT server for multiple meshtastic networks and separate them via ACLs.
## MQTT Module Config Client Availability
## MQTT Module Config Client Availability
<Tabs
groupId="settings"
defaultValue="apple"
@ -128,3 +129,141 @@ All MQTT module config options are available for the Web UI.
</TabItem>
</Tabs>
## Connect to the Default Public Server
<Tabs
defaultValue="apple"
values={[
{label: 'Android', value: 'android'},
{label: 'Apple', value: 'apple'},
{label: 'CLI', value: 'cli'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="android">
<h3>1. Enable the MQTT Module</h3>
Navigate to: Vertical Ellipsis (3 dots top right) > Radio configuration > MQTT: Turn on the slider for **MQTT enabled** and tap **Send**.
[![MQTT Settings](/img/modules/mqtt/android_mqtt_sm.png)](/img/modules/mqtt/android_mqtt.png)
*Optional:* To use your phone's internet connection to send and receive packets over the web, also enable the slider for **MQTT Client Proxy** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/android_mqtt_proxy_sm.png)](/img/modules/mqtt/android_mqtt_proxy.png)
:::caution
Though this option may be visible in your UI, Client Proxy is not yet functional with the Android App.
:::
<h3>2. Enable Channel Uplink & Downlink</h3>
Navigate to: Vertical Ellipsis (3 dots top right) > Radio configuration > Channels > LongFast: Turn on the sliders for **Uplink enabled** and **Downlink enabled**, then tap **Save** and tap **Send**.
[![Channel Settings](/img/modules/mqtt/android_channel_sm.png)](/img/modules/mqtt/android_channel.png)
<h3>3. Configure Network Settings</h3>
Navigate to: Vertical Ellipsis (3 dots top right) > Radio configuration > Network: Turn on the slider for **WiFi enabled**, Enter the **SSID** and **PSK** for your network, then tap **Send**.
[![Network Settings](/img/modules/mqtt/android_network_sm.png)](/img/modules/mqtt/android_network.png)
</TabItem>
<TabItem value="apple">
<h3>1. Enable the MQTT Module</h3>
Navigate to Settings > MQTT: Turn on the slider for MQTT enabled and tap **Save**
[![MQTT Settings 1](/img/modules/mqtt/apple_mqtt_1_sm.png)](/img/modules/mqtt/apple_mqtt_1.png)
[![MQTT Settings 2](/img/modules/mqtt/apple_mqtt_2_sm.png)](/img/modules/mqtt/apple_mqtt_2.png)
*Optional:* To use your phone's internet connection to send and receive packets over the web, also enable the slider for **MQTT Client Proxy** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/apple_mqtt_1_proxy_sm.png)](/img/modules/mqtt/apple_mqtt_1_proxy.png)
<h3>2. Enable Channel Uplink & Downlink</h3>
Navigate to Settings > Channels > Primary Channel: Turn on the sliders for **Uplink enabled** and **Downlink enabled** - Tap **Save**
[![Channel Settings](/img/modules/mqtt/apple_channel_sm.png)](/img/modules/mqtt/apple_channel.png)
<h3>3. Configure Network Settings</h3>
Navigate to Settings > Network: Turn on the slider for **WiFi enabled** - Enter your **SSID** and **PSK** for your network - Tap **Save**
[![Network Settings](/img/modules/mqtt/apple_network_sm.png)](/img/modules/mqtt/apple_network.png)
</TabItem>
<TabItem value="cli">
<h3>1. Enable the MQTT Module</h3>
```shell
meshtastic --set mqtt.enabled true
```
<h3>2. Enable Channel Uplink & Downlink</h3>
```shell
meshtastic --ch-set uplink_enabled true --ch-index 0
meshtastic --ch-set downlink_enabled true --ch-index 0
```
or chained together:
```shell
meshtastic --ch-set uplink_enabled true --ch-index 0 --ch-set downlink_enabled true --ch-index 0
```
<h3>3. Configure Network Settings</h3>
```shell
meshtastic --set network.wifi_enabled true
meshtastic --set network.wifi_ssid "your network"
meshtastic --set network.wifi_psk yourpassword
```
or chained together:
```shell
meshtastic --set network.wifi_enabled true --set network.wifi_ssid "your network" --set network.wifi_psk yourpassword
```
</TabItem>
<TabItem value="web">
<h3>1. Enable the MQTT Module</h3>
Navigate to Config > Module Config > MQTT - Turn on the slider for MQTT enabled - Click the **Save** icon.
[![MQTT Settings](/img/modules/mqtt/web_mqtt_sm.png)](/img/modules/mqtt/web_mqtt.png)
*Optional:* To use your client's internet connection to send and receive packets over the web, also enable the slider for **Proxy to Client Enabled** and skip the Configure Network Settings step below.
[![Client Proxy](/img/modules/mqtt/web_mqtt_proxy_sm.png)](/img/modules/mqtt/web_mqtt_proxy.png)
:::caution
Though this option may be visible in your UI, Client Proxy is not yet functional with the Web Client.
:::
<h3>2. Enable Channel Uplink & Downlink</h3>
Navigate to Channels > Primary: Turn on the sliders for **Uplink Enabled** and **Downlink Enabled** - Click the **Save** icon.
[![Channel Settings](/img/modules/mqtt/web_channel_sm.png)](/img/modules/mqtt/web_channel.png)
<h3>3. Configure Network Settings</h3>
Navigate to Config > Device Config > Network: Turn on the slider for **Enabled** - Enter your **SSID** and **PSK** for your network - Click the **Save** icon.
[![Network Settings](/img/modules/mqtt/web_network_sm.png)](/img/modules/mqtt/web_network.png)
</TabItem>
</Tabs>

View file

@ -199,8 +199,4 @@ You've finished setting up and adding two devices to the admin channel. Remember
For further reading, I recommend starting out with the [Meshtastic Python CLI Guide](/docs/software/python/cli/) if you haven't already gone through this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
[Settings Overview](/docs/settings) and
[Complete list of user settings in Protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.User)
## Areas for future development
In the future we will add a "dead man's timer" to this feature so that the remote node will revert any changes if you fail to send a special "commit changes" command. This will protect against sending bad settings to nodes that you can't physically access. Instead, if the node does not receive a commit message within 10 minutes it will revert all changes and (hopefully) rejoin the mesh.
[Complete list of user settings in Protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.User)

View file

@ -6,7 +6,7 @@ sidebar_label: Port Numbers
Any new app that runs on the device or via sister apps on phones/PCs should pick and use a unique "portnum" for their applications use.
The current list of port numbers can be found listed in the [protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.CriticalErrorCode)
The current list of port numbers can be found listed in the [protobufs](https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.PortNum)
## Assignment

View file

@ -16,23 +16,24 @@ Below are the guidelines for use of the Meshtastic Trademarks where, as long as
- the use is not disparaging to Meshtastic or software distributed by Meshtastic.
- the use does not imply sponsorship or endorsement by Meshtastic.
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use
- the Logo Usage Guidelines are strictly observed
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- the Logo Usage Guidelines are strictly observed.
### Noncommercial and community web sites
In the past, community members have inquired whether it is permissible to show support for Meshtastic by:
placing the Meshtastic Trademarks on a personal web site or blog to support open source software
making a page on a social networking web service to support open source software
linking to the Meshtastic website to provide information or show support for open source software
- placing the Meshtastic Trademarks on a personal web site or blog to support open source software.
- making a page on a social networking web service to support open source software.
- linking to the Meshtastic website to provide information or show support for open source software.
The guidelines relating to such usage are set forth in this section.
It is permissible to use the Meshtastic Trademarks on websites to show your support for the open source software, provided that:
- where possible, the design logo hyperlinks to the Meshtastic website, [http://meshtastic.org/](http://meshtastic.org/), or if that is not possible, the site includes a prominent link to the Meshtastic website at [http://meshtastic.org/](http://meshtastic.org/).
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use
- the Logo Usage Guidelines are strictly observed
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- the Logo Usage Guidelines are strictly observed.
- the site indicates clearly that it is not affiliated with or endorsed by Meshtastic; in addition, where possible:
the site must include the text "This site is not affiliated with or endorsed by the Meshtastic project" prominently on any page that includes the Meshtastic Trademarks, and
- if the Meshtastic Trademarks appear in a page header or any area that is designed to be presented on more than one page, the notice must also be designed to be presented on all of those pages as well. (i.e., if the Meshtastic Trademarks appear in a site-wide header, the informational text must appear in that header or an identically site-wide footer.)
@ -43,21 +44,21 @@ It is permissible to use the Meshtastic Trademarks on websites to show your supp
In the past, community members have inquired whether it is permissible to show support for Meshtastic by:
- displaying a link to the Meshtastic website using the Meshtastic Trademarks from a business web site
- displaying the Meshtastic Trademarks as part of a business that utilizes Meshtastic software
- displaying a link to the Meshtastic website using the Meshtastic Trademarks from a business web site.
- displaying the Meshtastic Trademarks as part of a business that utilizes Meshtastic software.
The guidelines relating to such usage are set forth in this section.
It is permissible to use the Meshtastic Trademarks on business web sites, provided that:
- the web site has non-Meshtastic primary branding
- the design logo hyperlinks to the Meshtastic website, [http://meshtastic.org/](http://meshtastic.org/)
- the use does not imply sponsorship or endorsement by Meshtastic
- the use of the Meshtastic Trademarks does not imply an association with nor any form of endorsement by Meshtastic
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use
- the Logo Usage Guidelines are strictly observed
- the site does not use visual styling that could be confusing to viewers or visitors as to whether the site is hosted by or on behalf of Meshtastic
- A copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use
- the web site has non-Meshtastic primary branding.
- the design logo hyperlinks to the Meshtastic website, [http://meshtastic.org/](http://meshtastic.org/).
- the use does not imply sponsorship or endorsement by Meshtastic.
- the use of the Meshtastic Trademarks does not imply an association with nor any form of endorsement by Meshtastic.
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- the Logo Usage Guidelines are strictly observed.
- the site does not use visual styling that could be confusing to viewers or visitors as to whether the site is hosted by or on behalf of Meshtastic.
- a copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use.
### Promotional events
@ -65,11 +66,11 @@ In the past, community members have inquired whether it is permissible to use th
It is permissible to use the Meshtastic Trademarks in such promotional events, provided that:
- the use does not imply sponsorship or endorsement by Meshtastic
- the use of the Meshtastic Trademarks does not imply an association with or endorsement of the event of the goods distributed at such event
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use
- the Logo Usage Guidelines are strictly observed
- A copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use
- the use does not imply sponsorship or endorsement by Meshtastic.
- the use of the Meshtastic Trademarks does not imply an association with or endorsement of the event of the goods distributed at such event.
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- the Logo Usage Guidelines are strictly observed.
- A copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use.
If you would like to make some non-software goods to give away or sell at the event and don't already have a license to do so, see Non-software goods.
@ -77,11 +78,11 @@ If you would like to make some non-software goods to give away or sell at the ev
It is permissible to use the Meshtastic Trademarks in the title and content of a publication, provided that:
- The use is clearly in reference to Meshtastic.
- The use does not imply sponsorship or endorsement of the publication by Meshtastic.
- Proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- The Logo Usage Guidelines are strictly observed.
- A copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use.
- the use is clearly in reference to Meshtastic.
- the use does not imply sponsorship or endorsement of the publication by Meshtastic.
- proper trademark symbols are used in connection with the Meshtastic Trademarks and the trademark attribution statement must appear as explained in Proper Trademark Use.
- the Logo Usage Guidelines are strictly observed.
- a copy of the use of the Meshtastic Trademarks is provided to the Trademark Supervisor within seven (7) days of its initial use, for example by sending a URL or other copy of such use.
## Usage that Require Prior Written Approval
@ -106,8 +107,8 @@ Community members may request from the Trademark Supervisor designated by the Ad
The following uses of the Meshtastic Trademarks are not approved under any foreseeable circumstances.
- Violations of the Logo Usage Guidelines or Trademark Usage Guidelines
- Any use outside these guidelines not by explicit written permission
- Violations of the Logo Usage Guidelines or Trademark Usage Guidelines.
- Any use outside these guidelines not by explicit written permission.
- Except as set forth herein, Meshtastic retains and reserves all rights to the Meshtastic Trademarks and their use, including the right to modify these guidelines.
These guidelines (except for trademark licenses executed for non software goods) may be amended from time to time at the discretion of Meshtastic and such changes will be effective ten (10) days after the changes are posted. Meshtastic may provide you with notice of such changes, but need not do so. You are responsible for checking this site for any changes.
@ -137,19 +138,19 @@ Unacceptable: Never using the ® mark for Meshtastic Logo, nor a trademark state
- Never combine your company name with the Meshtastic name or use the Meshtastic name in a way that it could be perceived that Meshtastic and your company have an organizational link such as a joint venture.
- Never use the Meshtastic Trademarks in a disparaging manner or that violates any federal, state, or international law.
Unacceptable: Cartoon character micturating on the Meshtastic Logo, applying Meshtastic Logo outside permitted uses
Unacceptable: Cartoon character micturating on the Meshtastic Logo, applying Meshtastic Logo outside permitted uses.
- Never use terminology that states or implies that Meshtastic assumes any responsibility for the performance of your products and services.
- The Meshtastic Logo must be hyperlinked to [http://meshtastic.org/](http://meshtastic.org/), in contexts where such a hyperlink is technically feasible.
Acceptable: Hyperlinking the Meshtastic Logo where feasible
Acceptable: Hyperlinking the Meshtastic Logo where feasible.
Unacceptable: Not hyperlinking the Meshtastic Logo where feasible
Unacceptable: Not hyperlinking the Meshtastic Logo where feasible.
Except as prohibited by law, the person or entity who is using the Meshtastic Trademark under the terms of these Guidelines ("User") acknowledges that Meshtastic is the sole and exclusive owner of the Meshtastic Trademarks and agrees that it will do nothing inconsistent with such ownership either during the term of such use or afterwards. Specifically, User will take no action that will interfere with or diminish Meshtastic's right in the Meshtastic Trademarks. The User acknowledges that the Meshtastic Trademarks are valid under the applicable law and that User's utilization of the Meshtastic Trademarks will not create any right, title or interest in the Meshtastic Trademarks. The User agrees not to apply or assist any third party to register the Meshtastic Trademarks or a confusingly similar designation anywhere in the world. If any application for registration is or has been filed by or on behalf of User in any country and relates to any mark which, in the reasonable opinion of Meshtastic, is confusingly similar, deceptive or misleading with respect to, or dilutes or any way damages the Meshtastic Trademark, User shall, at Meshtastic's request, abandon all use of such mark, and any registration or application for registration thereof and shall reimburse Meshtastic for all costs and expenses of any oppMeshtastiction or related legal proceeding, including attorneys' fees, instigation by Meshtastic or its authorized representative. Upon the written statement that the User is not using the Meshtastic Trademarks in accordance with the Guidelines, within ten (10) days, User shall modify its use to comply with the Guidelines or cease using the Meshtastic Trademarks.
Except as prohibited by law, the person or entity who is using the Meshtastic Trademark under the terms of these Guidelines ("User") acknowledges that Meshtastic is the sole and exclusive owner of the Meshtastic Trademarks and agrees that it will do nothing inconsistent with such ownership either during the term of such use or afterwards. Specifically, User will take no action that will interfere with or diminish Meshtastic's right in the Meshtastic Trademarks. The User acknowledges that the Meshtastic Trademarks are valid under the applicable law and that User's utilization of the Meshtastic Trademarks will not create any right, title or interest in the Meshtastic Trademarks. The User agrees not to apply or assist any third party to register the Meshtastic Trademarks or a confusingly similar designation anywhere in the world. If any application for registration is or has been filed by or on behalf of User in any country and relates to any mark which, in the reasonable opinion of Meshtastic, is confusingly similar, deceptive or misleading with respect to, or dilutes or any way damages the Meshtastic Trademark, User shall, at Meshtastic's request, abandon all use of such mark, and any registration or application for registration thereof and shall reimburse Meshtastic for all costs and expenses of any opposition or related legal proceeding, including attorneys' fees, instigation by Meshtastic or its authorized representative. Upon the written statement that the User is not using the Meshtastic Trademarks in accordance with the Guidelines, within ten (10) days, User shall modify its use to comply with the Guidelines or cease using the Meshtastic Trademarks.
### Logo Usage Guidelines
The Meshtastic logo is a trademark of Meshtastic LLC. In order to protect and grow the Meshtastic brand, we have a distinguishable logo. When displaying the Meshtastic logo, please follow our standard Trademark Guidelines. Other sizes and resolutions of the logo, some suitable for print, can be found [here](https://github.com/meshtastic/design).
To join the discussion about Meshtastic Trademark policies, and participate in shaping future policy visit the [Meshtastic Discourse](http://meshtastic.discourse.group) or [Meshtastic Discord](https://discord.com/invite/UQJ5QuM7vq).
To join the discussion about Meshtastic Trademark policies, and participate in shaping future policy visit the [Meshtastic Discourse](http://meshtastic.discourse.group) or [Meshtastic Discord](https://discord.com/invite/ktMAKGBnBs).

View file

@ -50,7 +50,7 @@ The payload is a raw protobuf, whose definitions for Meshtastic can be found [he
If [encryption_enabled](/docs/settings/moduleconfig/mqtt#encryption-enabled) is set to true, the payload of the MeshPacket will remain encrypted with the key for the specified channel.
#### JSON topic
If [JSON is enabled](/docs/settings/moduleconfig/mqtt/#json-enabled), packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON: `TEXT_MESSAGE_APP`, `TELEMETRY_APP`, `NODEINFO_APP`, `POSITION_APP` and `WAYPOINT_APP`. These are then forwarded to the topic:
If [JSON is enabled](/docs/settings/moduleconfig/mqtt/#json-enabled), packets from the following [port numbers](/docs/development/firmware/portnum) are serialized to JSON: `TEXT_MESSAGE_APP`, `TELEMETRY_APP`, `NODEINFO_APP`, `POSITION_APP`, `WAYPOINT_APP`, and `NEIGHBORINFO_APP`. These are then forwarded to the topic:
`msh/2/json/CHANNELNAME/USERID`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB