Code Monkey home page Code Monkey logo

ottowebcontrol's Introduction

Otto Web App Control

This project is a web app that allows you to control Otto DIY robots from a browser using Bluetooth connection. The application use the p5js library to communicate with an Arduino board (connected to a BLE module) and Sweetalert2 to make better popup boxes.

Installation

You can use the app online visiting: https://ottodiy.github.io/OttoWebAppControl/

To use the app offline, install the project following these steps:

  1. Clone the repository to your computer using the command: git clone https://github.com/OttoDIY/OttoWebAppControl.git

  2. Install the dependencies by running npm install in the project folder.

  3. And that's it! Open the index.html file with Google Chrome (Computers & Android) or Bluefy (iOS) to start using the app.

Usage

To use the application, follow these steps:

  1. Upload the code to your robot depending which model you are using. Otto Starter, Otto Wheels, Otto Ninja Starter.

Note: Make sure that the connections of the robots (legs, feet, bluetooth, etc) are wired as specified in the code.

  1. Turn on your robot and make sure it is in pairing mode (the LED in the Bluetooth module should be blinking).

  2. Open the application in your browser.

  3. Select the robot from the list in the robot selector bar.

  4. Click on Connect button and select your robot from the list of available Bluetooth devices that will appear.

  5. Once connected, you can control the robot using the controls on the screen or the keyboard shortcuts.

Features

  • Compatibility: with all Otto DIY robots but other biped and vehicle robots based on Arduino could be connected too

  • Movement control: forward, backward, turn left and turn right

  • Gestures: with Otto Starter you can execute some gestures like Happy, Sad, Angry, etc

  • Functions: avoidance (biped & wheels) and line follower (only wheels) functions are available

  • Sensor value display: depending on the robot you are using you will be able to view the values of some sensors like ultrasound and infrared

Contributions

This project is open source and we welcome contributions. If you would like to help improve the project, please follow this process:

  1. Clone or fork the repository

  2. Create a branch for your feature (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create a new pull request

If you are looking for something specific you could help, check the issues section.

If working with the app styles, we are currently implementing PostCSS, so consider:

  • When you are developing, you can run npm run css:watch to compile while you are working

  • For compiling styles run npm run css:build when your code is ready for deploy

License

GNU General Public License v3.0

Read it here

System Requirements

  • Browser compatible with Web Bluetooth API. Currently we strongly recommend Google Chrome for Computers (including Macbook) and Android devices, and Bluefy for iOS devices (iPhones and iPad).

Known issues

Currently, Google Chrome is the only browser giving a good user experience for this app, except on iOS devices. For iOS devices (iPhones and iPad) we have confirmed that Bluefy work good. In case you are having issues using this app with another browser, we strongly recommend to try it with Chrome and/or Bluefy to confirm if it is a general issue or something with the browser.

Credits

Thanks to all these great people and open projects, it has been possible to make this software:

Screenshots

Easy to connect!

enter image description here

Light/Dark mode available!

enter image description here

Now Otto Wheels can be controlled using a joystick!

enter image description here

Additional links

ottowebcontrol's People

Contributors

louyuoops 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.