Hacker News Digest

Тег: #raspberry-pi-pico

Постов: 2

The “impossibly small” Microdot web framework (lwn.net)

Microdot: крошечный веб-фреймворк для всего

Мигель Гринберг, автор Flask Mega-Tutorial, представил Microdot — мини-фреймворк, работающий и на CPython, и на MicroPython: от IoT до облаков.

Зачем?
Зимой 2018-го в Ирландии Мигель столкнулся с «умным» отоплением, которое погрешало на ±3 °C. Он отключил термостаты, поставил на каждый этаж плату с MicroPython и датчиком (±0,5 °C) и сам включал/выключал нагрев.
Чтобы с дивана видеть температуру и статус, ему нужен был веб-сервер, но Flask и Bottle на MicroPython не лезли. Поэтому он написал Microdot — «Flask в миниатюре».

Фишки

  • одна папка, ~1500 строк, нулевые зависимости
  • маршруты, шаблоны, cookies, WebSocket, SSE, CORS, SSL, Basic/Digest-аутентификация, тест-клиент
  • копирует API Flask: @app.route, request.args, jsonify, abort, before_request
  • работает на ESP32, Raspberry Pi Pico, обычных серверах
  • ставится pip install microdot (CPython) или mip install microdot (MicroPython)
  • опциональные плагины: microdot-session, microdot-cors, microdot-websocket, microdot-jinja, microdot-asyncio

Код

from microdot import Microdot
app = Microdot()

@app.route('/')
async def index(req):
    return {'temp': 22.5, 'heating': False}

app.run(port=80, debug=True)

Размер
ESP32: 70 КБ свободной ОЗУ остаётся после загрузки MicroPython + Microdot + приложение.
CPython: ~1 МБ venv.

Кому

  • хобби-IoT: датчики, реле, роботы
  • встраиваемые системы: промышленные контроллеры, автономные датчики
  • прототипы: быстро поднять REST, потом перейти на Flask/FastAPI
  • обучение: Flask-разработчики учатся за пять минут

Где
GitHub: github.com/miguelgrinberg/microdot
Документация: microdot.readthedocs.io
PyPI: pip install microdot

by pykello • 07 сентября 2025 г. в 05:38 • 180 points

ОригиналHN

#microdot#micropython#cpython#iot#flask#websockets#rest#esp32#raspberry-pi-pico#python

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

  • Microdot — это 765-строковый Python-фреймворк, который работает и на CPython, и на MicroPython; предназначен для веб-серверов на IoT-устройствах (ESP32 и др.).
  • Автор @miguelgrinberg подтвердил, что расширения (шаблоны, сессии) опциональны и почти не требуют зависимостей; версия 2 внесла ломающие изменения.
  • Комментаторы спорят о слове «impossibly small»: кто-то считает 765 строк нормальным минимумом, кто-то — перебором; сравнивают с Bottle, Rails 0.x и FW/1.
  • Пользователи делятся опытом: SSE + htmx для живых GPIO-индикаторов, бенчмарки RPS, проекты термостатов и садовых сенсоров.
  • Упоминаются альтернативы (TurboLua, BirSaat) и вопрос: «почему бы не написать это на C?»

An LLM is a lossy encyclopedia (simonwillison.net) 🔥 Горячее 💬 Длинная дискуссия

LLM — это «энциклопедия с потерями»: внутри огромный массив фактов, но сжатие небезупречно. Учимся различать, где потери неважны, а где детали критичны.

Пользователь HN спросил, почему модель не сгенерирует «скелет Zephyr-проекта для Pi Pico c драйвером st7789». Ответ: не ждите, что она «знает» такую мелочь. Дайте ей точный пример — пусть работает с уже известными фактами.

by tosh • 29 августа 2025 г. в 09:40 • 439 points

ОригиналHN

#llm#raspberry-pi-pico#st7789#zephyr

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

  • Участники спорят, насколько точно LLM можно назвать «потерянной (lossy) энциклопедией»: одни считают аналогию полезной, другие — слишком упрощающей.
  • Основной упрек: в отличие от JPEG, LLM не сигнализируют о «потерях», а выдают уверенные, но ложные или плавающие ответы.
  • Альтернативные образы — «поисковик, который умеет ремиксировать», «актер в роли эксперта», «runtime-программа, которую нужно правильно запрограммировать», «врач-консультант».
  • Подчеркивают: ключевое назначение LLM — продолжать диалог и помогать, а не гарантировать фактическую точность; всё нужно перепроверять.
  • Некоторые советуют сохранять «несжатые» источники (книги, файлы), поскольку AI делает поиск истины всё труднее.