Вуду
Короче, как я начал вечером в четверг заниматься вуду с атмегой и датчиками температуры - так до сих пор и не прекращаю.
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 что ли, в качестве их источника.
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 что ли, в качестве их источника.
no subject
no subject
А летом я все деньги потратил на ремонт и так и задолбался просто до одури :)
no subject
Правда, интереснее измерять снаружи и в реальном времени!
Вон птичка на датчик накакала - как изменилась температура датчика?
Это всё так интересно!
no subject
Вышвыривать данные на внешний сервак и рисовать графики на Web странице с детализацией. Чтобы сидя на работе знать что дома возле окна жгут еретиков.
no subject
Но наверно это следует делать прожкой которая по расписанию будет брать данные из БД и складывать их в виде статических файлов прямо на веб-сервер, мне лень на нем подключение к БД делать, т.к. я этого под линуксами и апачем не умею:)
no subject
подключение к БД делается кучей способов
1 тупое указаие IP сервера
2 то же, но с ВПН между ними
3 завернуть еще и в SSH за каким нить уем :)
no subject
Но я бы сделал по другому - прожка рядом с сервером, генерит файло раз в минуту и складывает по SSH на веб-сервер.
Я вот единственное чего до сих пор не осилил - как бы это настроить ssh так, чтобы он по ключу коннектился с учеткой пользователя, который имеет право писать в папку /var/www/ файло для апача.
no subject
Он как раз заточен под передачу файлов по ssh.
Госпаде, когда я уже статью про ssh допишу ? :)
no subject
Типа такого. Я просто с ключами как то ч0тавот нидружу :(
no subject
no subject
no subject
К 3Д ускорению - членство в группе opengl, если не оверрайджено исксервером.
право на суду - членство в группе wheel
право запускать игрушки - группа games
доступ к компактам и флопам - группы floppy , cdrom
и т д.
no subject
no subject
no subject
no subject
no subject
no subject
Тема Haskell'я не раскрыта!!
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Часть софта и на XPSP1 и ниже работает, но не рекомендуется.
no subject
no subject
no subject
Мы хотим атомные часы.
no subject
Если нужно атомные часы, то кроме GPS ничего лучше не придумали. 500 р. доплатите за чип и ура. Только UART под него надо отдельный выделять.
no subject
ужос
Ощущаю нехватку сигналов точного времени. Прикрутить туда еще и GPS что ли, в качестве их источника.
а сети нету чтоль?
no subject
no subject
а если спутник йопнется о небесный свод? (с) :)
no subject
Не кладите эти данные в rdbms, кладите в rrdtool. Так Вы избавитесь от некоторой кучи проблем и приобретёте некоторую кучу полезного опыта.
no subject
(туда -- иницыализацыя)
*RST
:FORMAT:ELEMENTS TEMPERATURE1,TEMPERATURE2,TSTAMP,HUMIDITY
(туда -- работа)
:FETCH?
(оттуда)
+0021.5000C,-0028.4000C,1294687564secs,+065.3hum
То есть не то, чтобы это в каком-то смысле идеальный выбор -- но его косяки примерно те жэ, что и в простом key-value. И это как-то плюс-минус похожэ на SCPI.