ESP-EYE QR Code Scanner with qrdec.

ESP-EYE QR Code Scanner with qrdec.

QR Code Decode C++ with qrdec. の続きです。

QR Code Decode C++ with qrdec. を、ESP-EYE (Esp32 Arduino) でも試してみました。

今回は、ESP32QRCodeReader をベースにして、
の中の、quirc の使用に替えて、qrdec をつかてみました。

開発環境
Ubuntu Mate 22.04 PC
Platform I/O IDE
ボード: ESP EYE
Platform: Arduino

Workspace: ~/Documents/PlatformIO/Projects
フォルダー: qrdec_esp32_eye

1. Platform I/O IDE の PIO-Home で、New Project を作成。
Name: qrdec_esp32_eye
Board: Espressif ESP-WORKER-KIT
Framework: Arduino
で作成します。
1.1 qrdec_esp32_eye/lib ディレクトリーに、上記 ESP32QRCodeReader を、 git clone します。
1.2 qrdec_esp32_eye/lib/ESP32QRCodeReader/examples/basic/basic.ino を、qrdec_esp32_eye/src/qrdec_esp32_eye.ino としてコピーします。
main.cpp は、削除します。
qrdec_esp32_eye.ino を修正します。

この時点で、一度ビルドして、ESP-EYE にアップデートして、動かすと、
quirc 版で、動作すると思います。

1.3 その後、
qrdec_esp32_eye/lib/ESP32QRCodeReader/src/ ディレクトリーに、qrdec をコピーします。

1.4 qrdec_esp32_eye/lib/ESP32QRCodeReader/src/ESP32QRCodeReader.cpp の
void qrCodeDetectTask(void *taskData) を、現状 quircを使っている部分を、qrdec を使うようにします。
概要は、以上です。

2. 一応できたのですが、半角小文字が、変換できましぇん。
qrdectxt.c

の、iconv_open() すべて、戻り値 = -1 になるので、このせいで、
現状、半角小文字が変換できない。
半角大文字は、OK です。
ESP32 Arduino 版、iconv が、今は使えないようなので、仕方がない。
とりあえず。

にして、半角小文字を、半角大文字の処理に組み入れる。

検索に適した、一定の距離を保つ必要があるが、距離さえ適切であれば、
よく拾うみたいぞね。
quirc よりは、距離の許容範囲が広いかも。
iconv の件が改善されれば、github にでも上げたいのだが。

2.1 iconv ですが、iconv.c が、一部修正がありますが、ESP32 Arduino で使えました。

$ git clone https://github.com/arduino/linino.git
して、
linino/trunk/package/libs/libiconv ディレクトリーを、PlatformIO/Projects/ の
qrdec_esp32_eye/lib/ESP32QRCodeReader/src
の下にコピーして、一部修正します。

qrdec_esp32_eye/lib/ESP32QRCodeReader/src/libiconv/src/iconv.c


あとは、 qrdec_esp32_eye/lib/ESP32QRCodeReader/src/qrdec/src/qrdectxt.cc に取り込みます。


これで、なんとか動作しちょります。by nishi 2024.1.15
やれやれぞね!!
後日、github にでも公開するぞね!!

7. github に公開しました。by nishi 2024.1.16
tosa-no-onchan/ESP32QRCodeReader

やり方は、1.を 行って、
7.1 qrdec_esp32_eye/lib ディレクトリーに、今回は tosa-no-onchan/ESP32QRCodeReader を、 git clone します。
7.2 qrdec_esp32_eye/lib/ESP32QRCodeReader/examples/qrdec_esp32_eye/qrdec_esp32_eye.ino を、qrdec_esp32_eye/src/ にコピーします。
main.cpp は、削除します。
qrdec_esp32_eye/lib/ESP32QRCodeReader/examples/platformio.ini を qrdec_esp32_eye/ へコピーします。
あとは、ビルドして、ESP-EYE にアップロードすれば、完了です。

このブログ記事について

このページは、おんちゃんが2024年1月15日 17:49に書いたブログ記事です。

ひとつ前のブログ記事は「QR Code Decode C++ with qrdec.」です。

次のブログ記事は「ESP-EYE CameraWebServer with QR Code Detection.」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