Мазмуну:
- 1 -кадам: материалдар
- 2 -кадам: Linaro -ны Dragonboard 410cге орнотуңуз
- 3 -кадам: 2 -кадам: Китепканаларды орнотуу жана GitHubдан баштапкы кодду түшүрүү
- 4 -кадам: AWS IoT Core, DynamoDB орнотуу
- 5 -кадам: Twilio жана Dweet API'лерин орнотуңуз
- 6 -кадам: Кыйынчылыктар
- 7 -кадам: Жыйынтыктар жана келечектеги иштер
- 8 -кадам: Шилтемелер
Video: Камбус - шаардык автобустагы маалыматтарды чогултуу системасы: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Коомдук транспортто белгилүү болгон көйгөйлөр менен кыйынчылыктардын арасында калк реалдуу убакытта маалыматка ээ эмес жана анча ишенимдүү эмес. Коомдук транспорттогу автобустардын толуп кетиши колдонуучуларды алыстатат, алар өздөрүнүн унааларын колдонууну каалашат, бирок алар саат бою кыймылда турушат. Эгерде реалдуу убакытта, мисалы, автобустардын саны, колдонуучуга оңой жеткиликтүү болсо, анда ал кийинки автобусту күтөбү же автобус менен айланып өтүүнү же өзүнүн жеке унаасын колдонууну тандай алат. Тандоо күчү коомдук транспортту колдонуучу үчүн жагымдуу вариантка айландырат.
Үй ичиндеги адамдарды эсептөө же эсептөө ар кандай жолдор менен жүргүзүлүшү мүмкүн, алардын арасында эң көп иштегендер:
- Жылуулук сүрөттөрү;
- Компьютердин көрүүсү;
- Бет эсептегич;
Компьютердик көрүнүштү колдонуп, чөйрөдө адамдарды баалоодо бир нече кыйынчылыктардын арасында, негизгилери:
- Адамдардын окклюзиялары;
- Тескери жарык берүү;
- Статикалык окклюзия, башкача айтканда, объекттердин артындагы адамдар;
- Камеранын айлана -чөйрөгө болгон бурчу;
Бул долбоордун бир көйгөйү - бул автобустун ичинде күндүзү сүрөттүн фонун алып салууга эң жакшы жардам бере турган камеранын туура бурчун билүү.
Сунуштун негизги максаты - толуп кетүүнү эсептөө үчүн күчтүү жана конфигурацияланган моделди түзүү жана натыйжаларды смартфондор аркылуу калкка жеткиликтүү кылуу.
1 -кадам: материалдар
Долбоор үчүн керектүү материал болуп төмөнкүлөр саналат:
1 x Dragon Board 410c;
1 x USB камера;
1 x Android смартфону;
2 -кадам: Linaro -ны Dragonboard 410cге орнотуңуз
Linaro 17.09ду DragonBoard 410cге орнотуу үчүн төмөнкү шилтемедеги көрсөтмөлөрдү аткарыңыз. Биз GPS үчүн ядро колдоо үчүн Linaro 17.09 орнотууну сунуштайбыз.
www.96boards.org/documentation/consumer/dr…
3 -кадам: 2 -кадам: Китепканаларды орнотуу жана GitHubдан баштапкы кодду түшүрүү
Камбус модулдук архитектурасына жана код дизайнына ээ. Өзүңүздүн машинаны үйрөнүү алгоритмин коддоп, башка булут кызматына өтүп, өзүңүздүн колдонмо тиркемелериңизди түзсөңүз болот.
Камбус долбоорун иштетүү үчүн, адегенде githubдан баштапкы кодду жүктөп алышыңыз керек (https://github.com/bmonteiro00/cambus). Python орнотуу (Камбус версия 2.7 жана> 3.xте иштөө режими болчу) жана төмөнкү китепканалар 'pip' (sudo apt-get install python-pip) аркылуу. Линаро системасында көптөгөн китепканаларды орнотуу үчүн керек болот (Мындан тышкары, Cambus системасын СОдон ажыратуу үчүн виртуалдык чөйрөнү түзүү сунушталат - pip install virtualenv). Сураныч, төмөнкү китепканаларды орнотуңуз:
- pip paho-mqtt орнотуу
- pip орнотуу numpy
- opencv-python орнотуу
- opencv-салым-python орнотуу
- twilio орнотуу
- pip matplotlib орнотуу
Негизги программа класстарга бөлүнгөн:
- CamBus - негизги класс;
- Сенсор - GPS позициясы, температура, Co2 сыяктуу маалыматтарды алуу үчүн класс.
- Counter - класс сүрөт иштетүү алгоритми менен.
Бардык китепканалар орнотулгандыгын текшериңиз жана pyBon CamBus_v1.py аткарыңыз.
4 -кадам: AWS IoT Core, DynamoDB орнотуу
Биз AWS IoT ядросун TLS жана X509 жана NoSQL жана DynamoDB менен MQTT брокери катары колдондук. Андан кийин, сиз бир нерсени түзүү жана Динамо менен интеграциялоо үчүн төмөнкү кадамдарды аткарасыз:
docs.aws.amazon.com/iot/latest/developergu…
5 -кадам: Twilio жана Dweet API'лерин орнотуңуз
Twilio SMS кызматы да орнотулган. Бул кадамды аягына чыгаруу боюнча көрсөтмөлөрдү алуу үчүн төмөнкү URLди караңыз:
www.twilio.com/docs/iam/api/account
Android колдонмосу менен тутумдун ортосундагы интеграция REST аркылуу Dweet платформасы аркылуу жүргүзүлдү.
dweet.io/
6 -кадам: Кыйынчылыктар
Өнүгүү учурунда OpenCV техникасынан баштап AWS платформасына чейин көптөгөн кыйынчылыктарга туш болдук. C/C ++ тилинде иштеп чыгууга убакытты үнөмдөө үчүн Python менен код түзүүнү чечтик. Биздин өнүгүүбүздө Opencvдин негизги ыкмалары гана:
• cv2. GaussianBlur (..)
• cv2. босого (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Бул негизги ыкмалар адамдарды аныктоодо жакшы сапатка жетүү үчүн жетишсиз болгон. ML (Machine Learning) титирөөчү видеосу бар сценарийлер колдонулду. Ошентип, биз OpenCV машинаны үйрөнүү китепканасын колдонууну чечтик жана дагы бир көйгөйгө туш болдук, анткени ML алгоритмине жакшы маалыматтарды киргизүүнү табуу биз үчүн көп күндөрдү өткөргөн көйгөй болчу. Биз OpenCV SVM алгоритмин колдондук, бирок иштеген жокпуз. Биз OpenCV Naive Baysesти колдондук жана бул жакшы иштеди. Биз Tensorflow жана CNN нейрон тармактарын колдонууга аракет кылдык, бирок азырынча андай кылган жокпуз. CNN иштетүү күчүн көп колдонот, бизде жок нерсе. Колдонуу OpenCV ML жана OpenCV методдорунун негизги ыкмалары адамдарды табуунун жакшы көрсөткүчүнө жетүүгө жардам берди. Ошентсе да, видеонун ар бир түрү үчүн биз адамдарды аныктоонун жакшы көрсөткүчүнө жетүү жана жалган позитивдүү нерселерди болтурбоо үчүн OpenCVнын параметрлерин ыңгайлаштырышыбыз керек. Ушул эки айдын ортосунда биз маалымат чогултуу борборун эмес, биринчи идеябызды иштеп чыктык. жүргүнчүлөрдүн саны жана GPS жайгашуусу. Биз температураны жана башка ушул сыяктуу сенсорлорду колдонбостон, маалыматтарды чогултууну чечтик. Колдонмону параметрлештирүү үчүн жана. Cambus.ini файлында колдонмону ар кандай жолдор менен конфигурациялай аласыз.
7 -кадам: Жыйынтыктар жана келечектеги иштер
Видеодо көрүнүп тургандай, эсептегич так иштеп жатат. Көк сызыктар кирүү чегин жана кызыл сызык чыгаруу чегин белгилейт. Бул учурда видео окшоштуруу үчүн колдонулган, анткени биз аны автобуска жайгаштыра алган жокпуз.
Видеоңуздун өлчөмү, камеранын бурчу, жарыктуулугу ж.
Сураныч, cambus.iniдеги өзгөрмөлөрдү өзгөртүңүз, MQTT брокерин жана башкаларды көрсөтүңүз.
Келечекте ишке ашырууда тутумдагы температура, нымдуулук жана СО2 сыяктуу сенсорлорду кошууну карап чыгабыз. Идея - бул шаарлардын тегерегиндеги маалыматты коомчулукка жеткиликтүү кылуу.
Долбоорду жакшыртуу үчүн кийинки кадамдарды санайбыз:
- C/C ++ аркылуу кодду кайра жазыңыз;
- ML алгоритмин өркүндөтүү;
- Питондун кодун кайра факторлоо;
- Автобуска жайгаштыруу;
Биз көрсөтүлгөн бардык колдоо үчүн Embarcadosко жана Qualcommго ыраазычылык билдиребиз.
Кызматташтар:
Бруно Монтейро - [email protected]
Клебер Дробовок - [email protected]
Vinicius de Oliveira - [email protected]
8 -кадам: Шилтемелер
[1]
[2]
[3]
[4]
[5]
Сунушталууда:
Пикирлерди чогултуу системасы: 4 кадам
Пикирлерди чогултуу системасы: Посттон кийинки окуяларды жана семинарларды чогултуу ар дайым кызыктуу. Бул көйгөйдү чечүү үчүн, биз ардуиного негизделген пикирлерди чогултуу системасын түздүк. Бул долбоордо биз баскычты басуу аркылуу пикирлерди чогулта турган электроникалык түзүлүштү жасайбыз
MotoStudent Electric Racing Bike үчүн маалыматтарды алуу жана маалыматтарды визуалдаштыруу системасы: 23 кадам
MotoStudent Electric Racing Bike үчүн маалыматтарды алуу жана маалыматтарды визуалдаштыруу системасы: Маалыматты алуу системасы - бул тышкы сенсорлордон маалыматтарды чогултуу, сактоо жана иштетүү үчүн чогуу иштеген аппараттык жана программалык камсыздоолордун жыйындысы, аны графикалык түрдө визуалдаштыруу жана анализдөө үчүн, инженерлерге уруксат берүү
RFID жана Arduino Ethernet Shieldди колдонуп, Google электрондук жадыбалында маалыматтарды сактоо менен катышуу системасы: 6 кадам
Катышуу системасы RFID жана Arduino Ethernet Shieldди колдонуп, Google электрондук жадыбалында маалыматтарды сактоо менен: Саламатсыздарбы балдар, бул жерде биз абдан кызыктуу долбоорду ойлоп таптык жана бул Arduino аркылуу Google жадыбалына rfid маалыматтарын кантип жөнөтүү керек. Кыскача айтканда, биз катышуу маалыматын реалдуу убакытта сактап калуу үчүн rfid окурманынын негизинде катышуу системасын түзөбүз
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: 13 кадам (сүрөттөр менен)
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: Киришүү: Бул Ардуино тактасын, Sensor (DHT11), Windows компьютери жана Processing (бекер жүктөлүүчү) программасын колдонуп, Температураны, Нымдуулукту санариптик жана тилке графасынын формасы, убакытты жана күндү көрсөтүү жана эсептөө убактысын иштетүү
IoT иштетилген сенсор маалыматтарды чогултуу борбору ESP8266 жана PubNub менен: 9 кадам (сүрөттөр менен)
IoT иштетилген сенсор маалыматтарды чогултуу борбору ESP8266 жана PubNub менен: ESP8266дагы окуу куралдарынын көбү жаңы башталуучу деңгээлде (алыстан LEDди жымыңдап турат) же өркүндөтүү жана өркүндөтүү үчүн бир нерсе издеп жүргөн адам үчүн өтө татаал. инструктивдүү максаттар бул ажырымды түзүүгө