mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-28 06:59:45 -08:00
Merge remote-tracking branch 'origin' into update-faqs
This commit is contained in:
commit
30806e692d
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) => (
|
||||
|
|
Loading…
Reference in a new issue