Cuprins:
- Pasul 1: De ce veți avea nevoie
- Pasul 2: Instalați și configurați baza de date
- Pasul 3: Obțineți cheia API OutPan
- Pasul 4: Instalați și configurați nodul roșu
- Pasul 5: configurați API-ul
- Pasul 6: (Opțional) Înțelegerea API-ului
- Pasul 9: (Opțional) Creați o interfață cu utilizatorul
- Pasul 10: Începeți scanarea
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Întotdeauna mi-am dorit o modalitate accesibilă de a ține evidența tuturor lucrurilor din cămară, așa că acum câteva luni am început să lucrez la un proiect care să facă exact asta. Scopul a fost de a crea un sistem simplu, accesibil, care să fie foarte ușor de utilizat, stocând în același timp suficiente informații pentru a merita efortul suplimentar. Ceea ce am construit în cele din urmă este un sistem de gestionare a inventarului care poate stoca și actualiza informații despre orice articol care are un cod de bare, precum și datele mele de bază despre aceste articole de pe internet.
Pe scurt, sistemul funcționează astfel.
- Se scanează un cod de bare.
- Un script Python citește datele de pe scaner.
- Solicitarea este trimisă către un API REST care rulează pe nod roșu.
- API-ul procesează cererea, extrage date suplimentare de pe internet și editează baza de date în consecință.
Toate acestea se fac pe un singur Raspberry Pi, oferindu-vă posibilitatea de a actualiza și stoca date despre întregul dvs. inventar într-un sistem mic, portabil. Acest proiect este puțin tehnic și o înțelegere de bază a bazelor de date, HTTP și Python va fi foarte utilă, dar voi face tot posibilul pentru a înțelege suficient de ușor un începător. Să începem!
Pasul 1: De ce veți avea nevoie
Părțile de care aveți nevoie pentru acest proiect sunt …
- Raspberry Pi
- Scanner de coduri de bare USB (link către cel pe care îl folosesc)
- Adaptor WiFi (dacă Pi nu are WiFi încorporat)
- Comutator
- Sârme jumper
- Carcasă pentru Raspberry Pi (opțional)
Pasul 2: Instalați și configurați baza de date
MySQL este sistemul de gestionare a bazelor de date care va păstra toate datele pe care le extragem din scanările codurilor de bare. Acest lucru este foarte ușor de făcut pe Pi, rulați simplu următoarea comandă în terminalul dvs. Pi.
sudo apt-get install mysql-server
Apoi veți fi parcurs procesul de instalare și vi se va solicita să creați o parolă. Asta e. Cu MySQL instalat, Pi-ul dvs. poate acționa ca propriul său server de baze de date. Acum trebuie să creăm tabelele care ne vor păstra datele. Mai întâi, conectați-vă. După instalare, singurul utilizator MySql este root (utilizatorul care are acces la fiecare masă și sistem). Vă puteți conecta ca root executând următoarea comandă.
mysql -uroot -p
În curând, vom configura un alt utilizator pe care îl va folosi sistemul nostru, dar mai întâi trebuie să ne creăm baza de date și tabelele din baza de date respectivă. Pentru a face acest lucru, executați următoarele comenzi.
crearea inventarului bazei de date;
inventar de utilizare; creați tabela upc_count (upc varchar (15) nu nul, număr întreg (3) nu nul implicit 0, nume varchar (255), dimensiune varchar (40), producător varchar (80), cheie primară (upc));
Acum avem un tabel simplu cu cinci coloane upc (care va fi cheia principală), numărare, nume, dimensiune și producător. Notă: un upc este un număr care identifică în mod unic un produs. Acest număr este ceea ce se citește de pe eticheta codului de bare atunci când este scanată.
În cele din urmă, vom configura acel utilizator de care avem nevoie. O voi apela pe a mea, pentru a face acest lucru, executați următoarele comenzi, folosind orice nume de utilizator și parolă doriți:
acordați tot din inventar. * către '' @ 'localhost' identificat de;
Acum că avem baza noastră de date, putem începe să construim sistemul!
Pasul 3: Obțineți cheia API OutPan
OutPan este un API care poate fi utilizat pentru a obține informații despre un produs folosind numărul său upc. Vom folosi acest lucru pentru a obține mai multe informații despre produse pe măsură ce acestea sunt adăugate în baza de date. Acesta este un API public, dar pentru al utiliza trebuie să vă înscrieți și să obțineți o cheie API. Înscrierea este destul de simplă, pur și simplu mergeți aici și urmați pașii pentru a vă înscrie pentru o cheie.
După ce obțineți cheia, copiați-o. Veți avea nevoie de el într-un pas ulterior.
Pasul 4: Instalați și configurați nodul roșu
Node-Red vine preinstalat pe toate versiunile sistemului de operare Raspbian de la sfârșitul anului 2015. Pentru a afla dacă aveți nod-roșu instalat, pur și simplu rulați următoarea comandă în terminal.
roșu nod
Dacă este afișat un mesaj „comanda nu a fost găsită”, va trebui să instalați roșu nod. Pentru a face acest lucru, executați următoarele comenzi.
sudo apt-get update sudo apt-get install nodered
După ce porniți roșu nod, puteți accesa roșu nod de la adresa afișată în ieșire.
Singura configurare rămasă este instalarea nodurilor MySQL. Puteți face acest lucru prin intermediul browserului. Faceți clic pe simbolul din colțul din dreapta sus al paginii și apoi faceți clic pe opțiunea „Gestionați paleta”. De acolo, pur și simplu căutați „mysql” și faceți clic pe butonul de instalare.
Acum suntem gata să importăm API-ul.
Pasul 5: configurați API-ul
Mai jos este întregul API roșu nod pe care l-am scris. Pur și simplu copiați totul de mai jos, faceți clic pe simbolul din colțul din dreapta sus și mergeți la import → din clipboard.
[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "wires": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "wires": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "cerere http", "z": "ef09537e.8b96d", "nume ":" Solicitare pan pană "," metodă ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":
Acum aveți întregul API pe care îl vom folosi pentru a insera și actualiza date. Trebuie făcute doar câteva ajustări înainte de a fi gata să o folosim.
- Mai întâi, accesați toate nodurile bazei de date MySQL și schimbați numele de utilizator și parola cu cele pe care le-ați creat pentru baza de date în pasul anterior.
- În al doilea rând, editați subfluxul mineOutPanData astfel încât solicitarea HTTP utilizată pentru a obține datele Open Pan să utilizeze propria cheie API.
Acum sunteți gata să utilizați API-ul. Acest flux creează un API REST simplu care vă permite să trimiteți date de pe orice dispozitiv conectat la internet folosind cereri
Pasul 6: (Opțional) Înțelegerea API-ului
Ultimul lucru pe care trebuie să-l facem este să conectăm un comutator la GPIO, astfel încât să putem scana în două moduri, să adăugăm și să eliminăm.
Acest lucru este destul de simplu, pur și simplu configurați un comutator pentru a citi de pe pinul GPIO 21 de pe Pi și sunteți bine să mergeți. Folosind circuitul de pe imaginea atașată (cunoscut sub numele de circuit PUD DOWN), scriptul va trimite o cerere de adăugare când comutatorul de comutare este închis și o cerere de eliminare când comutatorul de comutare este deschis.
După aceea, lipim pur și simplu firele în interiorul carcasei și suntem bine să plecăm.
Pasul 9: (Opțional) Creați o interfață cu utilizatorul
Acest ultim pas nu este necesar, dar cu siguranță util dacă doriți să utilizați întregul potențial al sistemului. Am amenajat o interfață de utilizator foarte simplă care afișa toate datele pe care le avem în baza noastră de date într-un tabel ușor de navigat. Tabelul poate fi sortat după coloană și, de asemenea, căutat, ceea ce face mai ușor să vedeți ce aveți la îndemână.
UI este destul de simplă; Am refăcut un exemplu de cod pe care l-am găsit online pentru a lucra cu API-ul nostru (dacă sunteți interesat, acest exemplu de cod poate fi găsit aici).
Pentru a rula interfața de utilizare, efectuați următoarele …
- Salvați fișierul index.txt atașat ca index.html (din anumite motive nu am putut încărca fișierul ca fișier HTML).
- Puneți cele două fișiere în același director pe computer.
- Rulați fișierul „index.html” în browserul dvs. web preferat.
Acum putem vedea și sorta cu ușurință inventarul dvs.!
Pasul 10: Începeți scanarea
Acum sunteți gata să începeți scanarea! Dacă aveți întrebări, lăsați-le în comentarii și voi răspunde cu siguranță când voi putea.
În cele din urmă, voturile dvs. din concurs ar fi foarte apreciate. Mulțumesc pentru lectură!
Recomandat:
Gestionare ușoară din bandă pentru IT: 4 pași
Gestionare ușoară în afara benzii pentru IT: pictograme realizate de Freepik de pe www.flaticon.com Aflați cum să configurați gestionarea în afara benzii (OOBM) conectând o telecomandă. Raspberry Pi configurat și un dispozitiv Android sau iPhone prin tethering USB. Acest lucru funcționează pe RPi2 / RPi3 / RPi4.Dacă nu știi ce
Sistem inteligent de gestionare a gunoiului: 23 de pași
Sistem inteligent de gestionare a gunoiului: INTRODUCERE. Problemă actuală sau problemă legată de acest proiect Principala problemă cu societatea noastră actuală este acumularea de deșeuri solide. Va avea un impact mai mare asupra sănătății și mediului societății noastre. Detectarea, monito
Task Manager - un sistem de gestionare a treburilor casnice: 5 pași (cu imagini)
Manager de sarcini - un sistem de gestionare a treburilor gospodăriei: am vrut să încerc să abordez o problemă reală cu care se confruntă gospodăria noastră (și, îmi imaginez, cea a multor alți cititori), care este modul de a-mi aloca, motiva și recompensa copiii pentru că au ajutat cu treburile casnice. Până acum, am păstrat o foaie laminată
Gestionare finală a biroului, cu panou de control: 4 pași
Management de birou final, cu panou de control: Înscrieți-vă la cursul meu „Electronică pe scurt” aici: https: //www.udemy.com/electronics-in-a-nutshell/? … De asemenea, verificați canalul meu de YouTube aici pentru mai multe proiecte și tutoriale electronice: https://www.youtube.com/channel/UCelOORs7UioZ4TZF … As I
Sistem de gestionare a motorului pentru aplicații de ridicare folosind Arduino Mega 2560 și IoT: 8 pași (cu imagini)
Sistem de gestionare a motorului pentru aplicații de ridicare folosind Arduino Mega 2560 și IoT: În prezent microcontrolerul bazat pe IoT este utilizat pe scară largă în aplicația industrială. Din punct de vedere economic, acestea sunt utilizate în locul unui computer. Obiectivul proiectului este să controlăm complet digitalizat, să înregistrăm date și să monitorizăm motorul cu inducție trifazată