Სარჩევი:

RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა: 6 ნაბიჯი (სურათებით)
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა: 6 ნაბიჯი (სურათებით)

ვიდეო: RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა: 6 ნაბიჯი (სურათებით)

ვიდეო: RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა: 6 ნაბიჯი (სურათებით)
ვიდეო: БЮДЖЕТНЫЙ Электроскутер VS Электроскутера SKYBOARD сравнение citycoco как выбрать электроскутер? 2024, ივლისი
Anonim
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა
RPi-Zero IoT მოვლენის ინდიკატორი / ფერადი ნათურა

არ არის საჭირო დამატებითი მიკრო კონტროლერი და არ არის საჭირო HAT მოდულის მოდული. RPi-Zero ყველაფერს აკეთებს. უკეთესია გამოიყენოთ RPi-Zero W!

ნიმუშის გამოყენება: ვებ სერვისის მდგომარეობის მაჩვენებელი (მაგ. DowJonesIndex თვალყურის დევნება), პოლიტიკური ან სპორტული ღონისძიების სტატუსის მაჩვენებელი, განწყობის შუქი, თვალყური ადევნეთ სენსორს, თქვენ დაასახელეთ. იხილეთ ვიდეო მე –6 ნაბიჯში.

Raspberry-Pi– ს აქვს მხოლოდ ერთი ტექნიკური მხარდაჭერა PWM ხაზი. ამ პროექტს სჭირდება 3 PWM ხაზი, ამიტომ გამოვიყენე პროგრამული უზრუნველყოფით მართული PWM 'c' ბიბლიოთეკა (https://wiringpi.com/reference/software-pwm-library/), რომელიც უკვე უნდა იყოს დაინსტალირებული.

მე დავამუშავე დამუშავება 2 პროცესად. ერთი, შეწყვეტილი მოძრაობით, საჭიროებისამებრ საკონტროლო ხაზების გადართვა LED- ზე, მისი მსვლელობის ბრძანებების მიღება მისი "stdin" ნაკადიდან. მეორე არის მოვლენაზე ორიენტირებული nodeJS სერვერი, რომელიც იყენებს სოკეტს IO. ეს არის იმის თავიდან ასაცილებლად, როგორიცაა სინათლის მოციმციმე, ხოლო რეაგირების უზრუნველყოფა. როგორც წესი, კომბინაცია იყენებს პროცესორის 5% -ზე ნაკლებს. უწყვეტი ფერის განახლების დროს (სლაიდერების და/ან მრავალი კლიენტის საშუალებით) მას შეუძლია ადვილად გამოიყენოს 50% -ზე მეტი (განსაკუთრებით მაშინ, როდესაც ბრაუზერის გამოყენება ხდება Pi-Zero GUI- ში). გაითვალისწინეთ, რომ როდესაც ცვლილება მოდის, განახლების შეტყობინებები გადის ყველა ღია სოკეტის კლიენტზე.

ნაბიჯი 1: რაც დაგჭირდებათ

რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
  • Pi-Zero მიკრო SD ბარათი, რეკომენდირებულია 8 GB. Raspbian-Linux– ით ან NOOBS– ით
  • RGB Led (მე გამოვიყენე ეს:
  • 3 წინააღმდეგობა (სასურველი დენის და/ან სასურველი სიკაშკაშის მიხედვით მნიშვნელობა, 1/8 ვატი)
  • WiFi, USB dongle (მაგ. https://www.ebay.com/itm/252018085448) ან კიდევ უკეთესი გამოიყენოთ Raspberry Pi Z-W (ჩაშენებული WiFi- ით)
  • ქეისი (მაგ. პატარა: https://www.ebay.com/itm/131583579374 მეტი ადგილი):
  • დიფუზორი (იხ. მაგალითები სურათზე)
  • საჭიროების შემთხვევაში კაბელები და გადამყვანები.

სურვილისამებრ, ეს დამოკიდებულია იმაზე, თუ როგორ გსურთ კომპონენტების დაკავშირება

  • სათაური (https://www.ebay.com/itm/14186077616)
  • მხტუნავები (https://www.ebay.com/itm/262235387520)
  • მარჯვენა კუთხის მიკრო USB ადაპტერი (ლურჯი USB 2.0 OTG R)
  • მინი USB კერა, გამოიყენება მხოლოდ დაყენების ეტაპზე

ნაბიჯი 2: Pi-Zero დაყენება და მომზადება განვითარებისათვის

მიჰყევით ამ საწყის კონფიგურაციას თქვენი PiZero– სთვის, რათა ის მზად იყოს განვითარებისათვის…

მას შემდეგ რაც თქვენ გაქვთ microSD ბარათი NOOBS დაყენებით შემდეგ:

შეაერთეთ microSD ბარათი. მიმაგრებულია დაბალი სიმძლავრის USB კერა Wifi დონგლით, კლავიატურით და თაგვით (თქვენ შეგიძლიათ გამოიყენოთ უკაბელო მაუსი და/ან კლავიატურა, ნებისმიერ შემთხვევაში, მაგრამ არა სავარაუდოა, რომ საჭიროებს გარე ენერგიას კერას). მე გამოვიყენე გადამყვანები და ცენტრი, რომელიც უკვე მქონდა.

ახლა მიამაგრეთ მონიტორი და microUSB დენის ადაპტერი და ის ჩაირთვება. განაგრძეთ და დაასრულეთ Raspbian, Debian Linux– ის დაყენების მითითებები, როგორც ეს ჩანს ზემოთ noobs– ის დაყენების ბმულზე.

გარდა ამისა, მე მქონდა ძალიან დაბალი რეზოლუცია. ასე რომ, მე დავამატე ეს ხაზები /boot/config.txt

გამორთვა_ვერკი = 1

hdmi_group = 2 hdmi_mode = 58

Hdmi_mode = 58 მუშაობს ჩემს მონიტორზე, თქვენს მოწყობილობას შეიძლება სხვა რამ დასჭირდეს.

ეხება: მიიღოს-ჟოლო-პი-გამოყენება-სრული გარჩევადობა-მონიტორი და

raspberrypi.org/documentation/configuration/config-txt.md

ჩატვირთვის შემდეგ Pi-Zero გადადის GUI ინტერფეისში.

ჩემი microSD ბარათის სრული ზომის გამოსაყენებლად გამოვიყენე raspi-config #1 'Expand Filesystem' შერჩევა. ბრძანების სტრიქონიდან, ტერმინალის ფანჯარაში შეიყვანეთ 'sudo raspi-config' იხილეთ: დოკუმენტაცია/კონფიგურაცია/raspi -კონფიგურაცია.md

ასევე შევცვალე ეს პარამეტრები #5 'ინტერნაციონალიზაციის ვარიანტების' ქვეშ

  • ლოკალიზაცია: en_US. UTF-8 UTF-8
  • დროის სარტყელი: ამერიკა… Los_Angeles
  • კლავიატურის განლაგება: ზოგადი 105-გასაღები (საერთაშორისო) კომპიუტერი… ინგლისური (აშშ)

ჩემთვის დიდი ბრიტანეთის კლავიატურის სტანდარტი (რომლისთვისაც Raspbian წინასწარ არის დაყენებული) ჩემი რედაქტირების დიდ ნაწილს ნამდვილ საქმეს ხდიდა.

შეცვალეთ ეს პარამეტრები საჭიროებისამებრ, თქვენთვის შესაფერისი. გაითვალისწინეთ, რომ 'raspi-config'-ში ნავიგაციისთვის საჭიროა გამოიყენოთ ისრის ღილაკები და tab ღილაკი; და შერჩევის შემდეგ შეიძლება ძალიან ნელი იყოს პასუხის გაცემა.

აღმოვაჩინე, რომ პრობლემა არ არის ინტერნეტთან დაკავშირება WiFi-USB დონგლით (მე გამოვიყენე 2 განსხვავებული). მე უბრალოდ უნდა შევიყვანო WiFi წვდომის გასაღები-პაროლი GUI– ს ზედა მარჯვენა კუთხეში ჩამოსაშლელი ხერხით. მას შემდეგ რაც გავაკეთე ეს ავტომატურად დაუკავშირდება ნებისმიერი გადატვირთვის/ჩართვის შემდეგ.

ახლა მე მზად ვიყავი ზოგადი განვითარებისთვის.

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

ნაბიჯი 3: განვითარების გარემო და ინსტრუმენტები

განვითარების გარემო და ინსტრუმენტები
განვითარების გარემო და ინსტრუმენტები
განვითარების გარემო და ინსტრუმენტები
განვითარების გარემო და ინსტრუმენტები

პროექტისთვის შემუშავებული სისტემის კონფიგურაციის დაყენებისა და პროგრამული უზრუნველყოფისათვის მე გავაკეთე კვლევა და განვითარება Raspberry Pi-2– ზე; მას აქვს ოთხ ბირთვიანი პროცესორი, რომელიც ქმნის მის დათვალიერებას და კოდის განვითარებას, მრავალჯერადი ფანჯრებით, ბევრად უფრო სწრაფად. თქვენ, რა თქმა უნდა, შეგიძლიათ გამოიყენოთ ნებისმიერი მოდელი Raspberry-Pi ამ პროექტის განსახორციელებლად.

Node.js (ღონისძიებაზე ორიენტირებული I/O სერვერის JavaScripting მხარდაჭერა) დასაყენებლად გავაკეთე შემდეგი…

sudo apt-get განახლება

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

ამ nodeJS პაკეტების დამატება (npm არის Nodejs პაკეტის მენეჯერი)

npm დააინსტალირეთ ექსპრესი

npm დააინსტალირეთ socket.io

მითითებები:

www.npmjs.com/package/express სწრაფი, მინიმალისტური ვებ ჩარჩო

www.npmjs.com/package/socket.io Socket. IO იძლევა რეალურ დროში ორმხრივ ღონისძიებაზე დაფუძნებულ კომუნიკაციას

ნაბიჯი 4: აპარატურა

აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა

გამოყენებული წინააღმდეგობის ღირებულებები განსხვავებულია, რადგან ძაბვის ვარდნა და ეფექტურობა განსხვავდება სამივე LED ფერის სეგმენტებისთვის. GPIO მაღალი გამომუშავების დონე იყო დაახლოებით 3.2 ვოლტი. თითოეული LED სეგმენტი შემოწმებულია იმის უზრუნველსაყოფად, რომ ის მოიხმარს არანაკლებ 20ma მაქსიმუმს და დაახლოებით 40ma- ს ერთად (<50ma max მაქსიმალურად დასაშვებია), რასაც PiZero ადვილად უმკლავდება. მე მივიღე იმდენი გამომავალი სიკაშკაშე, რამდენადაც შემეძლო, პირდაპირ მამოძრავებელი LED; რაც საკმარისია ჩემი საჭიროებისთვის. უფრო მაღალი დინების მართვისთვის, ბევრად უფრო ნათელი გამომავალი, შუალედური დრაივის ტრანზისტორები შეიძლება გამოყენებულ იქნას საერთო ანოდის LED- ით, მისი ანოდი უკავშირდება 5v ხაზს. PS: როგორც ჩემი სხვადასხვა თეთრი დონე გამოდის ოდნავ მოლურჯო, 27 ნაცვლად 24 Ohm უკეთესი არჩევანი იქნებოდა ჩემთვის.

გაითვალისწინეთ, რომ მე გამოვიყენე სათაური მამრობითი ქინძისთავებით და დაკავშირებულია LED ფეხებთან F-F მხტუნავებით. ამან შეინარჩუნა მთლიანი სიმაღლე. მე წინააღმდეგობა გავამაგრე მხტუნავთა შუაში. მიკროსქემის დაფის ან გამაგრების გარეშე დაფის გამოყენებამ, WiFi დონგისთვის მიკრო USB- დან USB ადაპტერის მარჯვენა კუთხის გამოყენებამ, საბოლოო შეკრება საკმაოდ კომპაქტური გახადა.

დიფუზორისთვის მე გირჩევთ პინგ-პონგის ბურთს (ადვილია ხვრელის გაბურღვა იმდენად დიდი, რომ განათავსოთ თქვენი 5-8-10 მმ LED). ან გათიშეთ LED ნათურის ზედა ნაწილი (რომელიც იყენებს პლასტმასის დიფუზორს). ამ მარკირებისთვის გამოიყენეთ ხაზი, წვრილი წერტილის მახვილით, სადაც გსურთ გაჭრა და გამოიყენეთ დრემელის მსგავსი ინსტრუმენტი თხელი გათიშული მიმაგრებით. თუ მოგწონთ, შეგიძლიათ გამოიყენოთ პატარა დაჭრილი მინის ქილა ან სასმელი ჭიქა. მას შემდეგ რაც ერთ დიფუზორზე მოაგვარებთ, მიამაგრეთ იგი კორპუსის თავზე.

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

ნაბიჯი 5: პროექტის პროგრამული უზრუნველყოფა

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

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

აქ არის ის, რაც მე გავაკეთე: მაგრამ თქვენ არ გჭირდებათ, რადგან მე მოგაწოდეთ tar-gzip ფაილი, რომელიც შეიცავს შედეგად მიღებულ ფაილ-ხეს.

NodeJS სერვერის დაყენება:

cd

mkdir node_rgb cd node_rgb mkdir საჯარო

ჩადეთ 'index.html' და 'style.css' '~/node_rgb/public' დირექტორიაში 'rgbDriver.c' და 'rgb_main.js' '~/node_rgb' დირექტორიაში

შეადგინეთ/შექმენით c პროცესი 'rgbDriver':

cd ~/node_rgb

cc -o rgbDriver rgbDriver.c -lwiringPi -lpthread

ეკვივალენტობის გადმოწერა და გაფართოება

Node_rgb.tgz (ქვემოთ) თქვენს Pi-Zero– ში თქვენი სახლის კატალოგში (~ pi) გადმოსაწერად შეგიძლიათ გააკეთოთ შემდეგი სამიდან ერთი:

  1. ჩამოტვირთეთ ბრაუზერიდან თქვენი Pi-Zero- ს GU გადაადგილეთ ფაილი ~ pi/
  2. თქვენთან დაკავშირებული ტერმინალის ფანჯარაში Pi-Zero: cd ~ piwget

    mv FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. ჩამოტვირთეთ თქვენი დესკტოპის კომპიუტერის ბრაუზერიდან. გამოიყენეთ WinSCP, რომ დააკოპიროთ იგი Pi-Zero– ს ~ pi დირექტორიაში

შესრულების შემდეგ #1 2 ან 3 ზემოთ…

cd

tar -xzvf node_rgb.tgz ხე node_rgb… node_rgb ├── public │ ├── Dow_Jones_Index.html ├── ├── index.html └── └── style.css ├── rgbDriver ├── rgbDriver.c ├── rgb_main. js ├── start_rgb ├── kill_rgb └── track_dji

შედეგად შესრულებადი (ზემოდან) 'rgbDriver' შეიძლება გამოყენებულ იქნას დამოუკიდებლად Node.js ინტერფეისის პროცესისაგან.

იმის დასადასტურებლად, რომ ეს დრაივერი და აპარატურა მუშაობს, მიაწოდეთ დრაივერს სამი მნიშვნელობის კომპლექტი (0-255), გამოყოფილია სივრცეთი. მომწონს 'ექო 255 0 0 |./rgbDriver 'წითელი ან' ექო 0 255 0 |./rgbDriver 'მწვანე. გაითვალისწინეთ, რომ "./" ეუბნება OS- ს, რომ იპოვოს ჩვენი პროგრამა "rgbDriver" მიმდინარე დირექტორიაში. როდესაც თქვენ გასცემთ a ^c (cntl-c) დრაივერის გაჩერებას, led შეიძლება დარჩეს ან არ დარჩეს. ალტერნატიულად, თქვენ შეგიძლიათ ინტერაქტიული შესანახი მისი ღირებულებები. სცადეთ აკრიფოთ ბრძანების სტრიქონიდან ეს ხაზები ერთმანეთის მიყოლებით და უყურეთ LED- ს.

./rgb მძღოლი

0 255 0 100 0 100 255 255 0… და ა.შ… ^გ

დარწმუნდით, რომ თქვენ არ გაქვთ ამ პროცესებიდან 2 პარალელურად.

პროგრამული უზრუნველყოფის სრული კომპლექტის გასაშვებად, Node.js სერვერის ჩათვლით გამოიყენეთ ეს ბრძანება:

sudo კვანძი rgb_main.js

შემდეგ გამოიყენეთ cntl-c, როდესაც გსურთ შეაჩეროთ Node.js სერვერი. გაუშვით

sudo კვანძი rgb_main.js &

მისი გაშვება უკანა მიდამოში, მაგრამ შემდეგ თქვენ უნდა გამოიყენოთ ბრძანება "sudo kill -9 pid" მის შესაჩერებლად. თუ ეს ბრძანება თქვენთვის უცხოა, გადახედეთ ამ ბრძანებების გამომავალს: 'man kill' & 'man sudo'.

გამოიყენეთ ბრაუზერი თქვენს სამუშაო მაგიდაზე, ტაბლეტზე ან ტელეფონზე, რომელიც დაკავშირებულია თქვენს ადგილობრივ ქსელთან. გადადით https:// raspberrypi: 8080/ან თუ ეს არ მუშაობს გამოიყენეთ მოწყობილობის IP მისამართი (მიღებული cmd 'ifconfig') რაღაც 192.168.1.15 პლუს პორტის სპეციფიკაცია: 8080 ან თუ იყენებთ Pi-Zero- ს GUI: localhost: 8080 იმუშავებს.

გამოიყენეთ RGB სლაიდერი, გვერდზე, რომელიც გამოჩნდება და უყურეთ RGB-LED ნათურას.

სხვა დამხმარე ბრძანებები გაითვალისწინეთ, რომ თუ თქვენ დასრულდება ერთზე მეტი 'rgbDriver' ერთდროულად, თქვენ სავარაუდოდ არაპროგნოზირებადი ქცევა გექნებათ. თუ თქვენ სცადეთ და გაუშვით rgb_main.js– ის მეორე ასლი, ის შეცდომა იქნება.

ეს ბრძანება ჩამოთვლის ყველა დაკავშირებულ პროცესს:

ps aux | grep rgb

ეს ბრძანება კლავს nodeJS ყველა პროცესს, ასევე 'rgbDriver' ბავშვის პროცესებს:

sudo ps aux | grep კვანძი.*rgb | awk '{print "sudo kill -9" $ 2}' | შ

დამოუკიდებელი ოპერაცია

იმისათვის, რომ Pi-Zero დაიწყოს Node.js სერვერის აპლიკაცია ჩატვირთვისას … თქვენი საყვარელი რედაქტორის გამოყენებით (მაგ. Nano ~/.bash_profile), ჩაწერეთ შემდეგი სტრიქონები და შეინახეთ ~/.bash_profile

cd node_rgb

sudo კვანძი rgb_main.js &

ტერმინალური ფანჯრის გახსნისას შემაშფოთებელი შეცდომის შეტყობინებების თავიდან ასაცილებლად გამოიყენეთ პირობითი კოდირება, როგორიცაა shell სკრიპტი "start_rgb" ფაილში

როდესაც Pi-Zero მუშაობს ჩაშენებული, კლავიატურის, მაუსის ან მონიტორის გარეშე; გრაფიკული მომხმარებლის ინტერფეისი მიიღებს პროცესორის მინიმალურ დროს, რადგან არ იქნება მომხმარებლის ურთიერთქმედება. მე არ ვთიშავ ავტო GUI გაშვებას, რადგან Pi-Zero- ს მეტი რესურსი აქვს ვიდრე საჭიროა, ამ შემთხვევაში; და მომწონს, რომ შემიძლია რამდენიმე კაბელის დაკავშირება და გამოყენება, მომავალში ნებისმიერ დროს. თუმცა, ეს არ არის აუცილებელი, რადგან თქვენ შეგიძლიათ გამოიყენოთ დისტანციური SSH ტერმინალი (მაგ. PuTTY) ნებისმიერი საჭირო მოვლისთვის.

იგი გამოიყენება როგორც ღონისძიების მონიტორი

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

თუ გსურთ გამოიყენოთ თქვენი მოწყობილობა, ისევე როგორც მე, როგორც გამოყოფილი, დამოუკიდებელი, Dow Index ცვლილების ინდიკატორი დავამატებ ამ ხაზებს ~/.bash_profile ფაილის ბოლოს, ან როგორც სასურველი SSH და გამოვცემ მეორე ბრძანების ხაზს რა თუ შემდგომში გსურთ დისტანციური მართვის გამოყენება 'მოკალი -9', შედეგად ნათლისღების ბრაუზერის პროცესი.

ძილი 20

epiphany-browser-ჩვენება =: 0.0 localhost: 8080/Dow_Jones_Index.html &

ინდიკატორი აანთებს ღია ნაცრისფერს 0. მნიშვნელობის გათვალისწინებით. ის უფრო და უფრო მწვანე ხდება უფრო მაღალი მნიშვნელობებით. ის ყველაზე კაშკაშა სუფთა მწვანეა დაახლოებით 250 -ზე. უფრო მაღალი მნიშვნელობები იწვევს თავდაპირველად ზედაპირულ ბზინვარებას, ყველაზე ღრმა ბზინვარებამდე დაახლოებით 500 -ს.

განახლება 2018 წლის მაისი

მე შევქმენი ახალი ვებ გვერდი (SolarStorm_devCon.html, თან ერთვის.txt ფაილი, რადგან.html ფაილი არ იტვირთება), რომელიც აგროვებს გეომაგნიტური ქარიშხლის ინფორმაციას (რომელსაც შეუძლია წინასწარმეტყველოს დამანგრეველი CME, EMP) და იყენებს მას ფერის წარმოსაჩენად მასშტაბი ასახავს ერთგვარ გეო-ქარიშხალ 'DevCon' ინდექსს. მიუთითებს კატასტროფის პოტენციალზე ელექტრომაგნიტური პულსის (EMP) გამო კოსმოსური ამინდის, სავარაუდოდ მზის აფეთქებების ან კორონალური მასის განდევნის (CME) შედეგად. გამოიყენეთ იგი ისე, როგორც თქვენ გამოიყენებდით "Dow_Jones_Index.html".

ნაბიჯი 6: დისტანციური ვებ გვერდის კონტროლი

Image
Image

ამ ეტაპზე თქვენ შეგიძლიათ აკონტროლოთ თქვენი IOT ფერადი ნათურა ნებისმიერი ადგილიდან თქვენს ადგილობრივ ქსელში. როგორ გახადოთ ის ხილული საჯარო ინტერნეტში არ არის ამ ინსტრუქციის ნაწილი. თუ თქვენ დააყენებთ საჯარო IP თქვენს მოწყობილობას, მაშინ დაგჭირდებათ გამოიყენეთ ეს IP ღია socket ბრძანებაში თქვენი გვერდების JavaScript– ში (მაგ. ~/node_rgb/public/index.html)

მე ვგეგმავ გამოვიყენო ჩემი Pi-Zero IOT მოწყობილობა, როგორც რეალურ დროში ფერის მაჩვენებელი დოუ ჯონსის ინდექსის დღის ცვლილებისთვის. მე შევქმენი გვერდი, რომელიც ამას აკეთებს, რომელიც იღებს json მონაცემებს google.com/finance– დან. მე შემდგომ შევქმენი რამდენიმე ვებ გვერდი ამ პატარა IOT მოწყობილობის გამოყენების ფართო სპექტრის დემონსტრირებისთვის. ვიდრე ჩემი PiZero– ს საჯარო ინტერნეტში განთავსება, მე უმასპინძლა გვერდებს ჩემს არსებულ საჯარო ვებ სერვერზე (ამჟამად @ 71.84.135.81 aka: https://raspi.ddns01.com/ როდესაც მუშაობს ჩემი უფასო დინამიური დომენის სახელის სერვერი), რომელიც მუშაობს ორიგინალურ ვერსიაზე B Raspberry-Pi რა

კოდში ჩემს დისტანციურ გვერდებზე გავხსენი სოკეტის კავშირები 192.168.1.41:8080 ანალოგიურად უნდა დაიცვას მითითებები შექმნის-ჟოლო-პი-ერთად-wifi-and-a-static-ip სათაურით: სტატიკური IP მისამართი. ასე რომ, თუ თქვენს PiZero- ს დააყენებთ 192.168.1.41 თქვენს ადგილობრივ ქსელში, ჩემი ვებ გვერდიდან გახსნილი ეს გვერდები დაუკავშირდება თქვენს მოწყობილობას, რადგან კავშირი ხდება კლიენტის მხრიდან.

აქ არის ის გვერდები, რომლებიც მე გამოვიყენე ჩემი Pi-Zero IOT განათების მოწყობილობის შესამოწმებლად და მუშაობისთვის. თუ თქვენ აამაღლებთ ამ გვერდებს (https://71.84.135.81/iot/rgbLamp/ aka https://raspi.ddns01.com/iot/rgbLamp/ ან ამ გვერდზე რომელიმე გვერდს) კლიენტის მხრიდან JavaScript იქნება ამოძრავეთ თქვენი შექმნილი IOT შუქი (იმის გათვალისწინებით, რომ ის მუშაობს ამ url– ზე “192.168.1.41:8080”) თუ გსურთ, შეგიძლიათ დააკოპიროთ რომელიმე ამ გვერდის წყარო და შეცვალოთ თქვენი სურვილისამებრ.

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

ერთი გვერდი არის მარტივი ღილაკით კონტროლირებადი შუქნიშანი.

არსებობს გვერდი, რომელიც შექმნილია სპორტული შეჯიბრების (მაგალითად, ფეხბურთი, კალათბურთი, ბეისბოლი), არჩევნების დასათვალიერებლად, ან თუნდაც ადაპტირებული ფონდის შემგროვებლის ან DEFCON განგაშის დონის სტილის ინდიკატორისთვის. ქულები (ან საარჩევნო ხმები) შეიძლება ავტომატურად მიიღოთ ვებ სერვისიდან ან ამოიღოთ სხვა ვებ გვერდიდან. მე არ მაქვს ავტომატური არხი, რომელიც მართავს ჩემს Contest_demo გვერდს. ვინმეს, რომელსაც აქვს სათანადო ცოდნა, შეუძლია დაამატოთ დრაივერი, რომ აწარმოოს მაღალი სიმძლავრის LED შუქნიშანი და დააბანოს ოთახი (ან სპორტული ბარი) გუნდის ფერით, როდესაც ისინი წინ არიან. სამწუხაროდ, მე ძალიან გვიან ვასწავლი წლევანდელ სუპერ თასის წვეულებებს, მაგრამ დროა 2016 წლის არჩევნები.

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

ამ 4 გვერდიდან მხოლოდ პირველი (Pi-Zero- ზე დაფუძნებული index.html გვერდზე) უსმენს სერვერის განახლებულ შეტყობინებებს და შესაბამისად განაახლებს. ყველა დანარჩენი მხოლოდ სერვერზეა გაგზავნილი.

გირჩევთ: