Სარჩევი:
- ნაბიჯი 1: რა დაგჭირდებათ
- ნაბიჯი 2: დააინსტალირეთ და დააყენეთ მონაცემთა ბაზა
- ნაბიჯი 3: მიიღეთ OutPan API გასაღები
- ნაბიჯი 4: დააინსტალირეთ და დააყენეთ Node-Red
- ნაბიჯი 5: დააყენეთ API
- ნაბიჯი 6: (არასავალდებულო) API– ს გაგება
- ნაბიჯი 9: (არასავალდებულო) მომხმარებლის ინტერფეისის შექმნა
- ნაბიჯი 10: დაიწყეთ სკანირება
ვიდეო: ინვენტარის მართვის ინტეგრირებული სისტემა: 10 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
მე ყოველთვის მინდოდა ხელმისაწვდომი გზა, რათა თვალყური მედევნებინა ყველაფერი ჩემს საკუჭნაოში, ამიტომ რამდენიმე თვის წინ დავიწყე მუშაობა პროექტზე, რომელიც ამას გააკეთებდა. მიზანი იყო მარტივი, ხელმისაწვდომი სისტემის შექმნა, რომელიც ძალიან მარტივი გამოსაყენებელი იყო, ასევე იმდენი ინფორმაციის შესანახად, რომ დამატებითი ძალისხმევის ღირსი ყოფილიყო. ის რაც მე საბოლოოდ შევქმენი არის ინვენტარის მართვის სისტემა, რომელსაც შეუძლია შეინახოს და განაახლოს ინფორმაცია ნებისმიერი ერთეულის შესახებ, რომელსაც აქვს შტრიხ კოდი, ასევე მოვიპოვო ძირითადი მონაცემები ინტერნეტიდან.
მოკლედ, სისტემა ასე მუშაობს.
- ბარი კოდი დასკანირებულია.
- პითონის სკრიპტი კითხულობს მონაცემებს სკანერიდან.
- მოთხოვნა იგზავნება REST API– ზე, რომელიც მუშაობს წითელ კვანძზე.
- API ამუშავებს მოთხოვნას, მოიპოვებს დამატებით მონაცემებს ინტერნეტიდან და შესაბამისად არედაქტირებს მონაცემთა ბაზას.
ეს ყველაფერი კეთდება ერთ Raspberry Pi– ზე, რაც გაძლევთ შესაძლებლობას განაახლოთ და შეინახოთ მონაცემები თქვენი მთელი ინვენტარის შესახებ ერთ პატარა, პორტატულ სისტემაში. ეს პროექტი ცოტა ტექნიკურია და მონაცემთა ბაზების, HTTP და Python– ის ძირითადი გაგება იქნება ძალიან გამოსადეგი, მაგრამ მე ყველაფერს გავაკეთებ იმისათვის, რომ დამწყებთათვის გაუადვილოს ამის გაგება. Დავიწყოთ!
ნაბიჯი 1: რა დაგჭირდებათ
ამ პროექტისთვის დაგჭირდებათ ნაწილები…
- ჟოლო პი
- USB შტრიხკოდების სკანერი (ბმული იმ ერთზე, რომელსაც მე ვიყენებ)
- WiFi ადაპტერი (თუ თქვენს Pi– ს არ აქვს ჩაშენებული WiFi)
- გადამრთველის გადართვა
- Jumper Wires
- ქეისი თქვენი ჟოლოსთვის (სურვილისამებრ)
ნაბიჯი 2: დააინსტალირეთ და დააყენეთ მონაცემთა ბაზა
MySQL არის მონაცემთა ბაზის მართვის სისტემა, რომელიც ინახავს ყველა მონაცემს, რომელსაც ჩვენ ვიღებთ შტრიხკოდების სკანირებისას. ეს ძალიან ადვილია Pi– ზე, უბრალოდ გაუშვით შემდეგი ბრძანება თქვენი Pi ტერმინალში.
sudo apt-get დააინსტალირეთ mysql- სერვერი
შემდეგ თქვენ გაივლით ინსტალაციის პროცესს და მოგთხოვთ შექმნათ პაროლი. Ის არის. MySQL დაინსტალირებული, თქვენს Pi- ს შეუძლია იმოქმედოს როგორც მონაცემთა ბაზის საკუთარი პატარა სერვერი. ახლა ჩვენ უნდა შევქმნათ ცხრილი, რომელიც ინახავს ჩვენს მონაცემებს. პირველი, შედით სისტემაში. ინსტალაციის შემდეგ, ერთადერთი MySql მომხმარებელი არის root (მომხმარებელი, რომელსაც აქვს წვდომა ყველა ცხრილსა და სისტემაზე). თქვენ შეგიძლიათ შეხვიდეთ როგორც root შემდეგი ბრძანების შესრულებით.
mysql -uroot -p
მალე ჩვენ შევქმნით სხვა მომხმარებელს, რომელსაც ჩვენი სისტემა გამოიყენებს, მაგრამ ჯერ ჩვენ უნდა შევქმნათ ჩვენი მონაცემთა ბაზა და ცხრილები ამ მონაცემთა ბაზაში. ამისათვის შეასრულეთ შემდეგი ბრძანებები.
მონაცემთა ბაზის ინვენტარის შექმნა;
ინვენტარის გამოყენება; ცხრილის შექმნა upc_count (upc varchar (15) not null, count integer (3) not null default 0, name varchar (255), size varchar (40), მწარმოებელი varchar (80), პირველადი გასაღები (upc));
ახლა ჩვენ გვაქვს მარტივი ცხრილი ხუთი სვეტით upc (რომელიც იქნება მთავარი გასაღები), რაოდენობა, სახელი, ზომა და მწარმოებელი. შენიშვნა: upc არის რიცხვი, რომელიც ცალსახად განსაზღვრავს პროდუქტს. ეს რიცხვი არის ის, რაც იკითხება შტრიხკოდის ეტიკეტიდან, როდესაც ის სკანირდება.
დაბოლოს, ჩვენ ვაპირებთ შევქმნათ ის მომხმარებელი, რომელიც გვჭირდება. მე დავურეკავ ჩემსას, ამისათვის გავაკეთე შემდეგი ბრძანებები, ნებისმიერი მომხმარებლის სახელისა და პაროლის გამოყენებით.
მიანიჭეთ ყველაფერი ინვენტარიზაციას.* ''@'localhost' - ს მიერ განსაზღვრული;
ახლა, როდესაც ჩვენ გვაქვს ჩვენი მონაცემთა ბაზა, ჩვენ შეგვიძლია დავიწყოთ სისტემის შექმნა!
ნაბიჯი 3: მიიღეთ OutPan API გასაღები
OutPan არის API, რომელიც შეიძლება გამოყენებულ იქნას პროდუქტის შესახებ ინფორმაციის მისაღებად მისი upc ნომრის გამოყენებით. ჩვენ ამას გამოვიყენებთ პროდუქციის შესახებ მეტი ინფორმაციის მოსაპოვებლად, რადგან ისინი დაემატება მონაცემთა ბაზას. ეს არის საჯარო api, მაგრამ მისი გამოსაყენებლად საჭიროა დარეგისტრირდეთ და მიიღოთ api გასაღები. დარეგისტრირება საკმაოდ მარტივია, უბრალოდ გადადით აქ და მიყევით ნაბიჯებს გასაღებისთვის დარეგისტრირებისთვის.
მას შემდეგ რაც მიიღებთ თქვენს გასაღებს, გადაწერეთ იგი. თქვენ დაგჭირდებათ მოგვიანებით.
ნაბიჯი 4: დააინსტალირეთ და დააყენეთ Node-Red
Node-Red წინასწარ არის დაინსტალირებული Raspbian OS– ის ყველა ვერსიაზე 2015 წლის ბოლოდან. იმის გასარკვევად, გაქვთ თუ არა კვანძ – წითელი დაყენებული, უბრალოდ გაუშვით შემდეგი ბრძანება ტერმინალში.
კვანძი-წითელი
თუ გამოჩნდება შეტყობინება "ბრძანება ვერ მოიძებნა", თქვენ უნდა დააინსტალიროთ წითელი კვანძი. ამისათვის შეასრულეთ შემდეგი ბრძანებები.
sudo apt-get განახლება sudo apt-get ინსტალაცია nodered
კვანძ-წითელი დაწყების შემდეგ, თქვენ შეგიძლიათ შეხვიდეთ კვანძ-წითელზე გამომავალში ნაჩვენები მისამართიდან.
ერთადერთი კონფიგურაცია რჩება MySQL კვანძების დაყენება. ამის გაკეთება შეგიძლიათ ბრაუზერის საშუალებით. დააწკაპუნეთ სიმბოლოზე გვერდის ზედა მარჯვენა კუთხეში და შემდეგ დააწკაპუნეთ 'პალიტრის მართვის' ვარიანტზე. იქიდან უბრალოდ მოძებნეთ 'mysql' და დააწკაპუნეთ ინსტალაციის ღილაკზე.
ჩვენ ახლა მზად ვართ API- ს იმპორტისთვის.
ნაბიჯი 5: დააყენეთ API
ქვემოთ არის მთელი კვანძი-წითელი API, რომელიც მე დავწერე. უბრალოდ დააკოპირეთ ყველაფერი ქვემოთ, დააწკაპუნეთ სიმბოლოზე ზედა მარჯვენა კუთხეში და გადადით ბუფერში იმპორტისთვის.
[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "ხაზები": [{"id": "b8b6d2e4.169e7"}]}], "out": [{"x": 755, "y": 58, "ხაზები": [{"id": "8dc2d52b.6a6fd8", "პორტი": 0}]}]}, {"id": "b8b6d2e4.169e7", "ტიპი": "http მოთხოვნა", "z": "ef09537e.8b96d", "სახელი ":" გარე მოთხოვნა "," მეთოდი ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," ხაზები ":
ახლა თქვენ გაქვთ მთელი API, რომელსაც ჩვენ გამოვიყენებთ მონაცემების ჩასამატებლად და გასაახლებლად. მხოლოდ რამდენიმე კორექტირებაა საჭირო სანამ გამოვიყენებთ მის გამოყენებას.
- პირველი, შედით MySQL მონაცემთა ბაზის ყველა კვანძში და შეცვალეთ მომხმარებლის სახელი და პაროლი იმათთვის, რაც თქვენ შექმენით მონაცემთა ბაზისთვის წინა საფეხურზე.
- მეორე, შეასწორეთ mineOutPanData ქვენადინი ისე, რომ HTTP მოთხოვნა Open Pan– ის მონაცემების მისაღებად გამოიყენოს თქვენი საკუთარი API გასაღები.
ახლა თქვენ მზად ხართ გამოიყენოთ API. ეს ნაკადი ქმნის მარტივ REST API- ს, რომელიც საშუალებას გაძლევთ გაგზავნოთ მონაცემები ინტერნეტით დაკავშირებული ნებისმიერი მოწყობილობიდან HTTP მოთხოვნების გამოყენებით.
ნაბიჯი 6: (არასავალდებულო) API– ს გაგება
ბოლო რაც უნდა გავაკეთოთ არის GPIO– სთან დაკავშირება, რათა შევძლოთ სკანირება ორ რეჟიმში, დამატება და ამოღება.
ეს საკმაოდ სწორია, უბრალოდ დააყენეთ გადამრთველი, რომ წაიკითხოთ GPIO pin 21 – დან Pi– ზე და თქვენ კარგად წახვალთ. მიკროსქემის გამოყენებით თანდართულ სურათზე (ცნობილია როგორც PUD DOWN ჩართვა) სკრიპტი გაგზავნის დამატებით მოთხოვნას გადართვის გადამრთველის დახურვისას და წაშლის მოთხოვნისას როდესაც გადართვის გადამრთველი ღიაა.
ამის შემდეგ ჩვენ უბრალოდ ვამაგრებთ მავთულხლართებს საქმის შიგნიდან და კარგია წასვლა.
ნაბიჯი 9: (არასავალდებულო) მომხმარებლის ინტერფეისის შექმნა
ეს ბოლო ნაბიჯი არ არის აუცილებელი, მაგრამ რა თქმა უნდა გამოსადეგია თუ გსურთ გამოიყენოთ სისტემის სრული პოტენციალი.მე დავაყენე ძალიან მარტივი ინტერფეისი, რომელიც აჩვენებს ყველა მონაცემს, რაც გვაქვს ჩვენს მონაცემთა ბაზაში, ადვილად სანავიგაციო ცხრილში. ცხრილი შეიძლება დალაგდეს სვეტების მიხედვით და ასევე მოიძიოს, რაც გაადვილებს იმის დანახვას, რაც ხელთ გაქვთ.
UI საკმაოდ მარტივია; მე ხელახლა დავუშვი რამდენიმე მაგალითი კოდი, რომელიც ინტერნეტში ვიპოვე ჩვენს API– თან მუშაობისთვის (თუ დაინტერესებული ხართ, ეს მაგალითი კოდი შეგიძლიათ იხილოთ აქ).
ინტერფეისის გასაშვებად გააკეთეთ შემდეგი…
- შეინახეთ თანდართული index.txt ფაილი index.html (რატომღაც ვერ ავტვირთე ფაილი როგორც HTML ფაილი).
- განათავსეთ ორი ფაილი ერთ დირექტორიაში თქვენს კომპიუტერში.
- გაუშვით "index.html" ფაილი თქვენს საყვარელ ბრაუზერში.
ახლა ჩვენ შეგვიძლია მარტივად ვნახოთ და დავალაგოთ თქვენი ინვენტარი!
ნაბიჯი 10: დაიწყეთ სკანირება
ახლა თქვენ მზად ხართ დაიწყოთ სკანირება! თუ თქვენ გაქვთ რაიმე შეკითხვები, დატოვეთ ისინი კომენტარებში და დარწმუნებული ვარ, რომ შეძლებისდაგვარად გიპასუხებთ.
დაბოლოს, კონკურსში თქვენი ხმები დიდად დასაფასებელი იქნება. Მადლობა წაკითხვისთვის!
გირჩევთ:
ინვენტარის უჯრა "Smart Cities Hackathon Qualcomm17": 13 ნაბიჯი
ინვენტარი უჯრა "Smart Cities Hackathon Qualcomm17": მომდევნო დოკუმენტში თქვენ შეგიძლიათ ნახოთ ინტელექტუალური უჯრის მშენებლობისა და პროგრამირების პროცესი. ეს უჯრა დაპროგრამებულია Dragon Board 410c– ში, ქალაქების ხარისხის გაუმჯობესების მიზნით. პროექტი არის კონკურსის ნაწილი “
სამუშაო მენეჯერი - საოჯახო საქმეების მართვის სისტემა: 5 ნაბიჯი (სურათებით)
სამუშაო მენეჯერი - საოჯახო მეურნეობის მართვის სისტემა: მე მინდოდა შევეცადე გამეხსნა ჩვენს ოჯახში არსებული რეალური პრობლემა (და, მე წარმომიდგენია, ბევრი სხვა მკითხველისთვის), რომელიც არის ის, თუ როგორ უნდა გამოვყო, მოტივირება და დაჯილდოვება ჩემი შვილების დასახმარებლად. საოჯახო საქმეებით. აქამდე ჩვენ ვინახავდით ლამინირებულ ფურცელს
ჭკვიანი მართვის სისტემა რობოტ მანქანებისთვის ძველი ფლოპი/CD დისკის სტეპერიანი ძრავის გამოყენებით: 8 ნაბიჯი (სურათებით)
ჭკვიანი მართვის სისტემა რობოტ მანქანებისთვის ძველი ფლოპი/CD წამყვანი სტეპერიანი ძრავის გამოყენებით: ჭკვიანი საჭის სისტემა რობოტული მანქანებისთვის გაწუხებთ თუ არა თქვენი რობოტი მანქანის კარგი საჭის სისტემის დამზადება? აქ არის შესანიშნავი გამოსავალი მხოლოდ თქვენი ძველი ფლოპი/ CD/ DVD დისკების გამოყენებით. უყურეთ მას და მიიღეთ წარმოდგენა მასზე ეწვიეთ georgeraveen.blogspot.com
ძრავის მართვის სისტემა Arduino Mega 2560 და IoT გამოყენებით: 8 ნაბიჯი (სურათებით)
ძრავის მართვის სისტემა Arduino Mega 2560 და IoT გამოყენებით: დღესდღეობით IoT დაფუძნებული მიკროკონტროლი ფართოდ გამოიყენება სამრეწველო პროგრამაში. ეკონომიკურად ისინი კომპიუტერის ნაცვლად გამოიყენება. პროექტის მიზანი არის სრულად ციფრული კონტროლი, მონაცემთა ჩამწერი და მონიტორინგი 3ფაზიანი ინდუქციური ძრავით
R Pi -დისტანციური მართვის პუნქტი და განათების სისტემა: 4 ნაბიჯი (სურათებით)
R Pi -დისტანციური მართვის პუნქტი და განათების სისტემა: ეს არის მარტივი პროექტი აუდიო განცხადებების გასაკეთებლად და ვებ ბრაუზერიდან დისტანციურად PI შუქების ჩართვისა და გამორთვისთვის. აქ არის ის, რაც გჭირდებათ: 1) ჟოლო Pi აპახითა და PhP წინასწარ დაინსტალირებული. მე გამოვიყენე ძველი Pi v1, რომელიც მე ვიწექი გარშემო. მე ვვარაუდობ, რომ