All Projects → pyrinas-iot → pyrinas-ble-client

pyrinas-iot / pyrinas-ble-client

Licence: BSD-3-Clause license
nRF52 SDK(v16) based OS for use with Particle Xenon and other nRF52840 boards.

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to pyrinas-ble-client

bluenet
Bluenet is the in-house firmware on Crownstone hardware. Functions: switching, dimming, energy monitoring, presence detection, indoor localization, switchcraft.
Stars: ✭ 79 (+426.67%)
Mutual labels:  bluetooth, bluetooth-low-energy, nrf52
IOS-DFU-Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 400 (+2566.67%)
Mutual labels:  bluetooth, bluetooth-low-energy, nrf52
blatann
Python BLE library for the Nordic nRF52 connectivity firmware
Stars: ✭ 44 (+193.33%)
Mutual labels:  bluetooth-low-energy, nrf52
theheraldproject.github.io
Herald - Proximity Detection Protocol and research documentation, including the Fair Efficacy Formula
Stars: ✭ 17 (+13.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+146.67%)
Mutual labels:  nrf52, nrf52840
react-native-easybluetooth-classic
⚛ A Library for easy implementation of Serial Bluetooth Classic on React Native (Android Only).
Stars: ✭ 44 (+193.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
SmartSpin2k
Transform your spin bike into a Smart Trainer!
Stars: ✭ 88 (+486.67%)
Mutual labels:  bluetooth, bluetooth-low-energy
ESP32BleAdvertise
Simple library for BLE advertise using ESP32 in Arduino
Stars: ✭ 39 (+160%)
Mutual labels:  bluetooth, bluetooth-low-energy
DroneJS
A Node.js based library for controlling a Parrot minidrone. This library also provides the feature to take pictures from the drone, download them all at a time and delete them whenever required.
Stars: ✭ 19 (+26.67%)
Mutual labels:  bluetooth, bluetooth-low-energy
ios
CoThings's iOS application. CoThings is a realtime counter for shared things.
Stars: ✭ 13 (-13.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
BLELib
This library contains many of the features you need to interact with BLE peripherals
Stars: ✭ 21 (+40%)
Mutual labels:  bluetooth, bluetooth-low-energy
Bluetooth-ble-beamer-and-scanner-for-tracing-corona-virus-infected-individual
Bluetooth ble beacon beamer and scanner for tracing corona virus infected person similar to Trace Together app
Stars: ✭ 26 (+73.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
SwiftyTeeth
A simple, lightweight library intended to take away some of the cruft and tediousness of using CoreBluetooth
Stars: ✭ 21 (+40%)
Mutual labels:  bluetooth, bluetooth-low-energy
daydream-node
Quick Node.js module to connect to the Daydream controller and receive all the data
Stars: ✭ 17 (+13.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
nrf52832-pac
Peripheral Access Crate for the nRF52832 microcontroller
Stars: ✭ 21 (+40%)
Mutual labels:  bluetooth, nrf52
BLE
No description or website provided.
Stars: ✭ 25 (+66.67%)
Mutual labels:  bluetooth, bluetooth-low-energy
redux-bluetooth
Redux middleware to dispatch actions via bluetooth to a peripheral store
Stars: ✭ 17 (+13.33%)
Mutual labels:  bluetooth, bluetooth-low-energy
H.E.L.P.
Home Environment Locating People 🍍
Stars: ✭ 19 (+26.67%)
Mutual labels:  bluetooth, bluetooth-low-energy
home assistant-ble
Companion application for home-assistant, sending bluetooth low energy detection
Stars: ✭ 21 (+40%)
Mutual labels:  bluetooth, bluetooth-low-energy
ble-serial
"RFCOMM for BLE" a UART over Bluetooth low energy (4.0+) bridge for Linux, Mac and Windows
Stars: ✭ 134 (+793.33%)
Mutual labels:  bluetooth, bluetooth-low-energy

Pyrinas: for Particle Xenon using nRF SDK v16

Pyrinas

This repository is a scaffold that anyone can use to get started with the nRF52 DK. Currently the only board definition available is for the Particle Xenon.

Getting started

A brief walkthrough of Pyrinas can be found here.

Files for that blog post are located in the examples/intro/ folder.

Install (Mac OSX Only)

Note: want to add your platform? Pull requests are appreciated! :)

  1. Clone this repository into a folder on your machine. git clone https://github.com/pyrinas-iot/pyrinas-os.git
  2. Change directories to pyrinas-os
  3. Run make setup. This will download and extract a copy of the toolchain, and SDK.
  4. For a first time startup, you'll have to run make gen_key. This key is used for secure DFU.

Note if make setup fails at any point, you can always run make toolchain_clean and make sdk_clean and then re-run make setup

Other setup

You should update two variables in the main Makefile:

PROG_SERIAL - change this to the serial of your Jlink programmer.

To get your serial number, run jlinkexe and you should see the output:

$ jlinkexe
SEGGER J-Link Commander V6.60c (Compiled Dec 23 2019 16:16:43)
DLL version V6.60c, compiled Dec 23 2019 16:16:28

Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan  7 2019 14:07:15
Hardware version: V1.00
S/N: <YOUR SERIAL HERE>
License(s): RDI, FlashBP, FlashDL, JFlash, GDB
VTref=3.300V


Type "connect" to establish a target connection, '?' for help

Look for S/N: and you should see your serial!

  1. APP_FILENAME - should match the name of your app. Make it something memorable!

Building

make build will build your code make merge will merge your code as one hex file. This includes the Softdevice make flash_softdevice will flash the softdevice. make flash will flash your app, bootloader and settings.

Note: on a fresh board, you should run make erase, make flash_softdevice then make flash

Debugging

In order to debug a central and peripheral mode device at the same time you have to define PROG_SERIAL and PROG_PORT in your app's Makefile. If you only have one programmer, you will not be able to simultaneously debug.

To get your programmer serial plug in your J-link capable board and run jlinkexe:

jlinkexe SEGGER J-Link Commander V6.62a (Compiled Jan 31 2020 12:59:22) DLL version V6.62a, compiled Jan 31 2020 12:59:05

Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 21 2020 17:30:48
Hardware version: V1.00
S/N: 581758669
License(s): RDI, FlashBP, FlashDL, JFlash, GDB
VTref=3.300V


Type "connect" to establish a target connection, '?' for help
J-Link>

Find the S/N area. This is your serial number!

To simultaneously debug, make sure that PROG_PORT is set to different values for each app you have. (Good port numbers are 19020, 19021, etc)

Then, run these in two separate windows. The window you'll care about is the window that make rtt is run in.

make debug
make rtt

You'll have to do this for each project you want to debug.

Uninstalling Toolchain or SDK

  1. Run make sdk_clean for the SDK
  2. Run make toolchain_clean for the Toolchain

Both options will remove the respective directories.

Adding a project.

For more information on how to start your own project with Pyrinas, check out the template repository.

What's in the pipeline?

All future tasks are located here.

Special Thanks

There are a few projects that if they did not exist, so would this project! In no particular order:

  • NanoPB is a low level C implementation of Protocol Buffers.
  • LittleFS is a filesystem implementation used by many embedded systems.
  • Nordic's SDK maybe it's too obvious, but without the great work of Nordic nothing here would exist!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].