Мазмұны:
- 1 -қадам: Орнату нұсқаулығы
- 2 -қадам: бақылауды көрсету
- 3 -қадам: Жобада қолданылатын бөліктер/бағдарламалық қамтамасыз ету тізімі
- 4 -қадам: I/0 тізімі
- 5 -қадам: Сымдардың диаграммасы
- 6 -қадам: Arduino коды
- 7 -қадам: Raspberry Pi 3 B+
- 8 -қадам: Python
- 9 -қадам: MySQL
- 10-қадам: Қызыл түйін
Бейне: UCL - IIOT жылыжайы: 11 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл жоба біздің жылыжаймен бұрынғы жобамыздың жалғасы (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Бұл жобада біз дерекқорды қостық, онда біз барлық деректерді тіркейміз, содан кейін оны шолу үшін қызыл түйінмен бейнелейміз.
Біздің мәліметтер базасына кіретін мазмұн - ылғалдылық, топырақтың температурасы мен ылғалдылығы, ол әр түрлі диаграммаларда көрсетілген.
Даталогиннен басқа біз жылыжайда қандай профиль белсенді екенін басқара аламыз және оны қашықтықтан басқара аламыз.
Содан кейін біз сорғы мен желдеткішті қолмен басқара аламыз.
1 -қадам: Орнату нұсқаулығы
Бірінші қадам - барлық компоненттерді орнату.
Жақшаның ішінде () біз компонент қайда жалғанатынын тізбектедік. Мысалы, Arduino Raspberry Pi -ге USB кабелі арқылы қосылған.
Қолданылатын жабдық:
- Arduino (таңқурай Pi)
- Таңқурай Pi 3 B+
- Топырақ гигрометрі (Arduino)
- DHT11 сенсоры (Arduino)
- HG-320 суасты сорғысы (реле)
- 5В релесі (Arduino)
- Компьютер желдеткіші (реле)
- 230 В қуат көзі (сорғы)
Қолданылған бағдарламалық қамтамасыз ету:
- Raspbian (Raspberry Pi үшін ОЖ)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Қызыл түйін (Raspberry Pi)- Pythonshell- Summariser- MySQL- бақылау тақтасы
- MySQL сервері (freemysqlhosting.net)
Алдымен сізге аппараттық компоненттерді қосу қажет болады, сондықтан жылыжай салу үшін мына нұсқаулықты орындаңыз: Орнату бойынша нұсқаулық.
Содан кейін сізге Raspberry Pi -ге Raspbian ОЖ орнату қажет болады. Осыдан кейін сізге Python, содан кейін python кітапханаларын орнату қажет болады.
Келесі қадам-Node-Red-ді Raspberry Pi-ге орнату, содан кейін паллет менеджеріне өтіп, бұрын айтылған модульдерді орнату.
Содан кейін осы сайтқа кіріңіз Free MySQL Server және тегін MySQL серверін жасаңыз.
Мұның бәрі аяқталғаннан кейін сіз Raspberry Pi-ге питон сценарийін беруге, Node-Red сценарийін импорттауға және Arduino кодын жүктеуге дайынсыз.
2 -қадам: бақылауды көрсету
3 -қадам: Жобада қолданылатын бөліктер/бағдарламалық қамтамасыз ету тізімі
Біз жылыжай жасау үшін келесі технологияны қолдандық
- Ардуино
- Raspberry Pi
- Қызыл түйін
- Python
- PHPMyAdmin
4 -қадам: I/0 тізімі
5 -қадам: Сымдардың диаграммасы
6 -қадам: Arduino коды
Arduino коды сенсорлармен өлшенетін деректерді Raspberry Pi оқитын және дерекқорға берілетін сериялық қосылымға басып шығару арқылы жұмыс істейді.
Arduino -да Arduino оқитын Raspberry Pi -ге қосылған бірнеше цифрлық кіріс түйреуіштері бар және егер үшеуінің бірі ЖОҒАРЫ болса, профиль IF операторына байланысты өзгереді.
Сондай -ақ, біз кодты Millis -ті кешіктірудің орнына қолдану үшін жаңарттық, бұл кодты қалталар мен қалған бөліктерді ескі кідіріспен емес, үнемі оқуға мүмкіндік береді.
7 -қадам: Raspberry Pi 3 B+
Біз Arduino -ны интернетке және MySQL мәліметтер базасына қосу үшін Raspberry Pi 3 B+ қолдандық. Бұл бізге сенсорлардан деректерді сақтауға және соңғы пайдаланушыға визуалды интерфейс жасауға мүмкіндік берді. Пайдаланушы интерфейсі үшін біз бақылау тақтасы палитрасы бар Node-Red қолдандық.
Бірақ сенсорлық деректерді Node-Red-ге көрсетпес бұрын, бізге деректерді MySQL дерекқорына жүктеу әдісі қажет болды, ол үшін біз Raspberry Pi-де жұмыс істейтін Python сценарийін жасадық.
8 -қадам: Python
Python сценарийі Arduino-дан келетін сериялық байланыс туралы мәліметтерді алу үшін қолданылады. Содан кейін сценарий деректерді MySQL мәліметтер базасына жібереді.
Біз екі кітапхананы қолдандық: pyserial және mysqlclient.
Бірінші қадам - бұл екі кітапхананы жүктеу:
- PySerial
- MySQLclient
PySerial Arduino-дан деректерді сериялық байланыс арқылы жинау үшін қолданылады.
құрылғы = '/dev/ttyUSB0'
arduino = serial. Serial (құрылғы, 9600)
Бірінші жол біздің COM-портымызды анықтау үшін қолданылады. Raspberry Pi -де біз Arduino үшін қолданатын /dev /ttyUSB0. Екінші жол - Arduino сериялық портын ашуға арналған. Біз жай ғана COM-портын және қосылым қандай жылдамдықта жұмыс істейтінін анықтаймыз.
Кодтың қалған бөлігі уақытша циклде жұмыс істейді.
Содан кейін біз бірнеше Try and Except блоктарын қолданамыз. Алдымен код Try блогының ішінде жұмыс істеуге тырысады, егер ол сәтсіз болса, онда ол Except блогын іске қосады. Бірақ егер Try блогы жақсы жұмыс істесе, ол Exclusive блогын іске қоспайды, ол кодтың қалған бөлігін ғана іске қосады.
Try блоктарының ішінде бізде сериялық байланысты оқитын код бар, содан кейін оны MySQL дерекқорына жібереміз.
гигролист = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Сонымен, жоғарыдағы код сериялық байланыстағы сызықтарды оқуға арналған. Кодтың соңындағы нөмір серияда оқылған жолды анықтайды. Сондықтан бұл сызықтар әр түрлі айнымалыларға жіктеледі.
Arduino -дан деректер алынған кезде, біз MySQL серверіне деректерді жіберу үшін mysqlclient модулін қолдандық.
db = _mysql.connect (хост = «sql7.freemysqlhosting.net», пайдаланушы = «sql7256552», passwd = «3ebtbP8FQ2», db = «sql7256552»)
Бұл жол MySQL мәліметтер базасына қосылуға арналған. Ол серверді, пайдаланушы атын, құпия сөзді және сервердің ішінде қандай дерекқорға қосылу керектігін көрсетеді. Мұнда сіз MySQL DB -ге қосылуды көрсетуіңіз керек.
db.query («INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALUES (%s, %s, %s)» %(temp, humid, hygro))
Сонымен, біз DB байланысын аламыз және SQL сұранысын жасаймыз. Сұрау мәндерді «TempHumid» кестесінің ішіне, содан кейін «темп», «ылғалды» және «гигро» бағандарына енгізу керектігін айтады. «(%S, %s, %s)» соңғы бөлігі жолды пішімдеу болып табылады және дерекқорға ол оқи алатын форматты беру үшін қолданылады.
Бұл әрекеттің барлығы уақытша циклге енгізіледі, осылайша біз деректерді MySQL серверіне жіберуді жалғастырамыз.
Егер сіз барлық кодты көргіңіз келсе, python сценарийін (TempHumid.py) жүктеңіз.
9 -қадам: MySQL
MySQL сервері үшін біз www.freemysqlhosting.net сайтында ақысыз қызметті қолдандық. Біз Raspberry Pi -де жергілікті сервер жасай алар едік, бірақ біз бұлтты/интернетке толық қосылу үшін ақысыз қызметпен жүрдік.
MySQL -ке кіру үшін сіз phpmyadmin.co сайтына кіріп, freemysqlhosting тіркелгісінен тіркелгі деректерімен кіруіңіз керек.
Ішке кіргенде, сіз «TempHumid» деп аталатын кесте жасауыңыз керек, осы кестенің ішінде «ID», «temp», «humid» және «hygro» деп аталатын 4 баған жасау керек. Бірінші бағанға (идентификатор) A_I (Авто ұлғайту) құсбелгісін қою керек. Бұл идентификатор бағанында әрбір деректер жиынтығына идентификатор беру үшін жасалады. Келесі барлық бағандар INT (бүтін сан) ретінде орнатылуы керек және стандартты мәнді NULL мәніне орнатыңыз.
10-қадам: Қызыл түйін
Біздің жобада графикалық интерфейс жасау үшін Node-Red қолданылды. Node-Red Raspberry Pi-де жұмыс істейді және MySQL дерекқорынан деректерді жинайды және бұл деректерді пончик тәрізді өлшегіштер мен графикалық диаграммалармен көрсетеді, осылайша соңғы пайдаланушы деректерді бақылай алады. Node-Red-дің ақылды жері-оны кез келген құрылғыда көруге болады, яғни мазмұнды қарап отырған құрылғы үшін сайттың өлшемі өзгертіледі.
Біздің Node-Red бағдарламасын орнату үшін 1-қадамды қараңыз және «Node-Red.docx» деп аталатын құжатты жүктеңіз. Содан кейін мәтінді жоғарғы оң жақ бұрыштағы импорттау функциясы арқылы Node-Red-ге көшіріңіз және қойыңыз.
Осыдан кейін MySQL ДБ үшін ДБ параметрлерін өзгертіңіз.
Ұсынылған:
UCL Embedded - B0B Linefollower: 9 қадам
UCL Embedded-B0B Linefollower: Бұл B0B.*B0B-радиобасқарылатын жалпыға ортақ көлік, ол уақытша роботтың негізіне қызмет етеді, оның алдында көптеген линиялы роботтар сияқты, ол да қалу үшін бар күшін салады. еден мен төсеніш арасындағы ауысудан туындаған сызық
UCL - ендірілген - таңдау және орналастыру: 4 қадам
UCL - Ендірілген - таңдау және орналастыру: Бұл нұсқаулық 2D таңдау және орналастыру қондырғысы қалай жасалатынын және оны қалай кодтау керектігін көрсетеді
UCL - Ендірілген // Күн панельдері үшін қос осьті жарық қадағалаушы: 7 қадам
UCL - Ендірілген // Күн панельдері үшін қос осьті жарық қадағалаушы: құрастырылған жоба және жеке 3D файлдар
UCL - KEPserver көмегімен Siemens PLC -ге қызыл түйін қосу: 7 қадам
UCL-Қызыл түйінді Siemens PLC-ке KEPserver арқылы қосу: Талаптар Қызыл-түйін: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6 шығарылым
UCL - Индустрия 4.0: Кәмпиттер араластырғыш 4.000: 9 қадам
UCL - Индустрия 4.0: Кәмпит араластырғыш 4.000: Біздің индустрия 4.0 -дегі жобамыз үшін біз кәмпиттер үшін араластырғыш жасауды шештік. Идея-бізде Node-Red-де жасалған пайдаланушылар тақтасы бар, онда тұтынушылар өз кәмпиттеріне тапсырыс бере алады, содан кейін arduino тапсырысты өңдейді және кәмпиттерді ыдысқа араластырады. Содан кейін біз