Giter Club home page Giter Club logo

kindle-display's Introduction

Kindle Status Display

My Bitcoin Status Display made with a jailbroken Kindle. Original idea and setup taken from @naltatis' kindle-display.

Framed

General

This is a two part setup: The hacked Kindle pulls a screenshot that is taken from the webpage the server displays. The server updates this screenshot in regular intervals and the Kindle also updates regularly.

+------+   update X minutes    +------+
|      |  ------------------>  |      |
|      |         wifi          |      |
|      |  <------------------  |      |
+------+    greyscale image    +------+
 kindle                         server

Server

The code in this repository is my personal setup which pulls in data from my own network. I recommend you fork this repository and modify the ./data.sh and visual representation to fit your needs.

Prerequisites

  • Node.js (assembles the data and runs the webserver)
  • firefox (takes the screenshot of the webpage)
  • pngcrush (converts the screenshot to a greyscale image)
  • jo (to generate the JSON data file)

Installation

# Clone the repository
git clone [email protected]:username/kindle-display.git

# Go to the server directory
cd kindle-display/server

# Copy sample env file and adapt the settings
cp .env.sample .env

# Install the dependencies
npm install

# Start the server
npm start

# Update data and create the screenshot
./cron.sh

# Preview the greyscale in your browser
open http://localhost:3030/display.png

Once everything works, deploy the server app and setup a cronjob to trigger the cron.sh script regularly.

Kindle

Prerequisites

You need to jailbreak your Kindle using the packages from the mobileread forum.

I installed these according to the info in their particular READMEs:

  1. Jailbreak
  2. USBNetwork
  3. MKK
  4. KUAL

Installation

# Connect your Kindle via usb and ssh into it
ssh root@kindle

# Make the Kindle file system writable
mntroot rw

# Create the mnt/base-us scripts according to the files in the kindle directory
vi /mnt/base-us/RUNME.sh

# Set the BASE according to your local network setup to address the server
vi /mnt/base-us/update.sh

# Create a cronjob to run the update script in regular intervals
#
# For instance:
# */5 6-22 * * * /mnt/us/update.sh
# 0 23,0,5 * * * /mnt/us/update.sh
vi /etc/crontab/root

# Execute the init script and trigger an the first render
sh /mnt/base-us/RUNME.sh

Notes regarding USB Network (via openoms)

Unmount and eject your Kindle (You might also want to unplug it, some devices behave strangely when toggling usbnet/usbms while plugged in).

You'll need to be in debug mode to run private commands. So, on the Home screen, bring up the search bar (by hitting [DEL] on devices with a keyboard, or the keyboard key on a K4, for example), and enter:

;debugOn

# now we can enable usbnet
~usbNetwork

On the desktop:

dmesg | grep usb0

# example output
> [367478.835928] cdc_subset 1-2:1.1 enp0s20u2i1: renamed from usb0

Use ifconfig enp0s20u2i1 192.168.15.201

To log in ssh [email protected] and just press enter.

Images

Framing

Jailbreak 1

Jailbreak 2

Credits

naltatis

Matthew Petroff

hahabird

kindle-display's People

Contributors

dennisreimann avatar emzy avatar

Watchers

 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.