Site Loader

Содержание

STM32 → 1-Wire

1-Wire — самый низкоскоростной и малораспространённый интерфейс, который тем не менее обладает замечательной особенностью — всего одна линия данных. Разработан компанией Dallas и применяется только в их продуктах: датчиках температуры, часах точного времени, энергонезависимой памяти в формате iButton.

Топология: Шина, одна двунаправленная линия DQ, подтянутая к + через резистор. Допускается до 256 девайсов на линии.

Кодирование: биты 0 и 1 кодируются как «0» импульсы разной длительности (0 — 90 мкс, 1 — 5 мкс) и «1» до конца тайм-слота — 400-500 мкс. Перед началом передачи в линию выдаётся сигнал «старт» (мастер притягивает шину к земле на 400 мкс, после этого девайс притягивает шину к земле на 100мкс).

Фичи: Благодаря тому, что в состоянии покоя и в паузах между битами линия принимает состояние «1» (т.е. +) и малому потреблению микросхем на шине 1-wire, становится возможным питать слейвы от линии данных через диод и конденсатор — весь канал связи сокращается до 2 линий, DQ и GND. В некоторых 1-Wire устройствах эта цепь уже встроена внутрь микросхемы, они имеют суффикс -PAR (паразитное питание).

Плюсы и минусы

Плюсы:

  • из-за низкой скорости интерфейс неприхотлив — устойчив к помехам, нет ЭМИ
  • встроенный CRC
  • Простота реализации — достаточно всего одной ножки ввода-вывода STM32, программа довольно проста (хотя и сложнее, чем реализация SPI)

Минусы:

  • Нет аппаратных модулей в МК, нужно реализовывать протокол обмена вручную
  • Очень низкая скорость
  • Поддержка только одним производителем.

Довольно часто интерфейс 1-Wire эмулируют с помощью UART, но мне это кажется плохой идеей.

Применение

Без преувеличения, самое частое применение в хобби-электронике — это подключение цифровых термометров DS18B20. У меня есть статья о подключении DS18B20 к STM32, и серия статей о создании на базе этого термометра и других датчиков домашней метеостанции.

На больших расстояниях и в условиях помех иногда общение по шине 1-Wire сбивается, чтобы этого не произошло — моя подборка улучшений для шины 1-Wire.

Post Views: 1 695

Домофонный мультиключ и всё про имитацию «таблеток» / Хабр

Да, это жутко избитая тема. Универсальный домофонный ключ «таблетку» делал наверное каждый второй, кто начинал изучать микроконтроллеры. В Интернете очень много и статей на эту тему, и готовых решений. Однако, интерес к этому угасать не перестаёт даже с массовым переходом на RFID. Это не удивительно, ведь многим хочется собрать такое устройство, которое выполняет не только весьма интересную задачу, но ещё и всегда с собой. К тому же оно не такое уж сложное в изготовлении.

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

Внимание! Этот ключ не позволяет нелегально проникать куда-либо. Это устройство лишь для того, чтобы носить один ключ вместо нескольких.

Хотя ничто не мешает вам записать в него универсальные коды открытия домофонов.

Типы домофонных ключей «таблеток»


На самом деле подобные ключи в корпусе MicroCAN бывают разных типов, хотя внешне и выглядят почти одинаково. Объединяет их только то, что ключ имеет два контакта — земля и данные, при этом используется паразитное питание, т.е. ключ питается непосредственно от линии данных. Для открытия двери используется серийный номер, который даётся на заводе. То есть это не ключ программируется на открытие домофона, а в память домофона заносится список ключей, которые могут его открывать. Рассмотрим их подробнее.

iButton

Самый популярный тип домофонных ключей — это iButton, а именно DS1990A от компании Dallas, работает по протоколу 1-Wire. Протокол весьма хитрый, подразумевает двустороннее взаимодействие — на ключ можно отправлять различные команды, на которые он по-разному реагирует. Серийный номер имеет размер в шесть байт, что даёт 2

8*6

= 281474976710656 различных комбинаций и подразумевает, что все выпущенные ключи должны быть уникальны. Если вам повезло, и у вас оригинальный iButton, то этот номер в шестнадцатеричном виде должен быть выгравирован на нём лазером:

То есть теоретически чужой такой ключ можно подделать, если просто записать куда-то или сфотографировать эти цифы!

Для взаимодействия с iButton достаточно подключить его к микроконтроллеру и подтянуть линию данных к питанию (2.8-5 вольт) через резистор:

Скорее всего для многих это всё уже старо как мир, но всё-таки расскажу кратко принцип работы 1-Wire. Обмен данными происходит за счёт поочерёдного прижимания линии к земле, информация при этом кодируется длительностью таких сигналов. Происходит это примерно так:

  • Reset — мастер прижимает линию к земле как минимум на 480 микросекунд, это говорит о начале передачи данных.
  • Presence — через некоторое время ключ отвечает импульсом около 120 микросекунд, что подтверждает его наличие на линии.
  • Команда — мастер посылает команду из восьми бит, при этом логическая единица — это 1-15 микросекунд, а ноль — 60-120.

Далее всё зависит от посланной команды. Обычно это 33h — «

READ ROM«, чтение серийного номера, после которого мастер читает 64 бита (1 байт — тип устройства, 6 байт — сам номер, 1 байт — CRC). Чтение каждого бита инициализируется мастером, для этого он посылает импульс в 1-15 микросекунд. Если после этого линия прижата к земле со стороны ключа на 60-120 микросекунд, то прочитан ноль, иначе — единица.

Как видите, прочитать ключ достаточно легко. Имитировать ключ гораздо сложнее, тем более многие домофоны используют разные хитрости. Вот основные подводные камни:

  • Нужно всегда реагировать на reset, даже если он послан во время передачи данных. Импульс длиннее 480 микросекунд говорит о том, что надо начать всё сначала.
  • Момент прикладывания ключа с его точки зрения — это тоже reset, ведь до этого питания не было. Поэтому теоретически домофон может и не посылать reset, и следует периодически отвечать сигналом presence по своей инициативе.
  • Ключи могут реагировать и на другие команды: 0Fh как альтернатива 33h, SKIP ROM (CCh), MATCH ROM (55h) и самое хитрое, о чём я расскажу отдельно ниже, — SEARCH ROM (F0h). Некоторые домофоны могут послать самые разные комбинации таких команд, чтобы убедиться в том, что ключ настоящий.
  • Бывает и обратная ситуация — домофон посылает команду, на которую ключ реагировать не должен. Дело в том, что некоторые программируемые ключи на них всё-таки реагируют, и так происходит ещё одна проверка. Необходимо полностью игнорировать всё, что идёт за этими командами, пока не будет послан
    reset
    .
  • Для отсчёта времени лучше использовать асинхронный таймер в микроконтроллере, т.к. счёт идёт на микросекунды. Однако, установка кварца при этом будет излишней.

Про SEARCH ROM (F0h) — это команда поиска всех 1-Wire устройств на шине. Дело в том, что теоретически можно подключить параллельно много ключей и получить список всех серийных номеров. В реальности для iButton такое не используется, ведь к домофону всегда прикладывается один ключ. Однако, некоторые домофоны посылают эту команду, ожидая найти один единственный серийный номер. Алгоритм весьма интересный. Каждое из устройств на шине одновременно посылает бит своего серийного номера, при чём два раза (т.е. мастер должен прочитать два бита). Сначала обычным образом, а затем инвертированным. Что же получается в итоге? Если у устройства в серийном номере стоит единица, то посылается «10». Если ноль, то «01». И всё отлично, пока у всех устройств эти биты совпадают. А если нет… Выше я написал, что при чтении наличие длинного сигнала — это 0, а отсутствие — это 1, т.е. 0 является доминантным. Таким образом, при возникновении конфликтов читаются два нуля. После получения «10», «01» или «00» мастер должен послать в линию только что прочитанный бит. В случае с «00» он таким образом выбирает, с какой группой устройств работать далее. В результате после N итераций получается бинарное дерево из N серийных номеров.

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

Cyfral

Ключ «Цифрал DC-2000А» — это отечественная разработка. Взаимодействовать с ними гораздо проще, т.к. они весьма глупые — не принимают никакие команды. Достаточно просто подать на ключ питание, и он сразу начнёт бесконечно посылать код, изменяя своё сопротивление. Если дать ему 5 вольт, подключив через резистор в 1 кОм, то на осциллографе можно увидеть примерно такую картину:

Ключ меняет своё сопротивление примерно между 800 Ом и 400 Ом, если я не ошибаюсь, а следовательно и потребление тока. Можно сказать, что сигнал аналоговый, а это всё немного усложняет с аппаратной точки зрения. Хотя иногда может и упростить. Например, ключ можно прочитать, просто подключив его к микрофонному входу компьютера и записав аудиофайл.

И да, домофон после этого можно открыть самым обычным MP3 плеером. Но нас же интересуют более цивилизованные методы, верно?

Кодирование немного странное. Ключ циклически посылает девять нибблов (четыре бита), меняя своё сопротивление. Если оно сохраняется низким около 50 микросекунд, то это логический ноль, а если 100 микросекунд — это единица. Но данные кодируется не логическими нулями и единицами, а положением единиц среди нулей! То есть ключ при посылке кода может выдать только одну из четырёх комбинаций: «1000», «0100», «0010» и «0001». Однако, используется ещё и комбинация «0111» как стартовая последовательность. В итоге данные от ключа могут выглядеть как-то так: «0111 1000 0100 0010 0001 1000 0100 0010 0001 », где «0111» указывает на начало. Никакой контрольной суммы нет — код просто читается несколько раз для уверенности.

Итого восемь последовательностей, в которых возможны четыре комбинации. Не сложно посчитать, что это даёт нам 65536 вариантов ключей. Не так уж и много, они явно часто повторяются. Теоретически если в подъезде 50 квартир, каждой из которых выдано три ключа, можно подобрать один из них перебрав всего 436 комбинаций. Но я таким не занимался.

Как же лучше читать ключи от Cyfral? Как я уже говорил, уровни аналоговые. Варианта два: аналого-цифровой преобразователь и компаратор. Последний мне кажется надёжнее. Всё отлично работает, если к одному из входов компаратора подключить линию данных подтянутую к Vdd резистором в 650 Ом, а ко второму — ровно половину Vdd, для чего можно использовать делитель напряжения из двух одинаковых резисторов. После этого результат вывода компаратора можно с уверенностью воспринимать как высокое и низкое сопротивление ключа.

Как же имитировать такой ключ? С первого взгляда кажется, что тоже нужно менять сопротивление, но результаты показали, что домофонам не нужна такая точность — можно смело замыкать линию на землю вместо низкого сопротивления и полностью отпускать её, когда нужно высокое.

Метаком

Ещё одна отечественная разработка — домофоны Метаком и ключи К1233КТ2. Как и Cyfral он просто бесконечно посылает код, меняя своё сопротивление/потребляемый ток. К счастью в Интернете доступна официальная документация:

Это всё, что нужно знать для работы с этим ключом. Он посылает четыре байта данных, но в каждом из них один бит уходит на проверку чётности. Итого выходит 28 полезных бит, а 228 = 268435456 комбинаций.

Увы, я так и не смог найти ни один такой ключ, чтобы поэкспериментировать с ним. Однако, в Интернете легко найти универсальный код, который открывает 99% домофонов Метаком. Один из них как раз в соседнем от меня подъезде. Я написал программу, посылающую этот код, основываясь только на технической документации. Соседний подъезд открылся с первой попытки. Похоже, что этому домофону тоже не так уж важно точное сопротивление. На этом я оставил Метаком в покое и решил, что чтение их ключей не так уж и нужно.

Универсальные коды ключей

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

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

Звучит как полнейший бред. Каким надо быть программистом, чтобы допустить такой баг? Но… это действительно часто работает. Да, в свежих прошивках это обычно исправлено, но многие домофоны стоят без изменений годами. Невероятно, но факт.

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

Создание мультиключа

Перейдём уже к практике! Да, я пытался совместить в одном устройстве и имитацию ключей, и их считывание (кроме Метаком), и синхронизацию с компьютером по USB. Вот схема того, что получилось (кликабельно):

Компоненты и их предназначение:

  • IC1 — микроконтроллер ATMEGA8/ATMEGA8A/ATMEGA8L;
  • U1 — USB-контроллер FT232RL, нужен для подключения устройства к компьютеру;
  • CON1 — miniUSB разъём;
  • BT1 — батарейки, дающие 3-5 вольт;
  • D1 и D2 — диоды (желательно шоттки), которые изолируют питание от батареи от питания от USB;
  • P1 — «таблетка» iButton, используется для подключения к домофонам;
  • P2 — контакты считывателя ключей, используются для подключения к ключам;
  • R1 — резистор, подтягивающий линию 1-wire к VCC;
  • R2 — токопонижающий резистор для управления транзистором Q2;
  • R3 — резистор, ещё сильнее подтягивающий линию к VCC для считывания ключей Cyfral;
  • R4 — токопонижающий резистор, используется для открытия Q1 и определения подключения к USB;
  • R5 — подтягивает базу Q1 к земле, чтобы закрывать его, когда нет подключения к USB;
  • R6 — токопонижающий резистор для светодиодов, достаточно одного, т.к. одновременно они не горят;
  • R7 и R8 — делитель напряжения для одного из входов компаратора, чтобы считывать ключи Cyfral;
  • Q1 — транзистор для определения подключения к USB;
  • Q2 — транзистор для включения земли на считывателе и эмуляторе, чтобы не сажать батарейки, случайно замкнув контакты в кармане;
  • C1, C2 и C3 — конденсаторы для фильтрации питания;
  • SW1 — единственная кнопка для управления устройством;
  • LEDS — семь светодиодов в форме восьмёрочки для отображения номера ключа.

Печатная плата (кликабельно):

Это было ещё время до покупки 3D принтера, когда я проектировал устройства под корпуса, а не корпуса под устройства. Ко мне в руки попал очень приятный экземпляр в виде брелка и с кнопкой. Просто идеально, оставалось только проделать отверстия под USB и светодиоды. Увы, я до сих пор не могу найти в продаже точно такой же корпус. В итоге получилось как-то так:

Батарейки под платой. Кстати, мне их хватило на год, пока я случайно не полез купаться, забыв вытащить ключи.

Управление производится всего одной кнопкой. При её первом нажатии устройство включается. Кратковременным нажатием кнопки производится выбор ключа, номер которого отображается светодиодами. Когда нужный ключ выбран, достаточно приложить контакты к считывателю домофона.

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

При подключении по USB устройство видится как виртуальный COM-порт. Для простоты работы был написан клиент под Windows:

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

Исходники прошивки есть тут: github.com/ClusterM/ibutton
Исходники клиента тут: github.com/ClusterM/ibutton_client

Заключение

Очень удобно в одном устройстве иметь ключи от дома, родственников, работы и подъездов друзей. Особенно актуально для тех, кто не провёл в квартиру домофонную трубку. Но создавать мультиключ было не столько полезно, сколько интересно. Это отличная практика для изучения микроконтроллеров. Да, именно с этого я в своё время начинал. Помимо этого каждый новый не открывающийся подъезд вызывал целую бурю интереса. Бегать по городу и решать логические задачи, чтобы открыть какую-то дверь — это как видеоигра в реальной жизни! Чертовски увлекательно. Не хватает только схваток с гопниками и бабулек у подъездов в виде боссов 😉

Фріланс-проєкти › Разработка ПО для микроконтроллерного устройства на базе STM32 для пра Разработка ПО для микроконтроллерного устройства на базе STM32 для пра

Разработка ПО для микроконтроллерного устройства на базе STM32 для практической реализации домашней автоматизации и идеи «Умный дом».

Необходим специалист для разработки ПО для микроконтроллерного устройства на базе STM32. И в перспективе постоянная поддержка, развитие ПО.

Разрабатываемое устройство будет является посредником между управляющим сервером с установленным ПО для управления «Умным домом» (OpenHAB, Domoticz, iObroker и др.) и физическими устройствами (датчиками и исполнительными устройствами).

Управление контроллером будет производиться по TCP/IP Ethernet с помощью HTTP (Post, Get) запросов. Контроллер будет управлять модулями портами ввода/вывода, которые будут соединены с датчиками и исполнительными устройствами.

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

При наличии интереса и спроса к готовым устройствам возможно коммерческое развитие проекта. Готов обсудить различные варианты вашего участия.

Основные этапы разработки ПО.

  • ETHERNET. ETHERNET интерфейс необходим для взаимодействия устройства с управляющим сервером. На первом этапе необходимо управление по протоколу HTTP (Post, Get запросы). В перспективе возможны другие на способы управления базе TCP/IP. Так же данный интерфейс нужен для работы Web-интерфейса для взаимодействия с пользователем.
  • Web-интерфейс. Простой Web-интерфейс для возможности настройки устройства. Страница авторизации. Настройки IP адреса, DHCP/Static. Другие настройки. Мониторинг статуса устройства, состояний портов.
  • Загрузчик. Необходима возможность обновления ПО МК через Web-интерфейс. По аналогии с обычными роутерами.
  • IN/OUT порты. Добавление контроля для IN/OUT портов для взаимодействия с физическими устройствами. Аналоговыми и цифровыми.
  • Цифровые: управляющие реле (Relay Out), входы для детектирования напряжений 5В, 12В, 24В, 220В, Кнопки, выключатели, датчики движения, дыма и др.
  • Аналоговые: датчики температуры PT100, влажности, освещенности и др.

Дополнительные этапы разработки ПО.

  • 1WIRE, Добавление контроля для 1WIRE интерфейса для работы с датчиками температуры DS18B20 и ключами-«таблетками» (iButton key).
  • RS-485. Добавление контроля для RS-485 интерфейса.

В перспективе система будет состоять из основного модуля контроллера и дополнительных модулей, которые можно будет подключать к контроллеру с помощью интерфейса RS-485. Дополнительные модули нужны для добавления других интерфейсов и увеличения количества портов системы.

Протокол RS-485 будет использоваться для соединения модуля контроллера с дополнительными модулями портов ввода/вывода. RS-485 это хорошее помехоустойчивое решение. Позволяет создавать распределенные системы. Размещать дополнительные модули в различных местах объекта.

Жду конкретных предложений. Указывайте сроки, цены.

Могу предоставить дополнительную информацию.

Бюджет проекта указан предварительно. Все обсуждается.

Вадим,

[email protected]

1wire – вопросы и ответы по программированию

У меня есть java-модуль Gemalto BGS5T и 1-проводной датчик температуры. У меня есть java мидлет, который использует порт RS232 для связи с датчиком температуры. Но проблема в том, что я не получаю …

7 месяцев, 3 недели назад Jure

В настоящее время я пытаюсь (на несколько часов) отображать температуру, полученную от DS18B20 на моем Adabruit LEDBackpack. Но я пытаюсь запустить отображение в настройке (matrix.begin(0x070)), те…

8 месяцев назад QGerome

OWFS позволяет нам читать однопроводные устройства через другие интерфейсы I2C ( DS2484 ) в моем случае. Я могу успешно прочитать одну температуру (

1 год, 5 месяцев назад ericksonla

Я пытаюсь реализовать протокол Dallas OneWire, но у меня возникли проблемы с созданием микросекундной задержки на STM32l-Discovery. Как реализовать таймер, достаточно точный, чтобы задержать програ…

Попытка понять crc8 . Это мои расчеты: poly 100110001 # OneWire bin 00000001 # 1 1. 000000010 << 1 = 000000100 2. 000000100 << 1 = 000001000 3. 000001000 << 1 = 000010000 4. 00001…

6 лет, 11 месяцев назад cask

Мне нужна ваша квалифицированная помощь! Я программирую на С++, используя PIC 18F87J50 и пытаюсь подключить DS18B20 к моему порту H0! Я думаю, что моя базовая программа правильная, поэтому… пробл…

11 лет, 8 месяцев назад Christian

Я определил эти функции ниже, и когда я запрашиваю функцию Device_ID, например, семейный код, я получаю только FF (должно быть 28), я получаю как семейный код, 48-битный последовательный, так и 8-б…

11 лет, 8 месяцев назад Christian

Я пытаюсь запрограммировать цифровой термометр DS18B20 на 1-Wire, используя UART, и у меня возникают странные проблемы. Когда я отлаживаю эту программу, которая работает без контрольных точек (или …

7 лет, 6 месяцев назад Dziat

Я записал все адреса большинства моих ds18b20 с arduino, и они выглядят по-разному, когда они подключены к Beaglebone Black, работающему с debian. Есть ли способ перевести их на то, как они выглядя…

Я новичок в мире С#, я уже сделал небольшое приложение в Cocoa/Obj-C для Mac, поэтому у меня есть маленький багаж в мире кодирования. Я хочу сделать приложение для Windows, используя .NET. Я исполь…

У меня есть 1-проводный USB-адаптер (этот синеватый) и хотел использовать его из небольшого Linux-бокса для мониторинга температуры. В настоящее время ящик Linux вышел из строя, поэтому я хотел исп…

9 лет, 6 месяцев назад ygoe

Я установил owfs и пытаюсь прочитать данные с регистратор температуры iButton . owfs позволяет монтировать iButton как файловую систему с плавким предохранителем, и я могу видеть все данные. У меня…

12 лет, 11 месяцев назад Tom

Я хочу использовать датчик с однопроводным протоколом, вопрос в том, какой способ использования этого протокола оптимизирован и более рациональен? над usart или с помощью бита? если это важно, я ис…

Я запускаю owfs (1-проводная файловая система), а некоторые другие обрабатывают данные температуры только каждые 10 секунд. Теперь powertop на этом поле Linux показывает от 40 до 50 событий пробужд…

5 лет, 8 месяцев назад Harald

В настоящее время мы пытаемся внедрить сеть с сетевым загрузчиком RPi3b+, и есть дополнительная плата для этих pi, которые я напечатал. Вспомогательная плата имеет классический DS18B20, среди проче…

Я купил этот датчик: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/RHT03.pdf и выход «MaxDetect 1-wire bus», что это значит и как его использовать? Я попытался подключить его к ard…

Flipper Zero-One — теперь два устройства. Подготовка к Кикстартеру

Flipper — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущие посты [1],[2].

Сайт проекта: flipperzero.one

Пока мы работали над линуксовой частью флиппера, у нас в руках был почти готовый модуль на STM32, который управлял периферией, экраном, кнопками. Без линукса он умел 433MHz радио, домофонные ключи и RFID карты. Чем не готовый девайс – подумал я. Так мы решили сделать из него отдельное устройство. Теперь флипперов два — Zero и One.

Под катом я расскажу про изменения в проекте, и как мы готовимся к краудфандингу.

Чем отличаются версии Zero и One

Flipper Zero

легковесная, компактная версия, построенная полностью на STM32. Умеет работать с основными системами контроля доступа, пультами и радио. Функционал можно расширять своими программами. Думать о ней следует как о продвинутой замене Arduino и Blue Pill со злой прошивкой, которую удобно носить с собой и хекать на ходу.

Flipper One

продвинутая версия имеющая весь функционал Zero плюс отдельный ARM компьютер с Kali Linuх. Это уже более серьезный инструмент для пентеста сетей и систем контроля доступа.

Что изменилось во Flipper Zero

Мы долго экспериментировали с прототипами и немного переработали дизайн. Джойстик стал почти вдвое больше в диаметре. У первых прототипов окошко под экран было ровно по размеру активной области дисплея, из-за этого под малейшим углом часть изображения терялась. Увеличили окошко и подняли экран выше к поверхности. Так обзор стал сильно лучше.

Добавились пины GPIO, этого больше всего просили в голосовании за функции. Логические уровни выходных сигналов 3.3V, при этом пины толерантны к входящим сигналам 5V, то есть можно свободно подключать популярные модули вроде Arduino. Есть отдельные линии питания 3.3V и 5V, так что можно сразу питать модули от Флиппера.

Появился инфракрасный порт для управления телевизорами и кондиционерами.

Так как у нас больше нет Raspberry Pi, на торце пропали порты USB и HDMI. Остался один порт USB Type C, который одновременно используется для зарядки, прошивки, консоли и эмуляции USB slave.

Радио CC1101

Радио теперь сделано на чипе TI CC1101. Мы рассчитываем, что встроенная антенна будет лучше всего работать в диапазоне 433 MHz и терпимо в 868 MHz. Это должно покрыть максимальное число возможных радио систем: пультов, шлагбаумов, дверных звонков, сигнализаций.

Анализатор сигналов

Родная прошивка будет уметь парсить популярные радиопротоколы, используемые в системах контроля доступа, в том числе и алгоритмы с шифрованием вроде KeeLoq.

Инфракрасный порт

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

Функция обучения

Если нужного сигнала нет в библиотеке, его можно будет записать с существующего пульта. Для этого нужно направить пульт в глаз Флипперу и нажать нужную кнопку.

GPIO для подключения к железу

Теперь у Флиппера есть 12 портов GPIO с которыми можно делать что угодно: использовать как программатор, фаззер, USB-адаптер для UART/I2C/SPI. При этом можно не подключать флиппер к компьютеру, а запускать заранее написанные программы прямо из меню, читать вывод на экранчике.

Поддержка Arduino IDE и PlatformIO

Для STM32 можно писать прошивки в хорошо знакомой новичкам среде Arduino IDE или в Visual Studio Code с плагином PlatformIO. При подключении к компьютеру, по умолчанию, флиппер определяется как HID-устройство, поэтому для работы не требует установки драйверов, нужен будет только плагин к среде. Разумеется, писать код можно где угодно и прошивать любыми другими инструментами, поддерживающими работу с STM32.

Библиотека плагинов

В отличие от обычных плат Ардуино, во Флиппер можно залить сразу несколько своих программ и сохранить их в библиотеке для будущего использования. При этом основная прошивка останется рабочей. И даже если вы написали кривую программу, которая ломается и зависает, не позволяет выйти из нее с помощью кнопок, можно перезагрузить Флиппер аппаратно, зажав кнопки назад+влево.

В своих программах можно использовать все аппаратные модули: кнопки, выводить изображение на экран, задействовать радио модуль, GPIO, 125KHz. Мы планируем выпустить удобные библиотеки для работы с аппаратными частями Флиппера в едином формате.

iButton

Контактная площадка iButton существенно переработана. Мы долго искали подходящую форму, чтобы он мог работать одновременно как считыватель ключей, так и сам выступать ключом. Теперь он имеет три контакта: два плюса и один минус.

Что внутри

Так как плата осталась одна, компоновка внутренностей стала более изящной. К вибромотору добавился пьезодинамик для индикации.

Коронавирусный коллапс

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

Фото прототипов перед тем, как они застрянут в грузовой компании:

Изначально мы планировали стартануть кампанию в середине апреля, но из-за коронавируса даты сдвинулись. Сейчас мы ждем окончания карантина и продолжаем готовиться к краудфандинговой кампании на Кикстартере. Нам осталось только снять видео на Кикстартер, но пока все локации в Москве закрыты, поэтому мы тихонечко ждем. Как только ситуация чуть-чуть успокоится, мы запустим кампанию. Очень надеемся, что это произойдет в мае, если все не умрут.

FAQ

Как купить?

Предзаказ можно оформить на сайте flipperzero.one. Если вам интересен проект, я очень прошу вас оформить предзаказ, это важно для нас, чтобы прогнозировать объемы.

Это законно?

Это инструмент для исследований. Все его компоненты можно купить по отдельности в магазине. Если встроить WiFi адаптер и 433MHz трансмиттер в маленький корпус и добавить туда экранчик, он не станет от этого более незаконным. Устройство не подпадает под определение спец. средства или прибора для негласного сбора информации. Незаконным может быть ТОЛЬКО его использование с целью нанесения ущерба или для незаконных действий.

Как задонатить?

В данный момент вы можете поддержать меня лично небольшими пожертвованиями на еду через Patreon. Регулярные пожертвования в виде 1$ намного лучше, чем большая сумма за раз, потому что позволяют прогнозировать наперед.


Все заметки по проекту я публикую в свой Telegram-канал @zhovner_hub.

Автор: Павел Жовнер

Источник

iButton | MikroElektronika

DS1990A — это уникальный идентификационный серийный номер iButton ™. IButton — это технология, основанная на протоколе связи 1-Wire®, и микросхема, заключенная в прочный корпус из нержавеющей стали. Это устройство в форме кнопки имеет два контакта — крышку и основание. Эти контакты несут необходимые соединения до чувствительного силиконового чипа, встроенного в металлическую кнопку. Когда iButton касается датчика считывателя на плате Click Board ™, он устанавливает связь с главным MCU через интерфейс 1-Wire®.Связь происходит практически мгновенно, поэтому достаточно слегка прижать iButton к контактам зонда.

Благодаря своей прочности, iButton может выдерживать гораздо большую нагрузку, чем аналогичные устройства, используемые для передачи информации: бирки, карты и другие подобные устройства подвержены повреждениям, а микросхема, помещенная в нержавеющую сталь толщиной 16 мм, может быть очень устойчивой. Его можно закрепить на любом объекте, например, на брелках, поддонах, сумках и т. Д. Его можно использовать в качестве электронного регистрационного номера для приложений автоматической идентификации и аналогичных приложений безопасности.

Как это работает?

DS1990A — это устройство iButton ™ с серийным номером от Maxim Integrated. Это устройство запрограммировано с помощью гарантированного уникального 64-битного регистрационного номера, который обеспечивает абсолютную прослеживаемость. Толстый корпус iButton из нержавеющей стали обеспечивает защиту от грязи, пыли, влаги, ударов и других опасностей окружающей среды. Форма кнопки помогает установить правильное выравнивание с датчиком, таким как тот, который находится на щелчке iButton, и обеспечивает надежную связь со скоростью 16.3 кбит / с.

Устройство может получать питание через линию передачи данных с помощью так называемого паразитного источника питания. Блок питания Parasite содержит внутренний конденсатор, который обеспечивает достаточный ток для правильной работы после того, как он был заряжен линией передачи данных. Чтобы обеспечить правильное функционирование паразитного блока питания, состояние ожидания линии данных является ВЫСОКИМ, в то время как линия данных DS1990A находится в конфигурации с открытым стоком, подтягивая линию данных к логическому уровню НИЗКОГО, когда он заявлен.

Заводской запрограммированный серийный номер считывается через стандартный протокол связи 1-Wire®. Первые 8 байтов представляют код семейства 1-Wire, а следующие 48 битов содержат уникальный серийный номер. Последние 8 битов содержат CRC предыдущих данных, обеспечивая целостность данных. Главный MCU инициирует обмен данными, отправляя сигнал сброса, в ответ на сигнал присутствия от подключенных устройств. Более подробную информацию о сигнализации 1-Wire можно найти в таблице данных DS1990A.

MikroElektronika предлагает библиотеку, которая содержит функции для чтения содержимого этого iButton с помощью щелчка iButton. Эта библиотека совместима с линейкой компиляторов MikroElektronika и поддерживает микроконтроллеры. Информация о серийном номере, хранящаяся на этом iButton, также может быть извлечена любым считывателем iButton, совместимым с устройствами Maxim Integrated iButton.

Характеристики серийного номера iButton ™

  • Диапазон напряжения ввода-вывода относительно земли: от -0,5 В до + 6,0 В
  • Ток потребления IO: 20 мА
  • Высота: 5,89 мм
  • Диаметр: 19,90 мм
  • Упаковка / ящик: F5 MicroCan

Технические характеристики

Тип 1-Wire
Приложения Идеальное решение для надежной и надежной идентификации, которое можно прикрепить ко многим различным объектам, требующим отслеживания: поддонам, сумкам, брелкам и т. Д.Его также можно использовать для систем отслеживания инструментов мастерских
Основные характеристики Уникальный серийный номер, который гарантирует абсолютную прослеживаемость, корпус из нержавеющей стали защищает его от вредных воздействий окружающей среды, быстрая и надежная связь 1-Wire® со скоростью до 16,3 кБ / с, простой монтаж на любом объекте
Интерфейс 1-Wire
Расширяемость iButton нажмите

Общие сведения об интерфейсе 1-Wire — Сделайте это легко с помощью ScienceProg

1-проводные устройства обычно используются во многих приложениях.Вы, наверное, знакомы со знаменитым цифровым датчиком температуры DS18B20 в корпусе TO92. Разумеется, они могут питаться и подключаться к одной и той же линии передачи данных плюс заземление. Первоначально 1-wire была разработана Dallas Semiconductors Corp., которая также является крупным поставщиком 1-проводных устройств, таких как датчики температуры, таймеры, часы реального времени, память и хорошо известный iButton.

1-проводный интерфейс — это стандарт двунаправленной, полудуплексной медленной последовательной связи.Он не использует никаких тактовых сигналов. Если говорить о скорости, то стандартная скорость передачи данных составляет 15,4 кбит / с. Но есть возможность перегрузить 1-проводную связь до 125 кбит / с.

1-проводная сигнализация основана на конфигурации одного ведущего и нескольких ведомых устройств. Каждое ведомое устройство имеет уникальный адрес, хранящийся в ПЗУ на кристалле. Мастер может распознать каждое подчиненное устройство, прочитав этот адрес без каких-либо конфликтов. Количество подчиненных устройств может достигать 100. Но на практике опрос такого количества подчиненных устройств потребует много времени.Это следует учитывать при разработке отзывчивых систем.

Ведущее и ведомое устройства используют соединение с открытым коллектором (открытым стоком) с линией шины.

Значит, нужен подтягивающий резистор. Обычно для включения цепочки используется резистор 4,7 кОм.

Режимы питания устройств 1-wire

Большинство 1-проводных устройств можно запитать двумя способами: паразитным и обычным . Паразитный режим — это то, что позволяет сигнализировать и питать устройства по одной и той же линии передачи данных.В микросхемах этого режима вывод VCC должен быть подключен к земле, в то время как линия передачи данных протягивается через резистор 4,7 кОм. В состоянии высокого уровня сигнала в 1-проводных устройствах заряжается внутренний конденсатор 800 пФ, который обеспечивает достаточную мощность во время низкого состояния линии. Используя parasitic more, важно соблюдать временные характеристики и характеристики мощности, чтобы обеспечить достаточную мощность для правильной работы. В некоторых случаях может использоваться вспомогательное жесткое подтягивание для обеспечения достаточной мощности во время бездействия линии передачи данных (например, во время преобразования температуры):

Поскольку паразитное питание не всегда может быть надежным способом питания, существует обычный способ, просто запитав устройство от внешнего источника питания.Таким образом, вместо двух проводов вам нужно будет отследить три:

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

Обмен данными с устройствами 1-Wire

Обычно вы не найдете 1-проводного интерфейса в микроконтроллерах или ПК. Для связи вам необходимо использовать программную сигнализацию bit-bang или вставить драйвер линии 1-Wire, который подключается к одному доступному интерфейсу, например SPI или I2C.В большинстве случаев, когда используется микроконтроллер, устройства 1-Wire подключаются напрямую к контактам MCU. Вы уже можете найти готовые библиотеки для быстрой реализации или написать свои. Давайте посмотрим, как работает 1-проводная сигнализация. Как только мы проясним ситуацию, будет легко писать свои собственные процедуры. Для отправки двоичных чисел 1 или 0 используются временные интервалы. В зависимости от того, как долго линия протянута, низкий уровень распознается, будь то 0 или 1. Когда шина освобождается от низкого уровня в 15 мкс, короткий временной интервал считается логической 1.В то же время для длинных интервалов, по крайней мере, 60 мкс — 0. В режиме перегрузки длительность временных интервалов примерно в 10 раз короче.

Связь всегда запускается мастером, который сбрасывает линию данных с помощью долгого сброса (минимум 480 мкс). После того, как мастер отпускает линию данных, подтягивающий резистор поднимает линию данных на высокий уровень. Через короткое время (до 60 мкс) ведомые устройства тянут линию, чтобы подать сигнал присутствия. Это затягивание длится немного короче, чем общий сброс (до 240 мкс). После того, как ведомое устройство освобождает линию данных, ведущее устройство начинает связь.

Мастер отправляет биты 0 и 1, записывая временные интервалы 60us:

Когда мастер выполняет запись данных, он записывает биты во временных интервалах 60 мкс. Чтобы записать 0, он должен подтянуть линию данных к низкому уровню в течение всего временного интервала 60 мкс. Затем ведомый обнаруживает низкий уровень во время выборки и считывает 0. Когда ведущий записывает 1, он должен установить низкий уровень примерно на 15 мкс, но не более, а затем отпустить линию. Подтягивающий резистор подтягивает линию, и ведомое устройство во время выборки обнаруживает высокий уровень и считывает 1.

Время мастер-чтения:

Во время операции основного чтения все становится немного сложнее, но не намного.Прежде всего, мастер по-прежнему управляет операцией чтения, подтягивая линию к низкому уровню во время временных интервалов чтения. Но это натяжение должно быть коротким (~ 1 мкс), а затем отпустить леску. Если ведомое устройство отправляет 0, оно удерживает линию до конца временного интервала. Мастер должен выполнить выборку линии данных после 15–60 мкс. Если мастер получает низкий сигнал, он должен прочитать 0. И снова, во время чтения логической 1, мастер тянет линию на 1 мкс, а затем отпускает. Если после отпускания ведомое устройство не удерживает линию, подтягивающий резистор подтягивает линию данных.Мастер должен инициировать отбор проб примерно через 15–60 мкс. Если он читает строку высокий, он должен читать 1.

Обычно задержка между временными интервалами должна быть около 1 мкс для нормального восстановления.

1-проводная транзакция состоит из трех частей. Иначе ничего бы не вышло.

  • Сброс 1-проводной линии;
  • Последовательность команд ПЗУ;
  • Последовательность команд функций.

Сброс строки мы уже обсуждали. Это дает начало новой сигнализации. Команда ПЗУ позволяет обращаться к ведомым устройствам.Есть несколько команд ROM с разными целями. Было бы полезно, если бы вы посмотрели на них в техническом описании устройства. Но некоторые из них являются общими, например Search ROM (F0h), где ведущее устройство идентифицирует все ведомые устройства, подключенные к 1-проводной линии передачи данных. Каждое ведомое устройство имеет уникальный 64-битный адрес. Таким образом, ведущее устройство во время циклического поиска ПЗУ по всем ведомым устройствам считывает и сохраняет все 64-битные адреса. Каждый цикл начинается с инициализации (сброса строки). Если подключено одно ведомое устройство, ведущее устройство может использовать команду чтения ПЗУ (33h).Когда в следующий раз мастер получит все коды ПЗУ, он сможет обратиться к ведомому, отправив команду Match ROM (55h).

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

ibutton · Темы GitHub · GitHub

ibutton · Темы GitHub · GitHub

Здесь 13 публичных репозиториев в соответствии с этой темой…

Облегченная библиотека однопроводных протоколов, оптимизированная для оборудования UART во встроенных системах

  • Обновлено 22 февраля 2017 г.
  • Python
  • Обновлено 4 декабря 2016 г.
  • Python

Считыватель iButton на базе Arduino, отображающий предопределенные подсказки.(игра для детей)

Пакеты

Go для взаимодействия с подсистемами Linux Netlink, Connector и One-Wire

R Пакет для работы с iButton Temperature Datasets

  • Обновлено 4 декабря 2016 г.
  • Python

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

  • Обновлено 9 августа 2018 г.
  • MATLAB

Скетч Arduino для клонатора iButton

Семейство модулей FHEM для поддержки контроллера Esera 1-wire и различных датчиков и исполнителей.

  • Обновлено 26 ноя.2019 г.
  • Perl

С помощью этого скетча вы можете записать и прочитать 8-байтовый код в ключе RW1990

Улучшить эту страницу

Добавьте описание, изображение и ссылки на ibutton страницу темы, чтобы разработчикам было легче узнать о ней.

Куратор этой темы

Добавьте эту тему в свое репо

Чтобы связать ваш репозиторий с ibutton тему, посетите целевую страницу репо и выберите «управлять темами».

Учить больше

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

RISC-V для хакера STM32

Дешевые, но мощные 32-битные платы микроконтроллеров существуют уже некоторое время и предлагают большое количество периферийных устройств. После того, как я начал возиться с дешевыми синими платами на основе STM32, у меня не было желания когда-либо возвращаться к моим старым микроконтроллерам на базе AVR.

Имея довольно большой опыт работы с STM32, я хотел открыть для себя чудесный мир новой архитектуры RISC-V. К счастью, с Sipeed Logan Nano доступна готовая к сборке демонстрационная плата с микропроцессором GD32VF103 . Что касается программного обеспечения, мы будем основывать наш код на модифицированной версии libopencm3, которая представляет собой «библиотеку микроконтроллеров ARM Cortex-M с открытым исходным кодом».

STM32 синий картон для таблеток

Sipeed Logan Nano

Подождите, что? Я думал, мы говорим здесь о RISC-V, а не об ARM ?! Да: но только небольшая часть микроконтроллера является фактическим ядром процессора (ARM или RISC-V или что-то в этом роде).Самая важная часть для пользователя — это набор периферийных устройств, таких как порты GPIO, USART, I2C, SPI, таймеры и т. Д. Таким образом, столь же большая часть libopencm3 состоит из слоя аппаратной абстракции вокруг этих периферийных устройств. Особенно он имеет отличную поддержку линейки микроконтроллеров STM32.

Что ?! Почему теперь STM32, а не GD32 ?! Давайте рассмотрим три микроконтроллера: STM32F103 от ST, GD32F103 от Gigadevice, который заявляет, что он является 100% совместимой заменой (более 98%) для STM32F103, и GD32 V F103.GD32F103 (почти) двоично совместим с STM32F103 и, таким образом, отлично работает с libopencm3. Теперь, глядя на таблицы данных GD32F103 и GD32VF103, мы обнаруживаем: их периферийные устройства и карта памяти (то есть магические адреса памяти, используемые для управления периферийными устройствами) идентичны. Хорошо, поэтому, помимо разных ядер процессора, GPIO и UART должны работать одинаково.

Настройка оборудования / перепрошивка

Плата поставляется с демонстрационной программой, которая мигает светодиодом пользователя разными цветами.Его можно переключить в режим вспышки, удерживая переключатель BOOT0 при нажатии переключателя RESET. Вы заметите, что светодиодный индикатор перестает мигать, а при подключении через USB вы должны увидеть новое USB-устройство ( [28e9: 0189] ).

У нас есть два способа прошить плату:

  1. Медленно, через последовательный порт / UART: подключите преобразователь USB / UART к PA9 / PA10 и используйте, например, инструмент stm32flash, как если бы вы разговаривали с чипом STM32.
  2. Fast, через USB / dfu-util: после появления USB-устройства вы можете использовать dfu-util.(Вам может потребоваться сначала исправить свои разрешения, например, используя правило udev SUBSYSTEMS == "usb", ATTRS {idVendor} == "28e9", ATTRS {idProduct} == "0189", GROUP = "uucp", MODE = "0666" , за которым следует элемент управления udevadm --reload-rules .

Давайте попробуем загрузить демонстрационную программу, используя dfu-util -U / tmp / firmware или stm32flash -b115200 -r / tmp / firmware / dev / ttyUSB0 . Это должно создать файл размером 64 КБ.

Набор инструментов компилятора

Кажется, существуют разные, но те же самые инструментальные цепочки RISC-V на основе GCC.В Arch Linux я использую riscv64-elf- {binutils, gcc, gdb, newlib} , который создает 32-битные двоичные файлы, если ему указано (например, с -march = rv32imac -mabi = ilp32 -mcmodel = medany ). Теперь мы могли проанализировать демонстрационную прошивку, которую мы читали выше, используя

  riscv64-elf-objdump -D -b binary -m riscv / tmp / firmware  

Пример программы

Пример программы можно найти здесь (которая основывается на предыдущей работе Лукаса).

Сборка и перепланировка должны быть такими же простыми, как

  экспорт ПРЕФИКС = risc64-elf-
 делать
 make flash #, если вы используете dfu-util
 # stm32flash -w src / pill_serial.bin / dev / ttyUSB0 # если вы хотите прошить через последовательный адаптер, подключенный к PA9 / 10  

Это должно переключить цвета светодиода и напечатать 123123123123 ... на UART1 на PA9 / 10.

Различия в программировании

Многие программы, написанные для STM32F103, будут Just Work ™ на GD32VF103, потому что периферийные устройства идентичны. Различия включают:

  • Различная тактовая частота
  • Совершенно другой контроллер прерываний (ECLIC против NVIC)

Руководство по программированию STM32VLDISCOVERY

Главное меню
Индекс
Политика конфиденциальности
Канал Youtube
Производитель печатной платы

Учебники
STM32F429I-DISCOVERY
STM32VLDISCOVERY

Кодовая библиотека для ЖК-дисплея
S1D15705
SSD1963
SED1335 / RA8835
SED1520 / NJU6450
SED1530 / SPLC501C
KS0108 / HD61203

49 S

Микроконтроллеры ATMEL AVR
Драйвер HD44780
Драйвер 1-Wire
Утилиты задержки
Декодирование инфракрасного порта RC5
Вычисление iButton CRC
Считыватель iButton
Плата ATtiny2313
Плата ATmega162

Микроконтроллеры STMicro ST7
Программное обеспечение I2C impementation
Внешняя память I2C EEPROM

Проекты
Сниффер шины SPI
Сниффер шины I2C
Сниффер шины 1-Wire
Программатор AVR910

Программное обеспечение
Битовый преобразователь для ЖК-дисплея
Modbus Master Simulator


Оценочная плата STM32VLDISCOVERY
Плата обнаружения STM32 Value-line — это недорогая оценочная плата для Value-line микроконтроллеров STM32 от STMicroelectronics.Ценовая линейка микроконтроллеров STM32 — это недорогая версия более высоких устройств. Он может работать на частоте 24 МГц и не имеет некоторых периферийных устройств, доступных на более высоких устройствах. На этой плате распаян 64-контактный микроконтроллер STM32 (с ядром ARM Cortex-M3) и отладчик ST-Link, так что плата является полным комплектом оборудования, необходимого для запуска программ для устройств STM32! Вам понадобится только USB-кабель для подключения платы к ПК.

Конечно, нам нужно создать какое-то внешнее оборудование, потому что на STM32LVDISCOVERY установлены только два светодиода и две кнопки — одна для СБРОСА, а другая для пользовательских приложений.Плата Discovery имеет два длинных ряда выводов и один короткий (между ними) со всеми важными сигналами от микроконтроллера и напряжениями источника питания. Из-за короткого разъема плату STM32VLDISCOVERY нельзя ставить на обычную беспаечную плату. Базовая плата для Discovery Board будет описана в одной из статей.

Из этого туториала Вы узнаете, как писать приложения для устройств STM32 без использования библиотеки STM32 StdPeriph . Эта библиотека, на мой взгляд, не лучшее решение для написания приложений для STM32, и я покажу Вам, что писать приложения без этой библиотеки легко и весело.Хотя это руководство основано на микросхемах STM32 Value Line и плате STM32VLDISCOVERY, в большинстве случаев также можно использовать для других устройств STM32F1 (основных) и других плат для разработки.

Статьи :
Программирование платы STM32VLDISCOVERY с помощью инструментов с открытым исходным кодом Eclipse и Sourcery Code Bench NEW
Перепрограммирование памяти микроконтроллера STM32VLDISCOVERY с помощью утилиты командной строки ST-Link и Keil uVision IDE

Урок:
— Программа первого урока
.Мигающий светодиод
Урок 2 — Чтение кнопки
Урок 3 — Мигающий светодиод с таймером
Урок 4 — Мигающий светодиод с прерываниями таймера
Урок 5 — Мигающий светодиод с аппаратным таймером
Урок 6 — Широтно-импульсная модуляция (ШИМ)
Урок 7 — Аналоговый в цифровой преобразователь (АЦП)
Урок 8 — Простая связь с USART
Урок 9 — АЦП с прямым доступом к памяти

Полупроводники — ИС | Ньюарк

L78L15ABUTR

22AC8293

ЛИНЕЙНЫЙ РЕГ, 15 В, 0.1А, СОТ-89-3

СТМИКРОЭЛЕКТРОНИКА

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ 5 шт. Только кратное 5 Пожалуйста, введите действительное количество

Добавлять

Мин .: 5 Mult: 5

15В 23В 35 В 7815 Регуляторы напряжения 100 мА Фиксированный СОТ-89 3 контакта -40 ° С 125 ° С
DS2480B + T&R

73Y1571

ИС линейного драйвера, интерфейс RS232 с 1 проводом, 4.От 5 В до 5,5 В, NSOIC-8

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Каждый (поставляется на отрезанной ленте)

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

8 контактов -40 ° С 85 ° С
MCP130T-270I / TT

19C7174

Контроллер напряжения, 1В-5.Питание 5 В, порог 2,7 В, задержка 350 мс, активный низкий уровень, SOT-23-3

МИКРОЧИП

Каждый (поставляется на отрезанной ленте)

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

3 контакта -40 ° С 85 ° С AEC-Q100
SS49E

09J1786

Датчик эффекта Холла, линейный, 1.5 мА, SIP, 3 контакта, 3 В постоянного тока, 6,5 В

HONEYWELL

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

1.5 мА 3 контакта -40 ° С 100 ° С
MCP6004-I / P

61K2951

Операционный усилитель, четырехканальный, 4 усилителя, 1 МГц, 0.6 В / мкс, от 1,8 В до 6 В, DIP, 14 контактов

МИКРОЧИП

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

14 контактов -40 ° С 125 ° С
М48Т35И-70Мх2Ф

51AC9310

RTC, часы / календарь, формат даты и времени (ГГ-ММ-ДД-дд, ЧЧ: ММ: СС), параллельный, 4.От 5 до 5,5 В, SOIC-28

СТМИКРОЭЛЕКТРОНИКА

Каждый (поставляется на отрезанной ленте)

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

28 контактов 0 ° C 70 ° С
CP82C54Z

57K3037

Таймер, осциллятор и генератор импульсов, программируемый интервальный таймер, 8 МГц, 4.От 5 В до 5,5 В, DIP-24

RENESAS

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

24 контакта 0 ° C 70 ° С
MCP23017-E / SP

31K2959

Расширитель ввода / вывода, 16 бит, 1.7 МГц, I2C, последовательный, 4,5 В, 5,5 В, DIP

МИКРОЧИП

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

28 контактов
UA747CN

74AH5215

IC, OP AMP, ДВОЙНОЙ

ТЕХАС ИНСТРУМЕНТЫ

Каждый

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

14 контактов 0 ° C 70 ° С
LM3480IM3-5.0 / NOPB

32AH8438

LDO РЕГУЛЯТОР НАПРЯЖЕНИЯ, 5V, 0.1A, 3-SOT-2

ТЕХАС ИНСТРУМЕНТЫ

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

SHT31-DIS-B

47Y1304

Датчик влажности, 2%, 3.3 В, относительная влажность от 0% до 100%, TDFN, 125 C, 8 Соответствие RoHS: Да

ДАТЧИК

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

Серия SHT3x-DIS 8 контактов -40 ° С 125 ° С
STM32F103R8H7

99W9794

ARM MCU, управление двигателем, микроконтроллеры серии STM32 STM32F1, ARM Cortex-M3, 32 бит, 72 МГц

СТМИКРОЭЛЕКТРОНИКА

Каждый

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

Семейство STM32 Микроконтроллеры серии STM32F1 64 контакта
L78L05ABUTR

59M7511

IC, V REG, 5 В, SMD

СТМИКРОЭЛЕКТРОНИКА

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ 5 шт. Только кратное 5 Пожалуйста, введите действительное количество

Добавлять

Мин .: 5 Mult: 5

10В 30 В 7805 Регуляторы напряжения 100 мА Фиксированный СОТ-89 3 контакта -40 ° С 125 ° С
74HC132D-Q100,118

85X2872

ЛОГИКА, NAND SCHMITT TRIG, 2 входа / выхода, SOIC-14

NEXPERIA

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ 5 шт. Только кратное 5 Пожалуйста, введите действительное количество

Добавлять

Мин .: 5 Mult: 5

74HC132 25 мА 14 контактов -40 ° С 125 ° С AEC-Q100
LM324DT

89K0691

Операционный усилитель, четырехъядерный, 4 усилителя, 1.3 МГц, 0,4 В / мкс, от 3 В до 30 В, SOIC, 14 контактов

СТМИКРОЭЛЕКТРОНИКА

Каждый (поставляется на отрезанной ленте)

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

14 контактов 0 ° C 70 ° С
XC95288XL-10PQG208C

67AC8683

CPLD, вспышка, 10 нс, 100 МГц, QFP-208

XILINX

Просмотреть дополнительные запасы Avnet

Каждый

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

XC95288XL серии 208 контактов 0 ° C 70 ° С
USDCOEM-16GB

57AJ6251

Карта флэш-памяти

, карта MicroSD, UHS-1 U1, класс 10, V10, 16 ГБ, COEM Series

УСТРОЙСТВА DELKIN

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

COEM серии
DS18B20U +

78Y4788

ТЕРМОМЕТР, DIG, PROG, SMD, 18B20

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Просмотреть дополнительные запасы Avnet

Каждый

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

8 контактов
MAX1978ETM + T

73Y2834

IC датчика температуры, -40 ° C, 85 ° C, TQFN, 48 контактов

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Просмотреть дополнительные запасы Avnet

Каждый (поставляется на отрезанной ленте)

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

48 контактов
TMC246B-PA

28AC4245

Драйвер / контроллер двигателя, полный мост, биполярный, шаговый, от 7 В до 34 В, 1.Выходы 5A / 2, PQFP-44

TRINAMIC

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

1.5А 44 контакта -40 ° С 125 ° С
TOP247YN

93K0787

ИС управления питанием, переключатель автономного режима, 6 А, 265 В перем. Тока, TO-220-6

СИЛОВЫЕ ИНТЕГРАЦИИ

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

Серия TOPSwitch-GX 6 контактов -40 ° С 150 ° С
MAX31856MUD +

73Y3359

ИС датчика температуры, прецизионный, цифровой, ± 2 ° C, -55 ° C, 125 ° C, TSSOP, 14 контактов

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

14 контактов
MAX16171ATA / VY +

03AJ1959

ИДЕАЛЬНЫЙ ДИОДНЫЙ КОНТРОЛЛЕР, -40 ДО 125 ° C СООТВЕТСТВУЮЩИМ ROHS: ДА

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Каждый (поставляется на отрезанной ленте)

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

8 контактов -40 ° С 125 ° С AEC-Q100
DS18S20 +

81Y9062

Микросхема датчика температуры, открытый сток, ± 0.5 ° C, -55 ° C, 125 ° C, TO-92, 3 контакта

МАКСИМАЛЬНАЯ ИНТЕГРИРОВАННАЯ ПРОДУКЦИЯ

Каждый

Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

3 контакта
MCIMX6D7CVT08AE

64Ah5003

MPU, 32 бит, 800 МГц, от -40 до 105 ° C, СООТВЕТСТВУЮЩИМ ROHS: ДА

NXP

Каждый

Доставка в течение 2-4 рабочих дней с нашего склада в Великобритании для товаров, имеющихся в наличии.
Запрещенный товар

Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество

Добавлять

Мин .: 1 Mult: 1

я.Семейство MX Микропроцессоры серии i.MX 6Dual 624 контактов -40 ° С 105 ° С

Портативный программатор iButton — Новости

Посмотрите этот крутой проект Джеффа Миллера с SparkFun Arduino Pro Mini!

Добавлено в избранное Любимый 0


Однозначно , а не в натуральную величину.

Это iButton. Похоже на большую батарею для часов, не так ли? Что ж, iButton на самом деле довольно изящный маленький гаджет. Внутри этого гладкого кожуха находится уникальное решение для регистрации данных для отслеживания температуры или влажности. Он включает в себя источник питания, память и датчики, необходимые для регистрации данных. Он маленький и прочный, поэтому он может использоваться как внутри, так и снаружи помещений. Когда вы закончите регистрировать информацию, которую ищете, вы вставляете ее в разъем, вставляете в свой ноутбук и — бум! — информация в изобилии.Но для такого потрясающе портативного продукта было бы неплохо иметь такой же портативный способ программирования iButton?

Войдите в программу Portable Data Logger Programmer от клиента SparkFun Джеффа Миллера (автора блога Arduino Fun). Это отличный портативный способ использовать уникальные возможности iButton. Используя кабель iButton, вы можете подключить свое устройство и запрограммировать, как вы хотите, чтобы оно регистрировало данные, не перетаскивая ноутбук в поле. Если вам нужна немедленная информация, подключение датчика температуры 1-Wire (также от Maxim) позволит вам просматривать температуру в режиме реального времени.Программист Джеффа использует Arduino Pro Mini 328, а также корпус SparkFun Project Case. Посмотрите видео ниже, чтобы увидеть этот потрясающий проект в действии!

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован.