Обзор    
форума

Военные дозиметры

Профессиональные дозиметры



 

> Описание: Разработка дешевого UART-BT4.0-AtomSwift моста
Syph3r
Отправлено: 29 Апреля, 2020 - 15:24:35
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




Описание проекта

Приветствую всех участников нашего форума!

2 месяца назад в голову пришла идея купить за 1.5$ модуль BT4.0 AT-09 (с SOC CC2541 - на аналогичном камне сделан BT кусок AtomFast/Swift) и запилить из него мост UART - приложение AtomSwift, т.е. купив отладчик CC Debugger разработать собственную прошивку для него, описав BT профиль Atom.

В интернете гуляет инфа как при помощи обычной Arduino выполнить прошивку данного модуля без отладчика CC Debugger, поэтому данный проект может стать вполне народным, т.к. 1.5$ за такой модуль может себе позволить я думаю любой участник форума строящий самодельный дозиметр, или решивший модифицировать ДП-5 данным модулем + Arduino или другой МК, или прикрутив к самодельному спектрометру, сделав из него шустрый дозиметр с возможностью построения трека на карте в реальном времени при обследовании местности.

Для быстрой отладки был на скорою руку набросан софт под винду для генерирования рандомных, но приближенных к реальности данных и отправки их через преобразователь USB-UART в данный BT модуль.
На данный момент описана основная часть профиля Atom для вывода в приложение дозы, мощности дозы и прочих параметров описанных в основной измерительной характеристике, срисована схема модуля, что бы понимать что куда подключать, скриншоты реальной работы модуля см. ниже. ВПО модуля работает в прозрачном режиме - т.е. что пользователь отправил по UART , модуль эти данные передаст в нужном формате по BT в приложение.
Ну и если забыли приложение AtomSwift позволяет выводить трек на карты с привязкой по GPS/ГЛОНАСС.

Модуль на данный момент работает только в активном режиме (без сна) и жрет порядка 8мА.

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

Соответственно, если есть на форуме заинтересованные лица владеющие на нормальном уровне си, и готовые потратить 10-12$ на приобретение в Китае отладчика CC Debugger и BT модуля, могу предоставить исходники для дальнейшей совместной работы и рассказать что да как.
Условий несколько:
1. проект народный, поэтому все в дальнейшем разработанные исходники в открытый доступ - сюда (через галерею форума в архиве) и на гит;
2. запрет использования в целях наживы (коммерческие проекты, продажа прошитых модулей, продажа исходников/бинарников прошивок) - в случае появления таких хитрожопых - админом будут выпиливаться данные личности и их объявления с форума.

По-сути осталось допилить правильный уход в сон, с выключением uart и правильное пробуждение с включением uart.

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

ЗЫ: для тех кто посчитает этот проект нелегальным - Madmax дал добро на сие использование его приложения.

Добавлено 21:00 29.04.20:
Вероятно на днях выгружу текущий бинарник для прошивки модуля и исходники/бинарник ПО под винду, что бы заинтесованные могли изучить протокол и способ обмена для прикручивания модуля к своему дозиметру на ардуине или другом МК. Ну и инфу куда что подпаивать для прошивки.


Мой жопограм

(Отредактировано автором: 30 Апреля, 2020 - 14:14:24)

 
 Top
Низковольтное оборудование и различные типы преобразователей напряжения под торговой маркой «Энергия»
Matrix
Отправлено: 29 Апреля, 2020 - 19:37:57
Post Id



Super Member


Off-line
Сообщений всего: 578
Дата рег-ции: Апр. 2016  
Откуда: Israel
Репутация: 22




"BT профиль Atom" это изначально открытая информация (открытый протокол)?
 
 Top
Syph3r
Отправлено: 29 Апреля, 2020 - 19:40:46
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




 Matrix пишет:
"BT профиль Atom" это изначально открытая информация (открытый протокол)?
Да, открытый, спецификация существует, и для не коммерческого использования Максим мне его предоставил, какая то информация была получена/подтверждена снифером. Единственное в этой спецификации есть опечатки, и она предназначена для разработчиков приложений для телефонов/компьютеров, если хорошо по форуму поискать - можно её найти, Максим уже ранее делился с народом несколько лет назад, но видимо не осилили.

(Отредактировано автором: 29 Апреля, 2020 - 19:58:36)

 
 Top
