Merge branch 'master' into light-dark-2-point-0-fixes

This commit is contained in:
Foster Irwin 2022-12-21 05:36:14 -07:00 committed by GitHub
commit 1d15bf20a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 130 additions and 71 deletions

View file

@ -13,7 +13,7 @@ This site (which has a great search function) is the preferred place for up-to-d
### How can I contribute to Meshtastic?
Everyone contributes in a different way. Join the [Meshtastic Discord](https://discord.gg/ktMAKGBnBs) and introduce yourself. We're all very friendly. If you'd like to pitch in some code, check out the [Developers](/docs/developers) menu on the left.
Everyone contributes in a different way. Join the [Meshtastic Discord](https://discord.gg/ktMAKGBnBs) and introduce yourself. We're all very friendly. If you'd like to pitch in some code, check out the [Development](/docs/developers) menu on the left.
<!-- Android Client-->
@ -21,48 +21,42 @@ Everyone contributes in a different way. Join the [Meshtastic Discord](https://d
### What versions of Android does the Meshtastic Android App require?
Minimum requirement is Android 5 (Lollipop 2014, first BLE support), however Android 6 (Marshmallow 2015) is recommended as Bluetooth is more stable.
Minimum requirement is Android 5 (Lollipop 2014, first BLE support), however at least Android 6 (Marshmallow 2015) is recommended as Bluetooth is more stable. While Android 5/6 are officially supported by Meshtastic, it is *not* recommended that you purchase devices with these versions due to their limited OS support and limited battery life due to age. Many newer models exist that are very affordable. A good resource to use when researching affordable devices is the [LineageOS Supported Devices List](https://wiki.lineageos.org/devices/).
### What's the cloud icon next to the message?
### What is the cloud icon next to the message?
- Empty Cloud - Queued on the app to be sent to your device.
- Up Arrow - Queued on the device to be sent over the mesh.
- Check Mark - At least one other device on the mesh confirmed it received the message.
- Cross Mark - No confirmation was received after the default three retransmissions.
- Empty Cloud - Queued on the device to be sent over the mesh.
- Up Arrow - Queued on the app to be sent to your device.
- Check Mark - At least one other node on the mesh acknowledged the message.
- Cross Mark - Not acknowledged or message error.
### How can I clear the message history?
Long press any message to select and show the menu with "delete" and "select all" buttons.
<!-- iOS Client-->
### After a fresh firmware install, my node is not connecting via Bluetooth. What should I do?
## iOS Client
Try forgetting the Bluetooth connection from the Android Bluetooth Settings menu. Re-pair and try again. This is a security measure and there is no workaround for it. It prevents apps and other accessories from spoofing an existing accessory by un-pairing and "re-pairing" themselves without the users' knowledge.
### What version of iOS does the Meshtastic iOS App Require?
<!-- Apple Clients-->
The iOS app requires iOS v16.
## Apple Clients
### How do I get the Meshtastic iOS App?
### What version of iOS/iPadOS/macOS does the Meshtastic App Require?
See [iOS App](/docs/software/apple/installation)
The Meshtastic App on Apple Clients require the following minimum OS versions: iOS 16, iPadOS 16, and macOS 13.
### After updating firmware, my node is not connecting via Bluetooth. What should I do?
### How do I get the Apple Meshtastic App?
Try forgetting the Bluetooth connection from the iOS System Settings. Re-pair and try again.
See [Apple Apps](/docs/software/apple/installation)
<!-- Web Client-->
### After a fresh firmware install, my node is not connecting via Bluetooth. What should I do?
## Web Client
Try forgetting the Bluetooth connection from the iOS/iPadOS/macOS System Settings. Re-pair and try again. This is a security measure and there is no workaround for it. It prevents apps and other accessories from spoofing an existing accessory by un-pairing and "re-pairing" themselves without the users' knowledge.
### How do I access the network from my web browser?
### Do the Apple applications provide an indication if the message was acknowledged on the mesh?
Visit http://meshtastic.local (Note: This is a work in progress.)
### I've Flashed my device but I can't access the Web UI
Ensure you have used the included `device-install` script to flash your device, and that the file `spiffs-*.bin` is present in the same folder as your firmware at the time of flashing.
Note: Currently only Chrome and Chromium based browsers offer reliable support for the Web UI.
Yes, when the message is sent you will first see a `Waiting to be acknowledged...` status beneath the message. If the message is acknowledged by a node on the mesh this will update to `Acknowledged`, but if no nodes have responded it will indicate `Max Retransmission Reached`. If there is an error, the status will update to the appropriate error. Additionally, you can long press on the message and select `Message Details` to view the date/time sent, if ack was received and the time ack was received or the error (if there was one).
<!-- Channels -->
@ -70,7 +64,7 @@ Note: Currently only Chrome and Chromium based browsers offer reliable support f
### How do I share my Meshtastic Channel with other people?
Your Meshtastic client (Android, Web, or Python) will provide you a URL or QR code. You can email, text or print this URL or QR code and share it with people you want to join your Meshtastic Channel. Note: This feature is not yet available on the iOS app.
Your Meshtastic client (Android, Apple, Web, or Python) will provide you a URL or QR code. You can email, text or print this URL or QR code and share it with people you want to join your Meshtastic Channel.
<!-- Python -->

View file

@ -8,9 +8,9 @@ sidebar_label: Audio
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
The audio module config options are: Codec2 Enabled, Microphone ADC Channel, Speaker PWM GPIO, PTT GPIO, Audio Bitrate/Codec Mode. Audio Module config uses an admin message sending a `ConfigModule.Audio` protobuf.
The audio module config options are: Codec2 Enabled, PTT GPIO, Audio Bitrate/Codec Mode, I2S Word Select, I2S Data IN, I2S Data OUT and I2S Clock. Audio Module config uses an admin message sending a `ConfigModule.Audio` protobuf.
With this **experimental** module, you can add a microphone and speaker to any ESP32 device that has a SX128x radio and operates on the 2.4 GHz ISM Band. The Sub-1GHz bands are not wide enough to support continuous audio packets on the mesh, even in the Short and Fast modes. Right now, the only device supported is the LilyGo TLora 2.1-1.8 board.
With this **experimental** module, you can add a digital I2S microphone and speaker to any ESP32 device that has a SX128x radio and operates on the 2.4 GHz ISM Band. The Sub-1GHz bands are not wide enough to support continuous audio packets on the mesh, even in the Short and Fast modes. Right now, the only device supported is the LilyGo TLora 2.1-1.8 board.
## Audio Module Config Values
@ -18,14 +18,6 @@ With this **experimental** module, you can add a microphone and speaker to any E
Enables the audio module.
### Microphone ADC Channel
The ADC channel to use for the microphone. The default is 6 which maps to GPIO 34 on the ESP32.
### Speaker PWM GPIO
The GPIO to use for the speaker. The default is GPIO 14 on the ESP32.
### PTT GPIO
The GPIO to use for the Push-To-Talk button. The default is GPIO 39 on the ESP32.
@ -44,6 +36,26 @@ The bitrate to use for audio. The default is `CODEC2_700B`. The available option
* CODEC2_700B
* CODEC2_700
### I2S Word Select
The GPIO to use for the WS signal in the I2S interface.
### I2S Data IN
The GPIO to use for the SD signal in the I2S interface.
### I2S Data OUT
The GPIO to use for the DIN signal in the I2S interface.
### I2S Clock
The GPIO to use for the SCK signal in the I2S interface.
:::info What is this?
These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's __no__ default pin assigment, setting these is mandatory.
:::
## Audio Module Config Client Availability
<Tabs
@ -82,10 +94,12 @@ All audio module config options are available in the python CLI. Example command
| Setting | Acceptable Values | Default |
| :-------------------: | :-----------------: | :-----: |
| audio.enabled | `true`, `false` | `false` |
| audio.mic_chan | ADC Number 0-7 | Default of `6` is Unset |
| audio.amp_pin | GPIO Pin Number 1-33 | Default of `14` is Unset |
| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
| audio.ptt_pin | GPIO Pin Number 1-39 | Default of `39` is Unset |
| audio.bitrate | `CODEC2_DEFAULT` `CODEC2_3200` `CODEC2_2400` `CODEC2_1600` `CODEC2_1400` `CODEC2_1300` `CODEC2_1200` `CODEC2_700B` `CODEC2_700` | `CODEC2_DEFAULT` |
| audio.i2s_ws | GPIO Pin Number 1-34 | no Default |
| audio.i2s_sd | GPIO Pin Number 1-39 | no Default |
| audio.i2s_din | GPIO Pin Number 1-34 | no Default |
| audio.i2s_sck | GPIO Pin Number 1-34 | no Default |
```shell title="Enable / Disable Module"
@ -93,12 +107,12 @@ meshtastic --set audio.enabled true
meshtastic --set audio.enabled false
```
```shell title="Set ADC Channel number 7"
meshtastic --set audio.mic_chan 7
```shell title="Set WS to GPIO pin number 7"
meshtastic --set audio.i2s_ws 7
```
```shell title="Set PWM to GPIO pin number 28"
meshtastic --set audio.amp_pin 28
```shell title="Set DIN to GPIO pin number 28"
meshtastic --set audio.i2s_din 28
```
```shell title="Set PTT to GPIO pin number 37"

View file

@ -29,8 +29,8 @@ $ meshtastic --info
Connected to radio
...
Channels:
PRIMARY psk=default { "modemConfig": "Bw125Cr48Sf4096", "psk": "AQ==" }
Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
PRIMARY psk=default { "psk": "AQ==" }
Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
```
So from this output you see can that this node knows about only one channel and that its PSK is set to the default value.
@ -55,10 +55,10 @@ $ meshtastic --info
Connected to radio
...
Channels:
PRIMARY psk=default { "modemConfig": "Bw125Cr48Sf4096", "psk": "AQ==" }
SECONDARY psk=secret { "psk": "HW7E3nMbiNbvr6MhsDonLCmj7eSAhttzjbIx/r5OQmg=", "name": "admin" }
Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
Complete URL (includes all channels): https://www.meshtastic.org/d/#CgUYAyIBAQopIiAdbsTecxuI1u-voyGwOicsKaPt5ICG23ONsjH-vk5CaCoFYWRtaW4
PRIMARY psk=default { "psk": "AQ==" }
SECONDARY psk=secret { "psk": "YyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0mo=", "name": "admin" }
Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
Complete URL (includes all channels): https://meshtastic.org/e/#CgMSAQEKKRIgYyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0moaBWFkbWluEgoIATgDQANIAVAb
```
Notice that now we have a new secondary channel and the `--info` option prints out TWO URLs. The `Complete URL` includes all of the channels this node understands. The URL contains the preshared keys and should be treated with caution and kept a secret. When deploying remote administration, you only need the node you want to administer and the node you are locally connected to know this new "admin" channel. All of the other nodes will forward the packets as long as they are a member of the primary channel.
@ -130,10 +130,10 @@ Set ls_secs to 301
Writing modified preferences to device
Preferences: { "lsSecs": 301, "region": "TW" }
Channels:
PRIMARY psk=default { "modemConfig": "Bw125Cr48Sf4096", "psk": "AQ==" }
SECONDARY psk=secret { "psk": "HW7E3nMbiNbvr6MhsDonLCmj7eSAhttzjbIx/r5OQmg=", "name": "admin" }
Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
Complete URL (includes all channels): https://www.meshtastic.org/d/#CgUYAyIBAQopIiAdbsTecxuI1u-voyGwOicsKaPt5ICG23ONsjH-vk5CaCoFYWRtaW4
PRIMARY psk=default { "psk": "AQ==" }
SECONDARY psk=secret { "psk": "YyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0mo=", "name": "admin" }
Primary channel URL: https://meshtastic.org/e/#CgMSAQESCggBOANAA0gBUBs
Complete URL (includes all channels): https://meshtastic.org/e/#CgMSAQEKKRIgYyDCitupTAOOXTcaMDxyNhDpPa3eThiQFziPFCqT0moaBWFkbWluEgoIATgDQANIAVAb
```
## Admin Channel Setup is Complete

View file

@ -15,7 +15,7 @@ values={[
{label: 'GPS Module', value: 'GPS'},
{label: 'Buzzer', value: 'Buzzer'},
{label: 'I/O Module', value: 'IO'},
{label: 'Environmental Sensor', value:'BME680'}
{label: 'Environmental Sensors', value:'Sensors'}
]}>
<TabItem value="GPS">
@ -59,18 +59,55 @@ There is development activity in progress to get sensors such as this added to t
Further information on the RAK13002 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK13002/Overview).
</TabItem>
<TabItem value="BME680">
<TabItem value="Sensors">
<Tabs
groupId="sensors"
defaultValue="RAK1901"
values={[
{label: 'RAK1901', value: 'RAK1901'},
{label: 'RAK1902', value: 'RAK1902'},
{label: 'RAK1906', value: 'RAK1906'},
]}>
The [RAK1906 Environmental Sensor](https://store.rakwireless.com/products/rak1906-bme680-environment-sensor) is based on the Bosch BME680 module and has the following features:
<TabItem value="RAK1901">
The [RAK1901 Temperature and Humidity Sensor](https://store.rakwireless.com/products/rak1901-shtc3-temperature-humidity-sensor) is based on the Sensirion SHTC3 module and has the following features:
- Temperature measurement (Range -40&deg;C to +125&deg;C)
- Humidity measurement (Range 0% to 100%)
- Lower power consumption
Further information on the RAK1901 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1901/Overview/#product-description).
</TabItem>
<TabItem value="RAK1902">
The [RAK1902 Barometric Pressure Sensor](https://store.rakwireless.com/products/rak1902-kps22hb-barometric-pressure-sensor) is based on the STMicroelectronics LPS22HB module and has the following features:
- Barometer measurement (Range 260 to 1260 hPa)
- Low power consumption of 3uA
- Small form factor
Further information on the RAK1902 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1902/Overview/#product-description).
</TabItem>
<TabItem value="RAK1906">
The [RAK1906 Environment Sensor](https://store.rakwireless.com/products/rak1906-bme680-environment-sensor) is based on the Bosch BME680 module and has the following features:
- Temperature measurement (Range -40&deg;C to +85&deg;C)
- Humidity measurement (Range 0% to 100%)
- Barometer measurement (Range 300 to 1100 hPa)
- Air Quality measurement
There is development activity in progress to get sensors such as this added to the Meshtastic Core.
Further information on the RAK1906 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1906/Overview/#product-description).
</TabItem>
</Tabs>
</TabItem>
</Tabs>

View file

@ -28,7 +28,8 @@ The [RAK1921 OLED display](https://store.rakwireless.com/products/rak1921-oled-d
This item requires soldering.
Further information on the RAK1921 can be found on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK1921/Overview/#product-description).
Similar modules are widely available from other suppliers, but do check the boards as some have the VDD and GND pins swapped round.
Similar modules are widely available from other suppliers, but do check the boards as some have the VDD and GND pins swapped round. This will prevent directly soldering the display to the baseboard. The preferred order is VDD, GND, SCL, SDA.
If pin ordering on the OLED board are swapped, there are some tricks to allow either reconfiguring the pins of the OLED via soldered jumpers, or by carefully soldering wire for those pins that are out-of-sequence. The final option is to use longer wires between the board and display, which permits re-ordering the wires as required.
[<img alt="0.96 inch OLED display" src="/img/hardware/screen.png" style={{zoom:'25%'}} />](/img/hardware/screen.png)

View file

@ -8,7 +8,7 @@ sidebar_position: 3
## Functionality
- **Capacitive Touch Button (Top)**
- _**Short press**_ _currently no functionality_
- _**Short press**_ updates the e-ink display
- **Reset Button (Button 1)**
- _**Single press**_ resets the device.
- _**Double press**_ puts the device into bootloader mode ready to receive new firmware.

View file

@ -44,22 +44,31 @@ It is recommended that you follow the [Meshtastic Discourse Alpha Testers](https
_Google Play and the Google Play logo are trademarks of Google LLC._
### Install by Sideloading
<p float="center">
<a href="https://github.com/meshtastic/Meshtastic-Android/releases/latest">
<img alt="Download at https://github.com/meshtastic/Meshtastic-Android/releases/latest"
src="/img/android/get-it-on-github.png"
width="49%"/>
</a>
</p>
The app can also be sideloaded by downloading the .APK from the [Github Releases](https://github.com/meshtastic/Meshtastic-Android/releases/latest) page.
If you do sideload, you may have to give your browser permissions to run a package installer. If you wish to view the code or contribute to development of the app, please visit the app's [GitHub page](https://github.com/meshtastic/Meshtastic-Android)
### Install with Obtainium
1. Download and Install the Obtanium app from [Github](https://github.com/ImranR98/Obtainium).
2. Open the Obtanium app and navigate to `+ Add App`.
3. Enter the Meshtastic Android Github Releases address as follows: `https://github.com/meshtastic/Meshtastic-Android/releases`.
3. You can easily search for the Android repo with the search field by typing `Meshtastic-Android` and selecting the `Meshtastic/Meshtastic-Android` repo. You may also manually enter the Meshtastic Android Github Releases address as follows: `https://github.com/meshtastic/Meshtastic-Android/releases`.
4. Under `Additional Options for Github` toggle as desired `Include prereleases`* or `Fallback to older releases` and press `Add`.
5. The first time you add an application, obtainium will prompt you for permission to install unknown apps, you will need to toggle `Allow from this source` and press back. Obtainium will download the Android .APK from the Github release page.
6. Press `Install`. Android Installer will prompt "Do you want to install this app?" press `Install`.
7. Press `Open`.
Obtanium will provide notifications when a new release version of the Meshtastic App is available and allow you to update it from within the app.
Obtainium allows you to install and update Open-Source Apps directly from their releases pages, and receive notifications when new releases are made available.
*Alpha releases include the latest cutting edge changes which may come with extra bugs. It is recommended that you follow the [Meshtastic Discourse Alpha Testers](https://meshtastic.discourse.group/c/development/alpha-testers) channel if you decide to use these versions.
### Install by Sideloading
The app can also be sideloaded by downloading the .APK from the [Github Releases](https://github.com/meshtastic/Meshtastic-Android/releases/latest) page.
If you do sideload, you may have to give your browser permissions to run a package installer. If you wish to view the code or contribute to development of the app, please visit the app's [GitHub page](https://github.com/meshtastic/Meshtastic-Android)

View file

@ -24,7 +24,11 @@ To find devices to connect via Bluetooth click the button on the bottom right co
[![Device available to select](/img/android/android-settings-connect-sm.png)](/img/android/android-settings-connect.png)
1. Select the device name, `Meshtastic_bebc` in this example. (You will see devices within range, so make sure to get the right one.)
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the screen. On devices with a "user" button, double clicking sets the pairing PIN to `123456`.
2. Before you can connect for the first time, you need to "pair" the devices to allow communication between them. Some devices are pinless, others require entering a PIN shown on the screen.
:::note
If the device was flashed without a screen connected, it will automatically default to a pairing PIN of '123456'. If it was booted with a screen once, the config is set to random pin. If you remove the screen afterwards, it stays like this.
Either set it to use the default pin manually, or factory reset it and it will revert to '123456' after the next boot.
:::
3. This starts the communication with the device. The cloud icon on the status bar should change and show a check mark.
[![Device connected](/img/android/android-settings-mike-c.png)](/img/android/android-settings-mike-c.png)

View file

@ -204,7 +204,7 @@ function Home() {
))}
</Carousel>
<div className="bg-primaryDark mx-auto flex w-full w-auto flex-col gap-4 p-4 shadow-inner">
<div className="bg-primaryDark mx-auto flex w-full lg:w-auto flex-col gap-4 p-4 shadow-inner">
<h3 className="text-xl font-bold">Connect with us.</h3>
<div className="flex w-full overflow-x-auto">
{SocialCards.map((card, index) => (

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB