## 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