Code Monkey home page Code Monkey logo

surf-poster's Introduction

Surf Poster

A live updating surf poster.

Hardware

Consumables

  • Raspberry Pi Zero W with headers $14
  • Regular old USB Micro cable and wall plug (you probably have an extra one)
  • Female/male jumper wires $2
  • 3 micro servos $10
  • >2GB flash micro card $2
  • Shadow Box (I used 8x10, but it feels a bit small) $32
  • Print of your beach picture $2
  • Black and white printout of above photo

Total: $46

Tools

  • Power drill with a variety of bits
  • Wire stripper
  • Tiny screwdriver
  • Computer
  • WiFi

Artwork

I made a beach scene by taking a photo and running it through Adobe Illustrators Image Trace filter, and I'm sure you can make something creative. Try out Inkscape if you want a free image editor.

Assembly

See ASSEMBLY.md

Code

  • Fetches surf data from surfline.com (currently only for Tourmaline Beach)
  • Converts that data into signals to adjust the angle on servo controllers
  • Runs on a raspberry pi (zero w)

Runs on Python 2 (system python)

Why? Getting things running with python3 was a pain. For some reason it took 10s+ to get a virtualenv setup with pipenv, so I ditched it in favor of the system python2

Getting setup

  • Get your pi
  • Install these dependencies:
    • python-requests
    • python-RPI.GPIO
  • Hook up your servo wires according to the pin numbers in actuate.py
  • Run the script with python main.py to get live data OR python manual.py <surf_height> <water_temp> <surf_quality> to put in your own data

Chron

Add this with crontab -e:

0 * * * * cd /home/elliot/code/surf-poster && python main.py >> /home/elliot/logs/surf-poster.log 2>&1
1 0 1 * * mv /home/elliot/logs/surf-poster.log /home/elliot/logs/surf-poster.log.bak && echo -n > /home/elliot/logs/surf-poster.log 2>&1

surf-poster's People

Contributors

elliotaplant avatar

Watchers

James Cloos 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.