Სარჩევი:

დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!: 9 ნაბიჯი (სურათებით)
დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!: 9 ნაბიჯი (სურათებით)

ვიდეო: დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!: 9 ნაბიჯი (სურათებით)

ვიდეო: დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!: 9 ნაბიჯი (სურათებით)
ვიდეო: Marvel's Spider-man: Miles Morales (ფილმი) 2024, ივლისი
Anonim
დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!
დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!
დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!
დაიწყეთ თქვენი სადღესასწაულო სურათების სლაიდშოუ მაგიის შეხებით!

წლების განმავლობაში, მე განვიცადე მოგზაურობისას თან წამეღო პატარა ფიგურა: მე ხშირად ვყიდულობ პატარა, ცარიელ ხელნაკეთს (როგორც სურათზეა) და ვხატავ, რომელიც შეესაბამება ქვეყნის დროშას და თემას მ სტუმრობა (ამ შემთხვევაში, სიცილია).

მაშინ იდეა იმაში მდგომარეობს, რომ გადავიღოთ ფიგურა ამ სცენის წინ ან ცნობილი ძეგლების წინამდებარე ქვეყნიდან: მე მიმაჩნია, რომ ეს ბევრად უფრო სახალისოა, ვიდრე მხოლოდ ძეგლთან ერთად სურათების ქონა (ამისთვის არის Google და ეს ბევრად იაფია), მაგრამ მაინც უფრო ადვილია, ვიდრე ვიყო ყველა სურათზე (გულშემატკივარი არა, გულწრფელად რომ ვთქვა)

ვინაიდან ყოველთვის სახალისოა იმ ადამიანების შეკრება, რომლებთანაც არდადეგებზე იყავით, სურათების საყურებლად დაბრუნებიდან რამდენიმე დღის შემდეგ, ვიფიქრე, რომ კარგი იქნება, თუ თითოეულ ფიგურას შეუძლია როგორმე ავტომატურად წამოიწყოს სურათების სლაიდშოუ მათი მოგზაურობიდან. რა

ეს ინსტრუქცია აგიხსნით როგორ გავაკეთე ეს NFC, ჟოლოს pi, nodejs და osmc გამოყენებით

ნაბიჯი 1: გადაწყვეტის მიმოხილვა

გადაწყვეტის მიმოხილვა
გადაწყვეტის მიმოხილვა
გადაწყვეტის მიმოხილვა
გადაწყვეტის მიმოხილვა

მას შემდეგ, რაც მთელი კონფიგურაცია მოიცავს რამდენიმე ნივთს, აქ არის ზოგადი მიმოხილვა, თუ რა არის ჩართული, რათა დაგეხმაროთ გაიგოთ ყველაფერი, რაც მომდევნოა:

ტექნიკა

- ფიგურა ხელნაკეთია: ვინაიდან მე ვწერ ამ ინსტრუქციებს კოპენჰაგენში/ოსლოში/სტოკჰოლმში/ჰელსინკიში ერთკვირიანი მოგზაურობის შუაგულში, მე დავამატებ ამ მოგზაურობისთვის გაკეთებული ფიგურის რამდენიმე კადრს

- თითოეული ფიგურის ქვეშ არის NFC ჩიპი: მე ვიყენებ მრგვალ სტიკერებს, რომელთა მოთავსება შემიძლია თითოეული ფიგურის ქვეშ, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა ფორმა - უბრალოდ დარწმუნდით, რომ თქვენ მიერ გამოყენებული ჩიპი შეესაბამება თქვენს მკითხველს

- სურათების საჩვენებლად გამოვიყენებ ჟოლოს პი -ს OSMC დაყენებული: ეს არის ჩემი არჩეული მედია პლეერი სატელევიზიო შოუებისა და ფილმებისათვის, ასე რომ ის უკვე დაკავშირებულია ჩემს ტელევიზიასთან

- იმისათვის, რომ ჟოლოს პიმ წაიკითხოს NFC ტეგები, მე დავამატე NFC მკითხველი - ის, რაც მე გამოვიყენე არის Explore -NFC NXP– დან, რომელიც ხელმისაწვდომია ბევრ ვებგვერდზე: ის ირთვება Pi– ზე და მოქმედებს როგორც ფარი

