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

Как измерить качество воздуха на OpenSensors

Как измерить качество воздуха в Институте открытых данных с помощью Arduino и Shinyei PPD-42.

Введение

Итак, думая о хорошей демонстрации платформы Opensensors, мы подумали, почему бы не посмотреть, насколько загрязнено наше рабочее место, подключив датчик для публикации непрерывного потока данных брокеру обмена сообщениями Opensensors. Для этого нам понадобится простой в использовании датчик, мы остановились на Shinyei PPD-42. Мы будем использовать это для измерения количества потенциально опасных мелких частиц в воздухе с Arduino, подключенным к ПК с Linux (или Raspberry PI).

Для запуска этого мини-проекта вам потребуется:

Мы основываем этот прогон на проекте под названием DustDuino, который использует датчик Shinyei PPD-42 с Arduino и модулем Wi-Fi. Посмотрите здесь. Мы использовали этот проект в качестве справочного материала при настройке датчика и написании кода Arduino.

Сначала мы следуем шагу 2 инструкции по подключению датчика к Arduino. Затем мы загружаем код из репозитория проектов на github, открывая ссылку на код DustDuinoSerial.ino, выбирая raw и сохраняя эту страницу.

Открыв его в IDE arduino, мы теперь загружаем его в нашу Arduino UNO, подключив Arduino и нажав кнопку загрузки.

Вы можете проверить поступление данных с помощью монитора последовательного порта Arduino IDE.

Затем нам нужно выяснить, как отправить входящее последовательное сообщение брокеру сообщений Opensensors.

Для этого мы решили написать сценарий Python. Мы использовали модуль Mosquitto Python. Я собираюсь предположить, что у вас уже установлен Python, поскольку он входит в состав большинства версий Linux. Если у вас его еще нет, вам необходимо установить pip, чтобы загрузить и настроить модуль Mosquitto python. В Ubuntu или Debian это можно сделать с помощью следующей команды:

  sudo apt-get install python-pip  

После установки pip мы можем установить клиентский модуль Mosquitto python, используя следующую команду:

  sudo pip install paho-mqtt  

Вы можете узнать, как использовать модуль python, прочитав веб-сайт, на который мы ссылались выше. Написать и скомпилировать python очень просто.

Привет, мир Python

Откройте свой любимый редактор открытого текста. Введите строку:

  напечатать «Hello World»  

Сохраните его как hi.py. Затем в терминале перейдите к своему документу и введите команду:

  python hi.py  

Вы должны увидеть ответ «Hello World». Это так просто.

Привет, Opensensors

Чтобы использовать клиентский модуль Python Mosquitto, мы можем запустить следующий код для тестирования публикации. Вам нужно будет заменить мое имя пользователя «Луи» (с сохранением речевых знаков) и пароль на свои данные:

Библиотека mosquitto, которая нам нужна для связи с брокером сообщений Opensensors:

  импортировать paho.mqtt.client как mqtt  

Инициализируйте опцию клиента с нашим идентификатором клиента нашего устройства:

  mqttc =mqtt.Client (client_id ="939")  

Установите наше имя пользователя и пароль:

  mqttc.username_pw_set ("Луи", пароль ="AbcDEFgH")  

Подключитесь к серверу Opensensors:

  mqttc.connect ("mqtt.opensensors.io")  

Опубликуйте сообщение, чтобы поздороваться:

  mqttc.publish ("/ users / Louis / test2", payload ="Hello Opensensors!", qos =0, keep =False)  

Отключить:

  mqttc.disconnect ();  

Успех, теперь у вас должен быть работающий датчик 🙂

Далее нам нужно заставить работать серийник. Чтобы узнать, как выглядит ваш последовательный порт Arduino, мы выполнили следующую команду в терминале:

  dmesg | grep tty  

Результат был примерно таким…

  [0.000000] консоль [tty0] включена [3522.192687] cdc_acm 7-1:1.0:ttyACM0:USB ACM-устройство  

Во второй строке есть детали нашего Ардиуно. TtyACM0 - это имя устройства, а «/ dev / ttyACM0» - это последовательный порт.

Открыть и прочитать последовательный порт на Python очень просто. Вы можете запустить небольшой тест, чтобы проверить, работает ли он, используя следующий код:

Для связи с Arduino нам нужно использовать последовательную библиотеку:

  import serialser =serial.Serial ('/ dev / ttyACM0') # открыть первый последовательный порт, пока True:print ser.readline () # печатает каждую строку, которую он читает из последовательного  

Наконец, нам просто нужно соединить две части. Вот код, который мы использовали:

  импортировать serialimport paho.mqtt.client как mqttimport timemqttc =mqtt.Client (client_id ="939") mqttc.username_pw_set ("Louis", password ="AbcDEFgH") mqttc.connect ("mqtt.opensensors.io") ser =serial.Serial ('/ dev / ttyACM0') # открыть первый последовательный порт, пока True:message =ser.readline () напечатать сообщение mqttc.publish ("/ users / Louis / ODI / airquality ", полезная нагрузка =сообщение, qos =0, сохранить =ложь) time.sleep (1);  

Выполняя это, мы публиковали данные наших датчиков в Opensensors!

МЫ рекомендуем настроить код Arduino для вывода данных в формате JSON. Это упростит чтение и добавит новые функции.

Вы можете ознакомиться с темой создания открытых данных, которую мы создали здесь!

Код

 импортировать serialimport paho.mqtt.client как mqttimport timemqttc =mqtt.Client (client_id ="939") mqttc.username_pw_set ("Louis", password ="AbcDEFgH") mqttc.connect ("opensensors.io") ser =serial.Serial ('/ dev / ttyACM0') # открыть первый последовательный порт, пока True:message =ser.readline () print messagemqttc.publish ("/ users / Louis / ODI / airquality", полезная нагрузка =сообщение, qos =0, сохранить =ложь) time.sleep (1); 

Источник:Как измерить качество воздуха на OpenSensors


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

  1. Датчик качества воздуха с гелием
  2. Как плохое качество воздуха влияет на наше здоровье
  3. Насколько легко использовать термистор ?!
  4. Как повысить эффективность воздушного компрессора
  5. Как измерить толщину паяльной маски
  6. Как Интернет вещей способствует развитию внутренней AQMS?
  7. Как работают осушители воздуха?
  8. Как удалить загрязнения из сжатого воздуха
  9. Использование силиконовых браслетов для измерения качества воздуха
  10. Датчик качества воздуха на основе углерода