Project FishWorks
The four of us, Kayleb, Eric, Braden and Sebastien first met in September 2022 during our first year at Camosun.
By December 2023 we had an idea and plan in place and Project FishWorks was born.
Project FishWorks was built out of Kayleb's passion in reef keeping, and has strived to conceptualize a safer and more enjoyable aquarium experience.
Timeline
"If you're not ahead you're behind" = summer fun!
At the start of 2024 we decided on a smart aquarium monitoring system for our capstone project and thus project FishWorks was born. We met several times over the summer and by August and we had a working prototype circuit board and basic test web app running a simple weather station.
Round 2, this time with feeling!
In September we started the capstone semester and working on this project full time. Our primary focus during this stage was developing our two custom circuit boards. We were able to successfully design assemble and test five base stations and eight node controllers.
During this time we also completed the bulk of the core communication software and hardware allowing for communication between the devices and the base station and the base station and the web app.
Where the rubber meets the road: integration hell.
With the bulk of the developing and work done on our circuit boards, we moved into producing and finalizing our devices and integrating them into the full system.
This included engineering solutions for how best to tie the individual device electrical requirements and systems into the node controller through additional circuitry.
Throughout this period, we also focused on the Web App, and ensuring each device had all its functionality available through the app.
Test, test again and test one more time for good luck!
On Saturday November 9th, at around 5pm we (for the second time) finished our hardware. I'm sure we will have multiple other finishes as we find things wrong, but for the most part we are hardware complete. We currently have a salt water tank, complete with coral and crabs acting as a live test of the system.
This brings us to our final stage, documentation and presentations. From our initial proposal presentation, to our progress presentation, we have been actively producing and working on our Capstone academic responsibilities throughout the semester. But, we had decided early on that we wanted to ensure our documentation and presentation was as polished as possible, thus we allowed for the final month of the semester to be dedicated to these tasks.
Technical Details
Communication
Fish Sense uses two main communication protocols:
CAN Bus
Used to communicate between devices and the base station
MQTT
Used to communicate between the base station and the web app over WiFi.
CAN Bus
An industrial serial communications protocol most commonly used automotive applications.
Transmits data using a differential signal over a twisted pair.
Fish Sense transmits the CAN Bus signal along with 24V DC power over standard Ethernet cables(CAT 5 or 6) with standard RJ45 terminations.
Allows up to 20 devices and a base station to be chained together in a "bus" type configuration .
Web App & MQTT
MQTT
A common Internet protocol most often used to connect IoT devices.
Greatly simplifies the real-time data transfer between the base station and the web-app.
Communication is achieved using a intermediate server called the MQTT broker that both the base station and the web app connect to.
Blazor
A web-framework made by Microsoft to allow the creation of interactive web pages using C# and html.
Allows the app to run in almost any browser.
Our app uses the web assembly rendering mode. This allows all interactive elements to be rendered by the user's web browser resulting in a simpler web hosting setup.
Custom Circuit Boards
Base Station
Connects the CAN Bus network to the web app over WiFi
Powered by the duel core ESP32 S3 module.
Takes 24V DC power from a external AC to DC to power itself and all connected devices. Includes a power switch and current monitor for the 24V device power.
Built-in SD card for data logging.
Connections for the base station lights, buzzer and screen.
Node Controller
Works with device-specific hardware to connect sensors, controllers, etc. to the CAN Bus network
Powered by the ESP32 C3 module.
Includes various IO options to accommodate a variety of different devices.
Powered with 24V DC from the base station.