Merge branch 'master' into smaller-helper-entity

This commit is contained in:
rcarteraz 2023-09-27 20:02:59 -07:00 committed by GitHub
commit 62672999ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 91 additions and 13 deletions

View file

@ -103,6 +103,10 @@ Defaults to true
This is controlling the actual hardware frequency the radio is transmitting on. A channel number between 1 and NUM_CHANNELS (whatever the max is in the current region). If this is ZERO/UNSET then the rule is "use the old channel name hash based algorithm to derive the channel number".
:::info
LoRa Channel Configuration should not to be confused with messaging [Channel Configuration](/docs/settings/config/channels). See [Chat Channels VS Lora Modem Channels](/docs/configuration/tips#chat-channels-vs-lora-modem-channels) for further clarification.
:::
### Ignore Incoming Array
For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in the ignore_incoming array will have packets they send dropped on receive (by router.cpp)

View file

@ -18,6 +18,7 @@ Modules are included in the firmware and allow users to extend the functionality
| [MQTT](/docs/settings/moduleconfig/mqtt) | Forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet. |
| [Neighbor Info](/docs/settings/moduleconfig/neighbor-info) | Send info on 0-hop neighbors to the mesh. |
| [Range Test](/docs/settings/moduleconfig/range-test) | Send messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV. |
| [Remote Hardware](/docs/settings/moduleconfig/remote-hardware) | Set and read a GPIO status remotely over the mesh. |
| [Serial Module](/docs/settings/moduleconfig/serial) | Send messages across the mesh by sending strings over a serial port. |
| [Store & Forward](/docs/settings/moduleconfig/store-and-forward-module) | Stores messages on a device for delivery after disconnected clients rejoin the mesh. |
| [Telemetry](/docs/settings/moduleconfig/telemetry) | Attach sensors to the device and transmit readings on a regular interval to the mesh. |

View file

@ -1,12 +1,85 @@
---
id: gpio-peripherals
title: Configuring GPIO Peripherals
sidebar_label: Setup GPIO Peripherals
slug: /hardware/peripheral/
sidebar_position: 4
id: remote-hardware
title: Remote Hardware Module Usage
slug: /settings/moduleconfig/remote-hardware
sidebar_label: Remote Hardware
---
## Remote Hardware
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
The Remote Hardware Module allows control of a GPIO pin on a remote node. Config options are: Enabled, Allow Undefined Pin Access, Available Pins
:::info
While configuring this module may be available in clients, setting and reading GPIO's is currently only possible using the [Meshtastic Python CLI](/docs/software/python/cli)
:::
## Remote Hardware Config Values
### Enabled
Whether the module is enabled
### Allow Undefined Pin Access
Whether the module allows consumers to read/write to pins not that are not defined in available_pins
### Available Pins
Exposes the available pins to the mesh for reading and writing
## Remote Hardware Module Client Availability
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'Android', value: 'android'},
{label: 'Apple', value: 'apple'},
{label: 'CLI', value: 'cli'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="android">
:::info
All Remote Hardware Module config options are available for Android in app.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Remote Hardware**
:::
</TabItem>
<TabItem value="apple">
:::info
All Remote Hardware Module config options are available on iOS, iPadOS and macOS app.and higher at Settings > Modules > Remote Hardware
:::
</TabItem>
<TabItem value="cli">
:::info
All Remote Hardware Module config options are available in the python CLI.
:::
</TabItem>
<TabItem value="web">
Not implemented.
</TabItem>
</Tabs>
## Remote Hardware Module Usage
:::warning
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.

View file

@ -34,8 +34,8 @@ Available Values:
- `DEFAULT`
- `SIMPLE` operate as an dumb UART tunnel. What goes in will come out, Requires a channel named 'serial'.
- `PROTO` Exposes the Protobuf Client API on this serial port. You can use this to connect from another device. [API Reference](/docs/development/device/client-api)
- `TEXTMSG` Will send the string received over the serial port as a Text Message for Display on the other devices.
- `PROTO` Exposes the Protobuf Client API on this serial port. You can use this to connect from another device, see the [Arduino client library](https://github.com/meshtastic/Meshtastic-arduino) and the [API Reference](/docs/development/device/client-api).
- `TEXTMSG` Will broadcast the string received over the serial port as a Text Message to the default channel.
- `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).
@ -112,7 +112,7 @@ All serial module config options are available in the python CLI. Example comman
| 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` |
| 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` |
@ -186,12 +186,12 @@ Default is to use RX GPIO 16 and TX GPIO 17.
- RXD 13
- TXD 14
3. Set `serial.timeout` to the amount of time to wait before we consider your packet as "done".
4. (Optional) set serial.mode to TEXTMSG if you want to send messages to/from the general text message channel
4. (Optional) set serial.mode to `TEXTMSG` if you want to send messages to/from the general text message channel. For more specific control, use the `PROTO` mode, e.g. in combination with the [Arduino client library](https://github.com/meshtastic/Meshtastic-arduino/blob/master/examples/SendReceiveClient/SendReceiveClient.ino).
5. Connect to your device over the serial interface at `38400 8N1`.
With [tio](https://github.com/tio/tio) &ndash; `tio -e -b 38400 -f none /dev/myserialport`
6. Send a packet up to 237 bytes in length. This will get relayed over the mesh network.
6. Send a packet up to 237 bytes in length. This will get broadcasted over the default channel.
7. (Optional) Set `serial.echo` to `1` and any message you send out will be echoed back to your device.
### Interfacing PIR Sensor With External Microcontroller
@ -200,7 +200,7 @@ The following are examples of using either a Raspberry Pi Pico or Arduino Mini P
#### Meshtastic Software Configuration
- Serial module enabled, mode: TXTMSG
- Serial module enabled, mode: TEXTMSG
- GPIO Pins (For T-Beam) RX 13, TX 14
- 38400 Baud

View file

@ -57,7 +57,7 @@ A number of [key services](http://github.com/meshtastic/firmware/tree/master/src
- [NodeInfoModule](http://github.com/meshtastic/firmware/tree/master/src/modules/NodeInfoModule.h) - Receives/sends User information to other nodes so that usernames are available in the databases.
- [RemoteHardwareModule](http://github.com/meshtastic/firmware/tree/master/src/modules/RemoteHardwareModule.h) - A module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/hardware/peripheral/#remote-hardware) for details.
- [RemoteHardwareModule](http://github.com/meshtastic/firmware/tree/master/src/modules/RemoteHardwareModule.h) - A module that provides easy remote access to device hardware (for things like turning GPIOs on or off). Intended to be a more extensive example and provide a useful feature of its own. See [remote-hardware](/docs/settings/moduleconfig/remote-hardware) for details.
- [ReplyModule](http://github.com/meshtastic/firmware/tree/master/src/modules/ReplyModule.h) - A simple module that just replies to any packet it receives (provides a 'ping' service).