Программирование оборотов вентилятора охлаждения

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#41

Сообщение WZV » 23.09.2018{, 17:59}

Я тоже через всё это прошёл ...этого не избежать :smile453:

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#42

Сообщение Golan » 23.09.2018{, 19:59}

Ну значит Вы мой "клиент", заработало!!!Изображение
СпойлерПоказать
Еще вопросик, где то видел, что в Node была русская локаль, или мне это почудилось? попробовал поискать, пока безуспешно.
Добро не ценится в современном мире, люди от него наглеют!

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#43

Сообщение WZV » 23.09.2018{, 21:10}

Дома о-о-очень далеко, но мысль интересная. Что касается локали, то я даже не встречал намёка. На ютубе даже видео нет на русском. Я в хроме клацаю правой кнопкой по странице и выбираю "перевести на русский. Получается корявенько, но общий смысл уловить можно.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#44

Сообщение Golan » 23.09.2018{, 21:34}

WZV писал(а):
23.09.2018{, 21:10}
Дома о-о-очень далеко
Ну не больше же чем три локтя по карте, для страны это не расстояние :yes:
Спасибо, видимо пока так и придется.
Добро не ценится в современном мире, люди от него наглеют!

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Программирование оборотов вентилятора охлаждения

#45

Сообщение starshoy81 » 30.09.2018{, 23:13}

Golan, какая у вас система стоит на апельсинке?

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#46

Сообщение Golan » 30.09.2018{, 23:35}

Armbian_5.38
Добро не ценится в современном мире, люди от него наглеют!

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Программирование оборотов вентилятора охлаждения

#47

Сообщение starshoy81 » 30.09.2018{, 23:57}

Golan, понятно. у мена на Debian библиотека orangepi_gpio для нодерэд не заработала. В ней определён другой путь к каталогу управления gpio, нежели у меня. Пришлось прописать команду напрямую в блоке exec. Команда - sudo echo 1 > /sys/class/gpio_sw/PC4/data для включения вентилятора. Без sudo не работало. Ещё в вашем примере перепутаны местами пороги вкл/выкл вентилятора.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#48

Сообщение Golan » 01.10.2018{, 01:02}

Я все делаю под root наверное раз 30 уже все переустанавливал, все работает как надо.
По поводу перепутаны, я просто экспериментировал, возможно что то выложил в процессе, так сказать.
Уже неделю плотно сижу в RED, думаю буду все рассматривать на канале, инфы очень мало, приходится переводить или с анг или с дойч, жесть конечно, но интересно
Добро не ценится в современном мире, люди от него наглеют!

Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18.07.2018{, 15:03}
Репутация: 21
Откуда: Геленджик
Имя: Константин

Программирование оборотов вентилятора охлаждения

#49

Сообщение Kotafey » 31.10.2018{, 02:07}

Golan писал(а):
20.09.2018{, 23:15}
Честно сказать не мерил, вентил маленький 5 В, при 3.3 запуститься и довольно неплохо крутиться, пробовал на ЛБП.
Теперь уж завтра буду мерить, хотя думал что гребенка банально не включена по умолчанию, хотя питание есть на 4,6
Начинать нужно с простого. Блинк пробовал запустить. тот который светодиод заставляет мигать (как в ардуине)?

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#50

Сообщение Golan » 03.11.2018{, 06:15}

Да я все сделал, все работает через 315 транзистор
Добро не ценится в современном мире, люди от него наглеют!

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#51

Сообщение Golan » 04.11.2018{, 11:36}

Ни хрена не пойму.
Пробую настроить вентилятор на ZERO, команда общая (/sys/class/thermal/thermal_zone0/temp) он мне даже в терминале показывает типа 56234.
Пробовал просто охладить, показания падают, потом снова повышаются.
Че за фигня?
Добро не ценится в современном мире, люди от него наглеют!

Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18.07.2018{, 15:03}
Репутация: 21
Откуда: Геленджик
Имя: Константин

Программирование оборотов вентилятора охлаждения

