Fix up docs and lint examples
This commit is contained in:
parent
214e27739c
commit
a9de053311
10 changed files with 56 additions and 65 deletions
|
|
@ -52,7 +52,7 @@ confidence=
|
|||
# no Warning level messages displayed, use"--disable=all --enable=classes
|
||||
# --disable=W"
|
||||
# disable=import-error,print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call
|
||||
disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error
|
||||
disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error,bad-continuation
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
|
|
|
|||
|
|
@ -28,11 +28,8 @@ This is easily achieved by downloading
|
|||
|
||||
Installing from PyPI
|
||||
=====================
|
||||
.. note:: This library is not available on PyPI yet. Install documentation is included
|
||||
as a standard element. Stay tuned for PyPI availability!
|
||||
|
||||
.. todo:: Remove the above note if PyPI version is/will be available at time of release.
|
||||
If the library is not planned for PyPI, remove the entire 'Installing from PyPI' section.
|
||||
.. note:: Only the bridge examples work on Raspberry Pi because Blinka `_bleio` doesn't support
|
||||
advertising, only scanning.
|
||||
|
||||
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
|
||||
PyPI <https://pypi.org/project/adafruit-circuitpython-ble_broadcastnet/>`_. To install for current user:
|
||||
|
|
@ -59,7 +56,7 @@ To install in a virtual environment in your current project:
|
|||
Usage Example
|
||||
=============
|
||||
|
||||
.. todo:: Add a quick, simple example. It and other examples should live in the examples folder and be included in docs/examples.rst.
|
||||
Add a secrets.py file and then run ``ble_broadcastnet_blinka_bridge.py``.
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ Basic IOT over BLE advertisements.
|
|||
|
||||
import struct
|
||||
import time
|
||||
from micropython import const
|
||||
import adafruit_ble
|
||||
from adafruit_ble.advertising import Advertisement, LazyObjectField
|
||||
from adafruit_ble.advertising.standard import ManufacturerData, ManufacturerDataField
|
||||
from micropython import const
|
||||
|
||||
__version__ = "0.0.0-auto.0"
|
||||
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet.git"
|
||||
|
|
@ -58,8 +58,8 @@ def broadcast(measurement, *, broadcast_time=0.1, extended=False):
|
|||
|
||||
device_address = "{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}".format( # pylint: disable=invalid-name
|
||||
*reversed(
|
||||
list(_ble._adapter.address.address_bytes)
|
||||
) # pylint: disable=protected-access
|
||||
list(_ble._adapter.address.address_bytes) # pylint: disable=protected-access
|
||||
)
|
||||
)
|
||||
"""Device address as a string."""
|
||||
|
||||
|
|
|
|||
|
|
@ -23,14 +23,15 @@ Table of Contents
|
|||
.. toctree::
|
||||
:caption: Tutorials
|
||||
|
||||
.. todo:: Add any Learn guide links here. If there are none, then simply delete this todo and leave
|
||||
the toctree above for use later.
|
||||
|
||||
.. toctree::
|
||||
:caption: Related Products
|
||||
|
||||
.. todo:: Add any product links here. If there are none, then simply delete this todo and leave
|
||||
the toctree above for use later.
|
||||
Raspberry Pi 3B <https://www.adafruit.com/product/3055>
|
||||
Raspberry Pi 3B+ <https://www.adafruit.com/product/3775>
|
||||
Raspberry Pi Zero W <https://www.adafruit.com/product/3400>
|
||||
Raspberry Pi 4B 1GB <https://www.adafruit.com/product/4295>
|
||||
Raspberry Pi 4B 2GB <https://www.adafruit.com/product/4292>
|
||||
Raspberry Pi 4B 4GB <https://www.adafruit.com/product/4296>
|
||||
|
||||
.. toctree::
|
||||
:caption: Other Links
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
import adafruit_ble_broadcastnet
|
||||
import time
|
||||
import analogio
|
||||
import board
|
||||
import math
|
||||
import microcontroller
|
||||
import time
|
||||
import adafruit_ble_broadcastnet
|
||||
|
||||
print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
|
||||
|
||||
|
|
@ -13,10 +12,15 @@ divider_ratio = 2
|
|||
while True:
|
||||
measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
|
||||
battery_voltage = (
|
||||
battery.value / 2 ** 16 * divider_ratio * battery.reference_voltage
|
||||
battery.value
|
||||
/ 2 ** 16
|
||||
* divider_ratio
|
||||
* battery.reference_voltage # pylint: disable=no-member
|
||||
)
|
||||
measurement.battery_voltage = int(battery_voltage * 1000)
|
||||
measurement.temperature = microcontroller.cpu.temperature
|
||||
measurement.temperature = (
|
||||
microcontroller.cpu.temperature # pylint: disable=no-member
|
||||
)
|
||||
print(measurement)
|
||||
adafruit_ble_broadcastnet.broadcast(measurement)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
import adafruit_ble_broadcastnet
|
||||
import time
|
||||
import analogio
|
||||
import board
|
||||
import math
|
||||
import microcontroller
|
||||
import neopixel
|
||||
import time
|
||||
import adafruit_ble_broadcastnet
|
||||
|
||||
print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
|
||||
|
||||
|
|
@ -16,7 +15,10 @@ pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
|
|||
while True:
|
||||
measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
|
||||
battery_voltage = (
|
||||
battery.value / 2 ** 16 * divider_ratio * battery.reference_voltage
|
||||
battery.value
|
||||
/ 2 ** 16
|
||||
* divider_ratio
|
||||
* battery.reference_voltage # pylint: disable=no-member
|
||||
)
|
||||
r = 16 - int(((battery_voltage - 3.6) / 0.6) * 16)
|
||||
r = min(16, max(r, 0))
|
||||
|
|
@ -24,7 +26,9 @@ while True:
|
|||
g = min(16, max(g, 0))
|
||||
pixel[0] = r << 16 | g << 8
|
||||
measurement.battery_voltage = int(battery_voltage * 1000)
|
||||
measurement.temperature = microcontroller.cpu.temperature
|
||||
measurement.temperature = (
|
||||
microcontroller.cpu.temperature # pylint: disable=no-member
|
||||
)
|
||||
print(measurement)
|
||||
adafruit_ble_broadcastnet.broadcast(measurement)
|
||||
pixel[0] = 0
|
||||
|
|
|
|||
|
|
@ -1,35 +1,10 @@
|
|||
"""This example bridges from BLE to Adafruit IO on a Raspberry Pi."""
|
||||
from secrets import secrets # pylint: disable=no-name-in-module
|
||||
import time
|
||||
import requests
|
||||
from adafruit_ble.advertising.standard import ManufacturerDataField
|
||||
import adafruit_ble
|
||||
import adafruit_ble_broadcastnet
|
||||
from secrets import secrets
|
||||
import sys
|
||||
|
||||
if sys.implementation.name == "cpython":
|
||||
import requests
|
||||
else:
|
||||
from adafruit_esp32spi import adafruit_esp32spi
|
||||
from adafruit_esp32spi import adafruit_esp32spi_wifimanager
|
||||
|
||||
import board
|
||||
import busio
|
||||
from digitalio import DigitalInOut
|
||||
import adafruit_dotstar
|
||||
|
||||
esp32_cs = DigitalInOut(board.D13)
|
||||
esp32_ready = DigitalInOut(board.D11)
|
||||
esp32_reset = DigitalInOut(board.D12)
|
||||
|
||||
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
|
||||
esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
|
||||
# esp._debug = 1
|
||||
|
||||
status_light = adafruit_dotstar.DotStar(
|
||||
board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2
|
||||
)
|
||||
requests = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(
|
||||
esp, secrets, status_light
|
||||
)
|
||||
|
||||
aio_auth_header = {"X-AIO-KEY": secrets["aio_key"]}
|
||||
aio_base_url = "https://io.adafruit.com/api/v2/" + secrets["aio_username"]
|
||||
|
|
@ -45,6 +20,10 @@ def aio_get(path, **kwargs):
|
|||
return requests.get(aio_base_url + path, **kwargs)
|
||||
|
||||
|
||||
# Disable outer names check because we frequently collide.
|
||||
# pylint: disable=redefined-outer-name
|
||||
|
||||
|
||||
def create_group(name):
|
||||
response = aio_post("/groups", json={"name": name})
|
||||
if response.status_code != 201:
|
||||
|
|
@ -102,7 +81,8 @@ def convert_to_feed_data(values, attribute_name, attribute_instance):
|
|||
|
||||
|
||||
ble = adafruit_ble.BLERadio()
|
||||
print("This is BroadcastNet bridge:", adafruit_ble_broadcastnet.device_address)
|
||||
bridge_address = adafruit_ble_broadcastnet.device_address
|
||||
print("This is BroadcastNet bridge:", bridge_address)
|
||||
print()
|
||||
|
||||
print("Fetching existing feeds.")
|
||||
|
|
@ -139,7 +119,6 @@ for measurement in ble.start_scan(
|
|||
# Skip if we are getting the same broadcast more than once.
|
||||
if measurement.sequence_number == sequence_numbers[sensor_address]:
|
||||
continue
|
||||
# print(sensor_address, measurement, measurement.sequence_number, sequence_numbers[sensor_address])
|
||||
number_missed = measurement.sequence_number - sequence_numbers[sensor_address] - 1
|
||||
if number_missed < 0:
|
||||
number_missed += 256
|
||||
|
|
@ -3,12 +3,12 @@
|
|||
report. When doing a report it will actually do multiple broadcasts and wait 2 ** n readings
|
||||
until the next broadcast. The delay is reset every time the temp moves more than 1 degree."""
|
||||
|
||||
import adafruit_ble_broadcastnet
|
||||
import math
|
||||
import time
|
||||
import analogio
|
||||
import board
|
||||
import math
|
||||
import microcontroller
|
||||
import time
|
||||
import adafruit_ble_broadcastnet
|
||||
|
||||
print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ divider_ratio = 2
|
|||
last_temperature = None
|
||||
consecutive = 1
|
||||
while True:
|
||||
temp = microcontroller.cpu.temperature
|
||||
temp = microcontroller.cpu.temperature # pylint: disable=no-member
|
||||
if not last_temperature or abs(temp - last_temperature) > 1:
|
||||
consecutive = 1
|
||||
last_temperature = temp
|
||||
|
|
@ -31,7 +31,10 @@ while True:
|
|||
if 2 ** exp == consecutive:
|
||||
measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
|
||||
battery_voltage = (
|
||||
battery.value / 2 ** 16 * divider_ratio * battery.reference_voltage
|
||||
battery.value
|
||||
/ 2 ** 16
|
||||
* divider_ratio
|
||||
* battery.reference_voltage # pylint: disable=no-member
|
||||
)
|
||||
measurement.battery_voltage = int(battery_voltage * 1000)
|
||||
measurement.temperature = temp
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
"""This is a complex sensor node that uses the sensors on a Clue and Feather Bluefruit Sense."""
|
||||
|
||||
import time
|
||||
import board
|
||||
import adafruit_bmp280
|
||||
import adafruit_sht31d
|
||||
import adafruit_apds9960.apds9960
|
||||
|
||||
# import adafruit_apds9960.apds9960
|
||||
import adafruit_lis3mdl
|
||||
import adafruit_lsm6ds
|
||||
import adafruit_ble_broadcastnet
|
||||
import time
|
||||
|
||||
print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
"""This is a basic sensor node that uses the internal temperature sensor and reports it every 10
|
||||
seconds."""
|
||||
|
||||
import adafruit_ble_broadcastnet
|
||||
import microcontroller
|
||||
import time
|
||||
import microcontroller
|
||||
import adafruit_ble_broadcastnet
|
||||
|
||||
print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
|
||||
|
||||
while True:
|
||||
measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
|
||||
measurement.temperature = microcontroller.cpu.temperature
|
||||
measurement.temperature = (
|
||||
microcontroller.cpu.temperature # pylint: disable=no-member
|
||||
)
|
||||
print(measurement)
|
||||
adafruit_ble_broadcastnet.broadcast(measurement)
|
||||
time.sleep(10)
|
||||
|
|
|
|||
Loading…
Reference in a new issue