65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
## Lab 3: Meshtastic
|
|
|
|
### Part 0: Setup
|
|
|
|
To prepare for this lab, I have cloned the provided meshtastic firmware repo, and removed the ESP32 feather from my board
|
|
|
|

|
|
|
|
|
|

|
|
|
|
Then, I continue to follow the instructions for downloading and building the firmware using Visual Studio Code and the PlatformIO Plugin
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
The firmware building was successfull. Then end result is a `uf2` file which I can flash onto the RP2040 (after starting it in boot mode)
|
|
|
|
|
|

|
|
|
|
|
|
At this point, things looks good. I am able to use the `meshtastic` python application to get info from the RP2040
|
|
|
|
|
|

|
|
|
|
|
|
I then set the region to `US` as well as my owner and node name
|
|
|
|
|
|

|
|
|
|
At this point, I am having a bit of trouble exactly understanding how to join the `iotsec` private channel. I have the channel name, but likely I need the channel pre-share key. To attempt to find this, I base64 decode the path of the share link provided by the assignment
|
|
|
|

|
|
|
|
This seems to provide the channel name and possibly a key, but with some unprintable characters.
|
|
|
|
Going forward, I am going to try instead to interact with the [meshtastic web client](https://client.meshtastic.org). The assignment did not suggest what client to use, so I initially chose the python CLI because it avoids using web technologies. This fits the principle of interacting with the edge of a meshtastic node in an enviornment where the internet would be otherwise unavailable. However, now that I have a bit of CLI experience here I feel better about switching to an easier GUI approach.
|
|
|
|
On the meshtastic web client with chrome, I connect my device
|
|
|
|

|
|
|
|
Then, I join the `iotsec` channel
|
|
|
|

|
|
|
|
Now, I send a message to the `iotsec` channel which is acknowledged
|
|
|
|

|
|
|
|
Finally, I send a private message directly to curiouscoyote which is also acknowledged
|
|
|
|

|
|
|
|
This concludes the objectives of the lab. I intend to keep my node running indefinitly, and hack around with it more in the future
|