Orange Pi One... нужен старт

sergkr1983
Offline
Зарегистрирован: 09.12.2015

Спасибо. Тот ответ что и искал. В общем можно заказывать апельсинку и городить веб наблюдение.

 

Logik
Offline
Зарегистрирован: 05.08.2014

Похоже в этой теме не хватает исходников.

Исправляю. Проба пера для OrangePi.

Немноко больше чем просто блинк. блинк с поддержкой ТСР сокета. После запуска ждет входящего соединения на порт 5000 и мигает светодиодом на GPIO1. Прием соединений не блокирующий. После соединения принимает с него данные и завершается. Пишет чтото в файл.

/*
 * server_TCP:
 *	Standard "blink" program in wiringPi. Blinks an LED connected
 *	to the first GPIO pin.
 *
 ***********************************************************************
 */

#include <fcntl.h>
#include <stdio.h>
#include <wiringPi.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>


// LED Pin - wiringPi pin 0 is BCM_GPIO 1.

#define	LED	1
#define TEST_FILE_NAME "testfl"

void blink(int t)
{
   static int time;
   static unsigned char flag;

   int fd;

   if(t-time>100)
   {
     time=t;

     fd=open(TEST_FILE_NAME, O_WRONLY | O_APPEND);
     write(fd, &t, sizeof(t));
     close(fd);

     if(flag)
     {
       flag=0;
       digitalWrite (LED, HIGH) ;
     }
     else
     {
       flag=1;
       digitalWrite (LED, LOW) ;
     }
    }
}

int IsNoReadable(int sock)
{
  fd_set readfds;
  struct timeval timeout;
  socklen_t size = sizeof(struct sockaddr_in);
  struct sockaddr_in their_addr;

  FD_ZERO(&readfds);
  FD_SET(sock, &readfds);
  timeout.tv_sec = 0; // wait not more than 1 millisecond
  timeout.tv_usec = 1000;
  int sel = select(sock + 1 , &readfds , NULL , NULL , &timeout);
  if(sel < 0)
  {
      return -4;
  }
  if((FD_ISSET(sock, &readfds))) return 0;//готовы данные
  return 1;
}

int main (void)
{
  printf ("Raspberry Pi TCP server and blink\n") ;

  wiringPiSetup () ;
  pinMode (LED, OUTPUT) ;

   int fd = creat(TEST_FILE_NAME, 0006);
   if(fd)
   {
     close(fd);
   }

#define BUF_SIZE 256

  int sock;
  int newsock;
  int client;
  int port=5000;
  char buf[BUF_SIZE];
  struct sockaddr_in serv_addr;
  struct sockaddr_in cli_addr;

  sock = socket(PF_INET, SOCK_STREAM, 0);

  if (socket < 0)
  {
   return -2;
  }

  fcntl(sock, F_SETFL, O_NONBLOCK);

  memset((char *) &serv_addr, 0, sizeof(serv_addr));
  serv_addr.sin_family = AF_INET;
  serv_addr.sin_addr.s_addr = INADDR_ANY;
  serv_addr.sin_port = htons(port);
  if (bind(sock, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
  {
    return -3;
  }

  listen(sock, 1);

  for (;;)
  {
   int t=millis();

   blink(t);

   if(!IsNoReadable(sock))
     break;

  }

   client = sizeof(cli_addr);
   newsock = accept(sock, (struct sockaddr *) &cli_addr, &client);
   if (newsock < 0)
   {
     return -5;
   }
   memset(buf, 0, BUF_SIZE);
   read(newsock, buf, BUF_SIZE-1);
   buf[BUF_SIZE] = 0;

   fd=open(TEST_FILE_NAME, O_WRONLY | O_APPEND);
   write(fd, buf, BUF_SIZE);
   close(fd);


  write(newsock, "OK", 2);
  close(newsock);
  close(sock);


  return 0 ;
}

 

Logik
Offline
Зарегистрирован: 05.08.2014

А кому поиграть хочется?

http://znoxx.me/2016/07/30/orange-pi-pc-kak-ighrovoi-avtomat-i-miediatsientr/

и что из него делают

http://mysku.ru/blog/aliexpress/45602.html

Logik
Offline
Зарегистрирован: 05.08.2014

Мой старт на оранже закончен. Сделал на нем сервер WebSocket-а для управления и контроля  GPIO. Выбрал WebSocket потому как хорошая поддержка броузеров, чистый JS без левых либок и лишнего трафика, асинхронный, быстрый. Без проблемы заработало на опере на ПК и мобилке. Правда весь протокол (бинарные данные, длинные пакеты, пинг-понг и.т.д) делать не стал, хотяб потому, что запросто тестировать не получается, писать клиент для тестов не охота. "Склейку" фреймов думал делать но понял что не смогу тоже ни отладить ни проверить, осталась как есть.  После того как спрятал протокол в либу даже лаконичный код вышел.

/*
 * server_WinSoc:
 *	Not standard "blink" program in wiringPi. Blinks an LED connected
 *	to the first GPIO pin.
 *
 ***********************************************************************
 */

#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <cstring>
#include <stdio.h>
#include <wiringPi.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <poll.h>
#include "BaseNetwork.h"
#include "itoa.h"

// LED Pin - wiringPi pin 0 is BCM_GPIO 1.

#define	LED	1

/* Команды нашего протокола*/
#define CMD_LCD_0       "LCD_0"
#define CMD_LCD_1       "LCD_1"
#define CMD_LCD_BLINK   "LCD_Blink"
#define CMD_EXIT        "Stop server LCD"


bool BlinkEnable;   //разрешить мигание

/* Процесс мигания */
void blink(int t, unsigned int d)
{
   static int time;
   static unsigned char flag;

   if(t-time>d)
   {
     time=t;

     if(flag)
     {
       flag=0;
       digitalWrite (LED, HIGH) ;
     }
     else
     {
       flag=1;
       digitalWrite (LED, LOW) ;
     }
    }
}



int Speed;  //для демонстрации динамической передачи клиенту
int TimeSendSpeed; //время последней отправки Speed
int Timer;  // таймер отправляемый клиенту

int main (void)
{
  printf ("Raspberry Pi WebSocket server and blink\n") ;

  setenv("WIRINGPI_GPIOMEM", "1", 1); //заклинание чтоб wiringPi не требовал ребута

  wiringPiSetup () ;

  pinMode (LED, OUTPUT) ;

  /* Очистим файл, потом в него что-то запишем  */
  int fd = creat("testfl", 0006);
  if(fd)
  {
    close(fd);
  }

  Socket sock; // Наш серверный сокет

  if(sock.Run(5000)<0) // Открываем порт и ждем когда постучится клиент
   return -1;

  WebSocket ws;   // Наш веб сокет, т.к. ждем только одного клиента то  статический

  // ОСНОВНОЙ ЦИКЛ ПРИЛОЖЕНИЯ.
  for (;;)
  {

   int t=millis();

   switch(ws.Process()) // состояние обмена с клиентом
   {
     case WebSocket::NOINIT: // пока никого нет
          blink(t, 100);

          if(!sock.WaitIncom())  // если ктото пришел принимаем соединяемся пока по TCP
          {
            if(ws.Init(sock.Accept())<0)
             return -2;
          }
	 break;

     case WebSocket::NOCONECT:  // клиент  зашел по TCP но не присоединился по WebSocket
         break;

     case WebSocket::ND:  // от клиента нет данных делаем что хотим при простое
    delay(1);
         if(BlinkEnable)
            blink(t, 40);

         /* Плавно уменщаем Speed до 0 и передаем её клиенту */
         if(Speed)
         {
           if(t-TimeSendSpeed>30)
           {
              Speed--;
              TimeSendSpeed=t;
              char s[20];
              itoa(Speed, s+1, 10);
              s[0]='s';
              ws.SendFrameText(s);
           }
         }
         if(t-Timer>1000)
         {
          Timer=t;
          char s[20];
          itoa(t/1000, s+1, 10);
          s[0]='t';
          ws.SendFrameText(s);

         }
         break;

     case WebSocket::CONECT: // клиент  присоединился по WebSocket
	 printf ("WebSocket conect\n") ;
	 break;

     case WebSocket::FRAME_TEXT: // клиент прислал текст
         {
          char* buf=ws.GetText();  // получаем текст

          int fd=open("testfl", O_WRONLY | O_APPEND);
          write(fd, buf, strlen(buf));
          write(fd, "\n", 1);
          close(fd);


          /* Обрабатываем текст и выполняем требуемое действие */
          if(!strcmp(buf,CMD_LCD_0))
          {
            digitalWrite (LED, LOW);
            BlinkEnable=false;
            Speed+=100;
          }
          else if(!strcmp(buf,CMD_LCD_1))
          {
            digitalWrite (LED, HIGH);
            BlinkEnable=false;
            Speed+=100;
          }
          else if(!strcmp(buf,CMD_LCD_BLINK))
          {
            BlinkEnable=true;
            ws.SendFrameText("sOK!");
          }
          else if(!strcmp(buf,CMD_EXIT)) // клиент прислал команду на отсоединение
          {
            digitalWrite (LED, LOW);
            ws.Close();
            sock.Stop();
            printf ("Exit\n") ;
            return 0;
          }
          break;
         }
     /* Клиент прислал чтото не интересное */
     case WebSocket::FRAME_BIN  :printf ("bin frame\n");break;
     case WebSocket::FRAME_CONT :printf ("long frame\n");break;
     case WebSocket::FRAME_PING :printf ("ping frame\n");break;
     case WebSocket::FRAME_PONG :printf ("pong frame\n");break;
     case WebSocket::FRAME_UNDEF:printf ("undef frame\n");break;

     case WebSocket::FRAME_CLOSE: // клиент закрыл соединение по WebSocket
         ws.Close();
         printf ("Close\n") ;
   }
 }

}

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

Погонял сервер, обнаружил нагрев проца. Если без присоединенного клиента температура 53С и проц загружен порядка 1% и частоте 0,46ГГц, то при длительном соединении прогрелся до 77С при нагрузке около 26% и частоте 1,53ГГц-1,2ГГц. Т.е. загрузили ровно одно ядро. Радиатор небольшой, на липучке. Наблюдал снижение частоты при прогреве свыше 70 градусов с 1,53ГГц до 1,2ГГц, он себя защищает от моей проги )).

