Giter VIP home page Giter VIP logo

timyou / android-robot-camera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from danionescu0/android-robot-camera

0.0 2.0 0.0 466 KB

Android application that controls a robot using mqtt. On the main screen the use will see the video streamed by the robot.

Home Page: https://create.arduino.cc/projecthub/danionescu/mobile-remote-surveillance-camera-35519d

License: MIT License

Java 100.00%

android-robot-camera's Introduction

Android robot camera

This is the frontend of a mobile camera robot. The robot will stream the video using UV4l and the application will display the stream using a webview.

Full tutorial on instructables

A video demo is available on youtube

The raspberry pi and arduino project are located here

The application has only a main screen, in the left of the screen the streamming image is displayed. On the right there are the controls. The main control is a steering wheel, touch the steering wheel in the direction you wish the robot to move. Below the steering wheel there is a headlight button, touch it to toggle the light.

On the left side of the screen is a webview with the streammed image, you can adjust the image size in the webview by pinch.

In the top right corner there is a text like : "- Batt Connected".

  • First dash means no obstacles, if there is an obstacle in front or in the back of the robot it will be signaled with a small arrow pointing in front or in the back.

  • The "Batt" status is not implemented yet.

  • "Connected" means that mqtt server is connected so the robot can be used, the other possible value is "Disconnected"

Screenshots

main.jpg

Working diagram

flow-diagram.jpg

Configuration

  1. passwords.xml
        <!--In the next lines mqttconfiguration needed-->
        <string name="mqtt_endpoint">tcp://host:port</string>
        <string name="mqtt_username">username</string>
        <string name="mqtt_password">password</string>
        <!--Next 3 lines containt endpoint and credentials for UV4l video streamming-->
        <string name="stream_endpoint">http://host:port/stream</string>
        <string name="stream_username">username</string>
        <string name="stream_password">password</string>
  1. strings.xml

This "transmit_command_interval" value is a default and it's ok to leave it to 100 ms.

    <!--how long between motor commands next transmissions (in milliseconds)-->
    <string name="transmit_command_interval">100</string>

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.