Мазмұны:

Қоқыс жүйесі: 7 қадам
Қоқыс жүйесі: 7 қадам

Бейне: Қоқыс жүйесі: 7 қадам

Бейне: Қоқыс жүйесі: 7 қадам
Бейне: Жетістікке жеткізер 7 қадам 2024, Қараша
Anonim
Қоқыс жүйесі
Қоқыс жүйесі

Біз қоқыс шығаруды тиімдірек ету үшін көршілес тұрғындардың қоқыстарын толтыруды немесе жақын маңдағы әр қоқыстағы сенсорды бақылаудың жолын табуға тырыстық. Біз жүк көлігі екі апта сайын жинауға келсе, мен немесе менің көршім кішкене лақтырып тастасақ ше? Айналаның жартысы қоқыс жәшіктерін толық жібермеген жерге жүк көлігін жіберу тиімсіз болмай ма? Егер көршіміздің қоқыстарын толтыруға болатынын көру мүмкін болса, менікі толы болса, ал оларда бос болса және керісінше қоқыстарды қолдана алатын болса, жақсы болар еді. Біз бұл жобаны шешуге тырысу үшін ультрадыбыстық сенсорды HC-SR04 мен таңқурай пиін қолдануды шештік.

Жабдықтар

Ультрадыбыстық сенсор (HC-SR04)

Raspberry Pi (біз Pi 4 Model B қолдандық)

Нан тақтасы

Өтпелі кабельдер

Бірнеше резистор (3 x 1k Ом)

1-қадам: HC-SR04 қосу

HC-SR04 қосылу
HC-SR04 қосылу

Біз Raspberry Pi -ді қолданатындықтан, Pi -дің GPIO түйреуіштеріне түсетін кернеуді реттеу үшін кернеу бөлгішті қолдану қажет, себебі олар тек 3,3в рұқсат етеді. HC-SR04 5В қолданады, бірақ оны Пи-ге қосқанда 3,3В дейін төмендету қажет. 5В және жерге қосқыштарды сәйкесінше қосыңыз және сіздің бағдарламаңызға сәйкес эхо мен триггердің түйреуіштерін тиісті түйреуіштерге бекітіңіз. Біздің бағдарламада сәйкесінше эхо мен триггер үшін 23 және 24 -штырьды қолдандық.

2 -қадам: Mosquitto және Paho MQTT

Біз ультрадыбыстық сенсорды Pi-мен жұмыс істеу үшін Python-да бағдарламалауды бастамас бұрын, біз Node-RED бағдарламалық қамтамасыз етуімен ультрадыбыстық сенсорды алу үшін осы қосымшаларды орнатуымыз керек. Mosquitto - бұл Pi -де қолдануға болатын MQTT брокері, ал Paho MQTT - сенсорды MQTT брокерімен байланысу үшін Python -да кодтауға мүмкіндік беретін кітапхана. Олардың екеуін де орнату үшін сіз бұл командаларды Pi терминалына теруіңіз керек

sudo apt жаңарту

sudo apt install -y mosquitto mosquitto -clients

sudo apt-get python3-pip орнатыңыз

sudo pip3 paho-mqtt орнатыңыз

3 -қадам: ультрадыбыстық сенсорға арналған Python бағдарламасы

Бұл мен сенсордан алынған деректерді оқитын, сонымен қатар MQTT брокеріне жариялайтын бағдарлама.

4-қадам: ҚЫЗЫЛ түйін

Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ
Түйін-ҚЫЗЫЛ

Кейбір түйіндер бағдарламада алдын ала орнатылмайды, сондықтан оны бояғыштардан орнату қажет болуы мүмкін. Сізге орнату керек-қызыл тақта түйіні және қызыл түйін-sqlite.

Дәл осы жерде біз бағдарламалық қамтамасыз ету мен сенсорды қолдана бастаймыз. Сізге қажет бірінші түйін-бұл MQTT-түйіні және бұл бағдарламалық жасақтамаға деректерді жіберу үшін бағдарламаны жоғарыдан іске қосатын сенсорды пайдалануға мүмкіндік береді. Біз қолданған диапазон түйіні бізде бар мәндерді аударады (яғни. 5см бағдарламадан толық, сондықтан біз оны 100%айналдырамыз). Диапазондық түйіннен кейін бізде 2 функционалды түйін бар, олардың бірі бақылау тақтасындағы хабарды көрсету үшін, екіншісі қоқыс толғанын көрнекі түрде көрсету үшін. Функционалды түйіндерге арналған бағдарлама қоса берілген.

