При любой инженерной работе, мысль движется так, чтобы применить в разработке наиболее подходящие одновременно по всем параметрам решения. А в промышленности, где требуется автоматизация, молчаливый контроль каких-то процессов, вмешательство человека — даже нежелательно.
Т.е. если нужно бесконтактным способом контролировать какие-то объекты в промышленных цехах, без длиннющих проводов собирать статистику в базу данных для анализа, то почему бы и не попробовать всем уже давно привычные… Android-смартфоны.
Если владеть какими-то навыками программирования под Android, то как бы, всё железо для промышленного контроллера у смартфона на борту уже есть: и датчики, и мобильная связь, и батарея для кое-какой автономности. Ну, дисплей, конечно, тоже, на какое-то время нужен.
Но, хотя, если бы вдруг кто-то произвел надежное компактное Android-устройство с железом в точности как у смартфона, но без дисплея — было бы идеально. И, да — это не просто HDMI-WiFi-dongle для телевизора, а именно с батареей, GSM-модулем, и камерой.
По заданию — никаких датчиков применить нельзя, горячо. Очень горячо. Т.е. бесконтактно надо контролировать — ничего кроме камеры не подойдет. Для камеры вполне хватит QR-кодов, чтобы контролировать нужные объекты. Но при этом контроллер надо расположить в прохладном месте, с нормальными температурами. Это всё, оказывается, реально.
Мобильный Интернет сейчас в пределах городов, даже на предприятиях — вполне терпимый, по крайней мере, оператора вполне можно подобрать с терпимым уровнем сигнала. И даже 4G уже можно использовать, хотя, конечно, уровень сигнала балансировать может на грани отключения — но об этом позже. Так что — отправка данных на сервер (с предварительным накоплением в локальной БД) по мере наличия Интернета — не проблема.
После предварительной разработки софта и тестирования — выясняются, что температурные условия для смартфона вполне обеспечиваются, температуры до 40 градусов. Современные литиевые батареи на смартфонах вполне декларируются до 45 °С, а при 50 — современные смартфоны, контролирующие температуру встроенным в батарею датчиком — начинают «кричать» про перегрев и программно отключают зарядку, если она подключена. Значит, надо учесть охлаждение. Так что реализуемость уже вполне доказана, система проста в общей структуре, все кусочки системы в голове прекрасно укладываются — значит, «вперёд, и с песней», кодить.
Доходит очередь до разработки корпуса контроллера, включаем в него Android-смартфон с адаптером питания, с продуманным вводом внутрь кабеля питания. И систему охлаждения. Которая, как окажется позже, очень даже нужна, и не только для охлаждения железа.
Приходит время, и система уже начерно работает полностью, сервер показывает пользователям таблички и графики данных, проверяет диапазоны измеренных параметров, и уведомляет пользователей о грядущих f...k-up-ах, и тут постепенно… начинают проявляться нюансы структурно «простой» системы…
Нет, с батареей нет проблем, смартфон постоянно подключен к зарядному устройству, внутренний контроллер батареи молодец, пыхтит и свою непрерывную работу делает. Но оказывается, что для уверенного распознавания QR-кодов важны одновременно и ракурс камеры, и освещение, и тени, частично закрывающие код, и состояние кода, который под высокой температурой постепенно выгорает.
Потом через месяц «боевого» тестирования вдруг обнаруживается, что качество распознавания QR-кодов все это время постепенно ухудшалось, и теперь совсем не годится: оказывается, что в воздухе постоянно присутствует мельчайшая пыль, которая при коротком беглом осмотре цеха и не видна, но которая постепенно оседает на стекле, закрывающем объектив камеры. Слой пылищи медленно накапливается и… понятно чем это заканчивается, в конце концов.
Вот тут система охлаждения и пригодилась, не только для охлаждения, но теперь еще и для защиты от пыли, создавая «избыточное» давление воздуха изнутри, обдувая объектив и не давая пыли оседать на линзу.
В течение всех этих событий, разумеется, идет непрерывная отладка софта, алгоритмов, на железе, к которому у разработчиков нет физического доступа — всё только через удалённый контроль. По паре релизов в день, т.к. общий алгоритм работы оборудования в цеху, заранее описанный, прекрасно понятный на чертежах и рисунках, содержит в реальности тоже кучку мелких нюансов. И алгоритмы проверок в коде плодятся непрерывно.
Для удаленного управления и обновления софта в Android используется TeamViewer Host (использовался !), с ним не было проблем, наверное, месяцев 4-5, всё чудесно подключалось, доступ к экрану смартфона был. Всё работало через 4g-интернет одного российского федерального оператора, в бесплатном режиме. Разумеется, мы думали, что рано или поздно надо будет приобрести бизнес-лицензию, т.к. сочинять самим целую систему удаленного управления — нецелесообразно.
Всё было неплохо, пока разработчики TeamViewer не начали что-то там обновлять в своей системе и у нас не пропал доступ. Ну, логично, мы подумали, что это связано с бесплатным ограничением, пока и честь знать — и приобрели лицензию (долго и не полностью цензурно удивляясь её стоимости). Но это не помогло — это было начало технических проблем у TeamViewer, которые требовали переустановки клиента и настроек и подтверждения на экране смартфона. К которому не было ни физического, ни виртуального доступа.
Доступ к системе удалось потом восстановить только физически добравшись до смартфона — я же забыл упомянуть, что смартфон был новым из магазина, с официальной прошивкой. Без root-доступа ко всем функциям операционки. И это работало неплохо, до некоторой поры.
Короче говоря про TeamViewer (TV) — после этих первых мучений оплату бизнес-аккаунта удалось вернуть (только по телефону, никакие способы добиться поддержки через Интернет — нереальны). Стало ясно, что нужны альтернативы TV. Позже когда ситуация повторилась — мы зачем-то второй раз наступили на эти грабли с приобретением бизнес-аккаунта TeamViewer, но стало ясно, что мучаемся не мы одни, а куча пользователей, с горами Android-устройств с бизнес-лицензией. И работа с этим софтом была приостановлена.
И стало ясно, что для любого промышленного оборудования самое главное — это возможность сделать reboot. В том числе и по внешней удаленной команде. Чтобы вернуть себе доступ в систему, невзирая на любые глюки софта. И в соответствии с этим было принято решение сделать смартфон с root и разработать свой дополнительный софт удаленного управления, через свой собственный сервер, разумеется с возможностью перезагрузки смартфона.
И такой софт был разработан, и его польза не раз подтвердилась: кроме удаленного управления через сервер, были реализованы команды через SMS-сообщения.
Всё это время только один компонент системы не вызывал нареканий и работал практически круглосуточно, и даже удивлял, т.к. уже прошло больше полугода непрерывной работы системы через 4G. Смартфон был подконтролен, данные текли, возможность удаленного reboot несколько раз помогала преодолеть глюки собственного основного софта, работающего с камерой и QR-кодами. Интернет пропадал очень редко и буквально на считанные десятки секунд.
Но ничто не «вечно под луной», и однажды система пропала. Совсем. Ни данных на сервере, ни данных от геотрекинга Google, ни ответа через собственный remotecontrol-софт. Ну, пришло время сделать сброс системы через команду в SMS-сообщении. А вот фиг. И это не помогло. И команда на включение Интернет-соединения не помогла.
При этом входящий звонок на номер SIM-карты, вставленной в смартфон вполне себе проходил, сколько раз ни проверяй.
Я уже думал, что злобные кулхацкеры забрались в систему, удалили весь мой Android-софт, и под конец «хлопнули дверью» — вырубили мобильный Интернет.
Наконец-то оператор связи ответил, что «приносим наши извинения, техническая проблема с сотой, которую вы используете». Но звонок работает, а SMS — нет.
И тут я вспомнил, что в своё время предусмотрел в софте принудительное включение WiFi, не знаю зачем — это соединение же не используется в цехах предприятия. А к WiFi смартфон когда-то на этапе разработки, разумеется, подключался. Остается попробовать на другом смартфоне включить точку доступа WiFi, поименовать её именем моей домашней сети, задать соответствующий сети пароль и… и БИНГО — железяка вышла на связь!
Ни одна SMS-ка после того глюка оператора — не добралась до Android, мой софт их не получил.
И всего-лишь сделав reboot железки, пока был WiFi-Интернет — удалось восстановить работу SIM-карты оператора и мобильного Интернета.
И теперь в софт удаленного управления включена возможность перезагрузки с помощью обычного входящего звонка, чтобы и такой косяк оператора не мешал работе.
Заключение: система работает порядка 10 месяцев, батарея смартфона ОК, камера ОК. Так что не обязательно собирать или приобретать дорогой промышленный компьютер, подключать в него внешнюю периферию — вполне можно обойтись современным Android-смартфоном.
Но «геморроя» и всяческих неприятных нюансов избежать, я уверен, нигде не удастся.
И я для себя сделал вот такой вывод: этапы настройки смартфона Android для автономной удаленной работы в составе промышленного контроллера
P.S.: более подробными деталями, конечно, не дают поделится коммерческие\юридические обязательства.
Т.е. если нужно бесконтактным способом контролировать какие-то объекты в промышленных цехах, без длиннющих проводов собирать статистику в базу данных для анализа, то почему бы и не попробовать всем уже давно привычные… Android-смартфоны.
Если владеть какими-то навыками программирования под Android, то как бы, всё железо для промышленного контроллера у смартфона на борту уже есть: и датчики, и мобильная связь, и батарея для кое-какой автономности. Ну, дисплей, конечно, тоже, на какое-то время нужен.
Но, хотя, если бы вдруг кто-то произвел надежное компактное Android-устройство с железом в точности как у смартфона, но без дисплея — было бы идеально. И, да — это не просто HDMI-WiFi-dongle для телевизора, а именно с батареей, GSM-модулем, и камерой.
По заданию — никаких датчиков применить нельзя, горячо. Очень горячо. Т.е. бесконтактно надо контролировать — ничего кроме камеры не подойдет. Для камеры вполне хватит QR-кодов, чтобы контролировать нужные объекты. Но при этом контроллер надо расположить в прохладном месте, с нормальными температурами. Это всё, оказывается, реально.
Мобильный Интернет сейчас в пределах городов, даже на предприятиях — вполне терпимый, по крайней мере, оператора вполне можно подобрать с терпимым уровнем сигнала. И даже 4G уже можно использовать, хотя, конечно, уровень сигнала балансировать может на грани отключения — но об этом позже. Так что — отправка данных на сервер (с предварительным накоплением в локальной БД) по мере наличия Интернета — не проблема.
После предварительной разработки софта и тестирования — выясняются, что температурные условия для смартфона вполне обеспечиваются, температуры до 40 градусов. Современные литиевые батареи на смартфонах вполне декларируются до 45 °С, а при 50 — современные смартфоны, контролирующие температуру встроенным в батарею датчиком — начинают «кричать» про перегрев и программно отключают зарядку, если она подключена. Значит, надо учесть охлаждение. Так что реализуемость уже вполне доказана, система проста в общей структуре, все кусочки системы в голове прекрасно укладываются — значит, «вперёд, и с песней», кодить.
Доходит очередь до разработки корпуса контроллера, включаем в него Android-смартфон с адаптером питания, с продуманным вводом внутрь кабеля питания. И систему охлаждения. Которая, как окажется позже, очень даже нужна, и не только для охлаждения железа.
Приходит время, и система уже начерно работает полностью, сервер показывает пользователям таблички и графики данных, проверяет диапазоны измеренных параметров, и уведомляет пользователей о грядущих f...k-up-ах, и тут постепенно… начинают проявляться нюансы структурно «простой» системы…
Нет, с батареей нет проблем, смартфон постоянно подключен к зарядному устройству, внутренний контроллер батареи молодец, пыхтит и свою непрерывную работу делает. Но оказывается, что для уверенного распознавания QR-кодов важны одновременно и ракурс камеры, и освещение, и тени, частично закрывающие код, и состояние кода, который под высокой температурой постепенно выгорает.
Потом через месяц «боевого» тестирования вдруг обнаруживается, что качество распознавания QR-кодов все это время постепенно ухудшалось, и теперь совсем не годится: оказывается, что в воздухе постоянно присутствует мельчайшая пыль, которая при коротком беглом осмотре цеха и не видна, но которая постепенно оседает на стекле, закрывающем объектив камеры. Слой пылищи медленно накапливается и… понятно чем это заканчивается, в конце концов.
Вот тут система охлаждения и пригодилась, не только для охлаждения, но теперь еще и для защиты от пыли, создавая «избыточное» давление воздуха изнутри, обдувая объектив и не давая пыли оседать на линзу.
В течение всех этих событий, разумеется, идет непрерывная отладка софта, алгоритмов, на железе, к которому у разработчиков нет физического доступа — всё только через удалённый контроль. По паре релизов в день, т.к. общий алгоритм работы оборудования в цеху, заранее описанный, прекрасно понятный на чертежах и рисунках, содержит в реальности тоже кучку мелких нюансов. И алгоритмы проверок в коде плодятся непрерывно.
Для удаленного управления и обновления софта в Android используется TeamViewer Host (использовался !), с ним не было проблем, наверное, месяцев 4-5, всё чудесно подключалось, доступ к экрану смартфона был. Всё работало через 4g-интернет одного российского федерального оператора, в бесплатном режиме. Разумеется, мы думали, что рано или поздно надо будет приобрести бизнес-лицензию, т.к. сочинять самим целую систему удаленного управления — нецелесообразно.
Всё было неплохо, пока разработчики TeamViewer не начали что-то там обновлять в своей системе и у нас не пропал доступ. Ну, логично, мы подумали, что это связано с бесплатным ограничением, пока и честь знать — и приобрели лицензию (долго и не полностью цензурно удивляясь её стоимости). Но это не помогло — это было начало технических проблем у TeamViewer, которые требовали переустановки клиента и настроек и подтверждения на экране смартфона. К которому не было ни физического, ни виртуального доступа.
Доступ к системе удалось потом восстановить только физически добравшись до смартфона — я же забыл упомянуть, что смартфон был новым из магазина, с официальной прошивкой. Без root-доступа ко всем функциям операционки. И это работало неплохо, до некоторой поры.
Короче говоря про TeamViewer (TV) — после этих первых мучений оплату бизнес-аккаунта удалось вернуть (только по телефону, никакие способы добиться поддержки через Интернет — нереальны). Стало ясно, что нужны альтернативы TV. Позже когда ситуация повторилась — мы зачем-то второй раз наступили на эти грабли с приобретением бизнес-аккаунта TeamViewer, но стало ясно, что мучаемся не мы одни, а куча пользователей, с горами Android-устройств с бизнес-лицензией. И работа с этим софтом была приостановлена.
И стало ясно, что для любого промышленного оборудования самое главное — это возможность сделать reboot. В том числе и по внешней удаленной команде. Чтобы вернуть себе доступ в систему, невзирая на любые глюки софта. И в соответствии с этим было принято решение сделать смартфон с root и разработать свой дополнительный софт удаленного управления, через свой собственный сервер, разумеется с возможностью перезагрузки смартфона.
И такой софт был разработан, и его польза не раз подтвердилась: кроме удаленного управления через сервер, были реализованы команды через SMS-сообщения.
Всё это время только один компонент системы не вызывал нареканий и работал практически круглосуточно, и даже удивлял, т.к. уже прошло больше полугода непрерывной работы системы через 4G. Смартфон был подконтролен, данные текли, возможность удаленного reboot несколько раз помогала преодолеть глюки собственного основного софта, работающего с камерой и QR-кодами. Интернет пропадал очень редко и буквально на считанные десятки секунд.
Но ничто не «вечно под луной», и однажды система пропала. Совсем. Ни данных на сервере, ни данных от геотрекинга Google, ни ответа через собственный remotecontrol-софт. Ну, пришло время сделать сброс системы через команду в SMS-сообщении. А вот фиг. И это не помогло. И команда на включение Интернет-соединения не помогла.
При этом входящий звонок на номер SIM-карты, вставленной в смартфон вполне себе проходил, сколько раз ни проверяй.
Я уже думал, что злобные кулхацкеры забрались в систему, удалили весь мой Android-софт, и под конец «хлопнули дверью» — вырубили мобильный Интернет.
Наконец-то оператор связи ответил, что «приносим наши извинения, техническая проблема с сотой, которую вы используете». Но звонок работает, а SMS — нет.
И тут я вспомнил, что в своё время предусмотрел в софте принудительное включение WiFi, не знаю зачем — это соединение же не используется в цехах предприятия. А к WiFi смартфон когда-то на этапе разработки, разумеется, подключался. Остается попробовать на другом смартфоне включить точку доступа WiFi, поименовать её именем моей домашней сети, задать соответствующий сети пароль и… и БИНГО — железяка вышла на связь!
Ни одна SMS-ка после того глюка оператора — не добралась до Android, мой софт их не получил.
И всего-лишь сделав reboot железки, пока был WiFi-Интернет — удалось восстановить работу SIM-карты оператора и мобильного Интернета.
И теперь в софт удаленного управления включена возможность перезагрузки с помощью обычного входящего звонка, чтобы и такой косяк оператора не мешал работе.
Заключение: система работает порядка 10 месяцев, батарея смартфона ОК, камера ОК. Так что не обязательно собирать или приобретать дорогой промышленный компьютер, подключать в него внешнюю периферию — вполне можно обойтись современным Android-смартфоном.
Но «геморроя» и всяческих неприятных нюансов избежать, я уверен, нигде не удастся.
И я для себя сделал вот такой вывод: этапы настройки смартфона Android для автономной удаленной работы в составе промышленного контроллера
- Выбор устройства для индустриального использования — только с возможностью получения Root (для возможности перезагрузки)
- Обновить всё, что автоматически можно и отключить обновления
- Получить Root на устройстве (!)
- Отдельный (корпоративный) аккаунт Google Play Market — настроить (для контроля местоположения устройства), обновить всё ПО и обязательно отключить обновления
- Включить режим разработчика и в нем: «Не отключать экран при зарядке»
- Отключить блокировку экрана: тип «без блокировки»
- Блокировка SIM-карты – без ПИН-кода (номер SIMки — сохранить !)
- Настройка мобильного Интернета SIM-карты: постоянно включен Интернет
- Установка своего софта RemoteControl — удаленное управление рутованным Андроидом через свой сервер
- Установка других приложений удаленного управления (AirDroid, Teamviewer Host) и настройка
- Установка основного приложения-хозяина устройства (неудаляемый администратор, но необязательно)
- Разрешение неограниченной фоновой работы приложения-хозяина
- Автостарт при загрузке
- Установить лаунчер (приложение-хозяин) по умолчанию (если есть такая возможность, настроить в последний момент)
- Установка своей утилиты RemoteReset — перезагрузка рутованного Андроида SMS-сообщением и по звонку (!) — проверить перезагрузку и автостарт всего вышеперечисленного (и проверить работу через Интернет)
- Включить WiFi и подключится к сетям заранее: особенно к мобильной точке доступа со смартфона оператора настройки (для альтернативного доступа смартфона к Интернет при локальной активации этой точки доступа)
- Зарядить батарею
- Запустить основное приложение-хозяин
- Отключить устройство до момента включения при инсталляции
P.S.: более подробными деталями, конечно, не дают поделится коммерческие\юридические обязательства.
Only registered users can participate in poll. Log in, please.
А вы участвовали в разработке систем с Android, непрерывно запитанным по несколько месяцев или лет подряд?
5.71% Да, система работает, батарея ОК2
8.57% Да, проблемы с батареей3
8.57% Не участвовал, но видел подобную систему успешно работающую3
77.14% Чо?27
35 users voted. 18 users abstained.