Resources for Learning Raspberry Pi

For the past few months, I have been learning Raspberry Pi. In this post, I will collect all relevant resources together in order to help readers build barcode applications on Raspberry Pi with Dynamsoft Barcode SDK.

raspberry pi

What is Raspberry Pi

Wikipedia: The Raspberry Pi is a series of credit card-sized single board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and developing countries.

raspberry pi 3 model B

Specification of the Latest Raspberry Pi 3 model B

Release date: 29 February 2016

Introductory price: 35 US$

Operating system: Raspbian

System-on-chip used: Broadcom BCM2837

CPU: 1.2 GHz 64-bit quad-core ARM Cortex-A53

Memory: 1 GB LPDDR2 RAM at 900 MHz

Storage: MicroSDHC slot

Graphics: Broadcom VideoCore IV at higher clock frequencies (300 MHz & 400 MHz) than previous that run at 250 MHz

Power: 800 mA (4.0 W)

GPIO

On Raspberry Pi, there are some General-purpose input/output (GPIO) pins, which can be programmatically controlled by users at run time.

Raspberry Pi GPIO

3.3V: anything connected to these pins will always get 3.3V of power.

5V: anything connected to these pins will always get 5V of power.

GND: ground. Zero volts used to complete a circuit.

GPIO: these pins are for general-purpose use and can be configured as input or output pins.

ID_SC/ID_SD/DNC: special purpose pins

Usual Peripherals

Breadboard

breadboard

Male-to-female jumper leads

jumper-male-to-female

Female-to-female jumper leads

jumper-female-to-female

Male-to-male jumper leads

jumper-male-to-male

Tactile button

tactile-push-button

LED

LED

Light dependent resistor

resistor

Documentation, Code & Video

Tutorials

  1. Configure static IP for Raspberry Pi.
  2. Remotely build the basic sample code of Dynamsoft barcode SDK via Makefile.

 

  1. Create a Node.js addon by wrapping native code that depends on libDynamsoftBarcodeReader.so.
  2. Build a web barcode reader with the Node.js addon.

 

  1. Create a Python extension by wrapping native code that depends on libDynamsoftBarcodeReader.so.
  2. Write a Python barcode reader by importing the custom Python extension.

 

  1. Invoke OpenCV API to open webcam in C++.
  2. Convert real-time frame data from Mat to DIB.
  3. Detect barcode with Dynamsoft Barcode API.

 

  1. Optimize the No.4 code by moving barcode detection block to the worker thread in case of blocking the UI thread.

 

  1. Based on No.5, connected LED and resistor to GPIO pins in order to indicate the detection status.

Video – Raspberry Pi Barcode Scanner