Поправил код выше, добавил делей и все вернулось как было - 53С и 1%. 

Видево  - https://youtu.be/5-Y1tt14xsA

Logik
Offline
Зарегистрирован: 05.08.2014

Roman2344 пишет:

Logik пишет:

Про старт на оранж - http://arduino.ru/forum/otvlechennye-temy/orange-pi-one-nuzhen-start , там и мой есть.

А вот по 54 посту, в какой среде пишется это с под вайринга? И как начать, подключить HDMI-монитор к расспберри и в  установленную систему поставить среду для писания программ под вайринг? И куда потом сохранять скетч в память расспбери или на микро сд? И можно ли с компа писать в какой-то среде, а потом кидать на расспбери? И как удобнее?

Пишу C/С++, без ИДЕ компиляция gcc. Ставился по https://geektimes.ru/post/269444/ развивался дальше по разным источникам, все не припомню. Единственное добавлю - не спешите увеличивать диск до размера флешки (можно увеличить мегабайт на 300 для начала, там всегда легко еще добавить, а обратно - сложно), и вот почему. После каждого удачного этапа установки полезно "сохранится" сбросить образ SD в комп.  Пока он 3 гиги с ним быстрей все чем когда он 8-16 гигов.

Вайринг подключается библиотекой. Все необходимое сразу в образе присутствовало (хотя не уверен про вайринг, я сразу не глянул, начал ставить, оно ругается, начал разбиратся - стоит и работает, наверно был изначально). В общем работать можна двумя путями: 1. как с нормальной ОС - подключить клаву+мыш+монитор и в графической убунтовской оболочке делать все 2. как с удаленным сервером - заходим с ПК через putty.exe и в консоле работаем. Я опробывал первый вариант, нормально все включая HDMI, но повседневно работаю вторым, а в нем HDMI не актуален пока и не подключен к монитору, но по идее он включен и пытается выводить запрос пароля. Причем первый вариант пропустить не выйдет! Надо настроить сеть. Сразу устройству задан какойто статический IP, который вероятно подходит только автору сборки :) 

Учитывая что нам доступны все линуксовые библиотеки, то сложностей с HDMI особых не должно быть. Разве что HD может неподдержать, пишут что в некоторых сборках это проблема. 

Общая технология старта и  разработки у меня так (заходим всегда с ПК через putty.exe и в консоле работаем): проверил собираемость примеров варинга, подпаял светодиод, поморгал, попробовал править скетч в родном редакторе нано, получилось но понял что неудобно, настроил убунтовские сетевые службы (самбу вроде ставил) заработали расшары - стало веселей, файл легко перебрасывается с ПК на девайс и обратно. В результате счас крупные правки кода на ПК т.к. редактор удобней, а мелочи прямо в девайсе тем же нано т.к. быстрей. Сборка понятно прямо в девайсе. Хранение кода тамже, на SD, но учитывая легкость доступа по сети - это не так и важно, где. 

 

axill
Offline
Зарегистрирован: 05.09.2011

не могу понять, оракловый JDK можно на апельсинку найти или только OpenJDK?

поставил openhab с openjdk, смнения терзают насчет глюков

axill
Offline
Зарегистрирован: 05.09.2011

сам спросил сам отвечу ) http://orange314.com/Installing_Oracle_Java_SDK_on_Ubuntu_/_Debian

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Всё правильно, я на cubietruck ставил, точно так же, без проблем работает. Собственно, для openhab и ставил, прежде всего. Аналогично ставлю для Synology, там тоже АРМ, только качаю дистрибутивы вручную, у них свой линукс. Беру дистрибутивы там же, где и для других камней/ОС: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Вот, например, JDK for ARM:
Linux ARM 32 Hard Float ABI	77.78 MB  	jdk-8u111-linux-arm32-vfp-hflt.tar.gz
Linux ARM 64 Hard Float ABI	74.73 MB  	jdk-8u111-linux-arm64-vfp-hflt.tar.gz

 

