mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-01-27 05:39:00 -08:00
Merge pull request #72 from KrazyKerbalnaut/master
Corrections, updates, additional info
This commit is contained in:
commit
88903c51f6
|
@ -11,12 +11,23 @@ The app is also available on the Amazon [Appstore](https://www.amazon.com/Geeksv
|
|||
|
||||
The application may not be found if your phone/Android version are too old. The minimum Android version is 5.0 (Lollipop 2014, first BLE support). However Android 6, Marshmallow 2015, is recommended as the Bluetooth is more stable.
|
||||
|
||||
The app can also be sideloaded by downloading the .apk from the <a href="https://github.com/meshtastic/Meshtastic-Android/releases/latest">GitHub releases</a> page. If you wish to view the code or contribute to development of the app, please visit the app's <a href="https://github.com/meshtastic/Meshtastic-Android">GitHub page</a>.
|
||||
The app can also be sideloaded by downloading the .apk from the <a href="https://github.com/meshtastic/Meshtastic-Android/releases/latest">GitHub releases</a> 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 <a href="https://github.com/meshtastic/Meshtastic-Android">GitHub page</a>.
|
||||
:::note
|
||||
Be aware that you may have to open the drop down menu for "Compare" to see the latest alpha/beta builds. Generally the versions will follow the device versions.
|
||||
:::
|
||||
|
||||
On installing the Meshtastic app, load it and navigate to the settings page. The app will ask you to give it permissions to access your location. This is needed for any app to use bluetooth, as the app is then able to scan the local area for bluetooth devices and, in theory, could triangulate your location based the devices it sees. If you give location permissions "only while using the app", the app will only be able to use bluetooth while it is open and visible to the user. This means if the screen is locked, or you are using another app, Meshtastic will not be able to use bluetooth, and will not be able to receive any messages from the node.
|
||||
After installing the Meshtastic app, open it and navigate to the settings page. The app will ask you to give it permissions to access your location. This is needed for any app to use bluetooth, as the app is then able to scan the local area for bluetooth devices. If you give location permissions "only while using the app", the app will only be able to use bluetooth while it is open and visible to the user. This means if the screen is locked, or you are using another app, Meshtastic will not be able to use bluetooth, and will not be able to receive any messages from the node.
|
||||
|
||||
[![Messages page](/img/android/android-messages-sm.png)](/img/android/android-messages-sm.png) [![Nodes page](/img/android/android-nodes-sm.png)](/img/android/android-nodes.png) [![Channel page](/img/android/android-channel-sm.png)](/img/android/android-channel.png) [![Settings page](/img/android/android-settings-sm.png)](/img/android/android-settings.png) [![Debug page](/img/android/android-debug-sm.png)](/img/android/android-debug.png)
|
||||
|
||||
:::note
|
||||
Be aware that every OS has a different way of handling permissions. In order to prevent the user from accidently allowing background location services, the dialog box may not give you the option.
|
||||
|
||||
Click on the image to see a quick video of where I found it on my phone.
|
||||
|
||||
[![Background Permissions Video](/img/android/android-bg-location-permissions.png)](https://youtu.be/YAFLxoeVIHg)
|
||||
:::
|
||||
|
||||
There is a [beta program](https://play.google.com/apps/testing/com.geeksville.mesh) for the app, which will let you test the cutting edge changes, though this may come with extra bugs. You can join this via Google Play. It is recommended that you follow the [Meshtastic Discourse Alpha Testers](https://meshtastic.discourse.group/c/development/alpha-testers) channel if you decide to join this.
|
||||
|
||||
The app uses anonymous usage statistics and crash reports to allow us to catch problems with Meshtastic and fix them. Analytics are also required to be able to use the "free" plan of our map provider [Mapbox](https://docs.mapbox.com/help/how-mapbox-works/). You can disable this by unticking the checkbox on the settings page.
|
||||
|
|
|
@ -4,11 +4,11 @@ title: Remote node administration
|
|||
sidebar_label: Remote node admininstration
|
||||
---
|
||||
|
||||
This feature will allow you to use the multiple channels feature to enable remote adminstration of meshtastic nodes. This will let you talk through the mesh to some far away node and change that node's settings. This is an advanced feature that (currently) few users would need. Also, keep in mind it is possible (if you are not careful) to assign settings to that remote node that cause it to completely drop off of your mesh.
|
||||
This feature will allow you to use the multiple channels feature to enable remote adminstration of meshtastic nodes. This will let you talk through the mesh to some far away node and change that node's settings. This is an advanced feature that (currently) few users would need. Also, keep in mind it is possible (if you are not careful) to assign settings to that remote node that cause it to completely drop off of your mesh. We advise network admins have a test node to test settings with before applying changes to a remote node to prevent this.
|
||||
|
||||
## Creating the admin channel
|
||||
|
||||
By default, nodes will **only** respond to adminstrative commands via the local USB/bluetooth/TCP interface. This provides basic security to prevent unauthorized access. This is how normal administration and settings changes work. The only difference for the remote case is that we are sending those commands over the mesh.
|
||||
By default, nodes will **only** respond to adminstrative commands via the local USB/bluetooth/TCP interface. This provides basic security to prevent unauthorized access and is how normal administration and settings changes work. The only difference for the remote case is that we are sending those commands over the mesh.
|
||||
|
||||
Before a node will allow remote admin access, it must have a primary channel:
|
||||
```bash title="Expected output"
|
||||
|
@ -20,16 +20,16 @@ Channels:
|
|||
Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
||||
```
|
||||
|
||||
So from this output you see that this node knows about only one channel and that its PSK is set to the default value.
|
||||
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.
|
||||
|
||||
Now add an admin channel:
|
||||
Now we add an admin channel:
|
||||
|
||||
```bash title="Command"
|
||||
meshtastic --ch-add admin
|
||||
```
|
||||
|
||||
:::note
|
||||
The name of the channel is important, it must be `admin`.
|
||||
The name of the channel is important and must be `admin`.
|
||||
:::
|
||||
|
||||
Your channels will now look like this:
|
||||
|
@ -47,11 +47,11 @@ Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
|||
Complete URL (includes all channels): https://www.meshtastic.org/d/#CgUYAyIBAQopIiAdbsTecxuI1u-voyGwOicsKaPt5ICG23ONsjH-vk5CaCoFYWRtaW4
|
||||
```
|
||||
|
||||
Notice that now we have a new secondary channel. Also, the `--info` option prints out TWO URLs. The `Complete URL` includes all of the channels this node understands. You should consider this URL something you should be very cautious about sharing. In the case of remote adminstration, you only need the node you want to adminster and the node you are locally connected to know this new "admin" channel.
|
||||
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. Wehn deploying remote adminstration, you only need the node you want to adminster 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.
|
||||
|
||||
## Sharing the admin channel with other nodes
|
||||
|
||||
I'm going to assume you've already created the admin channel on your "local node" i.e. the meshtastic node sitting on your desk at your home. But now you want to enable access on the "remote node" you want to eventually have far away from you.
|
||||
Creating an "admin" channel automatically generates a preshared key, just like with [Multiple channel support](./device-channels). In order to administer to other nodes remotely, we need to copy the preshared key to the new nodes.
|
||||
|
||||
For this step you need physical access to both the nodes.
|
||||
|
||||
|
@ -68,7 +68,7 @@ At this point you can take your remote node and install it far away and still be
|
|||
|
||||
## Remotely administering your node
|
||||
|
||||
Now that both your local node and the remote node contain your secret admin channel key, you can do things like this:
|
||||
Now that both your local node and the remote node contain your secret admin channel key, you can do things like:
|
||||
|
||||
Get the node list from the local node:
|
||||
|
||||
|
@ -94,6 +94,9 @@ INFO:root:Requesting configuration from remote node (this could take a while)
|
|||
:::note
|
||||
You will need to escape the `!` using `\!` otherwise the command will fail.
|
||||
:::
|
||||
:::note
|
||||
The above note needs clarificaiton. Currently, you refer to other nodes with `!########`. No backslashes are used.
|
||||
:::
|
||||
|
||||
And you can now confirm via the local node that the remote node has changed:
|
||||
|
||||
|
@ -123,6 +126,22 @@ Primary channel URL: https://www.meshtastic.org/d/#CgUYAyIBAQ
|
|||
Complete URL (includes all channels): https://www.meshtastic.org/d/#CgUYAyIBAQopIiAdbsTecxuI1u-voyGwOicsKaPt5ICG23ONsjH-vk5CaCoFYWRtaW4
|
||||
```
|
||||
|
||||
## Admin Channel Setup is Complete
|
||||
|
||||
You've finished setting up and adding 2 devices to the admin channel. Remember, because this is a mesh network, it doesn't matter which node you are at; you could adminster your first device we set up from the second one we added to the channel. And the settings and examples on this page are just a tast of the other settings you can set. Also, if you ever want to view a setting without having to read through the `--info`, you can always do the following:
|
||||
|
||||
```bash title="--get vs. --info"
|
||||
$ meshtastic --dest \!28979058 --get ls_secs
|
||||
Connected to radio
|
||||
INFO:root:Requesting preferences from remote node (this could take a while)
|
||||
ls_secs: 301
|
||||
Completed getting preferences
|
||||
```
|
||||
|
||||
For further reading, I recommend starting out with [Meshtastic-python](../python/python-cli) if you haven't already gone throught this (hopefully you have since you are reading this). But for a full reference to the settings you can change, please see:
|
||||
|
||||
[Settings Overview](/docs/settings)
|
||||
|
||||
## Areas for future development
|
||||
|
||||
In the future we will add a "deadman timer" to this feature so that the remote node will revert any changes if you fail to send a special "commit changes" command. This will protect against sending bad settings to nodes that you can't physically access. Instead if the node does not receive a commit message within 10 minutes it will revert all changes and (hopefully) rejoin the mesh.
|
BIN
website/static/img/android/android-bg-location-permissions.png
Normal file
BIN
website/static/img/android/android-bg-location-permissions.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Loading…
Reference in a new issue