Мазмуну:

Таштанды системасы: 7 кадам
Таштанды системасы: 7 кадам

Video: Таштанды системасы: 7 кадам

Video: Таштанды системасы: 7 кадам
Video: Дүйнөдөгү эң табышмактуу 10 жер / Жүрөгү боштор көрбөсүн 2024, Ноябрь
Anonim
Таштанды системасы
Таштанды системасы

Биз акыр -чикирди эффективдүү кылуу үчүн коңшулуктун таштандыларын толтурууну же коңшулуктагы ар бир таштандыдагы сенсорду көзөмөлдөөгө аракет кылууну чечтик. Биз жүк ташуучу унаа жыйноо үчүн эки жумада бир келип турса, мен же менин кошунам бир аз ыргытып жиберсе эмне болот деп ойлодук. Аймактын жарымы таштанды челектерин толук жөнөтпөгөн жүк ташуучу машинаны жөнөтүү натыйжасыз болбойт беле? Эгерде кошунабыздын таштандылары толуп, меники толуп, алардыкы бош болсо тескерисинче алардын таштандыларын колдоно алса сонун болмок. Биз бул долбоорду чечүүгө аракет кылуу үчүн малина пи менен бирге HC-SR04 УЗИ сенсорун колдонууну чечтик.

Жабдуулар

УЗИ сенсор (HC-SR04)

Raspberry Pi (биз Pi 4 Model B колдондук)

Breadboard

Өтмө кабелдер

Резисторлордун жуптары (3 x 1k ohm)

1-кадам: HC-SR04 туташуу

HC-SR04 туташуу
HC-SR04 туташуу

Биз Raspberry Pi колдонуп жаткандыктан, биз 3.3vге гана уруксат бергендиктен, Piнин GPIO казыктарына кирген чыңалууну жөнгө салуу үчүн чыңалуу бөлүштүргүчтү колдонушубуз керек. HC-SR04 5V колдонот, бирок аны Пи-ге туташтырууда 3.3В чейин түшүрүү керек. Тиешелүү түрдө 5V жана жер казыктарын туташтырыңыз жана программаңызга ылайык эхо жана триггер казыктарын урматтуу казыктарга тиркеңиз. Биздин программада биз тиешелүүлүгүнө жараша эхо жана триггер үчүн 23 жана 24 -пиндерди колдондук.

2 -кадам: Mosquitto жана Paho MQTT

Пи менен иштөө үчүн УЗИ сенсорун алуу үчүн Pythonдо программалоону баштоодон мурун, биз Node-RED программалык камсыздообуз менен байланышуу үчүн УЗИ сенсорун алуу үчүн бул тиркемелерди орнотушубуз керек. Mosquitto - бул MQTT брокери, сиз аны Pi боюнча колдоно аласыз, ал эми Paho MQTT - бул сенсорго MQTT брокери менен байланышуу үчүн Pythonдо код коюуга мүмкүндүк берген китепкана. Экөөнү тең орнотуу үчүн, бул буйруктарды Pi терминалыңызга териңиз

sudo apt update

sudo apt install -y mosquitto mosquitto -clients

sudo apt-get python3-pip орнотуу

sudo pip3 paho-mqtt орнотуу

3 -кадам: Ultrasonic Sensor үчүн Python программасы

Бул мен сенсордон келген маалыматтарды окуп, MQTT брокерине жарыялаган программа.

4-кадам: Node-RED

Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ

Кээ бир түйүндөр программада алдын ала орнотулган эмес, андыктан аны палитрадан орнотууңуз керек болот. Сиз орнотушуңуз керек болгон түйүн-кызыл такта жана түйүн-кызыл-түйүн-sqlite.

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

Мүмкүн болсо, бул агымды бир нече УЗИ сенсорлору үчүн колдонууга болот. Биздин долбоор үчүн, бирок биз сенсорлорго колубузду тийгизе албагандыктан, симуляциялык маалыматтарды жасоого туура келди. Муну жасообуз абдан окшош, бирок бизде колдонуучу таштандылардын ар бирине 1-10 пайызды туш келди кошуу үчүн чыкылдата турган баскычтар бар. Биз 2 баскычты колдондук, бири таштандыга, экинчиси тазалоого. Ченегич, билдирүүлөр жана индикатор таштандыларды эсептөөнүн жана сактоонун коду дагы эле бирдей, бирок бир аз башкачараак.

5 -кадам: маалыматтарды каттоо

Маалыматтарды каттоо
Маалыматтарды каттоо
Маалыматтарды каттоо
Маалыматтарды каттоо
Маалыматтарды каттоо
Маалыматтарды каттоо

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

Маалыматтарды түзүү жана каттоо кадамдары төмөнкүдөй жүрөт:

1. Маалыматтар базасын түзүү

2. Маалыматтарды жазыңыз

3. Биздин тактадан көрсөтүү үчүн маалыматтарды тартыңыз

4. Тазалоо жана маалыматтарды жок кылуу

SQLдин иштөө ыкмасы - бул TABLE CREATE, INSERT INO, SELECT FROM, and DELETE FROM деген теманы аткарышыңыз керек. Убакыт белгилеринин түйүндөрүн колдонуу менен биз ошол функциялардын ар бирин аткарган sqlite түйүнүнө темаларды аткара алабыз (түзүү, киргизүү, тандоо жана жок кылуу). Биз бир гана жолу маалымат базасын түзүшүбүз керек жана аны бүтүргөндөн кийин биз ага маалыматтарды каттай алабыз. Маалыматтар базасы түзүлгөндөн кийин, биз маалыматтарды каттай алабыз жана жүк ташуучу унаа келгенде, кайра кирүү үчүн колдонуучунун киргизүүсүн колдондук. Биз муну жасадык, сиз жүк ташуучу машинанын келүүсүнө уруксат берилмейинче, маалыматты каттай албайсыз, ал 80 ташый турган 5% таштанды (толгон деп эсептелет). Биз дагы диапазондогу түйүндү 500дү кайра 0-100%га чейин масштабдоо үчүн колдондук. Кааласак, бизде бардык маалыматтарды базадан жок кылуу мүмкүнчүлүгү бар. UI стол түйүнү - бул биздин таблицада столду жакшы форматта көрүүгө мүмкүнчүлүк берүүчү түйүн.

6 -кадам: Макет

Мунун баары бүткөндөн кийин сиз Node-REDдин жардамы менен каалаган макетти түзө аласыз. Капталдагы өтмөктө сиз аларды каалагандай жайгаштыра аласыз жана сизде дагы көптөгөн ыңгайлаштыруу параметрлери бар. Ошондой эле менин бүт программамдын агымы тиркелет.

7 -кадам: Жыйынтык

Бул долбоорду аяктагандан кийин, биз программаны андан ары өстүрүүнү көрө турган жерлер бар. Мен эч качан автоматтык түрдө жургузуунун жолун тапкан жокмун, анткени биз интервалда каттоону гана жасай алдык жана таштанды ташуучу унаа бир жолу келсе, бизге кайталанган сандардын кереги жок. Менимче, бул жарым -жартылай биз функционалдык түйүндөргө жана программалоого көз каранды кылууну чечкенибизден улам, анткени биз бул программалоого ыңгайлуубуз. Бүткөндөн кийин изилдеп чыккандан кийин, бардыгы үчүн жасалган түйүндөр бар экени айкын болду жана эгер биз мурда которгучтун жана rbe түйүндөрүнүн функциясын тапсак, жашоону бир топ жеңилдете алмак. Биз иштей албаган УЗИ сенсорлору үчүн жасалган түйүн да бар болчу. Бул ишти жөнөкөйлөтмөк, анткени MQTT же Python программасына муктаждык болбойт, анткени бул триггер жана жаңырык казыктары бар түйүн. Биз жогоруда көргөндөй Python программасын жасап, анын тегерегинде иштөөнү чечтик. Node-REDге чөмүлүүнү каалагандар үчүн эң чоң кеңеш-бул ар бир агым иштеп жаткандыгын жана сиз каалаган/керектүү нерсени чыгарып жаткандыгын аныктоо үчүн көптөгөн мүчүлүштүктөрдү оңдоо түйүндөрүн колдонушуңуз керек.

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