Coder Social home page Coder Social logo

xei / police Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.02 MB

An Android-based thick controller for thin hardware agents, such as Robots, IoT devices, etc.

C++ 11.83% Kotlin 87.85% Java 0.32%
arduino bluetooth android-things android iot robot remote-control arduino-uno-r3 hc-06

police's Introduction

POLICE

An Android-based thick controller for thin hardware agents, such as Robots, IoT devices, etc.

Intro

Sometimes you are going to make a low-cost but poweful hardware device, for example an affordable autonomous robot or a smart-home peripheral. Assume that your device needs to have a powerful processor, accurate sensors like camera, GPS, Mic, Gyroscope, etc or of course a network connection! So you need a single-board computer like Raspberry Pi. However, in some situations you can make a light hardware device via just a microcontroller and some electrical equipment (or use an Arduino board), and use the user's mobile phone as the master controller connected to the hardware.

What is the "police" project

In this project, I made a passive slave controller by an Arduino board, that can connect to any types of digital or analog sensors and send sensors states to a mobile phone through the USB cable or Bluetooth. I developed an Android app that is responsible for making appropriate policy based on the given sensors state and the sensors of the mobile phone. The policy will returned to the Arduino board as an "Action" command and change some output pins signal of the microcontroller. Making a good policy can be done inside the phone via some algorithms or it can be done inside a cloud through the internet. Furthermore, it can be done with the user's actions. In other words, the Android app can be used as a remote controller to control and monitor the device or navigate a robot manually.

Thin hardware agent

I used an Arduino Uno R3 board and a HC-06 Bluetooth module to make the passive device and a L298 driver to drive some DC motors.

Schematic

Breadboard

Controller application

The Android app is writen in Kotlin programming language and MVP architectural pattern. It can be used as a manual remote controller (also accepts voice commands) and also as the autonomous agent function.

Screenshot

alt text

police's People

Contributors

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