This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
iotsec-djw2/lab3/lab3.md
David Westgate 27cda3f660 lab3 done
2024-12-03 19:00:07 -08:00

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
![1.png](./1.png)
![2.jpg](./2.jpg)
Then, I continue to follow the instructions for downloading and building the firmware using Visual Studio Code and the PlatformIO Plugin
![3.png](./3.png)
![4.png](./4.png)
![5.png](./5.png)
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)
![6.png](./6.png)
At this point, things looks good. I am able to use the `meshtastic` python application to get info from the RP2040
![7.png](./7.png)
I then set the region to `US` as well as my owner and node name
![8.png](./8.png)
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
![12.png](./12.png)
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
![11.png](./11.png)
Then, I join the `iotsec` channel
![13.png](./13.png)
Now, I send a message to the `iotsec` channel which is acknowledged
![9.png](./9.png)
Finally, I send a private message directly to curiouscoyote which is also acknowledged
![10.png](./10.png)
This concludes the objectives of the lab. I intend to keep my node running indefinitly, and hack around with it more in the future