axill
Offline
Зарегистрирован: 05.09.2011

synology разный) у меня на интеловском атоме x86

поставил второй опенхаб и теперь заново пытаюсь понять как его настраивать) новые интерфейсы появились

axill
Offline
Зарегистрирован: 05.09.2011

Кто настроил openhab? Сайтмап получается настраивать, но там где идет ссылка на определенные в отдельном файле item в логах идет ругать, что нет таких

где то кроме файла .item надо что то описывать, чтобы айтемы заработали?

axill
Offline
Зарегистрирован: 05.09.2011

И еще может есть у кого ссылка для чайника пошагово как запустить на esp8266 термометр с отсылкой температуры на openhab через mqtt

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Это да, Synology они такие :) У меня DS414 + 4 red терабайтника. У меня к ARM отдельная любовь :)

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

У меня openhab вообще сейчас в интернет смотрит :) Но урл не буду светить и так в день по несколько IP в бан уходят, за попытку взлома мейлера.

Во втором openhab появились things, плюс все конфиги нужно напрочь переделывать, плюс не всё работает (в т.ч. в режиме совместимости с 1.9). В общем пока бросил, других дел много.

Работает и хорошо, главное, что я многие параметры в т.ч. входное напряжение сети (из UPS), температуры (WUnderground, моя Netatmo) тоже всё валится в mariadb (типа mysql), т.е. я это могу и через год посмотреть ;) Графики смотрю иногда, интересная статистика. Знаю как и когда у меня напряжение сети плавает, в будни и в выходные, утром и в течении дня. Насколько помню, в среднем около 227В.

Хотя всё это планировалось ставить на cubietruck, возможно туда и переедет потом. Время покажет.

 

axill
Offline
Зарегистрирован: 05.09.2011

То куда данные сливаются это то, что называется persistance? Еще не разбирался

а ups какие? Apc? Видел сегодня настройку в конфиге где можно указать IP, но еще не разбирался что это и зачем. Так то у меня на резервировании стоят три 3000ва apc smart с платами ethernet

это потом, у меня насущное по быстрому сделать адаптивное отопление в доме путем управления сервоприводами на этажных коллекторах. Коллекторы уже давно поставил, дело за малым - открывать закрывать по температуре

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Ага, persistence. У меня BackUP ES 550G.

items: Number Ups_Input_Voltage "Входное напряжение [%.1f В]" <energy> (Ups) {networkupstools="ups:input.voltage"}

sitemap (с графиком):

		Text label="UPS, входное напряжение" icon="energy" {
	   		Switch item=Ups_Input_Voltage_Chart_Period mappings=[0="Час", 1="День", 2="Неделя"]
   			Chart item=Ups_Input_Voltage service="mysql" period=h refresh=600 visibility=[Ups_Input_Voltage_Chart_Period==0, Ups_Input_Voltage_Chart_Period=="Uninitialized"]
   			Chart item=Ups_Input_Voltage service="mysql" period=D refresh=3600 visibility=[Ups_Input_Voltage_Chart_Period==1]
   			Chart item=Ups_Input_Voltage service="mysql" period=W refresh=3600 visibility=[Ups_Input_Voltage_Chart_Period==2]
		}

.cfg:

networkupstools:refresh=60000

# UPS device name
networkupstools:ups.device=ups

# UPS server hostname (optional)
networkupstools:ups.host=localhost

# UPS server port (optional)
networkupstools:ups.port=3493

# UPS server login (optional)
#networkupstools:ups1.login=

# UPS server pass (optional)
#networkupstools:ups1.pass=

Upsка легко прописывается в конфиги, все параметры примерно такие (зависит от Ups).

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

axill пишет:

Кто настроил openhab? Сайтмап получается настраивать, но там где идет ссылка на определенные в отдельном файле item в логах идет ругать, что нет таких

где то кроме файла .item надо что то описывать, чтобы айтемы заработали?


Если oh1, то достаточно, если oh2, то еще, возможно, things нужно прописывать. На oh2 я только автомат пробовал (paperui), потому не скажу что и как.
UPD: я могу тебе в личку (на ее или коте) дать урл моего oh1, там есть возможность скачать мои конфиги. Не все, конечно, но items, sitemaps, rules точно. Причем живые, а не копии. Плюс можно сразу видеть, как это работает.

axill
Offline
Зарегистрирован: 05.09.2011

