Мазмуну:
- 1 -кадам: Районду куруу
- 2 -кадам: Эскизди MCU түйүнүнө түзөтүү жана жүктөө
- 3 -кадам: Маалыматтар базасы жана веб -файлдар
- 4 -кадам: Бүткөн жыйынтык
Video: NodeMCU, MySQL, PHP жана Chartjs.org аркылуу Интернетте маалыматтарды жазыңыз жана графикти онлайнда түзүңүз: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул Нускамада биз бир нече сенсорлордон маалыматтарды чогултуу үчүн, Node MCU тактасын кантип колдоно аларыбызды сүрөттөйт, бул маалыматты PHP файлына жөнөтөт, андан кийин маалыматтарды MySQL маалымат базасына кошот. Маалыматтарды онлайнда chart.js аркылуу график катары көрүүгө болот.
Бул проект үчүн PHP жана MySQL боюнча негизги билим талап кылынат жана сиз өзүңүздүн графиктериңизди түзүп жана көрө алышыңыз үчүн, булардын жардамы менен веб хостингге кирүүңүз керек болот. Мен ошондой эле Node MCU тактасын колдонуу жана ага эскиздерди жүктөө боюнча негизги билимге ээ деп ойлойм. (Мен бул үчүн Arduino IDE колдоном)
1 -кадам: Районду куруу
Node MCU бир гана аналогдук пинге ээ болгондуктан, биз бир нече сенсорлордон маалыматтарды окуу үчүн мультиплекстөөнү колдонобуз. (Бир катар көрсөтмөлөр бул түшүнүктү кененирээк камтыйт, ошондуктан мен бул жерге кирбейм). Бул мисалда мен эки сенсорду (жарык жана температура үчүн) колдондум, бирок сиз муну каалаганыңызга өзгөртө аласыз жана керек болсо дагы сенсорлорду кошо аласыз. Менде жарыкка сезгич резистор, термистор, эки түздөөчү диод, 330 омдук резистор жана 10K каршылыгы жана бир нече секирүүчү зымдар бар. Тиркелген Fritzing диаграммасы мунун баары нан тактасында кандайча туташканын көрсөтөт.
2 -кадам: Эскизди MCU түйүнүнө түзөтүү жана жүктөө
Бул тиркелген.ino файлын колдонуңуз. Node MCU өз тармагыңызга туташа алышы үчүн, муну WiFi тармагыңыздын жеке аты жана сырсөзү менен түзөтүшүңүз керек болот.
Бул эскиздин ылдый жагында 'кечиктирүү (60000);' сенсордун окуусунун ортосунда бир мүнөт кечигүүнү берет, бирок муну өзүңүздүн талаптарыңызга ылайыкташтырсаңыз болот. Мен ар бир жолу 'updater.php' файлына туташууга уруксат берүү үчүн кеминде 10 секунд калтырууну сунуштаар элем.
Сиз ошондой эле эки.php файлын жана эки JavaScript файлын жайгаштыра турган жолду түзөтүшүңүз керек болот. Буларды кийинки кадамда жүктөп алсаңыз болот.
3 -кадам: Маалыматтар базасы жана веб -файлдар
MySql маалымат базаңызды түзүңүз. "Temp_light" деп аталган таблица түзүңүз (муну өзгөртө аласыз, бирок сиз киргизген өзгөрүүлөрдү чагылдыруу үчүн эки PHP файлын түзөтүшүңүз керек болот). Таблицага төрт талааны бериңиз. Негизги автоматтык көбөйтүү талаасы. "Temp" деп аталган бүтүн талаа, "жарык" деп аталган бүтүн сан талаасы жана "date_time" деп аталган талаа, ал убакыт белгиси жана "CURRENT_TIMESTAMP" демейки мааниси болот
Эми тиркелген.zip файлын жүктөп алып, аны ачыңыз. Бул сизге эки PHP файлын жана мен chartjs.org сайтынан алган.js файлдарын камтыган 'скрипттер' деген папканы берет. Эки.js файлын түзөтүүнүн кажети жок жана "скрипттер" папкасы сиздин эки PHP файлыңыз менен бир жерде жайгашышы керек. эки php файлын экөө тең жеке маалыматыңыздын аты, сырсөзү жана хост IP менен түзөтүлүшү керек. дареги.
Index.php файлында сиз 50 -сапты көрөсүз: $ adjusted_temp = ($ temp*0.0623);
Бул эсептөө температуранын көрсөткүчтөрүн мүмкүн болушунча градуска чейин айландыруу жана сыноо жана ката менен келген жана дээрлик өзүңүздүн температура сенсоруңузга ылайыкташтырылышы керек.
Эми PHP файлдарын жана эки.js файлын камтыган "скрипттер" папкасын бир каталогдо чогуу жайгаштырыңыз. Ошол каталогду карап чыгыңыз жана Node MCU тактасынан жөнөтүлгөн маалыматтар менен өз графигиңизди көрүшүңүз керек.
4 -кадам: Бүткөн жыйынтык
Мен башында бул долбоорду болжол менен эки жыл мурун жасаганмын, бирок ушул убакка чейин бул үчүн көрсөтмө жазууга эч качан жеткен эмесмин. Менин тестим менен түзүлгөн графикти бул жерден көрө аласыз:
Графиктеги чоң өсүш - бул терезеден күн эки сенсорго тийгенде жана күн акырындык менен көрүнбөй калгандыктан, кайра жай төмөндөө.
Сунушталууда:
Температура жана нымдуулук ESP32-DHT22-MQTT-MySQL-PHP аркылуу: 7 кадам
Температура жана нымдуулукту колдонуу ESP32-DHT22-MQTT-MySQL-PHP: Менин сүйлөшкөн кызым теплица алууну каалагандыктан, мен аны жасадым. Бирок мен теплицанын ичиндеги температура жана нымдуулук сенсорун кааладым. Ошентип, мен мисалдар үчүн googled жана эксперимент баштадым. Менин тыянагым, мен тапкан бардык мисалдар так эмес болчу
Жогорку ылдамдыктагы ЭКГ же башка маалыматтарды жазыңыз, бир айдан ашык үзгүлтүксүз: 6 кадам
Жогорку ылдамдыктагы ЭКГ же башка маалыматтарды жазыңыз, бир айдан ашык үзгүлтүксүз: Бул долбоор университеттин медициналык изилдөө тобун колдоо үчүн иштелип чыккан, ал 2 х ЭКГ сигналын 1000 үлгү/сек боюнча каттай ала турган кийүүгө муктаж болгон (2K үлгү/сек жалпы) 30 күн бою тынымсыз, аритмияны аныктоо үчүн. Долбоордун пресс
MotoStudent Electric Racing Bike үчүн маалыматтарды алуу жана маалыматтарды визуалдаштыруу системасы: 23 кадам
MotoStudent Electric Racing Bike үчүн маалыматтарды алуу жана маалыматтарды визуалдаштыруу системасы: Маалыматты алуу системасы - бул тышкы сенсорлордон маалыматтарды чогултуу, сактоо жана иштетүү үчүн чогуу иштеген аппараттык жана программалык камсыздоолордун жыйындысы, аны графикалык түрдө визуалдаштыруу жана анализдөө үчүн, инженерлерге уруксат берүү
GPRS аркылуу TCP/IP туташуусу: SIM900A модулу аркылуу серверге маалыматтарды кантип жөнөтүү керек: 4 кадам
GPRS аркылуу TCP/IP туташуусу: SIM900A модулун колдонуп серверге маалыматты кантип жөнөтүү керек: Бул окуу куралында мен sim900 модулун колдонуп TCP серверине маалыматтарды кантип жөнөтүү керектигин айтып берейин. Ошондой эле биз серверден кардарга маалыматтарды кантип аларыбызды көрөбүз (GSM модулу)
Туман сенсору - Бөлүк Фотону - Интернетте маалыматтарды сактоо: 5 кадам (Сүрөттөр менен)
Туман Sensor - Particle Photon - Интернетте маалыматтарды сактоо: Туман же түтүндүн абасын өлчөө үчүн биз бул туман сенсорун жасадык. Бул LDRдин лазерден алган жарыктын көлөмүн өлчөйт жана аны айланадагы жарыктын өлчөмүнө салыштырат. Бул маалыматты IFTTT аркылуу Google баракчасына реалдуу убакытта жайгаштырат