Giter VIP home page Giter VIP logo

xiao-troubleshooting's Introduction

The Best Ideas Stand Out

Overview

The purpose of this repository is to illustrate an issue with HTTP POST method from a WiFi-enabled device. The device is meant to record audio and upload a file via a REST API. If this all seems like an overblown example, well...it is. But I only copied from documentation already written.

Tip

Be sure to follow the instructions in the README files under each project's directory.

High-Level Architecture

This system is using a WiFi-enabled device with a microphone to collect audio. I'm temporarily storing the audio to the onboard SD card before uploading.

For the software side of the implementation, I am trying to keep it lightweight while also learning something new (...so don't judge too harshly). The APIs are built upon and served up via the MAN™ stack. (...or, should it be the NAM™ stack? ....nam nam nam)

Hardware

Important

--> This is where my problems lie, at the moment.

The remote device has all the things built-in: MicroSD, WiFi and microphone. Specifically, this example targets the Seeed Studio XIAO ESP32 S3 (Sense).

APIs

I built some simple APIs which are well-documented via Swagger. As such, I'm not going to write it all out here. If you don't know what that is, it's okay. All you need to know is how to run the following things:

  1. Command-line.

Okay. Scratch that - you need to know how to use the one thing.

NestJS Handles the APIs

NestJS handles the APIs for managing content - you know? The basic CRUD operations (Create Read Update .Delete)

These methods are simple enough. I following some pretty standard practices in developing this. When it is up and running, you should find a Swagger-generated page with all the APIs at http://localhost:3000/apis.

Created a simple UI for visualizing results.
  • Home Page, with basic instructions/guide to using the subsequent pages
  • List all recordings
  • Listen to associated audio

I should also make note that I styled this with Material. You can see all that stuff on The Angular Material site.

Persistance layer, obvy.

I am sure there will be arguments and challenges for using a database to store the actual files. Just know that we don't fully intend on keeping it this way. For now, it makes the most sense to use MongoDB for all of this.

Getting Started

There is an assumption here that you, reader, understand how to install and run all the aforementioned software.

At a high-level, we're going to:

  1. Install Dependencies
  2. Build/Run the NestJS application
    • Optionally build/run the Angular UI
  3. Change IP and port for localhost proxy
    • Only necessary if you're running the Angular UI
  4. Install the firmware on your XIAO ESP32 S3
  5. Change configuration values in xiaos3-playground project
  6. Build and deploy firmware
  7. Open a Serial Monitor and watch the magic unfold.

xiao-troubleshooting's People

Contributors

mighty-sparrow avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.