Оглавление:

Солнечная метеостанция Raspberry Pi: 7 шагов (с изображениями)
Солнечная метеостанция Raspberry Pi: 7 шагов (с изображениями)

Видео: Солнечная метеостанция Raspberry Pi: 7 шагов (с изображениями)

Видео: Солнечная метеостанция Raspberry Pi: 7 шагов (с изображениями)
Видео: ☀️ Будни IoT, Как там Литий ? =) Solal charger controller , Raspberry pi + Arduino 2024, Ноябрь
Anonim
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi
Солнечная метеостанция Raspberry Pi

Вдохновленный завершением двух моих предыдущих проектов, компактной камеры и портативной игровой консоли, я захотел найти новую задачу. Естественным продолжением была открытая удаленная система …

Я хотел построить метеостанцию Raspberry Pi, которая могла бы работать вне сети и отправлять мне результаты через беспроводное соединение из любого места! У этого проекта действительно были свои проблемы, но, к счастью, питание Raspberry Pi - одна из основных проблем, которую удалось упростить благодаря использованию PiJuice в качестве источника питания с добавленной солнечной поддержкой (в комплекте с нашей революционной технологией PiAnywhere - лучший способ убери свой Пи из сети!).

Моя первоначальная мысль заключалась в том, чтобы использовать фантастический модуль AirPi для снятия показаний. Однако у этого было два основных недостатка; для загрузки результатов требуется прямое подключение к Интернету, и он должен быть подключен напрямую к GPIO на Pi, что означает, что он не может подвергаться воздействию воздуха, не подвергая также Raspberry Pi (не идеально, если мы хотим, чтобы эта метеостанция длиться любое время).

Решение… построить свой собственный сенсорный модуль! Используя большую часть AirPi для вдохновения, я смог собрать очень простой прототип, используя несколько датчиков, которые у меня уже были; температура, влажность, уровень освещенности и общие газы. И самое замечательное в этом то, что в любой момент действительно легко добавить больше датчиков.

Я решил использовать Raspberry Pi a + в основном из-за его низкого энергопотребления. Чтобы отправить мне результаты, я использовал модуль EFCom Pro GPRS / GSM, который может отправлять текст прямо на мой мобильный телефон с результатами! Довольно аккуратно, правда?

Я рад поделиться с вами идеями для других замечательных проектов, связанных с солнечной батареей или портативными устройствами. Дайте мне знать в комментариях, и я сделаю все возможное, чтобы создать учебник!

Шаг 1: Детали

Запчасти
Запчасти

1 солнечная панель PiJuice + (в комплекте с нашей революционной технологией PiAnywhere - лучший способ отключить ваш Pi от сети!)

1 х Raspberry Pi a +

1 x EFCom Pro GPRS / GSM модуль

1 х сим-карта

1 х Хлебная доска

Протоборд

1 x АЦП MCP3008

1 х LDR

1 x LM35 (датчик температуры)

1 x DHT22 (датчик влажности)

Датчик качества воздуха общего назначения TGS2600 - 1 шт.

1 резистор 2,2 кОм

1 резистор 22 кОм

1 резистор 10 кОм

10 x гнездо - гнездовые перемычки

Ассортимент проволоки одинарной марки

1 x одинарная распределительная коробка для установки вне помещений

1 x двойная распределительная коробка для установки вне помещений

1 х водонепроницаемый кабельный разъем

2 x 20-миллиметровые полупрозрачные кабельные втулки

Шаг 2: цепь чувствительности

Схема измерения
Схема измерения
Схема измерения
Схема измерения
Схема измерения
Схема измерения

В этом проекте довольно много разных элементов, поэтому лучше делать все поэтапно. Прежде всего, я расскажу, как собрать измерительную схему.

Лучше сначала построить это на макетной плате, на случай, если вы сделаете какие-либо ошибки, я включил принципиальную схему и пошаговые изображения, на которые следует ссылаться.

  1. Первый компонент, который нужно подключить, - это аналого-цифровой преобразователь MCP3008. Он может принимать до 8 аналоговых входов и взаимодействовать с Raspberry Pi через SPI. Когда чип направлен вверх, а полукруг срезан на самом дальнем от вас конце, все контакты справа подключаются к Raspberry Pi. Соедините их, как показано. Если вы хотите узнать немного больше о том, как работает чип, вот отличное руководство по MCP3008 и протоколу SPI.
  2. Контакты слева - это 8 аналоговых входов, пронумерованных 0-7 сверху вниз. Мы будем использовать только первые 3 (CH0, CH1, CH2) для LDR, общего датчика газа (TGS2600) и датчика температуры (LM35). Сначала подключите LDR, как показано на схеме. Одна сторона заземлена, а другая - 3,3 В через резистор 2,2 кОм и канал CH0.
  3. Далее подключаем «общий датчик газа». Этот датчик газа используется для обнаружения загрязнителей воздуха, таких как водород и окись углерода. Я еще не придумал, как получить конкретные концентрации, поэтому на данный момент результат этого датчика представляет собой базовый процентный уровень, при котором 100% полностью насыщено. Когда датчик направлен вверх (штифты на нижней стороне), штифт справа от небольшого выступа будет штифтом 1, а затем числа увеличиваются по часовой стрелке вокруг штифта. Таким образом, контакты 1 и 2 подключаются к 5 В, контакт 3 подключается к CH1 и земле через резистор 22 кОм, а контакт 4 подключается прямо к земле.
  4. Последний подключаемый аналоговый датчик - это датчик температуры LM35. У этого есть 3 контакта. Возьмите датчик так, чтобы его плоская сторона была ближе всего к вам, крайний левый контакт напрямую подключался к 5 В (не отмечен на схеме, мой плохой!), Центральный контакт подключается к каналу 2, а крайний правый контакт напрямую соединяется с землей. Легкий!
  5. Последним подключаемым компонентом является датчик влажности DHT22. Это цифровой датчик, поэтому его можно подключить прямо к Raspberry Pi. Возьмите датчик сеткой к себе и четырьмя контактами на нижней стороне. Булавки заказываются с 1 слева. Подключите 1 к 3,3 В. Контакт 2 идет на GPIO4 и 3.3 В через резистор 10 кОм. Оставьте контакт 3 отключенным, а контакт 4 идет прямо на землю.

Вот и все! Создана тестовая схема. Я надеюсь добавить больше компонентов, когда у меня будет время. Я бы очень хотел добавить датчик давления, датчик скорости ветра и хотел бы получать более интеллектуальные данные о концентрациях газов.

Шаг 3: модуль GSM

GSM модуль
GSM модуль
GSM модуль
GSM модуль

Теперь, когда цепи считывания построены, необходим способ получения результатов. Здесь на помощь приходит модуль GSM. Мы собираемся использовать его для отправки результатов по сотовой сети в виде SMS один раз в день.

Модуль GSM связывается с Raspberry Pi через последовательный порт через UART. Вот отличная информация о последовательной связи с Raspberry Pi. Чтобы взять под контроль последовательный порт Pi, нам нужно сначала выполнить некоторую настройку.

Загрузите Raspberry Pi с помощью стандартного образа Raspbian. Теперь измените файл "/boot/cmdline.txt" с:

"dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait"

к:

"dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait"

удалив подчеркнутую часть текста.

Во-вторых, вам нужно отредактировать файл "/ etc / inittab", закомментировав вторую строку в следующем разделе:

# Создать getty на последовательной линии Raspberry PiT0: 23: respawn: / sbin / getty -L ttyAMA0 115200 vt100"

Так что он гласит:

# Создать getty на последовательной линии Raspberry Pi # T0: 23: respawn: / sbin / getty -L ttyAMA0 115200 vt100

и перезагрузите Pi. Теперь последовательный порт должен быть свободен для связи по вашему желанию. Пришло время подключить модуль GSM. Взгляните на принципиальную схему на предыдущем шаге и изображения выше, чтобы увидеть, как это делается. Обычно TX подключается к RX, а RX - к TX. На Raspberry Pi TX и RX - GPIO 14 и 15 соответственно.

Теперь вы, вероятно, захотите проверить, работает ли модуль, поэтому давайте попробуем отправить текст! Для этого вам необходимо скачать Minicom. Это программа, которая позволяет писать в последовательный порт. Использовать:

"sudo apt-get install minicom"

После установки minicom можно открыть с помощью следующей команды:

"minicom -b 9600 -o -D / dev / ttyAMA0"

9600 - это скорость передачи данных, а / dev / ttyAMA0 - это имя последовательного порта Pi. Это откроет эмулятор терминала, в котором все, что вы напишете, появится на последовательном порту, то есть будет отправлено в модуль GSM.

Вставьте заправленную сим-карту в модуль GSM и нажмите кнопку питания. После этого должен загореться синий светодиод. Модуль GSM использует набор команд AT, вот документация, если вам действительно интересно. Теперь мы проверяем, что Raspberry Pi обнаружил модуль, с помощью следующей команды:

"В"

модуль должен затем ответить:

"OK"

Большой! Затем нам нужно настроить модуль на отправку SMS в текстовом, а не в двоичном формате:

«AT + CMGF = 1»

снова ответ должен быть «ОК». Теперь пишем команду на отправку СМС:

"AT + CMGS =" 44 ************* "", замените звездочки своим числом.

Модем с ответом ">", после чего вы можете написать вам сообщение. Чтобы отправить сообщение, нажмите. Вот и все, и, если повезет, вы только что получили сообщение прямо со своего Raspberry Pi.

Теперь, когда мы знаем, что модуль GSM работает, вы можете закрыть minicom; нам он не понадобится для остальной части проекта.

Шаг 4: Загрузите программное обеспечение и пробный прогон

Загрузите программное обеспечение и пробный прогон
Загрузите программное обеспечение и пробный прогон
Загрузите программное обеспечение и пробный прогон
Загрузите программное обеспечение и пробный прогон

На этом этапе все должно быть подключено и готово к пробному запуску. Я написал довольно простую программу на Python, которая будет снимать показания с каждого датчика, а затем отправлять результаты на ваш мобильный телефон. Вы можете скачать всю программу со страницы PiJuice Github. Возможно, сейчас самое подходящее время для тестирования модуля PiJuice. Он просто подключается к GPIO Raspberry Pi, все провода, подключенные к Pi, просто подключаются прямо к соответствующим выводам на PiJuice. Легко, как Пи. Чтобы скачать код, используйте команду:

git clone

Он настроен на отправку данных один раз в день. Для целей тестирования это не очень удобно, поэтому вы можете отредактировать программу. Это легко сделать; просто откройте файл; "sudo nano weatherstation.py". Вверху есть раздел «установить задержку». Закомментируйте строку «delay = 86400» и не комментируйте «delay = 5». Теперь результаты будут отправляться каждые 5 секунд. Вы также захотите изменить программу, чтобы она содержала ваш собственный номер мобильного телефона. Найдите там, где написано "+44 **********", и замените звездочки своим собственным числом.

Перед запуском программы вам достаточно будет скачать библиотеку для считывания показаний датчика влажности DHT22:

git clone

И библиотеку нужно установить:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

"sudo apt-get install build-essential python-dev"

"sudo python setup.py install"

Круто, теперь вы можете протестировать программу.

"sudo python weatherstation.py"

Во время работы программы результаты должны быть отправлены на ваш мобильный телефон, а также распечатаны в терминале каждые 5 секунд.

Шаг 5: Постройте схему

Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему

Теперь, когда все работает на практике, пришло время построить настоящую вещь. На рисунках показано общее представление о том, как все устройство сочетается друг с другом. Есть две отдельные жилые единицы; один для сенсорной цепи (в которой будут отверстия для циркуляции воздуха внутри) и один для Raspberry Pi, блока GPRS и PiJuice (полностью водонепроницаемый), солнечная панель будет подключена к вычислительному блоку с помощью водонепроницаемого соединения. Затем два блока могут быть легко отсоединены, так что корпус датчика или компьютерный корпус могут быть сняты без необходимости демонтажа всего блока. Это замечательно, если вы хотите добавить больше датчиков или если вам нужен Raspberry Pi или PiJuice для другого проекта.

Вам нужно будет сломать макетную плату, чтобы она поместилась внутри меньшей из двух распределительных коробок. Здесь размещается измерительная цепь. Схема считывания теперь перенесена с макета на макетную плату. Теперь вам нужно будет сделать пайку. Убедитесь, что вы умеете безопасно пользоваться паяльником. Если вы не уверены, то попросите помощи у кого-нибудь, кто умеет паять.

Большое спасибо Патрику из лаборатории здесь, который спас меня от создания настоящего хеша этой схемы. Ему удалось собрать его за считанные минуты! Если, как и я, вы не лучший специалист в области построения схем, и у вас нет такого гения, как Патрик, готового помочь вам, то вы всегда можете оставить схему на макетной плате, если она помещается в вашу электрическую коробку..

Шаг 6: Подготовка жилищных единиц

Подготовка жилищных единиц
Подготовка жилищных единиц
Подготовка жилищных единиц
Подготовка жилищных единиц
Подготовка жилищных единиц
Подготовка жилищных единиц

В этой части самое интересное. Вы могли заметить кольца на каждой коробке. Они предназначены для того, чтобы их можно было выбить, чтобы коробки могли стать соединителями для электрики. Мы будем использовать их для соединения между сенсорным блоком и вычислительным блоком, для подключения к солнечной панели, а также в качестве вентиляции для чувствительного блока, чтобы обеспечить циркуляцию воздуха.

Сначала проделайте одно отверстие в каждой коробке для соединения между ними, как показано на картинках. Выбить отверстия аккуратно, может быть сложно, но шероховатость не имеет значения. Я обнаружил, что лучший метод - это использовать отвертку, чтобы сначала проткнуть кольцо с выемкой вокруг каждого отверстия, а затем поддеть его, как крышку из жестяной краски. Затем водостойкий кабельный разъем используется для соединения двух коробок.

Затем вам нужно будет проделать еще одно отверстие в корпусе компьютера для провода солнечной панели. Затем это отверстие закрывается одной из ваших полуслепых кабельных втулок. Перед тем, как вставить втулку, проделайте в ней отверстие для кабеля. Он должен быть как можно меньше, чтобы он оставался водонепроницаемым, затем вставьте конец микро-USB в отверстие (это конец, который подключается к PiJuice).

Наконец, необходимо проделать дополнительное отверстие в чувствительном элементе для входа и выхода воздуха. Я решил проехать прямо напротив перекрестка между двумя коробками. Возможно, потребуется добавить второе отверстие. Думаю, мы узнаем через некоторое время с помощью метеостанции.

Шаг 7: Подключение и завершение работы метеостанции

Подключение и отделка метеостанции
Подключение и отделка метеостанции
Подключение и отделка метеостанции
Подключение и отделка метеостанции
Подключение и отделка метеостанции
Подключение и отделка метеостанции

Правильно, почти у цели. Заключительный этап - это все подключено.

Начиная с вычислительного блока. В этой коробке у нас есть Raspberry Pi, PiJuice, который подключается к Raspberry Pi GPIO, и модуль GSM, который подключается к разъему GPIO на PiJuice с помощью перемычек между гнездом и гнездом. Красиво и уютно! на этом этапе я бы, вероятно, посоветовал нанести какой-нибудь герметик вокруг точки входа USB-кабеля для солнечной панели. Скорее всего, подойдет какая-нибудь смола или суперклей.

Затем перейдите к чувствительному элементу. На фото сверху вниз провода; серый, белый, фиолетовый и синий - линии передачи данных SPI, черный - заземление, оранжевый - 3,3 В, красный - 5 В, а зеленый - GPIO 4. Вам нужно будет найти перемычки, чтобы подключиться к ним, а затем пропустить их через водонепроницаемый кабель. разъем как видно на фотографиях. Затем каждый провод можно подключить к соответствующему GPIO и затянуть разъем. На этом этапе легко увидеть, как можно улучшить дизайн; LDR не будет подвергаться воздействию большого количества света (хотя все же может быть полезно знать относительные значения, и выбивание дополнительного отверстия может помочь), я думаю, что было бы лучше использовать тот же размер, что и вычислительный блок коробку для чувствительного блока, тогда было бы легче вставить печатную плату в коробку, и было бы место для игры с различными компоновками.

Сейчас я поставил его в саду, как вы можете видеть на фотографиях. Надеюсь, в ближайшие дни я тоже смогу опубликовать некоторые результаты! И, как я уже сказал ранее, если у вас есть идеи для каких-нибудь крутых проектов, дайте мне знать!

Рекомендуемые: