This commit is contained in:
David Andrzejewski 2025-02-20 14:47:07 -05:00
commit db87ea6f38
11 changed files with 64 additions and 31 deletions

View file

@ -43,6 +43,7 @@ Supported sensors connected to the I2C bus of the device will be automatically d
| DFROBOT_LARK | 0x42 | Temperature, barometric pressure, humidity, wind direction, wind speed |
| MAX30102 | 0x57 | Heart Rate, Oxygen Saturation, and body temperature |
| MLX90614 | 0x5A | Body temperature |
| NAU7802 | 0x2A | 24-Bit differential ADC for Wheatstone bridge |
## Module Config Values

View file

@ -187,6 +187,7 @@ All device config options are available in the python CLI. Example commands are
| device.buzzer_gpio | `0` - `34` | `0` |
| device.node_info_broadcast_secs | `3600` - `UINT MAX` | `10800` (3 hours) |
| device.double_tap_as_button_press | `false`, `true` | `false` |
| device.disable_triple_click | `false`, `true` | `false` |
:::tip

View file

@ -19,9 +19,9 @@ The position config uses an admin message to send a `Config.Position` protobuf.
Configures whether the GPS functionality is enabled, disabled, or not present on the node.
Acceptable values: `Disabled`, `Enabled`, and `Not_Present`.
Acceptable values: `DISABLED`, `ENABLED`, and `NOT_PRESENT`.
Generally, depending on the device and its configuration, this value will default to either `Enabled` or `Not Present`.
Generally, depending on the device and its configuration, this value will default to either `ENABLED` or `NOT_PRESENT`.
### GPS Update Interval
@ -163,7 +163,7 @@ All Position config commands are available in the python CLI. Example commands a
| Setting | Acceptable Values | Default |
| :--------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------: |
| position.gps_mode | `enabled`, `disabled`, `not_present` | `Enabled` or `Not Present` |
| position.gps_mode | `ENABLED`, `DISABLED`, `NOT_PRESENT` | `ENABLED` or `NOT_PRESENT` |
| position.gps_update_interval | `integer` (seconds) | Default `0` is 2 Minutes |
| position.fixed_position | `true`, `false` | `false` |
| position.position_broadcast_smart_enabled | `true`, `false` | `true` |

View file

@ -69,7 +69,7 @@ Modular hardware system with Base, Core and Peripheral modules including the low
| RAK12013 | Radar Sensor |
| RAK13800 | Ethernet Module |
### [**WisBlock Displays**](./rak-wireless/wisblock/screens/)
[**WisBlock Displays**](./rak-wireless/wisblock/screens/)
| Name | Type | Resolution |
| ------------------------------------------------------------ | ----------------------- | ---------- |

View file

