Სარჩევი:
- ნაბიჯი 1: დასაწყისი Node-red
- ნაბიჯი 2: მონაცემთა გაყოფა კვანძ-წითელში
- ნაბიჯი 3: მონაცემთა ბაზა Wampserver– ით
- ნაბიჯი 4: მონაცემთა ბაზა
- ნაბიჯი 5: კვანძი-წითელი Wampserver– ზე
- ნაბიჯი 6: მონაცემების გამოყენება Wampserver– დან Node-red– მდე
- ნაბიჯი 7: დასრულება
ვიდეო: UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ მშენებლობის მიზანია ასწავლოს Arduino– ს Node-red– თან და მონაცემთა ბაზასთან დაკავშირების შესახებ, ასე რომ თქვენ შეგიძლიათ შეხვიდეთ მონაცემები და ასევე შეაგროვოთ იგი შემდგომი გამოყენებისთვის.
ამ აღნაგობისთვის ვიყენებ არდუინოს განგაშის მარტივ სისტემას, რომელიც გამოაქვს 5 მონაცემთა ნომერი, რომელთაგან თითოეული გამოყოფილია მძიმით.
არ არის აუცილებელი მონაცემების ზუსტი რაოდენობა და პროგრამა შეიძლება იყოს რაიმე.
მნიშვნელოვანი ნაწილი ის არის, რომ მონაცემები გამოყოფილია მძიმეებით, როგორც ეს ჩანს ამ ეკრანის სურათზე.
მაგალითად, გამომავალი შეიძლება ასე გამოიყურებოდეს: "324, 0, 0, 1, 1"
(arduino– ს შექმნის დასრულებული პროგრამირება და ინსტრუქციები მოცემულია ამ გაკვეთილის ბოლოში)
ნაბიჯი 1: დასაწყისი Node-red
ამ გაკვეთილისთვის ჩვენ ვივარაუდოთ, რომ თქვენ უკვე დაინსტალირებული გაქვთ Node-red, მაგრამ არის დამატებითი პალიტრები, რომლებიც გამოიყენება ამ პროექტისათვის და ჩვენ გვჭირდება მისი მუშაობისთვის
იპოვეთ ღილაკი "პალიტრის მართვა" და დააინსტალირეთ შემდეგი პალიტრები.
- კვანძი-წითელი დაფა
- კვანძი-წითელი-კვანძი-mysql
- კვანძი-წითელი-კვანძი-არდუინო
- node-red-node-serialport
მას უნდა აჩვენოს ახალი პალიტრები Node- წითელი ღილაკის მენიუს მხარეს.
ნაბიჯი 2: მონაცემთა გაყოფა კვანძ-წითელში
ახლა, როდესაც Node-red მზად არის წასასვლელად, ჩვენ უნდა დავიწყოთ ჩვენი მონაცემების ცალკეულ ნაწილებად დაყოფით.
სწორედ ამიტომ ჩვენ დავრწმუნდით, რომ ისინი გამოვყოთ მძიმეებით არდუინოს კოდში.
ჯერ დავიწყოთ Arduino შეყვანის კვანძის ჩამოშლით, რომელიც გვხვდება მარცხენა მხარეს.
თქვენ უნდა დარწმუნდეთ, რომ მას აქვს სწორი სერიული (Mine uses COM4) პორტი და Baud განაკვეთი (ჩემს პროგრამაში ვიყენებ 9600 baud განაკვეთს)
თუ სწორად არის დაყენებული, უნდა ითქვას, რომ ის დაკავშირებულია.
შემდეგ ჩვენ ვქმნით Javascript ფუნქციის ბლოკს და ვუკავშირდებით მას Arduino შეყვანის კვანძის შემდეგ. ეს ბლოკი საშუალებას გვაძლევს პროგრამირება გავაკეთოთ Javascript– ში და აქ ჩვენ ვწერთ კოდს, რომელსაც შეუძლია ჩვენი მონაცემების გაყოფა თითოეული მძიმით.
ამ ფუნქციის ბლოკში მე გავყავი ჩემი 5 მონაცემი შემდეგი კოდის გამოყენებით:
var m1 = {თემა: "light1", დატვირთვა: msg.payload.split (",") [0]}; var m2 = {თემა: "light2", payload: msg.payload.split (",") [1]}; var m3 = {თემა: "light3", დატვირთვა: msg.payload.split (",") [2]}; var m4 = {თემა: "millis", დატვირთვა: msg.payload.split (",") [3]}; var m5 = {თემა: "გამორთვა", დატვირთვა: msg.payload.split (",") [4]}; დაბრუნება [m1, m2, m3, m4, m5];
(შეცვალეთ კოდი საჭიროებისამებრ)
დარწმუნდით, რომ კვანძი არის 5 გამომავალი (ან თქვენი ექვივალენტი)
როგორც ეკრანის სურათზე ჩანს, ჩვენ ახლა გვაქვს 5 გამოსავალი, რომელთაგან თითოეული ჩვენ ვაკავშირებთ გამართვის კვანძთან და ტექსტის დაფის კვანძთან. ეს სასარგებლო იქნება მაშინ, როდესაც ჩვენ გვჭირდება მისი ინტერფეისის ნახვა.
ნაბიჯი 3: მონაცემთა ბაზა Wampserver– ით
იმისათვის, რომ ჩვენი მონაცემთა ბაზა იმუშაოს, თქვენ უნდა გქონდეთ Wampserver დაინსტალირებული. მას შემდეგ რაც დაინსტალირდება და გამოჩნდება როგორც მწვანე ხატი (მას შემდეგ რაც დაიწყებთ ყველა სერვისს), თქვენ უნდა გახსნათ "phpMyAdmin" რომელიც უნდა მიგიყვანოთ შესვლის ეკრანზე. თუ არ გაქვთ ადრე შეიცვალა, უბრალოდ შეიყვანეთ "root" მომხმარებლის სახელი და შესვლა.
დააჭირეთ phpmyadmin ღილაკს ინსტრუმენტების ქვეშ მარცხენა ზოლში და ის უნდა გახსნას მონაცემთა ბაზის მენიუ, რომელიც ჰგავს ზემოთ ნაჩვენები სურათს.
შექმენით ახალი მონაცემთა ბაზა და დაასახელეთ ის თქვენს პროექტთან დაკავშირებული, ჩემსას ჰქვია "განგაშის სისტემა" (ეს სახელები იქნება ასოების მგრძნობიარე)
ამ მონაცემთა ბაზის ქვეშ შექმენით ახალი ცხრილი და დაასახელეთ, ჩემს დაარქვეს "alarmdata"
ის გკითხავთ, გსურთ თუ არა გამოიყენოთ "latin1_swedish_ci" და ჩვენ უბრალოდ ასე ვინახავთ.
ახლა თქვენ ქმნით 6 ცხრილს (1 -ით მეტი ვიდრე ჩვენ მიერ მიღებული მონაცემები)
პირველ ცხრილში უნდა იყოს გამოყენებული მონაცემთა ტიპი "longtext"
და დანარჩენი მონაცემთა ნაკრები იყენებს "საშუალო ტექსტს"
დარწმუნდით, რომ დაასახელეთ ისინი. (პირველ მონაცემთა ნაკრებს უნდა ერქვას "დრო"
ნაბიჯი 4: მონაცემთა ბაზა
Wampserver მონაცემთა ნაკრები ასე უნდა გამოიყურებოდეს.
(მაგრამ რეალური მონაცემების გარეშე, რადგან ჩვენ ჯერ არ მივსულვართ)
ნაბიჯი 5: კვანძი-წითელი Wampserver– ზე
ახლა ჩვენ გვინდა, რომ ჩვენი arduino– დან გამომავალი მონაცემები წავიდეს ჩვენს Wampserver– ზე.
დაიწყეთ Javascript– ის სხვა ფუნქციის ბლოკის შექმნით და დაუკავშირეთ იგი ჩვენს არდუინოს შეყვანის კვანძს.
ამ სკრიპტის ბლოკში, ჩვენ კიდევ ერთხელ გავანაწილეთ ჩვენი მონაცემები, მაგრამ ასევე ჩავსვით ჩვენს მონაცემთა ბაზაში.
var data = msg.payload.split (","); var Green1 = მონაცემები [0]; var Green2 = მონაცემები [1]; var განგაში = მონაცემები [2]; var Millis = მონაცემები [3]; var IsActive = მონაცემები [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+ახალი თარიღი (). toISOString (). ნაჭერი (0, 19). შეცვლა (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+სიგნალიზაცია+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = გარეთ; დაბრუნების მესიჯი;
შენიშვნა მე შევიტანე "INSERT INTO alarmsystem.alarmdata", ეს არის სახელი, რომელიც ჩვენ მივეცით ჩვენს მონაცემთა ბაზას და ცხრილს, დარწმუნდით, რომ თქვენ დაწერთ ზუსტ სახელს, რომელიც თქვენ მიანიჭეთ თქვენს მონაცემთა ბაზას.
ახლა შეაერთეთ Javascript ბლოკი გამართვის კვანძთან და ასევე "mysql" კვანძთან, რომელიც გვხვდება შესანახი პალიტრის ქვეშ მარცხენა მხარეს.
mysql ბლოკის ქვეშ თქვენ ასახელებთ მას იგივე როგორც თქვენი მონაცემთა ბაზა "განგაშის სისტემა"
შეცვალეთ მომხმარებელი "root" (სახელი, რომელსაც ჩვენ ვიყენებდით ჩვენს სერვერზე შესასვლელად)
მასპინძელი, პორტი და მონაცემთა ბაზა უკვე უნდა იყოს შევსებული:
მასპინძელი: 127.0.0.1
პორტი: 3306
მონაცემთა ბაზა: განგაშის სისტემა
თუ ყველაფერი სწორად გაკეთდა, ის უნდა იყოს დაკავშირებული თქვენი ცვლილებების დანერგვის შემდეგ.
თქვენ ასევე უნდა გქონდეთ იმის დანახვა, რომ მონაცემთა ბაზა ახორციელებს თქვენს მონაცემებს Arduino– დან პირდაპირ.
ნაბიჯი 6: მონაცემების გამოყენება Wampserver– დან Node-red– მდე
საბოლოო მონაკვეთისთვის ჩვენ გვინდა ვნახოთ, შეგვიძლია თუ არა ავიღოთ შენახული მონაცემები და დავუბრუნოთ ჩვენს წითელ კვანძში და იმედია გამოვაჩინოთ.
დაიწყეთ "ინექციის" კვანძის განთავსებით
ამ კვანძის თემის ქვეშ ჩვენ ვდებთ კოდს: SELECT*FROM alarmsystem.alarmdata
ეს შეძლებს ჩვენი მონაცემთა ბაზის პოვნას მისი დაჭერისას.
შეაერთეთ ინექციის კვანძი ახალ "mysql" კვანძთან, რომელიც დაყენებულია ზუსტად ისე, როგორც წინა ნაბიჯში გავაკეთეთ.
შეაერთეთ mysql კვანძი გამართვის კვანძთან და დაფის ქვეშ ნაპოვნი შაბლონის კვანძი.
შაბლონის კვანძი იქნება ჩვენი ცხრილი, რომლის განახლებაც ჩვენ შეგვიძლია მონაცემთა ბაზის მონაცემების წარმოქმნისას.
შეიყვანეთ ეკრანის სურათზე ნაჩვენები კოდი (საჭიროებისამებრ შეცვლა) და ის ახლა უნდა აჩვენოს მონაცემთა ცხრილს ჩვენს კვანძ-წითელ ინტერფეისში.
ჩვენ ასევე შეგვიძლია დავამატოთ დაფის ღილაკი, რომ განაახლოთ ცხრილი თავად ინტერფეისიდან.
დაიწყეთ ღილაკის კვანძის შექმნით.
დააკავშირეთ ღილაკის კვანძი Javascript ფუნქციის ბლოკთან.
ფუნქციის ბლოკში ჩადეთ შემდეგი კოდი.
msg.topic = "აირჩიეთ * სიგნალიზაციის მონაცემების შეკვეთა Green1 DESC LIMIT 20"; დაბრუნების msg;
(Green1 არის მონაცემების პირველი ცვლადი ცხრილში)
ეს ფუნქციის ბლოკი მაშინ უნდა იყოს დაკავშირებული ჩვენი mysql კვანძის შეყვანასთან, რომელიც ადრე გავაკეთეთ ამ ნაბიჯში.
ნაბიჯი 7: დასრულება
ახლა ჩვენი ინტერფეისი უნდა შეიცავდეს ჩვენი მონაცემების პირდაპირ განახლებას და ცხრილს ჩვენი სერვერის მონაცემებით.
ეს ნიშნავს, რომ ჩვენ შევქმენით კავშირი Arduino– ს, ინტერფეისზე დაფუძნებულ პროგრამასა და მონაცემთა ბაზას შორის.
თუ თქვენ დაინტერესებული ხართ როგორ მუშაობს ჩემი Arduino სიგნალიზაცია, მე დავამატე დოკუმენტი, რომელიც განმარტავს, თუ როგორ არის დაპროგრამებული და დაყენებული.
ასევე კვანძ-წითელი პროგრამირების სრული ექსპორტი.
გირჩევთ:
როგორ გავხადოთ ტენიანობა და ტემპერატურა რეალურ დროში მონაცემთა ჩამწერი Arduino UNO და SD ბარათით - DHT11 მონაცემთა მრიცხველის სიმულაცია Proteus– ში: 5 ნაბიჯი
როგორ გავხადოთ ტენიანობა და ტემპერატურა რეალურ დროში მონაცემთა ჩამწერი Arduino UNO და SD ბარათით | DHT11 მონაცემთა მრიცხველის სიმულაცია Proteus- ში: შესავალი: გამარჯობა, ეს არის Liono Maker, აქ არის YouTube ბმული. ჩვენ ვაკეთებთ შემოქმედებით პროექტს Arduino– სთან და ვმუშაობთ ჩამონტაჟებულ სისტემებზე. Data-Logger: მონაცემთა მრიცხველი (ასევე მონაცემების ჩამწერი ან მონაცემთა ჩამწერი) არის ელექტრონული მოწყობილობა, რომელიც დროთა განმავლობაში აფიქსირებს მონაცემებს
მონაცემთა მოპოვებისა და მონაცემთა ვიზუალიზაციის სისტემა MotoStudent Electric Racing Bike– ისთვის: 23 ნაბიჯი
მონაცემთა მოპოვებისა და მონაცემთა ვიზუალიზაციის სისტემა MotoStudent Electric Racing Bike: მონაცემთა მოპოვების სისტემა არის აპარატურისა და პროგრამული უზრუნველყოფის ერთობლიობა, რომელიც მუშაობს გარე სენსორების მონაცემების შეგროვების მიზნით, შემდგომში შესანახად და დამუშავების მიზნით, რათა ის იყოს ვიზუალურად გრაფიკული და გაანალიზებული, ინჟინრებს საშუალებას აძლევს გააკეთონ
2D Art პროგრამირებადი LED- ებით და პერსონალიზირებული ბაზით და ლოგოთი: 5 ნაბიჯი (სურათებით)
2D ხელოვნება პროგრამირებადი LED- ებით და კონფიგურირებადი ბაზითა და ლოგოთი: კეთილი იყოს ინსტრუქტაჟი! დღეს მე გაჩვენებთ თუ როგორ უნდა გააკეთოთ 2D ხელოვნების პროექტი ლოგოთი და თქვენი არჩევანის საერთო დიზაინით. მე გავაკეთე ეს პროექტი, რადგან მას შეუძლია ასწავლოს ხალხს მრავალი უნარი, როგორიცაა პროგრამირება, გაყვანილობა, 3D მოდელირება და სხვა. ეს
EAL-Industri4.0-RFID მონაცემთა დამთვალიერებელი მონაცემთა ბაზა: 10 ნაბიჯი (სურათებით)
EAL-Industri4.0-RFID მონაცემთა დამთვალიერებელი მონაცემთა ბაზა: შეიმუშავეთ ყველა გზა, რათა დარეგისტრირდეთ და დაარეგისტრიროთ იდენტიფიკატორით. RFID, მონაცემების ჩამორჩენა MySQL მონაცემთა ბაზაში. node-RED, როგორც წესი, ვიცავთ და ვიმუშავებ მონაცემების და C# პროგრამის სახით Windows Form Application– ის საშუალებით
Super Mario Bros Inspired Wii USB ბაზით: 5 ნაბიჯი (სურათებით)
Super Mario Bros შთაგონებული Wii USB ბაზით: ამ სასწავლო პროგრამაში მე გაჩვენებთ, თუ როგორ შევარჩიე ჩემი Wii Super Mario Bros თემაზე, მაგრამ ძირითადად როგორ დავამატო დამტენი და USB პორტი ბაზასა და კონსოლში. გაფრთხილება: მე არ ვარ პასუხისმგებელი, თუ გააუქმებთ თქვენს Wii– ს, თქვენ გააუქმებთ გარანტიას, თუკი