პროგრამული უზრუნველყოფა

Raspberry Pi– ზე, NodeJS სკრიპტი ელოდება NFC ტეგის წაკითხვას: ამის დასრულების შემდეგ, სკრიპტი ამოწმებს თავის ID– ს ღირებულების/წყვილების სიის შესაბამისად ყველა OSMC– ზე არსებული სურათების წყაროსთან და შესაბამის NFC ID– ს, როგორც ეს კონფიგურირებულია მომხმარებელი.

როდესაც ტეგი იკითხება, თუ ID არის სიაში, კვანძის სკრიპტი ეუბნება OSMC– ს დაიწყოს ამ კონკრეტული საქაღალდის სლაიდშოუ. ამ სიის შესაქმნელად/კონფიგურაციისთვის იგივე NodeJS სკრიპტი იწყებს სკანირების ფუნქციას ყოველ 5 წუთში: ის სკანირებს ყველა დირექტორიაში "სურათების" წყაროს შიგნით OSMC- ში (JSON-RPC API გამოყენებით, რომელსაც Kodi გთავაზობთ) და ამატებს მას სიაში, რომელიც შემდეგ ინახება დისკზე. ამ ტექსტური ფაილის პირდაპირ რედაქტირებით, მომხმარებელს შეუძლია დაამატოს შესაბამისი NFC ID თითოეული ალბომისთვის.

ნაბიჯი 2: ფიგურის შექმნა

ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა
ფიგურის შექმნა

თქვენ შეგიძლიათ გამოიყენოთ თითქმის ყველაფერი, რაც მოგწონთ თქვენი ფიგურისთვის: მე მიყვარს ვინილის ხელოვნების სათამაშოების გამოყენება, რადგან ისინი - შედარებით - ადვილად ხატავს თუნდაც ჩემნაირ ადამიანს, რომელსაც არ უყვარს ხატვა და საკმაოდ ადვილია ტარება. მე ვუბრძანებ მათ ცარიელ, წვრილმანი ვერსიით, ყველაზე პატარა ზომებით და ვხატავ მათ Posca მარკერების გამოყენებით. აქ თქვენ შეგიძლიათ ნახოთ ის, რაც მე გავაკეთე ამ მოგზაურობისთვის, ოთხი ქვეყნის დროშებით, რომელსაც ჩვენ ვეწვიეთ - ისინი ისეთივე მსგავსი იყო ჩემთვის, რომ მე მათ ერთმანეთის გვერდით ვათავსებდი. თქვენ შეგიძლიათ გამოიყენოთ საღებავის რამოდენიმე ფენა, რამდენადაც თქვენ ნამდვილად დაუშვებთ თითოეულ მათგანს გაშრეს, სანამ შემდეგს ხატავთ. მას შემდეგ რაც ხატვას ვასრულებ, მე მომწონს საღებავზე სითბოს იარაღის გამოყენება საღებავზე რამდენიმე წუთის განმავლობაში, რადგან წავიკითხე, რომ ეს ნამდვილად სითბოა, რაც ეხმარება პოსკას საღებავის ნაკრებში.

ბოლო სურათზე თქვენ შეგიძლიათ ნახოთ სვენი - მე მათ ყოველთვის ვასახელებ სახელებს - შესვენება ოსლოში საკმაოდ გრძელი დილის შემდეგ. მას არ აქვს თავი ორიგინალური სათამაშოდან, რადგან გამგზავრებამდე ერთი წუთით ადრე მოვახერხე მისი გაფუჭება: წინა სათამაშოს დემონტაჟი მომიწია, რომ მისი თავი გამომეყენებინა. ვერ ვიტყვი, რომ აქამდე არასდროს მომხდარა…

ნაბიჯი 3: დააინსტალირეთ OSMC

დააინსტალირეთ OSMC
დააინსტალირეთ OSMC

პირველი, რაც მე გავაკეთე, იყო OSMC– ის დაყენება Raspberry Pi– ს მიკრო SD ბარათზე: ჩვენს კონფიგურაციაში, ეს იქნება მედია პლეერი თქვენი სურათების სანახავად. მე არ შევალ ამ დეტალზე, რადგან ის საკმაოდ კარგად არის დოკუმენტირებული (არსებობს რამოდენიმე ინსტრუქცია, თუ დახმარება გჭირდებათ). უბრალოდ გადმოწერეთ ინსტალერი თქვენს კომპიუტერში და მიჰყევით ინსტრუქციას. როგორც კი დავასრულე, უბრალოდ ჩავრთე კლავიატურა და მაუსი და HDMI ტელევიზორში ჩავრთე და მივყევი დაყენების ოსტატს დროის ზონის დასაყენებლად და ა.

დაბოლოს, მე დავამატე წყარო, სადაც ვინახავ ჩემს სურათებს წყაროებში: ჩემს შემთხვევაში ისინი ინახება NAS– ში ფიქსირებული IP– ით იმავე ქსელში, მაგრამ ასევე შეგიძლიათ შეინახოთ ისინი USB დისკზე ან თავად სახლის საქაღალდეში, იმ პირობით, რომ თქვენი მიკრო SD საკმარისად დიდია.

წყაროს დამატებისას თქვენ მოგეთხოვებათ შეიყვანოთ სახელი მისთვის: შეგიძლიათ დატოვოთ ნაგულისხმევი ან შეცვალოთ იგი, მაგრამ აუცილებლად ჩაწერეთ, რადგან მოგვიანებით დაგვჭირდება. ჩემს შემთხვევაში მე მას "ჩემი სურათები" დავარქვი

თქვენ ახლა უნდა ნახოთ თქვენ მიერ დამატებული დირექტორიის შინაარსი და დაათვალიეროთ თქვენი სურათები: ჩემს შემთხვევაში, მე მაქვს ქვე-დირექტორია თითოეული მოგზაურობისთვის.

გილოცავთ, თქვენ ახლა გაქვთ მედია ცენტრი თქვენი სურათებით და შეგიძლიათ დაიწყოთ სლაიდშოუ კონკრეტული საქაღალდისთვის (როგორც ბონუსი, ასევე შეგიძლიათ გამოიყენოთ იგი თქვენი ვიდეოების ან მუსიკის დასაკრავად)

ნაბიჯი 4: მკითხველის კონფიგურაცია

დანარჩენი ინსტრუქციისთვის, ჩვენ Pi- ს დავუკავშირდებით ბრძანების ხაზის გამოყენებით SSH- ზე. ამის გაკეთება, უბრალოდ დააკავშირეთ Pi თქვენს ქსელში Ethernet კაბელის გამოყენებით და გამოიყენეთ ტერმინალი ან გამოყოფილი პროგრამული უზრუნველყოფა Pi– ს დასაკავშირებლად. Mac OS და Linux– ზე ბრძანება არის

ssh [email protected]

თქვენ მოგეთხოვებათ პაროლის შეყვანა, ისევ osmc

მკითხველს რომ შეეძლოს ფუნქციონირება, SPI უნდა იყოს ჩართული: უმეტესწილად, როგორიცაა Raspbian, ეს შეიძლება გაკეთდეს raspi-config– ის გამოყენებით, კონფიგურაციის ინსტრუმენტი, რომელიც საშუალებას გაძლევთ შეცვალოთ ზოგიერთი კონფიგურაციის მნიშვნელობა.

თუმცა, OSMC არ შეიცავს raspi- კონფიგურაციას, მისი გამოყენებისას თქვენივე უსაფრთხოების მიზნით. ამის ნაცვლად, გათიშეთ ჟოლო, ამოიღეთ მიკრო SD ბარათი და დააინსტალირეთ იგი თქვენს კომპიუტერში: "ჩატვირთვის" დანაყოფი ახლა ხილული უნდა იყოს. იქ, მოცულობის ძირში, ნახავთ ფაილს სახელწოდებით "config.txt" - უბრალოდ გახსენით იგი და დაამატეთ ეს სტრიქონი ბოლოს:

"dtparam = spi = ჩართული"

ახლა თქვენ შეგიძლიათ შეინახოთ ფაილი, გადატვირთეთ და SPI უნდა იყოს ჩართული.

ამის შემდეგ, თქვენ უნდა გადმოწეროთ თანდართული ZIP ფაილი და გახსნათ იგი ჟოლოზე - გირჩევთ შექმნათ პროექტების საქაღალდე და გახსნათ იგი იქ. ამისათვის თქვენ შეგიძლიათ დაუკავშირდეთ ჟოლოს FTP– ით SSH– ით (მე ამისთვის ვიყენებ CyberDuck– ს) ან განათავსეთ ფაილი USB დისკზე და გამოიყენეთ Kodi– ს ფაილ მენეჯერი, რომ დააკოპიროთ იგი Raspberry Pi– ზე.

ნებისმიერ შემთხვევაში, მას შემდეგ რაც დააკოპირეთ zip ფაილი Pi- ში, შემდეგ შეგიძლიათ ნავიგაცია მოახდინოთ თქვენს მიერ გადაწერილ საქაღალდეზე და გახსნათ იგი, გადაინაცვლოთ საქაღალდეში და დააინსტალიროთ პაკეტი:

unzip SW2827.zipcd SW2827sudo dpkg -i libneardal0_0.14.3-1_armhf.deb neard-explorenfc_1.2-1_armhf.deb

თუ ყველაფერი კარგად არის, თქვენ უნდა შეგეძლოთ ჩართოთ მკითხველი, გადატვირთოთ და შემდეგ შეიყვანოთ

explorenfc- ძირითადი

თუ მკითხველს მიუახლოვდებით NFC ჩიპს, ის ახლა უნდა აჩვენოს ჩიპიდან მიღებული ინფორმაცია (სხვა საკითხებთან ერთად, მისი პირადობის მოწმობა)

ნაბიჯი 5: დააინსტალირეთ კვანძი და შექმენით პროექტი

შემდეგი, ჩვენ დავაინსტალირებთ NodeJS ჟოლოს ჩვენი აპლიკაციის დასაწერად.

ჩვენ გვსურს nodejs- ის დაყენება, მაგრამ ნაგულისხმევი საცავის ვერსია მართლაც ძველია, ასე რომ თქვენ უნდა გაიაროთ პირველი ნაბიჯი მანამდე: ბრძანების ხაზის ინტერფეისში ჩაწერეთ

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

ამის შემდეგ შეგიძლიათ აკრიფოთ

sudo apt დააინსტალირეთ nodejs

დააინსტალირეთ nodejs და npm უახლესი ვერსია.

იმისათვის, რომ გავაკონტროლოთ KODI nodejs– დან, ჩვენ ვაპირებთ გამოვიყენოთ npm პაკეტი სახელწოდებით kodi-ws.

დავიწყოთ ახალი პროექტის შექმნით: უბრალოდ ჩაწერეთ ბრძანება

npm init

თქვენ დაგისვამთ უამრავ კითხვას: უმეტესობისთვის შეგიძლიათ დატოვოთ ნაგულისხმევი, უბრალოდ შეარჩიეთ სახელი თქვენი აპლიკაციისთვის და ბოლოს შეიყვანეთ თქვენი სახელი. ამოსავალი წერტილის მოთხოვნისას დატოვეთ index.js

ეს შექმნის package.json ფაილს, რომელიც შეაჯამებს თქვენი პაკეტის მახასიათებლებს, როგორიცაა მისი დამოკიდებულებები.

ახლა შეგიძლია შეხვიდე

sudo npm install kodi-ws sudo npm install jsonfilesudo npm install cronsudo npm install child_process

თუ თქვენ გახსნით package.json ამის შემდეგ, თქვენ შეამჩნევთ, რომ ყველა ეს პაკეტი დაემატა დამოკიდებულებებს.

ნაბიჯი 6: კოდი, ახსნილი

კოდი, ახსნილი
კოდი, ახსნილი

ამ ნაბიჯს თან ერთვის პროგრამის კოდი.

მე დავტოვე საკმაოდ დიდი რაოდენობა, რომელიც შეიძლება იყოს კომენტარის გარეშე, რათა გავიგოთ სკრიპტი, მაგრამ სხვებმა ერთად გაანადგურეს იგი.

თქვენ შეამჩნევთ, რომ გამოცხადებული ყველა ფუნქციის მიუხედავად, კოდი მხოლოდ რამდენიმე რამეს აკეთებს:

