[Сценарий] Цикл и метод контроля параметров электропитания Cubietruck

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Пн май 04, 2015 1:02 pm

О каком конкретно коде речь?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение triada13 » Пн май 04, 2015 8:55 pm

skysilver опиши плиз подробно для тупых как я процесс внедрения нового кода в Можордомо. Я никак не могу догнать что делать, единственное на что меня хватило так это поместить файл в корень сервера, и создать объект и то не уверен что правильно создал.
Majordomo на Orange Pi Zero.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Вт май 05, 2015 10:45 am

Попробую. :)

1. Файл cycle_ctpower.php нужно положить в каталог scripts и дать ему права доступа и назначить владельца такие же, как и у других файлов cycle_*.php.
2. Создать какой-нибудь класс (либо использовать какой-либо существующий), а в нем объект Cubietruck. У меня создан класс "PC", в нем подкласс "Server", а там уж объект Cubietruck.
СпойлерПоказать
01.png
01.png (10.9 КБ) 7944 просмотра
05.png
05.png (15.09 КБ) 7944 просмотра
3. У объекта Cubietruck создать метод getPowerStatus и в него код из первого сообщения этой темы.
СпойлерПоказать
04.png
04.png (19.54 КБ) 7944 просмотра
4. У объекта Cubietruck создать все перечисленные в первом сообщении темы свойства. Важно! Свойства, у которых предполагается хранение истории значений, необходимо создать на уровне класса и указать период хранения истории значений. Свойства без истории достаточно создать на уровне объекта (либо вообще не создавать, т.к. метод сам их создаст при первом запуске). У себя все свойства создал на уровне класcа Server.
СпойлерПоказать
03.png
03.png (57.97 КБ) 7944 просмотра
02.png
02.png (36.4 КБ) 7944 просмотра
5. Если главный цикл MajorDoMo запущен от имени www-data, то нужно добавить этого пользователя в группу i2c.
6. Перезапустить главный цикл.
7. Понаблюдать за логами Apache, DebMes на появление каких-либо ошибок.
8. В XRay убедиться, что данные обновляются.
СпойлерПоказать
06.png
06.png (59.67 КБ) 7944 просмотра
За это сообщение автора skysilver поблагодарили (всего 2):
Vittaly (Вт май 05, 2015 10:48 am) • triada13 (Вт май 05, 2015 11:54 am)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение triada13 » Вт май 05, 2015 11:54 am

skysilver, подскажите наглядно как выполнить пункт 5, плиз.
Majordomo на Orange Pi Zero.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Вт май 05, 2015 12:24 pm

triada13 писал(а):skysilver, подскажите наглядно как выполнить пункт 5, плиз.
Два способа:
1. Открыть на редактирование файл /etc/group в любом удобном Вам редакторе. Найти строку, начинающуюся на i2c. И дописать в конце этой строки www-data. Должно получиться примерно так (цифры могут отличаться):

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

i2c:x:115:www-data
2. В консоли выполнить команду

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

useradd -G i2c www-data
Для проверки результата выполните в консоли команду:

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

 sudo -u www-data i2cdump -y -f 0 0x34
Если все настроено верно, то в ответе должно быть примерно так:

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

root@ihome:~# sudo -u www-data i2cdump -y -f 0 0x34
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: c0 30 00 41 00 e4 00 00 00 00 00 00 00 00 00 0f    ?0.A.?.........?
10: 05 00 5f 00 00 00 00 00 00 00 00 00 00 00 00 00    ?._.............
20: 00 00 00 16 00 00 00 18 cb 54 00 00 00 00 00 00    ...?...??T......
30: 43 07 42 c3 47 22 9d 08 a5 1f 71 67 fc 16 00 00    C?B?G"????qg??..
40: 6c cc 03 00 00 00 00 00 00 00 00 00 00 00 00 00    l??.............
50: ea 0d 00 00 00 01 b9 0c 27 02 00 0e 00 00 79 03    ??...???'?.?..y?
60: db 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ??..............
70: 00 07 56 00 00 00 00 00 ea 0d 00 00 00 01 dc 08    .?V.....??...???
80: e0 f9 ff 80 b2 00 ff 00 00 00 00 00 00 00 00 ad    ??.??..........?
90: 07 a5 07 07 00 02 00 00 00 00 00 00 00 00 00 00    ????.?..........
a0: 00 00 00 00 00 00 00 00 ea 0e 00 00 00 00 dc 00    ........??....?.
b0: 00 00 00 00 00 00 00 00 00 61 00 70 ea 0d 00 00    .........a.p??..
c0: 00 00 00 00 05 0b 0d 0f 13 20 32 3a 47 51 59 64    ....????? 2:GQYd
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 41 00 80 03 00 00 00 00 00 00 00 00 00 00 00 00    A.??............
Это дамп содержимого регистров контроллера питания кубика.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение triada13 » Вт май 05, 2015 12:32 pm

А у меня в /etc/group вообще нет упоминания об i2c. Как быть?
Majordomo на Orange Pi Zero.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Вт май 05, 2015 12:37 pm

Хм. У меня была такая группа изначально. А пакеты i2c-tools и libi2c-dev установлены?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение triada13 » Вт май 05, 2015 12:49 pm

Не знаю, лично я их не ставил. А как проверить и установить если нужно?
Majordomo на Orange Pi Zero.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение skysilver » Вт май 05, 2015 12:56 pm

В консоли выполнить команду

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

apt-get install i2c-tools libi2c-dev
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Цикл и метод контроля параметров электропитания Cubietru

Сообщение triada13 » Вт май 05, 2015 1:19 pm

skysilver писал(а):
triada13 писал(а):skysilver, подскажите наглядно как выполнить пункт 5, плиз.
Два способа:
1. Открыть на редактирование файл /etc/group в любом удобном Вам редакторе. Найти строку, начинающуюся на i2c. И дописать в конце этой строки www-data. Должно получиться примерно так (цифры могут отличаться):

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

i2c:x:115:www-data
2. В консоли выполнить команду

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

useradd -G i2c www-data
Для проверки результата выполните в консоли команду:

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

 sudo -u www-data i2cdump -y -f 0 0x34
Если все настроено верно, то в ответе должно быть примерно так:

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

root@ihome:~# sudo -u www-data i2cdump -y -f 0 0x34
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: c0 30 00 41 00 e4 00 00 00 00 00 00 00 00 00 0f    ?0.A.?.........?
10: 05 00 5f 00 00 00 00 00 00 00 00 00 00 00 00 00    ?._.............
20: 00 00 00 16 00 00 00 18 cb 54 00 00 00 00 00 00    ...?...??T......
30: 43 07 42 c3 47 22 9d 08 a5 1f 71 67 fc 16 00 00    C?B?G"????qg??..
40: 6c cc 03 00 00 00 00 00 00 00 00 00 00 00 00 00    l??.............
50: ea 0d 00 00 00 01 b9 0c 27 02 00 0e 00 00 79 03    ??...???'?.?..y?
60: db 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ??..............
70: 00 07 56 00 00 00 00 00 ea 0d 00 00 00 01 dc 08    .?V.....??...???
80: e0 f9 ff 80 b2 00 ff 00 00 00 00 00 00 00 00 ad    ??.??..........?
90: 07 a5 07 07 00 02 00 00 00 00 00 00 00 00 00 00    ????.?..........
a0: 00 00 00 00 00 00 00 00 ea 0e 00 00 00 00 dc 00    ........??....?.
b0: 00 00 00 00 00 00 00 00 00 61 00 70 ea 0d 00 00    .........a.p??..
c0: 00 00 00 00 05 0b 0d 0f 13 20 32 3a 47 51 59 64    ....????? 2:GQYd
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 41 00 80 03 00 00 00 00 00 00 00 00 00 00 00 00    A.??............
Это дамп содержимого регистров контроллера питания кубика.
Выполнил:
СпойлерПоказать
Изображение
Но цикл походу не запускается, может помимо помещения файла в ww/scripts/ его запуск прописать надо?
Majordomo на Orange Pi Zero.
Ответить