Для начала работы непосредственно с командным интерфейсом чипа BlueNRG или выполнения скриптов Python https://www.python.org/ можно использовать программу "BlueNRG GUI" из пакета "BlueNRG DK" от ST. 
Помимо программы "BlueNRG GUI" пакет "BlueNRG DK" содержит документацию, библиотеку для работы с BlueNRG и обновления ПО чипа BlueNRG.
Программу "BlueNRG GUI" можно скачать с сайта ST по ссылке: http://www.st.com/web/catalog/tools/FM147/SC1870/PF261967? и также она входит в состав этого архива Application\BLUENRG_GUI.exe
При работе непосредственно с модулем BT-01 http://naviaglonass.ru/product/bluetooth-low-energy-modul-navia/ 
или отладочной платой НАВИА BT-01A-DEMO http://naviaglonass.ru/product/demonstratsionnaya-plata-navia-bt-01a-demo/ 
в процессор модуля необходимо загрузить в модуль программу транслятора USART-SPI. 
Программа и загрузчик входит в состав этого архива navia_ble_updater 1.0.5569.19386\navia_ble_updater.exe
После запуска в меню Сервис->Настройки главного меню программы необходимо выбрать порт UART к которому подключен модуль или отладочная плата и выбрать файл конфигурации
navia_ble_updater 1.0.5569.19386\exe\spi2usart.firmware_update.ble_config.xml
После чего нажать кнопку "Пуск".
Обратите внимание что для программирования используются сигналы DTR и RTS выбранного последовательного порта. 
Убедитесь, что сигнал DTR подключен к выводу RESET, а сигнал RTS к выводу BOOT модуля.

Документация на сам чип BlueNRG находится здесь http://www.st.com/web/catalog/sense_power/FM1968/CL1976/SC1898/PF258646?ecmp=pf258646_link_emf_jan2014&sc=bluenrg
на вкладке Design Resources. В первую очередь рекомендуется ознакомится с документами в разделе User Manual.
В документе http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00114498.pdf из этого раздела описан командный интерфейс чипа BlueNRG
Для понимания общих принципов работы Bluetooth Low Energy (BLE) также рекомендуется ознакомится с официальной спецификацией Bluetooth LE 
https://www.bluetooth.com/what-is-bluetooth-technology/bluetooth-technology-basics/low-energy
Для наблюдения за работой чипа BlueNRG в эфире можно использовать программы "BLE Scanner" для Android или "LightBlue" для iOS, 
с использованием устройств, поддерживающие работу с Bluetooth LE.

Программа "BlueNRG GUI" (BLUENRG_GUI.exe)позволяет "вручную" формировать и отправлять команды для модуля BlueNRG, 
а также выполнять конфигурацию модуля и реализовывать рабочие алгоритмы с применением языка Python (файлы с расширением .py)
Программа ведет лог переданных и принятых пакетов в поле "Sent/Received Packets", 
при двойном клике по сообщению открывается окно с представлением пакета как набора байт. 
В окне "Packet Details" можно посмотреть детализацию пакета по полям.

Минимальный набор команд для проверки работоспособности модуля:
    - ACI_GATT_INIT;
    - ACI_GAP_INIT (в качестве параметра Role указываем Perepherial, задано по-умолчанию);
    - ACI_GAP_SET_DISCOVERABLE (можно задать свое имя в параметре Local_Name , 
первым байтом параметра должен быть байт со значением 0x08, указывающий тип данных, 
поле длины имени Local_Name_Length указывает длину имени с учетом байта типа данных).
 
После введения данного набора команд модуль должен быть виден в эфире с указанным именем (без сервисов). 
При подключении к данному модулю в поле "Sent/Received Packets" должно появиться сообщение HCI_LE_META_EVENT с значением Subevent_Code HCI_LE_CONNECTION_COMPLETE. 
При отключении от модуля приходит сообщение HCI_DISCONNECTION_COMPLETE.
 
Для добавления сервиса нужно дополнительно указать команды (до команды ACI_GAP_SET_DISCOVERABLE):
    - ACI_GATT_ADD_SERVICE (создаем сервис и передаем ему соотв. идентификатор UUID, в ответ модуль вернет указатель сервиса);
    - ACI_GATT_ADD_CHAR (создаем характеристику с указанным UUID передав в качестве параметра указатель сервиса).
 
После введения данного набора команд будет виден модуль с сервисом, содержащим характеристику. 
Данную характеристику можно использовать для обмена данными.

При создании характеристики в значении поля Char_Properties желательно добавить флаг Notify. 
Это позволит получать сообщения с новым значением характеристики при каждом изменении значения подключенным устройством. 
Размер характеристики рекомендуется указывать не более 20 байт. 
В случае задания характеристики размером более 20 байт работа с ней возможна порциями по 20 байт в несколько этапов. 
Также существует возможность задавать характеристику переменной длины, 
что удобно при использовании характеристики в качестве буфера FIFO при обмене данными.
 
Для изменения значения характеристики используется команда ACI_GATT_UPDATE_CHAR_VALUE, 
в которой нужно задать указатели на сервис и на характеристику, принадлежащую данному сервису и
соответственно данные (смещение относительно начала характеристики, куда будут писаться новое значение, длина данных и сам массив данных).

Этот алгоритм реализован в скрипте Application\scripts\SensorDemo_Central\SensorDemo_Central.py

Его можно запустить указав путь к нему во вкладке "Scripts" и нажав кнопку "Run Script"

Вкладка "Beacon" позволяет инициализировать BlueNRG как маяк iBeacon (торговая марка Apple, Inc) заполнив соответствующие поля параметров или запустив скрипт Application\scripts\iBeacon.py

Скрипты Application\scripts\Eddystone\Eddystone_Beacon_naviaglonass_ru.py  и
Application\scripts\Eddystone\Eddystone_Beacon_TLM.py позволяют инициализировать BlueNRG как маяк формата Eddystone (собственный формат Google)
и передавать пакеты типа URL и TLM соответственно

Краткое описание формата пакетов содержится в комментариях в коде соответствующих скриптов.

Контроль работы модуля в режиме маяка можно производить с помощью программ "iBeacon & Eddystone Scanner" (разработчик Flurp Laboratories flurp.de)  и
"Locate Beacon" (разработчик Radius Networks, Inc.) доступные в Google Play


 