Мазмұны:

Шортан - Қауіпсіз, ақылды, шортан айдаңыз !: 5 қадам
Шортан - Қауіпсіз, ақылды, шортан айдаңыз !: 5 қадам

Бейне: Шортан - Қауіпсіз, ақылды, шортан айдаңыз !: 5 қадам

Бейне: Шортан - Қауіпсіз, ақылды, шортан айдаңыз !: 5 қадам
Бейне: Мыналар не істеп тұр?😱😱😱 #qoslike #калаулым #бірболайық #кослайк 2024, Қараша
Anonim
Шортан - Қауіпсіз, ақылды, шортан айдаңыз!
Шортан - Қауіпсіз, ақылды, шортан айдаңыз!

Менің Пайк атты жобама қош келдіңіз!

Бұл менің білімімнің бір бөлігі. Мен Бельгиядағы Howest NMCT студентімін. Мақсат - Raspberry Pi көмегімен ақылды нәрсені жасау болды. Бізде ақылды болғымыз келетін толық еркіндік болды.

Мен үшін велосипедті ақылды ету оңай таңдау болды. Мен велосипед тебу мені қалаға баратын жерге тез жеткізетін жерде тұрамын.

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

Сонымен, Шортан не істей алады?

Pike сіздің жүргізуші сеанстарыңыздың есебін жүргізеді. Ол сіздің қай бағытты таңдағаныңызды қадағалап отырады, ол сіздің орташа жылдамдығыңызды және жүрген жолыңызды есептейді. Әр сессиядан кейін сіз сайтқа кіріп, сапардың қайда және қалай болғанын біле аласыз. Біз сондай -ақ велосипедпен кім жүретінін таңдай алатындай етіп бірдеңе жасаймыз, сондықтан қалаған адамдар сіздің Пайкіңізді қолдана алады!

1 -қадам: Бөлшектер

Бөлшектер
Бөлшектер

Менің жобамды қайта құру үшін сізге не қажет екенін білуіңіз керек. Бастамас бұрын, бұл жоба арзан емес екенін айтқым келеді. Сондай -ақ, мен жергілікті дүкеннен қымбат тұратын сым сатып алдым. Сіз оларды Интернетте бірнеше евро/долларға сатып ала аласыз (мен сізге ұсынамын). Менде күтуге уақыт болмады. Сондықтан мен оларды жергілікті дүкеннен жоғары бағамен сатып алдым.

Сатып алу тізімі

- Raspberry Pi

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

- Powerbank сіздің Pi -ге жеткілікті қуат беретін болса, кез келген адам жасайды

- Maxxter смартфон ұстаушысы (негізінен сіз таба алатын ең арзан …)

- Maxxter смартфон ұстағышы (ақ түсті дөңгелекшелер менің пластикалық түтіктеріме де өте арзан)

- Пластикалық түтіктер (рульге бекіту үшін смартфон ұстағышына сәйкес келетін түймелерге сәйкес келетін тесік бұрғыланды)

- түймелер*

- 6х220 дюймдік резисторлар

- 1x 5K Ω резистор

- СКД дисплей

- DS18B20 бір сымды температура сенсоры

- Adafruit GPS-модулі Ultimate Breakout 66 арнасы

- GPS антеннасы - Сыртқы белсенді антенна - 5 метрлік SMA кабелімен 3-5В 28дб (GPS сигналын күшейту үшін)

- uFLto SMA адаптері (қосымша антеннаны Adafruit GPS-модуліне қосу үшін)

Ескертулер:

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

2 -қадам: Барлығын қосыңыз

Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз

Бұл соншалықты қиын емес. GPS модулі USB -ге қосылғандықтан. Жоғарыдағы суретте түстерді USB адаптеріндегі кабельдермен сәйкестендіруге болатынын көруге болады. Түймелер мен жарық диодтары 220 Ω қосылады. DS18B20 температура сенсоры 5К Ω резисторға дейін қосылады.

3 -қадам: Raspberry Pi -ді конфигурациялайық

Raspberry Pi -ді конфигурациялайық!
Raspberry Pi -ді конфигурациялайық!

Алдымен сізге мұнда үйренуге болатын Raspbian қажет, содан кейін осы репозиторийдегі қадамдарды орындау қажет.

Менің мәліметтер қорының кестесі минималды. Ол 4 кестеден тұрады:

  1. tbluser

    1. UserID (tinyint, 2) АВТО КӨШІРУ, ҚОЛ ЖОҚ
    2. Пайдаланушы аты (varchar, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) ҚОЛ ЖОҚ
  2. сәтсіздік

    1. SessionID (int, 10) АВТО ҚОСЫМШАСЫ, ҚОЛ ЖОҚ
    2. Сессия күні (күні)
    3. Қолданушының ID
  3. tblsensor

    1. SensorID (tinyint, 3) АВТО КӨШІРУ, ҚОЛ ЖОҚ
    2. Сенсор атауы (varchar, 150)
  4. тарих

    1. HistoryID (bigint, 20) АВТО ҚОСЫМШАСЫ, ҚОЛ ЖОҚ
    2. SensorID
    3. Сессия ID
    4. HistoryValue (varchar, 255)
    5. Тарих уақыты (уақыт, 3)

Сонымен қатар.sql dump файлын да қарауға болады

4 -қадам: кодтауды бастайық

Кодтауды бастайық
Кодтауды бастайық

Сіз менің кодты жобаның жұмыс істеуі үшін таба аласыз.

жаһандық позициялау жүйесі

GPS модулін бастау өте қарапайым. Сізге тек Python ортасына gpsd-py3 пакетін орнату қажет. Содан кейін сіз өміріңізді жеңілдету үшін осы кітапхананы пайдалана аласыз. Сіз GPS -тен ұзаққа созылған, ендік, жылдамдық сияқты деректерді алу үшін кодтау мысалдарын пайдалана аласыз.

СКД-дисплей

СКД дисплейінің жұмыс істеуі үшін сізге Adafruit кітапханасын орнату қажет. Кодтау мысалдарын мына жерден табуға болады.

DS18B20 бір сымды температура сенсоры

Бір сымды сенсорды табу үшін сізге көп жұмыс істеу керек. Ең алдымен, біз бір сымды шинаны іске қосуымыз керек. Ол үшін мына қадамдарды орындаңыз:

  1. sudo raspi-config
  2. Интерфейс опциялары
  3. 1-сым

Сенсордан деректерді оқуды бастау үшін біздің бір сым қалай аталатынын білуіміз керек. Бұл түрге cd/sys/bus/w1/devices/ішінде

Сіз екі құрылғыны көресіз, олардың бірі-Raspberry Pi өзі, ал екіншісі 28-0 сияқты болуы керек … т. Сонымен қатар, сандар мен әріптердің ұзын тізбегі-бұл Python-дағы мәліметтерді оқу. Python -да деректерді оқу үшін оны файл ретінде ашу қажет. Файлды ашу жолы келесідей болуы керек:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Түймелер мен жарықдиодты шамдар

Бұл негізгі функциялар, сіз менің кодты осы сыныптар қалтасынан қарай аласыз.

SQL-мәлімдемелері

Барлық дерлік мәлімдемелер негізгі SQL операторлары болып табылады. Мен сенсорлардың құндылықтарын қалай сақтағаным туралы біраз түсініктеме бергім келеді. Мен сенсорларды қолмен сенсорларға қостым. Мен сенсордың қай идентификаторы бар екенін білдім. Сондықтан мен ұзындықты, ендік пен жылдамдықты қадағалаймын. Әр мән үшін мен басқа функция жасадым. Мен жай ғана бірдей 3 sql мәлімдемесін жасар едім, бірақ қай мәнді сақтағым келетініне байланысты WHERE мәлімдемесін өзгерттім.

Ұсынылған: