תוכן עניינים:
- שלב 1: עדכן
- שלב 2: רשימת חלקים
- שלב 3: קורא ברקוד לייזר USB
- שלב 4: מסד נתונים של UPC
- שלב 5: טקסט לדיבור
- שלב 6: כוח סוללה
- שלב 7: חלק א ' - הוספת אודיו ל- Pi Zero
- שלב 8: חלק ב ' - התקנת תוכנה
- שלב 9: פתרון בעיות
- שלב 10: חלק שלישי - שרת אינטרנט
- שלב 11: פתרון בעיות בשרת האינטרנט
- שלב 12: נספח
וִידֵאוֹ: קורא ברקוד מדברת Raspberry Pi: 12 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
סורק ברקוד איור 1 מ- DX.com
סקירה כללית
עדכון: הדגמת וידאו קצרה זמינה
אמא שלי כבר לא מסוגלת לקרוא תוויות על פריטי מכולת, אז הלכתי לחפש פתרונות. לאחר שראיתי שקוראי ברקוד לעיוורים מריצים מאות דולרים רבים, רציתי לראות מה אפשר לעשות באמצעות פטל פטל וקורא ברקוד USB.
חיקוי מפתח נוסף היה שזה אמור לפעול ללא חיבור לאינטרנט (כגון בחנות או בבית של חבר). כך שהמאגר והטקסט לדיבור היו חייבים להיות עצמאיים.
ניסיתי גרסה מבוססת מצלמה של קורא ברקוד, אך תאורה ומיקום המצלמה גרמו לבעיות אמינות למי שאינו יכול לראות בבירור. אלה גם דרשו ראייה כדי להגדיר ולהשתמש באפליקציה. אז עברתי לקורא ברקוד USB לייזר, במיוחד מכיוון שהם זמינים כעת בפחות מ -30 דולר וה- Raspbian Jessie תומך בהם מיד מהקופסה.
ניסיתי גם את ה- Amazon Dash Wand החדש אבל הוא אינו מדבר על הפריט הסרוק והוא דורש חיבור לאינטרנט כדי לעבוד.
הרעיון היה לסרוק פריט ולשאילת הפטל מסד נתונים פנימי של קודי UPC ולאחר מכן לדבר את תיאור המוצר באמצעות טקסט לדיבור.
על מנת להפוך את היחידה לקטנה ככל האפשר, רציתי להשתמש ב- Raspberry Pi Zero. רציתי גם להפעיל את היחידה גם מהסוללה.
כדי לעמוד בדרישות אלה היו נחוצים כמה פשרות. מכיוון שאין לאפס שקע שמע חיצוני, השתמשתי שוב בעיצוב השמע מפרויקט "פי רעידת האדמה" שלי מכיוון שהוא היה בעלות נמוכה (כ -6 דולר) וקטנה מאוד. לחלופין, אפשר להחליף את "אודיו טרנזיסטור אחד ב- Pi Zero".
עבור סורק ברקוד הלייזר, מצאתי אחד מ- DX.com. הוא כבוי מ- USB Raspberry ומחירו כ -25 דולר. (ראה חלקים למטה)
שלב 1: עדכן
עם הגעת ה- Raspberry Pi Zero W, אני עומד לעבור אליו. הכל כאן אותו דבר, פרט לכך שאתה צריך להגדיר את חיבור ה- WiFi ל- Pi. המשמעות היא שלא תזדקק לרכזת USB לאפס לצורך התקנה ושימוש.
אתה יכול להגדיר את ה- WiFi באמצעות:
thepihut.com/blogs/raspberry-pi-tutorials/…
האם ידעת?
אם תתקין את Raspbian Jessie בכרטיס SD באמצעות מחשב Windows, תוכל ליצור שני קבצים בכרטיס כדי להגדיר גישה ל- WiFi ו- SSH לפני שתאתחל אותו ב- Raspberry?
לשם כך, נניח שכרטיס ה- SD שלך מותקן כרגע K: במחשב האישי שלך:
1) התקן את תמונת Jessie האחרונה של Raspbian ל- SD. עבור פרויקט זה, ג'סי לייט אמורה לעבוד.
www.raspberrypi.org/downloads/raspbian/
2) בעזרת פנקס הרשימות, צור קובץ בשם "ssh" בלבד והשתמש בשם "כל הקבצים" ב- K: / ssh
הקובץ יכול להכיל כל דבר. זה שם הקובץ שחשוב. אסור להיות "ssh.txt" !!!
3) בעזרת פנקס הרשימות, צור קובץ בשם "wpa_supplicant.conf" ובו:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1
רשת = {
ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
השתמש בשמירה בשם "כל הקבצים" ב- K: / wpa_supplicant.conf שוב, אל תתנו לפנקס הרשימות לשנות אותו ל- "wpa_supplicant.conf.txt" !!
כאשר אתה מפעיל את הפטל בפעם הראשונה, ג'סי תחפש את אלה ותתחבר ל- Wifi שלך. עם זאת, יהיה עליך לחפש בנתב שלך מכיוון שהוא הוקצה אוטומטית.
שלב 2: רשימת חלקים
- Raspberry Pi Zero (או כל פטל פטל, אם הגודל אינו מהווה בעיה)
-
סורק ברקוד USB לייזר
www.dx.com/p/ls-4209-laser-bar-code-scanner…
- עבור Raspi Zero, הוסף מגבר Adafruit I2S 3W Class D
- רמקול קטן. (עבור Pi 2, 3, השתמש במגבר ורמקול חיצוני.)
- מתאם USB מיקרו ל- USB OTG
- חבילת סוללות USB של 5V 1Amp כזו:
- כבל USB למיקרו USB לאריזת סוללות.
- רכזת USB ו- Ethernet (לפחות לצורך עבודת התקנה ראשונית, אין צורך ב- Zero W או Raspi 2, 3)
- תוכנה מ- GITHUB:
שלב 3: קורא ברקוד לייזר USB
קוראי ברקוד לייזר סלחניים יותר ביכולתם לסרוק תווית UPC מאשר במצלמות. הם גם עובדים טוב אפילו בתוויות מוארות או לא טובות.
תזדקק למתאם מיקרו USB ל- USB כדי לחבר אותו לאפס.
אחיזת היד וההדק של הסורק מקלות על השימוש.
הוא גם נותן משוב כאשר הוא סורק תווית בהצלחה.
עשיה עתידית:
בעיצוב הסופי, הייתי חותך את הכבל כדי לקצר אותו ולהלחם ישירות לפיני ה- USB באפס כדי להקטין את הגודל ואת הסבירות לכשל במחבר. האפס והסוללה יוצמדו ישירות לתחתית ידית הסורק במקרה מודפס בתלת מימד.
שלב 4: מסד נתונים של UPC
זהו החלק המכוסה בצורה הגרועה ביותר של הפרויקט, מכיוון שיש ממש מיליוני קודי UPC ומעט מאוד מאגרי מידע פתוחים להורדה. למרבה הצער, רוב מאגרי המידע של UPC הם די יקרים ודורשים קישוריות לאינטרנט.
הצלחתי לחבר כמה מאגרי קוד פתוח יחד (מקורות בנספח להלן), אך אפילו עם כמעט 700, 000 פריטים, מספר עצום חסר.
לשם כך, עשיתי שני דברים; האחד הוא להתמקד בפריטי מכולת במיוחד והשני הוא להוסיף שרת אינטרנט לפטל כדי לאפשר הוספת קודי UPC חדשים באופן ידני, אם כי זה דורש לפחות קישוריות רשת מקומית.
עשיה עתידית:
הייתי הופך את ה- Zero W ל"נקודה חמה "כך שתוכל להתחבר אליו בכל מקום כדי להוסיף קודי UPC חדשים.
שלב 5: טקסט לדיבור
השתמשתי בתוכנית הטקסט לדיבור בשם "Flite", מכיוון שהיתה לה הפשרה הטובה ביותר בין איכות הקול ומהירות ההמרה ב- Zero. אחרים נשמעו קצת יותר טוב, אבל היו איטיים מדי להמרה.
אתה יכול גם לבדוק את ההדרכה של Adafruit:
שים לב שנדרש קצת "אימון אוזניים" כדי להתרגל להטיה בדיבור, אבל זה לא נורא.
סריקת אותו פריט שוב תחזור על השמע.
ToDo בעתיד
אולי הוסף שקע לאוזניות כדי להקל על קשישים לשמוע את הקול במקומות רועשים.
שלב 6: כוח סוללה
ניתן להפעיל את המערכת מסוללת USB של 5V, כמו למשל לטעינת טלפונים ניידים.
התפיסה היא שכאשר תנתק את הסוללה או שהסוללה מתה, ה- Pi יקרוס עם סיכוי שהוא יהרוס את כונן ה- SD.
כדי לפתור זאת, יש צורך בלחצן שמפעיל פקודת כיבוי. כנראה שאשתמש באחד כזה:
www.element14.com/community/docs/DOC-78055…
(כן … עוד "עתיד ToDo!")
שלב 7: חלק א ' - הוספת אודיו ל- Pi Zero
(דלג על חלק זה אם אינך משתמש באפס!)
ב- Pi Zero תצטרך להוסיף אודיו חיצוני מכיוון שהוא אינו מובנה. השתמשתי במחיר הנמוך "Adafruit I2S 3W מגבר פריצת מגבר MAX98357A"
זה דורש התקנה באמצעות הדרכה מצוינת של Adafruit בכתובת:
כפי שמוצג בחלק החיווט של ההדרכה, חבר:
• Amp Vin ל- Raspi Zero Pi 5V • Amp GND ל- Raspi Zero Pi GND • Amp DIN ל- Raspi Zero Pi #21 • Amp BCLK ל- Raspi Zero Pi #18 • Amp LRCLK ל- Raspi Zero Pi #19
חבר רמקול קטן לכבלי השמע שעל הלוח.
הגדרת תוכנת שמע של Pi Zero Adafruit כמו כן מוצג במדריך ההתקנה של תוכנת Adafruit, בצע את הפקודה CURL להלן:
$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | לַחֲבוֹט
לאחר האתחול, בדוק את השמע באמצעות בדיקת רמקולים:
$ speaker -test -c2 --test = wav -w /usr/share/sounds/alsa/Front_Center.wav
אם יש לך בעיות, חזור דרך מדריך Adafruit החל מסקירה כללית. ייתכן שיהיה עליך לעבור את שלבי "ההתקנה המפורטת" במדריך כדי לאמת את כל הקבצים המעודכנים.
שלבים חשובים שנדרשים עבור אפס ואפס 98357 שמע: כברירת מחדל, אודיו ALSA פועל רק בסטריאו בעוד Flite טקסט לדיבור הוא מונו. כמו כן, באודיו יש "קופצים" בכל פעם שהוא מתחיל לנגן.
(ראה:
עליך לבצע את הפעולות הבאות:
1) הוסף שורה ל- /boot/config.txt
$ sudo nano /boot/config.txt
dtoverlay = i2s-mmap
2) החלף /etc/asound.conf
$ sudo nano /etc/asound.conf
pcm.hifiberry {סוג hw כרטיס 0} pcm.! ברירת מחדל {type plug slave.pcm "dmixer"} pcm.dmixer {type dmix ipc_key 1024 slave {pcm "hifiberry" ערוצי 2}} ctl.dmixer {סוג hw כרטיס 0}
3) הפעל מחדש את ה- Pi שלך.
נסה שוב את בדיקת הרמקולים. זה אמור להישמע טוב יותר עכשיו. לאחר שתשלים את מדריך ההתקנה כולל בדיקות השמע, אז הצליל אמור להיות מוכן.
שים לב שאולי תרצה להוסיף שקע אוזניות לאודיו, אם תעביר אותו לחנות מכולת או לסביבה רועשת.
שלב 8: חלק ב ' - התקנת תוכנה
זה בהנחה שכבר מותקנת אצלך ג'סי Raspbian ותוכל לגשת לשורת הפקודה של Linux. אינך זקוק לגרסת ה- GUI של Raspbian, אך זה בסדר לשימוש.
אינך זקוק לסורק ה- USB המחובר כרגע, למקרה שתזדקק ליציאת ה- USB עבור אתרנט או מקלדת/עכבר.
ודא שמערכת ההפעלה שלך מעודכנת:
$ sudo apt-get update $ sudo apt-get upgrade
משורת הפקודה, עבור לספריית הבית של pi והורד את מאגר GITHUB:
$ cd/home/pi $ sudo apt להתקין git $ git שיבוט https://github.com/rgrokett/TalkingBarcodeReader….> https://github.com/rgrokett/TalkingBarcodeReader….> $ cd TalkingBarcodeReader $./install. ש
זה ייקח קצת זמן, במיוחד אם זו הפעם הראשונה ויש להתקין או לעדכן את שרת האינטרנט ו- PHP. במידת הצורך, תוכל להריץ את זה יותר מפעם אחת. בין היתר, זה מתקין את קבצי הברקוד ואת מסד הנתונים של UPC אל:/var/www/html/upc
לאחר מכן, ערוך /etc/rc.local והוסף את השורה הבאה לפני "יציאה 0"
$ sudo nano /etc/rc.local
fi sudo /var/www/html/upc/bin/run.sh יציאה 0
לאחר השלמת ההתקנה, כבה את ה- Pi וחבר את קורא הברקוד USB והפעל מחדש.
כיבוי $ sudo עכשיו
הפעל אותו מחדש ואתה אמור לשמוע נאום הפעלה קצר.
אם כן, נסה לסרוק ברקוד מפריט מכולת. אם הכל הלך כשורה, עליך לשמוע אותו מדבר על הפריט (או לדבר "לא נמצא"). אחרת, עיין במדריך לפתרון הבעיות הבא.
שלב 9: פתרון בעיות
אם אינך שומע צלילים, יהיה עליך לנסות את הפקודות הבאות:
1) ודא כי אודיו טקסט לדיבור פועל:
$ sudo flite -voice awb -t "בדיקות"
אם אתה מקבל שגיאה, ודא שהותקן Flite:
$ sudo apt להתקין flite
אם אתה מקבל את השגיאה הבאה, ודא שעדכנת /boot/config.txt ו- /etc/asound.conf המוצגים בקטע הגדרת שמע לעיל ב- Raspi Zero: audio_open_alsa: נכשל בהגדרת מספר הערוצים ל -1 ארגומנט לא חוקי.
אם אינך מקבל שגיאה ואין צליל, ודא ששמע הפטל שלך פועל.
sudo aplay /usr/share/sounds/alsa/Front_Center.wav
1) ייתכן שיהיה עליך לכפות את השמע מתוך שקע השמע: (ראה איור 1 למעלה)
$ sudo raspi -config -> 7 אפשרויות מתקדמות -> אודיו A4
2) ברגע שיש לך אודיו וטקסט לדיבור מאומת טוב, בדוק את קורא הברקוד:
cd/var/www/html/upc/binsudo python./test.py
אתה אמור לראות מספר ברקוד מספרי המוצג בעת סריקת ברקוד. (תוכנית הבדיקה אינה כוללת פלט שמע או חיבורי מסד נתונים.)
3) אם כל זה טוב, בדוק אם יש הודעות שגיאה בקובץ "nohup.out":
cd/var/www/html/upc/binsudo cat nohup.out
ככל הנראה בעיות חסרות חבילות או הרשאות גרועות (או באגים בקוד!). ודא שמערכת ההפעלה שלך מעודכנת והפעל שוב את install.sh.
אני מקווה שאתה עובד עד עכשיו!
שלב 10: חלק שלישי - שרת אינטרנט
מכיוון שיש מיליוני קודי UPC ורוב מאגרי המידע הזמינים לציבור (כלומר בחינם) הם רק קבוצת משנה קטנה של קודים, פרויקט זה התמקד בקודי UPC למכולת. הוא כולל כמה מאות אלפי פריטים, אך רבים, רבים לא יימצאו.
אם אתה צריך להוסיף או לעדכן את מסד הנתונים של UPC, ישנן שתי תוכניות זמינות; שורת פקודה אחת ודפדפן אינטרנט. (החלף את הספרות במספר הפריט UPC שלך)
$ cd/var/www/html/upc/bin
$ sudo./addDB.sh 01234567890 "הפריט החדש שלי"
זה יוסיף רשומה למסד הנתונים. אחרת, מומלץ להשתמש בפונקציית ה- DB של דפדפן האינטרנט.
עבור ממשק המשתמש של שרת האינטרנט, אתה צריך את כתובת ה- IP של הפטל שלך.
כדי למצוא את כתובת ה- IP, תוכל להשתמש ב:
$ hostname -I 192.168.1.108
מדפדפן מחשב, עבור אל: https://192.168.1.108/upc/ אתה אמור לראות מסך הדומה לזה שמופיע באיור 2 לעיל.
אם כן, תוכל להוסיף/לעדכן ולמחוק רשומות. נווט אל הדף האחרון באמצעות כפתור "הרשומה האחרונה" ('> |') כדי לראות את הרשומות החדשות שלך כשהן מצורפות לסוף מסד הנתונים.
אבטחה שים לב ששירות אינטרנט זה אינו מאובטח, (ללא אימות, ללא SSL), לכן עדיף לא לחשוף אותו לאינטרנט הציבורי. (אך מכיוון שהיא אינה מוגדרת כנקודת גישה ל- WiFi, היא בטוחה לנשיאה לחנות.)
אם כי מאחר שאין נתונים פרטיים על זה, הדבר הגרוע ביותר שיכול לקרות הוא שמישהו יתעסק בנתוני UPC.
תוכל גם להגביל את הגישה לכתובות IP ספציפיות כך שאחרים לא יוכלו להיכנס. פשוט החלף את כתובות ה- IP כאן לכאלו שאתה רוצה לאפשר. כל האחרים ייחסמו מגישה:
$ sudo vi /etc/lighttpd/lighttpd.conf
$ HTTP ["remoteip"] = ~ "127.0.0.1 | 192.168.1.108" {url.access-deny = ("")} $ sudo /etc/init.d/lighttpd הפעלה מחדש
כמו כן, שנה את סיסמת ה- PI המוגדרת כברירת מחדל! כולם יודעים שהברירת מחדל היא פאי/פטל
$ passwd
שלב 11: פתרון בעיות בשרת האינטרנט
באמצעות הדפדפן שלך עבור לכתובת ה- IP של הפטל שלך, כך:
192.168.1.108/
אתה אמור לראות את מסך ברירת המחדל מ /var/www/html/index.html (איור 1 למעלה)
ודא גם ששרת האינטרנט פועל:
$ ps -ef | grep lighttpd
כדי לוודא ש- PHP טוב, צור קובץ בדיקת php:
$ sudo nano /var/www/html/phpinfo.php
לאחר מכן עבור אל
אתה אמור לראות מסך כמו איור 2 למעלה
אם אתה מקבל שגיאות או מסכים ריקים, בדוק אם יש שגיאות
$ sudo cat /var/log/lighttpd/error.log
שוב, הפעלה מחדש של install.sh עשויה לתקן תלות חסרות.
שלב 12: נספח
תודה ענקית לאפשרויות הבאות על זמינות מאגר UPC גדול.
פתח מכולת UPC DB
www.grocery.com/open-grocery-database-proje…
פתח את Data DB
www.grocery.com/open-grocery-database-proje…
www.upc-search.org/perl/upc-search.pl?q=84…
תודה ל- EasyUI על ה- CRUD GUI הפשוט ברשת
www.jeasyui.com/index.php
מוּמלָץ:
סופרסטוק (המלאי נשלט על ידי סורק ברקוד): 5 שלבים
סופרסטוק (המלאי נשלט על ידי סורק ברקוד): במדריך זה אספר לכם כיצד לבנות את סופרסטוק, פרויקט בית הספר שלי עבור 1MCT בהאווסט. הרעיון הוא יצירת מאגר מידע ידידותי למשתמש שאליו תוכל לגשת באמצעות אתר אינטרנט כדי לשמור על מספר מה שיש לך במלאי (במקרה שלי ביגוד עבור שלי
זכוכית חכמה מדברת לעיוורים: 7 שלבים
זכוכית חכמה לעיוורים מדברים: קיימים בשוק מספר אביזרים חכמים כגון משקפיים חכמים, שעונים חכמים וכו '. אבל כולם בנויים בשבילנו. יש מחסור משמעותי בטכנולוגיה שתסייע למתמודדים פיזית. רציתי לבנות משהו שהוא
חרט ברקוד של אפל (Photonics Hackathon Phablabs): 3 שלבים
חרט ברקוד של אפל (פוטוניקס האקתון פאבלבים): שלום לכולם, כחלק מהאתגר שלנו לפלוני פוטוניקה, התבקשנו ליצור מכשיר המסוגל להחליף מדבקות על פירות. האם גם אתם שונאים מדבקות פירות? והאם תרצה לבצע שינוי ידידותי לסביבה? ואז נרצה להכניס
סורק ברקוד USB (פטל פי): 4 שלבים
סורק ברקוד USB (Raspberry Pi): הדרכה בסיסית כיצד להתקין סורק ברקוד USB באמצעות ה- Raspberry Pi
עדשת מאקרו זולה לאייפון לסריקת ברקוד: 6 שלבים (עם תמונות)
עדשת מאקרו זולה לאייפון לסריקת ברקוד: בעיה בולטת במצלמה של האייפון היא חוסר היכולת שלה להתמקד קרוב יותר ממרחק של ~ רגל. כמה פתרונות aftermarket עוזרים לפתור בעיה זו, כגון iClarifi by Griffin Technology. מארז זה לאייפון 3G מאפשר לך להחליק קצת