![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Короче, как я начал вечером в четверг заниматься вуду с атмегой и датчиками температуры - так до сих пор и не прекращаю.
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
Date: 2011-01-08 10:18 pm (UTC)no subject
Date: 2011-01-08 10:19 pm (UTC)А летом я все деньги потратил на ремонт и так и задолбался просто до одури :)
no subject
Date: 2011-01-09 07:09 am (UTC)Правда, интереснее измерять снаружи и в реальном времени!
Вон птичка на датчик накакала - как изменилась температура датчика?
Это всё так интересно!
no subject
Date: 2011-01-08 10:19 pm (UTC)Вышвыривать данные на внешний сервак и рисовать графики на Web странице с детализацией. Чтобы сидя на работе знать что дома возле окна жгут еретиков.
no subject
Date: 2011-01-08 10:20 pm (UTC)Но наверно это следует делать прожкой которая по расписанию будет брать данные из БД и складывать их в виде статических файлов прямо на веб-сервер, мне лень на нем подключение к БД делать, т.к. я этого под линуксами и апачем не умею:)
no subject
Date: 2011-01-09 10:34 am (UTC)подключение к БД делается кучей способов
1 тупое указаие IP сервера
2 то же, но с ВПН между ними
3 завернуть еще и в SSH за каким нить уем :)
no subject
Date: 2011-01-09 10:48 am (UTC)Но я бы сделал по другому - прожка рядом с сервером, генерит файло раз в минуту и складывает по SSH на веб-сервер.
Я вот единственное чего до сих пор не осилил - как бы это настроить ssh так, чтобы он по ключу коннектился с учеткой пользователя, который имеет право писать в папку /var/www/ файло для апача.
no subject
Date: 2011-01-09 12:55 pm (UTC)Он как раз заточен под передачу файлов по ssh.
Госпаде, когда я уже статью про ssh допишу ? :)
no subject
Date: 2011-01-09 12:59 pm (UTC)Типа такого. Я просто с ключами как то ч0тавот нидружу :(
no subject
Date: 2011-01-09 01:02 pm (UTC)no subject
Date: 2011-01-09 01:42 pm (UTC)no subject
Date: 2011-01-09 01:47 pm (UTC)К 3Д ускорению - членство в группе opengl, если не оверрайджено исксервером.
право на суду - членство в группе wheel
право запускать игрушки - группа games
доступ к компактам и флопам - группы floppy , cdrom
и т д.
no subject
Date: 2011-01-08 11:00 pm (UTC)no subject
Date: 2011-01-08 11:12 pm (UTC)no subject
Date: 2011-01-08 11:20 pm (UTC)no subject
Date: 2011-01-08 11:22 pm (UTC)no subject
Date: 2011-01-09 06:18 am (UTC)no subject
Date: 2011-01-09 07:08 am (UTC)Тема Haskell'я не раскрыта!!
no subject
Date: 2011-01-09 08:26 am (UTC)no subject
Date: 2011-01-09 08:33 am (UTC)no subject
Date: 2011-01-09 08:34 am (UTC)no subject
Date: 2011-01-09 10:41 am (UTC)no subject
Date: 2011-01-09 10:49 am (UTC)no subject
Date: 2011-01-09 10:48 am (UTC)no subject
Date: 2011-01-09 12:34 pm (UTC)no subject
Date: 2011-01-09 12:43 pm (UTC)Часть софта и на XPSP1 и ниже работает, но не рекомендуется.
no subject
Date: 2011-01-09 12:57 pm (UTC)no subject
Date: 2011-01-10 08:13 am (UTC)no subject
Date: 2011-01-10 08:21 am (UTC)Мы хотим атомные часы.
no subject
Date: 2011-01-10 09:42 am (UTC)Если нужно атомные часы, то кроме GPS ничего лучше не придумали. 500 р. доплатите за чип и ура. Только UART под него надо отдельный выделять.
no subject
Date: 2011-01-10 08:26 am (UTC)ужос
Ощущаю нехватку сигналов точного времени. Прикрутить туда еще и GPS что ли, в качестве их источника.
а сети нету чтоль?
no subject
Date: 2011-01-10 08:27 am (UTC)no subject
Date: 2011-01-10 08:40 am (UTC)а если спутник йопнется о небесный свод? (с) :)
no subject
Date: 2011-01-10 06:55 pm (UTC)Не кладите эти данные в rdbms, кладите в rrdtool. Так Вы избавитесь от некоторой кучи проблем и приобретёте некоторую кучу полезного опыта.
no subject
Date: 2011-01-10 07:29 pm (UTC)(туда -- иницыализацыя)
*RST
:FORMAT:ELEMENTS TEMPERATURE1,TEMPERATURE2,TSTAMP,HUMIDITY
(туда -- работа)
:FETCH?
(оттуда)
+0021.5000C,-0028.4000C,1294687564secs,+065.3hum
То есть не то, чтобы это в каком-то смысле идеальный выбор -- но его косяки примерно те жэ, что и в простом key-value. И это как-то плюс-минус похожэ на SCPI.