Короче, как я начал вечером в четверг заниматься вуду с атмегой и датчиками температуры - так до сих пор и не прекращаю.
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 что ли, в качестве их источника.