GithubHelp home page GithubHelp logo

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

UUGear's Projects

gpio-util icon gpio-util

A BASH function named "gpio", which can be used like a simplified version of "gpio" utility in wiringPi library.

home-assistant-core icon home-assistant-core

:house_with_garden: Open source home automation that puts local control and privacy first.

i2cmaster icon i2cmaster

Peter Fleury's I2C Master Interface Library

mega4 icon mega4

MEGA4 is a 4-Port USB 3.1 PPPS (Per-Port Power Switching) hub designed for Raspberry Pi 4B.

pigear-nano icon pigear-nano

A Nano–ITX (12x12cm) carrier board for Raspberry Pi Compute Module 4

pinout2 icon pinout2

Source files for the Raspberry Pi Pinout documentation website.

send-later icon send-later

"Send Later" add-on for Thunderbird, SeaMonkey, and Postbox

uugear icon uugear

Extend Your Raspberry Pi with Arduino

uugear-web-interface icon uugear-web-interface

UUGear Web Interface is an extremely lightweight web server that allows you to access your Raspberry Pi and UUGear devices in web browser.

vgp icon vgp

GPIO CLI/GUI utility for Vivid Unit

vsa icon vsa

Vivid Unit screen asistant

vu_install icon vu_install

Some scripts to install something useful into Vivid Unit

wiringpi icon wiringpi

Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi (Unofficial Mirror for WiringPi bindings)

witty-pi icon witty-pi

Witty Pi is a tiny extension board for Raspberry Pi, which brings the realtime clock and power management to your Pi.

witty-pi-2 icon witty-pi-2

Witty Pi 2 adds RTC and power management to Raspberry Pi, and supports script to define complex ON/OFF sequence.

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.