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.
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.
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)
On Raspberry Pi, there are some General-purpose input/output (GPIO) pins, which can be programmatically controlled by users at run time.
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
Male-to-female jumper leads
Female-to-female jumper leads
Male-to-male jumper leads
Light dependent resistor
Documentation, Code & Video
- Documentation: https://www.raspberrypi.org/documentation/
- Online courses: https://www.raspberrypi.org/resources/learn/
- A variety of projects: https://hackster.io/raspberry-pi
- GitHub page: https://com/raspberrypi
- YouTube channel: https://www.youtube.com/channel/UCFIjVWFZ__KhtTXHDJ7vgng
- Configure static IP for Raspberry Pi.
- Remotely build the basic sample code of Dynamsoft barcode SDK via Makefile.
- Create a Node.js addon by wrapping native code that depends on libDynamsoftBarcodeReader.so.
- Build a web barcode reader with the Node.js addon.
- Create a Python extension by wrapping native code that depends on libDynamsoftBarcodeReader.so.
- Write a Python barcode reader by importing the custom Python extension.
- Invoke OpenCV API to open webcam in C++.
- Convert real-time frame data from Mat to DIB.
- Detect barcode with Dynamsoft Barcode API.
- Optimize the No.4 code by moving barcode detection block to the worker thread in case of blocking the UI thread.
- Based on No.5, connected LED and resistor to GPIO pins in order to indicate the detection status.