• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение Orange Pi Zero H2 Quad Core за 7$

pvvx

Активный участник сообщества
Что то с драйверами wifi.
Ещё раз. Не с драйверами WiFi, а с системой. Это комплексная фигня и неизвестно, починят ли это вообще. (c) Linux :)
WiFi более менее работает в OpenWRT.
Но и там нет нормальных энерго-экономичных режимов и и отработанных sleep.
Причина известна - народ балуется только оверклоком и модернизмом радиаторов на не приспособленные для этого чипы - остальное им не важно.
Вы же сами видите – основной критерий при сравнении таких плат = где больше скорость/частота и кол-во ядер. Потребление и устойчивость в работе всегда на последнем плане.
В большинстве случаев при этом даже не понимают, что иногда снижение напряжения питания приводит к возможности повысить частоту и применяют только обратное – увеличение питания с экспоненциальным степенным ростом рассевания тепла. :)
 
Последнее редактирование:

koreshx

New member
Она у вас изначально в "спящем режиме". Без него из неё дым пойдет. :p Проц там работает с "прореживанием".
Пиковое значение не измерял, то думается что пи полной нагрузке на всё питание будет к 3A.
В первых версиях ПО чип проца перегревался...
Это всё очень хорошо - задача данных изделий = ждать и спать. Когда приходит что надо обработать у нас есть пиковая моща и событие тут-же обрабатывается. Но для постоянной максимальной нагрузки она не рассчитана.
Установка радиаторов – это участь оверлокеров, использующих изделие не по назначению.
А может в первых версиях ПО чип перегревался потому-что питание не переключалось 1.1в/1.3в, а было постоянно 1.3в? :)
 

goodwin

Member
В общем так и не смог добиться адекватной работы от встроенного WiFi.
Не тянет он flac потоки web радио...
Отключил нах - пущай китайцы допиливают :)
А вот такая вот неказистая хрень с куском провода вместо антенны прекрасно работает.
Мелкого "грибка" под руками нет, посему выкорчевал wifi модуль на RTL8188CTV из какого-то планшета и
прикрутил соплями к usb вилке...
Жрет правда этот "грибок" 150 мА - столько, сколько апельсинка. Зато работает. Iperf кажет скорость до 27 Мбит/сек.
 

Вложения

pvvx

Активный участник сообщества
Отключил - пущай китайцы допиливают :)
А есть надежда, что допилят?
Жрет правда этот "грибок" 150 мА - столько, сколько апельсинка. Зато работает. Iperf кажет скорость до 27 Мбит/сек.
Главное, что не как ESP-32S :) 150 на передаче - это норма у многих WiFi - 0.5Вт.
Reltek новый SoC для роутеров в том году выкатил - пишут первый роутер на 28 nm...
 

goodwin

Member
Сегодня попробовал образ Armbian Debian Jessie Legacy 3.4.113,
ибо в "Ubuntu" никакие танцы с бубном не помогли запустить IR приемник.

В Дебиане все завелось сразу.
Встроенный WiFi работает так же (хреновато).
Воткнул вышеописанный "грибок-сморчок" - все стало мягким и пушистым ;)
Надо только накатить вот это, чтобы завелся RTL8188CU:
sudo apt-get install dkms
git clone GitHub - pvaret/rtl8192cu-fixes: Realtek 8192 chipset driver, ported to kernel 3.11.
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.10
sudo depmod -a
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
sudo reboot

И порадовало потребление в Дебиане.
Температура спустилась до 30 гредусов в простое и 33-35 при работе web радио.
Самое приятное - именно в паре с RTL8188CU.
Потребление не измерял, ибо уже все припаяно к БП.
Но оно явно сильно меньше.
В простое (когда нет обмена по WiFi) "грибок" вообще чуть теплый (вероятно связка драйвер-дебиан хорошо обкатана).
 

pvvx

Активный участник сообщества
В простое (когда нет обмена по WiFi) "грибок" вообще чуть теплый (вероятно связка драйвер-дебиан хорошо обкатана).
Что и ping стал <1ms, как это у любого роутера на OpenWRT (или мелких SoC c WiFi, или даже на Win-де с любым свистком)?
Если да - то значит "обкатано", если нет - значит ничего не сделано, а просто случайное совпадение. Сравните задержки в Iperf c изернет на той-же плате. Они не должны быть сильно разными в случае WiFi. Через USB всё равно плохо - доп.задержки и потребление.
 
Последнее редактирование:

goodwin

Member
Пинг стабильный - 2-5 мс. Передача файла до 2.5 Мбайт/сек. Вполне нормально.
Главное, что все предсказуемо.
 

goodwin

Member
Попробовав на приличной акустике и убедившись, что встроенный в Zero audio DAC вполне даже ничего,
в качестве "стенда" был специально приобретен вот этот дешевенький, но и не "совсем уж плюшевый" аппарат:
Каталог - Мультимедийная акустика 2.1 - SVEN MS-90.
Потому как конструкция так и шепчет вставить туда что-нить лишнее и ненужное ;)
А именно 7LED индикатор с большими светящимися цифрами для часов, "StOP", "PLAY", "SAY", "CHNL" и.пр.
("красивости" логичнее рассматривать на ведрофоне/планшете, подключенном по сети.),
ИК приемник для пульта.
Сегодня добавлю еще и микрофон, чтобы можно было заказывать кофий в постель и устанавливать будильник :)
Так как wifi у Zero пока стремноватый, изыскал кусочек свободного места на задней стенке и выпилил кусок картона для ethernet.
С ethernet всяко надежней...
Вот для USB "дырки" свободной площади там не осталось. Выведу на "морду" - так и удобней.
В свободное от побудки и усыпленя меня, любимого, качественным lossless радио время, агрегат сможет
выполнять еще кучу разных полезных действий, потребляя 1-2 Вт (с выключенным wifi платка на Дебиане потребляет 80 мА).
Например, как минимум, показывать точное время ;)
Ибо темы этого форума (с маниакальным упорством куда то что то отправлять, мучая несчатный ESP) меня, старого, как-то не будоражат :)

Еще вчера рассматривал и тестировал MIFI в этой ипостаси, но во-первых ресурсы там для lossless таки скудноваты,
да и ПО с сильными ограничениями. Во вторых - там надо будет прикручивать внешний контроллер для индикации, IR и пр.
Лень и не интересно уже...
С этой махарайкой, глядишь, красноглазия больше нахватаюсь, а то воткнешь шнурок в платку, потычешься и бросишь, как всегда :))
IMG_0294.JPG
IMG_0295.JPG
 

086dx66

Member
Попробовав на приличной акустике и убедившись, что встроенный в Zero audio DAC вполне даже ничего,
в качестве "стенда" был специально приобретен вот этот дешевенький, но и не "совсем уж плюшевый" аппарат:
Каталог - Мультимедийная акустика 2.1 - SVEN MS-90.
Потому как конструкция так и шепчет вставить туда что-нить лишнее и ненужное ;)
А именно 7LED индикатор с большими светящимися цифрами для часов, "StOP", "PLAY", "SAY", "CHNL" и.пр.
("красивости" логичнее рассматривать на ведрофоне/планшете, подключенном по сети.),
ИК приемник для пульта.
Сегодня добавлю еще и микрофон, чтобы можно было заказывать кофий в постель и устанавливать будильник :)
Так как wifi у Zero пока стремноватый, изыскал кусочек свободного места на задней стенке и выпилил кусок картона для ethernet.
С ethernet всяко надежней...
Вот для USB "дырки" свободной площади там не осталось. Выведу на "морду" - так и удобней.
В свободное от побудки и усыпленя меня, любимого, качественным lossless радио время, агрегат сможет
выполнять еще кучу разных полезных действий, потребляя 1-2 Вт (с выключенным wifi платка на Дебиане потребляет 80 мА).
Например, как минимум, показывать точное время ;)
Ибо темы этого форума (с маниакальным упорством куда то что то отправлять, мучая несчатный ESP) меня, старого, как-то не будоражат :)

Еще вчера рассматривал и тестировал MIFI в этой ипостаси, но во-первых ресурсы там для lossless таки скудноваты,
да и ПО с сильными ограничениями. Во вторых - там надо будет прикручивать внешний контроллер для индикации, IR и пр.
Лень и не интересно уже...
С этой махарайкой, глядишь, красноглазия больше нахватаюсь, а то воткнешь шнурок в платку, потычешься и бросишь, как всегда :))
Посмотреть вложение 3292
Посмотреть вложение 3293
Выложите пожалуйста побольше фоток
 

goodwin

Member
Да вроде и этих двух фото вполне достаточно...
Видно, что в деревянном ящике есть отдельное пространство под передней панелью, куда можно прикрутить Zero, блок питания для него и подходящий индикатор. Для индикатора к этом корпусе есть очень удобное место в нижней части, где плоская поверхность (легко прикрутить, не занимаясь "фигурным выпиливанием").
Мне нужно было большие яркие цифры, поэтому приспособил семисегментник от одной из моих железок с SPI интерфейсом.
Туда же свободно влезет и графический ЖКИ TIC32 с подсветкой и интерфейсом I2C.
Его тоже прикидывал, но, имхо, ни к чему он там...
Для Zero нужен именно отдельный БП, т.к. это УНЧ и никакие ухищрения не помогают от "цифровых" шумов во земляной шине.
Общe. "землю" нужно соединить только в одной точке - возле входа УНЧ. Тогда не будет абсолютно никаких шумов...
Да и "родной" импульсный 9В питальник колонок неизвестно как себя поведет, если его нагрузить еще и на Zero.
Да - микрофон очень удобно установить вместо штатного светодиода - в его отвертие (над регуляторами), чтобы не дырить лишнего.. Светодиод при наличии индикатора - лишнее звено, а дырка сгодится ;)
IR приемник надо приспособить возле индикатора - под прозрачной панелью.
Ну и схемы подключения микрофона, аудиовыхода и IR приемника стандартные.
Индикатор подключу к GPIO. (пока не приступил к этому).
 
Последнее редактирование:

pvvx

Активный участник сообщества
Пинг стабильный - 2-5 мс. Передача файла до 2.5 Мбайт/сек. Вполне нормально.
Главное, что все предсказуемо.
2-5 мс - это в локальной сети? Кошмар.
Попробовав на приличной акустике и убедившись, что встроенный в Zero audio DAC вполне даже ничего,
А просто снять шумы c выход не пробовали каким анализатором? Наверно можно Саундом с компа сделать анализ искажений и шума на выходе... Но тут смотря какой саунд на мамке...
 

goodwin

Member
Это через "грибок" RTL8188 WiFi...
iPad (некитаец ;) кажет порядка 5-7...

Шумы самые обычные - ипульсный жор вайфаев, процессоров и пр SD по земляной шине...
Его никак не победишь, кроме грамотной разводки.
А тук какая разводка? Китайские платочки на сопельках...
Поэтому отдельный БП (гальваноразвязанный) и соединение их земель в одной точке...
Вот в самой платке Zero аналоговый выход работает весьма достойно.
Субъективно никакких шумов не прослушивается абсолютно.
Вот китайская звуковая usb свистулька, которую пытал вчера с роутером - та шумит ощутимо...
Кстати, жаба давит оба БП держать включенными. Поэтому добавил оптрон в штатный импульсник колонки для его отключения с Zero.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Шумы самые обычные - ипульсный жор вайфаев, процессоров и пр SD по земляной шине...
Я не про те, а про гармоники оцифровки и работы дельта сигма DAC. Как фильтр после него работает, какая характеристика, ... На ixbt постоянно такие тесты делают для мамок...
Audio Rightmark
По GND: Подпаяться и перекинуть землю можно и на плате дополнительно. Но всё-таки важнее как выведено на разъемы...

Как исправить 2-3мс в локальной сети? Это всего до 300 запросов в секунду...
 
Последнее редактирование:

goodwin

Member
Да пофиг гармоники. Субъективно звук в этой колонке значительно лучше чем с джеков всех имеющихся в доме ведро-яблоко-фонов.
(потрогал все, что нашлось под руками через эту колонку, прежде чем начал препарировать).
И это вполне устраивает...
Про 300 запросов/cек явная математическая ошибка ;)
Я писАл выше про передачу файлов по SSH через RTL8188СU - 2.5 Мбайт/сек.
При MTU TCP стека в компе 1500 байт, выходит более 1600 запросов...
 

pvvx

Активный участник сообщества
Про 300 запросов/cек явная математическая ошибка ;)
Я писАл выше про передачу файлов по SSH через RTL8188СU - 2.5 Мбайт/сек.
При MTU TCP стека в компе 1500 байт, выходит более 1600 запросов...
Это при открытом TCP.
Поток не есть запросы. Ping же 3 мс и более = запрос - ответ.
 

goodwin

Member
Ну вот примерно так агрегат выглядит в сборе...
Науськал lirc на триколоровский пульт.
Цвет индикатора поменял, ибо красный сильно напрягает в темноте.
Индикатор подобен вот этому, включая распиновку, но самолепный:
http://lib.chipdip.ru/074/DOC000074602.pdf
C spi1 так и не разобрался, подключил с помощью "ногодрыжества" через библиотеку wiringPi.
С помощью нее ноги дрыгаются со скоростью ~ 1.3 МГц. Вполне устраивает.
Подключил 4 ноги к пинам uart2 (Четвертой рулю AC/DC колонки).
 

Вложения

goodwin

Member
Присопливил микрофон (по схеме Orange Pi Lite).
Микрофон работает отлично. Никаких посторонних "электронных" шумов.
Метров с двух можно будет "командовать голосом", если интерес не угаснет/будет свободное время ;)
Пока плеер MPD управляется пультом с помошью Lirc и тикают часы на 7LED индикаторе
с помощью вот такой простенькой примочки:
Код:
// Пользуем библиотеку "WiringOP":
//
//  git clone https://github.com/zhaolei/WiringOP.git -b h3
//  cd WiringOP
//  chmod +x ./build
//  sudo ./build
//
// Pinouts:
//
//Name pins OP Zero          WiringOP   7Led индикатор 
//--------------------------------------------
//Uart2_RX                   0          LOAD
//Uart2_TX                   2          DIN
//Uart2_CTS                  3          CLK
//Uart2_RTS                  4          УНЧ ON/OFF  
//--------------------------------------------
//
// Запустить при загрузке. - добавить в /etc/rc.local"clock7 &" в режиме демона
// Инициализируются нужные GPIO, выводиттся надпись HELLO
// через 5 сек начинают тикать часы
// 
// cd /root/WiringOP/my
// gcc /root/WiringOP/my/clock7.c -o /root/WiringOP/my/clock7 -lwiringPi -lpthread
// /root/WiringOP/my/clock7
// переместить в /usr/sbin, назначить права 755
//

#include <wiringPi.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>




#define DIN1   digitalWrite(2, HIGH) 
#define DIN0   digitalWrite(2, LOW)
#define CLC1   digitalWrite(3, HIGH)
#define CLC0   digitalWrite(3, LOW)
#define LOAD1  digitalWrite(0, HIGH)
#define LOAD0  digitalWrite(0, LOW)

#define POWER_ON  digitalWrite(6, LOW);
#define POWER_OFF digitalWrite(6, HIGH);

#define point 0x01

char disp[8] = "HELL0 *"; // строка на дисплее при старте программы
unsigned char conv(char ch)
{
  switch (ch)
    {
    case '0': return(0x7e); // 0
    case '1': return(0x12); // 1
    case '2': return(0xbc); // 2
    case '3': return(0xb6); // 3
    case '4': return(0xd2); // 4
    case '5': return(0xe6); // 5
    case '6': return(0xee); // 6
    case '7': return(0x32); // 7
    case '8': return(0xfe); // 8
    case '9': return(0xf6); // 9
    case '-': return(0x80); // -
    case 'E': return(0xec); // E
    case 'r': return(0x88); // r
    case 'o': return(0x8e); // o
    case ' ': return(0x00); // пробел
    case 'n': return(0x8a); // n


    case 'C': return(0x6c); // C
    case 'S': return(0xe6); // S
    case 'H': return(0xda); // H
    case 'F': return(0xe8); // F
    case 'P': return(0xf8); // P
    case 'g': return(0xf6); // g
    case 't': return(0xcc); // t
    case '_': return(0x04); // _
    case 'Б': return(0xee); // Б
    case '.': return(0x01); // .

    case 'I': return(0x48); // I
    case 'Ь': return(0xce); // Ь
    case 'Г': return(0x68); // Г
    case 'A': return(0xfa); // A
    case 'd': return(0x9e); // d
    case 'L': return(0x4c); // L
    case 'h': return(0xca); // h


    case 'й': return(0x6e); // "колеса".
    case 'ц': return(0x7c); // .
    case 'у': return(0x7a); // .
    case 'к': return(0x76); // .
    case 'е': return(0x3e); // .
    case 'н': return(0x5e); // .

    case ']': return(0x36); // .
    case '[': return(0x6c); // .
    case 'Д': return(0xbe); // .
    case 'Й': return(0x2e); // .
    case 'У': return(0xd6); // .
    case 'П': return(0x7a); // .
    case 'u': return(0x0e); // .
    default:  return(0); 
   }
}

void display(void)
{
  signed char i;
  char n;
  char c;
  for (i=5;i>=0;i--)
   {   
      c=conv(disp[i]);
      if (disp[6]==i)  c|= point;  // точка в разрядах 0..5

     for (n=0;n<8;n++)
      {
        if (c&128) DIN1;
         else DIN0;
        c=c<<1;
        CLC0;
        CLC1; 
      }
   }
  LOAD1;
  LOAD0;
}                  


int main (void) {
struct tm *t;
time_t ltime;
short cnt;

  wiringPiSetup();
  pinMode (3, OUTPUT) ; // настроим используемые порты на выход
  pinMode (2, OUTPUT) ;
  pinMode (0, OUTPUT) ;
  pinMode (6, OUTPUT) ;
  POWER_ON;
  display(); // говорим "привет"
  sleep(5);
    
  while(1) // кажем время в цикле
  {
   time(&ltime);
   t = localtime(&ltime);
   if(cnt & 1)  sprintf(disp," %2d%02d \2", t-> tm_hour, t->tm_min);
     else sprintf(disp," %2d%02d \6", t-> tm_hour, t->tm_min);
   display();
   cnt++;
   sleep(1);
  }
return 0;
}
 
  • Like
Реакции: sgh

pvvx

Активный участник сообщества
@goodwin - Встроенный WiFi так на сегодня и не починили на данной платке.
Так-же продолжается не создание на ней своих приложений, а сборка всяких *nix, в которых так и не освоены полностью основные фичи чипа. В общем всё как всегда - плату выпустили, продали, а поддержки нормальным ПО и готовыми дистрибутами любого *nix без глюков и понимающих потроха как не было, так и нет.
В итоге, пока, так и побеждает стандартный Pi среди любителей DIY - у него есть какая-никая постоянная поддержка производителем... :(
Это не моё мнениЯ - копался тут по всей инет помойке по поводу поиска более менее подходящего модуля с *nix и начитался, но в принципе они правы :) Это всё и не прильщает делать какие-то приложения на такой рынок платок, а стандартная Pi совершенно не подходит для встраиваемых систем…
PS: Эта тема хорошо описана в комментах в Альтернативы Raspberry Pi (А приходится тратить на какие-то сборки ядер, создания u-boot, rootfs и так далее.)
В частности, если поставить большую SPI-flash в платку, то стандартными средствами *nix получаем, что на запись и стирание 16МБ на ней уходит от 4 минут. Чтение тоже не отличается производительностью… как и передача данных с неё средствами встроенного WiFi чипа. Т.е. совсем не хватает для использования в качестве кольцевого накопителя данных с датчиков, а SD для таких дел не годится. Тот-же RTL8195 делает это всё шустрее и надежнее… :(
Копать глубже стандартных средств на *nix, менять клоки и т.д. на чипе нет никакого смыслу, т.к. за время этого “копания” плату уже не будут производить, а заменят другой. Т.е. какая либо разработка специализированного ПО на такие платы никому не вперлась... (это не касается ваших поделок, а итог моих поисков нужного мне...)
 
Последнее редактирование:
Сверху Снизу