Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
 Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
10
LizaNyliza
LizaNyliza
3 года назад

Nvidia nano Jetson или Raspberry pi 4B для новичка?⁠⁠

Привет Пикабу!
Я не очень умею писать, так как не очень общительная, это мой первый пост, не судите пожалуйста строго :)

Знающие люди помогите советом по выбору одноплатного компьютера. Я учусь на втором курсе "на программиста" и в последние пол года заинтересовалась робототехникой. Перепрошла школьный курс физики затем ТОЭ и несколько книг ( Рудольфа Свореня и Юрия Ревича и Чарльза Платта и т. д.) по электронике, а сейчас только начала изучать STM32.

И тут передо мной встал вопрос, а какой выбрать одноплатный компьютер. Так как появилась идея сделать в течении ближайших 6-8 месяцев один интересный проект со слежением за летающим объектом и нейросетью, но микроконтроллера под него не хватит.

Я читала про Nvidia nano jetson, он как раз специализирован под нейронные сети. Однако я боюсь что не смогу разобраться в нём с налёту. Как считаете могу ли я взять "для учебы" с начала Raspberry pi 4B, а потом уже полученные знания (в интернете вроде много материалов по нему) применять для более продвинутых систем? Просто боюсь что малина окажется чем то вроде Ардуино в микроконтроллерах, то есть слишком высокоуровневой штукой пригодной лишь для обучения детей или как хобби для взрослых, и что знания полученные на малине особо не пригодятся. Или же можно начинать с неё?

Заранее большое спасибо!

Nvidia nano Jetson или Raspberry pi 4B для новичка? Электроника, Микроконтроллеры, Arduino, Raspberry pi, Nvidia, Программирование, Физика, Компьютер, Embedded, Компьютерная помощь
Показать полностью 1
[моё] Электроника Микроконтроллеры Arduino Raspberry pi Nvidia Программирование Физика Компьютер Embedded Компьютерная помощь
22
10
atk27
atk27
4 года назад

Как я упоролся с одним фриланс сервисом⁠⁠

Мой первый пост, не кидайте тапками, чукча не писатель, Grammar Nazi будет негодовать, лонг-рид.


Давно читаю пикабу, периодически возникает желание поделиться чем-то, особенно когда подворачивается интересная тема, но все никак руки не доходили. А тут вот – закончился трудный рабочий день, а вместе с ним и серьезная исследовательская работа, появилась из подвала пара-тройка баночек пива, хорошее настроение, свбодный вечер, и – поехали! (правда дописал пост я на следующий день)


Забавляюсь перепиской со службой поддержки мошеннической фриланс платформы. На данный момент это уже 5+ месяцев, недо-300 писем в обе стороны (примерно 50%50 – они пишут, я отвечаю). Сумма смешная, в положительный исход не верю, зато нашу переписку нахожу очень забавной. Да и вообще, каждый развлекается как хочет: они воруют, я переписываюсь с ними, стараюсь не давать закрыть тикет.


Но обо всем по порядку. Сначала про мой путь джедая фрилансера.


Когда у нас начался локдаун в марте-апреле, проект в котором я работал решили «оптимизировать», и все контракторы, в числе которых был и я, ушли на китайскую гору. С работодателем нам вполне повезло - меня не уволили, хотя и сократили рабочие часы с 8 до 4, что привело бы к сокращению и зарплаты в 2 раза, но т.к. были еще и всякие бонусы, которые остались неизменными, просто доход похудел на 35-40%, что неприятненько, но приемлемо.


Свободного времени оказалось более чем достаточно, особенно учитывая устоявшиеся привычки много путешествовать и очень много работать, так что я активно занялся допиливанием залежавшихся «несрочных» проектов накопившихся за последние 5 лет. Когда таковые начали заканчиваться, надо было что-то решать. Самый простой и очевидный способ – найти новую работу, но в условиях локдауна и ряда других, как личных, так и профессиональных обстоятельств, взвесив все «за» и «против», я вспомнил волшебное слово «фриланс».


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


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


Итак, начал я параллельно с двумя этими площадками, но первая меня немного разочаровала количеством проектов по моей теме (embedded sw/sw+hw development), и еще там было пару моментов, которые тануна хоть и не cущественны, но неприятны лично для меня. А вот на второй площадке оказалось проектов не в пример больше, что придало мне идиотизма оптимизма и веры в себя.


На подобных платформах обычно играет роль рейтинг, т.е. количество выполненных проектов и положительных отзывов. У меня рейтинги были по нулям, их надо было прокачать. Время есть, тылы прикрыты - какое-никакое финансирование на это время имеется, так что целиться на заработок прям с самого начала не обязательно, и можно спокойно прокачать рейтинг. Проектов по embedded в целом немного, куда можно попасть с низким рейтингом - вообще нет еще меньше. Как правило, 3-5 проектов надо иметь выполненных отлично, и уже можно выбирать куда подавать заявки. Для прокачки профиля в таких условиях, я вывел для себя четыре основных правила:

1. Читаю описание проекта внимательно, не смотрю на стоимость, подаю заявку если смогу выполнить проект быстро и в срок - подаюсь, цену ставлю около медианы по уже поданым другими соискателями заявкам. Никаких «а, не, тут мало бюджета», никаких «о, тут $100 бюджета, но это нереально - работы на месяц, поставлю-ка я $5к».

2. Проект выполняю так, как будто бы от этого зависит моя жизнь – качественно, внимательно пересматриваю код, тестирую все по 10 раз перед отправлением, обязательно - на железе (выбору дев-бордов и контроллеров у меня позавидует mouser среднего размера магазинчик). Никаких «я так уже делал, оно будет работать», никаких «в симуляции взлетело – отправляю». Всегда только тесты, только на железе, только в релизе.

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

4. Заявки не отменяются: подал – значит подал, приняли – значит я работаю. Так что никаких «подам, а если что – потом подумаю и откажусь».


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

Второй проект нашелся сразу же, мы обсудили сроки, дополнительные условия (хороший отзыв – всегда часть сделки; заказчик английским не владеет, так что напишет отзыв на русском, я переведу, и он выложит), и я приступил к работе.


И проект был не очень сложный, и контроллер этот знаю вдоль и поперек, и трудностей особо не было, и с со всеми модулями этого проекта работал раньше, и все есть у меня в наличии, и все должно было бы закончиться хорошо. Не то чтобы совсем гладко – были моменты (я написал спецификацию, заказчик утвердил, потом просил внести правки разной сложности на разных этапах готовности - короче все как обычно, хе-хе), но в целом неплохо. И все вполне быстро взлетело. У меня. А вот у заказчика – ну никак не взлетает! Один датчик, как раз самый важный, отказывался выходить в рабочий режим, а без него весь проект теряет смысл. Я даже поменял тестовую борду: я делал на аналогичной, прошивка бы взлетела и на искомой борде, но раз уж что-то не заработало, то просто пошел и купил борду "в точности как у заказчика" (примерно треть цены проекта, но в любом случае борда не скиснет), результат, как и ожидалось, не изменился.


Те, кто в теме, знают: такое бывает. Как примеры, только за последние полгода из моего личного опыта (с начала лета, если точно):

* «У меня ничего не работает! Да, все перемычки как ты написал! Да, сверился с фоткой которую ты прислал! Да, все провода подключил! Да, питание в норме, выходы с датчиков есть, плата не стартует!». Приезжаю (~80км в одну сторону), спрашиваю «а это что?» - «ой! Перемычка! Да я ж ее проверял! Была на месте! Как так же ж?», перестваляет перемычку, все работает, мы пьем кофе, курим, я еду обратно.

* Еще пару раз было скромнее и ближе – 20+ км пути чтобы, например, батарейки перевернуть  - хорошо что защиту от переполюсовки решил поставить. Ну и третий пример аналогичен по своей глупости и расстоянию.


И это все случаи после того как мы по скайпу/вайберу перепроверяем все, я подробно пишу и рассказываю что может помешать запуститься, да и люди с другой стороны – толковые инженера, с которыми мы сработались, не первый раз работаем вместе. Так что человеческий фактор часто решает многое. Бывает человек устал, или торопится, или просто "замыленый глаз", или еще 100500 всякого разного. Итог один: бы-ва-ет.


В этом же проекте на стороне заказчика было очень много соединений проводками, большинство просто соединены (не припаяны), плюс ко всему – собиралось с нуля заказчиком. Так что явно было и что, и как перепутать. Добавим ограничения фриланс площадки: общение только на сайте, видеозвонков нет (впрочем, кажется и голосовых тоже), а в сообщениях даже продвинутые и опытные электронщики могут что-то пропустить, а заказчик явно не из продвинутых, и даже не из средних. Я делал все что как мог: отвечал на сообщения в любое время дня и ночи (часовые пояса у нас, как я понял, разные), подсказывал, рассказывал, моделировал у себя, делал фотки подключения, снимал и отправлял видео как сборки, так и работы.


В итоге заказчик подтвердил проект (i.e. перевел деньги), списав проблему на неисправный датчик (хотя у меня было много сомнений что проблема в этом), и заказывает новый. После этого я пообещал в любое время помочь запустить. Да и вообще я вообще всегда с радостью поддерживаю свои старые проекты спустя даже очень продолжительное время (типа несколько лет), хоть и с оговоркой «в рамках заказанного и оплаченного проекта, правильно эксплуатируемого оборудования и корректно заданных вопросов – всегда бесплатно, если доработать или заказчик испортил оборудование - то уж, будьте добры, готовьте кошелек», так что в этом случае –  так вообще всегда с радостью.

Отзыва я так и не дождался, заказчик на связь вышел один раз, написав что новый датчик не решил проблемы. Я напомнил что готов помочь, можем колдовать дальше, на что получил ответ "уже, наверное, не стОит". У меня очень неприятный осадочек проект оставил – не люблю когда заказчик не доволен результатом (та даже когда доволен, но не в восторге - уже не так хорошо), мне очень жаль что не смогли все запустить с его стороны, и даже увереность что я сделал все возможное (и немножко больше) со своей стороны, не сильно успокаивает: явно же какая-то мелочь ушла от внимания!


Потом был (нет) еще один заказчик, которому нужен был мой специфический опыт в classified закрытой теме, с почасовой оху достаточно высокой оплатой, и могло бы все закончится красиво для всех – я за полгода-год заработал бы несколько килограмм денег, заказчик был бы с качественно выполненным проектом, фриланс-площадка – со своим процентом. Но все уперлось в обсуждение деталей: общение за пределами площадки не допустимо по правилам площадки (и все попытки рубятся в мессенжере достаточно серьезно, да и мне не особо хотелось нарушать правила), голосовой звонок не возможен (как минимум до «подписания контракта», а может и просто нет такой фичи у них), готовой точной спецификации и стадии готовности сопряженных устройств у заказчика не было, в тексте обсуждать такими темпами (заказчик долго отвечал) такие объемы деталей – так на полгода переписки при попутном ветре, ну а я не берусь за работу если не уверен хотя бы на 99.9999% что все сделаю качественно и вовремя. Проект был вкусный, я связывался с тех-поддержкой "фрилансера" с объяснением ситуации и просьбой разрешить в виде исключения общение за пределами площадки, и, естественно, получил отказ. Так что со слезами на глазах было принято волевое решение не подавать заявку на очень вкусный проект из-за правил площадки.


Ну и наступает момент истины - пора бы подержать в руках свои пиастры! Пора выводить деньги! Подаю запрос - вывести все (там только два проекта, суммы детские, так что в основном надо было проверить работает ли главная функциональность сайта!). Первый вывод денег занимает сколько-то там дней (неделю, что ли), и я терпеливо жду. И вот в тот день когда был трансфер, мне вдруг приходит письмо с отличной новостью - денег за второй проект я не получу по причине «подозрительной активности в аккаунте». Зашел в свой аккаунт, вижу - типа transfer pending, и обратный отсчет от 30 дней. Типа "не волнуйтесь, в течение этого времени все будет решено, деньги получите, никаких действий от вас не ожидается". Ну хорошо, я не голодаю, подожду свои $100, месяц – не есть проблема. Хоть за первый проект деньги успешно вывелись, уже хорошо!


Работать пока не получу в руки уже заработанные деньги я не захотел, проверял только активные заявки на проекты, но никто не отозвался. Прошло чуть больше месяца, я зашел на сайт посмотреть как там дела. А там счетчик дней – минус 3 дня! О как! Ну что ж, пора писать в тех-поддержку!


Пишу – так, мол, и так, я вот тут проект выполнил, заказчик подтвердил, перевод на месяц заблокировали, не хорошо, ну да ладно, раз уж вам так надо – пользуйтесь моими мульйонами, я подожду. Но вот кагбэ уже прошло 30 дней, и счетчик ушел в минус. Нет ли у нас, уважаемые, какого-то пути, чтобы не переполнять int32 счетчиком дней по моему проекту? Или до скольки он считать вообще будет? (дисклеймер – до -118 только)


Служба поддержки отвечает что есть какие-то проблемы безопасности, и для моей же безопасности деньги у меня отняли и хрен там отдадут. Сначала я принял все как должное – ну кинули, бывает, если им нужнее – пусть подавятся оставят себе, с меня не убудет. Но тут черт меня дернул уточнить – как же ж так, дорогие серы и мьсё, выходит, что для моей же безопасности у меня отжимают мои же кровно заработанные? Да и вообще, что произошло? И вот тут началось такое, что остановиться я так до сих пор и не смог... было то интересно, то смешно, то тупо. В общем, судите сами.

Суть переписки в общем сохранена, хотя и скорее тезисно, стиль схож, а вот хронология – не очень. Копипастить все письма не стал - напомню, под три сотни, и чаще на пару страниц, чем на пару строчек, так что мне было бы долго, а вам - скучно.

Итак, поехали:


(я) - Вы крадете у меня для моей же безопасности?

(fl) - мы не крадем, мы временно блокируем. деньги на вашем счету, просто заблокированы.

(я) - Нет, простите, все что у меня на счету – я могу использовать, если нет проблем с моим счетом. Скажите как я могу исправить ситуацию со своим счетом, какие вам документы предоставить, и отдайте мне мои деньги.

(fl) - проблемы со счетом у вашего job poster ака заказчика, и как только заказчик решит проблемы со своим счетом - мы разблокируем ваш вывод денег. мы только что отправили ему письмо (речь идет, естсественно, об email).

(я) - только сейчас отправили? а как же этот месяц, что я терпеливо ждал (в оригинале была эпичная фраза Шелдона - I suffered in silence)? и вы только сейчас решили отправить письмо?

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

(я) - так. то есть вы отправили уже несколько писем заказчику, потому что есть какие-то проблемы с его аккаунтом. и он не ответил вам. и времени прошло уже более месяца. а вам не кажется что, возможно, он и не ответит? и вообще, подождите, какое отношение проблемы со счетом третьего лица имеют к моим деньгам? Вы проверили все данные на момент заключения сделки, взяли деньги с заказчика, и после того как деньги были переведены мне – возникли какие-то проблемы? После окончания заказа и подтверждения оного заказчиком, мы с ним вообще никакого отношения друг к другу не имеем! Вы провели свою проверку безопасности до перевода? Провели. Деньги мне перечислили с проверенного аккаунта? С проверенного. Какое отношение теперь какие-то ваши проблемы с безопасностью счета третьего лица имеют к моим заработанным деньгам?

(fl) - когда вы заключали сделку, проверка была пройдена и все было хорошо. Потом, по причине подозрительных действий, мы заблокировали счет заказчика. Не беспокойтесь, мы уже отправили письмо заказчику чтобы он решил все проблемы со счетом.

(я) - заказчик не говорит на английском, скорее всего зарегистрировался на сайте только для этого проекта, и с его стороны, я уверен, все выглядит отлично: зарегистрировался, запостил проект, выбрал исполнителя, заплатил, получил решение, освободил платеж, исчез. Ваши письма игнорируются, давайте искать другой путь.

