Skip to content

cybernetics-library/checkout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This lets you use a webcam to scan QR codes, and POSTs the scanned ids to the library server.

Installation

sudo apt-get install libzbar0 libjpeg8-dev python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev
pip install -r requirements.txt

Usage

python main.py <LIBRARY HOST>

Note on autofocus

We're using C920 webcams which have a very sensitive autofocus.

I recommend disabling autofocus:

v4l2-ctl -c focus_auto=0

Then manually setting the focus:

v4l2-ctl -c focus_absolute=20

For reference: v4l2-ctl -l

If your video device is one other than /dev/video0, use the -d flag to specify it.

Running remotely

We're running this off of Raspberry Pis.

When SSH'd into the Pi, to launch properly:

export DISPLAY=:0
python3 main.py

If you need to wake the Pi's screen:

export DISPLAY=:0
xset s reset

DNS

The Raspberry Pi's default DNS may be non-ideal, making API calls slow. To change the Pi's DNS servers, edit /etc/resolv.conf as root. Edit it to look like:

# Generated by resolvconf
nameserver 8.8.8.8
nameserver 8.8.4.4  

Alternately, run sudo ./setdns.sh, which will do the above.

NOTE: DNS will reset upon boot.

Screen Rotation

The file will try to read from pisettings.py. See pisettings.py.example for an example of what it looks like.

If pisettings.py exists, it will read from pisettings["rotateangle"] and rotate the screen correspondingly.

This is so that each checkout station can have its video feed rotated to be more intuitive.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •