Category: it

Category was added automatically. Read all entries about "it".

фик

Запустить апельсинку без переферии ?

М.б. вопрос не совсем по теме :)
Прикупил на пощупать Orange Pi i96. Щупать еще не начал, но возник вопрос: реально ли ее запустить без монитора и клавиатуры ?

Теоретически оно понятно: скачанный образ системы смонтировать на компе, конфиги поправить как надо, и уже правленый закатывать на карточку - чтоб загрузившись, она прицепилась к моему wifi, и я б смог в нее залезть по ssh.
Практически - есть подозрение, что трудоемкость этого действа может оказаться на порядок-другой выше ожидаемой :)
Кто-нибудь такое делал ? Практическими советами может поделиться ?

UPD: Про uart понял, всем спасибо! (Мог бы и сам сообразить... Но не сообразил:))
  • bigmaxx

Перевод Lua Developer FAQ для прошивки NodeMCU ESP8266

С некоторым опозданием добрался до ESP8266. Сейчас, насколько я понимаю, для него уже наваяли несколько сред программирования, включая порт ардуины. С последней я никогда не дружил, так что выбрал для самообучения NodeMCU c Lua. Въехать в FAQ на сайте поддержки, а тем более постоянно к нему обращаться, оказалось непросто для моего уровня владения английским (и скриптовыми языками): слишком кучерявым стилем написано. Однако сам контент полезный, и, чтобы в нём разобраться, пришлось потратить время и сделать русский перевод. Надеюсь, не сильно там налажал, и кому-то он будет полезен.
ЗЫ: перевел, конечно, Гугл, а я лишь поправил за ним бессмысленные, запутанные и стилистически неудобоваримые места.
поумнеть

дыбр, изорнет-поверх-усб

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

первое, самое на слуху, RNDIS - частично проприетарно
Ethernet Control Model (ECM), Ethernet Emulation Model (EEM) - вроде открытые.
Network Control Model (NCM) - еще один.

а еще есть кучка проприетарной хрени с проприетарными вендор специфик (проверил три разные вифи-усб свистка - там еще страшнее).

собственно вопрос. уже самому стало интересно влезть поглубже и разобраться, что проще/удобнее/стандартнее, ECM, EEM, NCM? какие плюсы-минусы? перспективы поддержки итп?

делать буду переходник на клиенте (усб-раб) с усб на стандартный тцп-ип стек, плюс возьму стандартную реализацию dns/dhcp и простого вебсервера для управления железкой (итого, усб-клиент будет симулировать сеть, в которой есть вебсервер с управляющими страницами).

идею симулировать страдж девицу при аккуратном рассмотрении отверг -- проблемы и с внезапным кешированием на стороне ос, и с поддержкой, например, фат12/16/24 и длинных имен. там оно уж очень криво.
поумнеть

Упоринос

Любопытно. а кто-нибудь уже пробовал сделать нечто подобное влоб, или аналог но немного иначе?

прошивка для какой-нибудь типовой stm32f4discovery. зашиваем в плату, подключаем по микро-усб к компу.

комп видит усб-сетевушку, за ней сеть с дхцп и вебсервером. дхцп помогает компу настроить ип и увидеть вебсервер. заходим на вебсервер и видим веб-интерфейс к управлению какой-нибудь железкой.

минусы решения: очень упорото
плюсы: потенциально, не требует ни драйверов, ни настройки, ни стороннего софта.
поумнеть

Малоногие ARMы

Странный вопрос.
Кто-нибудь игрался с АРМами в малоногих, но паяемых на коленке корпусах?
soic-8, tssop-14 или даже wlp-16?

wlp-16 реально на коленке лутом развести, или не стОит?
"stm32G0" в корпусах типа соик8 обещают, но еще не. или уже?
какие засады с errata, gcc, программаторами?

хочется вообще забыть про малоногие attiny, и что-то типа "измерять одно напряжение, рулить одним ключом, хвастаться о результате по uart/spi/i2c" делать на том же компиляторе, тех же библиотеках, с тем же программатором что и для многоногих stm32f4.

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

ps: на данный момент активно работаю с stm32f407 и капельку с stm32f10x, (g++, lto, opencm, st-flash полностью устраивают. )

pps: капелька оффтопика.
1. c++ на stm32f4 или на иных эмбеддед кто-нибудь использует? плюсы, при грамотном применении, позволяют и объявлять переменные где удобнее, и безопаснее/проще/удобнее делать инициализацию глобальных сущностей типа "uart3" или "timer5". если не злоупотреблять затейливым наследованием и потоками, то кодогенерация практически не отличается от классического С, но добавляется много доп.проверок совместимости типов, булевский тип, итп. вроде сахар, но время и силы экономит.
2. "LTO" (оптимизация во время линковки) кто-нибудь использует? если аккуратно соблюдать Стандарт языка, то побочек от нее нет, а вот код становится и компактнее и быстрее. компактнее - иногда вчетверо при слишком дряном исходнике.
3. на свежих gcc (новее 7.х) сочетание stm32f4 + g++ + LTO -- падает на этапе линковки с внутренними ошибками этого самого линкера. грустно. Кто с этим сталкивался? на работе интернет ограничен, попробую дома воспроизвести баги.
  • ardelfi

Телеметрия в броузере

Коллеги, вопрос в формате "как это правильно делается?"

Есть экспериментальная штуковина (на батарейке) с богатым внутренним миром, и в поле действия вайфай-роутера. Её внутренние состояния и всякие параметры хочется видеть в окне броузера на контупере в поле действия того же роутера. Я знаю про модули Х-to-WiFi -- вопрос не о модулях. Вопрос такой: как правильно это делается, чтобы не возиться на стороне контупера с веб-программированием, виртуальными ком-портами и прочим расово-чуждым айти? Проект предельно железный, внутри штуковины только FPGA (без контроллеров), телеметрия нужна лишь для экспериментов. Скорость и дальность неважны. Например, FPGA шлёт данные в порт модуля (I2C или SPI), модуль шлёт пакеты с данными по некому айпи, а дальше как можно это в броузере увидеть (без украшательств), и лог посмотреть и сохранить? Или не в броузере?

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

ESP32 wired ethernet promiscuous mode

Господа и дамы, получится ли встроенный esp32-ethernet порт (не WiFi!!!) запустить в "promiscuous mode", чтобы сделать на этом чуде что-то похожее на wireshark?

Если кто-то считает, что да, может он тогда кинуть в меня примером кода для приема пакета в этом режиме? Мне нужно получить все пакеты, независимо от целевого IP.

Ожидаемая средняя скорость приема данных - около 100кбайт/с.

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

Как правильно эмулировать EEPROM во флеш STM32?

Обычно занимают лишь одну страницу флеша, что кажется расточительным, особенно когда прошивка занимает 8кБ, а флеша 128кБ! Инициализирую так:
typedef struct{
	user_conf all_stored;
	char struct_end[0] __attribute__ ((aligned(FLASH_BLOCK_SIZE))); // this pointer provides size of structure multiple of page size
} flash_storage;

#define USERCONF_INITIALIZER  { \
	.userconf_sz = sizeof(user_conf)	\
    ,.id = "identifier" \
	,.dist_min = LIDAR_MIN_DIST			\
	,.dist_max = LIDAR_MAX_DIST			\
	}

static const flash_storage Flash_Storage __attribute__ ((aligned(FLASH_BLOCK_SIZE))) = {
	.all_stored = USERCONF_INITIALIZER
};

static const user_conf *Flash_Data = &Flash_Storage.all_stored;

И gcc помещает этот блок перед другими константами серии text. А мне нужно, чтобы он был последним и я мог использовать всю свободную память.

Ткните, пожалуйста, в примеры кода, где это реализуется правильно. Может, надо в линкере какую-то секцию указать и эту переменную с нужным смещением из линкера размещать?

P.S. Если кто знает ответ, можно себе увеличить карму на SO.

Schematics: The Heroin Of Electronics Design

Доклад "Schematics: The Heroin Of Electronics Design" от Dave Vandenbout на KiCon 2019 заслуживает внимания. Вероятно не все видили этот пост от ramlamyammambam. Использовать Питон для создания принципиальной схемы с помощью утилиты skidl это свежо.