Мазмуну:
- 1-кадам: Node-red менен баштоо
- 2-кадам: Маалыматтарды түйүн-кызылга бөлүү
- 3 -кадам: Wampserver менен маалымат базасы
- 4 -кадам: Маалыматтар базасы
- 5-кадам: Wampserverге түйүн-кызыл
- 6-кадам: Wampserverден Node-redге чейин маалыматтарды колдонуу
- 7 -кадам: Аяктоо
Video: UCL-IIOT-Сигналдар системасы маалымат базасы жана түйүн-кызыл: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул куруунун максаты-Arduino-ны Node-red жана маалымат базасы менен туташтыруу жөнүндө үйрөтүү, андыктан сиз маалыматтарды каттап, кийинчерээк колдонуу үчүн чогулта аласыз.
Бул курууда мен ардуино үтүр менен бөлүнгөн 5 маалыматтын санын чыгаруучу жөнөкөй arduino сигнализация системасын колдоном.
Маалыматтын так суммасынын болушу шарт эмес жана программа кандайдыр бир нерсе болушу мүмкүн.
Маанилүү бөлүгү - бул скриншотто көрүнгөндөй маалыматтар үтүр менен бөлүнгөн.
Чыгуу, мисалы, мындай болушу мүмкүн: "324, 0, 0, 1, 1"
(даяр программалоо жана arduino түзүү боюнча көрсөтмөлөр бул окуу куралынын түбүндө шилтемеленген)
1-кадам: 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 орнотулган болушу керек. Ал орнотулгандан кийин жана жашыл сөлөкөт катары көрсөтүлөт (бардык кызматтарды баштагандан кийин), сиз кирүү экранына алып келүүчү "phpMyAdminди" ачышыңыз керек. мурун аны өзгөрткөн, жөн гана колдонуучунун аты менен логинине "root" киргизиңиз.
Phpmyadmin баскычын сол тилкедеги инструменттердин астына басыңыз жана ал жогорудагы сүрөттө көрсөтүлгөндөй көрүнгөн маалымат базасынын менюну ачышы керек.
Жаңы маалымат базасын түзүңүз жана аны долбооруңузга байланыштуу деп атасаңыз, меники "дабыл системасы" деп аталат (бул аттар регистрди эске алат)
Ошол маалымат базасынын астында, жаңы таблица түзүп, анын атын коюңуз, меники "alarmdata" деп аталат
ал "latin1_swedish_ci" колдонууну каалайсызбы деп сурайт жана биз аны ошол бойдон сактайбыз.
Эми сиз 6 таблица түзөсүз (биздеги маалыматтан 1ге көп)
Биринчи таблица "longtext" маалымат түрүн колдонушу керек
жана калган маалымат топтому "орто текстти" колдонот
Алардын аттарын тактаңыз. (биринчи маалымат топтому "убакыт" деп аталышы керек
4 -кадам: Маалыматтар базасы
Wampserver маалымат базасы ушул сыяктуу болушу керек.
(бирок чыныгы маалымат жок, анткени биз буга жете элекпиз)
5-кадам: 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ге чейин маалыматтарды колдонуу
Акыркы стрейч үчүн биз сакталган маалыматтарды алып, аны кайра 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 Ойготкуч Системасы кандай иштээрине кызыксаңыз, мен анын кантип программаланганын жана орнотулганын түшүндүргөн документти коштум.
Ошондой эле түйүн-кызыл программалоонун толук экспорту.
Сунушталууда:
Манжа изи жана RFIDге негизделген катышуу тутуму Raspberry Pi жана MySQL маалымат базасын колдонот: 5 кадам
Raspberry Pi жана MySQL маалымат базасын колдонгон манжа изи жана RFIDге негизделген катышуу тутуму: Бул долбоордун видеосу
Поезд отургучунун жеткиликтүүлүгү жөнүндө маалымат системасы - ФГК: 8 кадам
Поезд отургучтарынын жеткиликтүүлүгү жөнүндө маалымат системасы - ФГК: Бул проект поездди масштабда ишке ашырууга негизделген, бул бекетте турган адамдарга кайсы орундар бош экенин билүүгө мүмкүнчүлүк берет. Прототипти ишке ашыруу үчүн, Arduino UNO программасы иштетүү менен бирге колдонулат
DIY көп максаттуу робот базасы жана мотор калканы: 21 кадам (сүрөттөр менен)
DIY көп максаттуу робот базасы жана мотор калканы: Саламатсыздарбы, жакында мен Arduino аркылуу робототехника долбоорлорунун үстүндө иштей баштадым. Бирок менде иштөөгө ылайыктуу база жок болчу, жыйынтыгы сонун көрүнгөн жок жана мен көрө алган жалгыз нерсе - бул менин бардык компоненттерим зымдарга чырмалып калган. Кандайдыр бир көйгөй чечилбей жатат
Банан телефонун кантип түзүүгө болот (Land-line) жана банан базасы: 20 кадам (сүрөттөр менен)
Банан телефонун кантип түзүү керек (Ланд-линия) жана Банандын Негизги Бөлүгү: Мына ушундай. Сизде Рождествого бир нече жума калды, жана сиз чындап оригиналдуу жана канчалык жаратуучу экениңизди көрсөткөн белек табышыңыз керек. Миңдеген тандоолор бар, бирок чынында жасагыңыз келген нерсе - банан телефону
Кош IPpod жана мобилдик телефондордун заряддагыч базасы: 4 кадам
Кош IPpod жана мобилдик телефондордун заряддагыч базасы: Бир нече күн мурун менин тез даярдалуучу кофем дагы кофе жасай алган жок, ошондуктан мен денени талкаладым. Мен коммутатор, кабель, мотор тетиктери сыяктуу бардык пайдалуу бөлүктөрдү алдым. Жубайым мага сенсордук под 2 -генди белек кылганда, пластикалык дене аны ыргытууга даяр болчу. Ошентип, мен