Სარჩევი:

UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი: 7 ნაბიჯი
UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი: 7 ნაბიჯი

ვიდეო: UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი: 7 ნაბიჯი

ვიდეო: UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი: 7 ნაბიჯი
ვიდეო: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, ნოემბერი
Anonim
UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი
UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი
UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი
UCL-IIOT-სიგნალიზაცია მონაცემთა ბაზით და კვანძი-წითელი

ამ მშენებლობის მიზანია ასწავლოს Arduino– ს Node-red– თან და მონაცემთა ბაზასთან დაკავშირების შესახებ, ასე რომ თქვენ შეგიძლიათ შეხვიდეთ მონაცემები და ასევე შეაგროვოთ იგი შემდგომი გამოყენებისთვის.

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

არ არის აუცილებელი მონაცემების ზუსტი რაოდენობა და პროგრამა შეიძლება იყოს რაიმე.

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

მაგალითად, გამომავალი შეიძლება ასე გამოიყურებოდეს: "324, 0, 0, 1, 1"

(arduino– ს შექმნის დასრულებული პროგრამირება და ინსტრუქციები მოცემულია ამ გაკვეთილის ბოლოში)

ნაბიჯი 1: დასაწყისი Node-red

დასაწყისი Node-red
დასაწყისი 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– ით
მონაცემთა ბაზა Wampserver– ით

იმისათვის, რომ ჩვენი მონაცემთა ბაზა იმუშაოს, თქვენ უნდა გქონდეთ Wampserver დაინსტალირებული. მას შემდეგ რაც დაინსტალირდება და გამოჩნდება როგორც მწვანე ხატი (მას შემდეგ რაც დაიწყებთ ყველა სერვისს), თქვენ უნდა გახსნათ "phpMyAdmin" რომელიც უნდა მიგიყვანოთ შესვლის ეკრანზე. თუ არ გაქვთ ადრე შეიცვალა, უბრალოდ შეიყვანეთ "root" მომხმარებლის სახელი და შესვლა.

დააჭირეთ phpmyadmin ღილაკს ინსტრუმენტების ქვეშ მარცხენა ზოლში და ის უნდა გახსნას მონაცემთა ბაზის მენიუ, რომელიც ჰგავს ზემოთ ნაჩვენები სურათს.

შექმენით ახალი მონაცემთა ბაზა და დაასახელეთ ის თქვენს პროექტთან დაკავშირებული, ჩემსას ჰქვია "განგაშის სისტემა" (ეს სახელები იქნება ასოების მგრძნობიარე)

ამ მონაცემთა ბაზის ქვეშ შექმენით ახალი ცხრილი და დაასახელეთ, ჩემს დაარქვეს "alarmdata"

ის გკითხავთ, გსურთ თუ არა გამოიყენოთ "latin1_swedish_ci" და ჩვენ უბრალოდ ასე ვინახავთ.

ახლა თქვენ ქმნით 6 ცხრილს (1 -ით მეტი ვიდრე ჩვენ მიერ მიღებული მონაცემები)

პირველ ცხრილში უნდა იყოს გამოყენებული მონაცემთა ტიპი "longtext"

და დანარჩენი მონაცემთა ნაკრები იყენებს "საშუალო ტექსტს"

დარწმუნდით, რომ დაასახელეთ ისინი. (პირველ მონაცემთა ნაკრებს უნდა ერქვას "დრო"

ნაბიჯი 4: მონაცემთა ბაზა

Მონაცემთა ბაზა
Მონაცემთა ბაზა

Wampserver მონაცემთა ნაკრები ასე უნდა გამოიყურებოდეს.

(მაგრამ რეალური მონაცემების გარეშე, რადგან ჩვენ ჯერ არ მივსულვართ)

ნაბიჯი 5: კვანძი-წითელი Wampserver– ზე

კვანძი-წითელი Wampserver- მდე
კვანძი-წითელი 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– მდე

მონაცემების გამოყენება Wampserver– დან Node-red– მდე
მონაცემების გამოყენება Wampserver– დან Node-red– მდე
მონაცემების გამოყენება Wampserver– დან Node-red– მდე
მონაცემების გამოყენება Wampserver– დან Node-red– მდე

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

დაიწყეთ "ინექციის" კვანძის განთავსებით

ამ კვანძის თემის ქვეშ ჩვენ ვდებთ კოდს: SELECT*FROM alarmsystem.alarmdata

ეს შეძლებს ჩვენი მონაცემთა ბაზის პოვნას მისი დაჭერისას.

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

შეაერთეთ mysql კვანძი გამართვის კვანძთან და დაფის ქვეშ ნაპოვნი შაბლონის კვანძი.

შაბლონის კვანძი იქნება ჩვენი ცხრილი, რომლის განახლებაც ჩვენ შეგვიძლია მონაცემთა ბაზის მონაცემების წარმოქმნისას.

შეიყვანეთ ეკრანის სურათზე ნაჩვენები კოდი (საჭიროებისამებრ შეცვლა) და ის ახლა უნდა აჩვენოს მონაცემთა ცხრილს ჩვენს კვანძ-წითელ ინტერფეისში.

ჩვენ ასევე შეგვიძლია დავამატოთ დაფის ღილაკი, რომ განაახლოთ ცხრილი თავად ინტერფეისიდან.

დაიწყეთ ღილაკის კვანძის შექმნით.

დააკავშირეთ ღილაკის კვანძი Javascript ფუნქციის ბლოკთან.

ფუნქციის ბლოკში ჩადეთ შემდეგი კოდი.

msg.topic = "აირჩიეთ * სიგნალიზაციის მონაცემების შეკვეთა Green1 DESC LIMIT 20"; დაბრუნების msg;

(Green1 არის მონაცემების პირველი ცვლადი ცხრილში)

ეს ფუნქციის ბლოკი მაშინ უნდა იყოს დაკავშირებული ჩვენი mysql კვანძის შეყვანასთან, რომელიც ადრე გავაკეთეთ ამ ნაბიჯში.

ნაბიჯი 7: დასრულება

სრულდება
სრულდება

ახლა ჩვენი ინტერფეისი უნდა შეიცავდეს ჩვენი მონაცემების პირდაპირ განახლებას და ცხრილს ჩვენი სერვერის მონაცემებით.

ეს ნიშნავს, რომ ჩვენ შევქმენით კავშირი Arduino– ს, ინტერფეისზე დაფუძნებულ პროგრამასა და მონაცემთა ბაზას შორის.

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

ასევე კვანძ-წითელი პროგრამირების სრული ექსპორტი.

გირჩევთ: