Sadržaj:
- Korak 1: Šta će vam trebati
- Korak 2: Instalirajte i postavite bazu podataka
- Korak 3: Nabavite OutPan API ključ
- Korak 4: Instalirajte i postavite Node-Red
- Korak 5: Postavite API
- Korak 6: (Opcionalno) Razumijevanje API -ja
- Korak 9: (Opcionalno) Kreirajte korisničko sučelje
- Korak 10: Započnite skeniranje
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
Uvijek sam želio pristupačan način da pratim sve u svojoj smočnici, pa sam prije par mjeseci počeo raditi na projektu koji bi upravo to i učinio. Cilj je bio napraviti jednostavan, pristupačan sistem koji je bio vrlo jednostavan za korištenje, a istovremeno je pohranio dovoljno informacija da bi vrijedilo dodatnog napora. Ono što sam na kraju izgradio je sistem za upravljanje inventarom koji može pohraniti i ažurirati informacije o bilo kojoj stavci koja ima crtični kod, kao i moje osnovne podatke o tim stavkama s interneta.
Ukratko, sistem funkcionira ovako.
- Skenira se crtični kod.
- Python skripta čita podatke sa skenera.
- Zahtjev se šalje na REST API koji radi na node-red-u.
- API obrađuje zahtjev, minira dodatne podatke s interneta i prema tome uređuje bazu podataka.
Sve se to radi na jednom Raspberry Pi -u, dajući vam mogućnost ažuriranja i pohranjivanja podataka o cijelom vašem inventaru u jednom malom, prijenosnom sistemu. Ovaj projekt je malo tehnički i osnovno razumijevanje baza podataka, HTTP -a i Pythona bit će od velike pomoći, ali potrudit ću se da početniku bude dovoljno lako razumjeti. Hajde da počnemo!
Korak 1: Šta će vam trebati
Dijelovi koji će vam trebati za ovaj projekt su…
- Raspberry Pi
- USB skener bar koda (veza do onog koji koristim)
- WiFi adapter (ako vaš Pi nema ugrađen WiFi)
- Toggle Switch
- Džemper žice
- Futrola za vaš Raspberry Pi (opcionalno)
Korak 2: Instalirajte i postavite bazu podataka
MySQL je sistem za upravljanje bazom podataka koji će čuvati sve podatke koje izvučemo iz skeniranja bar koda. To je vrlo lako učiniti na Pi -u, jednostavno pokrenite sljedeću naredbu na terminalu vašeg Pi -a.
sudo apt-get install mysql-server
Zatim ćete proći kroz postupak instalacije i od vas će biti zatraženo da kreirate lozinku. To je to. S instaliranim MySQL -om, vaš Pi može djelovati kao vlastiti mali poslužitelj baze podataka. Sada moramo stvoriti tablice koje će sadržavati naše podatke. Prvo se prijavite. Nakon instalacije, jedini korisnik MySql -a je root (korisnik koji ima pristup svakoj tabeli i sistemu). Možete se prijaviti kao root izvršavanjem sljedeće naredbe.
mysql -uroot -p
Uskoro ćemo postaviti drugog korisnika kojeg će naš sistem koristiti, ali prvo moramo stvoriti našu bazu podataka i tablice u toj bazi podataka. Da biste to učinili, pokrenite sljedeće naredbe.
kreiranje inventara baze podataka;
koristiti inventar; kreirati tablicu upc_count (upc varchar (15) nije null, broj integer (3) nije null default 0, ime varchar (255), veličina varchar (40), proizvođač varchar (80), primarni ključ (upc));
Sada imamo jednostavnu tablicu s pet stupaca upc (koji će biti primarni ključ), brojem, imenom, veličinom i proizvođačem. Napomena: Upc je broj koji jedinstveno identificira proizvod. Taj broj se očitava sa naljepnice bar koda prilikom skeniranja.
Konačno, postavit ćemo tog korisnika koji nam je potreban. Pozvat ću svoje, da biste to učinili, pokrenite sljedeće naredbe, koristeći bilo koje korisničko ime i lozinku koje želite:
odobri sve na inventaru.* za ''@'localhost' identifikovano od;
Sada kada imamo našu bazu podataka, možemo započeti izgradnju sistema!
Korak 3: Nabavite OutPan API ključ
OutPan je API koji se može koristiti za dobivanje informacija o proizvodu pomoću njegovog upc broja. Koristit ćemo ovo za pronalaženje više informacija o proizvodima koji se dodaju u bazu podataka. Ovo je javni api, ali da biste ga mogli koristiti, morate se prijaviti i nabaviti api ključ. Prijava je prilično jednostavna, jednostavno idite ovdje i slijedite korake da se prijavite za ključ.
Kad dobijete ključ, kopirajte ga. Trebat će vam u kasnijem koraku.
Korak 4: Instalirajte i postavite Node-Red
Node-Red dolazi unaprijed instaliran na svim verzijama OS-a Raspbian od kraja 2015. Da biste saznali imate li instaliran node-red, jednostavno pokrenite sljedeću naredbu na terminalu.
node-red
Ako se prikaže poruka "naredba nije pronađena", morat ćete instalirati node-red. Da biste to učinili, pokrenite sljedeće naredbe.
sudo apt-get update sudo apt-get instalacija nodered
Nakon pokretanja node-red, možete pristupiti node-red-u sa adrese prikazane u izlazu.
Ostaje samo instalacija MySQL čvorova. To možete učiniti putem preglednika. Kliknite na simbol u gornjem desnom kutu stranice, a zatim kliknite na opciju 'Upravljanje paletom'. Odatle jednostavno potražite 'mysql' i kliknite gumb za instalaciju.
Sada smo spremni za uvoz API -ja.
Korak 5: Postavite API
Ispod je cijeli API čvor koji sam napisao. Jednostavno kopirajte sve ispod, kliknite simbol u gornjem desnom kutu i idite na uvoz → iz međuspremnika.
[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "žice": [{"id": "b8b6d2e4.169e7"}]}], "van": [{"x": 755, "y": 58, "žice": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http zahtjev", "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," žice ":
Sada imate cijeli API koji ćemo koristiti za umetanje i ažuriranje podataka. Potrebno je samo nekoliko prilagodbi prije nego što budemo spremni za upotrebu.
- Prvo idite na sve čvorove baze podataka MySQL i promijenite korisničko ime i lozinku na one koje ste stvorili za bazu podataka u prethodnom koraku.
- Drugo, uredite pottok mineOutPanData tako da HTTP zahtjev koji se koristi za dobijanje podataka Open Pan koristi vaš vlastiti API ključ.
Sada ste spremni za korištenje API -ja. Ovaj tok stvara jednostavan REST API koji vam omogućuje slanje podataka sa bilo kojeg uređaja spojenog na internet koristeći HTTP zahtjeve.
Korak 6: (Opcionalno) Razumijevanje API -ja
Posljednje što trebamo učiniti je spojiti prekidač na GPIO kako bismo mogli skenirati u dva načina, dodavati i uklanjati.
Ovo je prilično jednostavno, jednostavno postavite prekidač za čitanje s GPIO pina 21 na Pi i spremni ste. Koristeći kolo na priloženoj slici (poznato kao kolo PUD DOWN) skripta će poslati zahtjev za dodavanjem kada je prekidač zatvoren i zahtjev za uklanjanje kada je prekidač otvoren.
Nakon toga jednostavno zalijepimo žice na unutrašnjost kućišta i spremni smo.
Korak 9: (Opcionalno) Kreirajte korisničko sučelje
Ovaj posljednji korak nije neophodan, ali je svakako od pomoći ako želite iskoristiti puni potencijal sistema. Sastavio sam vrlo jednostavno korisničko sučelje koje prikazuje sve podatke koje imamo u bazi podataka u tabeli za jednostavno kretanje. Tablica se može sortirati po stupcima i pretraživati, što olakšava pregled onoga što imate pri ruci.
Korisničko sučelje je prilično jednostavno; Ponovno sam namjerio neki primjer koda koji sam pronašao na mreži za rad s našim API-jem (ako vas zanima, taj primjer koda možete pronaći ovdje).
Da biste pokrenuli korisničko sučelje, učinite sljedeće …
- Sačuvajte priloženu datoteku index.txt kao index.html (iz nekog razloga nisam mogao otpremiti datoteku kao HTML datoteku).
- Stavite dvije datoteke u isti direktorij na računaru.
- Pokrenite datoteku 'index.html' u svom omiljenom web pregledniku.
Sada možemo lako vidjeti i sortirati vaš inventar!
Korak 10: Započnite skeniranje
Sada ste spremni za početak skeniranja! Ako imate pitanja, ostavite ih u komentarima, a ja ću vam odgovoriti kad god mogu.
Na kraju, vaši glasovi na takmičenju bili bi veoma cenjeni. Hvala na čitanju!
Preporučuje se:
Napravite sistem upravljanja pametnom kućom na STONE HMI dispu: 23 koraka
Napravite sistem za upravljanje pametnom kućom na STONE HMI Dispu: Uvod u projekt Sljedeći vodič vam pokazuje kako koristiti STONE STVC050WT-01 modul za prikaz ekrana za izradu jednostavnog sistema za upravljanje kućanskim aparatima
Integrirani pametni zastori s upravljanjem Alexa: 8 koraka (sa slikama)
Integrirani pametni zastori s Alexa kontrolom: Na internetu je trenutno dostupno mnogo projekata i instrukcija za pametne rolete. Međutim, želio sam staviti vlastiti pečat na trenutne projekte s ciljem da sve slijepo bude uključeno, uključujući i sva kola. To bi značilo
Upravitelj zadataka - sistem upravljanja poslovima u domaćinstvu: 5 koraka (sa slikama)
Upravitelj zadataka - sistem upravljanja poslovima u domaćinstvu: htio sam pokušati riješiti stvarni problem s kojim se susrećemo u našem domaćinstvu (i, pretpostavljam, problem mnogih drugih čitatelja), a to je kako dodijeliti, motivirati i nagraditi svoju djecu za pomoć sa kućnim poslovima. Do sada smo čuvali laminiranu ploču
Alexa sistem upravljanja zavjesama - 3D štampanje i niske cijene: 19 koraka (sa slikama)
Alexa sistem upravljanja zavjesama - 3D štampanje i niske cijene: Zdravo, dugo sam pokušavao automatizirati što je moguće više naše kuće. Kako zima stiže u Veliku Britaniju, odlučio sam ukloniti muke oko zatvaranja svih zavjesa navečer, a zatim ih ujutro ponovo otvoriti. To znači da trčim
Pametni sistem upravljanja za robotske automobile koji koristi koračni motor stare diskete/CD pogona: 8 koraka (sa slikama)
Pametni sistem upravljanja za robotske automobile koji koriste koračni motor stare diskete/CD pogona: Pametni sistem upravljanja za robotske automobile Brinete li se da napravite dobar sistem upravljanja za svoj robotski automobil? Evo izvrsnog rješenja samo ako koristite svoje stare diskete/ CD/ DVD pogone. pazite i steknite ideju o tome Posjetite georgeraveen.blogspot.com