kodi ("localhost", 9090).მერე (ფუნქცია (კავშირი) {

სკრიპტი ცდილობს დაუკავშირდეს OSMC JSON-RPC API- ს. მას შემდეგ რაც წარმატებას მიაღწევს (და მხოლოდ ამის შემდეგ), ის გრძელდება დანარჩენ ფაილზე.

თუ რაიმე მიზეზით თქვენ არ იყენებთ ამას თქვენი Raspberry Pi– დან, შეცვალეთ localhost თქვენი IP მისამართით. ასევე დარწმუნდით, რომ მომსახურების პარამეტრებში OSMC- ის შიგნით (პარამეტრები/სერვისები) მონიშნეთ ყუთი "დისტანციური მართვის ნებართვა სხვა სისტემების პროგრამებიდან" (იხ. სურათი)

დანარჩენი ფაილი ძირითადად არის ფუნქციების დეკლარაცია, რომელსაც ჩვენ მოგვიანებით გამოვიყენებთ: ორი ფუნქცია, რომლებიც ფაქტობრივად გააქტიურებულია აქედან (სტრიქონები 172/173)

scanAndSetCron (); listenForTag ();

ScanAndSetCron- ში:

- ამოქმედებულია scanPictures ფუნქცია. მის შიგნით, ჩვენ ვამოწმებთ ცარიელია თუ არა ცვლადი "mypicturedirectory", რომელიც ჩვენს სურათებისკენ მიმავალ გზას დაიკავებს. თუ ასეა, ჩვენ ვთხოვთ OSMC- ს მოგვცეს ყველა ის წყარო, რაც მას აქვს სურათის შინაარსისთვის (getPictureDirectory ფუნქციის შიგნით, სტრიქონი 11):

var piclist = დაელოდეთ შეერთებას. Files. GetSources ("სურათები");

OSMC გვაძლევს მასივს სანაცვლოდ: თითოეული ერთეულისთვის ჩვენ ვამოწმებთ, შეიცავს თუ არა წყაროს სახელი "ჩემი": თუ ასეა, ჩვენ ვინახავთ მას როგორც ჩვენი სურათის წყაროს (სტრიქონი 16 და შემდგომი). ეს არის ის, სადაც თქვენ გსურთ შეცვალოთ სტრიქონი "ჩემიდან", რასაც ადრე შეიყვანდით, როგორც სურათების წყაროს სახელი

if (piclist.sources .label.includes ("My")) {console.log (">>> მოიძებნა დირექტორია" + piclist.sources .file); mypicturedirectory = piclist.sources . ფაილი; }

ახლა, როდესაც ჩვენ გვაქვს წყარო წყაროსკენ (არსებითად ჩვენი ალბომების ძირეული საქაღალდე), ჩვენ ვთხოვთ OSMC- ს მისი სკანირება და ყველა საქაღალდის ბილიკის დამატება მასივში, სახელწოდებით album_directories (თუ ის უკვე იქ არ არის). ვინაიდან ეს ფუნქცია გააქტიურდება ყოველ X წამში, ჩვენ ვამოწმებთ, რომ დირექტორია არ არის ჩამონათვალში მის დამატებამდე, NFC ID არის ცარიელი სტრიქონით - ამგვარად, ყოველი ახალი საქაღალდე, რომელსაც დაამატებთ თქვენს სურათებს ავტომატურად იქნება დამატებულია - ხაზი 46

for (var j = 0; j <directories.length; j ++) {if (დირექტორიები [j].filetype.includes ("დირექტორია")) {if (searchDirectory (directories [j].file, album_directories)) {კონსოლი ჟურნალი (დირექტორიები [j]. ფაილი +"უკვე არსებობს"); } else {console.log (">> დამატება dir" + დირექტორიები [j]. ფაილი); album_directories.push ({დირექტორია: დირექტორიები [j]. ფაილი, nfc: ""}); }}}

დასასრულს, ჩვენ ვინახავთ album_directories მასივს json ფაილზე Pi- ზე, რომლის შევსებასაც ვცდილობთ ყოველ ჯერზე, როდესაც ეს ფუნქცია შესრულებულია: ეს ხდება scanAndSetCron ფუნქციის ბოლოს, სადაც ვიყენებთ cron- ის მსგავს პაკეტს ჩვენი ფუნქციის გასაშვებად. ყოველ 15 წამში

JSON ფაილი, რომელსაც ჩვენ ვქმნით, album_directories.json, შეიძლება გაიხსნას ნებისმიერი ბლოკნოტის პროგრამის გამოყენებით. ამის გაკეთების შემდეგ თქვენ მოგეცემათ თქვენი ალბომების სია, რომელთაგან თითოეული არის ცარიელი "nfc" ველი:

[{"დირექტორია": "/home/osmc/სურათები/Mada 2016/", "nfc": ""}, {"დირექტორია": "/home/osmc/Pictures/NewFolder/", "nfc": "" }, {"დირექტორია": "/home/osmc/სურათები/ტესტი/", "nfc": ""}]

ამ ველში, თქვენ ახლა უნდა ჩასვათ იმ ტეგის ID, რომელთანაც გსურთ დაკავშირება ამ ალბომთან. ამ პირადობის მოწმობის მისაღებად, უბრალოდ გადადით SW2827 საქაღალდეში, გაუშვით explorenfc-basic და დაასკანირეთ ის ტეგი, რომლის გამოყენებაც გსურთ. გამომავალში, უბრალოდ მოძებნეთ მნიშვნელობა ISO14443A UID– ის გვერდით. დააკოპირეთ ის ალბომში, რომლის კონფიგურაციაც გსურთ. ჩემს შემთხვევაში, მაგალითად,

[{"დირექტორია": "/home/osmc/Pictures/Mada 2016/", "nfc": "040A12EAFC3881"}, {"დირექტორია": "/home/osmc/Pictures/NewFolder/", "nfc": " "}, {" დირექტორია ":"/home/osmc/სურათები/ტესტი/"," nfc ":" "}]

შეინახეთ ფაილი და მისი შინაარსი იტვირთება, როდესაც შემდეგ ჯერზე დაიწყებთ პროგრამას.

ListenForTag ფუნქციაში ჩვენ ამას ვაკეთებთ: ვინაიდან არ ჩანს, რომ NodeJS– ს აქვს მკითხველთა ბიბლიოთეკის სპეციალური პორტი, ჩვენ ვეყრდნობით ბავშვთა პროცესებს მკითხველისთვის ორობითი გაშვების მიზნით:

var spawn = მოითხოვს ('child_process'). spawn, child = spawn ('/usr/bin/explorenfc-basic', );

ჩვენ ვეყრდნობით მოვლენათა შემსრულებელს, რომ მივიღოთ გამოსავალი ამ შესრულებიდან: child.stdout.on- ის გამოძახების შიგნით ('მონაცემები', ფუნქცია (მონაცემები), ჩვენ ვაანალიზებთ ამ ბრძანების გამომავალს analysisOutput ფუნქციის გამოყენებით: ჩვენ ვეძებთ ხაზი, რომელიც ადრე ვნახეთ, დაწყებული "ISO14443A UID:" - ით, რადგან იქ ინახება ჩვენ მიერ დასკანერებული ტეგის ID. მას შემდეგ რაც ვიპოვით ამ ხაზს, ჩვენ ვამცირებთ მას და ვინახავთ ID ობიექტს (რომელსაც ეწოდება ID, როგორ ორიგინალური).

დაბოლოს, ჩვენ ვცდილობთ ეს ID დაემთხვეს იმ ID- ებს, რომლებიც შევიტანეთ ალბომების_ დირექტორიების ობიექტების მასივში (ჩატვირთულია album_directories.json ფაილის საშუალებით). თუ შესატყვისი იქნა ნაპოვნი, ჩვენ ვაძლევთ ინსტრუქციას OSMC– ს, დაიწყოს სლაიდშოუ ამ კონკრეტული საქაღალდისთვის:

var nfcid = ანალიზიOutput (მონაცემები); console.log ("nfcid არის" + nfcid.id); var შესაბამისი ალბომი = searchTag (nfcid.id, album_directories); if (შესაბამისი ალბომი) {console.log ("ნაპოვნია ალბომი" + JSON.stringify (შესაბამისი ალბომი) + "ამ ტეგისთვის"); var args = [{'გზა': შესაბამისი ალბომი. დირექტორია}]; connection.run ('Player. Open', args); } listenForTag ();

თქვენ შეამჩნევთ, როგორ ფუნქციის ბოლოს, ჩვენ კვლავ ვიწყებთ listenForTag- ს? ეს ერთადერთი გამოსავალია, რაც მე აღმოვაჩინე პროგრამის მუშაობის გასაადვილებლად: explorenfc-basic ნებაყოფლობით დაელოდება წარწერას, წაიკითხავს მას, შემდეგ გადის. აპს აქვს უწყვეტი რეჟიმი, რომელსაც ჩვენ შეგვიძლია დავარქვათ explorenfc -basic -k გამოყენებით, მაგრამ ამ რეჟიმში, child_process არასოდეს გამოაქვს ტეგის შინაარსი, რადგან ის არასოდეს მთავრდება (სხვა სიტყვებით, child.stdout.on ('მონაცემები') არასოდეს იხსნება). ვინაიდან მე ვერ ვიპოვე სხვა გზა ამ მკითხველის გამოსაყენებლად, რასაც ჩვენ ვაკეთებთ, ძირითადად არის explorenfc-basic გაშვება ერთჯერადი ტეგით რეჟიმში, ხოლო როდესაც ტეგი იკითხება, ჩვენ ვიწყებთ listenForTag- ს და ამიტომ ვიწყებთ explorenfc-basic- ს.

უკან დაბრუნება რომ მომიწიოს (და ვფიქრობ, რომ დავბრუნდები), მე ვირჩევ NFC მკითხველს, რომელიც უფრო მეტ ვარიანტს გვთავაზობს: მაგალითად, ადაფრუტს (თქვენ ალბათ შეამჩნიეთ, რომ მე ძალიან მიყვარს ისინი) ჰყავს ეს მკითხველი https:// www.adafruit.com/product/789, რომელიც თავსებადია libnfc– თან, რაც მე მჯერა იმას ნიშნავს, რომ მკითხველი ბევრად უფრო გამჭვირვალე იქნება ინტერფეისთან მიმართებაში, ვიდრე კვანძის შიგნიდან ბავშვის პროცესის გამოძახება და სტადიონის გარჩევა!

ნაბიჯი 7: სცადეთ

აპლიკაციის გასაშვებად, უბრალოდ გადადით ამ საქაღალდეში და ჩაწერეთ "node index.js" (ან npm დაიწყება მას შემდეგ, რაც ჩვენ ადრე დავაკონფიგურირეთ ის package.json). ჟურნალებში თქვენ უნდა ნახოთ OSMC/Kodi– სთან დამაკავშირებელი აპლიკაცია და პირველად სკანირება. რამდენიმე წამის შემდეგ ფაილი album_directories.json შეიქმნება პროექტის დირექტორიაში; ამის შემდეგ შეგიძლიათ შეიყვანოთ NFC ტეგის ID როგორც ადრე იყო განმარტებული და დაუკავშიროთ თქვენთვის სასურველ ალბომებს.

ნაბიჯი 8: გაუშვით ავტომატურად

რომ შევაჯამოთ, ჩვენ შევქმენით Node აპლიკაცია, რომელიც (1) იკვლევს თქვენს KODI სურათების ბიბლიოთეკას და ცდილობს იპოვოს საქაღალდე, სადაც ინახავთ თქვენს დღესასწაულის სურათებს, (2) უსმენს NCF ტეგებს, explorenfc-basic და შემდეგ (3) იწყებს ალბომს, რომელიც დაკავშირებულია ამ NFC ID- თან.

იმისათვის, რომ მთელი ეს პროცესი მოხდეს ფონზე, ჩვენ გამოვიყენებთ PM2, პროცესის მენეჯერს კვანძისთვის.

ბრძანების სტრიქონში გადადით თქვენი პროექტების საქაღალდეში (სადაც მდებარეობს თქვენი index.js ფაილი) და ჩაწერეთ შემდეგი ხაზები:

sudo npm დააინსტალირეთ pm2 -gpm2 დაწყების index.js

თქვენი აპლიკაცია ახლა მონიტორინგს უწევს PM2 და ავტომატურად განახლდება! იმისათვის, რომ დარწმუნდეთ, რომ ის რეალურად გაშვებულია, ჩაწერეთ pm2 სია და თქვენ უნდა ნახოთ სიაში. თუ გსურთ მორების ნახვა, უბრალოდ ჩაწერეთ pm2 ჟურნალი.

გირჩევთ: