#micropython — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #micropython, aggregated by home.social.
-
Kevin Santo Cappuccio, founder of Architeuthis Flux, joins us to discuss creating Jumperless, an open-source breadboard that replaces physical jumper wires with software-controlled analog crossbar switches.
Listen here: https://embedded.fm/episodes/532
#electronics #micropython #open source #oshw #hackadayprize #embedded #engineering
-
Kevin Santo Cappuccio, founder of Architeuthis Flux, joins us to discuss creating Jumperless, an open-source breadboard that replaces physical jumper wires with software-controlled analog crossbar switches.
Listen here: https://embedded.fm/episodes/532
#electronics #micropython #open source #oshw #hackadayprize #embedded #engineering
-
Kevin Santo Cappuccio, founder of Architeuthis Flux, joins us to discuss creating Jumperless, an open-source breadboard that replaces physical jumper wires with software-controlled analog crossbar switches.
Listen here: https://embedded.fm/episodes/532
#electronics #micropython #open source #oshw #hackadayprize #embedded #engineering
-
Kevin Santo Cappuccio, founder of Architeuthis Flux, joins us to discuss creating Jumperless, an open-source breadboard that replaces physical jumper wires with software-controlled analog crossbar switches.
Listen here: https://embedded.fm/episodes/532
#electronics #micropython #open source #oshw #hackadayprize #embedded #engineering
-
Kevin Santo Cappuccio, founder of Architeuthis Flux, joins us to discuss creating Jumperless, an open-source breadboard that replaces physical jumper wires with software-controlled analog crossbar switches.
Listen here: https://embedded.fm/episodes/532
#electronics #micropython #open source #oshw #hackadayprize #embedded #engineering
-
ZBFun: архитектура для ZigBee без обязательного облака на Python
Меня зовут ZolAnd, я - независимый инженер-разработчик embedded-систем в основном для дома и сельской усадьбы. В какой-то момент мне захотелось собрать под одной крышей разношёрстный парк ZigBee-устройств от разных производителей, работать с ним локально, без обязательной привязки к облаку, и при этом иметь возможность не только интегрировать чужие устройства, но и проектировать свои. Так появился проект ZBFun. Эта статья — про то, с какими вызовами я столкнулся, какие решения уже существуют и почему они мне не подошли, и про архитектуру, к которой я в итоге пришёл. С чего всё началось Задача звучала просто: хочу python-библиотеку для ZigBee на ESP32-C6. Готовой не нашлось — есть отличный esp-zigbee-lib от Espressif на C, но ничего сопоставимого на Python или MicroPython для этой платформы не было. Значит, писать самому. И тут выяснилась вторая, более фундаментальная проблема. Чтобы написать библиотеку, нужно понимать, что такое ZigBee Cluster Library (ZCL) — стандарт, который описывает, из чего вообще состоит ZigBee-устройство: кластеры, атрибуты, команды, типы данных, зависимости между ними. Официальный документ Alliance — 1213 страниц PDF, написанный для инженеров, имплементирующих стек с нуля, без какой-либо машиночитаемой версии. Ни JSON, ни XML — только текст, рассчитанный на то, что человек прочитает и перепечатает нужное руками. Дальше — хуже. Когда я стал сверять этот текст с реальными SDK и реальными устройствами, обнаружились расхождения. Причём не косметические, а такие, из-за которых устройство просто не будет работать правильно.
-
ZBFun: архитектура для ZigBee без обязательного облака на Python
Меня зовут ZolAnd, я - независимый инженер-разработчик embedded-систем в основном для дома и сельской усадьбы. В какой-то момент мне захотелось собрать под одной крышей разношёрстный парк ZigBee-устройств от разных производителей, работать с ним локально, без обязательной привязки к облаку, и при этом иметь возможность не только интегрировать чужие устройства, но и проектировать свои. Так появился проект ZBFun. Эта статья — про то, с какими вызовами я столкнулся, какие решения уже существуют и почему они мне не подошли, и про архитектуру, к которой я в итоге пришёл. С чего всё началось Задача звучала просто: хочу python-библиотеку для ZigBee на ESP32-C6. Готовой не нашлось — есть отличный esp-zigbee-lib от Espressif на C, но ничего сопоставимого на Python или MicroPython для этой платформы не было. Значит, писать самому. И тут выяснилась вторая, более фундаментальная проблема. Чтобы написать библиотеку, нужно понимать, что такое ZigBee Cluster Library (ZCL) — стандарт, который описывает, из чего вообще состоит ZigBee-устройство: кластеры, атрибуты, команды, типы данных, зависимости между ними. Официальный документ Alliance — 1213 страниц PDF, написанный для инженеров, имплементирующих стек с нуля, без какой-либо машиночитаемой версии. Ни JSON, ни XML — только текст, рассчитанный на то, что человек прочитает и перепечатает нужное руками. Дальше — хуже. Когда я стал сверять этот текст с реальными SDK и реальными устройствами, обнаружились расхождения. Причём не косметические, а такие, из-за которых устройство просто не будет работать правильно.
-
ZBFun: архитектура для ZigBee без обязательного облака на Python
Меня зовут ZolAnd, я - независимый инженер-разработчик embedded-систем в основном для дома и сельской усадьбы. В какой-то момент мне захотелось собрать под одной крышей разношёрстный парк ZigBee-устройств от разных производителей, работать с ним локально, без обязательной привязки к облаку, и при этом иметь возможность не только интегрировать чужие устройства, но и проектировать свои. Так появился проект ZBFun. Эта статья — про то, с какими вызовами я столкнулся, какие решения уже существуют и почему они мне не подошли, и про архитектуру, к которой я в итоге пришёл. С чего всё началось Задача звучала просто: хочу python-библиотеку для ZigBee на ESP32-C6. Готовой не нашлось — есть отличный esp-zigbee-lib от Espressif на C, но ничего сопоставимого на Python или MicroPython для этой платформы не было. Значит, писать самому. И тут выяснилась вторая, более фундаментальная проблема. Чтобы написать библиотеку, нужно понимать, что такое ZigBee Cluster Library (ZCL) — стандарт, который описывает, из чего вообще состоит ZigBee-устройство: кластеры, атрибуты, команды, типы данных, зависимости между ними. Официальный документ Alliance — 1213 страниц PDF, написанный для инженеров, имплементирующих стек с нуля, без какой-либо машиночитаемой версии. Ни JSON, ни XML — только текст, рассчитанный на то, что человек прочитает и перепечатает нужное руками. Дальше — хуже. Когда я стал сверять этот текст с реальными SDK и реальными устройствами, обнаружились расхождения. Причём не косметические, а такие, из-за которых устройство просто не будет работать правильно.
-
CW: inflammatory computer opinion
MicroPython is fucking cool
#micropython #embedded #arduino #embeddedprogramming #python
-
CW: inflammatory computer opinion
MicroPython is fucking cool
#micropython #embedded #arduino #embeddedprogramming #python
-
CW: inflammatory computer opinion
MicroPython is fucking cool
#micropython #embedded #arduino #embeddedprogramming #python
-
CW: inflammatory computer opinion
MicroPython is fucking cool
#micropython #embedded #arduino #embeddedprogramming #python
-
CW: inflammatory computer opinion
MicroPython is fucking cool
#micropython #embedded #arduino #embeddedprogramming #python
-
Did I make an audio-taper potentiometer shim for MicroPython today? Yes I did.
Does it have monotonic output across the whole input range and uses Viper-compatible integers only? You betcha!
-
Did I make an audio-taper potentiometer shim for MicroPython today? Yes I did.
Does it have monotonic output across the whole input range and uses Viper-compatible integers only? You betcha!
-
Did I make an audio-taper potentiometer shim for MicroPython today? Yes I did.
Does it have monotonic output across the whole input range and uses Viper-compatible integers only? You betcha!
-
Did I make an audio-taper potentiometer shim for MicroPython today? Yes I did.
Does it have monotonic output across the whole input range and uses Viper-compatible integers only? You betcha!
-
Did I make an audio-taper potentiometer shim for MicroPython today? Yes I did.
Does it have monotonic output across the whole input range and uses Viper-compatible integers only? You betcha!
-
#PyBLE open-source #MicroPython IDE works over Bluetooth LE for tablet and iPad users https://www.cnx-software.com/2026/08/10/pyble-open-source-micropython-ide-works-over-bluetooth-le-for-tablet-and-ipad-users/
...klingt erst spannend. Aber visuelle Blockly Programmierung mag ich gar nicht und CircuitPython hat ja auch einen #bluetooth workflow
-
#PyBLE open-source #MicroPython IDE works over Bluetooth LE for tablet and iPad users https://www.cnx-software.com/2026/08/10/pyble-open-source-micropython-ide-works-over-bluetooth-le-for-tablet-and-ipad-users/
...klingt erst spannend. Aber visuelle Blockly Programmierung mag ich gar nicht und CircuitPython hat ja auch einen #bluetooth workflow
-
#PyBLE open-source #MicroPython IDE works over Bluetooth LE for tablet and iPad users https://www.cnx-software.com/2026/08/10/pyble-open-source-micropython-ide-works-over-bluetooth-le-for-tablet-and-ipad-users/
...klingt erst spannend. Aber visuelle Blockly Programmierung mag ich gar nicht und CircuitPython hat ja auch einen #bluetooth workflow
-
#PyBLE open-source #MicroPython IDE works over Bluetooth LE for tablet and iPad users https://www.cnx-software.com/2026/08/10/pyble-open-source-micropython-ide-works-over-bluetooth-le-for-tablet-and-ipad-users/
...klingt erst spannend. Aber visuelle Blockly Programmierung mag ich gar nicht und CircuitPython hat ja auch einen #bluetooth workflow
-
PyBLE open-source MicroPython IDE works over Bluetooth LE for tablet and iPad users
-
PyBLE open-source MicroPython IDE works over Bluetooth LE for tablet and iPad users
-
PyBLE open-source MicroPython IDE works over Bluetooth LE for tablet and iPad users
-
PyBLE open-source MicroPython IDE works over Bluetooth LE for tablet and iPad users
-
TIL that the Coldcard fiasco - where large amounts of cryptocurrency were lost - was caused by a coding oversight in a library called "libNgU"
Why NgU? "Number go Up". Oops.
Coldcard postmortem from MicroPython's perspective — https://github.com/orgs/micropython/discussions/19588
-
TIL that the Coldcard fiasco - where large amounts of cryptocurrency were lost - was caused by a coding oversight in a library called "libNgU"
Why NgU? "Number go Up". Oops.
Coldcard postmortem from MicroPython's perspective — https://github.com/orgs/micropython/discussions/19588
-
TIL that the Coldcard fiasco - where large amounts of cryptocurrency were lost - was caused by a coding oversight in a library called "libNgU"
Why NgU? "Number go Up". Oops.
Coldcard postmortem from MicroPython's perspective — https://github.com/orgs/micropython/discussions/19588
-
TIL that the Coldcard fiasco - where large amounts of cryptocurrency were lost - was caused by a coding oversight in a library called "libNgU"
Why NgU? "Number go Up". Oops.
Coldcard postmortem from MicroPython's perspective — https://github.com/orgs/micropython/discussions/19588
-
TIL that the Coldcard fiasco - where large amounts of cryptocurrency were lost - was caused by a coding oversight in a library called "libNgU"
Why NgU? "Number go Up". Oops.
Coldcard postmortem from MicroPython's perspective — https://github.com/orgs/micropython/discussions/19588
-
Мониторинг удалённых объектов без интернета: ESP, MacroDroid и старый Android
«SIM800/900 против старого телефона: битва за дачу» В системах удалённого мониторинга часто требуется передача данных из точек без покрытия интернета. Классическое решение — GSM-модули семейства SIM800/SIM900, управляемые через AT-команды, но у этого подхода, на мой личный взгляд и опыт, есть недостаток - написать кучу AT-команд. Одна из альтернатив — использование старого Android-смартфона как GSM-шлюза. У него уже есть: сотовая связь (для SMS), Wi-Fi (для локальной сети без интернета с ESP), установленное приложение MacroDroid и аккумулятор, зарядкой которого тоже можно управлять через MacroDroid Осталось только «подружить» его с микроконтроллером. В этой статье я предлагаю архитектуру двусторонней связи между ESP и телефоном через SMS с использованием HTTP-протокола в локальной сети. Рассмотрены сценарии: Запрос статуса от пользователя (SMS от пользователя → Телефон с MacroDroid → ESP → Телефон с MacroDroid → SMS пользователю) Экстренные уведомления от ESP (ESP → Телефон с MacroDroid → SMS пользователю) Всё работает без интернета, без облачных сервисов, без SIM800/900. Только ESP c MicroPython и старый сотовый телефон с MacroDroid, в который мы вдохнем жизнь и пусть он проведет остаток своей жизни с пользой. Прежде чем приступить к описанию сценариев, необходимо уточнить несколько технических моментов. 1. Схема сети Телефон работает в режиме точки доступа (AP) название в телефоне примерно «Мобильная точка доступа и модем», WiFi должен быть отключен (желательно в настройках убрать галочку с Автоматическое включение WiFi). В созданной телефоном локальной сети телефон (он же роутер) обычно имеет IP-адрес 192.168.43.1. В настройках «Мобильная точка доступа и модем» есть название сети и пароль (или вы сами их можете задать), которые необходимы для подключения к сети и нужен для написания кода на микроконтроллере.
https://habr.com/ru/articles/1068218/
#Mackdroid #esp32 #esp8266 #android #micropython #microservices #microcontrollers #мониторинг #мониторинг_сервера
-
Мониторинг удалённых объектов без интернета: ESP, MacroDroid и старый Android
«SIM800/900 против старого телефона: битва за дачу» В системах удалённого мониторинга часто требуется передача данных из точек без покрытия интернета. Классическое решение — GSM-модули семейства SIM800/SIM900, управляемые через AT-команды, но у этого подхода, на мой личный взгляд и опыт, есть недостаток - написать кучу AT-команд. Одна из альтернатив — использование старого Android-смартфона как GSM-шлюза. У него уже есть: сотовая связь (для SMS), Wi-Fi (для локальной сети без интернета с ESP), установленное приложение MacroDroid и аккумулятор, зарядкой которого тоже можно управлять через MacroDroid Осталось только «подружить» его с микроконтроллером. В этой статье я предлагаю архитектуру двусторонней связи между ESP и телефоном через SMS с использованием HTTP-протокола в локальной сети. Рассмотрены сценарии: Запрос статуса от пользователя (SMS от пользователя → Телефон с MacroDroid → ESP → Телефон с MacroDroid → SMS пользователю) Экстренные уведомления от ESP (ESP → Телефон с MacroDroid → SMS пользователю) Всё работает без интернета, без облачных сервисов, без SIM800/900. Только ESP c MicroPython и старый сотовый телефон с MacroDroid, в который мы вдохнем жизнь и пусть он проведет остаток своей жизни с пользой. Прежде чем приступить к описанию сценариев, необходимо уточнить несколько технических моментов. 1. Схема сети Телефон работает в режиме точки доступа (AP) название в телефоне примерно «Мобильная точка доступа и модем», WiFi должен быть отключен (желательно в настройках убрать галочку с Автоматическое включение WiFi). В созданной телефоном локальной сети телефон (он же роутер) обычно имеет IP-адрес 192.168.43.1. В настройках «Мобильная точка доступа и модем» есть название сети и пароль (или вы сами их можете задать), которые необходимы для подключения к сети и нужен для написания кода на микроконтроллере.
https://habr.com/ru/articles/1068218/
#Mackdroid #esp32 #esp8266 #android #micropython #microservices #microcontrollers #мониторинг #мониторинг_сервера
-
Мониторинг удалённых объектов без интернета: ESP, MacroDroid и старый Android
«SIM800/900 против старого телефона: битва за дачу» В системах удалённого мониторинга часто требуется передача данных из точек без покрытия интернета. Классическое решение — GSM-модули семейства SIM800/SIM900, управляемые через AT-команды, но у этого подхода, на мой личный взгляд и опыт, есть недостаток - написать кучу AT-команд. Одна из альтернатив — использование старого Android-смартфона как GSM-шлюза. У него уже есть: сотовая связь (для SMS), Wi-Fi (для локальной сети без интернета с ESP), установленное приложение MacroDroid и аккумулятор, зарядкой которого тоже можно управлять через MacroDroid Осталось только «подружить» его с микроконтроллером. В этой статье я предлагаю архитектуру двусторонней связи между ESP и телефоном через SMS с использованием HTTP-протокола в локальной сети. Рассмотрены сценарии: Запрос статуса от пользователя (SMS от пользователя → Телефон с MacroDroid → ESP → Телефон с MacroDroid → SMS пользователю) Экстренные уведомления от ESP (ESP → Телефон с MacroDroid → SMS пользователю) Всё работает без интернета, без облачных сервисов, без SIM800/900. Только ESP c MicroPython и старый сотовый телефон с MacroDroid, в который мы вдохнем жизнь и пусть он проведет остаток своей жизни с пользой. Прежде чем приступить к описанию сценариев, необходимо уточнить несколько технических моментов. 1. Схема сети Телефон работает в режиме точки доступа (AP) название в телефоне примерно «Мобильная точка доступа и модем», WiFi должен быть отключен (желательно в настройках убрать галочку с Автоматическое включение WiFi). В созданной телефоном локальной сети телефон (он же роутер) обычно имеет IP-адрес 192.168.43.1. В настройках «Мобильная точка доступа и модем» есть название сети и пароль (или вы сами их можете задать), которые необходимы для подключения к сети и нужен для написания кода на микроконтроллере.
https://habr.com/ru/articles/1068218/
#Mackdroid #esp32 #esp8266 #android #micropython #microservices #microcontrollers #мониторинг #мониторинг_сервера
-
Клиент-сервер на ESP (MicroPython): чистый socket и прикладной HTTP — конспект-справочник
Минимум библиотек — максимум понимания В этой обзорной статье-конспекте мы будем работать с чистым модулем socket — без готовых библиотек вроде Microdot, urequests или MicroWebSrv2. Почему мы отказываемся от готовых решений? Понимание «под капотом». Когда вы знаете, как работает socket, любая сетевая библиотека становится прозрачной. Вы перестаёте быть заложником чужого кода и начинаете понимать, что на самом деле происходит в программе. Экономия памяти. Для ESP8266 (особенно для модулей ESP-01S с 1 МБ Flash) каждый килобайт на счету. Готовая библиотека может весить 10–20 КБ, а чистый socket решает те же задачи с минимальными затратами. Гибкость и независимость. Вы не привязаны к сторонним решениям и можете адаптировать код под любую, даже самую нестандартную задачу. Библиотека есть не всегда, а socket — есть всегда. Этот материал — не просто статья, а личный конспект-справочник, к которому можно возвращаться в своих проектах. Мы пройдём путь от подключения к Wi-Fi до полноценного веб-сервера, работающего в неблокирующем режиме. Сокет — это программный интерфейс для обмена данными между устройствами по сети. Если проводить аналогию, то серверный сокет — это дверь, в которую стучатся клиенты. Клиентский сокет — это человек, который стучится в дверь и ждёт ответа. Сокет работает на уровне транспортного протокола — TCP или UDP. Он умеет: - Устанавливать соединение ( connect() для клиента, accept() для сервера). - Отправлять и получать данные ( send() и recv() ). - Работать в блокирующем или неблокирующем режиме.
https://habr.com/ru/articles/1068214/
#esp #esp32 #esp8266 #socket #socket_server #microcontrollers #micropython
-
Клиент-сервер на ESP (MicroPython): чистый socket и прикладной HTTP — конспект-справочник
Минимум библиотек — максимум понимания В этой обзорной статье-конспекте мы будем работать с чистым модулем socket — без готовых библиотек вроде Microdot, urequests или MicroWebSrv2. Почему мы отказываемся от готовых решений? Понимание «под капотом». Когда вы знаете, как работает socket, любая сетевая библиотека становится прозрачной. Вы перестаёте быть заложником чужого кода и начинаете понимать, что на самом деле происходит в программе. Экономия памяти. Для ESP8266 (особенно для модулей ESP-01S с 1 МБ Flash) каждый килобайт на счету. Готовая библиотека может весить 10–20 КБ, а чистый socket решает те же задачи с минимальными затратами. Гибкость и независимость. Вы не привязаны к сторонним решениям и можете адаптировать код под любую, даже самую нестандартную задачу. Библиотека есть не всегда, а socket — есть всегда. Этот материал — не просто статья, а личный конспект-справочник, к которому можно возвращаться в своих проектах. Мы пройдём путь от подключения к Wi-Fi до полноценного веб-сервера, работающего в неблокирующем режиме. Сокет — это программный интерфейс для обмена данными между устройствами по сети. Если проводить аналогию, то серверный сокет — это дверь, в которую стучатся клиенты. Клиентский сокет — это человек, который стучится в дверь и ждёт ответа. Сокет работает на уровне транспортного протокола — TCP или UDP. Он умеет: - Устанавливать соединение ( connect() для клиента, accept() для сервера). - Отправлять и получать данные ( send() и recv() ). - Работать в блокирующем или неблокирующем режиме.
https://habr.com/ru/articles/1068214/
#esp #esp32 #esp8266 #socket #socket_server #microcontrollers #micropython
-
Клиент-сервер на ESP (MicroPython): чистый socket и прикладной HTTP — конспект-справочник
Минимум библиотек — максимум понимания В этой обзорной статье-конспекте мы будем работать с чистым модулем socket — без готовых библиотек вроде Microdot, urequests или MicroWebSrv2. Почему мы отказываемся от готовых решений? Понимание «под капотом». Когда вы знаете, как работает socket, любая сетевая библиотека становится прозрачной. Вы перестаёте быть заложником чужого кода и начинаете понимать, что на самом деле происходит в программе. Экономия памяти. Для ESP8266 (особенно для модулей ESP-01S с 1 МБ Flash) каждый килобайт на счету. Готовая библиотека может весить 10–20 КБ, а чистый socket решает те же задачи с минимальными затратами. Гибкость и независимость. Вы не привязаны к сторонним решениям и можете адаптировать код под любую, даже самую нестандартную задачу. Библиотека есть не всегда, а socket — есть всегда. Этот материал — не просто статья, а личный конспект-справочник, к которому можно возвращаться в своих проектах. Мы пройдём путь от подключения к Wi-Fi до полноценного веб-сервера, работающего в неблокирующем режиме. Сокет — это программный интерфейс для обмена данными между устройствами по сети. Если проводить аналогию, то серверный сокет — это дверь, в которую стучатся клиенты. Клиентский сокет — это человек, который стучится в дверь и ждёт ответа. Сокет работает на уровне транспортного протокола — TCP или UDP. Он умеет: - Устанавливать соединение ( connect() для клиента, accept() для сервера). - Отправлять и получать данные ( send() и recv() ). - Работать в блокирующем или неблокирующем режиме.
https://habr.com/ru/articles/1068214/
#esp #esp32 #esp8266 #socket #socket_server #microcontrollers #micropython
-
[Перевод] ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации
Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы. А в качестве бонуса в конце статьи я покажу несколько забавных научных экспериментов – например, как засечь радон у себя дома с помощью носка и обычного пылесоса.
https://habr.com/ru/companies/timeweb/articles/1067542/
#ESP32 #Python #MicroPython #счетчик_Гейгера #трубка_Гейгера__Мюллера #радиация #Home_Assistant #timeweb_статьи_перевод
-
[Перевод] ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации
Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы. А в качестве бонуса в конце статьи я покажу несколько забавных научных экспериментов – например, как засечь радон у себя дома с помощью носка и обычного пылесоса.
https://habr.com/ru/companies/timeweb/articles/1067542/
#ESP32 #Python #MicroPython #счетчик_Гейгера #трубка_Гейгера__Мюллера #радиация #Home_Assistant #timeweb_статьи_перевод
-
[Перевод] ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации
Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы. А в качестве бонуса в конце статьи я покажу несколько забавных научных экспериментов – например, как засечь радон у себя дома с помощью носка и обычного пылесоса.
https://habr.com/ru/companies/timeweb/articles/1067542/
#ESP32 #Python #MicroPython #счетчик_Гейгера #трубка_Гейгера__Мюллера #радиация #Home_Assistant #timeweb_статьи_перевод
-
Managed to get an LED blinking with an experimental MicroPython port 🥳 .
-
Managed to get an LED blinking with an experimental MicroPython port 🥳 .
-
Managed to get an LED blinking with an experimental MicroPython port 🥳 .
-
Managed to get an LED blinking with an experimental MicroPython port 🥳 .
-
Managed to get an LED blinking with an experimental MicroPython port 🥳 .
-
Here you can see the #NeoPixel cube in action, glowing with different colors. The animation was written in #MicroPython, and I'm quite happy with how it turned out :blobcat_nwn:
-
Here you can see the #NeoPixel cube in action, glowing with different colors. The animation was written in #MicroPython, and I'm quite happy with how it turned out :blobcat_nwn:
-
Here you can see the #NeoPixel cube in action, glowing with different colors. The animation was written in #MicroPython, and I'm quite happy with how it turned out :blobcat_nwn:
-
Here you can see the #NeoPixel cube in action, glowing with different colors. The animation was written in #MicroPython, and I'm quite happy with how it turned out :blobcat_nwn:
-
Here you can see the #NeoPixel cube in action, glowing with different colors. The animation was written in #MicroPython, and I'm quite happy with how it turned out :blobcat_nwn:
-
I built a #NeoPixel cube. I saw one at #Easterhegg, and it's actually quite easy to recreate :blobcatthumbsup:
It only needs six 8x8 NeoPixel matrix boards and the 3D-printed frame. Putting everything together with the tiny M2 screws was a bit fiddly, though :blobcatpeek:
-
I built a #NeoPixel cube. I saw one at #Easterhegg, and it's actually quite easy to recreate :blobcatthumbsup:
It only needs six 8x8 NeoPixel matrix boards and the 3D-printed frame. Putting everything together with the tiny M2 screws was a bit fiddly, though :blobcatpeek:
-
I built a #NeoPixel cube. I saw one at #Easterhegg, and it's actually quite easy to recreate :blobcatthumbsup:
It only needs six 8x8 NeoPixel matrix boards and the 3D-printed frame. Putting everything together with the tiny M2 screws was a bit fiddly, though :blobcatpeek:
-
I built a #NeoPixel cube. I saw one at #Easterhegg, and it's actually quite easy to recreate :blobcatthumbsup:
It only needs six 8x8 NeoPixel matrix boards and the 3D-printed frame. Putting everything together with the tiny M2 screws was a bit fiddly, though :blobcatpeek:
-
I built a #NeoPixel cube. I saw one at #Easterhegg, and it's actually quite easy to recreate :blobcatthumbsup:
It only needs six 8x8 NeoPixel matrix boards and the 3D-printed frame. Putting everything together with the tiny M2 screws was a bit fiddly, though :blobcatpeek:
-
time.ticks_ms() в MicroPython: как не блокировать код и выполнять задачи конкурентно на ESP
Очень часто в программировании микроконтроллеров используются блокирующие задержки: delay() для Arduino, time.sleep() для MicroPython. Эти функции просты и понятны, но у них есть фундаментальный недостаток: они останавливают выполнение программы на заданное время, делая систему нечувствительной к внешним событиям. В этот промежуток времени процессор не выполняет никакой код, не проверяет таймеры, не обрабатывает события и не реагирует на прерывания. Это как повар в ресторане, который ставит суп на плиту и говорит: «Я ничего не буду делать 10 минут, пока он варится». За это время мимо проходят голодные посетители, другие кастрюли перекипают, а он просто сидит и смотрит на таймер. В системах реального времени нам нужно управлять датчиками и сетевыми интерфейсами одновременно, без простоев. В MicroPython есть, на мой взгляд, элегантное решение — time.ticks_ms(). Это способ заставить микроконтроллер ESP делать несколько дел одновременно — без прерываний, без Timer, без asyncio и сложных планировщиков. Достаточно просто… посмотреть на часы. Это как повар, который включает плиту, смотрит на настенные часы, запоминает время и идёт готовить салат. Каждые пару минут он поглядывает на часы: «Прошло 5 минут — помешаю суп. Прошло 30 минут — выключу огонь». Он успевает управлять десятью кастрюлями одновременно, потому что у него есть часы на стене и система проверок. В этой статье мы рассмотрим, как с помощью функции time.ticks_ms() создать систему неблокирующих таймеров. Она позволит управлять реле, опрашивать датчики и отправлять SMS одновременно, без остановки основного цикла;
https://habr.com/ru/articles/1065666/
#micropython #timeticks_ms #esp32 #esp8266 #неблокирующий_код #параллельные_задачи #многозадачность #ticks_diff #iot #iot_разработка
-
time.ticks_ms() в MicroPython: как не блокировать код и выполнять задачи конкурентно на ESP
Очень часто в программировании микроконтроллеров используются блокирующие задержки: delay() для Arduino, time.sleep() для MicroPython. Эти функции просты и понятны, но у них есть фундаментальный недостаток: они останавливают выполнение программы на заданное время, делая систему нечувствительной к внешним событиям. В этот промежуток времени процессор не выполняет никакой код, не проверяет таймеры, не обрабатывает события и не реагирует на прерывания. Это как повар в ресторане, который ставит суп на плиту и говорит: «Я ничего не буду делать 10 минут, пока он варится». За это время мимо проходят голодные посетители, другие кастрюли перекипают, а он просто сидит и смотрит на таймер. В системах реального времени нам нужно управлять датчиками и сетевыми интерфейсами одновременно, без простоев. В MicroPython есть, на мой взгляд, элегантное решение — time.ticks_ms(). Это способ заставить микроконтроллер ESP делать несколько дел одновременно — без прерываний, без Timer, без asyncio и сложных планировщиков. Достаточно просто… посмотреть на часы. Это как повар, который включает плиту, смотрит на настенные часы, запоминает время и идёт готовить салат. Каждые пару минут он поглядывает на часы: «Прошло 5 минут — помешаю суп. Прошло 30 минут — выключу огонь». Он успевает управлять десятью кастрюлями одновременно, потому что у него есть часы на стене и система проверок. В этой статье мы рассмотрим, как с помощью функции time.ticks_ms() создать систему неблокирующих таймеров. Она позволит управлять реле, опрашивать датчики и отправлять SMS одновременно, без остановки основного цикла;
https://habr.com/ru/articles/1065666/
#micropython #timeticks_ms #esp32 #esp8266 #неблокирующий_код #параллельные_задачи #многозадачность #ticks_diff #iot #iot_разработка
-
time.ticks_ms() в MicroPython: как не блокировать код и выполнять задачи конкурентно на ESP
Очень часто в программировании микроконтроллеров используются блокирующие задержки: delay() для Arduino, time.sleep() для MicroPython. Эти функции просты и понятны, но у них есть фундаментальный недостаток: они останавливают выполнение программы на заданное время, делая систему нечувствительной к внешним событиям. В этот промежуток времени процессор не выполняет никакой код, не проверяет таймеры, не обрабатывает события и не реагирует на прерывания. Это как повар в ресторане, который ставит суп на плиту и говорит: «Я ничего не буду делать 10 минут, пока он варится». За это время мимо проходят голодные посетители, другие кастрюли перекипают, а он просто сидит и смотрит на таймер. В системах реального времени нам нужно управлять датчиками и сетевыми интерфейсами одновременно, без простоев. В MicroPython есть, на мой взгляд, элегантное решение — time.ticks_ms(). Это способ заставить микроконтроллер ESP делать несколько дел одновременно — без прерываний, без Timer, без asyncio и сложных планировщиков. Достаточно просто… посмотреть на часы. Это как повар, который включает плиту, смотрит на настенные часы, запоминает время и идёт готовить салат. Каждые пару минут он поглядывает на часы: «Прошло 5 минут — помешаю суп. Прошло 30 минут — выключу огонь». Он успевает управлять десятью кастрюлями одновременно, потому что у него есть часы на стене и система проверок. В этой статье мы рассмотрим, как с помощью функции time.ticks_ms() создать систему неблокирующих таймеров. Она позволит управлять реле, опрашивать датчики и отправлять SMS одновременно, без остановки основного цикла;
https://habr.com/ru/articles/1065666/
#micropython #timeticks_ms #esp32 #esp8266 #неблокирующий_код #параллельные_задачи #многозадачность #ticks_diff #iot #iot_разработка
-
Waveshare RP2350-POE-ETH – A Raspberry Pi RP2350 MCU board with PoE
-
@Pol @msjl well, it was a quick fix I guess 😄 Now I have t see what’s changed and to reflect this to my #micropython port.