Monday, June 30, 2014

Dead Man's Switch - Simple To Implement




Here's how it worked.

      0 0 * * * /usr/bin/

    The cron script looked like :
      CURRENT_TIME=`date +%s`
        # max_age exceeded, trigger deadman
        # warning, PRE_MAX_AGE_IN_DAYS exceeded, fire a warning shot
      #  # all is well, let's do nothing

      touch /my/deadman/file/to/check



     A simple CGI could look like :

      `touch /srv/.deadman`;


Thursday, June 12, 2014

Going to try the Google Book Scanner

I've decided I want another project (wait a minute... shouldn't I finish what I've already started?).  Here's the deal.  My father loves to collect books - and some of the older books are magnificent.  Not to look at, but because of the information in them.

For example, I've been thinking a lot about how the human race isolated elements in the first place.  Most modern books won't tell you how to obtain pure carbon, or helium.  But, one or two of my fathers old books (from around the 1940's) DO tell you how to isolate some basic elements.

Here's the problem... my father is thinking about just getting rid of all of his books.  That could pose a potential loss of valuable information.

Here's the solution... I started thinking about simply scanning the books to a digital format so that he could easily access them, and not have to drag them out.  I remembered a HackADay article once upon a time about a Google project for scanning books without cutting pages out, breaking bindings, or spending hundreds of thousands of dollars on equipment.  Ultimately, I found that some students at the University of Michigan built a new version of the scanner that seemed to run off of a Raspberry Pi.  Perfect!

There are some tasks I'm going to have to work around, though.  First, the Michigan students' project utilized laser cut plexiglass, anodized aluminum, and machined parts.  I can't really afford that, so I'm going to have to break out the old ingenuity for this one.  I like their adjustable vacuum for page turning, so I'll need to replicate that without having custom parts machined.  We'll see how this one turns out.

There are four major components from what I've been able to determine :

  1. The Frame
  2. Book Caddy/Movement (including a stepper motor)
  3. Page Turning/Vacuum and vacuum tube
  4. Scanning Elements/Raspberry Pi

The Frame

I'll probably settle for ordering some super-thin Delrin sheets online for the frame of the book scanner (less friction on the book) and epoxy them down to some small, cheap plywood for rigidity.  That would give me the frame needed to get things started.  I'd first build the frame using counter-sunk screws.  The Michigan project actually used some machinists to do this so that it would all be flush - I frankly don't care, since I'll be gluing the Delrin over the top of the screws.  I probably ought to use some hinges to make it collapsable so that I can break it down and store it out of the way.

The Scanning Element

You need two scanners.  I've located a cheap ($5 at a yard sale) HP All-In-One office printer that is SANE-compatable.  It's an HP 2410xi printer/scanner/fax/astronaut/AI chess player unit - it does anything an office might need regularly (not so serious about the astronaut/AI chess playing of it - please don't think it really does that).

That means I already have one scanning element, and I need a second one.  I'm in the hunt for that.

To make it work, it has to be SANE compatible.  Who wants to connect TWO USB wires to a computer and scan from two scanners at the same time?  So, I'll use a Raspberry Pi inside the machine, connected to both, and run a command-line scan under two processes, which is why the requirement is there.  Then I can use ImageMagick to crop images down to size, and create a PDF based on those.

The Page Turner

For this, I like the technique that the University of Michigan students did - and adjustable vacuum tube.  However, I cannot begin to think about dumping cash into a machine shop somewhere, so I'm probably doing to have to settle for a Delrin tube, threaded on one end, and slots cut into it.  It would then be attached to the a shop vacuum.  The blowing end of the vacuum would also be fed back into the unit to "blow" back at the spot to prevent double pages from getting turned and missing one.

The Book Caddy and Movement

So, I've already ordered some NEMA 17's (17PM-K402-P4V) motors to use in this.  They don't have to be strong, but I'd like to be able to have the Raspberry Pi operate them.  Of the motors I received, one of them had a damaged connector/circuit board on arrival:

It wasn't a packaging problem as the package was in great shape and showed no signs of damage, and only one was damaged, so I simply expect that the one motor had arrived at the vendor's "warehouse" (this was an eBay order) in that state, and wasn't inspected before being shipped.  After contacting the vendor, they are replacing it. Sounds like great people to work with!

S10 to Replace Civic




Preparation :

  1. Put the battery in place.
  2. Connect the positive battery cable end (+).
  4. Disconnect/remove all of the fuses.


Actual Test :






At this point, here's the list of things to do :

  2. Adjust door glass
  3. Install door mirrors
  4. Install door panels
  5. Install A/C ducts
  6. Install dash panels
  7. Get headlight units painted and installed
  9. Install rear speakers/amplifier
  10. Ensure fluids are in the car
  11. Actually try to start it