Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IoT Printer

Acd62030df551952268e84c8fff26a5b?s=47 lazyatom
April 19, 2012

IoT Printer

A presentation at IOT London, about http://exciting.io/printer, the IoT printer platform I built a few years ago



April 19, 2012

More Decks by lazyatom

Other Decks in Technology


  1. “An open-source distributed platform for IoT printers” James Adam -

    @lazyatom - @freerange If you’re bored: bit.ly/printermail :: bit.ly/printerpaint Text
  2. Disclaimer: I don’t know what I am doing.

  3. Project Codename: Timmy Printface gofreerange.com/timmy

  4. Timmy - April 2011

  5. None
  6. None
  7. Tom Taylor’s Microprinter, 2009 (photo by Tom Armitage)

  8. Timmy at Interesting ’11 (Photo by Roo Reynolds)

  9. None
  10. The problem with hacks is that they are hacky.

  11. None
  12. None
  13. Timmy at Interesting ’11 (Photo by Roo Reynolds)

  14. None
  15. gofreerange.com/hello-printer

  16. The Goal: Make it less of a giant ugly hack.

  17. Printer. gofreerange.com/printer

  18. Cheap printer Ethernet shield Arduino Some LEDs, etc

  19. None
  20. Poll a special URL Emit data via serial Manage some

    LEDs and maybe a button?
  21. None
  22. None
  23. None
  24. Content Services produce HTML pages, and post URLs for those

    pages to Backend Servers.
  25. Backend Servers expect URLs to HTML pages... ... and converts

    them into 1-bit images, then serial commands
  26. Printers download serial commands and send them directly to printer

  27. Content generation is easy in HTML

  28. Content can come from many places

  29. http://backend1/print/abc123

  30. bit.ly/printermail

  31. bit.ly/printerpaint

  32. None
  33. None
  34. No central server either

  35. Two Backend Servers using the same Content Service

  36. •Other people are better at design than I am; •Other

    people have better ideas for content that I have; •So: make it easy for them to produce and print content, from which everyone benefits. The Plan:
  37. None
  38. None
  39. •HTTP Header parsing •Running out of space on Arduino •Reliable

    networking is hard •Programming in C is a pain in the fucking ass. TODO
  40. More information gofreerange.com/printer gofreerange.com/hello-printer github.com/freerange/printer .../wiki .../issues

  41. None
  42. None