August 21st, 2006

karuchiferu

работа

После длиииннного отдыха очень захотелось поработать, и что хорошо, было над чем. Попалась мне такая работа, организовать удаленный контроль за некоторыми параметрами окружающей среды (температура, влажность и т.п.), т.е. что-то вроде этого (или этого). Оборудование предоставили, осталось только написать софт, настроить и запустить. Система состоит из следующих компонентов: микроконтроллера TINI, вставленного в свою "материнскую плату", подключенными к нему датчиками температуры, влажности и освещенности на 1-Wire шине, софта, который будет реализовывать доступ к данным датчика через HTTP, внешнего GPRS модема, с помощью которого TINI выходит в интернет и, наконец, клиентской программы, которая будет отображать графики параметров всех датчиков в реальном времени. Всё выглядит примерно так:


tini01.jpg  вывод графиков


Доступ к файловой системе осуществяется через FTP через обычный Ethernet. А доступ к ОС через обычный никсоподобный шелл. Весь софт пишется на JAVA. Довольно толковый набор классов обеспечивает доступ ко всем внешним выходам и функциям ОС. Клиентский софт писал на C#. Надо сказать, сэкономил кучу времени, даже не знаю, сколько бы я потратил, если бы пришлось писать на С, или еще хуже ассемблере. А тут вся главная программа укладывается примерно в 1000 строк кода на JAVA (куда входят инициатор PPP соединения, HTTP сервер, опрос датчиков и т.п.). И что самое приятное - все работает :) Пока только одна большая проблема, иногда при запуске TINI (т.е. после подачи питания и запуске ОС) ОС не видит 1-Wire шину. Решается эта проблема только отключением и повторной подачей питания. Заработать может сразу, а может на третье включение. Причину отыскать не удалось. В гугле только одно упоминание. Тут случаем никто не имел дела с TINI ? Ну так, вдруг =)