3D печать и тэги
Немножко печатаю, немножко моделю и немножко выкладываю свои модели на www.printables.com. И вот что характерно: для публикации нужно указать несколько тэгов. И тэги там есть ВСЕ! То есть применительно к анекдоту про перекличку в армии
- Иванов!
- Я!
- Петров!
- Я!
- Черезтризабораногузадерищев!
- Я!
- Нихуя себе фамилия...
- Я!
ситуация совпадает. Это вполне себе нормально и удобно. На пикабу же тэгов не то что мало, но их еще и постоянно сокращают. Полагаю, что через пару лет тут останутся тэги "Грустный юмор" и "Платный аккаунт". В принципе, это тоже хорошо. "Необходимо и достаточно". Некий индикатор.
Умное кольцо из авиационного титана
OpenAirNet: Глобальная гражданская сеть мониторинга воздуха
Собрать датчик воздуха за $45 и изменить мир: инструкция для тех, кому надоело дышать вслепую
В 2025 году мы знаем о составе марсианского грунта больше, чем о воздухе, которым дышим прямо сейчас за своим окном. Официальные станции мониторинга — это дорогие и редкие точки на карте. Они стоят в центрах мегаполисов или в благополучных районах, рисуя красивую, но часто неполную картину.
А что происходит в спальном районе, в промзоне или в небольшом городе, где вообще нет никаких датчиков? Там — слепая зона.
Есть идея, которая может это изменить. Называется OpenAirNet — открытый стандарт для гражданского мониторинга воздуха. Суть проста: любой человек может собрать датчик за смешные деньги и подключить его к глобальной карте загрязнений. Рассказываю, как это работает и зачем это нужно.
Почему официальным данным всё меньше доверия
Проблема глобального мониторинга воздуха сегодня стоит остро, и у нее три стороны:
1. Информационное неравенство. Огромные территории в Азии, Африке и Латинской Америке — это «белые пятна» на экологических картах. Там просто нет денег на дорогие станции.
2. Кризис доверия. Даже если данные есть, люди часто не верят источникам. Слишком велик соблазн у властей или корпораций «подчистить» цифры.
3. Нет данных — нет проблемы. Жители не знают, чем они дышат, а значит, не могут требовать решения.
Выход — дать людям инструмент для самостоятельного сбора информации. Или, как это модно называется, гражданская наука.
Датчик, который может собрать каждый
OpenAirNet — это не коммерческий продукт, а открытый стандарт. Как Wikipedia или OpenStreetMap, только для воздуха.
Вы покупаете несколько деталей (или находите в старых запасах), скачиваете бесплатную прошивку и собираете метеостанцию, которая меряет не просто температуру, а уровень опасных взвешенных частиц PM2.5 и PM10.
Что войдет в комплект:
· Мозг: Микроконтроллер ESP32 (около $8). Тот же, что используется в умных розетках.
· Легкие: Лазерный сенсор частиц PMS5003 (около $18). Считает количество грязи в воздухе.
· Метеостанция: Датчик влажности и температуры BME280 (около $5). Нужен для калибровки.
· Домик: Водонепроницаемый корпус. Можно распечатать на 3D-принтере или купить пластиковый бокс за пару долларов.
· Питание: Старый блок питания от телефона и USB-кабель.
Итоговая цена — около $45. Согласитесь, это немного другая лига по сравнению с профессиональными станциями за несколько тысяч долларов.
Как это работает в масштабе планеты
Дальше начинается самое интересное. Ваши данные не лежат мертвым грузом. Они (по вашему желанию) уходят на общую карту мира — OpenAir Map.
Это похоже на карту пробок, только вместо машин — частицы грязи. Вы можете в реальном времени увидеть, где в вашем городе дышать легче, а где лучше лишний раз не открывать окно.
И здесь важный момент: все датчики проходят одинаковую калибровку. Это значит, что данные из Бангкока, Найроби и вашего родного города можно честно сравнивать между собой. Ученые впервые смогут получить реальную картину перемещения загрязнений через границы и континенты.
Почему это не идеально
Было бы наивно думать, что за $45 вы получите прибор точностью как в лаборатории. У идеи есть слабые места:
· Погрешность. Дешевые сенсоры врут при высокой влажности. Их нужно регулярно чистить и калибровать.
· Энтузиазм — штука нестабильная. Сеть держится на людях. Если активист в вашем районе переедет или забросит хобби, датчик замолчит.
· Юридические риски. В некоторых странах сбор экологических данных без лицензии может быть проблемой. Звучит безумно, но это реальность для ряда государств.
Что делать, если хотите попробовать
Сейчас проект ищет пилотные сообщества по всему миру. Первая тестовая сеть запускается в Джакарте, но ничто не мешает вам стать первопроходцем в своем городе.
План действий для начинающего эко-активиста:
1. Найдите пару единомышленников. Нужен хотя бы один человек, который умеет паять, и один, который умеет договариваться и рассказывать.
2. Соберите 5 тестовых датчиков. Общая стоимость запуска — около $200-250.
3. Развесьте их в разных точках: у друга на балконе, в школе, в местном кафе.
4. Начинайте шуметь. Публикуйте первые графики в соцсетях. Местные СМИ обычно любят такие истории про «народный контроль».
5. Идите к властям. С данными за 3-4 месяца можно приходить в администрацию и спрашивать: «Почему в этом районе у детей астма? Посмотрите на наши цифры».
В двух словах
Мир меняется, когда мы перестаем быть пассивными наблюдателями. Государства и корпорации не успевают за всеми проблемами. Возможно, настало время, когда мы сами можем создать ту самую сеть, которая поможет сделать воздух чище.
OpenAirNet показывает: наука может быть доступной и прозрачной. И для этого не нужно ждать миллиардных бюджетов. Достаточно просто собрать датчик за $45 и выставить его за окно.
Что скажете об этой опции?
Еще больше интересных видео в моем автомобильном канале
Инфракрасный бесконтактный термометр HYTAIS TS380 — точный контроль температуры от 50°C до +380°C!
HYTAIS TS380 — высокотехнологичный инфракрасный пирометр, предназначенный для быстрого и точного бесконтактного измерения температуры в широком диапазоне от −50°C до +380°C. Благодаря своей компактности и простоте эксплуатации, этот прибор отлично подойдет как для бытового использования, так и для профессиональных целей.
Преимущества прибора:
Широкий диапазон измерений: Подходит для замера температуры практически любых объектов, начиная от холодных предметов и заканчивая горячим оборудованием.
Фиксированная излучательная способность 0,95: Оптимальна для большинства органических покрытий, краски и металлических поверхностей.
Высокая точность: Погрешность составляет ±1,5% или ±1,5°C, обеспечивая надежные показания.
Разрешение показаний: До десятых долей градуса (0,1°C), что повышает удобство считывания результатов.
Быстрое измерение: Благодаря инфракрасной технологии обеспечивает мгновенные точные показатели.
Удобство использования: Оснащён лазерным целеуказателем для точного позиционирования и встроенной подсветкой экрана для комфортной работы в условиях слабого освещения.
Автоматическое отключение: Экономит энергию батареи, продлевая срок её службы.
Компактность и надёжность: Удобен для переноски и хранения, выполнен из качественных материалов, устойчивых к повреждениям.
Идеален для контроля нагрева техники, строительных конструкций, автомобилей, электрооборудования и многих других областей промышленности и быта.
Теперь безопасность и надежность измерений на новом уровне с инфракрасным пирометром HYTAIS TS380!
***
Реклама. ООО "АЛИБАБА.КОМ (РУ)" ИНН 7703380158 erid=2SDnjcYJZTn
Телеграмм бот для чайников
Для ЛЛ: простейший способ отправить в чат телеги мессадж. На полноту и новизну не претендует, просто запишу для памяти. Потом же потребуется повторить, а будет уже не вспомнить. Я убил на это почти 6 часов. И еще 3 часа чтобы всё вспомнить и создать сию портянку....
В продолжение к посту:
WeAct 0,96-дюймовый USB-монитор
В общем и целом, раз уж мне в руки попался открытый код управляющего приложения, то отчего бы в нём как следует не порыться.
Питон, ссука, это конечно, нечто... Без поллитра и гугля тут хрен чего куда.
В результате я за пару дней:
1. добавил новый параметр MOUSE TRAVEL COUNT. Таки считаю пробег мышки в сантиметрах. Очень условно. Считаю проехавшие пиксели. Далее с учетом разрешения монитора 96 dpi (так написано в винде) перевожу их в сантиметры и так далее. Так как мониторов 3 и размеры у всех разные... В общем, очень эмпирический параметр. Но я это сделал и даже добавил в редактор тем дополнительную вкладку.
2. ПИНГИ... В конфигах нашлось такое:
# Address used for ping sensor. Can be internal/external IP (e.g. 8.8.8.8 or 192.168.0.1) or hostname (google.com)
# PING: 8.8.8.8
Я прописал PING: 81.211.0.63.
Какой-то там DPI узел... tracert и смотрим как через что мы там лезем на ту же пикабу. 16 узлов. Аллес. Ладно. Показывает 0.3 - 0.02.
Захотелось линейную диаграмму. Включаю в теме, но там только целые числа. То есть MAX VALUE не может быть меньше 1.
2% от 100 - это всегда пустая диаграмма. 30% уже заметнее, но всё равно херня.
Надо увеличить "чувствительность". Кстати, поставил 0.5, но надо еще уменьшить.
Ну хер с ним, нас на кривой кобыле не объедешь. Лезу в редактор, открываю файл конфига и прописываю туда 0.5. Сохраняю, запускаю и хер там ночевал. Шкала пустая и не реагирует.
Лезу в код глубже, нахожу отрисовку прогресс-бара и вижу, что значение там сугубо целое (int блять) Меняю на float, модифицирую остальной код и наконец-то он умеет отображать дробные значения.
Кстати, свежая мысль - надо еще цвет изменять с зеленого на красный. //TODO
3. У нас имеется раздел DOWNLOADED.
И он мне зачем-то показывал какие-то неисчислимые террабайты. Оказалось, что цифра тупо берется с сетевого адаптера и показывает кол-во скачанного вареза с момента последнего включения компа. Нужный параметр. Познавательный. Нах он нужен? Хер с ним. Нашел где это. Запоминаю значение при старте приложения и потом уже при отрисовке вычитаю из текущего значения.
Гораздо информативнее. До кучи сделал еще и счётчик залитого вовне. Работает. Красота.
Ну и в целом как бы и всё. Вуаля сильвупле.
Классно. Работает, рисует, чего же более?
Но тут вмешался человеческий фактор!
Вот дисплей трудится, греется, потеет, рисует всю эту шнягу а потом я в час ночи кидаюсь тапком в кнопку СПАТЬБЛЯТЬ и ухожу. А что там за статы сегодня были - неизвестно. Все кануло.
Комп засыпает, приложение выгружается, все данные затираются. Как-то пошло. Возникла мысль писать всё это в лог на диске. Можно. А зачем? Кто и когда его потом будет читать?... И тут меня ОСЕНИЛО! А буду-ка я при выключении постить эти охуенно нужные цифирки в свой ТГ канал! Ха! И тут блять случилось минус шесть часов моей жизни. Сел в 21 час, кое-как заработало часам к 5.
Далее, простите, будет очень много мата. Ибо даже по свежей памяти я всё это воспроизвёл еще раз с трудом.
░░░░ Итак: простейший способ, отправить из приложения мессадж в телегу
Как оказалось, всё реально пиздецки просто. Всё что нам надо:
п.1. Зарегать бота и получить его токен
п.2. Узнать ёбаный id бота (!!!!)
п.3. Узнать chat_id группы, которую ты хочешь неибацца ощастливить,
п.4. Выкурить thread_id - идентификатор топика, если в группе есть эти неприпизженные разделы п.5. Написать в приложении простейший код из пары строчек.
п.6. Охуеть, добавить бота в группу непременно с правами блять АДМИНИСТРАТОРА, выключив нахер всё что там можно. Оставив лишь возможность постов.
п.7. Выпить валерьянки и пойти спать нах.
Собственно это и всё! Это реально работает! Без СМС и регистраций! Тьфу блэт.
Теперь ссука ДЕТАЛИ в которых не то что дьявол блять кроется а просто весь пиздец.
Никто никогда нигде не умеет писать внятную блять документацию! Никто нихуя!
Всё надо выискивать и выгугливать. При слове "нам надо подключиться к API" меня уже реально трясет, колотит и хочется грызть мебель.
Это пиздец.
Итаак... па пунктам, тк скть.........
п.1. Добавляем в телегу
@botfather.
Через сраный тг-поиск. Прилагаю картинок, так как ВНЕЗАПНО ссука с одним и тем же именем ботов может быть, вы ахуеете щас, НЕСКОЛЬКО.
Из всех дальнейших пиздоплясок нам по сути надо только это:
Детальнее - внятно на русском написано ТУТ. Хотя в целом - можно скипнуть. Прописать описания и аватарку прилепить можно интуитивно. Там еще что-то про команды, но ну его нахер. Туда я не полез и не планирую. Заняться мне нечем больше.
Итак, мы получили TG_BOT_TOKEN
п.2. Узнать ёбаный id бота... С какого хуя нам его не дают сразу - я не знаю.
Добавляем к себе в повозку
@Getmyid_bot
Практически сразу вы получаете этот сраный айдищшник.
Везде вводим линк бота, который начинается с @
Таким вот незамысловатым способом из говна и байтов мы получили botId
п.3. Узнать chat_id группы. Ндааа.... Ну, к этому моменту вы уже практические перестали плеваться и материть Дурова и иже с ними. Так что добавляем в телегу ОЧЕРЕДНОГО ботаблять:
@username_to_id_bot
Ну тут уже тупо пишем ему группу (https://t.me/fdmdhc) и всё без непоняток.
Я тут нихуя не блоггер и не популярный телеведущий, поэтому млять я постоянно путаюсь в этих группах, чатах и блять каналах. Я тащу на себе ебень с кучей топиков, и вроде это канал. Или группа. Но не чат. Блять.
Короче мы получили наконец-то ссука chat_id
И всё? А вот хуй и нет!!! Я блять не знаю КАК я до этого ссука допёр, но видимо мою голову всё-таки иногда посещают умные мысли. Пусть это визиты вежливости, но тем не менее. Просто так пихать этот ид в запрос можно до посинения. Такого чата не найдется. ПАТАМУУУУШТА....
Перед всей этой цифирью надо добавить -100 !!!! Вот ссука "ну надо"...
Я не ебу почему и зачем, но явно этого нигде не написано.
#Тактутпринято
То есть, если у вас получен chat_id: 666666
то обращаться к нему надо как к "-100666666" !!!!
Не, ну все же ясно как "е" в степени "пи". Только полный утупок не прорюхает.
Ща вы, конечно же скажете "УФФ, заебца, афтар пеши исчо" и собираетесь открыть кодильник, дабы ну понятно. А вот еще раз ХУЙ мимо. Всё это прокатывает, если блэт у вас ПУБЛИЧНАЯ группа. Если она приватная, то, внезапно @myBestChannelFuckenLink у неё не будет! И бот ... идёт лесом.
Длииииааа этаво... Запускаем браузерную телегу! Кстати, это самый простой способ, действительно. Можете погуглить "как получить chatId приватной группы".
Я охуел где-то секунд за 20.
https://web.telegram.org/
Сканим куаркод телегой с мобилы, лезем в свой приватный анал, пкм на любом мессадже и копируем сраный линк.
Получаем:
1 - это ид сраной приватной группы/анала (да, сюда тоже надо добавлять -100 в начале)
2 - это блядский message_thread_id
Кстати с обычной группой message_thread_id получается точно так же.
Итак. Мы получили chat_id и message_thread_id
п.4. Выкурить thread_id. А хуй там. См. выше.
п.5. Нахерачить в приложении простейший код из пары строчек.
Ну, тут уже халява и это даже неинтересно.
Из питона всё это в созданного бота, например, можно затолкать прям вот сейчас так:
import requests
requests.post('https://api.telegram.org/bot' + TG_BOT_TOKEN +'/sendMessage?chat_id=' + botId + '&text=' + текстовый_мессадж)
Если вам не повезло, и у вас js/ts, то пишем такое:
response = await fetch('https://api.telegram.org/bot' + TG_BOT_TOKEN
+ '/sendMessage?chat_id=' + botId
+ '&text=' + текстовый_мессадж, { method: 'POST' });
data = JSON.parse(await response.text());if (data.ok) {
console.log('%c█ Tgbot.response OK', 'color: #00ff00; font-size: 12px;');
} else {
console.log('%c█ Tgbot.response ERROR:: ' + data.description, 'color: #ff8800; font-size: 12px;');
}
Ебал я в рот код на пикабе форматировать крайне неудобно. Ладно, идея ясна.
Этим можно срать в душу своего бота пока ему в конец не поплохеет код не начнет нормально работать.
После этого уже наконец-то можно всё это с чистой душой отправлять в свой паблик.
requests.post('https://api.telegram.org/bot' + TG_BOT_TOKEN
+ '/sendMessage?chat_id=' + chatId
+ '&message_thread_id=' + thread_id
+ '&text=' + текстовый_мессадж)
Если канал не анал и топиков там нет, то третья строчка вам не всралась не нужна.
При успешной отправке, в консоли видим примерно такое:
Если что-то пошло не так, читаем data.description. Там всё более менее внятно.
Ах да. В результате после всей это свистопляски, приложение обзираемого устройства отправляет во флуд-чат группы такое вот:
Статы по сегодняшнему дню: 21:20 - 23:59
■ ВСЁ!!!! Мы все прекрасны и охуительны и ваще!
- Волокуев, вот ваш меч!
Традиционно, пользуясь случаем, передаю лучи поноса о∙∙∙вшей п∙∙де @Catbug0
























