Интернет ненужных вещей – Telegram
Интернет ненужных вещей
3K subscribers
329 photos
19 videos
23 files
539 links
Олег Артамонов. Техлид умных ТВ в Яндексе, сопредседатель Координационного совета при ОП РФ по общественному контролю за голосованием, председатель ТИК ДЭГ 2024 и просто неприятный человек.

Рекламы здесь нет и не надо.

Для связи: @olartamonov
Download Telegram
Причём заранее понятно, что в выбранной модели разработки (читай: построения комьюнити) проблема с АЦП является нерешаемой

Потому что любое решение требует:
а) изменения API (но тут можно исхитриться и через макрос с VA_ARGS сделать аналог плюсового adc_sample(int adc_line, bool convert_to_mv = false), это через жопу и MISRA C вряд ли одобрит, но можно)

б) дописывания того самого преобразования в милливольты хотя бы в десяток-полтора самых популярных микроконтроллеров из поддерживаемых ОС

В рамках централизованной (формально или неформально) разработки обе проблемы решаются штатными методами: «мы посовещались и я решил, об исполнении доложить к понедельнику».

В рамках комьюнити, в котором нет что-либо решающего лидера, уже первый пункт приведёт к вялой, ничем не кончающейся дискуссии, а второй нереализуем вообще, ибо требует мобилизации полудесятка разработчиков, а это невозможно, если только они сами как-нибудь так не согласятся вдруг (особенно с учётом, что поддержка части процессоров брошена на полпути, и дописывать туда что-то серьёзнее нового инклюда или дефайна тупо некому).
А вообще это уже не про IoT, но вы понимаете же, что для инвестора нет слов страшнее, чем «у нас в стартапе три основателя и полная демократия»?
https://www.computer.org/web/education/code-of-ethics

Реальный Code of Conduct реальных проектов, а не плюшевые посмешища про то, что «мы здесь все друг другу друзья, давайте за руки возьмёмся».
https://devanlai.github.io/projects/dap42/

DAP42 — это такой набортный мини-программатор с поддержкой SWD и проброса UART на базе STM32F042F6P6.

Позволяет на 20-ногом процессоре стоимостью доллар-полтора сделать интерфейс для отладочной платы. Без всех возможностей ST-Link, DAPLink или Black Magic, но вполне достаточный.
Впрочем, с причёсыванием я поторопился — что-то там огрызки и ошмётки какие-то.
https://github.com/RIOT-OS/RIOT/pull/10037

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

Кстати, а никому не приходила в голову идея весёлого троллинга проектов борцов за справедливость:

а) регулярно сабмитить хороший и полезный код
б) вести себя при этом достаточно неприятно по отношению ко всяким идиотам, чтобы мейнтейнеры твои реквесты целенаправленно игнорировали
в) при попытке мейнтейнеров засабмитить тот же код (он же хороший и полезный) от своего лица бить по мордасам за GPL violation, если твой копирайт из кода убрали
Неплохая идея, высказанная в фейсбуке: сводить перечень изменений, которые мы сделали в RIOT, в отдельный файл

https://github.com/unwireddevices/RIOT/blob/loralan-public-2018.07/UNWDS.md
https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies

S for Security

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

А на иллюстрация Блумберга при этом — безобидный согласующий балун, у которого всех внутренностей-то штук пять пассивных компонентов, зато очень характерный внешний вид, так что любителям сенсаций будет несложно найти его в тысячах IoT-устройств.
To whom it may concern:

1) наши прошивки версии 2 по мере завершения работы над ними начинают переезжать в основную ветку кода loralan-public — https://github.com/unwireddevices/RIOT/tree/loralan-public

2) в структуре кода изменения:

* приложения переехали из examples в новую папку apps, ибо в examples много мусора, и люди уже путают простенький примерчик lorawan из кода ОС с нашим полноценным приложением loralan-wan

* в unwired-modules остались только подключаемые пользовательские модули

* MAC-уровни и инициализация устройств для радиосети переехали из unwired-modules/loralan-* в apps/unwds-common

* общие для всех приложений функции переехали из unwired-modules/unwds-common в apps/unwds-common
Ветка loralan-public-2018.07 отмирает и ясности ради вскоре будет снесена с гитхаба и из files.unwds.com
2018-10-05_09-25-17.png
314.5 KB
Китайцы взломали мой радиомодуль ещё пять лет назад!
2018-10-05_09-29-58.png
372.6 KB
Какие ещё доказательства вам нужны?! Про этот чип написал сам Bloomberg!
(подумав) Хотя, возможно, я работаю на ГРУ и просто хотел заразить весь свободный американский IoT ещё тогда.
https://github.com/RIOT-OS/RIOT/pull/10124

Портировал LoRaMAC на использование родной для RIOT имплементации AES.

Удивительно, но тот факт, что использовать одновременно RIOT AES и LoRaMAC AES нельзя (функции разные, имена у них одинаковые, а у нас тут голый C), никого в комьюнити за предыдущие месяцы сильно не волновал — ну подумаешь, использование LoRaMAC автоматически убивает любые другие функции, которым может AES потребоваться, мелочь какая.
Впрочем, сообщество сейчас с большой вероятностью будет ни мычать ни телиться, ибо без #10037 патч увеличивает прошивку килобайт почти так на десять, а на #10037 они не знают, с какой стороны смотреть, кроме морально-этической.

Так что просто отмечу, что в нашем форке всё это уже есть и работает: https://github.com/unwireddevices/RIOT/commit/c60795775f0ab5974c9c8905e1d23ef58ef478cf
http://softline.ru/blog/novyie-vyizovyi-proizvodstva.-ot-potrebnostey-k-resheniyam-softline

Вот, кстати, ещё один знаменитый IoT-кейс, помимо SAP с его дронами, парящими над коровами, — умная каска Софтлайна.

Технически представляет собой ардуину с примотанным изолентой китайским УЗ-дальномером (!), вставленную внутрь каски (!!!).

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

В конце концов, по глубине проникновения дальномера в череп следствие сможет довольно точно установить силу удара.
http://www.ti.com/product/TPS61070

Хорошая повышайка для питания 5-вольтовых сенсоров и всякого там NB-IoT в батарейных IoT-железках:
* дёшево, ~80 центов в розницу
* абсолютный минимум обвеса
* простой корпус SOT23-5
* 200 мА выхлопа при конверсии 2,5 → 5,0 В
* 0,5 мкА типового потребления в выключенном виде
* синхронный выпрямитель и КПД до 90 %
* true load disconnect (не только лишь все это знают, но типовая повышайка в выключенном состоянии свистит со входа на выход через паразитный диод ключевого транзистора, из-за чего ей надо рубить питание отдельным внешним транзистором)
https://www.bloomberg.com/news/articles/2018-10-09/new-evidence-of-hacked-supermicro-hardware-found-in-u-s-telecom

На глазах изумлённых зрителей чип Блумберга, про который у Блумберга были десятки совершенно достоверных и столь же анонимных источников, силами всего одного дополнительного источника внезапно превращается в Ethernet-разъём.

В связи с чем становится всё более highly likely, что Блумберг попросту врёт: мало того, что не очень понятно, как предыдущие десятки источников (один из которых, некий Apple Inc, аж письмо в Конгресс США написал, в котором всё отрицает) спутали чип с разъёмом, так ещё и гигабитный Ethernet-контроллер — штука громоздкая, нежная и очень хорошо жрущая электричество.
При этом совершенно непонятно, что этот «разъём» вообще мог делать, даже если предположить, что он (highly unlikely) существует.

Жить самостоятельной жизнью? Ну да, ну да, при включении сервера в сеть в ней вдруг появляются два новых устройства вместо одного. и никто этого годами не замечает.

Прослушивать трафик сервера? Легко, осталось только найти нешифрованный трафик в наше беззаботное время, когда даже порносайты работают по HTTPS.

Перехватывать и модифицировать трафик сервера? Я просто боюсь представить, сколько надо мозгов на то, чтобы делать это в реальном времени на гигабитном интерфейсе. Поддельный разъём будет очень легко вычислить — он будет горячим, и это даже если не трогать вопрос о том, что в него надо будет как-то физически запихнуть два гигабитных PHY, MAC и мозги со всей обвязкой.