Code Monkey home page Code Monkey logo

witty-pi-2's Introduction

UUGear Solution: Extend Your Raspberry Pi with Arduino

==== The solution includes a sketch project on Arduino side and a programing library on Raspberry Pi Side. After uploading the sketch, the Arduino becomes a UUGear device and could be found by its unique id. The library provides APIs in C and Python languages, and allows your application to find the UUGear device (Arduino) and access its digital/analog pins, or interact with other modules connect to the Arduino.

Some Arduinos have USB port on board, and could connect to Raspberry Pi via USB cable. After the connection, Raspberry Pi can talk to the Arduino, as a serial device. Your application can open the serial device as a file, and read/write data from/to it, as long as you know its serial device name, and the correct baud rate for communication. However the serial device name may change every time you connect Arduino to Raspberry Pi, and your application could not adapt that change automatically. Also your Arduino will need to run a sketch as protocol stack to make sure it understand the commands sent from your application.

The idea of this project is to provide an abstracted model of Arduino device, and allows your application to access the Arduino device via a unique and constant id. This project designs a protocol for the communication between Raspberry Pi and Arduino, and develop a set of friendly APIs to support programming the GPIO pins on Arduino. In order to make the APIs thread-safe, there will be a daemon process that manages all Arduino devices via the corresponding serial ports, which works just like a server. The client application, which will be developed by you, will communicate with the daemon process via message queue. Don't worry, all these details are transparent for you, you don't really need to know daemon process or message queue.

Project Homepage

witty-pi-2's People

Contributors

uugear avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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