circuitpython helper类与adafruit bluefruit le spi friend一起工作。

adafruit-circuitpython-bluefruitspi的Python项目详细描述


简介

Documentation StatusDiscordBuild Status

帮助类与adafruit bluefruit le spi friend一起工作。

依赖关系

此驱动程序取决于:

请确保circuitpython文件系统上的所有依赖项都可用。 这很容易通过下载来实现 the Adafruit library and driver bundle

从pypi安装

在支持的gnu/linux系统(如raspberry pi)上,可以在本地安装驱动程序from PyPI。为当前用户安装:

pip3 install adafruit-circuitpython-bluefruitspi

要在系统范围内安装(在某些情况下可能需要安装):

sudo pip3 install adafruit-circuitpython-bluefruitspi

在当前项目的虚拟环境中安装:

mkdir project-name &&cd project-name
python3 -m venv .env
source .env/bin/activate
pip3 install adafruit-circuitpython-bluefruitspi

用法示例

# A simple echo test for the Feather M0 Bluefruit# Sets the name, then echo's all RX'd data with a reversed packetimporttimeimportbusioimportboardfromdigitalioimportDigitalInOutfromadafruit_bluefruitspiimportBluefruitSPIspi_bus=busio.SPI(board.SCK,MOSI=board.MOSI,MISO=board.MISO)cs=DigitalInOut(board.D8)irq=DigitalInOut(board.D7)rst=DigitalInOut(board.D4)bluefruit=BluefruitSPI(spi_bus,cs,irq,rst,debug=False)# Initialize the device and perform a factory resetprint("Initializing the Bluefruit LE SPI Friend module")bluefruit.init()bluefruit.command_check_OK(b'AT+FACTORYRESET',delay=1)# Print the response to 'ATI' (info request) as a stringprint(str(bluefruit.command_check_OK(b'ATI'),'utf-8'))# Change advertised namebluefruit.command_check_OK(b'AT+GAPDEVNAME=BlinkaBLE')whileTrue:print("Waiting for a connection to Bluefruit LE Connect ...")# Wait for a connection ...dotcount=0whilenotbluefruit.connected:print(".",end="")dotcount=(dotcount+1)%80ifdotcount==79:print("")time.sleep(0.5)# Once connected, check for incoming BLE UART dataprint("\n *Connected!*")connection_timestamp=time.monotonic()whileTrue:# Check our connection status every 3 secondsiftime.monotonic()-connection_timestamp>3:connection_timestamp=time.monotonic()ifnotbluefruit.connected:break# OK we're still connected, see if we have any data waitingresp=bluefruit.uart_rx()ifnotresp:continue# nothin'print("Read %d bytes: %s"%(len(resp),resp))# Now write it!print("Writing reverse...")send=[]foriinrange(len(resp),0,-1):send.append(resp[i-1])print(bytes(send))bluefruit.uart_tx(bytes(send))print("Connection lost.")

贡献

欢迎投稿!请阅读我们的Code of Conduct 在帮助这个项目保持热情之前。

本地建筑

压缩发布文件

要在本地构建此库,您需要安装 circuitpython-build-tools包装。

python3 -m venv .env
source .env/bin/activate
pip install circuitpython-build-tools

安装后,请确保您处于虚拟环境中:

source .env/bin/activate

然后运行生成:

circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bluefruitspi --library_location .

斯芬克斯文件

sphinx用于根据代码中的rst文件和注释构建文档。第一, 安装依赖项(请随意重用上面的虚拟环境):

python3 -m venv .env
source .env/bin/activate
pip install Sphinx sphinx-rtd-theme

现在,激活虚拟环境后:

cd docs
sphinx-build -E -W -b html . _build/html

这将把文档输出到docs/_build/html。在浏览器中打开index.html以 查看它们。它还将(由于-w)错误的任何警告,像特拉维斯将。这是个很好的方法 本地验证它将通过。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于显示所有图像的java图像滑块   java如何覆盖本地存储库中现有的Gradle插件?   java如何在没有用户输入的情况下自动返回主菜单?   java Swing模型视图演示器(MVP)示例   Java if语句(初学者请求)   java二维数组列表是如何工作的?   java为什么要列出。添加列表的所有反转子列表会导致ConcurrentModificationException   java Arquillian测试只有放在根包中才能工作   已在运行CMD窗口中的Java run命令   用java中的比较器为每列排序2D数组   java如何选择使用多态性时应调用的方法   是否可以在java中将ArrayList<SelectItem>转换为ArrayList<Long>   数组使用Java中的getJSONArray()和getJSONObject()从JSON文件中获取元素   java ActiveMQ MapMessage接收带有空表的消息   java命名返回布尔值的方法的正确方法是什么?