Добавить новость

Синоптик Шувалов назвал самый холодный день на этой неделе в Москве

Таможенники изъяли нелегальный парфюм на 200 миллионов рублей в Подмосковье

Фиксики выпустили свой первый музыкальный ремикс. В основу легла легендарная фиксипелка «Часики»

Станислав Бондаренко: Выхожу на сцену с левой ноги



Новости сегодня

Новости от TheMoneytizer

Сделать скетч для stm32

Здравствуйте.
Вопрос такой.



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



Купил Arduino nano, STM32F103C8T6, M32F407VET6ST - эта плата наверное
будет оптимальная, датчики, моторчики. На ардуино писать проще, но мне
не нравится, что этот контроллер по одной цене с STM32, а параметры хуже
в разы.



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



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

W5500, или через трансивер PHY LAN8720, что удобнее, а я там уже
обрабатывал и посылал данные обратно с запросами.



Логика такая.



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


1. По умолчанию при включении STM32 все выхода на 0 - всё отключено,
ничего не работает, ждём до получения запроса GET с сервера на
тестирование состояния системы.



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



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



3. Тестируем всё что есть, другие датчики 3 аналоговые и 5 штук
цифровых примерно - там

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



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

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

а также аварийные датчики которые после нормально датчика на завершение
работы тоже на прерывании, если до завершения времени датчик конца
работы сработал то

всё нормально, шлём запрос GET - /localhost/test_results/ с
идентификатором платы и параметрами которые были получены с добавлением
исполнено. Если нет, откат и тоже сообщение.


5. Если запрос пришёл не с сервера а с датчика, кнопки - то просто
пересылается запрос на сервер и оттуда приходит запрос на действие. На запрос должно прийти подтверждение о получении или команда в течении заданного времени, если нет, то повторная посылка.


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



7. Получается команды идут похожие, но с небольшими вариантами - в зависимости от
типа привода или датчика.


8. Также нужно сделать вывод на маленький дисплей OLED IIC I2C - просто
передавать на дисплей данные которые поступят с таким параметром с GET

запроса, при этом желательно тестировать и давать ответ, что данные уже
на дисплее. Дисплей нужно вынести из платы за 1-2 метра. Будет
лучше если дисплеев будет 2 штуки, если по шине I2C, то там только



по моему адреса назначить ещё другие и всё. Но это не обязательно.



9. Команды от сервера и кнопок идут по одной, через прерывания, если нет
запросов в течении 10 минут, плата засыпает.





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



действием, после действия.


11. В дежурном режиме STM32 в режиме ожидания, все входы от датчиков и запросы GET будят её через прерывания.


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



Если какой-то датчик или мотор не работает, надо ставить флаг -
disabled, что-бы не дёргалась эта ножка до ремонта, а остальное могло
работать.



Видимо лучше сделать массив с номерами ножек и названиями моторов,
кнопок, датчиков и флагами состояния всего этого.



Массив состояния можно передавать при запросе, как JSON на сервер, а я
там разберу что к чему.





--------------



Это в общем. Точнее надо будет согласовать перед началом работы, набор
моторов, датчиков, как лучше это подключать.



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



Там масса настроек в STM32, можно сделать попроще и что-бы надёжно,
скорость тут особо не важна.

---------------------



Пока работу начинать не нужно, сообщите пожалуйста, сколько займёт
примерно время такая работа и сколько будет стоить.



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



----------------



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



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



Также в коде надо что-бы не было затычек с зависанием без ответа, везде
надо сделать осмысленный выход из кода из любой ситуации,



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



Что-бы не было такого, что STM32 не работает и всё. Если GET запрос
принят, всегда должен быть осмысленный ответ, что там за ситуация.

Стоимость договорная, зависит от согласованного тех. задания.

Пишите на почту nickmail1_@_bk_.ru уберите подчёркивания, а то там что-то не пропускает цензура.
----------



С уважением,



Николай

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Общественник из Дагестана назвал позором народа сломавшего челюсть девушке за отказ знакомиться парня

В Москве в возрасте 39 лет ушел из жизни сын певицы Ирины Понаровской

Я каблук со стажем: Антон Лаврентьев об отношениях с супругой, пополнении в семье и творческих планах

Здание мемориальной квартиры-музея Г. М. Кржижановского в ЦАО получит подсветку

Музыкальные новости

Ирина Дубцова запустила амбициозный проект для российских семей

«Граф Монте-Кристо» выходит в России при поддержке Relax FM

Раскрыта тайна трека “На Заре 2020”. Вокалистом проекта “НаЗаре” является финалист шоу “Голос” Сергей АРУТЮНОВ. Несостоявшийся дуэт АРУТЮНОВА и его наставника Басты.

В Подмосковье сотрудники Росгвардии провели встречу со студентами финансового университета

Новости России

Нейросетевой Пушкин

ЗАКОН И ПОРЯДОК

Один тариф в дождь и солнце: Госдума корректирует закон о такси

Чехов и евреи

Экология в России и мире

Криптовактивы и новости блокчейн: с чего начать изучение?

Концерт «Бах vs Рахманинов»

Аделина Панина и ее «Белая книга» получили награду

Международный день безопасности пациентов

Спорт в России и мире

Хромачёва и Данилина выиграли турнир WTA в Гвадалахаре в парном разряде

51 год назад прошла «Битва полов» между Билли Джин Кинг и Бобби Риггсом

Касаткина о допинговом деле Синнера: «Я верю, что он невиновен.

Озвучены позиции казахстанских теннисистов в мировом рейтинге ATP

Moscow.media

Военные следователи провели рейд по бывшим мигрантам в Феодосии

Озеро Кипящее.

Электробус «Генерал» будет курсировать в Красноярске

"Это будет бесконечный кишлак". Мигранты почуяли волю. Россия готовит 33 ответных удара











Топ новостей на этот час

Rss.plus






В сибирских аэропортах массово задерживают рейсы

Синоптик Шувалов назвал самый холодный день на этой неделе в Москве

Фиксики выпустили свой первый музыкальный ремикс. В основу легла легендарная фиксипелка «Часики»

Водитель, сбивший в Благовещенске девять пешеходов, получил 14 лет колонии