Tuesday, August 16, 2016

Der nRF51822 als iBeacon

Um den nRF51822/nRF51422 als iBeacon zu benutzen gibt es bereits ein fertiges Beispielprogramm in dem Nordic nRF5 SDK. Dies kann in dem Pfad ../examples/ble_peripheral/ble_app_beacon/ gefunden werden.
nRF51422

Ausschnitt Beispiel Makefile:

 ...
CFLAGS += -DSOFTDEVICE_PRESENT
CFLAGS += -DS130
CFLAGS += -DBLE_STACK_SUPPORT_REQD
ASMFLAGS += -DSOFTDEVICE_PRESENT
ASMFLAGS += -DS130
ASMFLAGS += -DBLE_STACK_SUPPORT_REQD
ASMFLAGS += -DSWI_DISABLE0  


LDSCRIPT = $(TEMPLATEROOT)/s130_nrf51822_QFAA.ld
INC_PATHS += -I$(SDK_PATH)/components/softdevice/s130/headers

vpath %.c $(SDK_PATH)/components/softdevice/s130/headers

# object files

OBJS =  app_button.o app_error.o app_fifo.o app_timer.o app_util_platform.o nrf_assert.o nrf_log.o
OBJS += retarget.o app_uart_fifo.o 
OBJS += nrf_delay.o nrf_drv_common.o nrf_drv_gpiote.o nrf_drv_uart.o
OBJS += bsp.o main.o
OBJS += ble_advdata.o ble_conn_params.o ble_srv_common.o 
OBJS += system_nrf51.o softdevice_handler.o
...



Nachdem das Beispielprogramm kompiliert wurde muss dies mit dem beim Linken angegebenen Softdevice (z.B. das S130 Softdevice aus https://www.nordicsemi.com/eng/Products/S130-SoftDevice bzw.
https://www.nordicsemi.com/eng/nordic/download_resource/53724/10/41228315) gemeinsam geflasht werden. Evtl. sollte auch ein nrf51 mass_erase zuvor erfolgen um alle zuvor geflashten Programmelemente sicherheitshalber zu entfernen.


Flashbeispiel mit openocd:

reset halt
nrf51 mass_erase
program s130_nrf51_2.0.1_softdevice.hex verify
program ble_app_beacon.hex verify
reset








Ist dies geglückt, kann das iBeacon mit dem Mobiltelefon und der App NRF Connect (ehemals NRF Master Controll Panel) erkannt  und weiter untersucht werden.






Mehr infos unter:
https://www.youtube.com/watch?v=DgQHPn4f6SQ

No comments:

Post a Comment