blefyi

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: MIT Imports: 5 Imported by: 0

README

blefyi-go

Go Reference

Go client for the BLEFYI API. Look up Bluetooth Low Energy chips, profiles, versions, beacons, use cases, and manufacturers. Zero dependencies — stdlib only.

Install

go get github.com/fyipedia/blefyi-go

Quick Start

package main

import (
    "fmt"
    "log"

    blefyi "github.com/fyipedia/blefyi-go"
)

func main() {
    client := blefyi.NewClient()

    result, err := client.Search("heart rate")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("Found %d results for 'heart rate'\n", result.Total)

    chip, err := client.Chip("nrf52840")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s: %s\n", chip.Name, chip.Description)
}

API Methods

Method Description
Search(query) Search chips, profiles, and glossary
Chip(slug) Get BLE chip details
Profile(slug) Get BLE profile details
Version(slug) Get BLE version details
Beacon(slug) Get beacon type details
Usecase(slug) Get use case details
Manufacturer(slug) Get manufacturer details
GlossaryTerm(slug) Get glossary term definition
Compare(slugA, slugB) Compare two BLE chips
Random() Get a random BLE chip

REST API

Free, no authentication required. Base URL: https://blefyi.com/api

curl https://blefyi.com/api/search/?q=heart+rate
curl https://blefyi.com/api/chip/nrf52840/
curl https://blefyi.com/api/random/

Full OpenAPI spec: https://blefyi.com/api/openapi.json

Also Available

Language Package Install
Python blefyi pip install blefyi
TypeScript blefyi npm install blefyi
Go blefyi-go go get github.com/fyipedia/blefyi-go
Rust blefyi cargo add blefyi
Ruby blefyi gem install blefyi

Code FYI Family

Site Domain Focus
BarcodeFYI barcodefyi.com Barcode symbologies and standards
QRCodeFYI qrcodefyi.com QR code types and encoding
NFCFYI nfcfyi.com NFC chips and standards
BLEFYI blefyi.com Bluetooth Low Energy profiles
RFIDFYI rfidfyi.com RFID tags and frequencies
SmartCardFYI smartcardfyi.com Smart card platforms and standards

License

MIT

Documentation

Overview

Package blefyi provides a Go client for the BLEFYI API.

BLEFYI is a comprehensive Bluetooth Low Energy reference covering chips, profiles, versions, beacons, use cases, and manufacturers. This client requires no authentication and has zero external dependencies.

Usage:

client := blefyi.NewClient()
result, err := client.Search("heart rate")

Index

Constants

View Source
const DefaultBaseURL = "https://blefyi.com/api"

DefaultBaseURL is the default base URL for the BLEFYI API.

Variables

This section is empty.

Functions

This section is empty.

Types

type BeaconDetail

type BeaconDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

BeaconDetail represents a BLE beacon type.

type ChipDetail

type ChipDetail struct {
	Name         string `json:"name"`
	Slug         string `json:"slug"`
	Description  string `json:"description"`
	Manufacturer string `json:"manufacturer"`
	URL          string `json:"url"`
}

ChipDetail represents a BLE chip.

type Client

type Client struct {
	BaseURL    string
	HTTPClient *http.Client
}

Client is a BLEFYI API client.

func NewClient

func NewClient() *Client

NewClient creates a new BLEFYI API client with default settings.

func (*Client) Beacon

func (c *Client) Beacon(slug string) (*BeaconDetail, error)

Beacon returns details for a BLE beacon type by slug.

func (*Client) Chip

func (c *Client) Chip(slug string) (*ChipDetail, error)

Chip returns details for a BLE chip by slug.

func (*Client) Compare

func (c *Client) Compare(slugA, slugB string) (*CompareResult, error)

Compare compares two BLE chips.

func (*Client) GlossaryTerm

func (c *Client) GlossaryTerm(slug string) (*GlossaryTerm, error)

GlossaryTerm returns a glossary term by slug.

func (*Client) Manufacturer

func (c *Client) Manufacturer(slug string) (*ManufacturerDetail, error)

Manufacturer returns details for a BLE manufacturer by slug.

func (*Client) Profile

func (c *Client) Profile(slug string) (*ProfileDetail, error)

Profile returns details for a BLE profile by slug.

func (*Client) Random

func (c *Client) Random() (*ChipDetail, error)

Random returns a random BLE chip.

func (*Client) Search

func (c *Client) Search(query string) (*SearchResult, error)

Search searches across BLE chips, profiles, and glossary terms.

func (*Client) Usecase

func (c *Client) Usecase(slug string) (*UsecaseDetail, error)

Usecase returns details for a BLE use case by slug.

func (*Client) Version

func (c *Client) Version(slug string) (*VersionDetail, error)

Version returns details for a BLE version by slug.

type CompareResult

type CompareResult struct {
	ChipA interface{} `json:"chip_a"`
	ChipB interface{} `json:"chip_b"`
	URL   string      `json:"url"`
}

CompareResult represents a comparison between two BLE chips.

type GlossaryTerm

type GlossaryTerm struct {
	Term       string `json:"term"`
	Slug       string `json:"slug"`
	Definition string `json:"definition"`
	URL        string `json:"url"`
}

GlossaryTerm represents a glossary term.

type ManufacturerDetail

type ManufacturerDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

ManufacturerDetail represents a BLE manufacturer.

type ProfileDetail

type ProfileDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

ProfileDetail represents a BLE profile.

type SearchItem

type SearchItem struct {
	Name string `json:"name"`
	Slug string `json:"slug"`
	Type string `json:"type"`
	URL  string `json:"url"`
}

SearchItem represents a single search result item.

type SearchResult

type SearchResult struct {
	Query   string       `json:"query"`
	Results []SearchItem `json:"results"`
	Total   int          `json:"total"`
}

SearchResult represents the API search response.

type UsecaseDetail

type UsecaseDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

UsecaseDetail represents a BLE use case.

type VersionDetail

type VersionDetail struct {
	Name        string `json:"name"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	URL         string `json:"url"`
}

VersionDetail represents a BLE version.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL