Giter VIP home page Giter VIP logo

iuli4n / howtomakealmostanything_network Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 236 KB

Simple scripts to connect between Arduinos (ex: ESP32), Webpages, Unity3D AR/VR, Python, Processing P5.JS, etc. It was created for courses like MIT How To Make Almost Anything and Harvard PS70 / T519 Intro to Digital Fabrication where electronic devices are connected through cables or wifi.

License: MIT No Attribution

C++ 21.24% HTML 25.11% Python 3.92% JavaScript 23.76% Processing 25.98%
arduino electronics esp32 esp32-arduino makerspace midi networking processing processingjs python

howtomakealmostanything_network's Introduction

What is this repository ?

This repository is a collection of simple scripts to connect between Arduinos (ex: ESP32), Webpages, Unity3D AR/VR, Python, Processing P5.JS, etc. It was created for courses like MIT How To Make Almost Anything and Harvard PS70 / T519 Intro to Digital Fabrication where electronic devices are connected through cables or wifi.

Devices / apps that can be connected building on scripts in this repo:

  • Arduinos including ESP32 (ex: connections over USB serial port, over Wifi websockets, over MIDI, etc)

  • Webpages (ex: connecting a web XR webpage to ESP32 using Websockets)

  • Processing (ex: connecting Arduino to a P5JS visualization through websockets, or to Processing4 using usb serial port)

  • Python (ex: running a websocket server in python)

  • Ableton (ex: connecting an Arduino to Ableton music using MIDI serial)

Repository contents

  • Serial: Scripts for sending sensor data from Arduino, or sending commands to the Arduino.

  • WebSockets: Scripts for running servers and clients on various devices, and connecting using webpages, Processing P5.js, ESP32, etc.

  • MIDI: Scripts for communicating MIDI over USB

  • TCP_UDP: (under construction) Scripts for raw communication through TCP/UDP sockets.

Introduction: Ways of connecting devices

There are many ways of connecting depending on if you have wires or wireless.

  • In all cases, one device will need to send/receive data to a computer or other device that is able to talk the same protocol. The choice of protocol depends on your setup.

  • Will you talk to your Arduino using USB cable ? Then you'll do serial communication or MIDI.

  • Will you talk using wireless ? Then you'll need to run a client/server setup, e.g. through Websockets or TCP/UDP.

  • Here are some example setups:

howtomakealmostanything_network's People

Contributors

iuli4n avatar

Stargazers

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