Syph3r
Отправлено: 30 Апреля, 2020 - 14:12:27
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




Порядок прошивки модуля AT-09 с использованием Arduino
(я использовал Arduino UNO взятую у товарища, что бы проверить способ прошивки без специализированного отладчика)

1. Скачать из любого источника и установить Arduino IDE (я использовал портативную 1.8.11, скачанную https://amperka.ru/page/arduino-ide)
2. Скачать архив с моей прошивкой и Arduino CCLoader см. ниже.
3. Залить в Arduino скетч CCLoader/CCLoader.ino
4. Соединить Arduino c модулем следующим образом:
- 4 порт Arduino к RESET_N модуля;
- 5 порт Arduino к P2.2 (DebugData) модуля;
- 6 порт Arduino к P2.1 (DebugClock) модуля;
- подключить землю GND и питание +3.3V в случае если модуль без переходной платы, или +5V если модуль с переходной печатной платой.
5. Открыть окно коммандной строки в окне с CCLoader.exe (правой кнопкой мыши с зажатым шифтом) и запустить прошивку следующей командой:
CCLoader.exe 9 ProtonBridge.bin 0
(9 это СОМ9, 0 это устройство по умолчанию - UNO)
Если висит на надписи Waiting for respond from Arduino - проверить правильность подключения, нажать ctrl+c и еще раз дать команду, софт бывает тупит даже при правильном подключении.
6. Модуль успешно прошит.



В случае если я когда то в запарке положу вместо ProtonBridge.bin файл с расширением hex - ProtonBridge.hex, то тогда качаем SRecord отсюда "http://srecord.sourceforge.net/download.html" и командой "srec_cat ProtonBridge.hex -Intel -o ProtonBridge.bin -Binary" выполняем его конвертирование из hex в bin. И добить "FF" конец файла до адреса "3FFFF" (примерно 138126 пустых байт, до итогового размера в 256кБ).

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

Arduino CCLoader использован от RedBearLab, там можно найти сборку под Linux - https://github.com/RedBearLab/CCLoader.

USB-UART адаптер для проверки функционала модуля нужно использовать с уровнем единицы не более 3.6В! Либо делать схему согласования уровней, схем в сети куча. Я использовал свой универсальный сдвоенный преобразователь на FT2232.

Скачать:
ArduinoCCLoader+ProtonBridge.bin от 30.04.20
ProtonBridgeTestApp от 30.04.20 (EXE файл лежит по пути ProtonBridgeTestApp\bin\Debug)

(Отредактировано автором: 30 Апреля, 2020 - 21:58:10)

 
 Top
dozik
Отправлено: 30 Апреля, 2020 - 18:02:01
Post Id



Прописавшийся на форуме


Off-line
Сообщений всего: 386
Дата рег-ции: Нояб. 2013  
Откуда: Крым
Репутация: 2




А чем оно лучше чем приложение atom simple? Оно кстати и по поводу хорошо работает
 
 Top
Syph3r
Отправлено: 30 Апреля, 2020 - 18:21:04
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




 dozik пишет:
А чем оно лучше чем приложение atom simple? Оно кстати и по поводу хорошо работает

Да впринципе достоинств несколько:
1. не ограничены в типах счётчиков (в приложении AtomSimple максимально что можно выставить в скрытых настройках это 99 имп./мкР, а тут вплоть до размерности float, согласно описания профиля, можно свободно встроить в СРП или применить слюдяной датчик);
2. отсутствует провод;
3. есть возможность построения трека на карте в реальном времени;
4. ну и остальной функционал приложения AtomSwift (3 порога вместо одного как в Simple, наличие архива и прочие плюшки которых я уже не помню).

Просто несколько лет назад после покупки AtomFast'a знакомые строящие самодельные дозиметры с восхищением смотрели на софт для ведра, но тогда что то и мысли не пришло поискать дешёвый BT модуль что бы запилить такую вещь. Я думаю найдутся рукастые кому пригодится, и мои потраченные десятки часов не будут напрасны. Как будет возможность допилю потребление, а может найдется энтузиаст который подхватит, ибо тут деятельности куча - можно ведь и полностью на модуль повесить и счёт импульсов и генерирование высокого напряжения для питания трубки, ибо на борту полноценный МК с прерываниями и АЦП.

(Отредактировано автором: 30 Апреля, 2020 - 18:21:30)

 
 Top
Syph3r
Отправлено: 01 Мая, 2020 - 14:03:38
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




Обновление от 01.05.20

Чуть выкроил времени, для разъяснения принципа обмена с модулем.
Добавил возможность полной записи\чтения всех характеристик описанных в AtomService BLE (до этого была возможность только записи по UART в "Основную измерительную характеристику", "Дополнительную измерительную характеристику", и одного параметра в "Основную калибровочную характеристику" ).
Напоминаю что модуль работает в прозрачном режиме т.е. он только принимает и передает данные между вашим устройством и приложением AtomSwift, данные не обрабатываются (принял в двоичном виде, отправил в двоичном виде), хранятся в ОЗУ модуля без привязки к какому либо типу данных.
Кусок с уходом в сон ещё не реализован, поэтому жор тот же - около 8мА.

Для записи данных в переменные модуля требуется:
1. отправить команду записи "0xA0";
2. отправить адрес переменной "0x02" - к примеру обновим мощность дозы;
3. отправляем данные согласно описания AtomService BLE размером 4 байта: "66E6F642" - к примеру мощность дозы равную "123,45 мкЗв/ч" (123,45(float) это в hex 0x42f6e666, ну и отправляем в порт начиная с младших байт 66 потом E6 потом F6 потом 42).
Итого требуется швырнуть в порт "A00266E6F642", думаю понятно.

Для чтения данных из переменных модуля требуется:
1. отправить команду чтения "0xB0";
2. отправить адрес переменной "0x02" - к примеру получим мощность дозы;
3. принять данные согласно описания AtomService BLE размером 4 байта: "66E6F642", соответственно положить данные в свою переменную нужно в обратном порядке, что бы получилось число 0x42f6e666, которое во float имеет значение 123,45.

Для новичков в программировании - отправка/прием должен осуществляться не в ASCII, а в двоичном формате(команды отправляются не текстом как в терминалах).

Описание адресов:

//Основная измерительная характеристика
0x00: //Флаги
0x01: //Накопленная доза в ​ mSv (миллизиверты)
0x02: //Мощность дозы в ​ µSv/h​ (микрозивертыв час)
0x03: //Число импульсов за последние 2 секунды
0x04: //Процент заряда батареи (0..100), %
0x05: //Температура (­128..127), ºC

//Дополнительная измерительная характеристика (можно в нее не писать данные, приложение AtomSwift их не обрабатывает как я понял)
0x10: //Общее число импульсов
0x11: //Число импульсов коррекции на мёртвое время датчика
0x12: //Общее число импульсов за N секунд
0x13: //Время измерения дозы в секундах

//Характеристика настроек индикации превышения 1 порога
0x20: //Порог включения сигнала о превышении накопленной дозы
0x21: //Порог срабатывания сигнала о превышении мощности дозы
0x22: //Время детектирования превышения мощности дозы
0x23: //Байт управления виброзвуковой сигнализацией

//Характеристика настроек индикации превышения 2 порога
0x30: //Порог включения сигнала о превышении накопленной дозы
0x31: //Порог срабатывания сигнала о превышении мощности дозы
0x32: //Время детектирования превышения мощности дозы
0x33: //Байт управления виброзвуковой сигнализацией

//Характеристика настроек индикации превышения 3 порога
0x40: //Порог включения сигнала о превышении накопленной дозы
0x41: //Порог срабатывания сигнала о превышении мощности дозы
0x42: //Время детектирования превышения мощности дозы
0x43: //Байт управления виброзвуковой сигнализацией

//Характеристика управления устройством
0x50: //Команда, на чтение всегда 0x00
0x51: //Параметр #1
0x52: //Параметр #2
0x53: //Параметр #3

//Основная калибровочная характеристика
0x60: //Чувствительность датчика
0x61: //Фоновый счёт датчика
0x62: //Мертвое время датчика
0x63: //Время измерения мощности дозы
0x64: //Пароль для записи калибровки в RAM

//Характеристика служебных данных
0x70: //Команда, на чтение
0x71: //Параметры #1-­#8

//Характеристика текстового описания
0x80: //Произвольная строка

Размерность и тип данных подробно описан в AtomService BLE. Выложена с согласия Максима.
В самом приложении AtomSwift принято за 1 мкЗв/ч = 100 мкР/ч, а не так как оговорено в AtomService BLE, соответственно в своем устройстве выполняйте аналогичный перевод 1:100.

Режим измерения
Есть небольшая тонкость в работе режима изменения. Приложение Atom Swift выполняет расчет в этом режиме исходя из накопленной дозы, соответственно ее нужно точно считать и слать модулю аналогично всем данным раз в секунду (чаще смысла нет, текущая версия прошивки, раз в секунду эти данные через уведомление отсылает приложению), более подробно как это работает - можно посмотреть запустив режим симуляции в тестовом приложении для винды. Если переменную накопленной дозы не обновлять, у вас приложение в режиме измерения будет вечно крутить мнемонику загрузки.

Выключение
В данный момент выключить/включить его можно только отключением/включением питания. Сон и вход EN ещё не реализован.

Скачать:
AtomServiceBLE4-v.0.2
ProtonBridge.bin от 01.05.20

(Отредактировано автором: 02 Мая, 2020 - 11:58:02)

 
 Top
Syph3r
Отправлено: 09 Мая, 2020 - 10:30:39
Post Id



Частый гость


Off-line
Сообщений всего: 87
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 25




Содержимого переменных\регистров доступных через BLE оригинального AtomFast

В кумыс обратились несколько человек по поводу содержимого переменных\регистров доступных через BLE оригинального AtomFast. Дабы повторно не отвечать, выкладываю данные снятые BLE монитором с моего купленного у Максима дозиметра AtomFast 4735 (о чем свидетельствует чувствительность 1700 имп/мкР в основной калибровочной характеристике).
0080D444(hex little-endian) -> 44D48000(hex big-endian) -> 1700(float). Для перевода можно заюзать любой конвертер - к примеру https://www.scadacore.com/tools/programming-calculators/online-hex-converter/.
Все читаемо и легко расшифровывается с использованием описания профиля BLE выложенного ранее, в общем курите кому нужно.

(Отредактировано автором: 09 Мая, 2020 - 10:33:56)

 
 Top
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Самодельные дозиметрические приборы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

> Похожие темы: ProtonBridge или используем приложение AtomSwift в самодельном дозиметре
Темы Форум Информация о теме Обновление
radcomm RC2
Что известно о дозиметре
Американские дозиметрические приборы Ответов: 7
Автор темы: Ilya
09 Февраля, 2018 - 07:15:00
Автор: Ilya
Дозиметр МКС-85 «Школьник»
Информация о дозиметре МКС-85 «Школьник»
Российские современные дозиметрические приборы Ответов: 6
Автор темы: gad969
11 Октября, 2016 - 12:42:25
Автор: gad969
кто возьмётся за разработку прибора
разработка
Самодельные дозиметрические приборы Ответов: 7
Автор темы: 1qaz2wsx
22 Марта, 2020 - 16:21:13
Автор: Zverozavr
Радиостанция Р-168-5УН-1
Отечественно-импортная "новая" разработка
Войсковые средства связи Ответов: 8
Автор темы: camuflage-spb
23 Августа, 2016 - 12:30:24
Автор: Сашок
Электроприводы
фото часто используемых электроприводов пост тока
Всякая разная электронная аппаратура и оборудование Ответов: 14
Автор темы: _Dovnar
26 Марта, 2020 - 12:28:45
Автор: _Dovnar
Детектор-индикатор радиоактивности Квартекс РД 8901 (Quartex RD 8901)
постперестроечное детище
Отечественные дозиметрические приборы Ответов: 25
Автор темы: Sauron
02 Января, 2020 - 21:41:54
Автор: BON
DIY-дозиметр-приставка на основе CCFL-инвертора + приложение для Android-смартфона
Самодельные дозиметрические приборы Ответов: 98
Автор темы: Dreamy
23 Февраля, 2017 - 08:52:13
Автор: shodan
SFIORA classic vibro что можете сказать об этом дозиметре
Стои ли его покупать
Российские современные дозиметрические приборы Ответов: 14
Автор темы: mirag
31 Октября, 2017 - 16:04:47
Автор: AndreySkv
 

Яндекс.Метрика

Вся информация является собственностью www.rhbz.org и охраняется законом об авторском праве.
Копирование материалов условно разрешено
Copyright © 2010 - 2019 rhbz.org

Powered by ExBB

[Script Execution time: 0.3421]     [ Gzipped ]