Arduino + Foto + Web

Тема в разделе "Arduino & Shields", создана пользователем Andrey055, 15 окт 2014.

  1. Andrey055

    Andrey055 Нуб

    Приветствую!

    Подскажите, возможно ли совместив камеру, ардуино и интернет-шилд, решить задачу выкладывания в интернет фото с камеры раз в день, к примеру?

    Библиотеки для работы с твиттером, к примеру, я нашел... Но совсем не понимаю, как отправить фото-данные в твит.
     
  2. Вообще лучше для этих целей использовать Raspberry Pi и Camera Board.
    Но рас уж хотите использовать Ардуино, то хочу задать следующий вопрос: какую камеру и Ардуино Вы собираетесь использовать?
     
  3. Andrey055

    Andrey055 Нуб

    Александр, спасибо за совет. У меня сейчас стоит конкретная задача, поэтому, если с помощью купленного набора я ее не решу, воспользуюсь вашим советом!

    Я планировал делать это на связке http://www.miniinthebox.com/ru/ov76...arduino-boards_p725412.html?litb_from=sysmail + Arduino UNO + Ethernet. это все у меня есть/заказано. Если это невозможно/сложно сделать с моими компонентами - я готов на замену.
     
  4. NR55RU

    NR55RU Гик

    С камерами на ардуине я не работал, посему дам исключительно теоретическое предположение.
    Во первых, вот тут есть хорошие описание этой камеры.

    Предположим мы возьмем минимальное из стандартных что она предлагает, это 176х144, но вам явно такая мелочевка не нужна, в телефоне экраны уже больше :)
    Так вот 176х144 пикселя дают нам 25344 пикселя на одну картинку, если к примеру взять формат RGB444 то на каждый пиксель будет приходится 12 бит, а значит на всю картинку 25344 х 12 = 304128 бит или 38016 байт или 37 килобайт.
    Ардуино оно не обладает достаточным количеством памяти чтобы разместить данные такой картинки в своей памяти целиком.
    Возможно камера может снимать в черном белом варианте, возможно поддерживает более "мелкий" формат данных для кодирования цвета .. но этот пример поможет вам понять от чего отталкиваться и что учитывать.

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

    Ну тут возможно даже есть готовы библиотеки которые позволяют конвертировать "сырые" форматы в "сжатые". Но опять таки в памяти всю ырую картинку разметить нельзя, а еще надо будет размещать и новую, в общем уже головная боль.

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

    В итоге:
    1. Как то сохранить картинку с учетом того что памяти может не хватить (тут требуется изучение форматов камеры и просчет)
    2. Как то обработать картинку в нужный формат который принимают веб-сайты.
    3. Передать это дело, тут тоже придется потрудится, если картинка не будет умещаться в памяти. В целом то TCP соединение позволяет постепенно в него записывать, так как это просто поток байтов, но вам тогда еще и HTTP протокол придется слегка покурить чтобы создать корректный запрос :)

    В целом, вам нужна платформа мощнее ардуина, ардуин это ведь просто микроконтроллер, работа с изображениями явно не его стезя.

    P.s. Если я в чем ошибся, думаю знающие люди поправят :)
     
  5. mmklok

    mmklok Нуб

    Скажите, а с этой платой (http://www.cooking-hacks.com/3g-gprs-shield-for-arduino-3g-gps-audio-video-kit) можно решить поставленную задачу?