Золотой Лось ОЛК: нет.
|
Текущее время: 28.03.24 13:41 |
на страницу... 1 2 3
Версия для печати |
Сообщение
Заголовок сообщения: Тумбокс 2: тумбочка + Orange PI One
Вступление (занятное слово )
Привет всем!
2 года мечтаю создать сие произведение, и вот появилось время (и немного денег) для начала проекта. Предупреждаю, что будет долгострой, и фото не очень качественные.
ГроуТумбочка есть, но из автоматики только вкл/откл света на таймере. Удалось только один урожай вырастить. И вскоре стало понятно, что не стоит испытывать судьбу, поставив тумбочку практически у всех на глазах. Пришлось её спрятать в труднодоступное место, и выращивание стало невозможным.
Шли годы, теоретически создавались проекты, подбирались решения, выработались следующие (банальные) требования:
- обязательно должна быть фото (видео) камера;
- автоматический полив и освещение;
- поддержание правильной температуры;
- удалённое управление;
- легкость модернизации;
Короче, чтобы подходить к тумбочке только в крайнем случае. Хорошо, что я программист . До весны надо успеть всё сделать! Продолжение следует.
Привет всем!
2 года мечтаю создать сие произведение, и вот появилось время (и немного денег) для начала проекта. Предупреждаю, что будет долгострой, и фото не очень качественные.
ГроуТумбочка есть, но из автоматики только вкл/откл света на таймере. Удалось только один урожай вырастить. И вскоре стало понятно, что не стоит испытывать судьбу, поставив тумбочку практически у всех на глазах. Пришлось её спрятать в труднодоступное место, и выращивание стало невозможным.
Шли годы, теоретически создавались проекты, подбирались решения, выработались следующие (банальные) требования:
- обязательно должна быть фото (видео) камера;
- автоматический полив и освещение;
- поддержание правильной температуры;
- удалённое управление;
- легкость модернизации;
Короче, чтобы подходить к тумбочке только в крайнем случае. Хорошо, что я программист . До весны надо успеть всё сделать! Продолжение следует.
Заголовок сообщения: Основа автоматики
Сначала думал, что будет всё на микроконтроллерах PIC, потом на Arduino, но наличие камеры вынудило выбрать Orange PI One – одноплатный мини-компьютер.
Таких «мозгов» хватит не на один гроусарай. Если вдруг разъёма GPIO (40 pin headers) не хватит на все устройства, тогда можно расширяться с помощью микроконтроллеров.
Серьёзным недостатком считаю наличие только одного порта USB 2.0 и отсутствие часов независимых от питания мини-компьютера. Для USB существуют разветвители, а часы можно подключить отдельным модулем к GPIO.
Таких «мозгов» хватит не на один гроусарай. Если вдруг разъёма GPIO (40 pin headers) не хватит на все устройства, тогда можно расширяться с помощью микроконтроллеров.
Серьёзным недостатком считаю наличие только одного порта USB 2.0 и отсутствие часов независимых от питания мини-компьютера. Для USB существуют разветвители, а часы можно подключить отдельным модулем к GPIO.
Заголовок сообщения: Принципиальная схема автоматики тумбокса
Стрелка указывает на: зависимость от / подчиняется этому / более важный узел.
Особенности и основные принципы:
- связь тумбокса с внешним миром беспроводная, скорее всего BlueTooth (возможно и со смартфона можно будет управлять тумбоксом);
- OrangePI управляет т.н. «модулями» (датчики, реле, микроконтроллеры (полив, вентиляция, свет) и т.п.), которых может быть много;
- блок питания от компьютера (ATX), мощный и шумный, для питания всех модулей, кроме OrangePI;
- бесшумный блок питания эксклюзивно для Orange PI, чтобы в режиме «молчания» мини-компьютер мог абсолютно бесшумно работать, отключив при этом блок питания ATX и (как следствие) все модули;
-шина питания 4 провода: -, +3.3, +5, +12 вольт (это всё из БП ATX); Нужна для питания модулей.
-шина данных 6 проводов: SPI (4 провода) + UART (2 провода) (это всё из GPIO Orange PI); Нужна для управления модулями.
-если модуль работает только на приём вкл/откл, то он в шине данных следит только за контактом SS из протокола SPI;
-если модуль работает только на передачу вкл/откл, то в шине данных контакт SS подключается к плюсу (вкл) или к минусу (откл);
-если модуль передаёт и/или принимает информацию, то он может использовать протокол SPI или UART (других не предусматривается); «плюс» на контакте SS указывает на возможность обмена данными;
- Orange PI, используя шину данных, «общается» со всеми модулями по очереди, но быстро;
-предполагалась ещё шина аварии (HALT), которая при возникновении «этой самой», напрочь всё отрубала, но наверное это будет лишним;
Последний раз редактировалось аКустик 27.10.16 22:33, всего редактировалось 1 раз.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Жму руку и жедаю удачи )
В настоящее всемя целая куча контролеров для автоматизации.
я тоже автоматизацию делал сейчас переделоваю у меня arduino + ESP8266
В настоящее всемя целая куча контролеров для автоматизации.
я тоже автоматизацию делал сейчас переделоваю у меня arduino + ESP8266
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
автобонг [24.10.16 18:58] писал(а):
Жму руку и жедаю удачи )
В настоящее всемя целая куча контролеров для автоматизации.
я тоже автоматизацию делал сейчас переделоваю у меня arduino + ESP8266
В настоящее всемя целая куча контролеров для автоматизации.
я тоже автоматизацию делал сейчас переделоваю у меня arduino + ESP8266
Спасибо! ESP8266 мне понравился. Когда-то тоже думал о Wi-Fi связи, но выбрал BlueTooth (USB-шные модули) потому, что они уже у меня есть - давно валяются без дела.
Режим "молчания".
На дверь в комнату будет стоять датчик открытия - так тумбокс будет знать что кто-то вошёл.
Когда дверь несанкционировано откроется, тумбокс будет переходить в режи "молчания":
-выключится БП (блок питания) ATX, и с ним все модули: вентиляторы, дачтки и пр.;
-OrangePI останется включённым, питаясь от бесшумного БП;
-OrangePI будет ожидать, пока дверь опять не закроется, и не пройдёт какое-то время, допустим 5 минут;
-когда дверь закрыта более 5-ти минут, OrangePI опять включит БП ATX и вернётся в рабочий режим;
Замечен возможный изъян: пока OrangePI будет в режиме "молчания", датчики не будут работать.
А если датчик открытия двери не будет работать, OrangePI перестанет "чувствовать" дверь и не выйдет из режима "молчания".
Значит этот датчик будет питаться от бесшумного БП как и OrangePI. А если таких датчиков будет много? Придумывать шину специального питания для датчиков? Будем надеяться что нет
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Блок питания ATX
В БП есть самый широкий разъём на 20 или 24 контакта, там все необходимые напряжения и контакт включения, его и будем использовать. Схема разьёма из Википедии.
Электронные детали я покупаю на «Космодроме». Оказывается, там есть такие разъёмы под названием Mini Fit шаг 4,2мм – купил 24-х контактный Г-образный для платы.
Когда БП только включить в розетку, он не «заведётся», но будет чрез провод «+5 VSB» подавать 5 вольт и 2 ампера (судя по спецификации). Этого бы хватило на бесшумное питание OrangePI. Но на моём БП написано максимум 0,2А (в 10 раз меньше) для +5VSB, потому придётся использовать отдельный БП для бесшумного режима. Но в данном случае я буду использовать только один БП – ATX.
Чтобы «завести» БП ATX, нужно замкнуть зелёный провод “Power On” с любым из чёрных «земляных». Кулер в БП закрутиться, и будут поступать все напряжения. 5В для OrangePI берём из любых проводов цвета красного (+, не путать с оранжевым) и чёрного (-). «Заводить» БП ATX без нагрузки строго не рекомендуется!
Получился такой переходник: ATX – 5В. Разъём для OrangePI: круглый 4/1.7мм (обычный 12-ти вольтовый не подойдёт).
В БП есть самый широкий разъём на 20 или 24 контакта, там все необходимые напряжения и контакт включения, его и будем использовать. Схема разьёма из Википедии.
Электронные детали я покупаю на «Космодроме». Оказывается, там есть такие разъёмы под названием Mini Fit шаг 4,2мм – купил 24-х контактный Г-образный для платы.
Когда БП только включить в розетку, он не «заведётся», но будет чрез провод «+5 VSB» подавать 5 вольт и 2 ампера (судя по спецификации). Этого бы хватило на бесшумное питание OrangePI. Но на моём БП написано максимум 0,2А (в 10 раз меньше) для +5VSB, потому придётся использовать отдельный БП для бесшумного режима. Но в данном случае я буду использовать только один БП – ATX.
Чтобы «завести» БП ATX, нужно замкнуть зелёный провод “Power On” с любым из чёрных «земляных». Кулер в БП закрутиться, и будут поступать все напряжения. 5В для OrangePI берём из любых проводов цвета красного (+, не путать с оранжевым) и чёрного (-). «Заводить» БП ATX без нагрузки строго не рекомендуется!
Получился такой переходник: ATX – 5В. Разъём для OrangePI: круглый 4/1.7мм (обычный 12-ти вольтовый не подойдёт).
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
аКустик, Прикольно всякие етакие вещи придумывать
Но по факту, вся это система будет постоянно ломаться, глючить и ипать мозг. Каждая деталь, которая может сломаться, подведёт в неудачный момент, придётся постоянно её обслуживать.. Возможно, есть смысл обдумать другие варианты.
Но по факту, вся это система будет постоянно ломаться, глючить и ипать мозг. Каждая деталь, которая может сломаться, подведёт в неудачный момент, придётся постоянно её обслуживать.. Возможно, есть смысл обдумать другие варианты.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Дымок [30.10.16 10:01] писал(а):
аКустик, Прикольно всякие етакие вещи придумывать
Но по факту, вся это система будет постоянно ломаться, глючить и ипать мозг. Каждая деталь, которая может сломаться, подведёт в неудачный момент, придётся постоянно её обслуживать.. Возможно, есть смысл обдумать другие варианты.
Но по факту, вся это система будет постоянно ломаться, глючить и ипать мозг. Каждая деталь, которая может сломаться, подведёт в неудачный момент, придётся постоянно её обслуживать.. Возможно, есть смысл обдумать другие варианты.
Ну… будет или не будет ломаться – это уже и теория вероятности. Начну с малого, а там видно будет. Альтернатива... уже поздно отступать.
Установка ОСи.
Выбрал операционную систему (ОС) Armbian (Debian). Андроид ставить не захотел, т.к. он позиционируется как «клиент», а нужен именно «сервер».
OrangePI One использует вместо винчестера карту памяти формата microSD (такие подходят к телефонам), потому потребуется данная флешка и кардридер для подключение флешки к обычному ПК для записи туда образа ОС.
1. Скачал заархивированый образ ОС «Armbian_5.20_Orangepione_Debian_jessie_3.4.112.7z» (298 МБ) из этой страницы.
2. Распаковал с помощью архиватора (7-zip) «Armbian_5.20_Orangepione_Debian_jessie_3.4.112.img» (1,4 ГБ).
3. Подключил кардридер и вставил туда флешку (microSD HC, Apacer 4GB, класс 4).
4. С помощью программы win32diskimager открыл файл (образ) «Armbian_5.20_Orangepione_Debian_jessie_3.4.112.img» и записал его на флешку.
5. Вытянул флешку из кардридера и всунул в OrangePI.
Оказывается с OrangePI можно работать без монитора (мыши и клавиатуры)! С помощью соединения UART/TTL (3 провода) можно получить доступ к командной строке Armbian’а, чего вполне достаточно для настройки GPIO, и BlueTooth и всего остального.
ЗЫ: Стандартный образ из оф. сайта «Debian_jessie_mini.img», как выяснилось, не поддерживает блютуз вообще. Потому переделал этот ответ. И монитор HDMI не показывал.
Последний раз редактировалось аКустик 10.11.16 15:36, всего редактировалось 1 раз.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Очень интероесно! Твои наработки будут очень полезны многим!! Я сам решил дальше переходить на малину, но буквально пару дней назад увидел orange pi от китайских друзей и теперь не осталось и сомнений.
_________________
И, пожалуйста, помните: мы - не юристы, правила - не УК, наказания раздают не святые.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Ёрш [09.11.16 23:35] писал(а):
Очень интероесно! Твои наработки будут очень полезны многим!! Я сам решил дальше переходить на малину, но буквально пару дней назад увидел orange pi от китайских друзей и теперь не осталось и сомнений.
Захотелось расписать, что бы всё в одном месте было более менее . Интернет-инструкции от малины почти всегда подходят к Оранжу. Тот-же самый Linux курить
Подключение UART/TTL + PuTTY.
Если правильно установить ОС Armbian на «оранжат», то при включении мини-пк зелёная лампочка на плате должна сначала мигать, а потом гореть не мигая.
(На этот раз) я даже и не пробовал подключать монитор через HDMI. А если бы и подключил, тогда нужна была бы USB-клавиатура, которой у меня нет. HDMI-кабель + USB-клавиатура новые на сегодняшний день это 300-400грн (800руб.)!
Я буду использовать более дешёвый способ – через преобразователь интерфейсов PL2303HX-USB-TTL-ADAPTER за 30грн (70руб.)
Если далее работать с микроконтроллерами, то данный аппарат не раз пригодится. Общая схема подключения следующая.
Начнём с UART-а. UART – это три контакта: RX(приём), TX(передача) и GND(земля, минус, 0). Эти контакты видны на фото адаптера. На OrangePI тоже есть специальный UART под сетевым разъёмом. Если внимательно смотреть, можно даже увидеть подписи: TX, RX, GND.
Адаптер с «оранжатом» соединяем проводками по следующей схеме:
То что один передаёт (TX) – другой принимает (RX), думаю понятно. Такие проводки с разъёмчиками можно готовые приобрести в интернете, я покупал по запчастям и паял.
C USB ничего сложного нет, только рекомендую для удобства приобрести провод-удилиннитель.
Для USB-адаптера нужен драйвер под ОС персонального компьютера, у меня Windows7 x64. Скачатьдрайвер можно отсюда
Распаковываем… запускаем DriverInstaller.exe… и после установки перезагружаемся на всякий случай. Подключаем адаптер, Windows находит устройство и в «Диспетчере устройств» должен появится виртуальный COM-порт “Prolific USB-to-Serial Comm Port”.
Запоминаем номер (название) порта, у меня «COM9». Если адаптер втыкать в разные USB разъёмы компьютера, то номер порта тоже бедет менятся.
PuTTY – маленькая, старенькая, бесплатненькая, но очень полезненькая программка, находим в интернете.
Запускаем, настраиваем как нарисовано ниже, но вводим название своего порта. Можно сохранять настройки подключения (Sessions), а потом включать просто включать двойным кликом по названию.
Нажимаем “Open” и увидим чёрное окно, но если в этот момент включить Оранж, то побегут буковки – значит ОС грузиться, всё ОК.
И на адаптере замигают огоньки, сигнализирующие о передаче денных. Далее на картинках у меня COM8, не обращайте внимания
После слова «login:» можно ввести логин “root” и нажать кнопку Enter. Потом после «password:» пароль «1234» (набирается невидимо) и нажать кнопку Enter.
Теперь внимание! При первом входе в ОС будет предложено изменить пароль на свой, например «orangepi».
Т.е. далее ещё раз придётся ввести старый пароль «1234», потом новый пароль «orangepi», и ещё раз новый пароль «orangepi». Теперь вы можете заходить под «root» и паролем «orangepi» каждый раз.
На этом этапе всё должно было закончиться, но хитрые линуксоиды решили оторваться на новичках . Далее предлагается создать нового пользователя, нужно ввести логин нового пользователя, например "opi". Потом опять вводим два раза пароль к "opi", например тот-же "orangepi". После этого... предлагается ввести имя, фамилию, телефон, наверное что-бы в случай чего полиция знала как найти законного владельца гроубокса . Настоятельно рекомендуется оставаться анонимом и не вводить далее достоверных данных. После запроса "Is the information correct?" ответить буквой "y" (игрик, уай, вай).
И далее... предлагается изменить разрешение дисплея. В сессии через UART, эти изменения не принесут ничего хорошего - отвечаем буквой "n".
Всё! Теперь вы можете заходить под «root» и паролем «orangepi» каждый раз беспрепятственно.
Итого у нас получилось два пользователя:
root - пользователь с неограниченными правами, всё настраивать (чем мы собственно здесь и занимаемся) лучше через него.
opi - пользователь с ограниченными правами.
Оранж готов к дальнейшим настройкам.
Культурно выключить Оранж:
Код:
shutdown -h now
Последний раз редактировалось аКустик 19.11.16 11:59, всего редактировалось 2 раз(а).
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Краткое вступление в UNIX(Linux(Debian(Armbian)))… совсем кратенькое
Пути файлов (и папок) в отличии от Windows разделяются не «\», а «/».
Файловая система начинается не с «Моего компьютера», а с «/».
В командной строке вводите команду, команду с параметрами, или систему команд. Потом нажимаете Enter. После этого следует ответ – результат выполнения команды. Если ответа нет, это значит лишь то, что команда выполнена правильно.
Все устройства отображаются в папке «/dev». Если устройство физически есть, а в папке dev – нет, скорее всего, Linux не подобрал драйвер к устройству. Все драйверы входят в состав ядра ОС. Чтобы добавить поддержку нового драйвера, нужно:
1. Скачать исходники ядра Linux.
2. Разархивировать.
3. Сконфигурировать!!!
4. Построить.
5. Установить вместо старого.
6.Перезагрузить компьютер.
Потому лучше ставить на Оранж готовые образы, где есть поддержка всех нужных устройств.
Linux имеет широкие возможности для работы со всевозможными сетями: LAN, WAN, PAN, SRAN, PPP, PPPoE, VPN и многое другое. Шучу, SRAN – нет такого . О протоколе TCP/IPv4 обязательно нужно иметь хоть какое-то представление. По ходу репорта постараюсь объяснить.
Системный блок
Оранж и максимум остальной электроники хочу поместить в уличную коробку для счётчика электричества, которая защищена от воды и пыли (досталась по дешевке с разбитым стеклом). Размеры 30x27x10см.
Это и будет моим системным блоком, домиком для Оранжа. Коробка будет где-то снаружи тумбочки, а точнее впритык - провод к видеокамере очень короткий. Как с теплоотводом будут дела, даже и не знаю. На заднюю крышку прикрепил стойки – Оранж стал на ноги. Долго думал, куда его поудобнее поставить, поставил почти в центре, разъёмом USB повернул к держателю проводов в коробке. Вероятно для Блютуза понадобится USB удлинитель. В системном блоке куча места! Вот как выгладит UART-сессия
Пути файлов (и папок) в отличии от Windows разделяются не «\», а «/».
Файловая система начинается не с «Моего компьютера», а с «/».
В командной строке вводите команду, команду с параметрами, или систему команд. Потом нажимаете Enter. После этого следует ответ – результат выполнения команды. Если ответа нет, это значит лишь то, что команда выполнена правильно.
Все устройства отображаются в папке «/dev». Если устройство физически есть, а в папке dev – нет, скорее всего, Linux не подобрал драйвер к устройству. Все драйверы входят в состав ядра ОС. Чтобы добавить поддержку нового драйвера, нужно:
1. Скачать исходники ядра Linux.
2. Разархивировать.
3. Сконфигурировать!!!
4. Построить.
5. Установить вместо старого.
6.Перезагрузить компьютер.
Потому лучше ставить на Оранж готовые образы, где есть поддержка всех нужных устройств.
Linux имеет широкие возможности для работы со всевозможными сетями: LAN, WAN, PAN, SRAN, PPP, PPPoE, VPN и многое другое. Шучу, SRAN – нет такого . О протоколе TCP/IPv4 обязательно нужно иметь хоть какое-то представление. По ходу репорта постараюсь объяснить.
Системный блок
Оранж и максимум остальной электроники хочу поместить в уличную коробку для счётчика электричества, которая защищена от воды и пыли (досталась по дешевке с разбитым стеклом). Размеры 30x27x10см.
Это и будет моим системным блоком, домиком для Оранжа. Коробка будет где-то снаружи тумбочки, а точнее впритык - провод к видеокамере очень короткий. Как с теплоотводом будут дела, даже и не знаю. На заднюю крышку прикрепил стойки – Оранж стал на ноги. Долго думал, куда его поудобнее поставить, поставил почти в центре, разъёмом USB повернул к держателю проводов в коробке. Вероятно для Блютуза понадобится USB удлинитель. В системном блоке куча места! Вот как выгладит UART-сессия
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Настройка проводной сети Ethrnet
SSH
Некоторые называют её LAN.
Зачем нужна сеть? Нужен интернет для обновления Armbian’а - т.е. всех установленных программ.
Подключаем к OrangePI сетевой шнур с интернетом (Ethrenet).
Через UART как обычно входим под суперпользователем: root/orangepi.
Проверяем интернет:
ping: unknown host ya.ru
Это значит, что нет интернета, если другое – значит есть. Если есть, можно пропустить и перейти к пункту «SSH». Узнаём информацию о сетевых устройствах:
eth0 – это наша сетевая карта, inet – настроен адрес IPv4, inet6 – это настроен адрес IPv6 (новая адресация).
У меня интернет со старой адресацией IPv4 (inet).
Как видим, адреса для интернета автоматически настроились, но самого интернета почему-то нет. Попробуем изменить файл конфигурации:
Там где зелёный курсор есть строчка. Она означает получить IPv4 адрес из сервера DHCP – всё правильно. Но почему-то не наблюдаю строчки «auto eth0», попробуем добавить.
Для выхода и сохранения нажимаем Ctrl+X
Хотим ли мы сохраниться перед выходом? Нажимаем «y»
Показывает путь к файлу – нажимаем Enter. Мы вышли опять в командную строку.
Перезагружаем Оранж:
Опять заходим под root. Проверяем интернет
Вместо ya.ru можно ввести любой работающий сайт, например ukr.net.
Видим другой ответ от команды – ура, интернет появился. Нажимаем Ctrl+C чтобы прервать команду.
Зачем нужна сеть? Нужен интернет для обновления Armbian’а - т.е. всех установленных программ.
Подключаем к OrangePI сетевой шнур с интернетом (Ethrenet).
Через UART как обычно входим под суперпользователем: root/orangepi.
Проверяем интернет:
Код:
ping ya.ru
ping: unknown host ya.ru
Это значит, что нет интернета, если другое – значит есть. Если есть, можно пропустить и перейти к пункту «SSH». Узнаём информацию о сетевых устройствах:
Код:
ifconfig
eth0 – это наша сетевая карта, inet – настроен адрес IPv4, inet6 – это настроен адрес IPv6 (новая адресация).
У меня интернет со старой адресацией IPv4 (inet).
Как видим, адреса для интернета автоматически настроились, но самого интернета почему-то нет. Попробуем изменить файл конфигурации:
Код:
nano /etc/network/interfaces
Там где зелёный курсор есть строчка. Она означает получить IPv4 адрес из сервера DHCP – всё правильно. Но почему-то не наблюдаю строчки «auto eth0», попробуем добавить.
Для выхода и сохранения нажимаем Ctrl+X
Хотим ли мы сохраниться перед выходом? Нажимаем «y»
Показывает путь к файлу – нажимаем Enter. Мы вышли опять в командную строку.
Перезагружаем Оранж:
Код:
reboot
Опять заходим под root. Проверяем интернет
Код:
ping ya.ru
Вместо ya.ru можно ввести любой работающий сайт, например ukr.net.
Видим другой ответ от команды – ура, интернет появился. Нажимаем Ctrl+C чтобы прервать команду.
SSH
SSH – это служба с помощью которой можно получить доступ к командной строке через сетевое подключение. В нашей ОС данная служба уже настроена по умолчанию. Это означает что вместо UART-подключения мы можем получить доступ к командной строке через сеть (сетевой провод). Это может быть удобно, если Оранж и ваш ПК подключены к одной сети. Чтобы совершить данное продключение нужен IPv4 адрес Оранжа.
Если мы посмотрим на результат работы ifconfig то увидим строку в секции eth0:
192.168.137.75 – это и есть IPv4 адрес Оранжа в сети, у Вас может быть другим.
255.255.255.0 – это маска подсети. Она означает что подсеть в которую входит Оранж ограничена адресами с 192.168.137.1 по 192.168.137.254. Т.е. Оранж и ваш ПК должны находиться в одной подсети – иметь IP-адреса в этом диапазоне (но неодинаковые), чтобы «видеть» друг друга.
Итак, включает тотже PuTTY и настраиваем подключение, но немного по-другому:
Если Оранж доступен по сети, мы при первом подключении увидим следующее
PuTTY спрашивает разрешения принять защищённое (зашифрованное) соединение. Нажимаем «Да».
Входим в сессию как обычно под root.
Работа в SSH имеет отличия от UART.
1. Если закрыть окно PuTTY или прервать соединение другим способом, сессия закроется, и все работающие в сессии программы тоже выключаться.
2. Можно открыть несколько окон через SSH. В каждом нужно будет входить под root.
3. Доступ к SSH возможен только после полной загрузки Оранжа (не сразу после включения).
4. В UART-сессии если закрыть окно PuTTY, сессия не прервётся. Можно заново подключится к COM9 и продолжать с прежнего места (хотя и будет пустой экран в начале), вводить команды и получать ответы.
Если мы посмотрим на результат работы ifconfig то увидим строку в секции eth0:
Код:
inet addr:192.168.137.75 Bcast:192.168.137.255 Mask:255.255.255.0
192.168.137.75 – это и есть IPv4 адрес Оранжа в сети, у Вас может быть другим.
255.255.255.0 – это маска подсети. Она означает что подсеть в которую входит Оранж ограничена адресами с 192.168.137.1 по 192.168.137.254. Т.е. Оранж и ваш ПК должны находиться в одной подсети – иметь IP-адреса в этом диапазоне (но неодинаковые), чтобы «видеть» друг друга.
Итак, включает тотже PuTTY и настраиваем подключение, но немного по-другому:
Если Оранж доступен по сети, мы при первом подключении увидим следующее
PuTTY спрашивает разрешения принять защищённое (зашифрованное) соединение. Нажимаем «Да».
Входим в сессию как обычно под root.
Работа в SSH имеет отличия от UART.
1. Если закрыть окно PuTTY или прервать соединение другим способом, сессия закроется, и все работающие в сессии программы тоже выключаться.
2. Можно открыть несколько окон через SSH. В каждом нужно будет входить под root.
3. Доступ к SSH возможен только после полной загрузки Оранжа (не сразу после включения).
4. В UART-сессии если закрыть окно PuTTY, сессия не прервётся. Можно заново подключится к COM9 и продолжать с прежнего места (хотя и будет пустой экран в начале), вводить команды и получать ответы.
Последний раз редактировалось аКустик 18.11.16 20:30, всего редактировалось 1 раз.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Оч круто, буду следить!
А че не взял себе raspberi pi 3? тами выходов usb поболее, да и ESP8266 с BlueTooth не понадобился бы
жалко что там тоже нету Rtc, заказал себе DS3231 на супер конденсаторе, а то на ардуине у меня DS1302 за день убегали минут на 5, не очень приятно
А че не взял себе raspberi pi 3? тами выходов usb поболее, да и ESP8266 с BlueTooth не понадобился бы
жалко что там тоже нету Rtc, заказал себе DS3231 на супер конденсаторе, а то на ардуине у меня DS1302 за день убегали минут на 5, не очень приятно
_________________
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
happygnom [18.11.16 17:07] писал(а):
Оч круто, буду следить!
А че не взял себе raspberi pi 3? тами выходов usb поболее, да и ESP8266 с BlueTooth не понадобился бы
жалко что там тоже нету Rtc, заказал себе DS3231 на супер конденсаторе, а то на ардуине у меня DS1302 за день убегали минут на 5, не очень приятно
А че не взял себе raspberi pi 3? тами выходов usb поболее, да и ESP8266 с BlueTooth не понадобился бы
жалко что там тоже нету Rtc, заказал себе DS3231 на супер конденсаторе, а то на ардуине у меня DS1302 за день убегали минут на 5, не очень приятно
Оранж взял просто потому что хотел сэкономить. Часы взял DS1307 на... батарейке, ещё не пробовал . Блютуз USB-шный, два шт.: на Оранже и на ПК. Дальше об этом будет.
Статический IP адрес (не обязательно).
Через DHCP Оранж автоматически получает IP адрес при каждом подключении к сети. Но адрес может изменятся. И для SSH сессии нужен будет именно новый адрес. А текущий адрес можно получить опять вошов через UART-сессию и набрав ifconfig.
Это будет причинять некоторые неудобства, потому можно сделать IP-адрес неизменяемым, статическим.
1. Запоминаем текущие адреса, которые были получены автоматически (динамически), из ifconfig запоминаем строку:
Но ещё нам нужен адрес шлюза (gateway), иначе мы не сможем выходить в интернет, выполним:
Видим, что адрес шлюза: 192.168.137.1.
2. Изменяем настройки сети:
# - означает что строчка не будет учитываться, отменяем автонастройку адреса:
Дописываем ручную настройку:
3. Перезагружаем Оранж: reboot.
4. Входим под root
5. Проверяем интернет: ping ya.ru.
Если интернет есть, значит Вы всё сделали правильно. Теперь адрес в сети меняться не будет.
Это будет причинять некоторые неудобства, потому можно сделать IP-адрес неизменяемым, статическим.
1. Запоминаем текущие адреса, которые были получены автоматически (динамически), из ifconfig запоминаем строку:
Код:
inet addr:192.168.137.75 Bcast:192.168.137.255 Mask:255.255.255.0
Но ещё нам нужен адрес шлюза (gateway), иначе мы не сможем выходить в интернет, выполним:
Код:
ip ro
Видим, что адрес шлюза: 192.168.137.1.
2. Изменяем настройки сети:
Код:
nano /etc/network/interfaces
# - означает что строчка не будет учитываться, отменяем автонастройку адреса:
Код:
#iface eth0 inet dhcp
Дописываем ручную настройку:
Код:
iface eth0 inet static – адрес неменяющийся
address 192.168.137.75 – адрес Оранжа в сети
netmask 255.255.255.0 – маска подсети
gateway 192.168.137.1 – адрес шлюза
dns-nameservers 192.168.137.1 – адрес DNS сервера, коим как правило является шлюз.
address 192.168.137.75 – адрес Оранжа в сети
netmask 255.255.255.0 – маска подсети
gateway 192.168.137.1 – адрес шлюза
dns-nameservers 192.168.137.1 – адрес DNS сервера, коим как правило является шлюз.
3. Перезагружаем Оранж: reboot.
4. Входим под root
5. Проверяем интернет: ping ya.ru.
Если интернет есть, значит Вы всё сделали правильно. Теперь адрес в сети меняться не будет.
Обновление Armbian’a
Думаю, лучше сразу обновить ОСь перед дальнейшими действиями, это уменьшит вероятность появления глюков.
Посмотреть версию Armbian: lsb_release –a
Версия 8.5. Подготавливаем обновления:
Дожидаемся завершения команды, скачиваний с интернета. Если присмотреться увидите время до завершения (на скриншоте нет). Если какие-либо ошибки происходят (напр. Connection failed), можно перезапускать команду, пока всё не пройдёт гладко.
Обновляем:
Команде нужно скачать 51 МБ информации, нажимаем «y», и ждём завершения.
А теперь посмотрим версию ещё раз: lsb_release –a
Была 8.5, а теперь 8.6 – обновились на целых 0.1 версии .Перезагружаем на всякий случай:
Посмотреть версию Armbian: lsb_release –a
Версия 8.5. Подготавливаем обновления:
Код:
apt-get update
Дожидаемся завершения команды, скачиваний с интернета. Если присмотреться увидите время до завершения (на скриншоте нет). Если какие-либо ошибки происходят (напр. Connection failed), можно перезапускать команду, пока всё не пройдёт гладко.
Обновляем:
Код:
apt-get upgrade
Команде нужно скачать 51 МБ информации, нажимаем «y», и ждём завершения.
А теперь посмотрим версию ещё раз: lsb_release –a
Была 8.5, а теперь 8.6 – обновились на целых 0.1 версии .Перезагружаем на всякий случай:
Код:
reboot
Обнаружение BlueTooth
Создание PAN
PAN (Private Area Network) – это будет сеть между Оранжом и ПК через блютуз. Для создания такой сети нужно вводить определённую последовательность команд в командной строке, причём каждый раз после включения Оранжа. Потому эти команды нужно поместим в файл, а файл поместим в автозагрузку Armbian’а.
Итак, создадим для начала собственную папку для наших скриптов и программ под названием «tumbox». Перейдём в неё. Создадим текстовый файл «autostart.sh»
Вводим (или вставляем правой кнопкой мыши) следующий текст:
поясню то, что сам знаю:
первая строка – путь к командному процессору – программе, что будет выполнять следующие команды.
192.168.21.1 – это IP-адрес Оранжа в сети PAN, на этот адрес мы и будем подключаться через PuTTY/SSH по блютузу.
255.255.255.0 – маска подсети.
pan0 – сетевой адаптер для PAN.
Последняя строка – включить сервер сети PAN.
Выходим, сохраняем файл также как и ранее при настройке проводной сети Ethernet. Проверяем существования файла:
Делаем файл исполняемым:
Ещё раз просматриваем каталог и видим, что в начале строки с нашим файлом появились иксы – файл стал исполняемым. Теперь этот файл надо добавить в автозагрузку, для этого нужно изменить файл /etc/rc.local как показано на сл. рисунке. Т.е. прописать путь к нашему файлу (обязательно перед «exit 0»):
Выходим, сохраняем, перезагружаем Оранж. Смотрим на сеть:
Появился pan0, значит скрипт стартует. Всё ОК. Хотя PAN «поднят», нужно ещё настроить блютуз-соединение.
Итак, создадим для начала собственную папку для наших скриптов и программ под названием «tumbox». Перейдём в неё. Создадим текстовый файл «autostart.sh»
Код:
mkdir /tumbox
cd /tumbox
nano autostart.sh
cd /tumbox
nano autostart.sh
Вводим (или вставляем правой кнопкой мыши) следующий текст:
Код:
#!/bin/bash
brctl addbr pan0
brctl setfd pan0 0
brctl stp pan0 off
ifconfig pan0 192.168.21.1 netmask 255.255.255.0 up
bt-network -s -d nap pan0
brctl addbr pan0
brctl setfd pan0 0
brctl stp pan0 off
ifconfig pan0 192.168.21.1 netmask 255.255.255.0 up
bt-network -s -d nap pan0
поясню то, что сам знаю:
первая строка – путь к командному процессору – программе, что будет выполнять следующие команды.
192.168.21.1 – это IP-адрес Оранжа в сети PAN, на этот адрес мы и будем подключаться через PuTTY/SSH по блютузу.
255.255.255.0 – маска подсети.
pan0 – сетевой адаптер для PAN.
Последняя строка – включить сервер сети PAN.
Выходим, сохраняем файл также как и ранее при настройке проводной сети Ethernet. Проверяем существования файла:
Код:
ls –al
Делаем файл исполняемым:
Код:
chmod +x autostart.sh
Ещё раз просматриваем каталог и видим, что в начале строки с нашим файлом появились иксы – файл стал исполняемым. Теперь этот файл надо добавить в автозагрузку, для этого нужно изменить файл /etc/rc.local как показано на сл. рисунке. Т.е. прописать путь к нашему файлу (обязательно перед «exit 0»):
Код:
nano /etc/rc.local
Выходим, сохраняем, перезагружаем Оранж. Смотрим на сеть:
Код:
ifconfig
Появился pan0, значит скрипт стартует. Всё ОК. Хотя PAN «поднят», нужно ещё настроить блютуз-соединение.
Парирование Оранжа и ПК по Блютузу
В вашем ПК тоже должен быть USB-блютуз-адаптер. После настройки всех стандартных драйверов в трее должен появиться сине-белый значок Блютуза.
Сделать Оранж «видимым» по блютузу:
Запускаем утилиту блютуз:
Видим, что наш Оранж известен по БТ как «orangepione». Теперь настраиваем парирование:
На ПК добавляем устройство, жмём правой кнопкой по значку блютуза и нажимаем соответствующий пункт меню:
Появиться следующее окно
Выбираем «orangepione» и жмём «Далее».
Жмём «Введите код образования пары».
Вводим ПИНкод, например 9292. Потом смотрим на Оранж: Enter PIN Code. Быстро вводим тот-же код 9292.
Теперь Windows установил блютуз-устройство «orangepione» и начал устанавливать 3 драйвера
Драйвера так и не стали, для PAN оно и не нужно.
Теперь на Оранже добавляем ПК к списку довереных устройств по MAC-адресу адаптера, в моём случае 00:15:83:C4:F3:BA.
Выходим из bluetoothctl командой
Вспомним, что IP-адрес Оранжа по блютузу «192.168.21.1» значит нужно и для ПК указать IP-адрес для блютуза. Заходим на ПК в «Сетевые подключения». Находим блютузное подключение. Нажимаем правой кнопкой -> Свойства.
Нажимаем «Протокол интернета версии 4», потом «Свойства»
Вписываем IP-адрес (но в конце двойка) из той-же подсети что и Оранж. «ОК». «ОК».
Входим в «Устройства Блютуз»
Видим наш «orangepi», правой кнопкой -> Подключиться через -> Точка доступа
Если подключение успешно выполнено, заходим через PuTTY/SSH по Блютузному IP-адресу
Жмём «Да» в первый раз. Заходим под root
Видим что через блютуз заходит на Оранж. Поздравляю! UART и Ethernet провода можно отключать от Оранжа. Правда интернета не станет, настроим его через блютуз в следующий раз.
Блютуз связь теперь настроена (должна быть) так, что orangepi остаётся «невидимым»: его нельзя просто так обнаружить и добавить к другим устройством как с нашим ПК (парировать).
Сделать Оранж «видимым» по блютузу:
Код:
hciconfig hci0 piscan
Запускаем утилиту блютуз:
Код:
bluetoothctl
Видим, что наш Оранж известен по БТ как «orangepione». Теперь настраиваем парирование:
Код:
agent on
default agent
discoverable on
pairable on
default agent
discoverable on
pairable on
На ПК добавляем устройство, жмём правой кнопкой по значку блютуза и нажимаем соответствующий пункт меню:
Появиться следующее окно
Выбираем «orangepione» и жмём «Далее».
Жмём «Введите код образования пары».
Вводим ПИНкод, например 9292. Потом смотрим на Оранж: Enter PIN Code. Быстро вводим тот-же код 9292.
Теперь Windows установил блютуз-устройство «orangepione» и начал устанавливать 3 драйвера
Драйвера так и не стали, для PAN оно и не нужно.
Теперь на Оранже добавляем ПК к списку довереных устройств по MAC-адресу адаптера, в моём случае 00:15:83:C4:F3:BA.
Код:
trust 00:15:83:C4:F3:BA
Выходим из bluetoothctl командой
Код:
quit
Перезагружаем Оранж.Вспомним, что IP-адрес Оранжа по блютузу «192.168.21.1» значит нужно и для ПК указать IP-адрес для блютуза. Заходим на ПК в «Сетевые подключения». Находим блютузное подключение. Нажимаем правой кнопкой -> Свойства.
Нажимаем «Протокол интернета версии 4», потом «Свойства»
Вписываем IP-адрес (но в конце двойка) из той-же подсети что и Оранж. «ОК». «ОК».
Входим в «Устройства Блютуз»
Видим наш «orangepi», правой кнопкой -> Подключиться через -> Точка доступа
Если подключение успешно выполнено, заходим через PuTTY/SSH по Блютузному IP-адресу
Жмём «Да» в первый раз. Заходим под root
Видим что через блютуз заходит на Оранж. Поздравляю! UART и Ethernet провода можно отключать от Оранжа. Правда интернета не станет, настроим его через блютуз в следующий раз.
Блютуз связь теперь настроена (должна быть) так, что orangepi остаётся «невидимым»: его нельзя просто так обнаружить и добавить к другим устройством как с нашим ПК (парировать).
Мощность сигнала
Последний раз редактировалось аКустик 17.12.16 23:27, всего редактировалось 1 раз.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Интернет через Блютуз (не обязательно).
Бесшумный блок питания на 5В из 12В.
GPIO теория
Это надо для того, чтобы устанавливать новые программы на Оранж через apt-get, а в друг понадобятся .
Мне не удалось настроить отдачу интернета Оранжу через блютуз следующим стандартным способом.
Заходим в свойства подключения к интернету->Доступ
Как видим… в списке нет «Сетевое подключение Bluetooth 2». Хотя на реальный провод «Реальное подключение» можно. В интернете пишут, что с вайфая можно раздавать на блютуз. Но у меня виртуальный модем… пойдём другим путём. Самый простой способ из оставшихся – прокси-сервер. Следующая схема иллюстрирует способ подключения.
Прокси-сервер – это такой вид программ. Бесплатную я скачал здесь:
Запускаем программу, Настройки->Доступ. В списке пользователей изменяем параметры пользователя как нарисовано далее.
Параметры пользователя:
Имя: orangebt
Пароль: orangebt
IP: 192.168.21.1 – это адрес Оранжа в сети через блютуз.
Параметры сервера будут такими (нужны будут далее):
IP: 192.168.21.2 – это адрес нашего ПК, где и зпущен прокси-сервер.
Порт HTTP(S): 8080 – это номер порта нашего прокси-сервера.
В итоге сервер запущен, теперь на Оранже надо настроить прокси для apt-get. Создаём файл настройки:
Для проверки пробуем обновить Armbian "apt-get update", а потом "apt-get upgrade".
Посмотрим на «Монитор» прокси-сервера:
Сплошные красные значки не присутствуют, всё ОК.
Предупреждаю: команда ping через прокси не работает.
ЗЫ: С сетями разобрались. Дальше будем приближаться к аппаратной части.
Мне не удалось настроить отдачу интернета Оранжу через блютуз следующим стандартным способом.
Заходим в свойства подключения к интернету->Доступ
Как видим… в списке нет «Сетевое подключение Bluetooth 2». Хотя на реальный провод «Реальное подключение» можно. В интернете пишут, что с вайфая можно раздавать на блютуз. Но у меня виртуальный модем… пойдём другим путём. Самый простой способ из оставшихся – прокси-сервер. Следующая схема иллюстрирует способ подключения.
Прокси-сервер – это такой вид программ. Бесплатную я скачал здесь:
Запускаем программу, Настройки->Доступ. В списке пользователей изменяем параметры пользователя как нарисовано далее.
Параметры пользователя:
Имя: orangebt
Пароль: orangebt
IP: 192.168.21.1 – это адрес Оранжа в сети через блютуз.
Параметры сервера будут такими (нужны будут далее):
IP: 192.168.21.2 – это адрес нашего ПК, где и зпущен прокси-сервер.
Порт HTTP(S): 8080 – это номер порта нашего прокси-сервера.
В итоге сервер запущен, теперь на Оранже надо настроить прокси для apt-get. Создаём файл настройки:
Код:
nano /etc/apt/apt.conf.d/proxy
И вписываем строку подключения к серверу Код:
Acquire::http::Proxy "http://orangebt:orangebt@192.168.21.2:8080";
Для проверки пробуем обновить Armbian "apt-get update", а потом "apt-get upgrade".
Посмотрим на «Монитор» прокси-сервера:
Сплошные красные значки не присутствуют, всё ОК.
Предупреждаю: команда ping через прокси не работает.
ЗЫ: С сетями разобрались. Дальше будем приближаться к аппаратной части.
Бесшумный блок питания на 5В из 12В.
Если посмотреть схему бокса, это будет «бесшумный БП». Он питал 2 кулера (12 вольт) в старом Тумбоксе, теперь будет только Оранж (5 вольт) и самую малость остального. Просто спаяю преобразователь: 12 вольт в 5. БП выдаёт 2А, на Оранж должно хватить.
Выбрал линейный регулятор напряжения LD1085. Он готов пропустить 3 ампера, и может работать в мороз (а Оранж?). Нашел на него инструкцию (DataSheet), спаял по стандартной схеме на макетной плате (но резистор R2 заменил на переменный), нацепил игольчатый радиатор, отрегулировал резистором R2 5 вольт. Радиатор греется, но палец можно удержать.
На плату ещё разъём питания ATX прикрутил, пока не подключал, вырезал соответствующую дырку в корпусе счётчика.
На последнем фото специальный прибор (в него воткнутый чёрный БП 12В), который показывает текущую потребляемую мощность всей «установки» (со стороны 220В). Т.е. Оранж и БП потребляют 4,0 ватта. Судя по спецификации Оранж может потреблять максимум 10 Вт (5В * 2А), значит сейчас нагрузка 40% от максимума.
Интересный эффект: выдернул блютуз из USB разъёма, и потребляемая мощность подскочила до 4,3 Вт. Выходит, что с блютузом экономнее
Выбрал линейный регулятор напряжения LD1085. Он готов пропустить 3 ампера, и может работать в мороз (а Оранж?). Нашел на него инструкцию (DataSheet), спаял по стандартной схеме на макетной плате (но резистор R2 заменил на переменный), нацепил игольчатый радиатор, отрегулировал резистором R2 5 вольт. Радиатор греется, но палец можно удержать.
На плату ещё разъём питания ATX прикрутил, пока не подключал, вырезал соответствующую дырку в корпусе счётчика.
На последнем фото специальный прибор (в него воткнутый чёрный БП 12В), который показывает текущую потребляемую мощность всей «установки» (со стороны 220В). Т.е. Оранж и БП потребляют 4,0 ватта. Судя по спецификации Оранж может потреблять максимум 10 Вт (5В * 2А), значит сейчас нагрузка 40% от максимума.
Интересный эффект: выдернул блютуз из USB разъёма, и потребляемая мощность подскочила до 4,3 Вт. Выходит, что с блютузом экономнее
GPIO теория
Теперь о самом интересном. Сюда мы будем подключать все органы управления Тумбоксом. Это те 40 выводов на плате оранжа торчат в два ряда.
Не все 40 контактов имеют одинаковые возможности. Контакты можно разделить на 2 большие группы:
1.Питание: +5 вольт, +3,3 вольта, минус (земля).
2.Ввод-вывод.
Первая группа неизменяемая, контакты второй группы можно изменять программно. Далее о второй.
Возможные назначения как выходы:
1. Цифровой, «1» или «0», включено/выключено. Это можно использовать например для включения/отключения света, насоса полива, вентиляторов и т.п.
2. PWM (ШИМ), «1» или «0» сменяют друг друга по двум параметрам: частота и скважность (процент заполнения). Это уже более гибкий инструмент: свет можно не просто включать и выключать, а задавать яркость в процентах например. Регулировать скорость вращения вентиляторов, изменять скорость полива(?).
Возможные назначения как входы:
1. Цифровой, «1» или «0», включено/выключено. Сюда можно прицепить кнопку и определять нажата она или нет.
В отдельную классификацию я внесу коммуникационные входы/выходы интерфейсов (протоколов) передачи данных:
1. UART – 3 контакта.
2. SPI – 4 контакта.
3. I2C – 2 контакта.
4. Другие.
Упомяну, что «0» это минус, а «1» это +3,3 вольта. Это всё есть и в Arduino, микроконтроллерах AVR, PIC и других, но обычно «1» это +5В. Могут быть и другие назначения контактов.
Далее по этому поводу советую прочитать статью. Честно говоря, GPIO я мало применял, может чего то и не знаю. По ходу будем разбираться
Не все 40 контактов имеют одинаковые возможности. Контакты можно разделить на 2 большие группы:
1.Питание: +5 вольт, +3,3 вольта, минус (земля).
2.Ввод-вывод.
Первая группа неизменяемая, контакты второй группы можно изменять программно. Далее о второй.
Возможные назначения как выходы:
1. Цифровой, «1» или «0», включено/выключено. Это можно использовать например для включения/отключения света, насоса полива, вентиляторов и т.п.
2. PWM (ШИМ), «1» или «0» сменяют друг друга по двум параметрам: частота и скважность (процент заполнения). Это уже более гибкий инструмент: свет можно не просто включать и выключать, а задавать яркость в процентах например. Регулировать скорость вращения вентиляторов, изменять скорость полива(?).
Возможные назначения как входы:
1. Цифровой, «1» или «0», включено/выключено. Сюда можно прицепить кнопку и определять нажата она или нет.
В отдельную классификацию я внесу коммуникационные входы/выходы интерфейсов (протоколов) передачи данных:
1. UART – 3 контакта.
2. SPI – 4 контакта.
3. I2C – 2 контакта.
4. Другие.
Упомяну, что «0» это минус, а «1» это +3,3 вольта. Это всё есть и в Arduino, микроконтроллерах AVR, PIC и других, но обычно «1» это +5В. Могут быть и другие назначения контактов.
Далее по этому поводу советую прочитать статью. Честно говоря, GPIO я мало применял, может чего то и не знаю. По ходу будем разбираться
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Midnight commander (MC) (не обязятельно)
GPIO. Подготовка Python
Это визуальный обозреватель файлов и папок, ну чтобы удобнее было смотреть что там в Оранже. Аналог Norton Commander, мне подобный преподавали в школе. Может быть помните две синие таблички? Но в Armbian он называется Midnight Commander. Чтобы установить это чудо графики нужно единожды выполнить:
А чтобы запустить:
Если вы увидели странную графику с непонятными буквами, значит кодировка текста PuTTY неправильно указана
Укажите кодировку utf-8 в PuTTY перед запуском
И вуаля...
Объяснять как работать с файлами в «mc» не буду, т.к. это далеко уводит от темы репорта. Дополнительную информацию можно найти в Интернете. Просто хотел рассказать о существовании такого удобства молодым «линуксоидам», которые ещё не познали всю мощь командной строки.
Код:
apt-get install mc
А чтобы запустить:
Код:
mc
Если вы увидели странную графику с непонятными буквами, значит кодировка текста PuTTY неправильно указана
Укажите кодировку utf-8 в PuTTY перед запуском
И вуаля...
Объяснять как работать с файлами в «mc» не буду, т.к. это далеко уводит от темы репорта. Дополнительную информацию можно найти в Интернете. Просто хотел рассказать о существовании такого удобства молодым «линуксоидам», которые ещё не познали всю мощь командной строки.
GPIO. Подготовка Python
Сначала надо определиться на каком языке программирования мы будем писать. Выберем Python. Он уже установлен, но как-бы… «не весь», доустанавливаем:
Теперь под этот язык нам нужно скачать и установить некие библиотеки, чтобы иметь влияние на GPIO. Библиотеку будем брать из популярного сайта github.com. Для этого существует команда git. Нужно для неё (как и для apt-get), настроить прокси-сервер. (Если вы выходите в интернет не через прокси, пропустите все действия до cd /tumbox.)
Создаём пустой файл:
Переходим в домашнюю папку root:
Задаём параметры прокси:
Не забываем на ПК включить прокси-сервер HandyCash.
переходим в папку тумбокса:
Скачиваем папку с библиотеками:
Переходим в новоскачанную папку:
Устанавливаем библиотеки:
У меня всё прошло гладко, люблю этот Armbian.
Код:
apt-get install python-dev
Теперь под этот язык нам нужно скачать и установить некие библиотеки, чтобы иметь влияние на GPIO. Библиотеку будем брать из популярного сайта github.com. Для этого существует команда git. Нужно для неё (как и для apt-get), настроить прокси-сервер. (Если вы выходите в интернет не через прокси, пропустите все действия до cd /tumbox.)
Создаём пустой файл:
Код:
touch /root/.gitconfig
Переходим в домашнюю папку root:
Код:
cd /root
Задаём параметры прокси:
Код:
git config --global http.proxy http://orangebt:orangebt@192.168.21.2:8080
Не забываем на ПК включить прокси-сервер HandyCash.
переходим в папку тумбокса:
Код:
cd /tumbox
Скачиваем папку с библиотеками:
Код:
git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git
Переходим в новоскачанную папку:
Код:
cd orangepi_PC_gpio_pyH3
Устанавливаем библиотеки:
Код:
python setup.py install
У меня всё прошло гладко, люблю этот Armbian.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Помигаем светодиодом
Наконец-то! Пришло время испытать GPIO на практике. Если посмотреть пункт «GPIO теория», то можно найти таблицу. Нам нужен контакт, который может быть цифровым выходом. Подойдёт любой, который отмечен зелёным цветом в таблице. Возьмём PA12 (контакт №3). Программно мы будем изменять его значение на «0» или «1» (- или +3,3). За постоянный минус возьмём контакт №6 (GND). И вот когда на PA12 будет "1", то между контактами PA12 и (любым) GND возникнет напряжение 3,3В. Его можно замерить мультиметром, тестером или вольтметром. Но эффектнее будет смотреться светящийся светодиод. Цифровые контакты GPIO выдерживают нагрузку не более 16мА (милиампер). Потому в цепь светодиода надо ставить резистор (сопротивление), чтобы ток нагрузки не превышал нормы.
Я взял маленький советский красный светодиод и не менее советский резистор 2К2 (2,2 килоома). Резистор большой для такого случая, но всё равно диод работает.
Расчёт диода можно взять из ранее упомянутой статьи.
В общем, подключаем светодиод с резистором по следующей схеме.
Если хотите посмотреть сколько именно милиампер проходит в цепи, поместите последовательно тестер в режиме амперметра.
Это и будут те амперы, которые не должны превышать 16мА. На этом порту (PA12) после включения у меня сразу выставлен «1», т.е. светодиод светиться изначально без программирования (типа глюк).
Теперь создадим программу на языке Python.
Пишем в ней следующий код
Эта программа включает порт PA12 на две секунды, а потом выключает. Теперь объясню по строчкам.
#!/usr/bin/env python – указывает, что эта программа написана на языке Питон.
import time импортировать библиотеку (модуль) «time».
from pyA20.gpio import gpio – импортировать имя gpio из pyA20.gpio
from pyA20.gpio import port – импортировать имя port из pyA20.gpio
pyA20 – это и есть библиотека для GPIO, которую мы скачивали ранее через git. Импортированные имена будут доступны далее в программе.
gpio.init() – инициализация GPIO.
gpio.setcfg(port.PA12, gpio.OUTPUT) – указываем, что контакт PA12 будет выходом.
gpio.output(port.PA12, gpio.HIGH) – в контакт (порт) PA12 ставим высокий уровень, т.е. «1». Тут светодиод должен засветиться.
time.sleep(2) – ждём две секунды.
gpio.output(port.PA12, gpio.LOW) ) – в контакт (порт) PA12 ставим низкий уровень, т.е. «0». Тут светодиод должен погаснуть.
Думаю ничего сложного нет. Не забываем сделать файл программы исполняемым:
Запустить программу из любой папки:
Запустить программу из текущей папки:
Если вы спросите как маленький светодиод поможет в обслуживании гроубокса, отвечу: слабые токи (и напряжения) GPIO будут усиливаться модулями, представляющие собой усилительные каскады на транзисторах, симисторах, реле и пр. Таким образом можно управлять практически любыми электроприборами. Модули можно купить готовые, а можно собрать самому.
У меня полно советских транзисторов, буду собирать модули с их использованием везде, где это возможно.
Наконец-то! Пришло время испытать GPIO на практике. Если посмотреть пункт «GPIO теория», то можно найти таблицу. Нам нужен контакт, который может быть цифровым выходом. Подойдёт любой, который отмечен зелёным цветом в таблице. Возьмём PA12 (контакт №3). Программно мы будем изменять его значение на «0» или «1» (- или +3,3). За постоянный минус возьмём контакт №6 (GND). И вот когда на PA12 будет "1", то между контактами PA12 и (любым) GND возникнет напряжение 3,3В. Его можно замерить мультиметром, тестером или вольтметром. Но эффектнее будет смотреться светящийся светодиод. Цифровые контакты GPIO выдерживают нагрузку не более 16мА (милиампер). Потому в цепь светодиода надо ставить резистор (сопротивление), чтобы ток нагрузки не превышал нормы.
Я взял маленький советский красный светодиод и не менее советский резистор 2К2 (2,2 килоома). Резистор большой для такого случая, но всё равно диод работает.
Расчёт диода можно взять из ранее упомянутой статьи.
В общем, подключаем светодиод с резистором по следующей схеме.
Если хотите посмотреть сколько именно милиампер проходит в цепи, поместите последовательно тестер в режиме амперметра.
Это и будут те амперы, которые не должны превышать 16мА. На этом порту (PA12) после включения у меня сразу выставлен «1», т.е. светодиод светиться изначально без программирования (типа глюк).
Теперь создадим программу на языке Python.
Код:
nano /tumbox/led.py
Пишем в ней следующий код
Код:
#!/usr/bin/env python
import time
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
gpio.setcfg(port.PA12, gpio.OUTPUT)
gpio.output(port.PA12, gpio.HIGH)
time.sleep(2)
gpio.output(port.PA12, gpio.LOW)
import time
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
gpio.setcfg(port.PA12, gpio.OUTPUT)
gpio.output(port.PA12, gpio.HIGH)
time.sleep(2)
gpio.output(port.PA12, gpio.LOW)
Эта программа включает порт PA12 на две секунды, а потом выключает. Теперь объясню по строчкам.
#!/usr/bin/env python – указывает, что эта программа написана на языке Питон.
import time импортировать библиотеку (модуль) «time».
from pyA20.gpio import gpio – импортировать имя gpio из pyA20.gpio
from pyA20.gpio import port – импортировать имя port из pyA20.gpio
pyA20 – это и есть библиотека для GPIO, которую мы скачивали ранее через git. Импортированные имена будут доступны далее в программе.
gpio.init() – инициализация GPIO.
gpio.setcfg(port.PA12, gpio.OUTPUT) – указываем, что контакт PA12 будет выходом.
gpio.output(port.PA12, gpio.HIGH) – в контакт (порт) PA12 ставим высокий уровень, т.е. «1». Тут светодиод должен засветиться.
time.sleep(2) – ждём две секунды.
gpio.output(port.PA12, gpio.LOW) ) – в контакт (порт) PA12 ставим низкий уровень, т.е. «0». Тут светодиод должен погаснуть.
Думаю ничего сложного нет. Не забываем сделать файл программы исполняемым:
Код:
chmod +x /tumbox/led.py
Запустить программу из любой папки:
Код:
/tumbox/led.py
Запустить программу из текущей папки:
Код:
./led.py
Если вы спросите как маленький светодиод поможет в обслуживании гроубокса, отвечу: слабые токи (и напряжения) GPIO будут усиливаться модулями, представляющие собой усилительные каскады на транзисторах, симисторах, реле и пр. Таким образом можно управлять практически любыми электроприборами. Модули можно купить готовые, а можно собрать самому.
У меня полно советских транзисторов, буду собирать модули с их использованием везде, где это возможно.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
ОЧЕНЬ мудрёно Зачёт
_________________
Дело сделанное не вовремя, становится проблемой
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Здорова брю, просто молодец, хочу тоже заказать данную вещь слижу за тобой надеюсь не бросишь идею и доделаешь все. Я потом по твоему репорту тоже начну собирать.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Есть проблемы с сильным нагревом? Понижал частоту проца? Заказал три маленьких радиатора, подумываю заказать кейс с куллером...
Какие реле думаешь использовать? В целом гидропоника или земля?
Какие реле думаешь использовать? В целом гидропоника или земля?
_________________
И, пожалуйста, помните: мы - не юристы, правила - не УК, наказания раздают не святые.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
KpOHyC Сначала думал: "чё там настраивать", а теперь посмотрел на количество текста: "может стояло что-то попроще придумать?".
mordor2004 Нееет! Не брошу! Всё самое сложное позади, кроме видеокамеры конешно. Многое будет зависеть от финансов, время свободное есть.
Ёрш Пока проц 32-33 градуса, в комнате 18. Его толком не нагружал, а вот когда будет циклическая проверка температуры и видеотрансляция... В проце Н3 есть видеокарта Mali, наверно она включается только при использовании: воспроизведение видео - наверняка, видеотрансляция - хз.
Тоже купил 3 радиатора, пока не ставил.
Реле будет только на свет (лампочки светодиодные/экономные 220), временно, советское электромагнитное автомобильное на 12 вольт сработки. Свет пока в стадии продумывания. С прошлого грова осталась сберегающая огромная спиральная на 105Вт, жалко выбрасывать.
Вообще хочу чтоб всё было максимум на 12В, ну если чё от аккумулятора всё работало.
Насос полива - на 2-х транзисторах (будет далее об этом). Кулера - тем более, на одном транзисторе можно несколько вцепить. Паяться придётся, зато дешевле будет и хлам пойдёт в работу.
Обогрев пока будет от 220В, будет регулироваться симистором типа BT136 или BTA12-600. Это чтобы до поздней осени гровиться, или с ранней весны, зимой наверно нет.
Прошлые разы гровил на земле из леса + месная. Тогда чё-то слухи пошли, что магазинная земля - это отработанная из помидорных теплиц местных барыг, просто чёрным покрашена. Магазинное жидкое удобрение, не помню какое. В землю раз добавил не совсем перегнившего навоза (органического происхождения), тогда завелась какая-то моль и чуть растиху не сожрала - вовремя заметил.
Опыта грова очень мало. На гидре точно не буду. Надо землю сначала освоить.
О! Вспомнил, что растихам некоторые гроверы включают музыку, чтобы они лучше потом "благодарили", в Оранже в GPIO есть цифровой звуковой выход I2C/PCM, надо попробовать. Спаять какой-то ЦАП или купить. И динамики должны где-то валяться. Ах да... беспалевность надо соблюдать... блин... облом... ну а если тихонько чтоб играло?
Насос полива
Приобрёл б.у. насос от автомобиля, наверное от стеклоочистителя. Замерял мультиметром – берёт 0,8А в начале, а потом 0,6А.
Задача такая: ток до 16мА и напряжение 3,3В из GPIO
превратить в
0,6А и 12В для насоса.
Было принято решение собрать усилительный каскад на транзисторе КТ815. Как рассчитать усиление транзистора прочитал в статье. Коэффициент усиления этого транзистора: 40.
Значит из GPIO будет требоваться ток 0,6А / 40 = 0,015А (15мА) – в притык. Сопротивление по закону Ома R3=3,3В / 0,015А = 220Ом.
Собрал, спаял, ток базы транзистора оказался ниже расчётного: не 0,015А, а 0,011А – обрадовался. Оговорюсь, насос ранее проверял в холостую – без воды, а теперь когда попробовал с водой – работает, но не качает, и долго набирает обороты. Понял свою ошибку: рассчитывать надо было на 0,8А, а не на 0,6А, т.к. нагруженному насосу требуется больше ампер, а для запуска ещё больше.
Начал увеличивать ток с GPIO и выясняется, что падает коэффициент усиления или фиг его знает. Надо 27мА, а 16мА мне нифига не хватит.
Пришлось в усилительный каскад добавить ещё один транзистор КТ315.
Подобрал резисторы и всё получилось. GPIO идёт нагрузка меньше 1мА – круть! Ещё для безопасности добавил плавкий предохранитель 1А.
Подбирал точные значения резисторов с помощью переменного резистора и двух мультиметров в режиме амперметра. Если взять первую схему, верхний амперметр показывает ток мотора (до 0,8А). Переменным резистором крутил так, чтобы на нижнем амперметре был ток до 16мА, а верхнем - достаточным для нормальной работы насоса (мотора). Потом измерял сопротивление переменного резистора, и вместо него ставил подходящий постоянный резистор.
Собрал на макетке 5х7см, радиатор (выбрал на глаз) прикрутил к плате, к радиатору прикрутил КТ815 (с термопастой разумеется). Не для всех выводов есть сейчас разъёмы, и держателя предохранителя нет.
Программа.
Насос «прикрутил» к контакту РА6 (№7). Программа похожа на светодиодную, но:
•В качестве параметра можно передавать количество секунд времени работы насоса, если не задано – 10 секунд.
•Номер порта задаётся в единственной строке программы, можно его легко поменять.
•Вывод в командную строку прогресса выполнения.
Создать файл:
WaterPort – это переменная содержащая «номер» контакта (порта).
DelayTime – время задержки в секундах, тоже переменная.
if len(sys.argv) >= 2: - условное выполение, если количество переданных аргументов больше или равно двум, выполнить всё что после него подряд с отступом от левого края (Tab).
DelayTime = int(sys.argv[1]) – установить время задержки из второго параметра.
В данном случае параметр «15», но он считается не первым а вторым, потому что первый параметр всегда путь к программе, в данном случае он будет «/tumbox/water.py» и под индексом «0». Так сделано для того, чтобы программа могла узнать из какого файла запущена.
while i <= DelayTime: – это цикл, который будет выполнять всё, что после него подряд с отступом, один или много раз, пока переменная «i» будет меньше или равна переменной «DelayTime».
print – функция вывода текста.
i+=1 - i=i+1, увеличить "i" на единицу.
Язык Pyton лучше изучать из других источников, а не из моих ответов т.к. я его ещё плохо знаю, и это изучение выходит далеко за рамки темы.
ПС: При экспериментах с насосом 1 раз завис Оранж, надеюсь это трагическая случайность, иначе в реальных условиях затопит гроубокс. Если будет зависать, на входе придётся ставить оптопару, чтобы токи Оранжа и насоса не соприкасались.
mordor2004 Нееет! Не брошу! Всё самое сложное позади, кроме видеокамеры конешно. Многое будет зависеть от финансов, время свободное есть.
Ёрш Пока проц 32-33 градуса, в комнате 18. Его толком не нагружал, а вот когда будет циклическая проверка температуры и видеотрансляция... В проце Н3 есть видеокарта Mali, наверно она включается только при использовании: воспроизведение видео - наверняка, видеотрансляция - хз.
Тоже купил 3 радиатора, пока не ставил.
Реле будет только на свет (лампочки светодиодные/экономные 220), временно, советское электромагнитное автомобильное на 12 вольт сработки. Свет пока в стадии продумывания. С прошлого грова осталась сберегающая огромная спиральная на 105Вт, жалко выбрасывать.
Вообще хочу чтоб всё было максимум на 12В, ну если чё от аккумулятора всё работало.
Насос полива - на 2-х транзисторах (будет далее об этом). Кулера - тем более, на одном транзисторе можно несколько вцепить. Паяться придётся, зато дешевле будет и хлам пойдёт в работу.
Обогрев пока будет от 220В, будет регулироваться симистором типа BT136 или BTA12-600. Это чтобы до поздней осени гровиться, или с ранней весны, зимой наверно нет.
Прошлые разы гровил на земле из леса + месная. Тогда чё-то слухи пошли, что магазинная земля - это отработанная из помидорных теплиц местных барыг, просто чёрным покрашена. Магазинное жидкое удобрение, не помню какое. В землю раз добавил не совсем перегнившего навоза (органического происхождения), тогда завелась какая-то моль и чуть растиху не сожрала - вовремя заметил.
Опыта грова очень мало. На гидре точно не буду. Надо землю сначала освоить.
О! Вспомнил, что растихам некоторые гроверы включают музыку, чтобы они лучше потом "благодарили", в Оранже в GPIO есть цифровой звуковой выход I2C/PCM, надо попробовать. Спаять какой-то ЦАП или купить. И динамики должны где-то валяться. Ах да... беспалевность надо соблюдать... блин... облом... ну а если тихонько чтоб играло?
Насос полива
Приобрёл б.у. насос от автомобиля, наверное от стеклоочистителя. Замерял мультиметром – берёт 0,8А в начале, а потом 0,6А.
Задача такая: ток до 16мА и напряжение 3,3В из GPIO
превратить в
0,6А и 12В для насоса.
Было принято решение собрать усилительный каскад на транзисторе КТ815. Как рассчитать усиление транзистора прочитал в статье. Коэффициент усиления этого транзистора: 40.
Значит из GPIO будет требоваться ток 0,6А / 40 = 0,015А (15мА) – в притык. Сопротивление по закону Ома R3=3,3В / 0,015А = 220Ом.
Собрал, спаял, ток базы транзистора оказался ниже расчётного: не 0,015А, а 0,011А – обрадовался. Оговорюсь, насос ранее проверял в холостую – без воды, а теперь когда попробовал с водой – работает, но не качает, и долго набирает обороты. Понял свою ошибку: рассчитывать надо было на 0,8А, а не на 0,6А, т.к. нагруженному насосу требуется больше ампер, а для запуска ещё больше.
Начал увеличивать ток с GPIO и выясняется, что падает коэффициент усиления или фиг его знает. Надо 27мА, а 16мА мне нифига не хватит.
Пришлось в усилительный каскад добавить ещё один транзистор КТ315.
Подобрал резисторы и всё получилось. GPIO идёт нагрузка меньше 1мА – круть! Ещё для безопасности добавил плавкий предохранитель 1А.
Подбирал точные значения резисторов с помощью переменного резистора и двух мультиметров в режиме амперметра. Если взять первую схему, верхний амперметр показывает ток мотора (до 0,8А). Переменным резистором крутил так, чтобы на нижнем амперметре был ток до 16мА, а верхнем - достаточным для нормальной работы насоса (мотора). Потом измерял сопротивление переменного резистора, и вместо него ставил подходящий постоянный резистор.
Собрал на макетке 5х7см, радиатор (выбрал на глаз) прикрутил к плате, к радиатору прикрутил КТ815 (с термопастой разумеется). Не для всех выводов есть сейчас разъёмы, и держателя предохранителя нет.
Программа.
Насос «прикрутил» к контакту РА6 (№7). Программа похожа на светодиодную, но:
•В качестве параметра можно передавать количество секунд времени работы насоса, если не задано – 10 секунд.
•Номер порта задаётся в единственной строке программы, можно его легко поменять.
•Вывод в командную строку прогресса выполнения.
Создать файл:
Код:
nano /tumbox/water.py
Текст программы:Код:
#!/usr/bin/env python
import time
import sys
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
WaterPort = port.PA6
DelayTime = 10
if len(sys.argv) >= 2:
DelayTime = int(sys.argv[1])
gpio.setcfg(WaterPort, gpio.OUTPUT)
gpio.output(WaterPort, gpio.HIGH)
i=1
while i <= DelayTime:
print('%d%s%d' % (i, '/', DelayTime))
time.sleep(1)
i+=1
gpio.output(WaterPort, gpio.LOW)
import time
import sys
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
WaterPort = port.PA6
DelayTime = 10
if len(sys.argv) >= 2:
DelayTime = int(sys.argv[1])
gpio.setcfg(WaterPort, gpio.OUTPUT)
gpio.output(WaterPort, gpio.HIGH)
i=1
while i <= DelayTime:
print('%d%s%d' % (i, '/', DelayTime))
time.sleep(1)
i+=1
gpio.output(WaterPort, gpio.LOW)
WaterPort – это переменная содержащая «номер» контакта (порта).
DelayTime – время задержки в секундах, тоже переменная.
if len(sys.argv) >= 2: - условное выполение, если количество переданных аргументов больше или равно двум, выполнить всё что после него подряд с отступом от левого края (Tab).
DelayTime = int(sys.argv[1]) – установить время задержки из второго параметра.
В данном случае параметр «15», но он считается не первым а вторым, потому что первый параметр всегда путь к программе, в данном случае он будет «/tumbox/water.py» и под индексом «0». Так сделано для того, чтобы программа могла узнать из какого файла запущена.
while i <= DelayTime: – это цикл, который будет выполнять всё, что после него подряд с отступом, один или много раз, пока переменная «i» будет меньше или равна переменной «DelayTime».
print – функция вывода текста.
i+=1 - i=i+1, увеличить "i" на единицу.
Язык Pyton лучше изучать из других источников, а не из моих ответов т.к. я его ещё плохо знаю, и это изучение выходит далеко за рамки темы.
ПС: При экспериментах с насосом 1 раз завис Оранж, надеюсь это трагическая случайность, иначе в реальных условиях затопит гроубокс. Если будет зависать, на входе придётся ставить оптопару, чтобы токи Оранжа и насоса не соприкасались.
Последний раз редактировалось аКустик 17.12.16 16:00, всего редактировалось 2 раз(а).
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
В электронике и физике ты шаришь) Я более ленивый, взял 8 реле(220в 2а) и всё через них запускаю. Я использую комп. БП, на него повесил - ардуинку, 3 куллера, релюхи. Реле питаю отдельно от ардуинки, меньше помех и просадок напряжения,что благотворно повлияло на показания PH.
Клевая идея о 12 вольтах!!! Тут ты переплюнешь всех!
Тоже думал использовать автомобильный насос, но он слишком шумный. А температура раствора регулируется за счет перекачки из одной емкости в другую! В итоге взял аквариумный, благо финансы не пели романсы!
Насчёт музыки растениям - я ставил реп!
Клевая идея о 12 вольтах!!! Тут ты переплюнешь всех!
Тоже думал использовать автомобильный насос, но он слишком шумный. А температура раствора регулируется за счет перекачки из одной емкости в другую! В итоге взял аквариумный, благо финансы не пели романсы!
Насчёт музыки растениям - я ставил реп!
_________________
И, пожалуйста, помните: мы - не юристы, правила - не УК, наказания раздают не святые.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Читаю, ничего не понимаю (ибо полный ноль в этом) - но все равно интересно читать
аКустик голова
аКустик голова
_________________
Караван прошел мимо, пока мы как собаки лаялись
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Долго не писал, небыло времени. Весна скоро - а готова максимум половина. "Оранжевая" камера с Китая не пришла, часть денег вернули, которые потратил потом непонятно на что. Может попробую подключить старенькую iLook300 через USB через разветвитель USB.
Ёрш. Всё будет на 12В но не сразу: свет пока 220, а обогрев точно 220. Об обогреве воды как-то не подумал сразу, благо от аквариума обогреватель где то валяется.
Продолжу описывать всё по порядку.
Мощный блок питания. Теория.
Мощный блок питания. Схема.
Мощный блок питания. Программа.
Ёрш. Всё будет на 12В но не сразу: свет пока 220, а обогрев точно 220. Об обогреве воды как-то не подумал сразу, благо от аквариума обогреватель где то валяется.
Продолжу описывать всё по порядку.
Мощный блок питания. Теория.
Мощные модули будут питаться от мощного компьютерного БП стандарта ATX на 400Вт. Будет ли он конфликтовать с БП оранжа? Всё-таки оранж будет посылать управляющие сигналы берущиеся из своего питания.
Надо соединить минусы этих двух БП, а плюсы чтобы напрямую никогда не прикасались, даже если одинаковый вольтаж. Транзисторы изначально рассчитаны на два источника питания – тут проблем не должно возникнуть.
Оранж по «своему желанию» будет включать/отключать второй БП. Вывод “Power good” из БП надо подключать к минусу, чтобы БП «завёлся». Ток там меньше 1мА - проверил это мультиметром. Мы, как и в случае с насосом, можем просто подключить “Power good” к свободному контакту GPIO, но лог. «0» будет заводить БП, а «1» отключать. Я взял контакт PA7/№29.
При старте оранжа этот контакт имеет значение «0», т.е. БП изначально будет включён, пока не вмешается наша программа. Программу можно поместить в автозагрузку, но к этому моменту её запуска пройдёт секунд 20-30 – это не очень удобно. Потому я использовал оптопару 817C для преобразования «0» в «1», так при загрузке оранжа БП будет выключен.
Оптопару выпаял из сгоревшего (импульсного) блока питания (ещё может быть в зарядках к телефону), её можно легко опознать по квадратно-микросхемному корпусу с четырьмя ногами.
Перед этим пытался снова использовать транзистор КТ315, но из-за наводок-помех из БП АТХ он никак не мог выключаться.
Надо соединить минусы этих двух БП, а плюсы чтобы напрямую никогда не прикасались, даже если одинаковый вольтаж. Транзисторы изначально рассчитаны на два источника питания – тут проблем не должно возникнуть.
Оранж по «своему желанию» будет включать/отключать второй БП. Вывод “Power good” из БП надо подключать к минусу, чтобы БП «завёлся». Ток там меньше 1мА - проверил это мультиметром. Мы, как и в случае с насосом, можем просто подключить “Power good” к свободному контакту GPIO, но лог. «0» будет заводить БП, а «1» отключать. Я взял контакт PA7/№29.
При старте оранжа этот контакт имеет значение «0», т.е. БП изначально будет включён, пока не вмешается наша программа. Программу можно поместить в автозагрузку, но к этому моменту её запуска пройдёт секунд 20-30 – это не очень удобно. Потому я использовал оптопару 817C для преобразования «0» в «1», так при загрузке оранжа БП будет выключен.
Оптопару выпаял из сгоревшего (импульсного) блока питания (ещё может быть в зарядках к телефону), её можно легко опознать по квадратно-микросхемному корпусу с четырьмя ногами.
Перед этим пытался снова использовать транзистор КТ315, но из-за наводок-помех из БП АТХ он никак не мог выключаться.
Мощный блок питания. Схема.
Правильнее было-бы назвать модуль питания, но не хочу уже менять название подзаголовка.
Модуль питания включает в себя под-блок питания эксклюзивно для оранжа и управление мощным блоком питания АТХ, которые физически собраны на одной плате и соединены только минусами.
БП оранжа описывал ранее.
Как видим модуль имеет 3 контакта для управления:
• Power On – оранж включает/выключает БП АТХ, «0» - отключает, «1» - включает.
• Power Good – БП сигнализирует о нормальном/ненормальном выходном вольтаже, не подключал пока.
• +3,3 SB (Stand By) – подаётся напряжение из БП АТХ даже если он не «заведён». Оранжом можно проверять, подключен ли БП в розетку – в принципе не обязательно. Для проверки можно этот контакт подключать к «Power On», чтобы «заводить» БП АТХ без оранжа. Из БП выходит 5 вольт, делитель напряжения на двух резисторах превращает в 3 вольта для совместимости с оранжом.
Делитель напряжения рассчитывается по закону Ома для отрезка цепи.
Определяем входное напряжение, из БП АТХ: U=5В.
Определяем выходное (нужное) напряжение, 3 или 3,3 тут не особо важно: U2 = 3В.
Определяем ток, для определения есть/нет напряжения большие токи не нужны: I = 0,001А = 1мА.
Общее сопротивление: R = R21 + R22 = U/I = 5В/0,001А = 5000Ом = 5кОм = 5К.
Берём напряжение из резистора R22.
Сопротивление резистора R22: R22 = U2/I = 3В/0,001А = 3000 Ом = 3кОм = 3К.
Сопротивление резистора R21: R21 = R – R22 = 5000Ом - 3000 Ом = 2000Ом = 2кОм = 2К.
Если интересно напряжение на резисторе R21: U = U1+U2 => U1 = U – U2 = 5В – 3В = 2В.
После сборки схемы напряжения надо перемерять мультиметром для уверенности.
Резистор для оптопары 817C расчитывал тоже по закону Ома.
Ток, я взял из «потолка» щадя оранж 1мА: I = 0,001А.
Напряжение из оранжа: U=3,3В.
Резистор R23: R23 = U/I = 3,3В / 0,001А = 3300Ом = 3К3.
Модуль питания включает в себя под-блок питания эксклюзивно для оранжа и управление мощным блоком питания АТХ, которые физически собраны на одной плате и соединены только минусами.
БП оранжа описывал ранее.
Как видим модуль имеет 3 контакта для управления:
• Power On – оранж включает/выключает БП АТХ, «0» - отключает, «1» - включает.
• Power Good – БП сигнализирует о нормальном/ненормальном выходном вольтаже, не подключал пока.
• +3,3 SB (Stand By) – подаётся напряжение из БП АТХ даже если он не «заведён». Оранжом можно проверять, подключен ли БП в розетку – в принципе не обязательно. Для проверки можно этот контакт подключать к «Power On», чтобы «заводить» БП АТХ без оранжа. Из БП выходит 5 вольт, делитель напряжения на двух резисторах превращает в 3 вольта для совместимости с оранжом.
Делитель напряжения рассчитывается по закону Ома для отрезка цепи.
Определяем входное напряжение, из БП АТХ: U=5В.
Определяем выходное (нужное) напряжение, 3 или 3,3 тут не особо важно: U2 = 3В.
Определяем ток, для определения есть/нет напряжения большие токи не нужны: I = 0,001А = 1мА.
Общее сопротивление: R = R21 + R22 = U/I = 5В/0,001А = 5000Ом = 5кОм = 5К.
Берём напряжение из резистора R22.
Сопротивление резистора R22: R22 = U2/I = 3В/0,001А = 3000 Ом = 3кОм = 3К.
Сопротивление резистора R21: R21 = R – R22 = 5000Ом - 3000 Ом = 2000Ом = 2кОм = 2К.
Если интересно напряжение на резисторе R21: U = U1+U2 => U1 = U – U2 = 5В – 3В = 2В.
После сборки схемы напряжения надо перемерять мультиметром для уверенности.
Резистор для оптопары 817C расчитывал тоже по закону Ома.
Ток, я взял из «потолка» щадя оранж 1мА: I = 0,001А.
Напряжение из оранжа: U=3,3В.
Резистор R23: R23 = U/I = 3,3В / 0,001А = 3300Ом = 3К3.
Мощный блок питания. Программа.
Подключем вывод с модуля питпния «Power On» к выводу PA7/№29 GPIO оранжа.
Не забываем к БП АТХ подключать нагрузку (напр. кулер), чтобы он случайно не сгорел при холостом «заведении». Программа будет проще, чем с насосом. Точнее две программы: на включение и на выключение.
Включение.
Создаём файл:
Вставляем код:
Делаем файл исполняемым:
Выключение.
Создаём файл:
Вставляем код:
Делаем файл исполняемым:
Программы отличаются только концом последней строки: HIGH/LOW. Далее будем подключать насос к БП АТХ.
Не забываем к БП АТХ подключать нагрузку (напр. кулер), чтобы он случайно не сгорел при холостом «заведении». Программа будет проще, чем с насосом. Точнее две программы: на включение и на выключение.
Включение.
Создаём файл:
Код:
nano /tumbox/atx_on.py
Вставляем код:
Код:
#!/usr/bin/env python
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
OperPort = port.PA7
gpio.setcfg(OperPort, gpio.OUTPUT)
gpio.output(OperPort, gpio.HIGH)
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
OperPort = port.PA7
gpio.setcfg(OperPort, gpio.OUTPUT)
gpio.output(OperPort, gpio.HIGH)
Делаем файл исполняемым:
Код:
chmod +x /tumbox/atx_on.py
Выключение.
Создаём файл:
Код:
nano /tumbox/atx_off.py
Вставляем код:
Код:
#!/usr/bin/env python
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
OperPort = port.PA7
gpio.setcfg(OperPort, gpio.OUTPUT)
gpio.output(OperPort, gpio.LOW)
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
OperPort = port.PA7
gpio.setcfg(OperPort, gpio.OUTPUT)
gpio.output(OperPort, gpio.LOW)
Делаем файл исполняемым:
Код:
chmod +x /tumbox/atx_off.py
Программы отличаются только концом последней строки: HIGH/LOW. Далее будем подключать насос к БП АТХ.
Последний раз редактировалось аКустик 07.02.17 22:49, всего редактировалось 1 раз.
Заголовок сообщения: Re: Тумбокс 2: тумбочка + Orange PI One
Подключение насоса к БП ATX.
Теория.
Вот и первое применение ATX, питание им насоса. Подключаем модули по следующей схеме.
Схема.
Код.
Теперь к БП будет подключён модуль насоса и тестовый кулер использоваться не будет. Потому программно надо сначала включать насос, а потом БП во избежание холостой работы БП. Отключение-же наоборот: БП а потом насос. Изменим программу работы с насосом water.py.
Далее пару снимков, тут нет самого насоса, зато есть модули часов и датчиков, ок оторых будет рассказано потом.
Теория.
Вот и первое применение ATX, питание им насоса. Подключаем модули по следующей схеме.
Схема.
Код.
Теперь к БП будет подключён модуль насоса и тестовый кулер использоваться не будет. Потому программно надо сначала включать насос, а потом БП во избежание холостой работы БП. Отключение-же наоборот: БП а потом насос. Изменим программу работы с насосом water.py.
Код:
#!/usr/bin/env python
import time
import sys
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
AtxPowerOnPort = port.PA7
WaterPort = port.PA6
DelayTime = 10
if len(sys.argv) >= 2:
DelayTime = int(sys.argv[1])
gpio.setcfg(WaterPort, gpio.OUTPUT)
gpio.setcfg(AtxPowerOnPort, gpio.OUTPUT)
gpio.output(WaterPort, gpio.HIGH)
gpio.output(AtxPowerOnPort, gpio.HIGH)
i=1
while i <= DelayTime:
print('%d%s%d' % (i, '/', DelayTime))
time.sleep(1)
i+=1
gpio.output(AtxPowerOnPort, gpio.LOW)
gpio.output(WaterPort, gpio.LOW)
import time
import sys
from pyA20.gpio import gpio
from pyA20.gpio import port
gpio.init()
AtxPowerOnPort = port.PA7
WaterPort = port.PA6
DelayTime = 10
if len(sys.argv) >= 2:
DelayTime = int(sys.argv[1])
gpio.setcfg(WaterPort, gpio.OUTPUT)
gpio.setcfg(AtxPowerOnPort, gpio.OUTPUT)
gpio.output(WaterPort, gpio.HIGH)
gpio.output(AtxPowerOnPort, gpio.HIGH)
i=1
while i <= DelayTime:
print('%d%s%d' % (i, '/', DelayTime))
time.sleep(1)
i+=1
gpio.output(AtxPowerOnPort, gpio.LOW)
gpio.output(WaterPort, gpio.LOW)
Далее пару снимков, тут нет самого насоса, зато есть модули часов и датчиков, ок оторых будет рассказано потом.
[ Сообщений: 62 ]
на страницу... 1 2 3
Похожие топики | Автор | Ответы | Просмотры | Последнее сообщение | ||
---|---|---|---|---|---|---|
Тумбочка из хлама | LED ~ 220 watt | ВШГ 60x60x30
в форуме Строй-репорт |
7 |
1366 |
06.11.19 14:17 |
|||
Damnesia fem, тумбочка, COB 50W, LST, земля, Hesi
в форуме Grow reports |
23 |
1716 |
29.08.22 16:45 |
|||
Auto Amnesia / Тумбочка / Бытовые LED 118w / Земля / GHE
в форуме Grow Autoflowers |
24 |
4023 |
23.07.21 14:24 |
|||
Auto Amnesia / Тумбочка 40х40х70 / Бытовые LED 173w / Земля / GHE
в форуме Grow Autoflowers |
60 |
6330 |
15.11.20 07:01 |
|||
Auto Daiquiri Lime / Тумбочка 40х40х70 / Бытовые LED 104w / Земля / GHE
в форуме Grow LED |
64 |
6019 |
10.02.21 17:12 |
Журнал вахтёра |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4 |
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения