Prepare Beagle Bone Black

  • install JVM
  • install lein - it doesn’t like running as root and you only get permissions on the pins as root.
  • add non-root user
  • pin permissions magic for user
  • startup and logging

Pin reading & writing

  • digital pins
  • analog input pins

Buttons

  • some active when open
  • some active when closed

H-bridge

  • four gates to control a motor

Problems

  • door misses the button and drains the battery - solved with a retry mechanism
  • status led to communicate problems

Hardware & Clojure

pros

  • fun
  • something in the physical world moves
  • physical systems are asychronous / concurrent
  • high level capabilities of Clojure

cons

  • JVM isn’t light
  • full OS required

clj-bots

Shared repos for controlling hardware using Clojure.