(fl) - мы можем предложить вам 3 месяца премиум бесплатно, вы сможете найти больше проектов. Мы отправили еще одно письмо заказчику с просьбой доказать происхождение денег. Как только он подтвердит законность его денег, мы освободим платеж. Пишите если есть еще вопросы.

(я) - 3 месяца премиум? Что, простите? Чтобы я больше нашел проектов, из которых у вас будет больше выбор что воровать? Серьезно? Нет, спасибо, я дождусь получения этого платежа, а там посмотрим. До того как вы вернули мне мои деньги, такое предложение звучит оскорбительно. Еще одно? То есть вам не ответили на первые N, вы думаете – почтовых голубей застрелили по пути? Или в проводах потерялись? Или как? Если вам не ответили на первые N, то у меня есть большие сомнения что вам ответят на следующие: мне кажется вас просто игнорируют! Вопросов других у меня не будет пока мы не решим первый и основной: где карта, Билли? Верните деньги!

(fl) - Спасибо что обратились к нам с вашим вопросом. Мы хотим вам сообщить что мы написали еще одно письмо заказчику. Также мы просим обратить внимание на пункт 18 наших правил, на основании которого мы заблокировали ваш платеж, мы не воровали у вас деньги.

(я) - (смотрю этот пункт 18 – там 4 подпункта, ни один не соответствует ситуации) а какой подпункт этого пункта 18 соответствует ситуации, укажите, пожалуйста, если не сложно.

(fl) - пункт 18 наших правил, да. Прочтите, пожалуйста. И свяжитесь с вашим заказчиком, попросите его решить проблемы на нашем сайте.

(я) - (захожу на страничку заказчика – заблокирована) хм. Простите. Согласно вашим правилам, я не имею права связываться никаким образом с заказчиком вне вашего сайта – из-за этого я мля проморгал кошерный проект! А теперь – «свяжитесь»! Вы сами читали ваши правила? На основании какого подпункта этого пункта 18 ваших правил вы заблокировали мои деньги?

(fl) - на основании пункта 18 же! Свяжитесь с заказчиком, попросите его решить проблемы с его аккаунтом, это же в ваших интересах!

(я)  - ребята, он уже не мой заказчик. Сразу после того как подтвердил выполнение мной проекта. В то время у него с аккаунтом не было никаких проблем. Так что, как по мне, теперь это ваша головная боль. Для меня все просто: я зарегистрировался, отправил вам мой паспорт, свои данные, телефон, имейл, что вы там еще хотели, привязал банковский счет, еще чего. Нашел проект, подал заявку, меня выбрали, я заплатил вам ваши 10%, выполнил проект. Верните мне мои деньги!

(fl) - уважаемый пользователь, уделите немного вашего времени и прочитайте наши правила! Мы имеем правило заблокировать ваш платеж согласно п.18 наших правил. Свяжитесь с заказчиком, пусть он решит свои проблемы, и мы разблокируем ваш платеж!

(я) - а вы не могли бы прочитать свои правила? Аккаунт заказчика заблокирован! У меня про заказчика есть только название страны со 150+млн жителей, упоминание про небольшой городишко (коих вряд ли меньше сотни), почти наверняка - пол, и возможное (даже не 50%50) имя заказчика. Мне что, лететь в Россию, искать? Или как вы предлагаете мне связаться с заказчиком? Согласно вашим правилам, нельзя общаться напрямую, у вас тут нельзя обмениваться контактами, вы заблокировали заказчика. Расскажите как вы видите исполнение вашей рекомендации – «свяжитесь» ! Мне интересно! (ниже идет копи-паста этой части 18 их правил, под каждым из нескольких подпунктов подписано почему я считаю что это не применимо к моей ситуации, и вопрос – согласно какого подпункта именно они заблокировали платеж)

(нет ответа, через 2 суток без активности тикет закрывают).

(я со словами "непорядок!" и "утомили!" переоткрываю тикет)

(я) - денег я так и не получил, тикет не надо закрывать.

(fl) - спасибо что связались с нами! Мы уже связались с вашим заказчиком, как только он устранит проблемы со своим аккаунтом, мы вам вернем деньги. Мы можем предложить вам бесплатно премиум-аккаунт на N месяцев, чтобы вы смогли быстрее компенсировать ваши потери на данном проекте.

(я) - вы ж понимаете что для меня это звучит как «когда солнце встанет в количестве двух штук, а уйдет в закат в количестве четырех котенков, мы вам вернем деньги». Про «премиум» я вам уже говорил, будьте добры, потратьте немного времени на прочтение предыдущей переписки по данному тикету. Я не хочу работать над тем чтобы компенсировать то что вы украли. У меня есть сомнения в надежности вашей площадки, если вы воруете даже такие копейки у начинающих пользователей. Я не знаю зачто вы берете комиссию в 10%, если вы не обеспечиваете безопасность. Давайте думать другой вариант! Если вы отправили уже больше десятка писем, и вам не ответили, вы что, серьезно думаете что отправить еще одно – как раз есть решение проблемы? Вы, скорее всего, еще после третьего письма оказались в спаме, или брокированы. Какие у нас есть альтернативные варианты?

(fl) - а давайте мы вернем деньги заказчику, а вы с ним свяжетесь чтобы он их вам передал? Или мы можем отправить еще одно письмо.

(я) - В каком смысле: оправите мои деньги кому-то? Я не даю свое согласие вам распоряжаться моими деньгами на моем счете (а по вашим многократным заверениям это так и есть – деньги мои, и на моем счете). Мои деньги должны быть переведены на мой банковский счет. Без вариантов. Желательно два месяца назад, в крайнем случае сейчас. В каком смысле: я потом свяжусь с заказчиком, чтобы он мне их перевел? Как я свяжусь? Я кроме страны (в которой 150+млн жителей) ничего не знаю. Как мне по таким критериям связываться с заказчиком? Почитайте свои же правила – там написано что так нельзя! Давайте не будем их нарушать? Переведите. Мне. Мои. Деньги. И, будьте добры, читайте переписку, или хотя бы последний вопрос, перед тем как отвечать на него.

(fl) - нам нужно подтверждение происхождения денег у заказчика, мы хотим удостовериться что эти деньги не есть результат преступной деятельности. Пока заказчик не подтвердит происхождение денег, мы не сможем их освободить. Это сделано в целях вашей же безопасности. Мы по-прежнему можем предложить вам 3 месяца премиум бесплатно (в переписке данное непристойное предложение мелькало существенно чаще).

(я) - заверяю вас, единственная опасность для моих денег – это ваш сервис. Больше ничего моим деньгам не угражает. Если что-то и есть – я готов принять все возможные риски на себя. ВЕР-НИ-ТЕ ДЕНЬ-ГИ! Я слышу ваше предложение премиума бесплатного как «ты лох, давай, ипашь, а мы будем воровать», так что если мне еще раз предложат – я не могу обещать что смогу продолжать культурно вам объяснять почему это оскорбительно. Будьте добры, оставьте ваш премиум для тех у кого вы не воровали. И читайте письма перед тем как на них отвечать – вам за это платят.

(fl) - мы не воруем деньги. Они на вашем счету, просто заблокированы.

(я) - (скидываю ссылку на вики где описано что такое есть воровство: изъятие материальных благ без согласия и без возможности собственника воспрепятствовать, и без последующей передачи обратно; привожу аргументы – я не могу восприпятствовать, вы изъяли, я с этим не согласен; возвращать вы собираетесь только в случае «если солнце взойдет на севере, и их (солнц) будет три». Это вообще не вариант решения, это – отговорка. Попросил подумать над альтернативными вариантами).

(fl) - мы просим вас ознакомиться с нашими правилами. Согласно п.18 мы заблокировали ваш платеж. Учтите: мы только площадка для встречи фрилансеров с заказчиками.

