Skip to content

Using raspberry pi peripherals to influence 3d simulation :O

Notifications You must be signed in to change notification settings

BradenEverson/arrowhead

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cool banner


Systems of Embedded Devices Sharing Physical Information and Simulating it Digitally

arrowhead is a collection of crates and binaries aimed at streaming real-world peripherals into simulated environments. Primarily through Raspberry Pi or Jetson Nano pins, these inputs about the world are collected and streamed to a centralized WebSocket server. This server then processes the information, interprets it, and represents it in a Bevy environment.

The current goal of this project isn't set in stone, it's mostly just a means to finding out how to do most of this stuff and what we can do with it from there.

Crates:

  • consumer: A simple Pi Program that Reads pitch and poll from a gy521 module and streams it as a sequence of bytes to a websocket server
  • renderer: A websocket server/Bevy environment that asynchronously updates pitch and poll values upon receiving binary from receiver. Uses this pitch and poll data to rotate a cuboid accordingly
  • gy521-rppal: An extension crate off of the rppal Raspberry Pi Peripheral Crate that allows for a convenient wrapper around i2c communications with the gy521 sensor
  • test_client: A test client that allows for arbitrary setting of pitch and poll values for usage on the renderer
  • transcriber: Reading ultrasonic data from a pi and, you guessed it, doing stuff with it in Bevy using a new renderer

About

Using raspberry pi peripherals to influence 3d simulation :O

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages