Мазмуну:

UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл: 7 кадам
UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл: 7 кадам

Video: UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл: 7 кадам

Video: UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл: 7 кадам
Video: Marvel's Spider-Man Miles Morales Gameplay Walkthrough [Full Game Movie - All Cutscenes Longplay] 2024, Сентябрь
Anonim
UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл менен
UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл менен
UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл менен
UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл менен

Бул куруунун максаты-Arduino-ны Node-red жана маалымат базасы менен туташтыруу жөнүндө үйрөтүү, андыктан сиз маалыматтарды каттап, кийинчерээк колдонуу үчүн чогулта аласыз.

Бул курууда мен ардуино үтүр менен бөлүнгөн 5 маалыматтын санын чыгаруучу жөнөкөй arduino сигнализация системасын колдоном.

Маалыматтын так суммасынын болушу шарт эмес жана программа кандайдыр бир нерсе болушу мүмкүн.

Маанилүү бөлүгү - бул скриншотто көрүнгөндөй маалыматтар үтүр менен бөлүнгөн.

Чыгуу, мисалы, мындай болушу мүмкүн: "324, 0, 0, 1, 1"

(даяр программалоо жана arduino түзүү боюнча көрсөтмөлөр бул окуу куралынын түбүндө шилтемеленген)

1-кадам: Node-red менен баштоо

Node-red менен баштоо
Node-red менен баштоо

Бул үйрөткүч үчүн биз сиз Node-red'ди мурунтан эле орнотуп койгонсуз деп ойлойбуз, бирок бул долбоор үчүн иштөө үчүн керек болгон кошумча палитралар бар.

"Палитраны башкаруу" баскычын таап, төмөнкү палитраларды орнотуңуз.

  • түйүн-кызыл-тактасы
  • түйүн-кызыл-түйүн-mysql
  • түйүн-кызыл-түйүн-ардуино
  • түйүн-кызыл-түйүн-сериялык порт

Бул Node-кызыл баскыч менюсунун жагында жаңы палитраларды көрсөтүшү керек.

2-кадам: Маалыматтарды түйүн-кызылга бөлүү

Маалыматтарды түйүн-кызыл түскө бөлүү
Маалыматтарды түйүн-кызыл түскө бөлүү

Эми Node-red барууга даяр болгондуктан, биз маалыматты бөлүктөргө бөлүүдөн башташыбыз керек.

Мына ошондуктан биз аларды Arduino кодунун ичинде үтүр менен бөлүүнү чечтик.

Биринчиден, сол жактагы панелдеги Arduino киргизүү түйүнүн коюу менен баштайлы.

Туура сериялуу (Mine COM4 колдонот) порт жана Baud ылдамдыгына ээ болушуңуз керек (менин программамда мен 9600 байдын ылдамдыгын колдоном)

Эгерде туура орнотулган болсо, анда ал туташып турат деп айтыш керек.

Кийинки биз Javascript функция блогун түзөбүз жана Arduino киргизүү түйүнүнөн кийин туташтырабыз. Бул блок бизге Javascriptте программалоого мүмкүндүк берет жана бул жерде биз маалыматтарды ар бир үтүргө бөлө турган код жазабыз.

Бул функционалдык блокто мен 5 маалыматымды төмөнкү кодду колдонуп бөлдүм:

var m1 = {topic: "light1", пайдалуу жүк: msg.payload.split (",") [0]}; var m2 = {topic: "light2", пайдалуу жүк: msg.payload.split (",") [1]}; var m3 = {topic: "light3", пайдалуу жүк: msg.payload.split (",") [2]}; var m4 = {тема: "миллис", пайдалуу жүк: msg.payload.split (",") [3]}; var m5 = {theme: "onoff", payload: msg.payload.split (",") [4]}; кайтарым [m1, m2, m3, m4, m5];

(кодду зарылдыгына жараша өзгөртүү)

Түйүн 5 чыгууга коюлганын текшериңиз (же эквивалентиңиз)

Скриншотто көрүнүп тургандай, азыр бизде 5 чыгуу бар, аларды ар бирибиз мүчүлүштүктөрдү оңдоо түйүнүнө жана текст тактасынын түйүнүнө байланыштырабыз. Бул биз UIде көрүшүбүз керек болгондо пайдалуу болот.

3 -кадам: Wampserver менен маалымат базасы

Wampserver менен маалымат базасы
Wampserver менен маалымат базасы

Биздин маалымат базасынын иштеши үчүн сизде Wampserver орнотулган болушу керек. Ал орнотулгандан кийин жана жашыл сөлөкөт катары көрсөтүлөт (бардык кызматтарды баштагандан кийин), сиз кирүү экранына алып келүүчү "phpMyAdminди" ачышыңыз керек. мурун аны өзгөрткөн, жөн гана колдонуучунун аты менен логинине "root" киргизиңиз.

Phpmyadmin баскычын сол тилкедеги инструменттердин астына басыңыз жана ал жогорудагы сүрөттө көрсөтүлгөндөй көрүнгөн маалымат базасынын менюну ачышы керек.

Жаңы маалымат базасын түзүңүз жана аны долбооруңузга байланыштуу деп атасаңыз, меники "дабыл системасы" деп аталат (бул аттар регистрди эске алат)

Ошол маалымат базасынын астында, жаңы таблица түзүп, анын атын коюңуз, меники "alarmdata" деп аталат