(я) - о! Итак, ваша коллега сказала что деньги на моем счету (хотя это не так, ибо на своем счету я могу пользоваться деньгами, или знаю что мне надо сделать чтобы мог, но это же не наш случай, верно?). Теперь вы говорите что вы – только площадка? Так не лезьте не в свое дело, и не блокируйте мои деньги, пока у заказчика нет претензий к качеству работы! У заказчика ж нет претензий? И отлично! Раз уж вы, будучи только площадкой для встречи, по ошибке, заблокировали мои деньги, то ОСВОБОДИТЕ МОЙ ПЛАТЕЖ, причем лучше чтобы полгода назад! Ладно, уже, наверное, не успете. Хорошо. Давайте перенесем на сейчас. Вот прямо сейчас и разблокируйте! Спасибо за понимание. Жду деньги и извинения.

(fl) - свяжитесь с заказчиком чтобы он решил свои проблемы на своем счету, это в ваших интересах, содействуйте со своей стороны.

(я) - ребята, это ваша работа. Давайте так: вы не будете заниматься моей работой, а я не буду делать вашу работу! У меня к заказчику претензий нет: он опубликовал проект, я подался, он оплатил, я выполнил, от подтвердил. По идее я должен был получить свои деньги, которые через вас просто передали мне, а вы хотите не только свои 10% взять, а еще и остальные 90% не отдаете! Апворк, например, покрывает такие проблемные случаи, даже если заказчик не заплатил (есть там как провернуть такую махинацию, проверено – таки апворк платит фрилансеру, а потом разбирается с заказчиком). А вы? Это у вас такая бизнес-модель? Воровство и мошенничество? В моем понимании, такие сервисы берут высокую комиссию для обеспечения безопасности сделки, и являются гарантом. Так же написано и у вас в правилах. Только работает у вас все наоборот – взять 10% чтобы потом случайным образом украсть и остальное? Через вас их просто передал заказчик мне, вы оставили свой процент (на самом деле сняли у меня со счета при подписании контракта, но не принципиально), и потом вы должны были мне эти деньги перевести. Про какую безопасность идет речь? Только вы представляете угрозу моим сбережениям в данный момент!

(fl) - поймите, таковы правила: нам нужно подтверждение происхождения денег у заказчика! Мы отправили ему еще одно письмо, как только заказчик решит проблемы со своим аккаунтом – мы вам переведем деньги. Это сделано в целях безопасности. Транзакция заблокирована как связанная с риском.

(я) - Происхождение денег? Хм. Давайте подумаем. Заказчик зарегистрировался на сайте для того чтобы найти исполнителя единственного проекта (собсна и я так оказался на вашем сайте много лет назад), опубликовал проект, внес сумму вам как гаранту, выбрал меня для выполнения проекта, получил свой проект, подтвердил что все ОК, и больше сайтом не пользуется.Так что, во-первых, ему не интересно ничего вам предоставлять, никакие документы: зачем? Проект выполнен, деньги переведены. Все отлично, и его совесть чиста! Во-вторых, Если я правильно понял вашу формулировку про «происхождение денег», то... вы блин шутите? думаете что эти $100 получены за торговлю наркотиками/оружием? Вам что, справку о доходах надо? Или справку из налоговой, что нет задолженности по налогам? Что вообще у вас происходит? В-третьих, если вы – только площадка, то не лезьте не в свое дело, и разблокируйте платеж. Если вы фриланс-платформа, то переведите мне деньги за работу, и решайте потом проблемы со счетом заказчика сколько угодно! В-четвертых, «Рисковые операции» со счетом – вы боитесь что будет запрос на возврат денег? Так через несколько месяцев после платежа нереально ни с какой платежной системой, на сколько мне известно. У меня нет доступа к информации о виде платежа и платежной системы заказчика, а у вас есть. Вы проверяли эту информацию? За что вы получаете зарплату?

(fl) - спасибо что вы связались с нами. Мы только что отправили еще одно письмо заказчику с просьбой решить проблемы с его аккаунтом. Как только это будет выполнено, мы вас обязательно уведомим.

(я) - этим письмом я ставлю вас в известность: я собираюсь предоставить все детали и подробности, включая, но не ограничиваясь: письмами из данной переписки и деталями проекта, со своим адвокатом, для дальнейшего составления претензии и передачи ее в суд, и при необходимости и с другими лицами.

(конечно же я понимал что овчинка выделки не стОит и до разговора с адвокатом, который дал вполне очевидный ответ в своем стиле: «какая-какая сумма? $100к? А, просто $100? тышо, atk27, совсем плохой стал? вот так плохо живут сейчас програмисты-электронщики? тебе денег дать до зарплаты?», но я все же предыдущее письмо написал и отправил. Возражений не было, так что теперь я имеию законное право выложить эту всю переписку сюда, хоть в полном объеме, хе-хе)


Несколько раз тикет закрывали: я не знал про 48 часов бездействия, потом думал что только с моей стороны, т.е. если я отправил письмо, а мне не ответили, то тикет не смогут закрыть; потом не уследил за этими 48 часами. Было очень много повторений ответов и вопросов, вроде «ждите, мы отправили еще одно письмо» и «деньги ведь на вашем счету», но им таки еще есть чем меня удивить - встречаются настоящие жемчужины, вроде "мы просто площадка для встречи фрилансера и заказчика".


Помимо того что это интересно, и стало своего рода хобби, мне кажется что я еще делаю доброе дело: данный сервис аналогичным образом упер деньги кмк явно больше чем у тысячи пользователей. Если бы каждый с ними обменялся 300-500-10,000 письмами, они бы, может быть, не так свободно мошенничали.


В последнее время была запарка на работе, и писать длинные письма перестал, но давать закрывать тикет им не хочу, так что ограничивался стандартным «здравствуйте. Заказчик ответил уже? Вы не обдумали возможные альтернативные решения без участия заказчика? С наилучшими пожеланиями, А.»


Немножко скринов:

Как я упоролся с одним фриланс сервисом Embedded, Первый пост, Фриланс, Фрилансер, Микроконтроллеры, Упоротость, Мошенничество, Длиннопост, Негатив

счетчик дней замер на минус 118 дней, дальше - то ли его остановили после очередного письмо, то ли дальше не считает.

Как я упоролся с одним фриланс сервисом Embedded, Первый пост, Фриланс, Фрилансер, Микроконтроллеры, Упоротость, Мошенничество, Длиннопост, Негатив

ну и количество писем в нашей оживленной переписке:

Как я упоролся с одним фриланс сервисом Embedded, Первый пост, Фриланс, Фрилансер, Микроконтроллеры, Упоротость, Мошенничество, Длиннопост, Негатив

Морали никакой нет, есть только совет - проверяйте отзывы сервисов, которыми собираетесь пользоваться. Даже если зарегистрировались там давно: время идет, качество уровня услуг не есть величина постоянная во времени.


Баяномер упоминал картинку "минпромторг России" и постик "с днем рождения".


Тег "записки фрилансера" вроде подходит, про "микроконтроллеры" не особо упоминались напрямую, но, может, больше коллег прочитают, може кому будет интересно. "упоротость" как по мне имеет место быть. Что еще из тагов добавить - даже не знаю. Рекомендуют тег "негатив", но я не согласен, ибо настроен позитивно, и с юмором смотрю на ситуацию, старался и постик в этом ключе сделать.

Фейл мой, упоротость моя, тег «мое».
Показать полностью 3
[моё] Embedded Первый пост Фриланс Фрилансер Микроконтроллеры Упоротость Мошенничество Длиннопост Негатив
8
648
kolyandex
kolyandex
6 лет назад

Расширяем функционал штатной аудиосистемы⁠⁠

Всем привет. Являюсь обладателем десятилетнего японца, в котором меня все устраивало, за исключением штатной аудиосистемы - в ней отсутствовал Bluetooth. Передо мной стояло три варианта решения этой проблемы:


1. Купить затычку в прикуриватель и не выпендриваться.

2. Купить на разборках за немалые деньги штатный блок Bluetooth + голову поновее.

3. Сделать что-либо самому, но так, чтобы не урезать имеющийся функционал.


