metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-01-08 09:53 pm

Вуду

Короче, как я начал вечером в четверг заниматься вуду с атмегой и датчиками температуры - так до сих пор и не прекращаю.
1) Отлечил MAX232 от глюков
2) Просверлил дырку на лоджию и дырку в лоджии и кинул туда один датчик
3) Переписал атмеговую прогу на более машиночитабельный протокол. От лени сделал этот протокол в виде потока строк "ключ=значение"
4) Написал на F# (для разнообразия и потому что он в два раза короче и удобнее чем C#) прогу-парсер этого протокола, с раздельными либами для ком-порта и разбирания его по строкам и конечным автоматом для раскладывания данных по датчикам
5) Набросал за час в кодогенераторе базу данных для хранения информации о датчиках - справочник датчиков, лог значений и текущие показания.
6) Сгенерил базу, объекты доступа к ней и прочая и прочая, прикрутил базу к клиенту, чтобы сразу было где видеть.

В процессе обнаружил несколько недоработок в кодогенераторе (нужно допилить поддержку update or insert) и проблемы в F# (тип System.Nullable<> поддерживается немного странно). Собственно, базу данных я именно ради теста этих извращений и создавал, заодно проверить работу в многопоточном окружении - с таймерами и потоками от ком-порта.

7) Сейчас на тестовый ноут придется ставить SP3 для XP и дотнет 3.5 - прога его использует, на ноуте XPSP1, а менее чем на XPSP2 он не ставится.
8) Нужно склепать прогу, которая будет висеть в трее и показывать температуру, читая ее из базы данных, кроме того, она обязана показывать насколько "свежая" эта температура, в смысле, что датчик опрашивался недавно. См. пост про мониторинг на тему "кто мониторит систему мониторинга" :)
9) ????
10) PROFIT!


PS: Ощущаю нехватку сигналов точного времени. Прикрутить туда еще и GPS что ли, в качестве их источника.

[identity profile] metaclass.livejournal.com 2011-01-09 10:48 am (UTC)(link)
Сервер БД только за vpn или ssh, да.
Но я бы сделал по другому - прожка рядом с сервером, генерит файло раз в минуту и складывает по SSH на веб-сервер.
Я вот единственное чего до сих пор не осилил - как бы это настроить ssh так, чтобы он по ключу коннектился с учеткой пользователя, который имеет право писать в папку /var/www/ файло для апача.

[identity profile] black-angel-by.livejournal.com 2011-01-09 12:55 pm (UTC)(link)
коннектитсья должен не ssh,а scp например.
Он как раз заточен под передачу файлов по ssh.

Госпаде, когда я уже статью про ssh допишу ? :)

[identity profile] black-angel-by.livejournal.com 2011-01-09 12:59 pm (UTC)(link)
scp -p -r -i пароли.txt /home/хуйня/фаелы* metaclass@сервер.by/var/www/htdocs/

Типа такого. Я просто с ключами как то ч0тавот нидружу :(

[identity profile] metaclass.livejournal.com 2011-01-09 01:02 pm (UTC)(link)
Не, я только с ключами. Другое дело, как бы это юзеру права дать на запись в www. В группу www-data что ли его включить.

[identity profile] black-angel-by.livejournal.com 2011-01-09 01:42 pm (UTC)(link)
Ну да. Хотя можно и с acl настроить, но группа ИМХО как раз юникс-вэй

[identity profile] black-angel-by.livejournal.com 2011-01-09 01:47 pm (UTC)(link)
Доступ к звуку - членство в группе audio
К 3Д ускорению - членство в группе opengl, если не оверрайджено исксервером.
право на суду - членство в группе wheel
право запускать игрушки - группа games
доступ к компактам и флопам - группы floppy , cdrom

и т д.