Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Robominions Fall 2023 / Spring 2024 #14

Open
sgdavis1 opened this issue Aug 17, 2023 · 15 comments
Open

Robominions Fall 2023 / Spring 2024 #14

sgdavis1 opened this issue Aug 17, 2023 · 15 comments

Comments

@sgdavis1
Copy link
Member

sgdavis1 commented Aug 17, 2023

Kick-off Meeting for Fall 2023

Date: 08/17/2023

Participants: Shivam Patel, Rithwick Lakshmanan

Plan

During this Fall semester, Rith and Shivam are going to setup a weekly meeting after school ends at a school classroom so that they can be together and always available to talk to Steve for 30 minutes about the progress on the project. Every meeting will include goal setting and plans for how to accomplish those goals during the week.

Goals for next week

  • Clone code repository
  • Flash controller with correct values so it can connect to WiFi
  • Get WebApp running on a laptop
  • (Stretch goal) Configure WebApp / Controller to communicate together
@sgdavis1
Copy link
Member Author

2023/08/25

Progress

The team was able to flash the controller, and get it to connect to the WIFI network. They opened the static HTML of the webpage and are still working on executing the Node application for the server.
We talked about firewall rules and making and exception to allow the controller to talk to the server (their laptops). And also discussed installing Node and cloning the repo via VS.code.

Goals for next week

  • Get WebApp running on a laptop
  • Ensure firewall allows connections from controller
  • Verify communication between controller and WebApp
  • (Stretch goal) Understand the relationship between Controller / Static HTML / Client Browser JS

Next week: Set goals for semester

@sgdavis1
Copy link
Member Author

sgdavis1 commented Sep 1, 2023

2023/09/01

Progress

The team was able to get the WebApp to start, and respond to requests on http://localhost:3000. Issues occurred with the communication module to talk back to the webapp.

Goals for next week

  • Figure out firewall / communication

Goals for semester:

  • Notification system
  • Weekly Summary
  • Clean up WebApp

@sgdavis1
Copy link
Member Author

sgdavis1 commented Sep 8, 2023

2023/09/08

Progress

Similar state to last week. Still cannot get the module to report a saturation value back to the webapp. Might be because of firewall, or AV, or something else.

Goals for next week

  • To be set shortly

@sgdavis1
Copy link
Member Author

2023/09/22

Progress

System is running, can do Postman requests to the webapp, but controller still has issues sending data.

Goals for next week

  • To be set shortly

@sgdavis1
Copy link
Member Author

sgdavis1 commented Oct 7, 2023

2023/10/07

Progress

Controller is connecting and sending POST messages (there was a line ending issue in the raw HTTP commands from a previous group). Began to experiment with Twilio for programmatically sending SMS messages. Currently still exploring the API and how to use the service. Also experimenting with new Arduino libraries that could save energy and connect to the WiFi faster. Also looking to identify controller by MAC address (currently able to identify by IP address, but we discussed how relying on a dynamic IP might cause future issues with a large array of devices when on the same network).

Goals for next week

  • Continue progress on understanding the Twilio API
  • Identify controller by MAC address
  • Start using more efficient WiFi library

@sgdavis1
Copy link
Member Author

sgdavis1 commented Oct 13, 2023

2023/10/13

Progress

Have some sample code ready for Twilio text message API, some issues still exist but currently working through those. Compile issues. The more efficient Wifi library is in place, but at times seems to still have an issue. Started to identify the controller by MAC address instead of IP alone.

Goals for next week

  • Submit PR for new Wifi library (including identification of controller by MAC)
  • Send SMS using Javascript via Twilio API

@sgdavis1
Copy link
Member Author

2023/10/27

Progress

Missed a few weeks (my bad!)
Shivam and Rithwick have both adjusted the web application to send SMS messages with a low saturation value that is reported. Cleaned up the module code.

Goals for next week

  • Push WiFi improved library code to the Robominions repo to share with the team
  • Research Sequelize
  • Design a way to minimize the number of SMS messages sent when saturation value falls below threshold
  • Working on web page, adding data, look into fixing the graphic / measurement visual

@sgdavis1
Copy link
Member Author

sgdavis1 commented Nov 9, 2023

2023/11/08

Progress

Initial SMS implementation was created using single memory storage within the saturation.js controller. Because of the goal for the system to support multiple sensors, and be robust against restarts, Shivam will be adjusting this approach to a database supported approach in the near future (using Sequelize). Rith has created a new fork that includes WiFi connection code that persists across reboots. The library doing this is: https://github.com/tzapu/WiFiManager but allows for unrestricted changing of the WiFi configuration using an independent WiFi network started by the module. This might be a good fit for development mode but should be reworked into the production version so that risk isn't there. Steve will look into that.

