Pi Zero W: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
mNo edit summary
Line 93: Line 93:


=== Getting ready for OpenCV ===
=== Getting ready for OpenCV ===
''After 20 hours, Pi ran out of memory.''
I had to bump up swap space from 100MB to 1024.


Cribbed from https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
Cribbed from https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
All this just to allow building from source...


  sudo -s
  sudo -s
Line 103: Line 108:
  apt install libgtk2.0-dev
  apt install libgtk2.0-dev
  apt install libatlas-base-dev gfortran
  apt install libatlas-base-dev gfortran
  apt install python2.7-dev python3-dev python-pip
  apt install python2.7-dev python3-dev
 
This part is for either source build or pip install
sudo -s
apt install libhdf5-dev libhdf5-serial-dev libwebp-dev
apt install libqtwebkit4 libqt4-test
apt install python-pip
  pip install virtualenv virtualenvwrapper
  pip install virtualenv virtualenvwrapper
  exit
  exit
Line 120: Line 131:
  workon cv
  workon cv


'''In one line, install the entire OpenCV package and skip 20 hours of compilation.'''


=== Installing OpenCV ===
pip install opencv-contrib-python-headless


wget -O opencv-master.zip https://codeload.github.com/opencv/opencv/zip/master
This fails, because there is a library missing.
  wget -O opencv_contrib-4.0.0.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
  ImportError: libImath-2_2.so.12: cannot open shared object file: No such file or directory


This build takes about 8 hours on a Zero!!
==== or BUILD on a REAL computer ====


cd ~/opencv-master/
https://raspberrypi.stackexchange.com/questions/69169/how-to-install-opencv-on-raspberry-pi-3-in-raspbian-jessie
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.0.0/modules \
    -D BUILD_EXAMPLES=ON ..
make


=== Camera related links ===
=== Camera related links ===

Revision as of 03:13, 20 November 2018

I have a PI 2 Model B (without the wireless features) and wanted to play with a camera so it made sense to invest $10 in a Pi Zero W. I can't imagine using a webcam that's wired up (I have no wired network in this rental house.)

Since it's the first Pi Zero for me I got the cute C4Labs Zebra Zero+ protoboard setup from Adafruit at the same time.

If it works out and it's fun I will set up more Pi cameras without the protoboard.

First boot

  1. Plug in a cable to the Windows machine and see if it recognizes the Pi Zero as a smoke test.
  2. Download Raspian ZIP image from https://www.raspberrypi.org/downloads/raspian
  3. Download Etcher from https://www.balena.io/etcher/
  4. Run Etcher to copy image to 32GB card (32GB is overkill but it's the first one I grabbed.)
  5. While waiting, dig up the HDMI cable and USB keyboard.
    1. Discover there are many more connectors in the world and they used an HDMI I don't have.
    2. Order a Type A (std HDMI) to Type C (Mini). Note the BeagleBoneBlack uses Type D (Micro).
    3. Wait a few days.
    4. OR headless mode https://learn.adafruit.com/raspberry-pi-zero-creation/text-file-editing
  6. Transfer card to Pi
  7. Connect HDMI monitor and USB keyboard
  8. Power on via a cellphone charger and a generic micro USB cable
  9. Log in and create an account
  10. Configure WiFi.
  11. Is there an ssh server running on this thing?

Headless mode

  1. Enable WiFI so card comes up on network.
  2. Enable ssh so I can log in.

Put the SD card in the Mac. Create these files.

cd /Volumes/boot
touch ssh
vi wpa_supplicant.conf

wpa_supplicant.conf should contain

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
   ssid="YOURSSID"
   psk="YOURPASSWORD"
   scan_ssid=1
}

The wpa_supplicant.conf file gets moved on boot so don't freak if it "disappears".

Remember to update the network server dnsmasq settings to issue it a proper IP address.

ssh pi@zebra
pi@zebra's password:
Linux raspberrypi 4.14.79+ #1159 Sun Nov 4 17:28:08 GMT 2018 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~$

and there was much rejoicing... seconds later, I realized that I cannot show it off because there are no LEDs to blink, no beeper, just this cold dead looking thing... anticlimax hits.

Serial console: I did not add enable_uart=1 to config.txt because I don't need it right now.

Set up a new Zero

sudo -s
apt-get update 
apt-get upgrade
rpi-update
reboot

Camera notes

Enable camera and reboot

raspi-config
reboot

Test camera

raspistill -o foo.jpg

Getting ready for OpenCV

After 20 hours, Pi ran out of memory. I had to bump up swap space from 100MB to 1024.

Cribbed from https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/

All this just to allow building from source...

sudo -s
apt install git cmake pkg-config
apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
apt install libxvidcore-dev libx264-dev
apt install libgtk2.0-dev
apt install libatlas-base-dev gfortran
apt install python2.7-dev python3-dev

This part is for either source build or pip install

sudo -s
apt install libhdf5-dev libhdf5-serial-dev libwebp-dev
apt install libqtwebkit4 libqt4-test
apt install python-pip
pip install virtualenv virtualenvwrapper
exit

cat >> .profile <EOF
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
EOF
source .profile

mkvirtualenv cv -p python3
pip install numpy

This leaves you in the cv venv, on subsequent logins

workon cv

In one line, install the entire OpenCV package and skip 20 hours of compilation.

pip install opencv-contrib-python-headless

This fails, because there is a library missing.

ImportError: libImath-2_2.so.12: cannot open shared object file: No such file or directory

or BUILD on a REAL computer

https://raspberrypi.stackexchange.com/questions/69169/how-to-install-opencv-on-raspberry-pi-3-in-raspbian-jessie

Camera related links

MotionEyeOS https://www.raspberrypi-spy.co.uk/2017/04/raspberry-pi-zero-w-cctv-camera-with-motioneyeos/

MotionEye on Raspian https://www.techcoil.com/blog/how-i-setup-a-raspberry-pi-zero-w-cctv-camera-with-motioneye-and-raspbian-stretch-lite/

Built into a dummy camera case: https://www.instructables.com/id/Zero-Security-Camera/ Pi Zero (not wireless) + USB - LAN adapter

Cool 3D-printed case: https://www.thingiverse.com/thing:2544275