Какие системы видеонаблюдения есть под Linux для IP-камер?
Из бесплатных есть motion+mencoder и Zoneminder. Но второе оставляет желать лучшего. Из платных и серьезных есть Netavis Observer.
На какие решения еще можно обратить внимание?
Из бесплатных есть motion+mencoder и Zoneminder. Но второе оставляет желать лучшего. Из платных и серьезных есть Netavis Observer.
На какие решения еще можно обратить внимание?
Есть такая в природе? Единственное что нашел - это ramus. Но оно узко специализировано под IDEF
Задача:
Имеется парк машин и 1 сервер. На машинах крутится винда, под виндой крутится vmware в которой: одна виртуалка под Винду, другая виртуалка под линукс. Сделано это для того, чтобы если винда в виртуалке «засирается», а засирается она не реже раза в неделю - то можно очень просто взять и вернуть машину в исходное состояние. А сервер просто раздает себе интернеты.
Из такого условия сразу видно, что винда в виде пускалки vmware нафиг в этом деле не нужна и следует заменить ее на что-то более вменяемое.
А что-то более вменяемое для таких задач - это легковесная десктопная система, которая после полной загрузки показывает всего три кнопки: «Запустить виртуалку с виндой», «Запустить виртуалку с линуком» и «выключить/перезапустить компутер» Ну можно еще часы на пол экрана добавить и нескучные обои.
Так вот для этого требуется:
1. Взять любой минимальный дистрибутив линукс (кроме глючных, т.е. не deb-based)
2. Установить туда lightdm
3. Установить туда openbox
3. Сделать чтобы пользователь автоматически логинился после запуска.
4. Накатить VirtualBox, разобраться с атоподключением USB флешек
5. Сделать из опенбокса «конфетку»: Оставить всего три вышеперечисленные кнопки и запретить пользователю управлять окнами - т.е. чтобы пользователь мог только выйти из программы, чтобы попасть на раб. стол., а все приложения запускать в полноэкранном виде
Ну а сервер будет управлять всеми этими машинами через ssh и хранить непорченные образы виртуалок.
З.ы. собственно вся задача состоит в создание конфига openbox для такой затеи.
З.ы.ы.
Выкладывайте конфиги в комментах =)
Необходимо достать из большого документа все формулы (libreoffice Math) и показать их «исходный текст»?
Что даже библиотеку для тестирования раби-кода назвали соответствующе: https://rubygems.org/gems/bullshit/versions/0.1.3
А что мы все о рубле да о рубле. А давайте про евру?
01/07/2014 06/04/2015 %
eur/rub 46,75 60,729 29,9016042781
usd/rub 34,2615 55,28 61,3472848533
eur/usd 1,338 1,099 -17,8624813154
Как оно сейчас в европе? Сильно все подорожало?
Сабже
Перемещено JB из talks
В GDK (GIMP Drawing Kit) встроена поддержка OpenGL, которая позволяет организовать отрисовку через OpenGL без использования внешних надстроек. Для рендеринга через OpenGL представлен новый виджет GtkGLArea, который ранее распространялся в виде внешнего дополнения. В обиход введён новый тип объекта GdkGLContext, который позволяет прикрепить контекст OpenGL к определённому окну GdkWindow и использовать команды OpenGL для отрисовки произвольных элементов GTK+ в данном окне. Реализация позволяет использовать OpenGL для отрисовки в окружениях X11 и Wayland через libepoxy с использованием GLX или EGL.
http://www.opennet.ru/opennews/art.shtml?num=41890
З.ы. оформите кто-нить новость
Сабж. Можно к AP добавлять свою инфу, кроме SSID, чтобы она была видна wi-fi клиентам при сканировании сети?
Что бы было как-то так:
$iw wlan0 scan
BSS f8:1a:12:e2:0f:33(on wlan0)
TSF: 653461974831 usec (7d, 13:31:01)
freq: 2417
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -84.00 dBm
last seen: 0 ms ago
Information elements from Probe Response frame:
SSID: Ololo
Custom Info: blablabla
...
В каких проводах обитает медная проволока диаметром 0,75 мм? Просто пойти купить - не катит, в продаже отсутствует, никак не могу найти. Витая пара не подходит, она 0,5 мм.
Прошил роутер WNR2200 (в магазине обзывался WNR2200-100RUS), установил опенврт с помощью такого рецепта:
1. Прошил dd-wrt
2. Стер dd-wrt (mtd erase linux)
3. Зашел в режим восстановления (30 сек при загрузке жать reset)
4. Через tftp залил OpenWRT
После прошивки все норм работало, но я решил «восстановить» конфиг от старого роутера с OpenWRT. После такого «восстановления» WNR2200 превратился в кирпич.
Наблюдается следующее:
При включении пингуется первые несколько секунд по адресу 192.168.1.1 с сообщением: Warning: time of day goes back, taking countermeasures
Прекращает пинговаться, через несколько секунд прохотят 5-6 нормальных пингов к 192.168.1.1. И замолкает.
Режим восстановления OpenWRT не работает, tcpdump молчит, кнопка reset никак не реагирует. В интернетах (http://bluesrocker.livejournal.com/2519.html) пишут, что кто-то умудрился восстановить закоротив некоторые контакты, но у меня такой вариант не прокатывает вообще.
Есть еще возможность его восстановить не прибегая к пайке?
Где дешевле всего?
Сабж. Чтобы была возможность мерять углы в градусах.
Как оно себя ведет? Какие плюсы/минусы? Сколько максимум устройств одновременно можно запустить?
Говорят что очень сильно реагируют на какие-либо помехи в сети.
З.ы. а еще соместимо ли такое оборудование от разных производителей/моделей?
З.З.ы. Эти девайсы работают только в паре? Или можно сделать сеть одновременно из трех девайсов?
Есть офис в котором размещен сервер. Офис имеет доступ к сети интернет и белый IP-адрес. На сервере планируется сделать платную услугу резервного копирования и/или хранения данных в облаке. Требует ли такая деятельность лицензирования?
Знаю что можно передавать инет с помощью лазреных установок, что-то навроде WiFi но граздо более стабильнее. Но никак не могу нагуглить где и почем купить такие установки, как их ставить плюсы/минусы и т.д. Гуглконгфу оказалось недостаточно прокачанным. Подскажите кто знает.
Подкорректируйте запрос с JOIN'ами.
Вот такая простенькая база данных:
CREATE TABLE "house" (
"id" INTEGER NOT NULL PRIMARY KEY,
"name" VARCHAR(255) NOT NULL,
"location" VARCHAR(255) NOT NULL)
CREATE TABLE "contract" (
"id" INTEGER NOT NULL PRIMARY KEY,
"name" VARCHAR(255) NOT NULL,
"house_id" INTEGER NOT NULL,
FOREIGN KEY ("house_id") REFERENCES "house" ("id"))
CREATE INDEX "contract_house_id" ON "contract" ("house_id")
CREATE TABLE "accrual" (
"id" INTEGER NOT NULL PRIMARY KEY,
"datestamp" DATE NOT NULL,
"value" REAL NOT NULL,
"contract_id" INTEGER NOT NULL,
FOREIGN KEY ("contract_id") REFERENCES "contract" ("id"))
CREATE INDEX "accrual_contract_id" ON "accrual" ("contract_id")
CREATE TABLE "payment" (
"id" INTEGER NOT NULL PRIMARY KEY,
"datestamp" DATE NOT NULL,
"value" REAL NOT NULL,
"contract_id" INTEGER NOT NULL,
FOREIGN KEY ("contract_id") REFERENCES "contract" ("id"))
CREATE INDEX "payment_contract_id" ON "payment" ("contract_id")
Вот такой запрос к базе данных отрабатывает отлично:
SELECT "t1"."id", "t1"."name", "t1"."location",
Count(Distinct("t2"."id")) AS ccount,
Sum("t3"."value") AS all_payments
FROM "house" AS t1
LEFT OUTER JOIN "contract" AS t2 ON ("t1"."id" = "t2"."house_id")
LEFT OUTER JOIN "payment" AS t3 ON ("t2"."id" = "t3"."contract_id")
GROUP BY "t1"."id", "t1"."name", "t1"."location"
А здесь начинаются проблемы. При попытке указать в запросе еще один join - то данные начинают дублироваться и не правильно суммируются, результат Sum(«t4».«value») AS all_accruals завышен в несколько раз.
SELECT "t1"."id", "t1"."name", "t1"."location",
Count(Distinct("t2"."id")) AS ccount,
Sum("t3"."value") AS all_payments,
Sum("t4"."value") AS all_accruals
FROM "house" AS t1
LEFT OUTER JOIN "contract" AS t2 ON ("t1"."id" = "t2"."house_id")
LEFT OUTER JOIN "payment" AS t3 ON ("t2"."id" = "t3"."contract_id")
LEFT OUTER JOIN "accrual" AS t4 ON ("t2"."id" = "t4"."contract_id")
GROUP BY "t1"."id", "t1"."name", "t1"."location"
З.ы. Как правильно составить SQL-запрос чтобы получить необходимые данные: правильное суммирование payment и accrual к каждой записи.
SQL сгенерировался через ORM, вот вся БД:
# encoding: utf-8
# dependencies:
# pip install peewee
from peewee import SqliteDatabase, Model, CharField, DateField, ForeignKeyField,\
FloatField, fn, SelectQuery, JOIN_LEFT_OUTER
import datetime
from random import randint
db = SqliteDatabase('test_pw.db')
class House(Model):
name = CharField()
location = CharField()
class Meta:
datadb = db
class Contract(Model):
name = CharField()
house = ForeignKeyField(House, related_name='contracts')
class Meta:
datadb = db
class Payment(Model):
datestamp = DateField()
value = FloatField()
contract = ForeignKeyField(Contract, related_name='payments')
class Meta:
datadb = db
class Accrual(Model):
datestamp = DateField()
value = FloatField()
contract = ForeignKeyField(Contract, related_name='accruals')
class Meta:
datadb = db
def fill_db():
models = [House, Contract, Accrual, Payment]
db.drop_tables(models, safe=True)
db.create_tables(models)
# for i in models:
# print i.sqlall()
houses = [{'name': u'TestHouse', 'location': 'Yellow street'},
{'name': u'GreenHouse', 'location': 'Green street'},
{'name': u'OpenHouse', 'location': 'Blue street'},]
contracts = [{'name': u'Contract01', 'house': 1},
{'name': u'Contract02', 'house': 1},
{'name': u'Contract03', 'house': 1},
{'name': u'Contract04', 'house': 2},
{'name': u'Contract05', 'house': 2},
{'name': u'Contract06', 'house': 2},
{'name': u'Contract07', 'house': 2},
{'name': u'Contract08', 'house': 3},
{'name': u'Contract09', 'house': 3},]
def generate_accruals(howmuch):
temp_list = []
base_date = datetime.datetime.today()
for i in range (howmuch):
data = {}
data['datestamp'] = base_date - datetime.timedelta(days=i)
data['value'] = randint(100, 500)
data['contract'] = randint(1,len(contracts))
temp_list.append(data)
return temp_list
accruals = generate_accruals(20)
payments = generate_accruals(20)
def summ_data(data):
tmp = 0
for item in data:
tmp+=item['value']
return tmp
print 'Total accruals:', summ_data(accruals)
print 'Total payments:', summ_data(payments)
with db.transaction():
House.insert_many(houses).execute()
Contract.insert_many(contracts).execute()
Payment.insert_many(payments).execute()
Accrual.insert_many(accruals).execute()
fill_db()
query = SelectQuery(House,
House,
fn.Count(fn.Distinct(Contract.id)).alias('ccount'),
fn.Sum(Payment.value).alias('all_payments'),
fn.Sum(Accrual.value).alias('all_accruals'),
)\
.join(Contract, JOIN_LEFT_OUTER)\
.join(Payment, JOIN_LEFT_OUTER)\
.switch(Contract).join(Accrual)\
.group_by(House)
# print query.sql()
for item in query:
print item.name, item.location, item.ccount, item.all_payments , item.all_accruals
Результат:
Total accruals: 6291 # всего начислений Total payments: 5656
TestHouse Yellow street 3 5127.0 4065.0 # только в одной записи начислений 5127 GreenHouse Green street 4 6017.0 5525.0 OpenHouse Blue street 2 2171.0 1522.0
Всего начислений после запроса: 13315
Как в peewee сделать стандартный для SQL запрос на вроде такого:
SELECT OrderID,
ProductID,
UnitPrice*Quantity AS "Regular Price",
FROM order_details;
Умеет peewee вообще такое? Как-то в документации глухо.
Есть три таблицы:
class House(Model):
name = CharField()
location = CharField()
class Meta:
datadb = db
class Contract(Model):
name = CharField()
surname = CharField()
house = ForeignKeyField(House, related_name='contracts')
class Meta:
datadb = db
class Payment(Model):
datestamp = DateField()
Value = FloatField()
contract = ForeignKeyField(Contract, related_name='payments')
class Meta:
datadb = db
Как в один запрос вывести таблицу такого содержания:
house.name, house.location, total_contracts(count), all_payments_sum
Какие есть игрушки, где относительно просто написать бота и наблюдать за его игровым процессом? =)
Сразу вспоминается онлайн-игра Ragnarok Online, а к ней проект Openkore. Можно дописать на перле поведение бота.
Что еще эдакого есть?
| ← назад | следующие → |