Goals for next week

  • Push initial SMS code to new fork on Rithwick's github account.
  • Continue to explore and understand Sequelize
  • Attempt initial Sequelize based SMS approach (for supporting multiple modules eventually)
  • Working on web page, adding data, look into fixing the graphic / measurement visual

@sgdavis1
Copy link
Member Author

sgdavis1 commented Dec 8, 2023

2023/12/08

Progress

Working through more understanding of Sequelize.
Steve still needs to look into the "WiFiManager" approach, but Rith is continuing to look for other libraries as well.

Goals for next week

  • Continued to attempt to incorporate Sequelize
  • If completed: implement initial Sequelize based SMS approach (for supporting multiple modules eventually)

@sgdavis1 sgdavis1 changed the title Robominions Fall 2023 Robominions Fall 2023 / Spring 2024 Jan 28, 2024
@sgdavis1
Copy link
Member Author

2024/01/28

Progress

Challenges with running the code on Rithwick's machine due to an issue with the config grabbing the rootPath of the project, and therefore unable to load all controllers. Fixed this with a hardcoded change to the path, but still need to dig into this more. Perhaps it is a Windows specific issue. Either way, the code is working and firewall is allowing connections so progress can now be continued to be made. Jevon fixed the main webpage static javascript code so that it correctly displays the saturation value from the database, and will push that up shortly.

Goals for next week

  • Jevon will take over looking into the "WiFiManager" approach to see if he could identify why it is so much faster.
  • Shivam will be looking at further improving the webpage.
  • Rithwick is going to continue exploring the code and getting the controller to report a value correctly.

@sgdavis1
Copy link
Member Author

2024/02/13

Progress

Working session tonight to fix pathing issues. Was caused by some older code with hardcoded path separators. I will update all forks shortly.

Rithwick started working on changes to the static HTML of the site, also demoed the working WiFiManager code example. Jevon fixed the progress bars on the web app.

We discussed some of the future direction for the module including how to configure the devices in an easy to use and secure fashion.

Goals for next week

  • Rith / Shivam will rebase branches and start using the new code changes that are pushed by Steve
  • Jevon will help debug rebases, and continue working on the front-end, such as "creating a plant" and initializing a controller
  • Shivam will be looking at further improving the webpage
  • Rithwick is going to exploring improving the WiFiManager approach for security and usability.

@sgdavis1
Copy link
Member Author

sgdavis1 commented Mar 22, 2024

2024-03-22

Progress

Rithwick was able to get the web app to support multiple plants, and interactive elements, and currently is working on getting the API to show the users the available wifi networks. We discussed the vision for how to configure the devices in the future via a physical connection to the host of the WebApp (USB) and how that could work.

For a better example of the configuration idea, Steve and Jevon will work on a very simple serial command (via USB) and add it to the bioneos repository of the controller and the webapp.

Shivam was working on the visualization of the plant and working through some git issues.

Goals for next week

  • Improve startup for an empty database
  • Look at the serial communication example

@HeroRoku
Copy link
Contributor

2024-03-29

Progress

Rithwick successfully was able to save the wifi credentials to the EEPROM directly and make use of the existing connection for future reboots . I shared the approach Steve took for saving the config for comparison .

Goals for next week

  • Rith will focus on resetting the wifi config as will I .
  • Fixing the progress bar not loading correctly .
  • Not next week per se , but look into connecting multiple monitors .

@HeroRoku
Copy link
Contributor

HeroRoku commented Apr 12, 2024

2024-04-12

Progress

Rith and Shivam are working to add multiple monitors ( controllers ) to the web app .
Code was added to save the Wifi config to the EEPROM on the B::N branch .

Goals for the next week

  • Update the GET handler in saturation.js to read data from the DB instead of the variable in memory.
  • Troubleshooting the progress bar taking notes to take a look at the inspector ( Network tab ) to better evaluate your requests and what is being returned . In addition , to taking a closer look at where the saturation values are coming from (i.e not from the hardcoded MAC address - plant but instead values from the database ) .
  • Continue work on adding additional monitors . Tips provided to ensure we are grabbing the actual MAC address via the request .

@sgdavis1
Copy link
Member Author

2024-04-26

Progress

Shivam has started on some of the plant API code and the ability for the front-end to read data from the database related to plants and moisture. Running into some compile issues on the backend.

Goals for next week

  • Continue working on backend and frontend for plant code
  • Finalize a working "add Plant" button on the web app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants