Low Power Timer Breakout to shut down/reboot the device once in a while to save power. We could detect in-activity and shut down the device, reboot it every 2 hours, and shut down again if needed. This could make the battery last days and not waste power at night when it is unused (if this is a more interactive device)
Using Etcher.io for writing the OS to the MicroSD card
NOTE: The Raspberry Pi Zero has NO LED light when powered on. It has an "activity" light. If you boot it up and there is no light, it probably means the OS/SD card isn't right. See here.
Once booted, the login is "pi" the password is "raspberry" (if using the "lite" version without a window manager)
Enable "usb serial device mode" with the following commands (so you never need a screen/keyboard again)
echo "dtoverlay=dwc2" >> /boot/config.txt
echo "dwc2" >> /etc/modules
echo "g_serial" >> /etc/modules
systemctl enable getty@ttyGS0.service
Reboot your device, but with USB connected to your computer instead of to the device (make sure you're plugged into the same port where you plugged the USB keyboard, the other usb port is just for power)
You should see and be able to connect to the USB serial port that shows up on your machine just like a SSH console.
Run ls /dev/cu* to find where it mapped to, look for "serial" or "modem"
On OS-X the command would be (for Farley) screen /dev/cu.usbmodem1421 115200
(if you want ssh) Make SSH run on boot with update-rc.d ssh enable
Answer the questions in the wizard, the screen size is the "2.0"
It will prompt to reboot, after it reboots, you'll need to run papirus-setup again and answer the same questions again (I don't know why, it's a bug)
After this above, you should be able to run papirus-snake or any other papirus-* command to communicate with the eInk display.
To save power... disable bluetooth with echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt
To save power, disable the LED activity light with echo "dtparam=act_led_trigger=none" >> /boot/config.txt && echo "dtparam=act_led_activelow=on" >> /boot/config.txt
Make an "olindata" service to run on boot with a systemd script as follows...
$ cat /lib/systemd/system/olindata-eink.service[Unit]Description=Job that drives our eInk display[Install]WantedBy=multi-user.target[Service]ExecStart=/root/olindata-eink.sh# Could be forking, oneshot, or simpleType=simpleRemainAfterExit=yes
With the binary that it runs to be as follows (for now, replace with a better binary)
And enable the service to run on boot with systemctl enable olindata-eink
(optional) If you want your device to have internet connectivity (eg: via a wifi network) then...
Join wifi network (either via the wifi GUI menu or via the command line)
Note: Keep in mind, you may want/need to change this. For example, if you're going to be using/hacking on this device "on-the-go" you might want to join this device to your phone hotspot so you don't have to have it plugged into your computer. So that you can just plug it up and be online wherever you are.
You'll want to scan for a wifi network with iwlist wlan0 scan
Join that network by editing /etc/wpa_supplicant/wpa_supplicant.conf
You should now be able to ssh into your device. If using a mac/linux you should be able to ping it at raspberrypi.local.