Как вы поняли из названия, я выбрал путь номер 3. (не тот, о чем вы подумали)


Итак, имеем:


Штатная аудиосистема, которая состоит из головного устройства и панели, которая выглядит так:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

В ней есть режим AUX, который позволяет подключать внешние устройства для прослушивания музыки. Почему бы не воспользоваться им в своих целях? Примерное тз - сделать так, чтобы определенной комбинацией клавиш запускался режим AUX, но в то же время все данные на экране полностью переходили под наше управление и звук в AUX перенаправлялся из Bluetooth модуля. Будем разбираться с проблемами по мере их поступления.


Задача: выяснить, как осуществляется обмен данными между панелью и головой.


К счастью, в открытом доступе можно найти мануал со схемой, из которой становится ясно, что интерфейсом между головой и панелью является обычный UART, он же COM порт на ПК.

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Далее был пущен в ход логический анализатор, которым была определена скорость и протокол обмена между головой и панелью. (Частота обновления экрана 10 кадров в секунду, частота сканирования нажатий 30 мс). В итоге был получен результат в виде Hello World, знакомого каждому программисту =)

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Следующим шагом был этап выбора микроконтроллера для реализации этой содомии) Выбор пал на STM32F103, на борту которого целых 3 UART и есть поддержка CAN шины (почему бы не добавить и ее). В качестве Bluetooth модуля изначально был куплен CSR8645, первая версия была с ним, но он не мог выводить названия треков, а также не имел управления по цифровой шине, поэтому был куплен прямо from USA модуль под названием Bluegiga WT32i, в котором было все, что нужно и даже больше - поддержка вывода цифрового звука и поддержка lossless кодека AptX. В течение пары месяцев, когда было свободное время велась разработка прототипа. Были познаны все ужасы HAL и прелести SPL. Досконально изучены UART и DMA в микроконтроллере, т.к. связать все это вместе и чтобы оно работало без тормозов и сбоев было необходимо.


Отладка обмена:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Отладка и настройка Bluetooth-модуля с внешним ЦАПом

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Затем все это добро было внедрено в головное устройство, но так, чтобы можно было без проблем прошить и снять для доработки. В качестве интерфейса был задействован кабель HDMI и разъем из мертвого ноутбука. Изнутри все выглядело так:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Снаружи вот так:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Корпусом выступил старый блок питания от ноутбука.


После того, как все было отлажено и код написан пришло время разводить печатную плату под это дело, а также выносить это все за пределы головы, чтобы в любой момент можно было убрать этот колхоз и не нарушить работу машины. В итоге получилась такая красота:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Ну и результат после месяца ожидания:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

На фото и модели платы немного отличаются, был добавлен CAN трансивер и еще по мелочи.


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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Корпусом выступил все тот же блок питания.


Далее был добавлен CAN трансивер, с помощью которого можно получать кучу интересных и не очень данных из CAN шины автомобиля. Я пока использую только вывод расхода топлива в час, т.к. штатный бк такой функцией не обладает.

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Вид в сборе

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Ну и видео работы

Примечание. Как вы могли заметить, русский текст выводится транслитом, более-менее умным. Например буква ч заменяется на ch и т.п., чего штатными средствами достичь никак бы не удалось. Ну и в добавок поддержка lossless аудио.


Если кто захочет повторить, пишите, у меня еще осталось 9 плат. Прошивку скину :)


Тем, кто жаждет подробностей. Задействованы все 3 UART. Один на дисплей, один на клавиши и один на Bluetooth модуль. Звуковой поток переключается аналоговым мультиплексором. CAN используется тоже из STM32. Стоит внешний ЦАП PCM5102, звук очень недурный. Подключается между головой и проводкой автомобиля. Разъемы были найдены на разборке за дофига денег)


Вышло дороже, чем купить штатную систему Bluetooth, но удовольствия от разработки оно принесло намного больше)


iam@kolyandex.su

Показать полностью 12 1
[моё] Своими руками Электроника Mitsubishi Embedded Stm32 Видео Длиннопост
178
27
kababok
kababok
6 лет назад
Жизнь пикабушников за границей

Embedded world 2019 в выставочном центре Нюрнберга⁠⁠

Всем интересующимся хотелось бы сообщить или просто напомнить, что на следуюшей неделе, во вторник 26.02.19 в выставочном центре г. Нюрнберг стартует одна из самых крупных международных выставок в сфере embedded electronic («встраиваемые системы») — embedded world 2019.

Выставка проходит, как обычно, на протяжении трёх дней — и предоставляет массу интересного материала для ознакомления с самыми новыми тенденциями в сфере современной электроники и соответствующего программного обеспечения — а также в отраслях промышленных автоматизации, робототехники, цифровых технологий и всяческих сетевых тенденций (Интернет Вещей/IoT и прочие плюшки).

В этом году упор делается на всевозможные типы дисплеев, человеко-машинные интерфейсы (HMI), машинно-машинную коммуникацию (M2M), графические оболочки пользователя (GUI) и многом другом.


Маленькая хитрость

На стенде издательства «Weka Fachmedien» после заполнения небольшого опросника вы получите возможность бесплатно подписаться на целый ряд обычно недешёвых профессиональных журналов по разработке электроники, по электротехнике, промышленному дизайну и современной автомобильной электроники. Абонемент автоматически НЕ продлевается и не становится платным — так что вы ничем не рискуете (но бланк всё же прочитайте перед подписыванием :).


Бесплатные билеты

Бесплатные билеты раздают вот здесь:

www.messe-ticket.de/Nuernberg/embeddedworld2019/Regis...



Разное

Собственно, как интересное могу порекомендовать стенд компании Vector (он один из самых больших) — там софт и железо для разработки и калибровки автоэлектроники представлены, ими все автопроизводители и поставщики автокомплектующих пользуются.

Недалеко находится и стенд их прямого конкурента, компании ETAS — но у «Вектора» обычно гораздо информативнее, интереснее и насыщеннее, хотя с ETAS работают непосредственно, например, BMW и Volvo.

Показать полностью
[моё] Германия Нюрнберг Embedded Выставка Электроника Gui M2m-технологии Текст
7
24
kababok
kababok
7 лет назад
Жизнь пикабушников за границей

Современное автомобилестроение — ликбез. Вводная часть⁠⁠

Статья написана для сайта "Гиктаймс", размещаю и здесь с некоторыми корректировками.
Первые несколько абзацев уже публиковал здесь - в текущей статье они проапгрейдены и расширены.
Если вы интересуетесь темой глубже - рекомендую заглянуть и в комментарии на "Гиктаймс".
Исходная версия лежит по ссылке: https://geektimes.ru/post/298445/

Современное автомобилестроение — ликбез. Вводная часть Германия, Авто, Электроника, Embedded, Техника, IT, Электромобиль, Длиннопост

Автомобили интересны если не только лишь всем, то очень многим. По разным причинам.

В современном быстро меняющемся обществе мир автомобилестроения — один из локомотивов (не побоимся логической тавтологии) многих государственных экономик и, одновременно, «горнило техник наших дней».

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

«Доколе?!» — спросите вы. И будете правы — ситуацию необходимо исправлять.


О себе и о статье

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

Дальнейший текст — своеобразный итоговый конспект знаний и наблюдений, собранных автором из различных источников и из рабочего опыта.

В целях экономии времени всё будет шифром многое будет записываться тезисно — с само собой разумеющейся возможностью обсуждения написанного в комментариях.

Вроде бы всё.

Покатились! (привет, Гётеборг!)


Разбираемся с определениями и терминами

0. Немного о «бортовом компьютере»


Граждане!

Пожалуйста, нигде и никогда в профессиональном общении не используйте определения "центральное управляющее устройство автомобиля", "бортовой компьютер автомобиля" или даже "центральный бортовой компьютер автомобиля"!

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

По сути современное авто являет собой эдакую моторизированную компьютерную сеть с как минимум двадцатью специфическими микрокомпьютерами в своем составе. А в среднем — совсем даже с 30-40-50-60 членами сией сети.

Современное автомобилестроение — ликбез. Вводная часть Германия, Авто, Электроника, Embedded, Техника, IT, Электромобиль, Длиннопост

Один из вариантов иллюстрации, представляющей обзорную структуру коммуникационных сетей автомобиля.
Таких картинок в сети — море, еслишто.

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

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

Да, некоторые производители гордо именуют маленькое окошечко, расположенное за рулевой колонкой между тахометром и спидометром, высоким именем «бортовой компьютер» (на прошлой неделе, например, за этим занятием был замечен «Форд»).

Современное автомобилестроение — ликбез. Вводная часть Германия, Авто, Электроника, Embedded, Техника, IT, Электромобиль, Длиннопост

Вот он, этот сеньор с гордыми амбициями

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

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

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

1. Есть ECU, а есть ECU
Итак, в подавляющем большинстве профессиональных публикаций по автотематике под аббревиатурой «ECU» понимается «Electronic Control Unit» — общий термин для обозначения фактически любогоуправляющего устройства в автомобиле (помните, чуть повыше был дивный ряд в «30-40-50-60»? ;)

И очень-очень немногая часть публикаций, в которых речь идёт непосредственно о микропроцессорном блоке управления двигателем внутреннего сгорания, под таковой аббревиатурой будет воспринимать понятие «Engine Control Unit». И это обычно специально подчёркивается в начале публикации.

Мало того, иногда в переводе на русский язык аббревиатуру «ECU» начинают толковать как приснопамятный «бортовой компьютер», что уже вообще как-то некузяво.

Пример: статья 2017 года о знаменитых Миллере и Валасеке:

Современное автомобилестроение — ликбез. Вводная часть Германия, Авто, Электроника, Embedded, Техника, IT, Электромобиль, Длиннопост

При этом в упомянутом докладе авторы много раз с разных сторон явно указывают, что «ECU» для них — это именно «еlectronic control unit», и этих юнитов в авто — туева хуча очень много (сами Миллер и Валасек, судя по всему для упрощения, просто называют красивой число 50).

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

Поэтому, запомним: по умолчанию "ECU" = "Electronic Control Unit".

Ну, а на русском языке я бы эту сложносоставную материю предложил бы именовать как "ЭУУ" — "электронное управляющее устройство".

2. Automotive и automation

Лет так десять назад автор к своему некоторому удивлению осознал, что такие схожие слова "automotive" и "automation" обозначают вполне себе разные сферы человеческой деятельности.

Конечно же, исторически и логически между собой они имеют много общего — но всё-таки это разные миры.

Значит, закрепляем:

* "Automotive" — это всё, что связано с автомобильной тематикой (непосредственные производители, их поставщики, производители всяческого-всяческого околоавтомобильного ПО, стандарты, регуляционные предписания и т.д., и т.п.).

* "Automation" — это, как понятно из названия, всё, что связано с автоматизацией (производства в первую очередь, но не только) — то есть здесь и ТАУ, и конвеерные линии, и всяческие виды приводов, и IoT, и дигитализация, и прочее Industry 4.0, и все-все-все.

3. OEM & Automotive Supplier (Automobilzulieferer)

В автомобильном мире всё очень просто и не так, как в других мирах:

* "ОЕМ" — непосредственно сами автопроизводители, которые выпускают автомобили: т.е. Toyota, VW, BMW, Daimler, Audi, Ford, Opel, Honda, AvtoVAZ и т.д.

* "Automotive Supplier
" (нем. "Automobilzulieferer") — все остальные, кто поставляет что-то для OEM.
Естественно, в обиходе говорится короче: "Supplier"/"Zulieferer".

Есть ещё такие градации, как «Tier-1 supplier», «Tier-2 supplier» и пирамида с Маслоум «пирамида поставщиков» («Zulieferpyramide»/«supply pyramid») в общем — но это уже классификационные частности.

4. Иногда все любят покороче

Человеческий мозг, как известно, крайне ленив стремится экономить ресурсы.

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

Это приводит к тому, что вместо длинных напыщенных названий, так же, как и в русском языке (внезапно!) радостно используются всяческие сокращения (всякие «AG» здесь опускаю по умолчанию).

Вместо "Bayerische Motoren Werke Aktiengesellschaft" — "BMW" (даже «BMW AG» уже содержит ненужный хвост, поэтому его — вон!)

Вместо "Continental" — "Conti" (да-да, именно «Коньти» — привет печенькам «Киев-Коньти» из студенчества пятнадцатилетней давности!)

"Daimler" и так уже достаточно краток, его не трогают.

"Bosch" — тоже вполне краток.

"VW" — тут вообще без слов.

"VAG" — почти как "VW", только корпорация.

Вместо "Volvo Car Corporation" — "VCC" (и не забывайте, что "VolvoTrucks" — это вообще совсем отдельная корпорация ныне, хоть они на родине, конечно же, плотно соприкасаются рукавами).

Вместо "ZF Friedrichshafen" — "ZF".

Вместо "Siemens AG" — "SAG".

"Magna" — так и есть.

"Schaeffler" немцы могут написать как "Schäffler" — экономим знак, как-никак.

"Hyundai Mobis" — логично, что просто "Hyundai".

И так далее.

5. На пике внимания: электромобили

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

По сути и технически дальность поездки на электроприводе зависит в основном от ёмкости силовой батареи, а принципиального различия между «Приусом» и непрокачанной BMW i3 — попросту нет.

Делаем паузу

На сегодня прервёмся

К замечаниям и комментариям автор всячески открыт.

P.S. Заметьте, и ни слова о блокчейне!

Показать полностью 4
[моё] Германия Авто Электроника Embedded Техника IT Электромобиль Длиннопост
21
21
kababok
kababok
7 лет назад
Жизнь пикабушников за границей

Embedded world 2018 в Нюрнберге⁠⁠

Всем интересующимся хотелось бы снова сообщить или просто напомнить, что завтра (во вторник 27.02.18) в выставочном центре г. Нюрнберг стартует одна из самых крупных международных выставок в сфере embedded electronic ("встраиваемые системы") — embedded world 2018.

Выставка проходит, как обычно, на протяжении трёх дней — и предоставляет массу интересного материала для ознакомления с самыми новыми тенденциями в сфере современной электроники и соответствующего программного обеспечения — а также в отраслях промышленных автоматизации, робототехники, цифровых технологий и всяческих сетевых тенденций (Интернет Вещей/IoT и прочие плюшки).

В этом году упор делается на автономные системы - а это ведь не только популяризируемые ныне робомобили, но и всяческие системы искуственного интеллекта, машинного зрения, самодвижущиеся роботы широкого спектра применения, системы "умного окружения", интеллектуальные здания, компьютеры-помощники и прочее-прочее-прочее.

Маленькая хитрость: на стенде издательства "Weka Fachmedien" после заполнения небольшого опросника вы получите возможность бесплатно подписаться на целый ряд обычно недешёвых профессиональных журналов по разработке электроники, по электротехнике, промышленному дизайну и современной автомобильной электроники. Абонемент автоматически НЕ продлевается и не становится платным — так что вы ничем не рискуете (но бланк всё же прочитайте перед подписыванием :).

[моё] Интернет вещей Нюрнберг Германия Робомобиль Машиностроение Выставка Embedded Электроника Текст
13
131
Dionisnation
Dionisnation
9 лет назад

Технология программирования ARM Cortex-M0+⁠⁠

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Здесь я расскажу об удобном наборе средств и о технологии быстрой разработки простых программ на микроконтроллере S9KEAZN64AMLC с 32-х битным 40 МГц ядром ARM Cortex-M0+. Как аппаратную основу возьмем плату от анонсированного ранее проекта. Плата оказалась на удивление живучей при низких температурах и даже превзошла в этом смысле ожидания. 

Начнем с подробного описания создания термометра без использования внешних датчиков и с функцией логера.


Вступление

Как и положено по законам Мерфи первая же спаянная свежая плата сгорела. Но зато позволила выяснить, что S9KEAZN64 способен выдерживать без пробоя напряжение до 12 В, а стабилизатор LT3973IDD-5#PBF отлично переносит короткие замыкания по выходу и сохраняет стабильное выходное напряжение 5 В при практически нулевой нагрузке. Причиной неудачи оказалась плохая пайка корпуса стабилизатора. 


Но это было не всё! Невнимательное изучение документации привело к ошибочной схеме подключения двух сегментов индикатора к линиям PTA2 и PTA3 микроконтроллера, они оказались выводами с чистым открытым коллектором, т.е. без верхнего необходимого ключа. Пришлось их запараллелить с выводами PTB7, PTB6 и потерять функциональность которая ранее планировалась для них. Также невнимательность привела к отсутствию фильтрующего конденсатора на выходе источника опорного напряжения U2. Всё это привело к небольшим исправлениям платы, которые я благозвучно называю тюнингом. 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
Привожу заключительную версию платы с микроконтроллером с отмеченным тюнингом.
Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Центральный элемент схемы — микроконтроллер S9KEAZN64AMLC.

У него:

- 32-а вывода,

- Частота процессорного ядра до 40 Мгц,

- Частота внутренней шины, связывающей ядро с периферией до 20 Мгц.

- Объем внутренней FLASH памяти - 64 кБ,

- Объем ОЗУ - 4 кБ.

- Напряжение питания 5 В


Код программы записывается в микроконтроллер через интерфейс SWD (Serial Wire Debug). Интерфейс SWD составляют две цифровые линии, обозначенные на схеме как: SWD_DIO, SWD_CLK.

Микроконтроллер имеет в себе многоканальный 12-и битный цифро-аналоговый преобразователь, аналоговый компаратор, два канала широтно-импульсных модуляторов, внутренний генератор тактовой частоты с умножителем до 40 МГц, датчик температуры, интерфейсы SPI, I2S, UART.

Микроконтроллер может быть переведен в глубокий сон при сохранении активности АЦП и аналогового компаратора.

Цифровые входы дополнительно защищены от помех встроенными аппаратными фильтрами цифровых сигналов.


Для точного измерения аналоговых сигналов на плате находится формирователь опорного напряжения U2 (ISL21080CIH341Z-TK) с выходным напряжением равны 4.096 В. Это удобно сочетается с диапазоном 12-и битного АЦП равным 4096 отсчётам.


Изначальным назначением платы являлась работа в качестве контроллера автомобильных фар. Поэтому оставлены исходные метки назначения пар контактов на плате. Но они конечно могут выполнять и другие произвольные функции. Перечислю эти пары:

LED — Выход. Подключение внешнего светодиода. Может быть входом.

TERMISTOR — Вход. Подключение внешнего датчика температуры на основе термистора, но может быть и другой датчик с изменяемым сопротивлением.

VAN — Вход. Измерение напряжения от 0 до 30 В

BUTTON — Вход. Подключение кнопки. Может быть выходом или аналоговым входом.

High-Side switch — группа сигналов, предназначенных для управления платой силового многоканального ключа с интерфейсом SPI. При отсутствии такой платы сигналы остаются свободными для других функций.


Микроконтроллер по спецификации способен работать до -40 С°. Во время испытаний он продолжал работать при -42 С°. Меньшую температуру просто не удалось получить.


Для платы была измерена зависимость максимального тока потребления от напряжения питания, со всеми включенными светодиодными индикаторами.

Нормальная работа платы согласно этому графику лежит в диапазоне от 6 до 30 В. После 30 В начинает активизироваться шунтирование супрессора D2 и дальше ток возрастает неограниченно до пробоя супрессора или срабатывания самовосстанавливающегося предохранителя F1 рассчитанного на 1.1 А продолжительного тока.

Включается плата при напряжении 3.5 В, но АЦП нормально функционировать начинает с 5 В, а достаточно низкий уровень шумов в измерениях начинается с 6 В. 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
Следующий шаг подпайка SWD интерфейса

SWD интерфейс это то что в корне отличает программирование для ARM от программирования 8-и битных микроконтроллеров таких как Arduino. C SWD интерфейсом программу на микроконтроллере также легко отлаживать словно она выполняется локально на вашем компьютере. Если к этому добавить удобства такой технологии как канал связи и отладки в реальном времени RTT, то возвращаться к 8-и битным микроконтроллером полностью отпадет всякое желание.


На схеме интерфейс обозначен прямоугольником SWD с находящимся рядом с ним контактами P1, P2, P3, P4, P6. Я использую в качестве SWD адаптера J-Link фирмы Segger. Для него у меня есть переходники на более миниатюрные разъемы. Таким переходником я здесь воспользовался для подключения к плате. Питание в данном случае идет от платы к адаптеру J-Link. В адаптере находится буфер-преобразователь уровней с двухсторонним питанием, поэтому нет никакого риска подавать 5-ть вольт на адаптер. Как именно подпаять сигналы адаптера к плате можно узнать, прочитав мануал к адаптеру. Более экономным вариантом могло быть использование адаптеров OpenSDA которые присутствуют на многих дешевых отладочных платах от NXP-Freescale, но в таком случае придется пожертвовать некоторыми фичами J-Link.

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
Начало программирования

Для микроконтроллеров серии Kinetis от бывшей фирмы Freescale существует специальная среда разработки Kinetis Design Studio (KDS). Среда создавалась с намерением избавить разработчика от глубокого изучения руководств по программированию и даташитов.В какой-то мере это получается.Поэтому мы начинаем с KDS. Среда сгенерирует нам исходные тексты процедур инициализации периферии микроконтроллера, структуру директорий проекта и заглушку для функции main, вставит нужные заголовочные файлы и конфигурацию линковщика. В ней же мы можем провести и компиляцию проекта пока не перейдем на более эффективный инструмент.

Создаем поддиректорию Firmware в директории проекта. Запускаем Kinetis Design Studio 3.0.0 IDE и создаем рабочее пространство в Firmware. Потом в меню File->New->Kinetis Project вводим название проекта, скажем — AccTester. Выбираем семейство микроконтроллеров SKEAZN64xxx2

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
Потом такой диалог:
Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Потом мы выбираем компилятор IAR. Можем выбрать и GCC, но дальше статья будет про IAR. 

Объяснение можно найти в этом сравнении компиляторов было проведено здесь.


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

Сам Add-On IAR для среды Eclipse коей является KDS можно найти здесь. Я использовал версию eclipse-iar-arm-7.20-201510121518.zip. Add-On надо поставить до того, как начнем создавать проект в KDS

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
В результате получаем такое окно проекта:
Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост
Выбираем правильный корпус чипа (Select Package в закладке Processor), так как у SKEAZN64 есть несколько вариантов корпусов:
Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Система тактирования

К нашему удобству инициализация тактовой частоты по умолчанию полностью нас устраивает и ничего менять не надо. Но частота по умолчанию установится 32 Мгц. Этого более чем достаточно. Надо внимательно изучить закладку Clock source settings показанную на скриншоте ниже. Все должно быть так. 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Инициализация портов


В закладке Components Library выбираем и вставляем в проект Init_GPIO и Init_PORT

У микроконтроллеров Kinetis как всегда есть разделение функций пинов на два периферийных модуля: PORT и GPIO. PORT отвечает за общие свойства порта такие как сила драйвера, включение линий порта и фильтры на линиях порта. GPIO отвечает за оперативное управление состояниями пинов по отдельности и всех вместе.

Поэтому надо конфигурировать правильную инициализацию в обоих модулях.

C Processor Expert нельзя торопится и пытаться всё сразу сконфигурировать. Можно легко запутаться в неясных параметрах и настройках. Для начала надо разобраться в настройках генератора тактовой частоты ядра и шины микроконтроллера. Потом попытаться вывести простейший внешний сигнал. Таким сигналом будет загоревшийся сегмент на 7-и сегментном индикаторе.


В модуле PORT инициализируем пины PTD1 и PTC6. В модуле GPIOA устанавливаю 1 на этих пинах.

Жмём Project->Generate Processor Expert Code, 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

