Мазмуну:
- 1 -кадам: Raspberry Pi даяр болушу
- 2 -кадам: NoCAN орнотуу
- 3 -кадам: UFire жабдууларын бирге коюу
- 4 -кадам: NoCAN жабдыктары
- 5 -кадам: CANZERO түйүнүн программалоо
- 6 -кадам: Мунун баары кантип биригет?
- 7 -кадам: Chronograf же Grafana орнотуу
- 8 -кадам: Кээ бир жакшыртуулар
Video: TICK Stack жана NoCAN платформасы менен EC/pH/ORP маалыматтарын сактоо жана график: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул EC, pH жана ORP өлчөө үчүн Omzlo жана uFire сенсорлору аркылуу NoCAN платформасын кантип колдонууну карап чыгат. Алардын веб -сайтында айтылгандай, кээде сенсор түйүндөрүнө бир нече кабелди иштетүү оңой. CAN байланыштын жана кубаттуулуктун артыкчылыгына ээ, ошондуктан бир кабельде сигнал жана батарея көйгөй эмес. Түйүндөрдүн камтылган программасы жөнөкөй болушу мүмкүн; мисалы, уйку режимдери же WiFi орнотуулары менен эч кандай убара болбойт. NoCAN платформасы CAN автобусунун үстүндөгү түйүндөрдү программалоо сыяктуу сонун өзгөчөлүктөргө ээ.
NoCAN платформасы Raspberry Pi колдонот, андыктан колунан келгендин баары жеткиликтүү болот. Биз TICK стегин орнотуу менен анын пайдасын көрөбүз. Бул бизге InfluxDBди өлчөөлөрдү сактоо үчүн колдонууга мүмкүнчүлүк берет. Бул ушундай нерселер үчүн атайын түзүлгөн база базасы. Ал ошондой эле Chronograf менен бирге панелдерди жасап, биз ала турган бул маалыматтардын бардыгын көрсөтөт. T жана K телеграф жана Kapacitor үчүн турат. Телеграф сиз жөнөткөн маалымат менен Influx маалымат базасынын ортосунда отурат. Kapacitor - бул окуялардын кыймылдаткычы. Бир нерсе болгондо, ал сизге ар кандай ыкмалар аркылуу билдирүү жөнөтө алат. Жана Chronografка караганда мага көбүрөөк жакканы үчүн, мен Grafana панелин орнотом.
1 -кадам: Raspberry Pi даяр болушу
Rasbian Download баракчасына өтүңүз жана сүрөттү стол жана сунушталган программалык камсыздоо менен жүктөп алыңыз, андан кийин аны SD картка жаркылдатыңыз.
Сүрөт SD картаңызда болгондон кийин, сизде эки том, тамыр жана жүктөө болушу керек. Жүктөөдө терминалды ачыңыз жана териңиз:
тийүү ssh
Бул SSH иштетет.
Андан кийин териңиз:
nano wpa_supplicant.conf
Жана төмөнкүлөрдү көчүрүп/коюңуз, аны өзүңүздүн округ жана WiFi жөндөөлөрүңүз үчүн өзгөрткөндөн кийин:
өлкө = АКШ
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}
Өлкө коддору бул жерден келет.
SPI иштетүү:
echo "dtparam = spi = on" >> config.txt
SD картаны Raspberry Pi'ге салып, бир аз күтө туруңуз:
Сиз кирүү сурамында болушуңуз керек. Сырсөз малина.
2 -кадам: NoCAN орнотуу
Omzlo кылдат орнотуу боюнча көрсөтмө берет. Бирок мен өзүмдү жеңилдетүүнү чечтим жана Баштын сценарийи жөнүндө бир аз үйрөнүүнү чечтим. Ошентип, Raspberry Pi'ни баштаңыз жана ага SSH же сериялык терминалын киргизиңиз.
Мен жакшы Баш скриптин түзүүгө канча убакыт кетсе, ошонун баарын орнотууга аракет кылып жатканыңызды билдим. Бир нерсени бүтүрүүнүн 1000 жолу бар, кээ бирөөлөрүн түшүнүү же аткаруу башкаларга караганда жөнөкөй. Акыр -аягы, мен көп деле иш кылган жокмун. Эгер аткарсаңыз:
wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh
Сиздин Raspberry Pi терминалында ал скриптти жүктөп алып, аткарат.
Анда ал:
- Omzlo NoCAN демонун жүктөп алып, аны оңой жетүү үчүн/usr/binге орнотот, ~/.nocand папкасын түзөт жана "сырсөз" деп коюлган сырсөз менен эң негизги конфигурация файлын жазат. Балким, аны башка нерсеге алмаштырышыңыз керек, бул ~/.nocand/config.
- Omzlo NoCAN кардарын жүктөп алып /usr /binге көчүрөт жана ошол эле сырсөз топтому менен негизги конфигурация файлын түзөт. Бул ~/.nocanc.conf.
- NoCAN демонун иштешин камсыз кылган Systemd кызматын орнотот.
- Python файлын ~/.nocand, nocan_ufire.py жазат. Бул NoCAN түйүнүнүн программасы менен сүйлөшүп, EC, pH жана ORP өлчөөлөрүн алып, жыйынтыктарын талдап, InfluxDB маалымат базасына кошот.
- Аппка InfluxData репо кошот жана TICK стегин орнотот. Мен аны Chronografтан артык көргөндүктөн, ал Графананы да орнотот.
- Бош Influx маалымат базасын түзөт
Кээ бир кыйынчылыктарга туш болушуңуз мүмкүн:
- Сиздин тилиңиз жөндөлбөгөн болушу мүмкүн, андыктан dpkg-кайра конфигурациялоо тилдерин иштетиңиз
- Grafana орнотуусу илинип калышы мүмкүн, андыктан кайра аракет кылыңыз.
-
Скрипт маалымат базасын, түрүн кошушу үчүн агымдын демону өз убагында башталышы мүмкүн эмес
curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = CREATE DATABASE nocan"
- Бул скрипт демейки пи колдонуучу катары гана иштейт. Эгерде сиз башка колдонуучунун астында болсоңуз, пиди колдонуучу атыңызга өзгөртүү керек болот.
Акыркы нерсе - cron жумушун кошуу. Мен муну сценарийлөөнүн эң жакшы жолун таба алган жокмун, андыктан кол менен түзөтүү үчүн 'crontab -e' терип, ' * * * * * python /home/pi/.nocand/nocan_ufire.py' кошуңуз.
Баары бүткөндөн кийин, бардыгы орнотулганын жана иштеп жаткандыгын текшере аласыз. Графана https:// [Raspberry Pi's Address]: 3000/дарегинде жашайт. Сиз кирүү барагын көрүшүңүз керек, администратор/администратор демейки.
Хронографты https:// [Raspberry Pi's Address]: 8888/сайтынан тапса болот
3 -кадам: UFire жабдууларын бирге коюу
Аппаратты чогултуудан мурун, бир нерсени чечүү керек. UFire ISE тактасы рНди да, ОРРны да өлчөө үчүн колдонулушу мүмкүн. Аппаратура бирдей, бирок программалык камсыздоо башка. Аппаратура бирдей болгондуктан, I2C дареги демейки боюнча, ошондой эле. Ал эми сенсорлор I2C аркылуу байланышат, андыктан аны өзгөртүү керек болот. Бул долбоор үчүн биз ISE такталарынын бирин тандап, ORPти өлчөө үчүн колдонобуз. Бул жердеги кадамдарды аткаргандан кийин, даректи 0x3e деп өзгөртүңүз.
Эми дарек өзгөргөндөн кийин, аппараттык жабдыктарды бирге коюу оңой. Бул орнотуу мурунку иштерге негизделген, бирок ошол эле нерсени жасайт, бирок маалыматты берүү үчүн CAN эмес, BLEди колдонот. Бул тууралуу Arduino Project Hubдан окуй аласыз. Бардык сенсордук түзмөктөр Qwiic туташуу тутумун колдонушат, андыктан баарын чынжыр менен бириктиргиле, Qwiicти Qwiic зымдарына салуунун бир гана жолу бар. Сенсорлордун бирин CANZERO түйүнүнө туташтыруу үчүн сизге бир Qwiic to Male зымы керек болот. Зымдар ырааттуу жана түстүү коддолгон. Кара түстү түйүндүн GND'ине, кызылын +3.3V же +5V пинге, көктү D11 болгон SDA пинине, сарыга D12деги SCL пинине туташтырыңыз.
Бул долбоор үчүн температура жөнүндө маалымат EC сенсорунан келет деп күтөт, андыктан EC тактасына температура сенсорун тиркеп коюуну унутпаңыз. Бардык такталар температураны өлчөө мүмкүнчүлүгүнө ээ. EC, pH жана ORP зонддорун тиешелүү сенсорлорго тиркөөнү унутпаңыз. Алар оңой BNC туташтыргычы менен тиркелет. Эгерде сизде короо болсо, мунун баарын ичине коюу жакшы болмок, айрыкча суу тартыларын эске алуу менен.
4 -кадам: NoCAN жабдыктары
NoCAN жабдууларын чогултуу да оңой. PiMaster -ды Raspberry Pi -ге тиркеп, ага ылайыктуу электр булагын табыңыз.
Долбооруңуз үчүн кабелдерди даярдоо боюнча Омзлонун көрсөтмөлөрүн аткарыңыз.
Түйүнүңүздү жайып, PiMaster үчүн орун табыңыз.
5 -кадам: CANZERO түйүнүн программалоо
Бул орнотуунун эң сонун нерселеринин бири - түйүндөр жайгаштырылгандан кийин деле кире аласыз. Алар CAN зымы аркылуу программаланган, андыктан аларды каалаган убакта кайра программалай аласыз.
Ал үчүн сизге Arduino IDE орнотулган, тармагыңыздагы PiMaster жана CAN автобусына туташкан түйүнүңүз керек болот. Ошондой эле, иштеп чыгуучу компьютериңизде nocanc деп аталган программа керек болот. Мунун баары Omzlo орнотуу бетинде сүрөттөлгөн.
GitHubга барыңыз жана кодду жаңы Arduino IDE эскизине көчүрүңүз. Тактайды Omzlo CANZERO кылып өзгөртүңүз жана 'Порт' менюсунда түйүндү тандаңыз. Анан кадимкидей эле жүктөө дегенди басыңыз. Эгерде баары план боюнча жүрсө, анда сизде кандайдыр бир өлчөөлөрдү алууга даяр программаланган түйүн болушу керек.
6 -кадам: Мунун баары кантип биригет?
Эми бардык программалык камсыздоо жана жабдыктар орнотулгандыктан, келгиле, мунун баары кантип иштээри жөнүндө сүйлөшөлү. Жана GIMP жөндөмүмдү көрсөтөм …
Кыскача айтканда:
- CANZERO түйүнү PiMaster менен туташып, бир жерге жайгаштырылган
- Ар бир мүнөт сайын Cron жумушу PiMasterде иштейт. Бул python скриптин аткарат.
- Питон скрипти түйүнгө өлчөө же башка иш -аракеттерди жасоону буйруйт.
- Түйүн буйрукту аткарат жана натыйжаны JSON форматында кайтарат.
- Питон скрипти ошол жыйынтыкты алат, аны талдайт жана аны менен InfluxDB жаңыртат.
Акыркы кадам - бул кээ бир жагымдуу диаграммаларда маалыматтарды топтоону көрүү.
7 -кадам: Chronograf же Grafana орнотуу
Акыркы нерсе - Chronograf же Grafana графиктерин түзүү.
Сиз маалымат булагын орнотушуңуз керек. InfluxDB үчүн демейки шарттар жакшы. Анын дареги 'https:// localhost: 8086' жана колдонуучу аты же сырсөз жок.
Экөө тең окшош, анткени алар ичиндеги диаграммалары бар панелдерге уюштурулган. Экөөндө тең изилдөө аймагы бар, ал өлчөөлөрдү көрүүгө жана интерактивдүү диаграммаларды түзүүгө мүмкүнчүлүк берет. Базанын аталышы 'nocan' экенин унутпаңыз жана бир мааниде бир нече өлчөөлөргө уюштурулган.
Мен айткандай, мен Графананы жакшы көрөм, анткени ал Chronografка караганда конфигурацияланган. Бул ошондой эле мобилдик достук, анда Chronograf жок. Диаграммалар оңой салынып, бөлүшүлөт
8 -кадам: Кээ бир жакшыртуулар
- Тармагыңызга оңой кирүү үчүн Raspberry Pi хостунун атын коюңуз. Сиз муну raspi-configда кыла аласыз. Мен өзүмдү nocan деп өзгөрттүм, ошондуктан ага кирүү үчүн nocan.local сайтына кире алдым (Androidде иштебейт).
- Сиз Raspberry Pi тармагыңызга кирүү үчүн ngrok сыяктуу программаны орното аласыз.
- Эскертмелерди берүү үчүн Kapacitor камсыз кылган методдордун бирин колдонуңуз.
- Албетте, дагы сенсорлорду кошуңуз.
Сунушталууда:
Raspberry Pi менен жарык жана температура сенсорунун маалыматтарын окуу жана графиктөө: 5 кадам
Raspberry Pi менен жарык жана температура сенсорунун маалыматтарын окуу жана графиктөө: Бул Нускоодо сиз малина пи жана ADS1115 аналогу менен жарык жана температура сенсорун санариптик конвертерге кантип окуп, аны matplotlib аркылуу графикке түшүрүүнү үйрөнөсүз. Керектүү материалдардан баштайлы
MSP432 LaunchPad жана Python колдонуп, Температура Сенсорунун (TMP006) Жандуу Маалыматтарын Чийүү: 9 Кадам
MSP432 LaunchPad жана Python колдонуп, Температура Сенсорунун (TMP006) Жандуу Берилиштерин Түзүү: TMP006 - бул объект менен контакт түзбөстөн эле, анын температурасын өлчөөчү температура сенсору. Бул үйрөткүчтө биз Python аркылуу BoosterPackтен (TI BOOSTXL-EDUMKII) түз температура маалыматтарын түзөбүз
RFID жана Arduino Ethernet Shieldди колдонуп, Google электрондук жадыбалында маалыматтарды сактоо менен катышуу системасы: 6 кадам
Катышуу системасы RFID жана Arduino Ethernet Shieldди колдонуп, Google электрондук жадыбалында маалыматтарды сактоо менен: Саламатсыздарбы балдар, бул жерде биз абдан кызыктуу долбоорду ойлоп таптык жана бул Arduino аркылуу Google жадыбалына rfid маалыматтарын кантип жөнөтүү керек. Кыскача айтканда, биз катышуу маалыматын реалдуу убакытта сактап калуу үчүн rfid окурманынын негизинде катышуу системасын түзөбүз
NFC (TfCD) менен алдын ала коюлган баалуулуктарды сактоо жана калыбына келтирүү: 4 кадам
Алдын ала коюлган баалуулуктарды NFC (TfCD) менен сактоо жана калыбына келтирүү: Биз белгилүү бир маанини же жөндөөнү кантип өзгөртүү керектигин текшерип, кийинчерээк бул жөндөөнү эстеп калгыбыз келет. Бул эксперимент үчүн биз NFC тегин окуп, андан кийин маанисин сактап калдык. Кийинчерээк тег кайра сканерленип, кайра калыбына келтирүү үчүн маанини кайра жөнөтө алат
Ethernet кабели аркылуу курама видео жана тармак маалыматтарын кантип иштетүү керек: 6 кадам (сүрөттөр менен)
Ethernet кабели аркылуу курама видео жана тармак маалыматтарын кантип иштетүү керек: Мен үйүмдүн башка бөлүгүнө видео жана аудиону иштетишим керек болчу. Көйгөй менде мынчалык көп AV кабели да, жакшы орнотууга убакыт да, акча да жок болчу. Бирок менде Cat 5 Ethernet кабели көп болчу. Бул мен ойлоп тапкам