Merge pull request #822 from pdxlocations/move-remote-hardware-02

Move 'Setup GPIO Peripherals' to Remote Hardware Module
This commit is contained in:
rcarteraz 2023-09-27 20:02:48 -07:00 committed by GitHub
commit 8279c1f8f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 81 additions and 7 deletions

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

@ -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).