Как передать данные в ком-порт и снять их с него?

Тема в разделе 'Обо всем', создана пользователем Squork, 23 июн 2011.

  1. Squork

    Squork Пользователь

    Я хочу сделать (для домашнего использования) логгер включения света.
    Цель - рассчитать целесообразность перевода разных комнат на светодиодное или альтернативное извращенское освещение. (Не надо рассказов на эту тему, я хочу сам рассчитать среднее время освещения, фактическую мощность уже стоящих ламп и цены годных светодиодов или энергосберегающих ламп.)

    У меня есть старый КПК с ком-портом (с компиляторами C++ и OPL для него и справочниками этих языков). Магазины радиодеталей в городе есть (фотодиоды/резисторы и прочая мелочь там наверняка будет, но редкопокупаемых микросхем там нет).
    С микроконтроллерами не общался, паять умею, руки на месте.

    Основной вопрос: есть ли здесь люди, которые могут помочь рассказать, как передать данные о наличии света в ком-порт и как их с ком-порта снять?
    Или хотя бы порекомендуйте форум, на котором могут ответить.
     
  2. Armer

    Armer Пользователь

    О наличии света вкл/выкл или таки об замере освещенности?
    Если вкл/выкл, то можно просто завести сигнал с фотодиода на какой-нибудь управляющий вход порта. Для более менее полноценного обмена данными придется перейти на контроллер, например тот же atmega8 (Atmel) плюс драйвер интерфейса max232.
    По контроллерам atmel здесь неплохая конференция http://www.fulcrum.ru/cgi-bin/bbs/start.pl
     
  3. EVIL_USER

    EVIL_USER Модератор Staff Member

    Для начала http://arduino.cc для осознания плана.

    Ардуину можешь прикупить целиком (полезная штука), или зафигачить из нифига (экономия).
    Самое простое, это восьмая мега с зашитым ардуиновским бутлоадером и какой-нибудь usb-com преобразователь (например кабель от сименса).
    Если у КПК ком порт на ТТЛ уровнях, то контроллер цепляется к нему напрямую, преобразователь нужен будет только для прошивки.

    Кстати, с КПК ожидаетсчя отдельная йебля, я бы лучше прикрутил это дело к компу, там проще.
    Ну или можно сделать логгер с записью на флешку вообше на одном контроллере, но тут нужно будет часы реального времени городить.
    А это или отдельная микрушка с часами, или тактирование внутреннего таймера от часового кварца... в общем, в любом случае излишний геморрой.

    Кстати, обрати внимаение на местный проект отладочной платы, там даже преобразователь интерфейса никакой не нужен. Однако начать имхо проще с ардуины.

    ЗЫ восьмые меги ко мне уже едут ;)
     
  4. Armer

    Armer Пользователь

    Я так понимаю, подсчет предполагался на КПК, необходимость исключительно в датчике. Ардуин с этой точки зрания - перебор. Но зато паять меньше придется :)
     
  5. EVIL_USER

    EVIL_USER Модератор Staff Member

    Я думаю, товарищ скорее хочет с данным вопросом разобраться, чем что-то там измерить.
    В этом случае ардуина как нельзя более кстати. Потом навесит другой датчик и что-нибудь ещё посчитает.

    А вообще да, простейший варинт, это датчик прямо к порту на DTS или CTS и читать состояние, но такая штука бесперспективна.
     
  6. Squork

    Squork Пользователь

    КПК предполагается всего лишь как записывающее устройство со встроенными часами.
    Так что, в принципе, ардуино - вполне подходящая вещь. (Да и когда-нибудь еще пригодится :))
    Armer, именно о наличии света. Освещенность не нужна - мне нужны только данные о включении/выключении.
    EVIL_USER, почему ты думаешь, что придется плясать с бубном вокруг кпк? Потому что надо снимать данные с ком-порта? Ну да, не без этого... Но не тащить же USB-провод по всей квартире (а ноута нет).
    Ну, насчет бесперспективности - тут и конечная идея бесперспективна :) А за информацию спасибо, тоже полезно. (Кстати, в вики не описан контакт DTS, там есть DSR)
     
  7. EVIL_USER

    EVIL_USER Модератор Staff Member

    Ну значит перепутал, я всё равно обычно только Rx, Tx и GND пользую, остальные мог и забыть.
    По поводу бубнов на КПК, я думаю, не всё так страшно, просто как это сделать на компе, я уже представляю.
    Там можно даже одним sh скриптом обойтись. Например по крону раз в минуту запускать примерно такой скрипт:
    "date >> log.txt
    cat /dev/ttyUSB0 >> log.txt"
    Только надо поиграться с прошивкой, чтобы скрипт хорошо ловил то, что до него пытаются донести.

    А уж если хотя бы на, столь любимом братьями ардуинщиками, процессинге, городить, то гораздо шире можно развернуться. Причём развернуться минут за 10, на стандартных примерах.

    А на КПК, я ещё такого не делал.
    Максимум, смотрел что мне лила ардуина через какую-то гпс-ную программку (там простенький ком терминал встроен для проверки приёмника). Кстати, FT232 по USB хосту влёт подхватился.

    Стати, насчёт проводов:
    http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=200520318414&ssPageName=STRK:MEWNX:IT
    Чуишь куда я клоню?
     
  8. Squork

    Squork Пользователь

    Ага, чую. Ты еще GSM-модуль предложи, чтобы через инет логи передавать :)
    Мне пока проще разобраться, как читать флаг CTS, я же не самоходную платформу с пневматическим подпрыгом делаю, анализирующую освещенность в пределах десятиэтажного подъезда, мне нужен просто датчик, часы и прибор, запишущий данные :)
     
  9. Armer

    Armer Пользователь

    Не знаю, как оно в КПК организованно, но в компе, если основной адрес порта (порт данных), к примеру, 3F8h, то статусные порты будут адресами выше 3F9, 3FА и т.п. Не помню где именно сидят эти CTS, но идея проста: тупо читаешь состояние статусного порта и отслеживаешь конкретный бит. Поищи в инете на свой КПК данные по этому вопросу.
    тут вот для пальмы что-то есть http://www.robotics.ru/articles/palmserial
     
  10. EVIL_USER

    EVIL_USER Модератор Staff Member

    Кстати, это идея... Надо такой модуль поискать...

    UPDATED:
    Да это же охренительно.
    http://cgi.ebay.com/WAVECOM-P3203A-...534?pt=LH_DefaultDomain_0&hash=item5adf8747be
    И даже православный сименс:
    http://cgi.ebay.com/SIEMENS-MC389-G...186?pt=LH_DefaultDomain_0&hash=item3f08290342

    Да я щас соберу себе мобилко и буду как настоящий кетаец!
    А если серьёзно, то это же безграничная свобода в девайсостроении! И всего за 10$. Я то думал, такая игрушка в 30 как минимум влетит.
     
  11. Squork

    Squork Пользователь

    найдешь даташит - линкани :D
     

Поделиться этой страницей