Hey there! 👋 I'm ItsMeVino, and I built MeshPortal right here in Ottawa, Canada! 🇨🇦 This is a super cool FastAPI web app for managing MeshCore companion radios. Whether you're into radio communication or just love tinkering with tech, this app is for you! 😄
- Manage Devices: Easily connect to MeshCore devices via Serial, TCP, or BLE.
- Configure Channels: View and tweak communication channels to your liking.
- Send Messages: Chat directly or through channels, with retries and signing options.
- Real-Time Updates: Stay in the loop with live WebSocket updates for messages, ads, and more.
- Monitor Stats: Check out device stats like battery, radio, and packets.
- Remote Commands: Send commands like reboot or advertise to remote devices.
- FastAPI: The backbone of the app.
- Pydantic: For making sure data behaves.
- Uvicorn: To run the show.
- Python: Because Python is awesome.
We've made it super easy to get started with MeshPortal! Just download the appropriate install script for your operating system and run it:
- Linux:
install_linux.sh - macOS:
install_mac.sh - Windows:
install_windows.bat
The script will handle everything for you, including installing dependencies and running the app. 🎉
- Python 3.9 or higher
- Git
- A MeshCore device (optional, but more fun!)
-
Clone the Repo:
git clone https://github.com/vfortin99-ctrl/meshportal.git cd meshportal -
Set Up a Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows: venv\\Scripts\\activate
-
Install the Goodies:
pip install -r requirements.txt
-
Run the App:
uvicorn main:app --host 0.0.0.0 --port 8080
-
Open Your Browser: Go to
http://localhost:8080and enjoy! 🎉
MeshPortal is like your personal assistant for MeshCore devices. It uses FastAPI to create a bunch of endpoints for managing devices, channels, and messages. WebSockets keep everything real-time, so you're always up-to-date. It's modular, clean, and just plain fun to use!
I'm ItsMeVino, and I love building cool stuff like this! MeshPortal was a labor of love, built locally in Ottawa, Canada. I hope you enjoy using it as much as I enjoyed making it. If you have any questions or just want to say hi, feel free to reach out! 😊