Мүмкін болса, бұл ағынды бірнеше ультрадыбыстық датчиктер үшін қолдануға болады. Біздің жоба үшін біз сенсорлық деректерді жасауға мәжбүр болдық, өйткені біз сенсорларға қол жеткізе алмадық. Мұны істеу тәсілі өте ұқсас, бірақ бізде пайдаланушы қоқыстың әрқайсысына қоқыстың 1-10 пайызын кездейсоқ қосуға арналған түймелер бар. Біз 2 түймені қолдандық: біреуі қоқыс қосу үшін, екіншісі тазалау үшін. Өлшегіш, хабарламалар мен индикатор қоқысты санау мен сақтаудың кодымен бірдей, дегенмен сәл өзгеше.

5 -қадам: Деректерді тіркеу

Деректерді тіркеу
Деректерді тіркеу
Деректерді тіркеу
Деректерді тіркеу
Деректерді тіркеу
Деректерді тіркеу

Жүк көлігі қоқыстарды босатуға келгенде қоқыстардың толғанын тіркеу жақсы болар еді деп шештік. Sqlite түйінінің көмегімен біз деректерді оқи және жаза аламыз, бұл оны Pi -ге сақтайды. Сіз бұл түйінді бұрын айтқанымдай орнатуыңыз керек.

Деректерді жасау және тіркеу қадамдары келесідей:

1. Мәліметтер қорын құрыңыз

2. Деректерді тіркеңіз

3. Біздің бақылау тақтасында көрсетілетін деректерді тартыңыз

4. Деректерді өшіру және жою

SQL жұмысының тәсілі - КЕСТЕ ЖАСАУ, КІРГІЗУ, ТАҢДАУ және ӨШІРУ деген тақырыпты орындау қажет. Уақыт белгісінің түйіндерін қолдана отырып, біз осы функцияларды орындайтын sqlite түйініне тақырыптарды орындай аламыз (жасау, кірістіру, таңдау және жою). Біз дерекқорды тек бір рет жасауымыз керек, ал оны жасағаннан кейін біз оған деректерді тіркей аламыз. Деректер базасы құрылғаннан кейін біз деректерді тіркей аламыз және жүк көлігі келген кезде журналға кіру үшін пайдаланушының енгізуін қолдандық. Біз мұны жүк көлігінің келуіне рұқсат етілмейінше, деректерді тіркеуге болмайтындай етіп жасадық, бұл сыйымдылығы 80% болатын 5 қоқыс (толық деп есептеледі). Біз 500 диапазонын 0-100%-ға қайта масштабтау үшін диапазондық түйінді қайтадан қолдандық. Қаласаңыз, бізде дерекқордағы барлық деректерді жою мүмкіндігі бар. UI кесте түйіні - бұл кестені бақылау тақтасында жақсы пішімделген түрде көруге мүмкіндік беретін түйін.

6 -қадам: орналасу

Мұның бәрі аяқталғаннан кейін сіз Node-RED көмегімен қажетті макетті жасай аласыз. Бүйірлік қойындыда сіз оларды қалағаныңызша орналастыра аласыз және сізде көптеген теңшеу нұсқалары бар. Сондай -ақ, менің бүкіл бағдарламаға ағыным қосылды.

7 -қадам: Қорытынды

Бұл жобаны аяқтағаннан кейін біз бағдарламаның одан әрі дамитынын көруге болатын жерлер бар. Мен ешқашан тіркеуді автоматты түрде жүргізудің әдісін таппадым, өйткені біз оны интервалмен тіркеп отырдық және қоқыс тасушы бір рет келсе, бізге қайталанатын нөмірлер қажет болмас еді. Менің ойымша, бұл ішінара біз оны функционалдық түйіндерге және бағдарламалауға тәуелді етуді шешкендіктен болды, өйткені бізде бұл бағдарламалау ыңғайлы. Біз жасағаннан кейін барлығына арналған түйіндер бар екені белгілі болды, егер біз бұрын коммутатор мен rbe түйіндерінің функциясын тапқан болсақ, бұл өмірді едәуір жеңілдететін еді. Сондай -ақ ультрадыбыстық сенсорларға арналған түйін болды, ол біз жұмыс істей алмады. Бұл жағдайды жеңілдетер еді, өйткені MQTT немесе Python бағдарламасының қажеті болмайтын еді, себебі бұл триггер мен жаңғырық түйреуіштері бар түйін. Біз жоғарыда сіз көргендей Python бағдарламасын жасау арқылы осымен айналысуды шештік. Node-RED-ге түскісі келетіндердің барлығына үлкен кеңес-әрбір ағынның жұмыс істеп тұрғанын және қажет/қажет нәрсені шығаратындығын анықтау үшін көптеген отладка түйіндерін пайдалану керек.

Ұсынылған: