Мазмуну:
- 1 -кадам: Материал керек
- 2 -кадам: программалоо бөлүгү
- 3 -кадам: Электрондук жыйын
- 4 -кадам: Маалымат алуу
- 5 -кадам: Маалымат базасы
- 6 -кадам: Демонстрация
Video: Туташкан Багыты Браслет: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:37
Бул академиялык долбоор, байланышкан багыт билерик, Polytech Paris-UPMC инженердик мектебинин төрт студенти тарабынан ишке ашырылган: Себастьен Потет, Полин Фам, Кевин Антюнес жана Борис Брас.
Биздин долбоор кандай?
Бир семестрде жөө күлүк колдоно турган туташтырылган билерикти жасоого туура келди. Анын жарыш багыты ал белгилей турган бир нече пунктка багытталат жана бул анын жүрүшүн жазууга мүмкүндүк берет. Бул маалыматтар реалдуу убакытта булутта сакталат.
Бул продукт температураны, нымдуулукту жана багытты бере алат. Мындан тышкары, бизде үч баскыч бар, анын ичинде чуркоодо көйгөй жаралган учурда GPS позициясын жөнөтөт (SOS баскычы), ошондуктан бизге реалдуу убакытта керек. Экинчиси белгилөөгө жана акыркысына билерикти өчүрүүгө мүмкүнчүлүк берет, анткени биз аз кубаттуу продукцияны каалайбыз.
Бизде 120 € катасы бар болчу. Байланышкан билерикти ишке ашыруу үчүн, биздин окуу куралыбызды ээрчиңиз!
1 -кадам: Материал керек
Компоненттердин тизмеси:
- STM32L432KC-Nucleo Ultra Low Power
- SigFox модулу TD1208
- RFID окурман 125 кГц
- Температура/нымдуулук сенсору HTU21D
- Акселерометр модулу 3-огу ADXL345
- Компас модулу 3 огу HMC5883L
- Экран OLED ADA938
- GPS модулу Grove 31275
- Батарея 1.5 V LR6
- Чыңалуу жөнгө салуучу Pololu 3.3V U1V11F3
- Кээ бир башкаруу баскычтары
2 -кадам: программалоо бөлүгү
Биринчиден, биз mbed иштеп чыгуучу сайты менен ар бир компонентти программаладык. Бул үчүн биз аз керектөөчү STM32L476RG-Nucleo микроконтроллерин колдондук.
Экран, температура/нымдуулук сенсору жана компас I²C байланышында иштейт. RFID окурманы жана акселерометр сериялык байланышта иштейт. Ар бир компонент үчүн өз китепканасын кошуу керек болчу.
Температура/нымдуулук сенсору, компас жана акселерометр үчүн, маалымат алуу үчүн алардын китепканасында аныкталган функцияны чакыруу керек.
RFID окурманы сериялык байланышта иштейт, сиз "getc ()" функциясын колдонушуңуз керек, анткени теги маалыматты char менен кайтарат.
OLED экранынын кодунан башка бардык коддор файл катары жеткиликтүү.
3 -кадам: Электрондук жыйын
Ар бир компонентти программалагандан кийин, биз labdec табакчасын алып, аларды STM32L432KC-Nucleo менен байланыштырдык. Бардык компоненттерди чогултуу үчүн тиркемедеги зым диаграммасын аткарыңыз, же ар бир PIN коддун түзүлүшүндө кеңири жазылган.
Биз үч баскычты коштук 10 Kilo ohms resitances: бири коркунуч болгон учурда GPS позициясын жөнөтөт, экинчиси күйгүзүү/өчүрүү үчүн, экинчиси чуркоочуга чекитти белгилөөгө уруксат берүү үчүн. SOS баскычын басканыңызда, биз зумерди коштук.
Файл "braceletOrientation" тиркемеде биздин Fritzing боюнча долбоорубуз. Бул биздин компоненттерибиздин кыскача файлы жана лабдек боюнча, ошондой эле ПХБ боюнча. Мындан тышкары, биз бардык компоненттердин чогултуу кодун коштук.
4 -кадам: Маалымат алуу
Actoboard
Actoboard-бул тактага негизделген курал. Бул Sigfox модулу жиберген бардык маалыматтарды көрсөтөт. Андан кийин бул маалымат базасына киргизилүү үчүн бул маалыматтар URL аркылуу жөнөтүлөт.
Маалыматтарды жөнөтүү:
Маалыматты кодуңуз аркылуу жөнөтүү үчүн, адегенде Sigfox модулунун PIN кодун (Tx, Rx) жарыялашыңыз керек (аны биздин коддон көрө аласыз). Андан кийин, бул буйруктун жардамы менен: "sigfox.printf (" AT $ SF =%02X%02X%02X%02X%02X%02X / r / n ", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", бул мисал GPSтин маалыматтарын Actoboardго жөнөтөт.
Маалыматты алуу:
Сиз Sigfox модулуңузга байланыштуу маалымат булактарын орноткондон кийин, кодуңуз үчүн маалыматтарды алуу үчүн маалымат форматын орнотушуңуз керек. Ошол эле мисал үчүн (GPS) маалыматтын форматын мындай коюу керек: "lat_deg:: uint: 8 long_deg:: uint: 8 lat_10s:: uint: 8 long_10s:: uint: 8 lat_100s:: uint: 8 long_100s:: uint: 8 ".
Биттердин түрүнө жана санына этият болуңуз, сизде дал ошол узундук болушу керек. Ошентип, мен сиздин маалыматты кодуңузга мындай түрдө чыгарууну сунуштайм: "lat_deg = (int8_t) lat_deg;".
Цифранын санына да этият болуңуз, бул мисалда биз максимум 2 цифралуу маалыматтарды беребиз. Бирок, эгер сиз "%04X" сыяктуу чоңураак маалыматты өткөргүңүз келсе, анда Actoboard цифраны тескери бурарын билишиңиз мүмкүн. Мисалы, эгер сиз 0x3040 өткөрсөңүз, Actoboard 0x4030 түшүнөт. Демек, 2 цифрадан ашкан маалымат форматын жөнөтүүдөн мурун цифраны тескери буруш керек.
Куралдар тактасын түзөтүү:
Actoboard панелиндеги маалыматыңызды түзөтүү үчүн, жөн эле виджет кошушуңуз керек. Виджеттин тизмеси бар, сиз системаңызга эң ылайыктуусун тандашыңыз керек. Жана жөн эле, кайсы виджетти толтура турган маалыматты тандап алышыңыз керек.
Чегерилгенге жөнөтүү:
Actoboardдан алган бардык маалыматыңызды URL аркылуу noderedге өткөрүп берүү үчүн, жөнгө салынган "URL багыттоо" кутусун сиздин долбоорлонгон URL дарегиңиз менен толтурушуңуз керек. Мисалы, биз кутучаны "https://noderedprojet.mybluemix.net/projet" менен толтурдук.
5 -кадам: Маалымат базасы
Bluemix
- Nodered:
- Actoboard маалымат формасын алыңыз
Actoboard маалымат формасын алуу үчүн, "POST" аркылуу методду орнотуп, URLиңизди көрсөтүшүңүз керек болгон "вебсокет" киргизүү керек (сүрөттөгү мисал).
Дайындарды форматтоо
Сиз маалымат базаңызга (булуттан) кошуп, форматтоону каалаган маалыматтарды чыгарып алышыңыз керек. ал үчүн "функция" блогун кошуу керек. Муну кантип жасоону түшүнүү үчүн сүрөттү тиркемеде караңыз.
Сиз геомтр нерселерди картага кошо аласыз, мисалы, бизде GPS координаты менен чекитти кошуп, аларды байланыштыруучу функция бар. Биз бул функцияны жарышты түзүү үчүн колдонобуз жана андан кийин, эгер сиз RFID TAGти текшерсеңиз, чекит айланасында полигон түзө турган башка функцияны которобуз.
Булутка жөнөтүү
Берилиштериңизди форматтагандан кийин, аларды булуттагы DataBaseге жөнөтүшүңүз керек. Бул үчүн, сиз "булуттуу" сактоо блогун кошуп, маалымат базаңыздын аталышы сыяктуу жөндөөлөрдү көрсөтүшүңүз керек, "киргизүү" операциясы тиркемедеги биздин мисалды караңыз.
Тутумуңуздун иштеши үчүн, чалып койгонуңузду "Колдонууну" унутпаңыз.
Булут:
Булуттагы маалымат базаңызда, сиз сигфокс менен жөнөткөн бардык маалыматыңызды жана кызыл түйүндөгү форматтоону көрө аласыз. Сиз "дата, түзмөк, TAG RFID, GPS" сыяктуу көргүңүз келген маалыматты тандай аласыз.
Жана сиз "gps Geospatial Indexes" менюсунда түйүндүү функцияда жараткан геомтр нерселерди элестете аласыз.
6 -кадам: Демонстрация
Жыйынтыктап айтканда, бизде төрт баскычтар менен башкарылуучу Адам-Машинанын төрт интерфейси бар болчу.
Негизги интерфейс температураны, нымдуулукту, тегдин номерин, хронометрди жана магниттик багытты көрсөтөт.
Баскычтын бир аракетинде сиз чыныгы интерфейс компасын таба аласыз. Экранда багыты жакшы жайгашкан тегерек тартылат.
Башка баскыч баскычында, сиз SOS билдирүүсүн жөнөтөсүз, ал жайгашкан жериңизди маалымат базасына жөнөтөт. Мындан тышкары, Морзе кодундагы SOS билдирүүсүн угасыз.
Мындан тышкары, баскычтын акыркы аракетинде RFID теги ойгонот. Андан кийин өтмөктү белгилөө үчүн беш секунд бар. Андан кийин сиз бипти угасыз. Бул аракет дисплейдеги эсептегичти көбөйтөт жана биздин маалымат базабыздагы убакыт менен тегди жөнөтөт. Акыр -аягы, бардык тегдер картага минет.
Биздин сааттын автоматы болжол менен 4h30 (болжол менен 660mA/с). Бул текшерилген тег номерине жараша болот.
Жарыштан кийин жыйынтык чыгаруу үчүн, биздин bluemix маалымат базабызда бардык жөө күлүктөрдүн аракеттерин таба аласыз.
Сунушталууда:
Arduino Control DC моторунун ылдамдыгы жана багыты потенциометрди, OLED дисплейди жана баскычтарды колдонуу: 6 кадам
Arduino Control DC моторунун ылдамдыгы жана багыты потенциометрди, OLED дисплейди жана баскычтарды колдонуу: Бул окуу куралында биз L298N DC MOTOR CONTROL драйверин жана потенциометрди DC моторунун ылдамдыгын жана багытын эки баскыч менен башкаруу жана потенциометрдин маанисин көрсөтүү үчүн колдонууну үйрөнөбүз. OLED дисплейинде. Демонстрациялык видеону көрүңүз
Flow Багыты Sensor: 16 кадам
Агымдын багытынын сенсору: Бул сенсордун өлчөмү жана өлчөмү, ал эми шилтемелердин тизмесин аныктоо. Бул сенсордун жардамы менен сиз стомингдер менен иштейсиз. Кандай гана болбосун, бул дагы бир нерсе эмес
Arduino Control DC моторунун ылдамдыгы жана багыты потенциометрди жана баскычтарды колдонуу: 6 кадам
Ардуино Control DC моторунун ылдамдыгы жана багыты потенциометрди жана баскычтарды колдонуу: Бул окуу куралында биз L298N DC MOTOR CONTROL драйверин жана потенциометрди DC моторунун ылдамдыгын жана багытын эки баскыч менен башкаруу үчүн колдонууну үйрөнөбүз
Потенциометрди колдонуу менен Arduino Control DC моторунун ылдамдыгы жана багыты: 6 кадам
Потенциометрди колдонуу менен Arduino Control DC моторунун ылдамдыгы жана багыты: Бул окуу куралында биз L298N DC MOTOR CONTROL драйверин жана потенциометрди DC моторунун ылдамдыгын жана багытын башкаруу үчүн колдонууну үйрөнөбүз
Веб -сервер аркылуу Карта Багыты: 6 кадам
Веб -сервер аркылуу карталарды багыттоо: Интернет нерселери, (IoT) - азыр планетада эң популярдуу темалардын бири. Жана, ал интернет менен күндөн күнгө тездик менен өсүүдө. Заттардын Интернети жөнөкөй үйлөрдү акылдуу үйлөргө алмаштырууда, анда жарыктарыңыздан кулпуңузга чейин