ал "latin1_swedish_ci" колдонууну каалайсызбы деп сурайт жана биз аны ошол бойдон сактайбыз.

Эми сиз 6 таблица түзөсүз (биздеги маалыматтан 1ге көп)

Биринчи таблица "longtext" маалымат түрүн колдонушу керек

жана калган маалымат топтому "орто текстти" колдонот

Алардын аттарын тактаңыз. (биринчи маалымат топтому "убакыт" деп аталышы керек

4 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы

Wampserver маалымат базасы ушул сыяктуу болушу керек.

(бирок чыныгы маалымат жок, анткени биз буга жете элекпиз)

5-кадам: Wampserverге түйүн-кызыл

Wampserverге түйүн-кызыл
Wampserverге түйүн-кызыл

Эми биз ардуинодон чыгарып жаткан маалыматтарыбыздын Wampserverге өтүшүн каалайбыз.

Башка Javascript функция блогун түзүүдөн баштаңыз жана аны arduino киргизүү түйүнүбүзгө туташтырыңыз.

Бул сценарий блогунда биз дагы бир жолу маалыматыбызды бөлүштүрөбүз, бирок биз аны базабызга да киргизебиз.

var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var Alarm = data [2]; var Millis = маалыматтар [3]; var IsActive = data [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date (). toISOString (). tilice (0, 19).replace (' T ',') ')+"', '"+Green1+"', '"+Green2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = чыгуу; msg кайтаруу;

"INSERT INTO alarmsystem.alarmdata" деп киргизгениме көңүл буруңуз, бул биздин маалымат базабызга жана таблицага берген ысым, ошондо өзүңүздүн маалымат базаңызга берген так атыңызды жазыңыз.

Эми Javascript блогун мүчүлүштүктөрдү оңдоо түйүнүнө, ошондой эле сол жактагы сактоо палитрасынын астынан табылган "mysql" түйүнүнө туташтырыңыз.

mysql блогунун астында сиз аны "дабыл системасы" маалымат базаңыз менен бирдей атасаңыз болот

колдонуучуну "тамырга" өзгөртүү (биздин серверге кирүү үчүн колдонулган ат)

хост, порт жана маалымат базасы буга чейин толтурулушу керек:

Алып баруучу: 127.0.0.1

Порт: 3306

Маалыматтар базасы: сигнализация системасы

Эгерде баары туура жасалган болсо, анда сиз өзгөртүүлөрдү киргизгенден кийин туташышы керек.

Сиз ошондой эле маалымат базасы азыр Arduino түздөн -түз сиздин маалыматтарды каттайт көрө алгыдай болушу керек.

6-кадам: Wampserverден Node-redге чейин маалыматтарды колдонуу

Wampserverден Node-redге чейин маалыматтарды колдонуу
Wampserverден Node-redге чейин маалыматтарды колдонуу
Wampserverден Node-redге чейин маалыматтарды колдонуу
Wampserverден Node-redге чейин маалыматтарды колдонуу

Акыркы стрейч үчүн биз сакталган маалыматтарды алып, аны кайра Node-redге салып, аны көрсөтө аларыбызды көргүбүз келет.

"Инъекция" түйүнүн коюу менен баштаңыз

Бул түйүндүн темасынын астына биз кодду коебуз: SELECT*FROM alarmsystem.alarmdata

Бул биз басканда биздин маалымат базасын таба алат.

Инъекциялык түйүндү мурунку кадамда кылган жаңы "mysql" түйүнүнө туташтырыңыз.

Mysql түйүнүн мүчүлүштүктөрдү оңдоо түйүнүнө жана панелдин астынан табылган шаблон түйүнүнө туташтырыңыз.

Шаблон түйүнү биздин таблицабыз болот, биз аны базадан алынган маалыматтарды көрсөтүү үчүн жаңырта алабыз.

Жогорудагы скриншотто көрсөтүлгөн кодду киргизиңиз (керек болгондо өзгөртүңүз) жана ал азыр биздин Node-red UI маалымат таблицасын көрсөтүшү керек.

Биз ошондой эле UIдин өзүнөн таблицаны жаңыртуу үчүн панелдин баскычын кошо алабыз.

Кнопка түйүнүн түзүү менен баштаңыз.

баскычтын түйүнүн Javascript функция блогуна туташтыруу.

функционалдык блокко биз төмөнкү кодду киргизебиз.

msg.topic = Green1 DESC LIMIT 20 БОЮНЧА ТАРТИПТЕН ТАНДОО *; кайтаруу msg;

(Green1 столдогу биринчи маалымат өзгөрмөсү)

бул функционалдык блок андан кийин бул кадамда биз жасаган mysql түйүнүнүн киришине туташышы керек.

7 -кадам: Аяктоо

Аяктоодо
Аяктоодо

Эми биздин UI маалыматыбыздын жандуу жаңыртылышын жана серверибиздин өзүнөн алынган маалыматтар бар таблицаны камтышы керек.

Бул биз Arduino, UIге негизделген программа жана маалымат базасы ортосунда байланыш түздүк дегенди билдирет.

Эгерде сиз менин Arduino Ойготкуч Системасы кандай иштээрине кызыксаңыз, мен анын кантип программаланганын жана орнотулганын түшүндүргөн документти коштум.

Ошондой эле түйүн-кызыл программалоонун толук экспорту.

Сунушталууда: