BREAD BUNS:
Fall 24:
Project Update 9: My contributions to the CAN protocol were wiring up the transceiver to the Esp32 such that there was no conflict between pin assignments however another group member was able to take over this portion of the project after this and at this time, I am unsure if the initial pin assignment will work correctly. We are getting a CAN message output, but we must verify that the data is correctly being packaged and sent to the Loaf.
Project Update 8: We decided to switch from the Arduino to the Esp32. This is because the cost of the Arduino and IC chips is more expensive that a single Esp32 and should this project be duplicated, this will minimize cost. This switch includes switching out a couple of libraries designated for Arduino but luckily, there were direct replacements for the Esp32. Overall, switching to the Esp32 had a couple of roadblocks (however more than expected). The rate calculation code was also added to the Esp32 such that a single float variable was the only data needing to be sent to the Loaf. Now to implement the CAN protocol.
Project Update 7: I then started to help another team member with some issues regarding communicating with the Loaf. We needed to implement the CAN protocol as a way to communicate to the Loaf the rate scans/minute at which the scanner data is being sent. For the time being we needed to figure out how to implement CAN onto the Slice which included updating hardware. Our options were either switching to an esp32 or adding a couple IC chips in conjunction with the existing Arduino.
Project Update 6: The final update to the GUI was for it to be accessible by IOT devices. Up until now, the GUI could only be viewed by remoting into the Pi and viewing it on localhost. For it to be accessible, I want it to be able to connect to the wifi network that it will be deemed as home, and have the ability for multiple devices on that network being able to view the database in real time. The database was already visible on large screen applications and with the addition of css, it can now be viewed and interacted with on a phone. With some configuring of the Apache web server that was established last semester, the database can be viewed by devices on the same network with code security protecting against SQL injection. This completes the goals for the semester regarding the GUI.
Project Update 5: The next step for the database was auto incrementing quantity when a duplicate barcode is scanned. In order to do this, backwards communication needed to be established during the upload process to check for duplicate barcodes and read in the corresponding quantity to be incremented should a duplicate barcode be found.
Project Update 4: Over the past couple weeks, I have found a couple of issues with the GUI behavior that have been addressed, The embedded Arduino code has also been updated to interact with the new database structure. Another step forward was taking the local development .html and .css code and placing that onto the raspberry pi.
Project Update 3: This week, I finished the database redesign as well as updating the GUI behavior. Including auto updates when an item is manually added or edited. I also spent some time overhauling the look of the GUI including allowing the webpage to be viewed on a phone screen. The next steps will be updating the embedded Arduino code to adhere to the redesigned SQL database, and allowing for quantity updates when a duplicate barcode is scanned.
Project Update 2: This week I finished the local database for development and then I started to develop the database to allow for item quantities and descriptions. I forgot that this redesign would be necessary, so I am hoping that I am able to get these table updates into the Python code for the Arduino receiver and into the html/php code for the GUI. I will also spend some time planning out the GUI behavior such as auto updates/refreshing and the ability to change the table through the GUI and what that will look like.
Project Update 1: This week I spent some time figuring out a way to work on the GUI for the database while not needing the Raspberry Pi. This is to allow other team members the ability to work on/use the Raspberry Pi while I am improving the GUI. The To-Do list for next week includes finishing up the ‘virtual’ database and starting to add the improvements such as item quantities and descriptions.
Spring 24:
Project Update 12: This week, we figured out the communication issues we were having getting longer data strings sent over wireless and uploaded. Code had to be changed both on the scanner and serial communication. The remainder of the week was spent writing the report which includes the steps for recreation and documenting our code and files.
Project Update 11: This week, we were able to combine the scanner and database completing the goals that were stated at the beginning of the semester. We have some work left to do regarding getting the wireless sending and receiving working, but that is being taken care of by the scanner team. I have been focusing on the database and GUI so this week, I spent getting those 2 portions of the project ready for final review. The remainder of the semester will be spent writing the semester report, documenting the steps for recreation, and preparing for our final review and presentation.
Project Update 10: This week we combined the two components, the scanner and database, getting the project ready for final review. We still have a number of things to complete for this semester, but I am confident with 2 weeks left, we will be able to complete everything that I wanted to on the timeline for this semester. We will spend next week improving how the database and scanner function together.
Project Update 9: I continued to work on the webpage, but more time was spent getting the scanner uploading to the database. We are running into some issues regarding code and may need some refactoring to make it easier to use different scanner modules. We will continue to improve the scanners ability to upload values to the table, and allow for different scanners to be used overall.
Project Update 8: This week, I am continuing to work on getting a rudimentary webpage design made, I need to make a decision regarding how the user should interact with the table but for now, I will continue to work on getting the webpage somewhat useful.
Project Update 7: This week, I got the Arduino communicating with the Pi, now, the communication needs to be expanded to include barcode data, and as of now, the communication is only uploading values to the database. Next week, we will combine the wireless communication from the barcode scanner with the database and start developing a webpage to access the SQL table.
Project Update 6: This week, I started building the database, I decided to use the tried and true software stack of SQL, phpMyAdmin, and Apache. I took the time to document all of the commands that I used to install of the software to help with documenting the project on the osf repository. Next week, I will work on getting the Raspberry Pi and Arduino communicating over usb and uploading values to the database.
Project Update 5: This week we received lots of feedback from our peers regarding some of out design choices, and problems that we have encountered. For the remainder of the week we spent some time researching these suggestions and feedback and plan to work over break to improve the wireless communication, scanner, and start developing the database. I will be responsible for staring the database development while my other group members work on the communication and scanner hardware. After break, we plan to come back and integrate the wireless communication and start loading values into the database.
Project Update 4: This week was spent working on getting the wireless communication between two Arduinos working. Further research into the communication modules will be done to make sure that these modules will work for our designed application. Over the next week, we are going to prepare for our Critical Design Review, and work to implement the raspberry pi and Arduino communication for the database.
Project Update 3: Last week we were able to get our scanner functioning and we confirmed that the scanner was able to read a variety of different barcode types. More modifications will be done at a later date to improve the scanners functionality. Some of the difficulties that we must take care of is repeatedly scanning a barcode. The easiest option would be to incorporate a hard coded delay in the code, but we think the best option would be to either allow for manual adjusting of the delay, or some new software to help recognize what package was just scanned. Going forward, the focus will be on getting the scanner to communicate with a wireless receiver which will then communicate with a raspberry pi for the database. By next week we hope to have the wireless communication done, and complete some research for the database.
Project Update 2: This week, we received the hardware and started writing the first code rough draft of code for the scanner. We finalized our goals for the semester, and by the end of next week we hope to have a functioning scanner reading a variety of barcode types. From there we will get the wireless communication working between the Arduinos and begin work on the database.
Project Update 1: This week, we decided what the necessary hardware for our project would be. We spend a majority of the week researching different wireless communication methods that will give us optimal performance for our application. At the end of the week we ordered the hardware, including a barcode scanner, NRF24L01+ wireless communication modules, and a Raspberry Pi to get us started on our project. In the upcoming week, our goal is to get the barcode scanner functioning, and test it out in a variety of different ways.
BREAD MOLD:
Project Update 1: This week, we made progress in deciding what our project priorities will be throughout the semester, and purchased the necessary components to fulfil this goal. The main problem that we set out to solve this week was how we would me measuring the mass of an object. We found a variety of different ways to do this, but we settled on using load cells, and a HX711 amplifier for mass measurements. Next week, we will begin to integrate the load cells, amplifier, and Arduino to build a simple scale.
Project Update 2: Over the past 2 weeks, we assembled our basic scale and measured our first mass. We started off by using 1 load cell and made a proof of concept. Once we ensured that our project will be able to continue, we expanded the functionality of the scale to include 4 load cells for increased mass accuracy and larger range of acceptable weights. Our next step will be to integrate the LCD and rotary encoder for our user interface portion of the project.
Project Update 3: We have finalized our menu navigation and implemented the LCD and rotary encoder interface. We will continue to work on and improve our user interface as we begin to research and integrate our working slice into the Loaf communication protocol. Moving forward we will continue to research the communication protocol, and begin to design our final product including PCB, 3D printed casings, and more robust materials overall.
Project Update 4: This week we have continued to implement and improve our user interface and made some progress in regards to how to communicate with the slice. We have started designing our PCB and made our slice more robust by adding a plexiglass toper to the load cells, and a sturdy base to improve our measurement’s accuracy. Our next steps include finalizing the user interface, manufacturing our PCB, and adding connectors for removable and scalable parts.