-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ae652f9
commit cf34ac5
Showing
57 changed files
with
703 additions
and
150 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="utf-8"> | ||
<meta content="width=device-width, initial-scale=1.0" name="viewport"> | ||
|
||
<title>Agris - Xander To</title> | ||
<meta content="" name="description"> | ||
<meta content="" name="keywords"> | ||
|
||
<!-- Favicons --> | ||
<link href="assets/img/favicon.png" rel="icon"> | ||
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon"> | ||
|
||
<!-- Google Fonts --> | ||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet"> | ||
|
||
<!-- Vendor CSS Files --> | ||
<link href="assets/vendor/bootstrap/css/bootstrap.css" rel="stylesheet"> | ||
<link href="assets/vendor/icofont/icofont.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/owl.carousel/assets/owl.carousel.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/venobox/venobox.css" rel="stylesheet"> | ||
<link href="assets/vendor/aos/aos.css" rel="stylesheet"> | ||
|
||
<!-- Template Main CSS File --> | ||
<link href="assets/css/style.css" rel="stylesheet"> | ||
|
||
<!-- ======================================================= | ||
* Template Name: Kelly - v2.1.0 | ||
* Template URL: https://bootstrapmade.com/kelly-free-bootstrap-cv-resume-html-template/ | ||
* Author: BootstrapMade.com | ||
* License: https://bootstrapmade.com/license/ | ||
======================================================== --> | ||
</head> | ||
|
||
<body> | ||
|
||
<main id="main"> | ||
|
||
<!-- ======= Portfolio Details Section ======= --> | ||
<section id="portfolio-details" class="portfolio-details"> | ||
<div class="container"> | ||
|
||
<div class="row"> | ||
|
||
<div class="col-lg-8"> | ||
<h2 class="portfolio-title">Agris</h2> | ||
<div class="owl-carousel portfolio-details-carousel"> | ||
<img src="assets/img/Agris/v1.jpg" class="img-fluid" alt="v1"> | ||
<img src="assets/img/Agris/v2.jpg" class="img-fluid" alt="v2"> | ||
<img src="assets/img/Agris/v3.jpg" class="img-fluid" alt="v3"> | ||
<img src="assets/img/Agris/v4.jpg" class="img-fluid" alt="v4"> | ||
<img src="assets/img/Agris/dashboard.jpg" class="img-fluid" alt="dashboard"> | ||
<img src="assets/img/Agris/settings.jpg" class="img-fluid" alt="settings"> | ||
<img src="assets/img/Agris/jukebox.jpg" class="img-fluid" alt="jukebox"> | ||
<img src="assets/img/Agris/3d.jpg" class="img-fluid" alt="3d"> | ||
|
||
</div> | ||
</div> | ||
|
||
<div class="col-lg-4 portfolio-info"> | ||
<h3>Project information</h3> | ||
<ul> | ||
<li><strong>Hardware</strong>: ESP32, SSD1306, LiFePO4, USB-C, VL6180X, AHT10, water pump, capacitive soil sensor, RGB LED & LED driver, capacitive touch, buzzer/speaker, solar panel</li> | ||
<li><strong>Firmware/Software</strong>: C++, WiFi, BLE, HTML, CSS, JS, AJAX, JSON, GitHub, Platform IO, OTA Update, AES-128 encryption</li> | ||
<li><strong>Project Duration</strong>: October, 2021 - Present</li> | ||
</ul> | ||
|
||
<p> | ||
Seeing the saturated market for watering system, yet a promising potential for a desktop smart plant pot, the Agris project emerges from the Agrismart project. Inheriting most existing features of Agrismart, Agris has new buzzer/speaker, AJAX website server hosted on itself to remove the need of Raspberry Pi 4B and lower the cost of the overall design. Customizable alarm melody based on music sheet and RGB ambient LED improves the joy factor of the product. Agris is projected to be commercially ready by the end of 2023. The PCB is currently revised 4 times. | ||
</p> | ||
</div> | ||
|
||
</div> | ||
|
||
</div> | ||
</section><!-- End Portfolio Details Section --> | ||
|
||
</main><!-- End #main --> | ||
|
||
<div id="preloader"></div> | ||
<a href="#" class="back-to-top"><i class="bx bx-up-arrow-alt"></i></a> | ||
|
||
<!-- Vendor JS Files --> | ||
<script src="assets/vendor/jquery/jquery.min.js"></script> | ||
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script> | ||
<script src="assets/vendor/jquery.easing/jquery.easing.min.js"></script> | ||
<script src="assets/vendor/php-email-form/validate.js"></script> | ||
<script src="assets/vendor/waypoints/jquery.waypoints.min.js"></script> | ||
<script src="assets/vendor/counterup/counterup.min.js"></script> | ||
<script src="assets/vendor/owl.carousel/owl.carousel.min.js"></script> | ||
<script src="assets/vendor/isotope-layout/isotope.pkgd.min.js"></script> | ||
<script src="assets/vendor/venobox/venobox.min.js"></script> | ||
<script src="assets/vendor/aos/aos.js"></script> | ||
|
||
<!-- Template Main JS File --> | ||
<script src="assets/js/main.js"></script> | ||
|
||
</body> | ||
|
||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="utf-8"> | ||
<meta content="width=device-width, initial-scale=1.0" name="viewport"> | ||
|
||
<title>Agrismart - Xander To</title> | ||
<meta content="" name="description"> | ||
<meta content="" name="keywords"> | ||
|
||
<!-- Favicons --> | ||
<link href="assets/img/favicon.png" rel="icon"> | ||
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon"> | ||
|
||
<!-- Google Fonts --> | ||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet"> | ||
|
||
<!-- Vendor CSS Files --> | ||
<link href="assets/vendor/bootstrap/css/bootstrap.css" rel="stylesheet"> | ||
<link href="assets/vendor/icofont/icofont.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/owl.carousel/assets/owl.carousel.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/venobox/venobox.css" rel="stylesheet"> | ||
<link href="assets/vendor/aos/aos.css" rel="stylesheet"> | ||
|
||
<!-- Template Main CSS File --> | ||
<link href="assets/css/style.css" rel="stylesheet"> | ||
|
||
<!-- ======================================================= | ||
* Template Name: Kelly - v2.1.0 | ||
* Template URL: https://bootstrapmade.com/kelly-free-bootstrap-cv-resume-html-template/ | ||
* Author: BootstrapMade.com | ||
* License: https://bootstrapmade.com/license/ | ||
======================================================== --> | ||
</head> | ||
|
||
<body> | ||
|
||
<main id="main"> | ||
|
||
<!-- ======= Portfolio Details Section ======= --> | ||
<section id="portfolio-details" class="portfolio-details"> | ||
<div class="container"> | ||
|
||
<div class="row"> | ||
|
||
<div class="col-lg-8"> | ||
<h2 class="portfolio-title">Agrismart</h2> | ||
<div class="owl-carousel portfolio-details-carousel"> | ||
<img src="assets/img/Agrismart/v1.jpg" class="img-fluid" alt="v1"> | ||
<img src="assets/img/Agrismart/v2.jpg" class="img-fluid" alt="v2"> | ||
<img src="assets/img/Agrismart/v3.jpg" class="img-fluid" alt="v3"> | ||
<img src="assets/img/Agrismart/management.png" class="img-fluid" alt="management"> | ||
<img src="assets/img/Agrismart/connect.png" class="img-fluid" alt="connect"> | ||
<img src="assets/img/Agrismart/chart.png" class="img-fluid" alt="chart"> | ||
</div> | ||
</div> | ||
|
||
<div class="col-lg-4 portfolio-info"> | ||
<h3>Project information</h3> | ||
<ul> | ||
<li><strong>Hardware</strong>: Raspberry Pi 4B, ESP32, SSD1306, LiFePO4, USB-C, VL6180X, AHT10, water pump, capacitive soil sensor, capacitive touch, buzzer/speaker, solar panel</li> | ||
<li><strong>Firmware/Software</strong>: C++, WiFi, BLE, HTML, CSS, JS, AJAX, JSON, GitHub, Python, Platform IO</li> | ||
<li><strong>Project Duration</strong>: October, 2021 - September, 2022</li> | ||
<li><strong>Project URL</strong>: | ||
<a href="https://github.com/hientv1999/AGRISMART" target=”_blank”>AGRISMART</a> | ||
, | ||
<a href="https://github.com/hientv1999/GreenieRealm" target=”_blank”>Greenie Realm</a> | ||
</li> | ||
</ul> | ||
|
||
<p> | ||
The initial purpose of this project was to pack all of my previous skills gaining from the Dr.ESP32 and Smart-clock-thermometer-hygrometer projects. Agrismart serves as a controller hub to monitor the soil moisture, temperature and humidity of an area of garden and control the water pump to water the plants. It is battery-powered and can be charged via solar panel and USB-C cable. Agrismart stays in deepsleep to preserve power, and wakes up every hour to update the sensor data to a LAMP server via WiFi hosted on a Raspberry Pi 4B, named Greenie Realm. BLE serves as a means to configure the WiFi credential, name, location, for the device either from smartphone or Greenie Realm. The PCB has been revised through 3 versions until it is terminated for the upcoming Agris project. | ||
</p> | ||
</div> | ||
|
||
</div> | ||
|
||
</div> | ||
</section><!-- End Portfolio Details Section --> | ||
|
||
</main><!-- End #main --> | ||
|
||
<div id="preloader"></div> | ||
<a href="#" class="back-to-top"><i class="bx bx-up-arrow-alt"></i></a> | ||
|
||
<!-- Vendor JS Files --> | ||
<script src="assets/vendor/jquery/jquery.min.js"></script> | ||
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script> | ||
<script src="assets/vendor/jquery.easing/jquery.easing.min.js"></script> | ||
<script src="assets/vendor/php-email-form/validate.js"></script> | ||
<script src="assets/vendor/waypoints/jquery.waypoints.min.js"></script> | ||
<script src="assets/vendor/counterup/counterup.min.js"></script> | ||
<script src="assets/vendor/owl.carousel/owl.carousel.min.js"></script> | ||
<script src="assets/vendor/isotope-layout/isotope.pkgd.min.js"></script> | ||
<script src="assets/vendor/venobox/venobox.min.js"></script> | ||
<script src="assets/vendor/aos/aos.js"></script> | ||
|
||
<!-- Template Main JS File --> | ||
<script src="assets/js/main.js"></script> | ||
|
||
</body> | ||
|
||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="utf-8"> | ||
<meta content="width=device-width, initial-scale=1.0" name="viewport"> | ||
|
||
<title>ExtErase - Xander To</title> | ||
<meta content="" name="description"> | ||
<meta content="" name="keywords"> | ||
|
||
<!-- Favicons --> | ||
<link href="assets/img/favicon.png" rel="icon"> | ||
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon"> | ||
|
||
<!-- Google Fonts --> | ||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet"> | ||
|
||
<!-- Vendor CSS Files --> | ||
<link href="assets/vendor/bootstrap/css/bootstrap.css" rel="stylesheet"> | ||
<link href="assets/vendor/icofont/icofont.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/owl.carousel/assets/owl.carousel.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet"> | ||
<link href="assets/vendor/venobox/venobox.css" rel="stylesheet"> | ||
<link href="assets/vendor/aos/aos.css" rel="stylesheet"> | ||
|
||
<!-- Template Main CSS File --> | ||
<link href="assets/css/style.css" rel="stylesheet"> | ||
|
||
<!-- ======================================================= | ||
* Template Name: Kelly - v2.1.0 | ||
* Template URL: https://bootstrapmade.com/kelly-free-bootstrap-cv-resume-html-template/ | ||
* Author: BootstrapMade.com | ||
* License: https://bootstrapmade.com/license/ | ||
======================================================== --> | ||
</head> | ||
|
||
<body> | ||
|
||
<main id="main"> | ||
|
||
<!-- ======= Portfolio Details Section ======= --> | ||
<section id="portfolio-details" class="portfolio-details"> | ||
<div class="container"> | ||
|
||
<div class="row"> | ||
|
||
<div class="col-lg-8"> | ||
<h2 class="portfolio-title">ExtErase</h2> | ||
<div class="owl-carousel portfolio-details-carousel"> | ||
<img src="assets/img/ExtErase/english.jpg" class="img-fluid" alt="english"> | ||
<img src="assets/img/ExtErase/vietnamese.jpg" class="img-fluid" alt="vietnamese"> | ||
</div> | ||
</div> | ||
|
||
<div class="col-lg-4 portfolio-info"> | ||
<h3>Project information</h3> | ||
<ul> | ||
<li><strong>Language</strong>: Python</li> | ||
<li><strong>Project Duration</strong>: October 25, 2022</li> | ||
<li><strong>Project URL</strong>: <a href="https://github.com/hientv1999/ExtErase" target=”_blank”>ExtErase</a></li> | ||
</ul> | ||
|
||
<p> | ||
Whenever I capture a photo using a Sony camera, the resulting folder consistently contains both JPG and XML files. However, the XML files are not relevant to my requirements, and manually removing a large number of them is a tedious chore. Consequently, I devised a Python script to facilitate the simultaneous deletion of files with identical extensions, streamlining the process, and preventing any errors that might result in data loss. | ||
</p> | ||
</div> | ||
|
||
</div> | ||
|
||
</div> | ||
</section><!-- End Portfolio Details Section --> | ||
|
||
</main><!-- End #main --> | ||
|
||
<div id="preloader"></div> | ||
<a href="#" class="back-to-top"><i class="bx bx-up-arrow-alt"></i></a> | ||
|
||
<!-- Vendor JS Files --> | ||
<script src="assets/vendor/jquery/jquery.min.js"></script> | ||
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script> | ||
<script src="assets/vendor/jquery.easing/jquery.easing.min.js"></script> | ||
<script src="assets/vendor/php-email-form/validate.js"></script> | ||
<script src="assets/vendor/waypoints/jquery.waypoints.min.js"></script> | ||
<script src="assets/vendor/counterup/counterup.min.js"></script> | ||
<script src="assets/vendor/owl.carousel/owl.carousel.min.js"></script> | ||
<script src="assets/vendor/isotope-layout/isotope.pkgd.min.js"></script> | ||
<script src="assets/vendor/venobox/venobox.min.js"></script> | ||
<script src="assets/vendor/aos/aos.js"></script> | ||
|
||
<!-- Template Main JS File --> | ||
<script src="assets/js/main.js"></script> | ||
|
||
</body> | ||
|
||
</html> |
Oops, something went wrong.