#52

Сообщение Kotafey » 04.11.2018{, 22:36}

Golan писал(а):
04.11.2018{, 11:36}
он мне даже в терминале показывает типа 56234
Это 56,2°C

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#53

Сообщение Golan » 04.11.2018{, 23:01}

Ну это понятно, хотя сначала думал что глюк
Добро не ценится в современном мире, люди от него наглеют!

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#54

Сообщение WZV » 16.01.2019{, 22:28}

starshoy81 писал(а):
30.09.2018{, 23:57}
у мена на Debian библиотека orangepi_gpio для нодерэд не заработала. В ней определён другой путь к каталогу управления gpio, нежели у меня. Пришлось прописать команду напрямую в блоке exec. Команда - sudo echo 1 > /sys/class/gpio_sw/PC4/data для включения вентилятора. Без sudo не работало.
Купил Такую штуку,решил сделать охлаждение, так же как и у Вас, не работает gpio. Скачал для Node-Red библиотеку gpio для orang, пины на выводе не устанавливаются. А на raspberry всё работает. Не могли бы Вы скинуть доработку кода в Node-Red?

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Программирование оборотов вентилятора охлаждения

#55

Сообщение starshoy81 » 16.01.2019{, 22:55}

WZV, да, node-red библиотека не управляет пинами, видимо какой-то конфликт прав доступа.

Скинуть не могу, плата висит на даче и сейчас отключена (потребляет много - берегу аккумуляторы). Но суть я подскажу - начало как в файле Golan, а в конце вместо блока пина, на выход блока изменения ставятся блоки exec и в них прописывается команда sudo echo 1 > /sys/class/gpio_sw/PC4/data для включения пина 4, а sudo echo 0 > /sys/class/gpio_sw/PC4/data для выключения пина 4.

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#56

Сообщение WZV » 16.01.2019{, 23:16}

Почему то всё равно не пашет. :smile37: Наверное что то ещё у меня не включено, или не установлено. Буду дальше у всемогущего Google спрашивать. :smile114:

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Программирование оборотов вентилятора охлаждения

#57

Сообщение starshoy81 » 16.01.2019{, 23:18}

WZV, может быть еще надо доустановить пакеты управления gpio. Можно поискать команду которую я написал, она наверняка будет в описании установки пакета.

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#58

Сообщение WZV » 16.01.2019{, 23:22}

Сейчас WiringOP поставлю.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Программирование оборотов вентилятора охлаждения

#59

Сообщение Golan » 22.01.2019{, 01:19}

Изображение Жесть какая то (хорошо что есть бекап старый)
Сегодня весь день провозился с гребенкой на аппельсинке.
Решил поставить новую систему (Armbian_5.69_Orangepipcplus_Debian_stretch_next_4.19.13) все поставилось, обновилось, прописал в систему GPIO
СпойлерПоказать
git clone https://github.com/zhaolei/WiringOP.git -b h3
cd WiringOP
chmod +x ./build
sudo ./build
Поставил брокера и Node-Red, вообщем все как делал раньше.
Заново создал из блоков управление вентилятором и ХРЕНА, нет управления, с блоков изменения (Вкл Выкл) выходят и единица и ноль, но в блок output видимо каким то образом не попадают, так как вентилятор молчит, думал что где то ошибся, благо есть копия всего управления. Через импорт загнал сохраненный вариант (100% рабочий, так как постоянно им пользовался) и тоже хрен, пин управления указан верно. Посмотрел прибором, там пусто, почти, 0.3 вольта, подумал накрылся пин или вся гребенка.
Залил сохраненный рабочий бекап системы, ёмпересете, все работаетИзображение, сравнил все абсолютно одинаково делаю, да и раз сто это проворачивал.
Все заново сделал с установки системы, брокера и т.д, и тишина, нет управления, да и заметил что под блоком выхода на пин в Node-Red, если нет управления не появляется зеленый индикатор состояния пина.
СпойлерПоказать
Gpio.jpg
Рабочий вариант управления вентилятором
СпойлерПоказать
[
{
"id": "129e8d56.6ab793",
"type": "exec",
"z": "dab1ca80.d20258",
"command": "cat /sys/class/thermal/thermal_zone0/temp",
"addpay": false,
"append": "",
"useSpawn": "false",
"timer": "",
"oldrc": false,
"name": "Temp",
"x": 270,
"y": 80,
"wires": [
[
"7151a12f.9c315",
"d1c1087f.b01888",
"eebcbb24.2ecf58"
],
[],
[]
]
},
{
"id": "5c76e173.87f27",
"type": "inject",
"z": "dab1ca80.d20258",
"name": "",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "5",
"crontab": "",
"once": false,
"onceDelay": "",
"x": 90,
"y": 140,
"wires": [
[
"129e8d56.6ab793"
]
]
},
{
"id": "7151a12f.9c315",
"type": "ui_gauge",
"z": "dab1ca80.d20258",
"name": "T CPU",
"group": "2ceddb5d.72d2c4",
"order": 1,
"width": "6",
"height": "5",
"gtype": "gage",
"title": "CPU Temp.",
"label": "°C",
"format": "{{value}}",
"min": 0,
"max": "90",
"colors": [
"#00b500",
"#b6e203",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 450,
"y": 40,
"wires": []
},
{
"id": "d1c1087f.b01888",
"type": "mqtt out",
"z": "dab1ca80.d20258",
"name": "Temp CPU",
"topic": "Temp CPU",
"qos": "",
"retain": "",
"broker": "8c4a4c36.f79a6",
"x": 460,
"y": 100,
"wires": []
},
{
"id": "eebcbb24.2ecf58",
"type": "switch",
"z": "dab1ca80.d20258",
"name": "Переключатель",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "gt",
"v": "35",
"vt": "str"
},
{
"t": "lt",
"v": "55",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 120,
"y": 240,
"wires": [
[
"86662ce4.fce5b"
],
[
"6b7220af.fc4e7"
]
]
},
{
"id": "86662ce4.fce5b",
"type": "change",
"z": "dab1ca80.d20258",
"name": "Вкл",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "1",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 290,
"y": 220,
"wires": [
[
"c3c6d8be.879278"
]
]
},
{
"id": "6b7220af.fc4e7",
"type": "change",
"z": "dab1ca80.d20258",
"name": "Выкл",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "0",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 290,
"y": 260,
"wires": [
[
"c3c6d8be.879278"
]
]
},
{
"id": "c3c6d8be.879278",
"type": "opi_out",
"z": "dab1ca80.d20258",
"name": "Pin 16 - PC4",
"set": true,
"level": 0,
"select": "PC",
"pin": "68",
"x": 490,
"y": 240,
"wires": []
},
{
"id": "2ceddb5d.72d2c4",
"type": "ui_group",
"z": "",
"name": "Temp",
"tab": "7b0a6919.c2dd78",
"order": 1,
"disp": false,
"width": "6",
"collapse": false
},
{
"id": "8c4a4c36.f79a6",
"type": "mqtt-broker",
"z": "",
"broker": "localhost",
"port": "1883",
"clientid": "",
"usetls": false,
"compatmode": true,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"willTopic": "",
"willQos": "0",
"willPayload": ""
},
{
"id": "7b0a6919.c2dd78",
"type": "ui_tab",
"z": "",
"name": "Orange Pi CPU-TEMP",
"icon": "dashboard",
"order": 3
}
]
Мужики у кого будет время и интерес проверьте пожалуйста как будет у вас, у меня так стало и на ZERO и на PI+, бакапы все работаю нормально, обновлять боюсь.
Вентилятор не обязательно вешать, если все нормально будет под выходом зеленый индикатор, если его там не появится то тоже Изображение

Изображение Да, забыл, попробовал и на старую (Armbian_5.38_Orangepipcplus_Ubuntu_xenial_default_3.4.113) систему поставить все заново, тоже хрен с управлением, закрадывалась мысля что обновления после установки что то делают, один раз не обновлял систему, и тоже пролет.
Добро не ценится в современном мире, люди от него наглеют!

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Программирование оборотов вентилятора охлаждения

#60

Сообщение WZV » 22.01.2019{, 07:41}

Аналогичная ситуация, я о ней выше писал. Пробовал вариант, который посоветовал starshoy81, тоже безуспешно. Видно в последней версии armbian что то намутили с правами, и Node-red не предоставляются права. А с предоставлением прав, я пока не дружу :(. Пару вечеров поспрашивал всемогущего google, но и он мне до конца не разъяснил :no:. Короче сделал на javascript blockly, всё заработало. Кстати blockly меня уже не раз выручает, перешёл на него, по Node-red мало инфы, да и своеобразный он какой-то. Выкладываю код в blockly, если Вам это интересно:
СпойлерПоказать
Вентилятор.jpg

Код: Выделить всё

<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="on" id="rVBd[l8j(/8=o=xOL%Fd" x="88" y="62">
    <field name="OID">mqtt.0.CPU.temp</field>
    <field name="CONDITION">ne</field>
    <field name="ACK_CONDITION"></field>
    <statement name="STATEMENT">
      <block type="exec" id="foJ@l,Um,i%{MOhncg0u">
        <mutation with_statement="false"></mutation>
        <field name="WITH_STATEMENT">FALSE</field>
        <field name="LOG">log</field>
        <value name="COMMAND">
          <shadow type="text" id="[n!SdXEKI_#(l2LK,jK,">
            <field name="TEXT">gpio mode 24 out</field>
          </shadow>
        </value>
        <next>
          <block type="controls_if" id="+BcsITz@{yu!jms923lR">
            <mutation elseif="1"></mutation>
            <value name="IF0">
              <block type="logic_compare" id="fFC2fAu,1-mhIZdT.KQf">
                <field name="OP">GT</field>
                <value name="A">
                  <block type="get_value" id="P]?I+42yQ[`rUg(uV/*:">
                    <field name="ATTR">val</field>
                    <field name="OID">mqtt.0.CPU.temp</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number" id="y6=R1Ic2sFbbyT@xw8!|">
                    <field name="NUM">30000</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="exec" id="fGwxn(Vf}tbu#1FyoRwo">
                <mutation with_statement="false"></mutation>
                <field name="WITH_STATEMENT">FALSE</field>
                <field name="LOG">log</field>
                <value name="COMMAND">
                  <shadow type="text" id="KG?QyFkRUP./J^Keotw7">
                    <field name="TEXT"> gpio write 24 1</field>
                  </shadow>
                </value>
              </block>
            </statement>
            <value name="IF1">
              <block type="logic_compare" id="27_m6NfBqD=FT[`NLqrC">
                <field name="OP">LT</field>
                <value name="A">
                  <block type="get_value" id="-4x_SIFg^+K}6Fa5e%V1">
                    <field name="ATTR">val</field>
                    <field name="OID">mqtt.0.CPU.temp</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number" id="]?2VRb+4^YsnLM?xvrF{">
                    <field name="NUM">30000</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO1">
              <block type="exec" id="Z|t{x:A(jmR,n}/]T^At">
                <mutation with_statement="false"></mutation>
                <field name="WITH_STATEMENT">FALSE</field>
                <field name="LOG">log</field>
                <value name="COMMAND">
                  <shadow type="text" id="TD~8Mxj##KX~G0-Fb_)I">
                    <field name="TEXT"> gpio write 24 0</field>
                  </shadow>
                </value>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </statement>
  </block>
</xml>
Пин поменяете на свой. WiringOP тоже нужен. Нумерация пинов WiringOP отличается от пинов на orange, посмотрите в таблицу по команде gpio readall. Температуру взял из вашего кода Node-red, но можно поставить в ioBroker драйвер монитор orange OPI.

Ответить

Вернуться в «Orange Pi»