потом Buil All. 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Если процесс проходит без ошибок, выбираем Run->Flash from file.. и F11 (Debug)

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Сегмент зажегся


Инициализация остальной периферии


Для дальнейшей разработки программ нам понадобятся еще АЦП, интерфейс SPI, и таймеры.

Перетаскиваем нужную периферию из панели с закладкой Components library в панель с закладкой Components

Должен получится такой состав:

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Здесь GPIOA и PORT уже осуждали. Добавились компоненты PIT, SysTickInit, ADC, SPI0

Добавление этих компонентов вызовет генерацию исходных текстов для инициализации соответствующей периферии.

А назначение компонентов в контексте этого проекта такое:

PIT — периодический генератор прерываний. Предназначен для формирования сигналов старта преобразования АЦП.

SysTickInit — системный таймер ядра ARM. Используется нами для периодического формирования прерываний в которых производится сканирование дисплея.

ADC — АЦП. В первом проекте мы будем оцифровывать не внешний сигнал, а сигнал внутреннего датчика температуры.

SPI0 — интерфейс SPI с номером 0. Нужен для управления SPI ключом.


Здесь я уже не привожу скриншоты инициализации каждого из компонентов. В исходниках, выложенных на github можно будет открыть проект KDS и все рассмотреть.


Сильно увлекаться конфигурацией разной периферии в Processor Expert не стоит. Дело в том, что этот инструмент не инициализирует все зависимости периферии. Например, АЦП нам понадобится запускать по аппаратному триггеру, но правильно его настроить в Processor Expert не удастся, поскольку нет установки канала аппаратного триггера в регистре SIM_SOPT. 

Это несколько усложняет задачу. Заглянуть в руководство по программированию семейства KEA придется уже скоро. Но не до того, как я закончу эту статью. 

Переход на IAR

Нажимаем очередной раз на команду генерации исходников и включаем среду разработки IAR Embedded Workbench.

Тут у многих знакомых с IAR может возникнуть чувство дискомфорта. Ведь в IAR заново и с нуля надо будет сформировать дерево всего проекта, да еще проекта с неизвестной структурой директорий. На помощь приходит моя утилита формирования дерева проекта для IAR.


Формируем автоматически дерево проекта в IDE IAR.

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

В директории IAR_Proj вместе с рабочим пространством IAR находится файл IARC.exe. Это утилита автоматического формирования дерева проекта для IAR. Используется она следующим образом:

1. Если ещё не создано рабочее пространство IAR то оно создается в IDE IAR командой File->New->Workspace. Даём ему имя AccTester для определенности.

2. В рабочем пространстве создаем пустой проект Project->Create New Project…

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

называем его тем же именем что и рабочее пространство.

3. В проекте создаем пустую группу и называем ее произвольно. Сохраняем проект. Получаем файлы с расширением .eww и .ewp и одинаковым именем.

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

4. Запускаем утилиту IARC.exe. Утилита хранит свои настройки в Ini.JSON и EscDirs.JSON. На скриншоте она сконфигурирована на преобразования проекта с именем AccTester.ewp и сканирование дерева директорий с корнем C:\Embedded\Projects\AccTester\Firmware_IAR\AccTester

5. Нажимаем кнопку Exec.

6. Программа проходит рекурсивно все директории начиная от корня и пропуская исключённые директории. Все найденные С-и и .h файлы будут включены в файл проекта IAR соответствующим образом.

7. Открываем файл рабочего пространства .eww в IAR. В нем увидем дерево проекта с групами повторяющими структуру директорий. Дальше можем продолжать настраивать опции проекта: выбрать тип микроконтроллера, настроить тип библиотек, отладчик и т.д.


В директории IAR_Proj уже находится подготовленное рабочее пространство IAR которое можно изучить.


Важно то что, настроив таким образом IAR мы не теряем возможности продолжать использовать Processor Expert. Только каждый раз после новой генерации исходников и если это вызывает появление новых файлов нужно снова запустить IARC.exe и нажать кнопку Exec. Проект в IAR после этого требуется полностью перекомпилировать, но это занимает доли секунды.


Настройка проекта IAR


Проект IAR настраивать долго не придется. Самое важное правильно установить тип микроконтроллера в окне options:

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Оптимизация по умолчанию будет минимальной.

Файл карты памяти с расширением .icf IAR использует из своей собственной директории и это нам подходит.

В закладке отладчика нужно выбрать J-Link.

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

IAR имеет свой модуль загрузчика для микроконтроллера, только укажем, что им надо воспользоваться. Отмечаем галочку Use Flash Loader:

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Структура исходных файлов проекта термометра.

Processor Expert умеет генерировать процедуры инициализвции и в нём же можно указать флаги генерации обработчиков прерываний от периферии. Но сгенерированные обработчики появляются в исходных текстах для соответствующей периферии закоментированные. Поэтому были вручную перенесены обработчики прерываний из файлов ADC.c и SysTick.c в файл Events.c и раскоментированы.


Важно. Если планировать дальше использовать Processor Expert совместно с IAR, то нужно хорошо знать какие файлы будут

перезаписаны, а в каких файлах введенная нами информация сохранится.

Перезаписаны будут все файлы в директории Generated Code.

Файл main.c также перезаписывается, но в нём остается нетронутой строчка после соответствующего коментария.

Вот как это выглядит:

http://pastebin.com/8gF5rq3k

Здесь я добавил только строку Application(); чтобы передать управление в свою процедуру в файле Indicator.c

Больше в файле main.c я ничего не меняю.


Processor Expert также создает множество фалов в директории Static_code\PDD. Практической пользы от них мало, я их не использую. В них по сути обертки доступа к регистрам периферии к которым можно обращаться и напрямую. Смысл таких файлов в переносимости проектов с одного типа микроконтроллеров на другой внутри одного семейства. Они нужны скорее для разработчиков самого Processor Expert, чем для конечных пользователей, у которых нет такой острой нужды оперативного переключения между микроконтроллерами в рамках одного проекта.


Вся логика приложения у меня сконцентрирована в файле Indicator.c. В нем находятся и главный цикл, и все обработчики прерываний. Программа слишком маленькая чтобы ее разбивать на отдельные файлы.


А вот так выглядит сам основной цикл приложения:

http://pastebin.com/qpNA2r3e


В качестве датчика температуры используется внутренний температурный сенсор чипа. Логирование результатов измерения производится в интерфейс RTT.

На компьютере интерфейс RTT виден как telnet порт вида: telnet://localhost:19021

К этому порту можно подключиться, например, с помощью программы эмулятора терминала TeraTerm такой строкой:


"C:/Program Files (x86)/teraterm/ttermpro.exe" /T=1 telnet://localhost:19021 /X=0 /Y=0 /W="Jlink RTT"


Но надо помнить, что этот порт открыт только при работе отладчика IAR через адаптер J-Link.

При отключении адаптера порт сразу же закрывается.


Вот так выглядит вывод в терминал. 

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Первые три строчки выводятся самим адаптером J-Link.


На этом пока все. Удачных экспериментов с ARM Cortex-M0+!

Технология программирования ARM Cortex-M0+ Arm Cortex-M0+, Freescale Kinetis, Kds, Geektimes, Technobrother, Embedded, 7-seg LED display, Длиннопост

Все исходники по прежнему доступны на https://github.com/Indemsys/Light-Control-Module-PCB

Показать полностью 22
Arm Cortex-M0+ Freescale Kinetis Kds Geektimes Technobrother Embedded 7-seg LED display Длиннопост
11
fromheart
fromheart
9 лет назад

windows 8.1 industry pro embedded⁠⁠

Добрый день!
Прошу расскажите, как обновить windows 8.1 industry pro embedded до windows 10? В майкрософт сказали, что после 1 августа само обновится, но ничего не произошло.
Значок "Получить windows 10" есть, windows зарезервирована.
Поднимите, пожалуйста, в топ. Комментарии для минусов внутри
[моё] Windows Windows 10 Windows 8 Embedded Без рейтинга Текст
24
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии