Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Интеграция данных сенсоров в Raspberry Pi: практическое руководство

Аннотация

Узнайте, как подключить и читать данные с GPS-модуля и IMU MPU‑9150 на Raspberry Pi через интерфейсы I²C и UART, и обрабатывать информацию в реальном времени для автономной навигации.

Ключевые слова: I2C communication, UART communication, Adafruit Ultimate GPS Breakout, Sparkfun MPU‑9150 Breakout, Raspberry Pi Setup

Введение

Приобретение данных с сенсоров — основа любой цифровой системы управления. Когда встроенный контроллер обрабатывает эти входы, выбор коммуникационного интерфейса становится критичным. Для проекта робототехнической навигации необходимы непрерывные обновления GPS-локации и точные измерения курса. Этот туториал демонстрирует, как подключить GPS-модуль и магнетометр к Raspberry Pi, просматривать данные удалённо и интегрировать их в управляющий софт.

Цель

Этот продвинутый туториал предполагает знакомство с Raspbian и базовыми bash-командами. Он ведёт через чтение акселерометра и GPS-данных через последовательные интерфейсы Pi, подключение сенсоров и настройку необходимых драйверов железа.

Информация

Железо

MPU‑9150 — многочиповый модуль, объединяющий MPU‑6050 (3-осевой гироскоп и акселерометр) и цифровой компас AK8975. Широко используется в смартфонах и планшетах за низкое потребление и высокую производительность.

Adafruit Ultimate GPS построен на чипе MTK3339, предлагая 10 Гц частоту обновления, отслеживание 22 спутников и порт для внешней антенны. Его красный LED индицирует статус: 1 Гц при поиске и 15-секундные вспышки при достижении фикса.

Стандарты коммуникации

I²C использует две двунаправленные линии (SDA и SCL) для подключения мастера (Pi) к нескольким слейвам, каждый с уникальным адресом.

UART передаёт данные асинхронно в 5–8-битных кадрах на программируемом бодрейте, требуя отдельные линии TxD и RxD.

Список компонентов

Предположения

Процедуры

  1. Определите GPIO-пины Pi: UART использует GPIO 14 (Tx) и 15 (Rx); I²C использует GPIO 2 (SDA) и 3 (SCL).
  2. Подключение GPS: соедините Tx GPS с Rx Pi, Rx GPS с Tx Pi, подайте 3,3 В или 5 В на Vin, соедините GND с землёй Pi.
  3. Подключение MPU‑9150: Vcc к 3,3 В, GND к земле, SDA к GPIO 2, SCL к GPIO 3.
  4. Включение I²C на Pi:
    • Выполните sudo apt‑get update && sudo apt‑get install i2c‑tools libi2c‑dev.
    • Установите WiringPi: git clone git://git.drogon.net/wiringPi && cd wiringPi && sudo nano /etc/modules и добавьте snd-bcm2835, i2c-bcm2708, i2c-dev.
    • Отредактируйте /boot/config.txt, добавьте dtparam=i2c1=on и dtparam=i2c_arm=on, затем перезагрузитесь.
  5. Установка демо MPU‑6050:
    • Клонируйте git://github.com/richardghirst/PiBits.git, перейдите в MPU6050-Pi-Demo, установите libgtkmm-3.0-dev.
    • Отредактируйте I2Cdev.cpp и setup‑i2c.sh, заменив /dev/i2c-0 на /dev/i2c-1.
    • Скомпилируйте make, запустите ./setup-i2c.sh, проверьте sudo i2cdetect -y 1.
    • Запустите демо ./demo_raw для просмотра сырых данных гироскопа и акселерометра.
  6. Настройка сбора GPS-данных:
    • Руководство Adafruit GPS Daemon guide — стартовая точка, но для кастомной обработки используем открытую библиотеку libgps.
    • Клонируйте git://github.com/wdalmut/libgps.git, скомпилируйте make && sudo make install.
    • Протестируйте с примером position_logger.c: скомпилируйте gcc -o position_logger position_logger.c -lgps -lm и запустите ./position_logger. При получении фикса широта и долгота печатаются в десятичных градусах.

Заключение

Этот туториал покрыл аппаратное подключение, включение протоколов связи и базовую программную настройку для двух распространённых сенсоров на Raspberry Pi. Хотя примеры фокусируются на отображении данных, те же принципы расширяются на интеграцию выходов сенсоров в сложные алгоритмы навигации или управления. Освоение библиотеки каждого сенсора и твёрдое понимание C/C++ разработки позволят более сложную, реально-временную сенсорную фузию.

Ссылки

Производственный процесс

  1. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  2. Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
  3. Точный мониторинг температуры в серверной на Raspberry Pi
  4. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  5. Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
  6. Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi
  7. Прямое подключение ультразвукового датчика LEGO Mindstorms NXT к Raspberry Pi
  8. Подключение ультразвукового датчика HC-SR04 к Raspberry Pi — практическое руководство
  9. Создайте свой первый IoT-проект с Raspberry Pi, DHT11 и ThingSpeak
  10. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности