INHOUDSOPGAWE:

Geïntegreerde voorraadbestuurstelsel: 10 stappe (met foto's)
Geïntegreerde voorraadbestuurstelsel: 10 stappe (met foto's)

Video: Geïntegreerde voorraadbestuurstelsel: 10 stappe (met foto's)

Video: Geïntegreerde voorraadbestuurstelsel: 10 stappe (met foto's)
Video: Studienamiddag 'Lokaal bestuur door een academische bril' 2021 2024, November
Anonim
Geïntegreerde voorraadbestuurstelsel
Geïntegreerde voorraadbestuurstelsel

Ek wou nog altyd 'n bekostigbare manier hê om alles in my spens by te hou, so ek het 'n paar maande gelede begin werk aan 'n projek wat presies dit sou doen. Die doel was om 'n eenvoudige, bekostigbare stelsel te maak wat baie maklik is om te gebruik, terwyl dit ook genoeg inligting stoor om die ekstra moeite werd te wees. Wat ek uiteindelik gebou het, is 'n voorraadbestuurstelsel wat inligting oor enige item met 'n strepieskode kan stoor en bywerk, asook basiese data oor die items van die internet.

Kortom, die stelsel werk so.

  1. 'N Strepieskode word geskandeer.
  2. 'N Python -skrif lees die data van die skandeerder af.
  3. Die versoek word gestuur na 'n REST API wat op node-red loop.
  4. Die API verwerk die versoek, ontgin bykomende data van die internet en wysig die databasis dienooreenkomstig.

Dit alles word op 'n enkele Raspberry Pi gedoen, wat u die geleentheid bied om data oor u hele voorraad op te dateer en op te slaan in 'n klein, draagbare stelsel. Hierdie projek is 'n bietjie tegnies en 'n basiese begrip van databasisse, HTTP en Python sal baie nuttig wees, maar ek sal my bes doen om dit maklik genoeg te maak vir 'n beginner. Laat ons begin!

Stap 1: wat u benodig

Wat jy nodig het
Wat jy nodig het

Die onderdele wat u benodig vir hierdie projek is …

  • Framboos Pi
  • USB -strepieskodeskandeerder (skakel na die een wat ek gebruik)
  • WiFi -adapter (as u Pi nie ingeboude WiFi het nie)
  • Skakel skakelaar
  • Jumper Wires
  • Behuizing vir jou Raspberry Pi (opsioneel)

Stap 2: Installeer en stel die databasis op

Installeer en stel die databasis op
Installeer en stel die databasis op

MySQL is die databasisbestuurstelsel wat al die data wat ons by die strepieskodeskanderings insamel, bevat. Dit is baie maklik om te doen op die Pi, voer eenvoudig die volgende opdrag uit in die terminale van u Pi.

sudo apt-get installeer mysql-bediener

U word dan deur die installasieproses gelei en gevra om 'n wagwoord te skep. Dis dit. As MySQL geïnstalleer is, kan u Pi optree as sy eie klein databasisbediener. Nou moet ons die tabelle skep wat ons data bevat. Meld eers aan. Na die installasie is die enigste MySql -gebruiker root (die gebruiker wat toegang tot elke tafel en stelsel het). U kan as wortel aanmeld deur die volgende opdrag uit te voer.

mysql -uroot -p

Binnekort stel ons 'n ander gebruiker op wat ons stelsel moet gebruik, maar eers moet ons ons databasis en die tabelle in die databasis skep. Om dit te doen, voer die volgende opdragte uit.

skep databasisvoorraad;

gebruik voorraad; skep tabel upc_count (upc varchar (15) nie nul nie, tel heelgetal (3) nie null standaard 0, naam varchar (255), grootte varchar (40), vervaardiger varchar (80), primêre sleutel (upc));

Nou het ons 'n eenvoudige tabel met vyf kolomme upc (wat die primêre sleutel sal wees), telling, naam, grootte en vervaardiger. Let wel: A upc is 'n nommer wat 'n produk uniek identifiseer. Dit is die nommer wat van die strepieskode -etiket gelees word wanneer dit geskandeer word.

Uiteindelik gaan ons die gebruiker opstel wat ons benodig. Ek gaan myne bel, om dit te doen, voer die volgende opdragte uit met die gebruikersnaam en wagwoord wat u wil hê:

gee alles op voorraad.* aan ''@'localhost' geïdentifiseer deur;

Noudat ons ons databasis het, kan ons die stelsel begin bou!

Stap 3: Verkry OutPan API -sleutel

OutPan is 'n API wat gebruik kan word om inligting oor 'n produk te kry met behulp van sy upc -nommer. Ons gaan dit gebruik om meer inligting oor die produkte te ontgin terwyl dit by die databasis gevoeg word. Dit is 'n openbare api, maar om dit te kan gebruik, moet u inteken en 'n api -sleutel kry. Aanmelding is redelik eenvoudig; gaan eenvoudig hierheen en volg die stappe om by 'n sleutel aan te meld.

Sodra u u sleutel gekry het, kopieer dit. U benodig dit in 'n latere stap.

Stap 4: Installeer en installeer Node-Red

Installeer en installeer Node-Red
Installeer en installeer Node-Red
Installeer en installeer Node-Red
Installeer en installeer Node-Red

Node-Red is vooraf geïnstalleer op alle weergawes van die Raspbian OS sedert einde 2015. Om uit te vind of u node-rooi geïnstalleer het, voer die volgende opdrag in die terminale uit.

knoop-rooi

As 'n boodskap "opdrag nie gevind" verskyn nie, moet u node-rooi installeer. Om dit te doen, voer die volgende opdragte uit.

sudo apt-get update sudo apt-get install nodered

Nadat u node-rooi begin het, het u toegang tot node-rooi vanaf die adres wat in die uitvoer verskyn.

Die enigste opstelling wat oorbly, is om die MySQL -nodusse te installeer. U kan dit via die blaaier doen. Klik op die simbool in die regter boonste hoek van die bladsy en klik dan op die opsie 'Beheer palet'. Soek van daar na 'mysql' en klik op die installeringsknoppie.

Ons is nou gereed om die API in te voer.

Stap 5: Stel die API op

Stel die API op
Stel die API op
Stel die API op
Stel die API op
Stel die API op
Stel die API op

Hieronder is die hele knooprooi API wat ek geskryf het. Kopieer eenvoudig alles hieronder, klik op die simbool in die regter boonste hoek en gaan na die invoer → vanaf die knipbord.

[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "drade": [{"id": "b8b6d2e4.169e7"}]}], "uit": [{"x": 755, "y": 58, "drade": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http request", "z": "ef09537e.8b96d", "name ":" Out Pan Request "," method ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," wires ":

Nou het u die volledige API wat ons sal gebruik om data in te voeg en op te dateer. Slegs 'n paar aanpassings moet gemaak word voordat ons dit kan gebruik.

  1. Gaan eers na al die MySQL -databasisnodes en verander die gebruikersnaam en wagwoord na die wat u in die vorige stap vir die databasis geskep het.
  2. Tweedens, wysig die mineOutPanData -subvloei sodat die HTTP -versoek wat gebruik word om die Open Pan -data te kry, u eie API -sleutel gebruik.

Nou is u gereed om die API te gebruik. Hierdie vloei skep 'n eenvoudige REST API waarmee u data kan stuur vanaf enige toestel wat aan die internet gekoppel is met behulp van HTTP -versoeke.

Stap 6: (opsioneel) Begrip van die API

Koppel die skakelaar aan
Koppel die skakelaar aan

Die laaste ding wat ons moet doen, is om 'n skakelaar aan die GPIO te koppel, sodat ons in twee modusse kan skandeer, byvoeg en verwyder.

Dit is redelik eenvoudig; stel eenvoudig 'n skakelaar in om uit GPIO pen 21 op die Pi te lees, en u is klaar. Deur die kring op die aangehegte beeld te gebruik (bekend as 'n PUD DOWN -kring), stuur die script 'n aanvraagversoek wanneer die skakelaar gesluit is en 'n verwyderingsversoek wanneer die skakelaar oop is.

Daarna plak ons die drade aan die binnekant van die omhulsel vas, en ons is gereed.

Stap 9: (opsioneel) Skep 'n gebruikerskoppelvlak

(Opsioneel) Skep 'n gebruikerskoppelvlak
(Opsioneel) Skep 'n gebruikerskoppelvlak

Hierdie laaste stap is nie nodig nie, maar beslis nuttig as u die volle potensiaal van die stelsel wil benut. Ek het 'n baie eenvoudige gebruikerskoppelvlak opgestel wat al die data wat ons in ons databasis het, vertoon in 'n tabel wat maklik is om te navigeer. Die tabel kan volgens kolom gesorteer en ook gesoek word, sodat dit maklik is om te sien wat u byderhand het.

Die UI is redelik eenvoudig; Ek het 'n voorbeeldkode wat ek aanlyn gevind het, bedoel om met ons API te werk (as u belangstel, kan die voorbeeldkode hier gevind word).

Om die UI te bestuur, doen die volgende …

  1. Stoor die aangehegte index.txt -lêer as index.html (ek kon die lêer om een of ander rede nie as 'n HTML -lêer oplaai nie).
  2. Plaas die twee lêers in dieselfde gids op u rekenaar.
  3. Begin die 'index.html' -lêer in u gunsteling webblaaier.

Nou kan ons u voorraad maklik sien en sorteer!

Stap 10: Begin skandeer

Begin skandeer!
Begin skandeer!

Nou is u gereed om te begin skandeer! As u enige vrae het, laat dit dan in die kommentaar, en ek sal beslis antwoord as ek kan.

Laastens sal u stemme in die wedstryd baie waardeer word. Dankie vir die lees!

Aanbeveel: