Признаться, когда я читал статью об этом проекте на Hackaday, не раз посмотрел на календарь — уж не первое апреля ли?

Автор проекта, Чарльз Лор, выступающий под ником CNLohr на Github, взял обычный трёхдолларовый модуль ESP8266, который многие из нас используют для «Умного дома» и прочих IoT поделок, и разогнал его. Он заметил, что при этом I2C на модуле остаётся работоспособным и прекрасно работает на частоте 80 мегагерц. Автор вспомнил, что эта частота близка к частотам аналогового телевидения и, вспомнив Найквиста (Котельникова) смог заставить ESP8266 выдать сигнал на частоте около 60 мегагерц — частоте третьего канала аналогового ТВ.

Ему осталось только припаять к «ноге» модуля длинный провод, который послужил передающей антенной и вспомнить устройство видеостандарта NTSC. Впрочем, видео — лучше тысячи слов:



Как вы можете увидеть в ролике, процессору в ESP8266 оказалось по плечу не только динамически генерировать 3D-демосцены, но и поддерживать при этом работу веб-сервера и WiFi. Только некоторые операции с WiFi приводили к незначительным «затыкам» картинки.

Чтобы повторить опыт CNLohr, достаточно припаять к RX вашей ESP8266 провод и взять код с GitHub на github.com/cnlohr/channel3 Убедитесь только, что ваш телевизор «дружит» с североамериканским ТВ-стандартом NTSC.

P.S. Чуть позже CNLohr заставил ESP8266 транслировать на телевизор цветную картинку! Для этого ему понадобилось выдавать с помощью контроллера сигнал на двух частотах — 61,25 МГц и 65,2 МГц — одновременно. То, как ему это удалось, имея только 80 МГц на микроконтроллере — отдельный и совершенно замечательный хак, который автор подробно объясняет:



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

Комментарии (35)


  1. WerewolfPrankster
    17.03.2016 06:03
    +8

    Я вспомнил и почувствовал себя школьником, который впервые зашел на сайт DIHALT-a 8 лет назад...


    1. Zzzuhell
      17.03.2016 09:16
      +2

      я вспомнил себя школьником, который впервые расковырял абонентский репродуктор проводной трансляции, чтобы узнать, почему он не работает, и увидел там ТРАНСФОРМАТОР


  1. pewpew
    17.03.2016 09:27
    +2

    Не так впечатляет, но тем не менее вспомнилось…
    Вывод цветного TV сигнала по NTSC на Arduino UNO, + 8 резисторов и кварц:
    http://www.youtube.com/watch?feature=player_embedded&v=ysMUZaUsUp0
    Более подробно с исходниками:
    forum.arduino.cc/index.php?topic=169674.msg1415605#msg1415605


    1. tormozedison
      17.03.2016 22:08

      Программно генерировать видеосигнал умеют давно. Здесь новизна в том, что программно сгенерировали и несущую.


  1. karabox
    17.03.2016 09:39
    +1

    так тут еще и без проводов =) классно


  1. ub9obe
    17.03.2016 10:00
    +5

    Не i2c а i2s, и 80мгц для esp родная частота…


    1. bougakov
      17.03.2016 10:01
      -1

      вы неправы.

      1. Таки I?C
      2. ESP8266 в видео разогнана до 160 МГц, I?C работает на половине частоты, что даёт нам 80 МГц


      1. DarkByte
        17.03.2016 11:02
        +8

        Таки I2S, если вы конечно не лучше автора разбираетесь в том, что он сделал.


      1. Jeka_M3
        17.03.2016 19:36
        +1

        Вообще-то в статье автора четко написано, что он использовал именно I2S.


  1. gshamshurin
    17.03.2016 10:07
    +13

    То самое чувство, когда один грамотный человек может организовать цветное телевидение без проводов и тормозов на 3-долларовой плате, а твой провайдер на специализированной 30-долларовой приставке по проводам — нет. Снимаю шляпу!


    1. FForth
      17.03.2016 21:58

      Что то навеяло воспоминание о советском фильме «Гений» 1991г. (в главной роли Александр Абдулов)!


  1. amarao
    17.03.2016 11:43

    Офигеть. А VGA-картинку выдать?


    1. Toshik777
      17.03.2016 19:36

      Вот тут на Ардуине VGA сделали: www.gammon.com.au/forum/?id=11608
      Так что, думаю, вполне реально.


  1. link0ln
    17.03.2016 12:48
    +2

    Ну, я думаю пора заставить esp8266 запустить "марио" или "танки" :) Вифи есть для беспроводных контроллеров, телек тоже. Памяти, думаю, можно добавить по spi/i2c .


    1. bougakov
      17.03.2016 13:39
      +1

      Вы не поверите:


  1. strlock
    17.03.2016 13:40
    +3

    Так вот для чего нужен телевизор!)


  1. igorkozinov
    17.03.2016 14:11

    «P.S. Чуть позже CNLohr заставил ESP8266 транслировать на телевизор цветную картинку! Для этого ему понадобилось выдавать с помощью контроллера сигнал на двух частотах — 61,25 МГц и 65,2 МГц — одновременно. „

    Кстати, насчёт цветного телевидения…

    Году в этак 1992, у меня была ПК Микроша (https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%88%D0%B0), подключенная к ЧЕРНО-БЕЛОМУ телевизору Юность 406Д http://www.rw6ase.narod.ru/00/tw/junost406.html.

    Подключена она была через модулятор ТВ сигнала, в антенный порт.

    Изображение было чб. естессна...! НО!
    Будучи пытливым советским школьником, я начал эксперементировать, что будет, если записывать разные коды в область видеопамяти (у Микроши она располагалась в основной, после первых 32К).

    Так вот, одна из комбинаций показала мне ЦВЕТНУЮ картинку! Т.е на ЧБ мониторе появлялись красные и желтые буквы).

    Так вот, меня с детских лет мучает один вопрос: “Шо это было, Петрович !?!?!?»


    1. YegorVin
      17.03.2016 14:47
      +1

      Сон


    1. diller61
      17.03.2016 14:59
      +1

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


      1. igorkozinov
        17.03.2016 15:23

        По грибам — это не ко мне.

        А вот я наблюдал эффект Бенхема-Фехнера. http://cont.ws/post/208116

        «15 июня 1960-го года радиолюбителем Чуевым был предложен способ получения цветного изображения на экране черно-белого телевизора без внесения в него каких-либо изменений. Результат достигался на основе эффекта Бенхема-Фехнера за счет чередования с определенной частотой оттенков серого в телевизионной картинке. Ленинградским опытным телерадиоцентром в 62-м году проводились эксперименты по передаче статических картинок этим способом и были получены устойчивые результаты. К сожалению цвета были тускловаты, картинка мерцала и перспектив задумка не имела, но тем не менее полет мысли удивителен даже по нынешним меркам. „

        Соббсна, именно это и было. Картинка мерцала и дрожала, это помню.


        1. tormozedison
          17.03.2016 22:11

          Когда у меня был монохромный VGA-монитор, я успешно писал программы для DOS, позволяющие наблюдать эффект Бенхэма. В тех же целях приклеивал диск Бенхэма к валу двигателя пятидюймового дисковода, там как раз 300 об/мин. А сейчас для наблюдения этого эффекта есть мобильные приложения.


        1. diller61
          18.03.2016 10:44

          хм, Эффект Фехнера-Бенхема — следует относить к динамическим эффектам зрения проявляющимся в возникновении ощущения цветов, возникающих при наблюдении модулированного по времени светового потока естественного белого света

          это значит что возможно вам казалось что вы видели цвет(обман зрения), при этом технически телевизор не показывал именно цветное изображение


          1. igorkozinov
            18.03.2016 12:35

            «ну хоть тушкой, хоть чучелом...» а я видел цветное изображение )))) Я знаю. это это эффект тормозных ганглий в мозге, которым кажется, что они должны увидеть, и т.д.

            Здесь возникает другая интересная мысль — если цвет (красный, желтый и и т.д.) можно закодировать и получит последовательностью черного и белого (1 и 0), не значит ли это это, что мы живём в матрице и являемся продуктом функционирования её? ))))

            Представьте себе, что герой какой-нить стрелялки (Чиф из Halo или Дюк из Нукема) ВНЕЗАПНО понимает, разглядывая, как тает убитый враг, что тот состоит из битов, потом на глазах у ох… го игрока идёт в библиотеку, берёт учебник C++, потом ищет терминал, пишет кряк и взлымывает комп игрока, выходит в инет, становится ЧОРНЫМ Властелином…


            1. diller61
              18.03.2016 15:24

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


  1. 1win1
    17.03.2016 14:21

    Сразу вспомнил, как недавно создали радиопередатчик на системной шине: geektimes.ru/post/271964
    Снова снимаю шляпу!


  1. AleCher
    17.03.2016 19:37

    Вот еще впечатляющий проект. Передатчик DVB-T из видеокарты! bellard.org/dvbt


    1. ToSHiC
      17.03.2016 21:02

      Вот это просто за гранью разумного, невероятно круто.


    1. Raegdan
      18.03.2016 10:24

      Беллар, как всегда, гениален. Но и, как обычно, жаден до исходников своих произведений хакерского искусства :(