Спасибо за предложение. Demo у меня работает, делаю свое - ругается

проблвал сначала на 1.8, сейчас в 2.0. Одинаково. Не понимаю. Things не при чем судя по настройке Demo

По ups у тебя он через usb? В конфиге у тебя licalhost, это какой то демон униксовый который через usb (com) общается с ибп?

axill
Offline
Зарегистрирован: 05.09.2011

Так и не понял почему описания item из моего файла не работают. Делаю тоже самое в файле demo.items - работает

пкреименовал все демо файлы и начал править под себя. С документацией конечно плохо у openhab

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

axill пишет:

Так и не понял почему описания item из моего файла не работают. Делаю тоже самое в файле demo.items - работает

пкреименовал все демо файлы и начал править под себя. С документацией конечно плохо у openhab

Собственно, можно сразу сделать много конфигураций, для каждой свои items, sitemap, rules и т.п. Имена должны совпадать с именем конфигурации. К примеру, demo - это файлы demo.items, demo.rules, demo.sitemap, для work - work.items, work.rules, work.sitemap и т.п. Соответственно при входе можно указать нужуню конфигурацию, типа:

myopenhab.ru:8080/sitemopenhab.app?sitemap=demo

myopenhab.ru:8080/sitemopenhab.app?sitemap=work

будут отображать соответственно demo или work конфигурацию соответственно.

Ну не знаю, доки у них основные вполне нормальные, вот доки на модули - там приходтся по исходникам рыскать, хотя тоже многое описано у них в wiki https://github.com/openhab/openhab/wiki

Можно указать по умолчанию, на какую конфигурацию будет заруливать автоматом при входе на myopenhab.ru:8080.

PS У меня НЕ демо конфигурация, она полностью рабочая (разве что кроме телика), но она на openhab 1.8 или 1.9.

 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

axill пишет:

По ups у тебя он через usb? В конфиге у тебя licalhost, это какой то демон униксовый который через usb (com) общается с ибп?

У меня через USB, но, в линуксе есть специальный Network UPS Tools (NUT), которому, я думаю, пофигу, по сетке твой UPS подключен или по USB. Просто попробуй запустить в командной строке:

upsc -l

В общем это общий интерфейс для доступа к информации от любой доступной UPS. После -l можно указать имя сервера и порт. (вот ссылка на мануал http://networkupstools.org/docs/man/upsc.html)

Вот здесь какая то информация есть на эту тему: http://samag.ru/archive/article/471 это я как пример настройки, у меня то всё автоматом подцепилось, кто знает, что там у тебя.

 

axill
Offline
Зарегистрирован: 05.09.2011

Спасибо, проверю вернусь

то, что файлы должны одинаково называться мне ясно, именно так и делал. Почему не заработало не понимаю. Причем начал настраивать на 1.8 не работало, потом на 2.0 не заработало, а демо работает и переименованное демо тоже работает

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Да, там не без проблем. Я тоже по началу долбился немало, пока въехал. Особенно rules тяжко даются, там преобразований море, чтобы какую то величину получить, жесть какая то. Потом раскопал лямбда функции (всё есть в доках и примерах) и стал использовать их при форматировании текста (я делал так, чтобы в одной строке было несколько разных значений), например:

опять же для иконок (у меня они разные при разных значениях величины, например, влажность, шум), тоже удобно, типа:

/* Собственно функция: */
val org.eclipse.xtext.xbase.lib.Functions$Function2 calcIconIndex = [
	org.openhab.core.library.items.NumberItem mainItem,
	org.openhab.core.library.items.NumberItem iconItem |

	if (mainItem != null && iconItem != null) {
		var iconNum = ((mainItem.state as DecimalType) / 10).intValue
		iconItem.postUpdate(Math::round(iconNum))
	}
]

/* Примеры использования */

rule Netatmo_Indoor_Humidity_Icon
when
	Item Netatmo_Indoor_Humidity changed or Item Netatmo_Indoor_Humidity received update or System started
then
	calcIconIndex.apply(Netatmo_Indoor_Humidity, Netatmo_Indoor_Humidity_icon)
end

rule Netatmo_Outdoor_Humidity_Icon
when
	Item Netatmo_Outdoor_Humidity changed or Item Netatmo_Outdoor_Humidity received update or System started
then
	calcIconIndex.apply(Netatmo_Outdoor_Humidity, Netatmo_Outdoor_Humidity_icon)
end

 

axill
Offline
Зарегистрирован: 05.09.2011

Осваиваю openhab. Поставил вторую версию может и зря, глюки есть. Но в целом здорово. Прикрутил датчики температуры на esp8266. Прекрасно работает

кстати в позновательных целях вывел на страничке openhab uptime, cpu load и температуру cpu. В общем то можно строить графики)

Openhab грузит заметно, если раньше с asterisks было 52-53 градуса, то сейчас местами поднимается почти до 70. С моим активным охлаждением больше  надеюсь не поднимется, а 70 это нормально

130 дней кстати life time без перезагрузок. Уже с десяток отключений электричества пережили с ибп

a5021
Offline
Зарегистрирован: 07.07.2013

только не "life time", a "uptime".

Logik
Offline
Зарегистрирован: 05.08.2014

Без ИБП. 12 дней. Как забыл его включеным так и работает )) По стабильности вобще к ним вопросов нет. Чето этот Openhab меня не впечатлил, почитал о нем на хабре - замудро слишком. Может оно конечно, если чел программу сам не напишет - то пусть учит чужую ;) 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Читать об openhab.. Да он работает, что о нем читать. Замудренный.. хмм.. Хардкор, что ли, нужен? Да нфига надо. Ну не нравится, и досвидос. Лично меня устраивает. Возможность добавить свои фишки, множество существуюших устройств. Хрен ли еще надо?

 

axill
Offline
Зарегистрирован: 05.09.2011

a5021 пишет:

только не "life time", a "uptime".

главному придире сайта привет)

специально изменил термин, чтобы не было путаницы с юниксовой uptime ибо там не один показатель, а несколько

но главное все поняли о чем это

сама эта информация выводится через exec binding. Почему то не заработал планин SystemInfo. То ли я что то упустил толи он на апельсинке не работает. Впрочем и exec хорошо работает, пришлось правда вспоминать комманду sed и регулярные выражения с помощью которых извлекаю нужные цифры. Позже сделаю графики и уведомления по перегреву

 

axill
Offline
Зарегистрирован: 05.09.2011

Logik пишет:

Без ИБП. 12 дней. Как забыл его включеным так и работает )) По стабильности вобще к ним вопросов нет. Чето этот Openhab меня не впечатлил, почитал о нем на хабре - замудро слишком. Может оно конечно, если чел программу сам не напишет - то пусть учит чужую ;) 

у нас за городом электричество отрубают регулярно, ИБП очень полезно с моем случае, тем более это позволяет работать телефонии в доме которая висит на апельсинке пока нет сети

насчет openhab - есть входной барьер, когда читаешь-читаешь и нифига не понимаешь что к чему, но после преодоления барьера дальше все очень понятно и просто. Весьма гибкая и развитая система. Писать свое это изобретать велосипед ИМХО

там ведь не просто управление настраивается, а еще и целая система управлениями событиями. Например легко настроить визуальный контроль работоспособности датчиков температуры и настроить оповещение если они перестали работать. И это буквально несколько строк в конфигах, а не десятки строк кодирования

после настройки интерфейса без дополнительных телодвижений начинает работать мобильный интерфейс

и масса готовых плагинов

в общем меня устраивает 

 

Logik
Offline
Зарегистрирован: 05.08.2014

axill пишет:

насчет openhab - есть входной барьер, когда читаешь-читаешь и нифига не понимаешь что к чему..

Это и есть заумное. Как правило непонятное, нарочито усложненное описание с свежепридуманой терминологией характерно для посредственных продуктов. Когда все логично в коде это легко описать в доке.

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

axill пишет:
 Писать свое это изобретать велосипед ИМХО 
 Дак форум как раз велоизобретательский )) 

axill пишет:
 там ведь не просто управление настраивается, а еще и целая система управлениями событиями. Например легко настроить визуальный контроль работоспособности датчиков температуры и настроить оповещение если они перестали работать. И это буквально несколько строк в конфигах, а не десятки строк кодирования
Так а что тех десять строк, 5 минут писать (ну понятно если либа есть, но это эквивалентно вопросу есть ли поддержка датчика в openhab)

axill пишет:
после настройки интерфейса без дополнительных телодвижений начинает работать мобильный интерфейс
 

Делается веб-интерфейс, HTML+JS. Он и на мобилке и на телевизоре, да хоть на утюге - был бы браузер :) Там я выше ссылку на видео давал, до чего я доигрался при старте.

a5021
Offline
Зарегистрирован: 07.07.2013

axill пишет:
специально изменил термин, чтобы не было путаницы с юниксовой uptime ибо там не один показатель, а несколько

Вот и не надо было ничего менять. "Аптайм" -- характеристика непрерывной работы чего-либо: оборудования, автоматики, машины, системы. Не обязательно лишь юникса.

"Uptime is a metric that represents the percentage of time that hardware, an IT system or device is successfully operational. It refers to when a system is working, versus downtime, which refers to when a system is not working."

axill
Offline
Зарегистрирован: 05.09.2011

a5021 ваше занудство восхищает)) в хорошем смысле

для меня это не термин, а просто английское слово. Имею право так как я любитель

Java под openhab конечно памяти сьедает очень много, а у pi PC всего один гиг. Хватит ли? Планов на развитие openhab громадье.

опять же по умолчанию если правильно понял debian работает без свопинга. Имеет ли смысл делать свопинг на SD карту или будет слишком медленно? Линуксом активно пользовался давно, в эпоху жестких дисков. Как это с флэшками работает не представляю

a5021
Offline
Зарегистрирован: 07.07.2013

axill пишет:
a5021 ваше занудство восхищает)) в хорошем смысле

Да ладно вам. Если я придираюсь к такой фигне, значит больше не к чему придираться. :)

Logik
Offline
Зарегистрирован: 05.08.2014

axill пишет:

 памяти сьедает очень много, а у pi PC всего один гиг

И повернулся же язык на ардуиновском форуме сказать такое ;) Да для задачи домашней автоматизации и 10КБ многовато, вот и проявил себя openhab.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Гига должно хватить. У меня на Synology DS414 (NAS) - 1Гиг, а он не только openhabом рулит, понятно. У меня примерно 75% RAM свободно, а там еще и Tomcat запущен, Майл сервер и еще много всего, так что хватит.

Кому не нравится openhab, ищите себе подходящее решение, как будто кто-то заставляет.

 

Logik
Offline
Зарегистрирован: 05.08.2014

Пожалуй по цене конкурент Меге с езернет-шилдом. В остальном сильно вкусней. https://ru.aliexpress.com/store/product/New-Orange-Pi-Zero-H2-Quad-Core-Open-source-development-board-beyond-Raspberry-Pi/1553371_32760774493.html

Интересн, убунта на него станет? Вроде должна.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Вроде там даже написано про это: "It can run Android 4.4, Ubuntu, Debian"

axill
Offline
Зарегистрирован: 05.09.2011

ух ты, новенькая вкусняшка. Платформа насколько я понял таже, просто ресурсов меньше

явно сильная альтернатива меге и stm32

насколько вижу опционально там 256 или 512 мб памяти, возможен модуль питания POE, можно самому напаять SPI flash

а так же кроме ethernet еще и wifi по умолчанию

еще аналоговое TV OUT, чего нет нигде и может быть плюсом - наприме прицепить недорогой дисплей коих есть вагон разного размера

по моему бомба по соотношению цена/возможности

хотя вот так сходу не могу придумать где он может пригодиться.

видео SIP домофон?

устройства голосового управления?

для сервера типа openhab он слабоват, для задач автоматизации типа выключатель/термостат и т.д. слишком крут

axill
Offline
Зарегистрирован: 05.09.2011

кстати прошивок на официальном сайте нет еще, но наверняка скоро появятся

Logik
Offline
Зарегистрирован: 05.08.2014

ага. Глядя на вайфай в нем и цену на ESPхх задаюсь вопросом, скокож стоит чип вайфая, 5 центов?

ИМХО оно потянет на любой контроллер для управления: контроллер теплицы, аквариума, котла и т.д В нем все шикарно. Бонус - удаленное управление через инет и телевизор вместо экрана. А не пойдет опенхаб - ну так ему и хуже, на Си все напищется и летать будет.

Может еще и цена немного опустится, если будет по 5 баксов - остальные (STM, AVR, PIC...) могут закрывать лавочки )) А пока нет прошивки и сильно новый - "будем ждать, сдавай" :)

ПС. Для оранжа приехала платка АЦП ADS1115. Грызу пока.

axill
Offline
Зарегистрирован: 05.09.2011

у вас зуб на openhab)) это зря. Я про него написал для примера, что все таки для более менее серьъезных серверных приложений 256мб сегодня мало, даже для голого apache маловато

но эта крошка и не для них.

Для контроллер теплицы как из пушки по воробьям, имхо. Хотя если делать на UNO + ethernet shield по цене выйдет чуть ли не дороже.

А если пушка стоит как рогатка, то воробьям может и не понравиться)

Logik
Offline
Зарегистрирован: 05.08.2014

axill пишет:

у вас зуб на openhab)) это зря. 

Та какой там зуб!? Просто почитал - не понравилось, о чем и отписался.

axill пишет:

 все таки для более менее серьъезных серверных приложений 256мб сегодня мало, даже для голого apache маловато

У меня с апачей и сетевыми службами и т.д. выдает

Used: 185.89MB (18.57%) Available: 814.91MB Total: 1000.79MB

Но в принципе конечно в контексте "больших" серверов так конечно да. Но мы ж не оракл разворачиваем и на нашу апачу одновременно больше трех не прийдет.

axill пишет:

Для контроллер теплицы как из пушки по воробьям, имхо. Хотя если делать на UNO + ethernet shield по цене выйдет чуть ли не дороже.

А если пушка стоит как рогатка, то воробьям может и не понравиться)

Ну да. Есть психологический барер)) Но такой расклад получается. К нему надо привыкнуть, но впринципе все отлично. Наличие файловой системы, сетевых служб и кучи других плюшек ИМХО в споре UNO + ethernet shield vs OrangPI решающее. Только представте сколько надо написать, чтоб с UNO + ethernet shield выгрузить, к примеру, лог на сервер по сети. А у оранжа - скопировать файл на сетевой ресурс средствами ОС. Пару строк! 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

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

Logik
Offline
Зарегистрирован: 05.08.2014

kisoft пишет:

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

Очень даже практичный подход. Появилась некая задача - на чем делать? Тут и начинается сравнение вариантов и выбор.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

В таком случае твой комментарий "Может еще и цена немного опустится, если будет по 5 баксов - остальные (STM, AVR, PIC...) могут закрывать лавочки ))" выглядит странно, ты говоришь, что когда цена снизится, остальные идут лесом. Заметь, главный критерий здесь цена, а не задача у тебя. Ладно, пустое.

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

У кого есть и orange и raspberry и опыт с обоими.

Вопрос вот в чем. С линуксом не дружу, так по мелочи.

Сейчас решил прикупить себе одну из этих приблуд, но так денег жалко... потому смотрю на оранж. С чем будет проще? Я про превращение данных девайсов в мини ПК (не андроид) с приличным интерфейсом + возможностью () написания полноэкранных приложений с автозапуском (типа лаунчера в андроид, или режима киоска под windows)..

Какие грабли на пути экономии? Дрова не найду или еще что??

axill
Offline
Зарегистрирован: 05.09.2011

с raspberry проще, она очень давно активно развивается, community больше, проще найти готовый пакет нужной программы и проще найти ответ на свой вопрос

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

кроме того много негативных отзывов про стабильность работы. Это может быть связано как с нестабильным качеством так и с криворукостью тех кто написал негативный отзыв (см. выше про нагруженность)

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

На Си писать и там и там стоит примерно одинаковых усилий. Нюансы зависят от конкретной задачи

Сам полгода эксплуатирую orange pi pc. Без перезагрузки 135 дней. До этого поигрался с raspberry model B, но так как у малинки больше памяти решил дальше двигаться с ней

Зы. старшие версии orange по моему стоят столько же сколько малинка. На алиэкспресс raspberry 3 стоит порядка 2400р

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

... .

Сейчас всё чуток поменялось. Orange 512 оперативы около 700руб, а 1024 около 1200руб ... + доставка 200 р.

А вот малина от 2500.

Вот и смотрю: 2400 против ~1000. 

Специфического ничего, только управление пинами, подключение HDD, USB, UART + свой типа лаунчер (интерфейс свой, и на заставку и т.п.) - чтобы не было ни одной кракозяблы что это ubuntu или чтото вроде того.

axill
Offline
Зарегистрирован: 05.09.2011

Вы сравниваете дешевые апельсинки. По их части ничего не менялось. Я писал про дорогие апельсинки типа pi plus 2, стоит 3700. Она конечно круче чем raspberry 3, но и raspberry 3 круче pi pc с которой вы сравниваете

В юниксе то, что вы называете лунчером называется x11 window manager. Их разных с десяток если не больше, почти все opensource. Чтобы убрать оттуда ненужные надписи достаточно прямыми рученками в конфиги залезть

 

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

Вы сравниваете дешевые апельсинки. По их части ничего не менялось. Я писал про дорогие апельсинки типа pi plus 2, стоит 3700. Она конечно круче чем raspberry 3, но и raspberry 3 круче pi pc с которой вы сравниваете

В юниксе то, что вы называете лунчером называется x11 window manager. Их разных с десяток если не больше, почти все opensource. Чтобы убрать оттуда ненужные надписи достаточно прямыми рученками в конфиги залезть

 

Тут 2.5 рубля, а вы про 3700...

axill
Offline
Зарегистрирован: 05.09.2011

Где у вас тут я не знаю) а там апельсинка стоит от 700 до 3700р в зависимости от модели и опций

поэтому говорить, что апельсинка дешевле можно лишь с оговорками

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

Где у вас тут я не знаю) а там апельсинка стоит от 700 до 3700р в зависимости от модели и опций

поэтому говорить, что апельсинка дешевле можно лишь с оговорками

Так я и говорю - 2500 жалко, а вы тут про 3700 речь заводите.