Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Zainstaluj i skonfiguruj bazę danych
- Krok 3: Uzyskaj klucz API OutPan
- Krok 4: Zainstaluj i skonfiguruj Node-Red
- Krok 5: Skonfiguruj API
- Krok 6: (Opcjonalnie) Zrozumienie interfejsu API
- Krok 9: (Opcjonalnie) Utwórz interfejs użytkownika
- Krok 10: Rozpocznij skanowanie
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
Zawsze chciałem mieć niedrogi sposób na śledzenie wszystkiego w mojej spiżarni, więc kilka miesięcy temu zacząłem pracować nad projektem, który właśnie to zrobi. Celem było stworzenie prostego, niedrogiego systemu, który byłby bardzo łatwy w użyciu, a jednocześnie przechowywał wystarczającą ilość informacji, aby był wart dodatkowego wysiłku. To, co ostatecznie zbudowałem, to system zarządzania zapasami, który może przechowywać i aktualizować informacje o dowolnym przedmiocie z kodem kreskowym, a także wyszukiwać podstawowe dane o tych przedmiotach z Internetu.
Krótko mówiąc, system działa tak.
- Skanowany jest kod kreskowy.
- Skrypt Pythona odczytuje dane ze skanera.
- Żądanie jest wysyłane do interfejsu API REST działającego na węźle-red.
- API przetwarza żądanie, wydobywa dodatkowe dane z Internetu i odpowiednio edytuje bazę danych.
Wszystko to odbywa się na jednym Raspberry Pi, co daje możliwość aktualizacji i przechowywania danych o całym ekwipunku w jednym małym, przenośnym systemie. Ten projekt jest trochę techniczny i podstawowa znajomość baz danych, HTTP i Pythona będzie bardzo pomocna, ale zrobię co w mojej mocy, aby ułatwić początkującym zrozumienie. Zacznijmy!
Krok 1: Czego potrzebujesz
Części potrzebne do tego projektu to…
- Malina Pi
- Skaner kodów kreskowych USB (link do tego, którego używam)
- Adapter WiFi (jeśli Twoje Pi nie ma wbudowanego WiFi)
- Przełącznik
- Przewody połączeniowe
- Obudowa do Raspberry Pi (opcjonalnie)
Krok 2: Zainstaluj i skonfiguruj bazę danych
MySQL to system zarządzania bazą danych, który będzie przechowywać wszystkie dane, które pobieramy ze skanów kodów kreskowych. Jest to bardzo łatwe do zrobienia na Pi, po prostu uruchom następujące polecenie w terminalu twojego Pi.
sudo apt-get install mysql-server
Następnie przejdziesz przez proces instalacji i zostaniesz poproszony o utworzenie hasła. Otóż to. Po zainstalowaniu MySQL Twoje Pi może działać jako własny mały serwer bazy danych. Teraz musimy stworzyć tabele, w których będą przechowywane nasze dane. Najpierw zaloguj się. Po instalacji jedynym użytkownikiem MySql jest root (użytkownik, który ma dostęp do każdej tabeli i systemu). Możesz zalogować się jako root, uruchamiając następujące polecenie.
mysql -root -p
Wkrótce skonfigurujemy innego użytkownika, z którego będzie korzystał nasz system, ale najpierw musimy utworzyć naszą bazę danych i tabele w tej bazie danych. Aby to zrobić, uruchom następujące polecenia.
tworzenie inwentaryzacji bazy danych;
korzystać z zapasów; utwórz tabelę upc_count(upc varchar(15) nie null, count integer(3) nie null domyślnie 0, nazwa varchar(255), rozmiar varchar(40), producent varchar(80), klucz podstawowy (upc));
Teraz mamy prostą tabelę z pięcioma kolumnami upc (która będzie kluczem podstawowym), liczbą, nazwą, rozmiarem i producentem. Uwaga: upc to numer, który jednoznacznie identyfikuje produkt. Ta liczba jest odczytywana z etykiety z kodem kreskowym podczas skanowania.
Na koniec skonfigurujemy tego użytkownika, którego potrzebujemy. Zadzwonię do mojego, aby to zrobić, uruchom następujące polecenia, używając dowolnej nazwy użytkownika i hasła:
przydziel wszystko w ekwipunku.* do ''@'localhost' zidentyfikowanego przez;
Teraz, gdy mamy już bazę danych, możemy zacząć budować system!
Krok 3: Uzyskaj klucz API OutPan
OutPan to API, które można wykorzystać do uzyskania informacji o produkcie za pomocą jego numeru upc. Wykorzystamy to, aby uzyskać więcej informacji o produktach, gdy są one dodawane do bazy danych. Jest to publiczne api, ale aby z niego korzystać, musisz się zarejestrować i uzyskać klucz api. Rejestracja jest dość prosta, po prostu przejdź tutaj i postępuj zgodnie z instrukcjami, aby zarejestrować się w celu uzyskania klucza.
Po zdobyciu klucza skopiuj go. Będziesz go potrzebować na późniejszym etapie.
Krok 4: Zainstaluj i skonfiguruj Node-Red
Node-Red jest preinstalowany we wszystkich wersjach systemu Raspbian od końca 2015 roku. Aby dowiedzieć się, czy masz zainstalowany node-red, po prostu uruchom następujące polecenie w terminalu.
węzeł-czerwony
Jeśli wyświetli się komunikat „nie znaleziono polecenia”, musisz zainstalować node-red. Aby to zrobić, uruchom następujące polecenia.
sudo apt-get aktualizacja sudo apt-get install nodered
Po uruchomieniu node-red, możesz uzyskać dostęp do node-red z adresu wyświetlonego w danych wyjściowych.
Jedyną pozostałą konfiguracją jest instalacja węzłów MySQL. Możesz to zrobić za pośrednictwem przeglądarki. Kliknij symbol w prawym górnym rogu strony, a następnie kliknij opcję „Zarządzaj paletą”. Stamtąd po prostu wyszukaj „mysql” i kliknij przycisk instalacji.
Jesteśmy teraz gotowi do zaimportowania interfejsu API.
Krok 5: Skonfiguruj API
Poniżej znajduje się cały interfejs API node-red, który napisałem. Po prostu skopiuj wszystko poniżej, kliknij symbol w prawym górnym rogu i przejdź do importu → ze schowka.
[{"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":"http request", "z":"ef09537e.8b96d", "name ":" Żądanie panoramowania", "method":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "wires":
Teraz masz cały interfejs API, którego użyjemy do wstawiania i aktualizowania danych. Wystarczy dokonać kilku poprawek, zanim będziemy gotowi do użycia.
- Najpierw przejdź do wszystkich węzłów bazy danych MySQL i zmień nazwę użytkownika i hasło na te, które utworzyłeś dla bazy danych w poprzednim kroku.
- Po drugie, edytuj podprzepływ mineOutPanData, aby żądanie HTTP używane do pobrania danych Open Pan używało Twojego własnego klucza API.
Teraz jesteś gotowy do korzystania z API. Ten przepływ tworzy prosty interfejs API REST, który umożliwia wysyłanie danych z dowolnego urządzenia podłączonego do Internetu za pomocą żądań
Krok 6: (Opcjonalnie) Zrozumienie interfejsu API
Ostatnią rzeczą, którą musimy zrobić, to podłączyć przełącznik do GPIO, abyśmy mogli skanować w dwóch trybach, dodawać i usuwać.
Jest to całkiem proste, po prostu ustaw przełącznik, aby odczytać z pinu GPIO 21 na Pi i jesteś gotowy. Korzystając z obwodu na załączonym obrazie (znanego jako obwód PUD DOWN), skrypt wyśle żądanie dodania, gdy przełącznik jest zamknięty, i żądanie usunięcia, gdy przełącznik jest otwarty.
Następnie po prostu przyklejamy przewody do wnętrza obudowy i gotowe.
Krok 9: (Opcjonalnie) Utwórz interfejs użytkownika
Ten ostatni krok nie jest konieczny, ale z pewnością pomocny, jeśli chcesz w pełni wykorzystać potencjał systemu. Stworzyłem bardzo prosty interfejs użytkownika, który wyświetlał wszystkie dane, które mamy w naszej bazie danych, w łatwej do nawigacji tabeli. Tabelę można sortować według kolumn, a także przeszukiwać, co ułatwia sprawdzenie, co masz pod ręką.
Interfejs użytkownika jest dość prosty; Ponownie wykorzystałem przykładowy kod, który znalazłem w Internecie, aby działał z naszym API (jeśli jesteś zainteresowany, ten przykładowy kod można znaleźć tutaj).
Aby uruchomić interfejs użytkownika, wykonaj następujące czynności…
- Zapisz załączony plik index.txt jako index.html (z jakiegoś powodu nie mogłem załadować pliku jako pliku HTML).
- Umieść oba pliki w tym samym katalogu na swoim komputerze.
- Uruchom plik 'index.html' w swojej ulubionej przeglądarce internetowej.
Teraz możemy łatwo przeglądać i sortować Twój ekwipunek!
Krok 10: Rozpocznij skanowanie
Teraz możesz rozpocząć skanowanie! Jeśli masz jakieś pytania zostaw je w komentarzach, a na pewno odpowiem, kiedy będę mógł.
Na koniec, Twoje głosy w konkursie będą bardzo mile widziane. Dziękuje za przeczytanie!
Zalecana:
3 KANAŁOWY MIKSER AUDIO Zintegrowany z nadajnikiem radiowym FM: 19 kroków (ze zdjęciami)
3 KANAŁOWY MIKSER AUDIO Zintegrowany z nadajnikiem radiowym FM: Cześć wszystkim, w tym artykule będę zachęcał do zbudowania własnego 3 KANAŁOWEGO miksera audio zintegrowanego z nadajnikiem radiowym FM
Inteligentny system zarządzania śmieciami: 23 kroki
Smart Trash Management System: WSTĘP.Aktualny problem lub problem związany z tym projektem Głównym problemem obecnego społeczeństwa jest nagromadzenie odpadów stałych. Będzie to miało większy wpływ na zdrowie i środowisko naszego społeczeństwa. Wykrywanie, monitorowanie
Menedżer zadań - system zarządzania obowiązkami domowymi: 5 kroków (ze zdjęciami)
Menedżer Zadań - System Zarządzania Obowiązkami Domowymi: Chciałem spróbować rozwiązać prawdziwy problem, z jakim boryka się nasz dom (i, jak sądzę, wielu innych czytelników), czyli jak przydzielać, motywować i nagradzać moje dzieci za pomoc z pracami domowymi. Do tej pory utrzymywaliśmy arkusz laminowany
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Arkusze Google: 7 kroków (ze zdjęciami)
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets: Potrzeba automatycznego podajnika dla kotów jest oczywista. Koty (nasz kot ma na imię Bella) mogą być nieprzyjemne, gdy są głodne, a jeśli twój kot jest taki jak mój, za każdym razem zje miskę na sucho. Potrzebowałem sposobu na automatyczne dozowanie kontrolowanej ilości jedzenia
System zarządzania silnikiem dla aplikacji podnoszenia za pomocą Arduino Mega 2560 i IoT: 8 kroków (ze zdjęciami)
System zarządzania silnikiem dla aplikacji dźwigowych wykorzystujących Arduino Mega 2560 i IoT: Obecnie mikrokontrolery oparte na IoT są szeroko stosowane w aplikacjach przemysłowych. Ekonomicznie są używane zamiast komputera. Celem projektu nas jest w pełni zdigitalizowane sterowanie, rejestrator danych i monitorowanie 3-fazowego silnika indukcyjnego w