Mundarija:
- 1 -qadam: Sizga nima kerak
- 2 -qadam: Ma'lumotlar bazasini o'rnating va o'rnating
- 3 -qadam: OutPan API kalitini oling
- 4-qadam: Qizil tugunni o'rnating va o'rnating
- 5 -qadam: API -ni o'rnating
- 6 -qadam: (ixtiyoriy) API -ni tushunish
- 9 -qadam: (Ixtiyoriy) Foydalanuvchi interfeysini yarating
- 10 -qadam: skanerlashni boshlang
Video: Inventarizatsiyani boshqarish tizimi: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Men har doim o'z omborxonamdagi hamma narsani kuzatib borishning arzon usulini xohlardim, shuning uchun bir necha oy oldin men shunday qiladigan loyiha ustida ishlay boshladim. Maqsad oddiy va arzon tizimni yaratish edi, uni ishlatish juda oson edi, shu bilan birga qo'shimcha kuch sarflash uchun etarli ma'lumotni saqlash. Oxir -oqibat men shtrix kodli har qanday element haqidagi ma'lumotlarni saqlashi va yangilashi mumkin bo'lgan inventarizatsiyani boshqarish tizimi, shuningdek, ushbu ma'lumotlar haqidagi ma'lumotlarni internetdan olishim mumkin.
Qisqasi, tizim shunday ishlaydi.
- Shtrix -kod skanerdan o'tkaziladi.
- Python skriptlari skanerdan ma'lumotlarni o'qiydi.
- So'rov tugun-qizil rangda ishlaydigan REST API-ga yuboriladi.
- API so'rovni qayta ishlaydi, Internetdan qo'shimcha ma'lumotlarni oladi va ma'lumotlar bazasini mos ravishda tahrir qiladi.
Bularning barchasi bitta Raspberry Pi -da amalga oshiriladi, bu sizga butun inventarizatsiyangiz haqidagi ma'lumotlarni bitta kichik ko'chma tizimda yangilash va saqlash imkoniyatini beradi. Bu loyiha biroz texnik va ma'lumotlar bazalari, HTTP va Python haqidagi asosiy tushuncha juda foydali bo'ladi, lekin men yangi boshlovchiga tushunarli bo'lishi uchun qo'limdan kelganicha harakat qilaman. Qani boshladik!
1 -qadam: Sizga nima kerak
Ushbu loyiha uchun sizga kerak bo'ladigan qismlar …
- Raspberry Pi
- USB shtrix -kod skaneri (men foydalanayotganga havola)
- Wi -Fi adapteri (agar sizning Pi -da WiFi o'rnatilgan bo'lmasa)
- Kalitni almashtirish
- Jumper simlari
- Raspberry Pi uchun sumka (ixtiyoriy)
2 -qadam: Ma'lumotlar bazasini o'rnating va o'rnating
MySQL - bu shtrix -kod skaneridan olingan barcha ma'lumotlarni o'z ichiga oladigan ma'lumotlar bazasini boshqarish tizimi. Pi -da buni qilish juda oson, siz Pi terminalida quyidagi buyruqni bajaring.
sudo apt-get mysql-serverni o'rnating
Keyin siz o'rnatish jarayonidan o'tasiz va parolni yaratishingiz kerak bo'ladi. Bo'ldi shu. MySQL o'rnatilganda, sizning Pi ma'lumotlar bazasi serveri sifatida ishlay oladi. Endi biz ma'lumotlarni saqlaydigan jadvallarni yaratishimiz kerak. Birinchidan, tizimga kiring. O'rnatishdan so'ng MySql -dan yagona foydalanuvchi - root (har bir jadval va tizimga kirish huquqiga ega foydalanuvchi). Quyidagi buyruqni ishlatib, root sifatida kirishingiz mumkin.
mysql -uroot -p
Tez orada biz tizimimiz foydalanadigan boshqa foydalanuvchini o'rnatamiz, lekin avval ma'lumotlar bazasini va shu ma'lumotlar bazasidagi jadvallarni yaratishimiz kerak. Buning uchun quyidagi buyruqlarni bajaring.
ma'lumotlar bazasi inventarizatsiyasini yaratish;
inventarizatsiyadan foydalanish; jadval yaratish upc_count (upc varchar (15) nol emas, butun son (3) nol emas standart 0, varchar nomi (255), o'lcham varchar (40), ishlab chiqaruvchi varchar (80), asosiy kalit (upc));
Endi bizda beshta ustunli oddiy jadval bor (bu asosiy kalit bo'ladi), soni, nomi, o'lchami va ishlab chiqaruvchisi. Eslatma: upc - bu mahsulotni aniq belgilaydigan raqam. Bu raqam shtrix -kod yorlig'ida o'qilganda o'qiladi.
Nihoyat, biz kerakli foydalanuvchini o'rnatamiz. Men o'zimga qo'ng'iroq qilmoqchiman, buning uchun xohlagan foydalanuvchi nomi va parolni ishlatib, quyidagi buyruqlarni bajaring:
* "@" localhost "ga aniqlangan inventarizatsiya bo'yicha hamma narsani bering;
Endi bizda ma'lumotlar bazasi bor, biz tizimni qurishni boshlashimiz mumkin!
3 -qadam: OutPan API kalitini oling
OutPan - bu mahsulot haqida ma'lumot olish uchun ishlatilishi mumkin bo'lgan API. Biz bundan ma'lumotlar bazasiga qo'shilgan mahsulotlar haqida ko'proq ma'lumot olish uchun foydalanmoqchimiz. Bu umumiy api, lekin undan foydalanish uchun siz ro'yxatdan o'tishingiz va api kalitini olishingiz kerak. Ro'yxatdan o'tish juda oddiy, bu erga boring va kalitni ro'yxatdan o'tkazish uchun qadamlarni bajaring.
Kalitni olganingizdan so'ng, uni nusxa ko'chiring. Sizga keyingi bosqichda kerak bo'ladi.
4-qadam: Qizil tugunni o'rnating va o'rnating
Node-Red 2015 yil oxiridan boshlab Raspbian OS-ning barcha versiyalarida oldindan o'rnatilgan bo'lib keladi. Agar sizda tugun-qizil o'rnatilganligini bilish uchun terminalda quyidagi buyruqni bajaring.
qizil tugun
Agar "buyruq topilmadi" xabari ko'rsatilsa, siz qizil tugunni o'rnatishingiz kerak bo'ladi. Buning uchun quyidagi buyruqlarni bajaring.
sudo apt-get update sudo apt-get install nodered
Qizil tugunni ishga tushirgandan so'ng, siz chiqishda ko'rsatilgan manzildan qizil tugunga kirishingiz mumkin.
Qolgan yagona sozlash - MySQL tugunlarini o'rnatish. Siz buni brauzer orqali qilishingiz mumkin. Sahifaning o'ng yuqori burchagidagi belgini bosing va "Palitraning boshqaruvi" ni bosing. U erdan "mysql" ni qidiring va o'rnatish tugmasini bosing.
Endi APIni import qilishga tayyormiz.
5 -qadam: API -ni o'rnating
Quyida men yozgan tugunli qizil API. Faqat pastdagi hamma narsani nusxa ko'chiring, yuqori o'ng burchakdagi belgini bosing va clipboarddan import → ga o'ting.
[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y"): 57, "simlar": [{"id": "b8b6d2e4.169e7"}]}}, "chiqish": [{"x": 755, "y": 58, "simlar": [{"id"): "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http request", "z": "ef09537e.8b96d", "name" ":" Tashqariga chiqish so'rovi "," usul ":" Oling "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," simlar ":
Endi sizda ma'lumotlarni kiritish va yangilash uchun foydalanadigan barcha API mavjud. Biz uni ishlatishga tayyor bo'lishimizdan oldin faqat bir nechta sozlashlarni amalga oshirishimiz kerak.
- Birinchidan, barcha MySQL ma'lumotlar bazasi tugunlariga kiring va foydalanuvchi nomi va parolni oldingi bosqichda ma'lumotlar bazasi uchun yaratganlarga o'zgartiring.
- Ikkinchidan, minOutPanData quyi oqimini tahrirlang, shunda Open Pan ma'lumotlarini olish uchun ishlatiladigan HTTP so'rovi sizning API kalitingizni ishlatadi.
Endi siz API -dan foydalanishga tayyormiz. Bu oqim HTTP so'rovlari yordamida Internetga ulangan har qanday qurilmadan ma'lumotlarni yuborish imkonini beradigan oddiy REST API ni yaratadi.
6 -qadam: (ixtiyoriy) API -ni tushunish
Biz qilishimiz kerak bo'lgan oxirgi narsa - bu ikkita rejimda skanerlash, qo'shish va o'chirish uchun GPIO -ga kalitni ulash.
Bu juda oldinga siljiydi, Pi -dagi GPIO 21 -pinidan o'qish uchun o'tish tugmachasini o'rnating va siz borishga tayyormiz. Qo'shilgan rasmdagi sxemadan foydalanib (PUD DOWN sxemasi deb nomlanadi) skript o'tish tugmasi yopilganda qo'shish so'rovini yuboradi va o'tish tugmasi ochiq bo'lganda o'chirish so'rovini yuboradi.
Shundan so'ng biz simlarni korpusning ichki qismiga yopishtiramiz va biz borishga tayyormiz.
9 -qadam: (Ixtiyoriy) Foydalanuvchi interfeysini yarating
Bu oxirgi qadam shart emas, lekin agar siz tizimning imkoniyatlaridan to'liq foydalanmoqchi bo'lsangiz, albatta yordam beradi. Men juda oddiy foydalanuvchi interfeysini o'rnatdim, u bizning ma'lumotlar bazamizda mavjud bo'lgan barcha ma'lumotlarni jadvalda oson ko'rsatib berdi. Jadvalni ustunlar bo'yicha saralash va qidirish mumkin, bu sizning qo'lingizda nima borligini ko'rishni osonlashtiradi.
UI juda oddiy; Men API-da ishlash uchun Internetda topilgan ba'zi misol kodlarini qayta maqsad qildim (agar sizni qiziqtirsa, bu misol kodini bu erda topish mumkin).
UIni ishga tushirish uchun quyidagilarni bajaring …
- Ilova qilingan index.txt faylini index.html sifatida saqlang (biron sababga ko'ra faylni HTML fayli sifatida yuklay olmadim).
- Kompyuteringizdagi ikkita faylni bitta katalogga joylashtiring.
- Sevimli veb -brauzeringizda 'index.html' faylini ishga tushiring.
Endi biz sizning inventarizatsiyangizni osongina ko'rishimiz va saralashimiz mumkin!
10 -qadam: skanerlashni boshlang
Endi siz skanerlashni boshlashga tayyormiz! Agar sizda biron bir savol bo'lsa, ularni sharhlarda qoldiring va men iloji boricha javob beraman.
Nihoyat, tanlovdagi ovozlaringiz juda qadrlanadi. O'qiganingiz uchun tashakkur!
Tavsiya:
Yorqinlikni boshqarish PWM asosidagi LEDni boshqarish tugmachalari, Raspberry Pi va skretch yordamida: 8 qadam (rasmlar bilan)
Yorqinlikni boshqarish PWM asosidagi LEDni boshqarish tugmachalari, Raspberry Pi va Scratch yordamida: Men PWMning o'quvchilarimga qanday ishlashini tushuntirishga harakat qilardim, shuning uchun men o'z oldimga ikkita tugma yordamida LEDning yorqinligini boshqarishga harakat qildim. - bitta tugmachaning yorqinligini oshiradi, ikkinchisi esa uni o'chiradi. Dastur uchun
Vazifa menejeri - uy ishlarini boshqarish tizimi: 5 qadam (rasmlar bilan)
Vazifa menejeri - uy ishlarini boshqarish tizimi: Men o'z uyimdagi haqiqiy muammolarni hal qilishga harakat qilmoqchi edim (va menimcha, boshqa o'quvchilarning muammolari), bu mening bolalarimni yordam berish uchun qanday taqsimlash, rag'batlantirish va mukofotlash. uy ishlari bilan. Hozirgacha biz laminatlangan varaqni saqlaganmiz
Taymer funktsiyasi bilan televizorni masofadan boshqarish pulti yordamida uy jihozlarini qanday boshqarish mumkin: 7 qadam (rasmlar bilan)
Uy asbob -uskunalarini masofadan boshqarish pulti bilan taymer funktsiyasi yordamida qanday boshqarish mumkin: Iste'mol bozoriga 25 yil kirganidan keyin ham, infraqizil aloqa so'nggi kunlarda juda dolzarb bo'lib qolmoqda. Bu sizning 55 dyuymli 4K televizoringiz yoki avtomobilingizning ovoz tizimidan qat'i nazar, hamma narsaga javob berish uchun IQ masofadan boshqarish pulti kerak
Arduino Mega 2560 va IoT -dan foydalangan holda yuk ko'tarish uchun dvigatellarni boshqarish tizimi: 8 qadam (rasmlar bilan)
Arduino Mega 2560 va IoT yordamida dasturlarni ko'tarish uchun dvigatellarni boshqarish tizimi: Hozirgi vaqtda IoT asosidagi mikrokontroller sanoat dasturida keng qo'llanilmoqda. Iqtisodiy jihatdan ular kompyuter o'rniga ishlatiladi. Loyihaning maqsadi bizni to'liq raqamli boshqarish, ma'lumotlarni qayd qilish va 3 fazali indüksiyon motorini monitoring qilishdir
R Pi -Masofadan boshqarish pulti va yoritish tizimi: 4 qadam (rasmlar bilan)
R Pi -Masofadan boshqarish pulti va yoritish tizimi: Bu veb -brauzerdan masofadan turib PI -ni ovozli e'lon qilish va chiroqlarni yoqish va o'chirish uchun mo'ljallangan oddiy loyihadir. Shunday qilib, sizga kerak bo'lgan narsa: 1) Apache va PhP bilan oldindan o'rnatilgan Raspberry Pi. Men yonimda yotgan eski Pi v1 -dan foydalandim. Menimcha,