diff --git a/README.md b/README.md index 980def8..666fd72 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is the first step of a multi-part project of creating a smart waste ecosyst # Quick Start Please follow the appropriate build guide for the waste watcher version of your choosing. -- [Waste Watcher Guide](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/guide.md) +- [Waste Watcher Guide](https://github.com/zotbins/waste_watcher/blob/release-v1/guide/guide.md) - Measures bin fullness and collects waste images - Saves data and images to HTTP server - Syncs with NTP Client to generate UTC datetime stamps diff --git a/guide/guide.md b/guide/guide.md index 01b644e..1d510da 100644 --- a/guide/guide.md +++ b/guide/guide.md @@ -2,7 +2,7 @@ Waste Watcher v1 is an IoT-based sensor module unit that collects bin fullness data and takes images of the trash. The main difference between v0 and v1 is the use of an HTTP server to record data instead of a SD card. This build guide will walk you through the steps of setting everything up. If you need additional help feel free to ask for help on our [Discord Server](https://discord.com/invite/mGKVVpxTPr). -![feature photo](https://raw.githubusercontent.com/zotbins/waste_watcher/main/v0/guide_images/feature_photo.jpg) +![feature photo](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/feature_photo.jpg) ## Features - Sends to an HTTP server (You should set up the [ZBCE API]()) @@ -27,7 +27,7 @@ Waste Watcher v1 is an IoT-based sensor module unit that collects bin fullness d ## 1. Supplies -![supplies](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/supplies_materials.jpg) +![supplies](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/supplies_materials.jpg) ### Materials Needed - ESP32-CAM (~$9 per unit) - 5V Boost Converter (~$1.5 per unit) @@ -62,21 +62,21 @@ Waste Watcher v1 is an IoT-based sensor module unit that collects bin fullness d 1. **Use a 4cm x 3cm prototyping board.** This will be approximately the same size as the ESP32 CAM. I cut a 4cm x 6cm board in half to get that size. - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/circuit_assembly_1.jpg) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/circuit_assembly_1.jpg) 2. **Use two 8-pin female headers and place it on the center of board for the ESP32-CAM.** I just cut a 20 pin female header piece to get the 8-pin female headers. - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/circuit_assembly_1.jpg) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/circuit_assembly_1.jpg) 3. **(Optional) Place a 2-pin screw terminal block connector near the top.** You can use this to conveniently plug in my battery pack of 3 AA batteries. If you don't follow this step just solder the wires from your battery pack directly into the prototyping board. 4. **Solder wires for HC-SR04 and the 5V Boost Converter.** These wires will be used to connect the components to the prototyping board. 5. **Solder Components.** Once everything is placed, just solder those components in place. See image above of my setup for reference. 6. **Plug in your ESP32 CAM into the female headers for referencing the pins.** Helps you see which pins for the female headers correspond to which pin on the ESP32 CAM. - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/circuit_assembly_3.jpg) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/circuit_assembly_3.jpg) 7. **Solder connections according to wiring diagram below.** - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/v0_circuit.png) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/v0_circuit.png) **Circuit Explanation** @@ -97,7 +97,7 @@ By the end of this tutorial you should have the following: ## 4. Select AI Thinker ESP32-CAM as Board in the Arduino IDE -![](https://raw.githubusercontent.com/zotbins/waste_watcher/main/release-v1-develop/guide/arduino_ide.png) +![](https://raw.githubusercontent.com/zotbins/waste_watcher/main/release-v1/guide/arduino_ide.png) Refer to the picture above for reference. @@ -114,7 +114,7 @@ We'll be using Wifi and connecting to a NTP server to keep automatically determi 3. Move the folder to your Arduino IDE installation libraries folder. On Windows, I move the folder here: `C:\Users\REPLACE_WITH_YOUR_USERNAME\Documents\Arduino\libraries` - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/NTP_client_reference.png) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/NTP_client_reference.png) NTP_client_reference.png 4. Restart the Arduino IDE @@ -124,9 +124,9 @@ Now that you have all the software setup. Let's start with programming the ESP32 1. Get your FT232RL FTDI USB to TTL Serial Adapter Module (FTDI Adapter) and your Female to Female Jumper Wires 2. Connect the FTDI Adapter pins to your ESP32-CAM according to the diagram below - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/ftdi_circuit_design.png) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/ftdi_circuit_design.png) - ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/ftdi_connection.jpg) + ![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/ftdi_connection.jpg) 3. Plug in your FTDI Adapter USB side to the computer and make sure that your computer is able to recognize the device. If your computer does not recognize the device follow these steps: @@ -143,7 +143,7 @@ Now, we're going to download the code and make some changes so that everything w 1. Download the *waste_watcher_code* folder from GitHub: https://github.com/zotbins/waste_watcher_code 2. Open up the code in the Arduino IDE. You should see two tabs (one called `waste_watcher_code` and the other called `config.h`). See image below for reference. - ![code reference](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/code_reference.png) + ![code reference](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/code_reference.png) 3. Go to the `config.h` tab so that we can change the parameters @@ -159,7 +159,7 @@ Now, we're going to download the code and make some changes so that everything w String serverName = ""; // only the serverName, don't add http:// ``` - ![config reference](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/coding_parameters_reference.png) + ![config reference](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/coding_parameters_reference.png) 5. Measure the height of your bin and change *binHeight* value to reflect the height of your particular bin. That way the sensor module can calculate how full your bin is. ```c @@ -174,7 +174,7 @@ Now, we're going to download the code and make some changes so that everything w ## 8. Understanding the Code *Feel free to skip this section if you are not interested or just save it for later.* -![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/software_diagram.png) +![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/software_diagram.png) Above, is a quick high-level flow chart that shows the logic of the code. It is pretty simple. @@ -187,7 +187,7 @@ However, if you want a more in-depth explanation, I made a PDF document and made ## 10. 3D Printing the Case -![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/sensor_mod_v0_enclosure.png) +![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/sensor_mod_v0_enclosure.png) 1. Download the the STL files from https://github.com/zotbins/waste_watcher/tree/main/v0/stl_files 2. Infill: 10-15% @@ -199,7 +199,7 @@ However, if you want a more in-depth explanation, I made a PDF document and made Currently, this design only fits on a bin with a 1cm width lip. You may have to modify the CAD file. I have included a Fusion360 file called *sensor_mod_handle v9.f3d*, in the [github repository](https://github.com/zotbins/waste_watcher), that you can modify to fit your needs. Another option is to design your own handles for your bin, I made the case pretty modular where you can create a custom attachment with M3 screws. -![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1-develop/guide/feature_photo2.jpg) +![](https://raw.githubusercontent.com/zotbins/waste_watcher/release-v1/guide/feature_photo2.jpg) ## 11. Start Data Logging