@ -1,12 +1,27 @@
---
id: linux-native-hardware
title: Meshtastic on Linux-Native Devices
hide_title: true
sidebar_label: Linux Native Devices
sidebar_position: 11
description: Set up and configure Meshtastic on Linux-native devices using the meshtasticd binary.
---
import LinuxInstall from "@site/docs/blocks/_linux-install.mdx";
import { Dark, Light } from "/src/components/ColorMode";
<Dark>
<img
src="/img/meshtasticd/Meshtasticd-Terminal-Long_Dark.svg"
alt="Meshtasticd Terminal Dark"
/>
</Dark>
<Light>
<img
src="/img/meshtasticd/Meshtasticd-Terminal-Long_Light.svg"
alt="Meshtasticd Terminal Light"
/>
</Light>
This page outlines the setup of Meshtastic on Linux-native devices, utilizing portduino to run the Meshtastic firmware under Linux.
@ -18,7 +33,7 @@ Before proceeding with the setup, ensure the device meets the following requirem
#### SPI
- Raspberry Pi: Zero, Zero 2, 3, 4, Pi 400, and Pi 5 on Raspbian `bookworm`.
- Raspberry Pi: Zero 2, 3, 4, Pi 400, and Pi 5 on Raspbian `bookworm`.
- Luckfox Pico: [femtofox](https://github.com/noon92/femtofox/tree/main) on Ubuntu 22.04 `jammy`.
#### USB (CH341)
@ -31,6 +46,7 @@ Before proceeding with the setup, ensure the device meets the following requirem
### Hardware Compatibility
:::caution Warning
- **UART** HATs and SX1302/SX1303 chip-based HATs are not supported. Only hats that use a SPI radio can work with Meshtastic.
- The Waveshare SX1262 LoRaWAN Hat for Raspberry Pi is not recommended for deployment. It has known hardware limitations that may affect longer messages. If you must use it, please use the **CLIENT_MUTE** role to avoid rebroadcasting.
- The Pine64 Pinedio is also not recommended for deployment, as it suffers from similar hardware limitations as the Waveshare SX1262 LoRaWAN Hat.
@ -183,40 +199,41 @@ To configure the device to start and stop meshtasticd as as service using system
<details>
<summary>Create the systemd service (only for manual installs)</summary>
The `meshtasticd` systemd service is automatically installed when using the official Meshtastic packages.
These instructions are only needed when installing manually.
The `meshtasticd` systemd service is automatically installed when using the official Meshtastic packages.
These instructions are only needed when installing manually.
Create the service unit file:
Create the service unit file:
Create a new file in the /etc/systemd/system/ directory with a name like meshtasticd.service.
Create a new file in the /etc/systemd/system/ directory with a name like meshtasticd.service.
```shell
sudo nano /etc/systemd/system/meshtasticd.service
```
```shell
sudo nano /etc/systemd/system/meshtasticd.service
```
Add the following content to the file:
Add the following content to the file:
```plaintext
[Unit]
Description=Meshtastic Daemon
After=network.target
```plaintext
[Unit]
Description=Meshtastic Daemon
After=network.target
[Service]
ExecStart=/usr/sbin/meshtasticd
Restart=always
User=root
Group=root
Type=simple
[Service]
ExecStart=/usr/sbin/meshtasticd
Restart=always
User=root
Group=root
Type=simple
[Install]
WantedBy=multi-user.target
```
[Install]
WantedBy=multi-user.target
```
Reload systemd to recognize the new service:
Reload systemd to recognize the new service:
```shell
sudo systemctl daemon-reload
```
```shell
sudo systemctl daemon-reload
```
</details>
Enable the service to start on boot:

View file

@ -47,7 +47,9 @@ The method with the least platform support, which uses the [Web Serial API](http
## Updating
The web interface is included in firmware releases. When a new firmware version is released, the latest WebUI will be automatically bundled.
When a new firmware version is released, the latest available version of the Web UI (littlefswebui.bin) is included in the release folder for each supported ESP32 device. To update the Web UI, use the [Meshtastic Web Flasher](https://flasher.meshtastic.org/). First, toggle "Full Erase and Install" to reveal the "Bundle Web UI" option, then enable "Bundle Web UI" before flashing.
![Bundle Web UI Toggle](/img/software/webui-toggle.webp)
## Self Hosting

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 1000 152.05"><defs><style>.cls-1{fill:#2c2d3c;stroke-width:0}</style></defs><metadata><rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description><dc:title>Meshtasticd Terminal Long Light</dc:title><dc:creator>Meshtastic LLC</dc:creator><dc:rights>Copyright © 2025 Meshtastic. All rights reserved.</dc:rights><dc:source>https://github.com/meshtastic/meshtastic/tree/master/docs/hardware/devices/linux-native-hardware/README.md</dc:source></rdf:Description></rdf:RDF></metadata><path d="M21.488 108.854 70.42 36.88l8.526 5.797-48.93 71.972zm662.572-.09 48.313-71.038 8.864 6.029-48.313 71.038zM182.4 115.18V37.32h56.19v9.24H192.7v23.81h42.96v9.13H192.7v26.53h47.62v9.13h-57.93Zm68.66-25.01 9.65-.87c.54 3.91 1.52 7.07 3.25 9.57 1.63 2.5 4.23 4.57 7.81 6.09 3.47 1.52 7.49 2.28 11.93 2.28 3.91 0 7.38-.54 10.31-1.74 3.04-1.2 5.32-2.72 6.73-4.78 1.52-2.07 2.17-4.24 2.17-6.63s-.65-4.57-2.06-6.42-3.8-3.37-7.05-4.57c-2.06-.87-6.62-2.17-13.78-3.81q-10.74-2.61-14.97-4.89c-3.69-1.96-6.51-4.35-8.35-7.29-1.74-2.83-2.71-6.09-2.71-9.68 0-3.91 1.19-7.61 3.36-10.98 2.28-3.37 5.42-5.98 9.76-7.83 4.23-1.74 9-2.61 14.21-2.61 5.75 0 10.85.98 15.3 2.83 4.34 1.85 7.7 4.57 10.09 8.16s3.69 7.72 3.8 12.29l-9.87.76c-.43-5-2.28-8.7-5.32-11.2s-7.59-3.81-13.56-3.81-10.74 1.2-13.56 3.48-4.23 5-4.23 8.26c0 2.83.98 5.11 2.93 6.85 2.06 1.85 7.16 3.7 15.51 5.55 8.35 1.96 14.1 3.59 17.25 5 4.45 2.07 7.81 4.78 9.98 7.94 2.17 3.26 3.25 6.85 3.25 11.09s-1.19 8.05-3.58 11.74c-2.39 3.59-5.75 6.42-10.2 8.48-4.45 2.07-9.44 3.04-14.97 3.04-7.05 0-12.91-.98-17.68-3.04-4.77-2.07-8.46-5.11-11.17-9.24s-4.12-8.81-4.23-14.03Zm76.16 25.01V37.32h10.31v31.97h40.35V37.32h10.31v77.86h-10.31V78.53h-40.35v36.65zm97.75 0V46.57h-25.6v-9.24h61.62v9.24h-25.71v68.62h-10.31Zm-349.05-.8-8.39-5.72 46.84-68.7a5.07 5.07 0 0 1 4.19-2.22c1.68 0 3.24.83 4.19 2.21l46.95 68.59-8.38 5.74-42.75-62.45-42.66 62.55Zm384.14 1.1-8.39-5.72 46.84-68.7a5.07 5.07 0 0 1 4.19-2.22c1.68 0 3.24.83 4.19 2.21l46.95 68.59-8.38 5.74-42.75-62.45-42.65 62.56Zm100.89-25.07 9.65-.87c.54 3.91 1.52 7.07 3.25 9.57 1.63 2.5 4.23 4.57 7.81 6.09 3.47 1.52 7.49 2.28 11.93 2.28 3.91 0 7.38-.54 10.31-1.74 3.04-1.2 5.32-2.72 6.73-4.78 1.52-2.07 2.17-4.24 2.17-6.63s-.65-4.57-2.06-6.42-3.8-3.37-7.05-4.57c-2.06-.87-6.62-2.17-13.78-3.81q-10.74-2.61-14.97-4.89c-3.69-1.96-6.51-4.35-8.35-7.29-1.74-2.83-2.71-6.09-2.71-9.68 0-3.91 1.19-7.61 3.36-10.98 2.28-3.37 5.42-5.98 9.76-7.83 4.23-1.74 9-2.61 14.21-2.61 5.75 0 10.85.98 15.3 2.83 4.34 1.85 7.7 4.57 10.09 8.16s3.69 7.72 3.8 12.29l-9.87.76c-.43-5-2.28-8.7-5.32-11.2s-7.59-3.81-13.56-3.81-10.74 1.2-13.56 3.48-4.23 5-4.23 8.26c0 2.83.98 5.11 2.93 6.85 2.06 1.85 7.16 3.7 15.51 5.55 8.35 1.96 14.1 3.59 17.25 5 4.45 2.07 7.81 4.78 9.98 7.94 2.17 3.26 3.25 6.85 3.25 11.09s-1.19 8.05-3.58 11.74c-2.39 3.59-5.75 6.42-10.2 8.48-4.45 2.07-9.44 3.04-14.97 3.04-7.05 0-12.91-.98-17.68-3.04-4.77-2.07-8.46-5.11-11.17-9.24s-4.12-8.81-4.23-14.03Zm95.57 25.01V46.8h-25.6v-9.24h61.62v9.24h-25.71v68.62zm147.99-27.05 10.31 2.61c-2.17 8.48-6.07 14.9-11.72 19.36-5.53 4.46-12.37 6.63-20.5 6.63s-15.19-1.63-20.39-5.11c-5.21-3.37-9.22-8.37-11.93-14.79-2.82-6.52-4.12-13.48-4.12-20.88 0-8.16 1.52-15.22 4.66-21.2 3.04-6.09 7.49-10.66 13.13-13.81 5.75-3.15 12.04-4.68 18.88-4.68 7.7 0 14.32 1.96 19.53 5.98 5.32 3.91 9 9.46 11.06 16.64l-10.09 2.39c-1.74-5.65-4.45-9.79-7.81-12.29-3.47-2.61-7.7-3.91-12.91-3.91-5.97 0-10.96 1.41-14.97 4.35-4.01 2.83-6.83 6.63-8.46 11.53-1.63 4.78-2.5 9.79-2.5 14.9 0 6.63.98 12.4 2.93 17.4 1.95 4.89 4.88 8.59 9 10.98 4.01 2.5 8.46 3.7 13.13 3.7 5.75 0 10.63-1.63 14.64-5 4.01-3.26 6.73-8.26 8.14-14.79Zm160.03-68.66H853.19c-7.72 0-13.98 6.26-13.98 13.98v84.67c0 7.72 6.26 13.98 13.98 13.98h111.35c7.72 0 13.98-6.26 13.98-13.98V33.69c0-7.72-6.26-13.98-13.98-13.98m2.89 94.73c0 4.47-3.62 8.09-8.09 8.09H858.39c-4.47 0-8.09-3.62-8.09-8.09V37.6c0-4.47 3.62-8.09 8.09-8.09h100.95c4.47 0 8.09 3.62 8.09 8.09z" class="cls-1"/><path d="M905.17 49.03h21.76c3.71 0 7.06.63 10.05 1.88 2.98 1.25 5.53 3 7.64 5.23s3.73 4.87 4.86 7.9c1.13 3.04 1.69 6.36 1.69 9.97s-.56 6.86-1.69 9.9-2.74 5.67-4.82 7.9-4.63 3.98-7.64 5.23-6.37 1.88-10.09 1.88h-21.76V49.01Zm21.53 41.85q3.69 0 6.51-1.32c1.88-.88 3.45-2.07 4.7-3.58s2.21-3.29 2.86-5.34c.65-2.06.98-4.27.98-6.62s-.33-4.58-.98-6.66-1.61-3.89-2.86-5.42-2.82-2.73-4.7-3.61q-2.82-1.32-6.51-1.32h-13.32l.9-.9v35.68l-.9-.9h13.32Zm-60.12-.72 16.18-16.18-16.18-16.18 8.09-8.09 22.5 22.5c.98.98.98 2.56 0 3.53l-22.5 22.5-8.09-8.09Z" class="cls-1"/></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 390.7 390.7"><metadata><rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description><dc:title>Meshtasticd Tux Penguin</dc:title><dc:creator>Meshtastic LLC</dc:creator><dc:contributor>Original Tux created by Larry Ewing (lewing@isc.tamu.edu) using GIMP (https://www.gimp.org)</dc:contributor><dc:rights>Copyright © 2025 Meshtastic. All rights reserved.</dc:rights><dc:source>https://github.com/meshtastic/meshtastic/tree/master/docs/hardware/devices/linux-native-hardware/README.md</dc:source></rdf:Description></rdf:RDF></metadata><defs><style>.cls-1,.cls-3{fill:#2c2d3c;stroke-width:0}.cls-3{fill:#e8c169}</style></defs><path d="m169.606 84.788 26.573-26.573 26.573 26.573-26.573 26.573z" class="cls-3"/><path d="m247.99 83.55-.97 25.21-50.84-47.65-50.84 47.65-.97-25.17a53.26 53.26 0 0 1 15.61-37.68l.06-.06c19.81-19.81 51.86-19.99 71.89-.42a53.3 53.3 0 0 1 16.05 38.12Z" class="cls-1"/><path d="M192.36 314.21 91.8 359.62h206.76z" class="cls-3"/><path d="m93.47 272.46 102.78 87.36 102.65-86.4-51.81-153.57.27 142.36c.05 28.27-22.85 51.22-51.13 51.22-28.26 0-51.16-22.93-51.13-51.19l.17-143.36-51.81 153.57Z" class="cls-1"/><path d="M226.29 160.34H166.9c-2.73 0-4.95 2.22-4.95 4.95v49.49c0 2.73 2.22 4.95 4.95 4.95h59.39c2.73 0 4.95-2.22 4.95-4.95v-49.49c0-2.73-2.22-4.95-4.95-4.95" class="cls-1"/><path d="m169.426 201.662 17.93-26.373 3.126 2.125-17.93 26.373zm19.954 2.048-3.08-2.1 17.16-25.17a1.87 1.87 0 0 1 3.08 0l17.2 25.13-3.07 2.1-15.66-22.88z" style="stroke-width:0;fill:#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,9 @@
# Copyright Notice
Copyright © 2025 Meshtastic LLC. All Rights Reserved.
## Restrictions on Asset Usage (GNU GPLv3 Section 7e)
The images and assets contained in this directory are protected by international copyright laws and treaties.
As permitted under GPLv3 Section 7(e), unauthorized reproduction, distribution, modification, or use of these assets, in any form—commercial or otherwise—outside of official Meshtastic creative works or by Meshtastic Backers and Partners, is strictly prohibited without prior written consent from Meshtastic LLC.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB