Метеостанция на Orange Pi Zero + дополнительные датчики

Дополнительные датчики

Итак, у меня появились дополнительные датчики, а именно:

dht11

am2320

MQ-2

CJMCU – судя по всему, это датчик освещённости APDS-9930

Датчик дождя

ещё появился модуль Sim800L – gprs  gsm модем, т.к. я хотел на нём протестировать триангулярное определение локации от сотовых станций, но пока начнём с датчиков.

 

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

 

Итак, приступим, dht11 – температурный модуль:

У DHT11 4 выходный разъёма, только 3 из которых используются). Питание, дата и земля.

Вот как я его подключу:

  • DATA в PIN 7(GPCLK)
  • GND в PIN 6 (GND)
  • VCC в PIN 1 (VCC-3.3V)

Итак, нам потребуется сделать выполнить следующий порядок действий только для того, чтобы установить библиотеку pyA20, которая используется для получения данных с датчика DHT11:

 

sudo apt-get install python-setuptools

sudo easy_install pip

sudo apt-get install python-dev   # for python2.x installs
sudo apt-get install python3-dev  # for python3.x installs

pip install pyA20

Всё вроде просто, для того, чтобы установить библиотеку pyA20 требуется pip, для его установки необходимо установить python-setuptools, который позволяет использовать easy_install чтобы установить pip, ну а библиотека не встанет без файла Python.h, который можно получить установив python-dev и python3-dev, как-то так.

Ещё раз таблица с пинами:

Raspberry Pi Orange Pi Pin(Left column) Broche(Right column) Orange Pi Raspberry Pi
3V3 1 2 +5V  +5V
GPIO2SDA1 I2C PA12 3 4 +5V  +5V
GPIO3SCL I2C PA11 5 6 GND GND
GPIO4 PA6 7 8 PA13 GPIO14UART_TXD
GND GND 9 10 PA14 GPIO15UART_RXD
GPIO17 PA1  11 12 PD14 GPIO18PCM_CLK
GPIO27 PA0  13 14 GND GND
GPIO22 PA3  15 16 PC4 GPIO23
3V3 3V3  17 18 PC7 GPIO24
GPIO10SPI0_MOSI PC0 19 20 GND GND
GPIO9SPI0_MISO PC1 21 22 PA2 GPIO25
GPIO11SPI0_SCLK PC2 23 24 PC3 GPIO8SPI0_CE0_N
GND GND 25 26 PA21 GPIO7SPI0_CE1_N
ID_SDI2C ID EEPROM PA19 27 28 PA18 ID_SCI2C ID EEPROM
GPIO5 PA7 29 30 GND GND
GPIO6 PA8 31 32 PG8 GPIO12
GPIO13 PA9 33 34 GND GND
GPIO19 PA10 35 36 PG9 GPIO16
GPIO26 PA20 37 38 PG6 GPIO20
GND GND 39 40 PG7 GPIO21

 

Пока перейдём к другому датчику AM2320:

 

Перепробовал почти всё, не видит Orange Pi Zero подключаемые к ней датчики, буду думать, в чём может быть проблема

 

 

Так, продолжу запись)

В результате работ с другой моделью Orange Pi, а именно Pi One, я настроил и подключил цифро-аналоговый преобразователь MCP3008. Я решил подключить этот модуль к Pi Zero, схема подключения примерно следующая:

По пинам:

CLK – PA14

Dout – PA16

Din – PA15

CS – PA13

DGND AGND – земля

Vdo Vref – питание 3.3 v

Для установки и запуска проделал вроде такие же манипуляции, как и для Orange Pi One. единственно, что мне потребовалось, это в конце файла /boot/armbianEnv.txt добавить следующие записи и перезагрузится:

overlays=spi-spidev
param_spidev_spi_bus=1

Вот кстати ещё одна программка, которая считывает значения всех каналов:

#!/usr/bin/python

import spidev
import time
import os

# Open SPI bus
spi = spidev.SpiDev()
spi.open(1,0)

# Function to read SPI data from MCP3008 chip
# Channel must be an integer 0-7
def ReadChannel(channel):
  adc = spi.xfer2([1,(8+channel)<<4,0])
  data = ((adc[1]&3) << 8) + adc[2]
  return data

# Define sensor channels
# (channels 3 to 7 unused)
swt_channel = 0
vrx_channel = 1
vry_channel = 2

# Define delay between readings (s)
delay = 2

while True:
  # Print out results
  print "--------------------------------------------"
  print(ReadChannel(0))
  print(ReadChannel(1))
  print(ReadChannel(2))
  print(ReadChannel(3))
  print(ReadChannel(4))
  print(ReadChannel(5))
  print(ReadChannel(6))
  print(ReadChannel(7))

  # Wait before repeating loop
  time.sleep(delay)

 

Идём дальше,

Please follow and like us:
0
Метеостанция на Orange Pi Zero + дополнительные датчики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Перейти к верхней панели