• Трактат об энтропии

    Приветствую тебя, читатель Гиктаймс!

    Многие слышали о такой загадочной штуке, как энтропия. Обычно её называют мерой хаоса, мерой неопределённости и ещё прибавляют, что она непременно растёт. Я с огромной болью переношу употребление имени Энтропии всуе и решил, наконец, написать ликбез по этому вопросу.
    Читать дальше →
  • Надежное хранение и обновление данных во флэш памяти микроконтроллеров STM32 и MSP430

      Часто возникает задача сохранить изменяемые данные, например конфигурацию, во флэш памяти микроконтроллера. Решение кажется простым, однако обеспечить надежность обновления данных при условии, что питание может отключиться в любой момент, оказывается весьма нетривиально, и даже использование контрольных сумм не решает проблему полностью. Из этой статьи вы узнаете
      • как устроена флэш память
      • к каким проблемам приводит выключение питания в момент записи или стирания
      • как эти проблемы решаются

      Для желающих применить на практике — работающий код под STM32F4
      Читать дальше →
      • +12
      • 22.2k
      • 4
    • Портирование FreeModbus под STM32. Версия от Динара

      Доброго времени суток, любители и профессионалы программирования на микроконтроллерах. Эта статья посвящена портированию библиотеки freemodbus на STM32F100 (тот, что в discovery vl). Да, на habrahabr уже есть подобная статья, но мне она кажется не самой удачной. Буду использовать Modbus RTU в режиме slave. Для успешного портирования библиотеки freemodbus на платформу без операционной системы, необходимо выполнить три шага:

      1. прописать файл port.h
      2. настроить таймер
      3. настроить usart

      Итак, план составлен — пора за работу.
      Читать дальше →
      • +32
      • 24.1k
      • 6
    • Как правильно использовать видеорегистратор: ещё один самый подробный FAQ в интернете

        В Интернете полным-полно статей о том, как выбрать регистратор. Однако наблюдается острый дефицит материалов, где были бы собраны самые важные советы по эксплуатации видеорегистратора. Хотя именно от того, насколько правильно автомобилист использует купленную камеру, в конечном счете зависит вероятность успешного использования видеозаписи происшествия в суде. Или вообще вероятность получить съемку, которую можно приобщить к делу при разбирательстве.

        Приветствую читателей Geektimes, с вами снова Александр Шуб – эксперт в тематике автомобильных видеорегистраторов и по совместительству автор материала «Как выбирать видеорегистратор – 2015: самый большой в интернете FAQ для обычного покупателя». Напомню, мой стаж тестирования устройств данного типа перевалил за пять лет, а число пристально изученных моделей приближается к двум сотням. Главным мотивом к моей огромной статье о выборе регистратора послужило то, что в интернете отсутствовали подробные материалы такого рода, а если и встречались объёмные ликбезы, то непременно с ворохом устаревшей и совершенно бесполезной информации. В случае с советами по правильной установке, подключении, настройке и другим аспектам использования регистратора все дела обстоят ещё хуже.

        Как таковых подробных, обстоятельных статей нет вообще — лишь разрозненные мелкие публикации. Я взялся исправить этот пробел и написал ещё один самый подробный FAQ в интернете по регистраторам, только на этот раз всецело посвятив статью вопросам грамотной эксплуатации автомобильного «чёрного ящика».


        Читать дальше →
      • Два по сто: самые читаемые статьи и авторы Хабра и ГТ

          Если кто не знает, на Хабре, как и Гиктаймсе, всегда можно посмотреть все самые рейтинговые статьи за всё время. Но по просмотрам ни статьи, ни авторы никак не сортируются. Список ниже отражает почти полную правду о самых читаемых статьях «Хабра» и «Гиктаймса» за всё время. Почти — потому что, к сожалению, публичный счётчик был включён только 27 сентября 2012 года (примерная дата), поэтому если вам кажется, что какие-то ваши любимые тексты эпохи, когда Хабр был более торт, недосчитались просмотров — может, вы и правы. Впрочем, отчасти фактор неработавшего ранее счётчика нивелируется мощным хвостом в виде поискового траффика, так что действительно сильные тексты в любом случае должны были получить то, что им причитается — но об этом позже.

          Итак, самые топ-100 самых читаемых постов за всё время на Хабре и ГТ в сумме. Megamozg included by default, т.к. данные собраны 21 мая, уже после обратного слияния с «Хабром»:

          1. «Скрытые смайлы в Skype», G0rDi — 1599K (2009)
          2. «Взломать Wi-Fi за… 3 секунды», ushanov90 — 1511K (2012)
          3. «Взломать Wi-Fi за 10 часов», gorl — 1181K (2012)
          4. «300 потрясающих бесплатных сервисов», shimapa23 — 1052K (2015)
          5. «Пишем своё первое приложение на Android», Hoorsh — 997K (2010)
          6. «Обновление с Windows 7/8.1 до Windows 10 TP через Windows Update», akibkalo — 840K (2015)
          7. «Простая стратегия игры 2048», WhatIsGTO — 820K (2014)
          8. «Откровенные фото Дженнифер Лоуренс и еще десятков знаменитостей утекли через iCloud», Akr0n — 795K (2014)
          9. «Подарок от Skype на новый год», gmikhail94 — 781K (2013)
          10. «Wi-Fi: неочевидные нюансы (на примере домашней сети)», apcsb — 757K (2012)

          Читать дальше →
        • Радиопередатчик на системной шине

            Некоторые компьютеры в целях безопасности специально изолированы от внешнего мира (air gap или физическая изоляция). У них отсутствует доступ в интернет, нет локальной сети, WiFi, Bluetooth, отключены даже USB-интерфейс и аудиокарта. Как же в таком случае передать информацию с этого компьютера?

            Новая программа System Bus Radio решает проблему. Даже в такой ситуации с её помощью можно передавать радиосигнал.

            Давайте проверим. Исходный код опубликован на Github. Компилируем (автор проверял на Apple MacBook Air).

            gcc main.c -Wall -O2 -o main

            Запускаем.

            ./main

            В радиоприёмнике, настроенном на частоту 1580 кГц АМ, зазвучит песенка "Mary Had a Little Lamb" в бесконечном цикле.
            Читать дальше →
          • Список Full-Mesh VPN решений

              Введение


              Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.
              Читать дальше →
            • Как в первый раз запустить i2pd: инструкция под Debian/Ubuntu

              • Tutorial


              I2p — это сеть со специализацией на анонимности внутрисетевых ресурсов, этим она отличается от сети tor, основной задачей которой являются не внутренние ресурсы, а построение безопасного доступа к интернету. Зная об этих двух особенностях, люди могут гораздо эффективнее работать в обеих сетях.

              В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
              Читать дальше →
            • Векторное управление электродвигателем «на пальцах»

              • Tutorial
              — Что такое векторное управление?
              — Держать ток под 90 градусов.


              Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
              Читать дальше →
            • К вопросу о таймерах в ОСРВ

              • Tutorial

              Вот две строки, я гений, прочь сомненья
              Даешь восторги, лавры и цветы…


              Данный пост посвящен довольно таки старой задаче о считывании таймера, с которой лично я ознакомился в книге Джека Гансли (The Art of Designing Embedded Systems (Second Edition), (2008) by Jack Ganssle) в которой рассматривается борьба с гонками в асинхронных устройства. Сформулирована проблема и показаны 4 способа ее решения (2 неправильных и 2 правильных), рассмотрены их недостатки, в общем, добротная работа в стиле Джека (я к нему отношусь очень хорошо). К сожалению, на мой взгляд, даже работающие решения не имели должной степени элегантности, но более красивое долго не приходило в голову, а вчера неожиданно осенило. Так что я считаю себя вправе изложить данную проблему в ее историческом контексте, поскольку придумал очень элегантное решение (сам себя не похвалишь, весь день ходишь как оплеванный).
              Итак, мы начинаем
            • Проект Black Swift: жизнь после смерти

                Привет, GT.

                Не очень хочется начинать первый пост в официальный блог новой компании с жизнеутверждающей эпитафии, но, увы, придётся это сделать. Многие из вас читали на Хабре посты компании Black Swift, разрабатывавшей и выводившей на Kickstarter одноимённый встраиваемый микрокомпьютер. Блог закончился, когда закончились бесплатные 6 месяцев, полученные по программе поддержке стартапов (спасибо, ТМ!), так что о дальнейших событиях узнали лишь те, кто читал обновления на самом Kickstarter. Что ж, восполним этот пробел.

                TL;DR: проект Black Swift под своим оригинальным названием de facto умер в июле сего года. В сентябре команда проекта в полном составе ушла от его основателя, нашла инвесторов и создала компанию Unwired Devices, которая, в числе прочего, перезапускает и проект Black Swift — под новым именем Unwired One. Все обязательства по Kickstarter теперь выполняет Unwired Devices.


                Читать дальше →
              • История изучения мозга от Древнего Египта до начала XX века

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



                  Насколько такие хирургические вмешательства были успешны, сейчас сказать сложно, однако именно с этого времени, как считается, и берет свое начало изучение человеческого мозга, психология, неврология. Внутри, как обычно, много фамилий, дат, ссылок на основные открытия и картинок человеческого мозга: Европа и Восток, от Папируса Эдвина Смита до осознанных сновидений.


                  Читать дальше →
                  • +39
                  • 55.5k
                  • 9
                • Создание VPN туннеля между двумя квартирами на базе роутеров с dd-wrt

                  Предыстория:


                  Собственно, задача — объединить дом 1 и дом 2. На вооружении имеем схемы:

                  Дом 1: -internet пров. Beeline l2tp; psTV (196.168.2.13); dir615С2 (внут: 192.168.2.1, внеш: 95.24.х.х (будет клиентом VPN))

                  Дом 2: -internet пров. Interzet с белым ip; PS4 (192.168.1.13); dir615Е4 (внеш st.IP: 188.Х.Х.Х, внут: 192.168.1.1 (будет сервер VPN)
                  Читать дальше →
                • Этот притягательный постапокалипсис


                    © Антон Кокарев

                    Выхода Fallout 4 осталось ждать недолго. Множество фанатов по всему миру уже до дыр засмотрели тизеры игры, на форумах обсуждаются детали увиденного, и с новой силой разгорелся спор между адептами олдскульных «правильных» Fallout’ов 1/2 и теми, кому пришлись по душе скитания по пустоши в третьей части игры. Но оба лагеря геймеров, как и множество людей, никогда не игравших ни в какой Fallout, объединяет тяга к прекрасному — к постапокалипсису, к миру, лежащему в руинах. Вероятно, у психологов найдется в загашниках пара теорий, объясняющих, почему широким народным массам так интересна тема разрушенного мира, в котором выживают остатки человечества. Но не будем заниматься самодеятельным психоанализом, а лучше в преддверии выхода нового Fallout'a почитаем книги и посмотрим фильмы, в которых действие разворачивается во времена постапокалипсиса.
                    Читать дальше →
                  • Полнодуплексный программный UART для ATtiny13

                    Привет всем пользователям Geektimes! Как-то раз по долгу службы мне потребовалось реализовать программный UART на популярном микроконтроллере ATtiny13. Загуглив, я нашел большое количество статей на эту тему, многие из них выложены здесь:


                    А есть и на других ресурсах:


                    Последняя реализация, в общем-то, удовлетворяет моим потребностям (полнодуплексная связь). Но, во-первых, код написан в CodeVision AVR, который я не использую по сугубо религиозным соображениям, во-вторых, слабо комментированные вставки на ассемблере тем более отбивают желание разбираться в коде. Я же поставил себе целью написать на чистом C понятную пользователям библиотеку полнодуплексного UART-а. А заодно написать про это статью, потому что задачка достаточно интересная ввиду очень ограниченного объема памяти и ресурсов контроллера (всего один 8-битный таймер). Для новичков в программировании микроконтроллеров это будет неплохой учебный материал, т.к. я сам в процессе написания библиотеки, практически с нуля освоил архитектуру AVR.

                    Кому интересно — добро пожаловать под кат, текста будет много, много исходников с комментариями в коде.
                    Читать дальше →
                  • Установка Quartus II Web Edition для Linux



                      В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход, так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
                      Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.

                      Читать дальше →
                      • +9
                      • 22.3k
                      • 9
                    • Система защиты от протечек



                      Хочу поделиться опытом создания устройства, которое было не только интересно реализовать, но и может причинить пользу. Возможно кто-то скажет, что можно было поступить как-то попроще, но это не наш путь…
                      Читать дальше →
                    • Интерактивную карту Солнечной системы перевели на русский

                        Пожалуй, осознание расстояний в космосе вызывает одно из самых больших затруднений для обывателя. Для заполнения этой лакуны и была создана «утомительно точная карта Солнечной системы» — интерактивная инфографика, в которой за пиксель взят размер Луны:


                        joshworth.com/dev/pixelspace/pixelspace_solarsystem.html

                        Особенно впечатляет визуализация скорости света
                        Читать дальше →
                      • Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке


                          Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

                          Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

                          Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
                          Читать дальше →
                        • Наши устройства для управления освещением в умном доме

                            image

                            Привет!


                            Почти год назад мы впервые представили наш контроллер для автоматизации — Wiren Board Smart Home. Скоро мы запустим продажи его новой версии — Wiren Board 4, а сегодня расскажем про два наших новых устройства из класса бюджетной проводной периферии для домашней автоматизации.

                            Для создания умного дома одним центральным контроллером не обойтись: требуются еще некоторые исполнительные устройства.
                            Контроллер Wiren Board ранее позиционировался как универсальный центр умного дома, который управляет исполнительными устройствами сторонних производителей.
                            Однако стало понятно, что для бюджетных инсталляций выбор периферии оказывается очень ограничен, и особенно остро проблема стоит, как ни странно, в самой распространённой области домашней автоматизации — в управлении освещением.

                            Читать дальше →