Difference between revisions of "BPI-Bit-S2 STEAM 教育开发板"

From Banana Pi Wiki
Jump to: navigation, search
(CircuitPython)
(CircuitPython)
 
(8 intermediate revisions by 2 users not shown)
Line 353: Line 353:
 
这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。
 
这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。
  
当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的IDE,例如Mu编辑器。
+
当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的文本编辑器,例如Mu编辑器。
  
 
CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。即使没有编程基础,没有硬件基础,从零开始也可快速上手。
 
CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。即使没有编程基础,没有硬件基础,从零开始也可快速上手。
  
CircuitPython不支持定时器,硬件中断和多线程,仅提供编写并发代码的 asyncio 库。
+
CircuitPython不支持定时器,硬件中断等一些特定用于微控制器的库,也不支持多线程的_thread 库,仅提供编写并发代码的 asyncio 库。
 +
 
 +
在CircuitPython所支持的微控制器和其Blinka所支持的单板计算机(SBCs)中,代码具有很好的可移植性,这得益于它在统一API上的努力。
 +
 
 +
[https://circuitpython.org/board/bpi_bit_s2/ BPI-Bit-S2 CircuitPython 下载页面]
 +
 
 +
[https://codewith.mu/ Mu编辑器 下载页面]
 +
 
 +
'''安装tinyUF2固件:'''
 +
 
 +
为了使你的BPI-Bit-S2开发板可以通过USB-CDC刷写FLASH,需要设置开发板为固件下载模式。
 +
 
 +
通过USB连接到电脑,按住BOOT键,再按一下RST键并松开,最后松开BOOT键。
 +
 
 +
在BPI-Bit-S2 CircuitPython 下载页面底部的 Install, Repair, or Update UF2 Bootloader 栏目中,参考其说明下载安装tinyUF2固件。
 +
 
 +
'''安装CircuitPython固件:'''
 +
 
 +
在BPI-Bit-S2 CircuitPython 下载页面右侧点击 DOWNLOAD .UF2 NOW 按钮下载固件到本地,随后拷贝至BPI-Bit-S2 UF2 Bootloader模式下的磁盘中,自动复位后即可使用。
  
 
== Arduino ==
 
== Arduino ==
Line 364: Line 382:
  
 
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
 
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
 +
 +
Arduino 集成开发环境(IDE)是此平台的软件核心,使用C/C++编程语言开发项目。
 +
 +
Arduino 最大的特性就是提供统一的API来开发所有它所支持的微控制器,具有非常良好的代码可移植性和可复用性。
 +
 +
此外它简化了搭建开发环境的过程,所有它所支持的微控制器的开发环境都可一键安装配置。
 +
 +
它还提供简单的一键式机制来编译和上传程序到微控制器中运行。
 +
 +
Arduino IDE中还集成了很多例程,辅有大量的注释,能帮助用户快速上手。
 +
 +
Arduino 社区中积累的大量的优秀开源项目可供参考与学习,还有相当多的芯片制造商提供的驱动库与API。
  
 
* [https://www.arduino.cc/en/software Arduino IDE 下载地址] | [https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing 安装并配置Arduino-ESP32运行环境]
 
* [https://www.arduino.cc/en/software Arduino IDE 下载地址] | [https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing 安装并配置Arduino-ESP32运行环境]
 
* [https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#apis Arduino-ESP32 APIs]
 
* [https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#apis Arduino-ESP32 APIs]
 
Preparing...
 
  
 
= 资料与资源 =
 
= 资料与资源 =
  
 
[https://github.com/BPI-STEAM/BPI-BIT-Lite-Doc/blob/main/sch/BPI-BIT-Lite-V0.2.pdf BPI-Bit-S2原理图]
 
[https://github.com/BPI-STEAM/BPI-BIT-Lite-Doc/blob/main/sch/BPI-BIT-Lite-V0.2.pdf BPI-Bit-S2原理图]
 +
 +
=样品购买=
 +
*官方速卖通 : https://www.aliexpress.com/item/1005004996218484.html?spm
 +
*官方淘宝店:https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5702805387.15.65f0159arKKQI9&id=693462857865

Latest revision as of 01:27, 19 December 2022


介绍

BPI-Bit with ESP32
BPI-Leaf-S3 with ESP32-S3
BPI-AI Kendryte K210 RISC-V
BPI-UNO32 with ESP32 design

BPI-Bit-S2 banner.jpg

BPI-Bit-S2 开发板 是 BPI-Bit 的后继型号,继承了大部分硬件功能。

IO与micro:bit兼容,可以使用大部分micro:bit的周边配件。

支持 Webduino, Arduino, MicroPython & CircuitPython 编程环境 ,适合应用于STEAM教育领域。

关键特性

  • ESP32-S2
  • 25颗全彩LED灯
  • 1个温度传感器
  • 1个蜂鸣器
  • 2个光敏传感器
  • 正面两个背面一个可编程按键
  • Type-C USB接口
  • 外形尺寸 5x5cm
  • 金手指IO定义与micro:bit完全兼容

功能对比

micro:bit 与 BPI-Bit-S2
型号 micro:bit V2.2X BPI-Bit-S2
MCU主控芯片 Nordic nRF52833 Espressif ESP32-S2
核心频率 64MHz 240MHz
RAM 128KB 320 KB
FlASH ROM 512KB 4096 KB
PSRAM 2048 KB
无线功能 Bluetooth,microbit-radio WIFI, IEEE 802.11 b/g/n, 2.4Ghz
LED 25颗 红色灯珠 25颗 WS2812-3535 彩色灯珠
按键 2个可编程按键,1个RST按键 2个可编程按键,1个BOOT按键,1个RST按键
蜂鸣器
麦克风
USB插座 Micro USB Type-C USB
USB转TTL nRF52833-QDAA or nRF52820-QDAA MCU芯片内置
电池插座
IO 19 pins金手指IO,鳄鱼夹卡口,支持触摸感应 19 pins金手指IO(兼容micro:bit),鳄鱼夹卡口,支持触摸感应
运动传感器
光敏传感器 2个
温度传感器 1个芯片温度传感器 1个板载温度传感器

硬件

Bpi bit v2 interface.jpg

BPI-Bit-S2 规格表
MCU主控芯片 ESP32-S2FN4R2,Xtensa® 32 位 LX7 单核处理器
主频 240MHz MAX
工作温度 -40℃~+85℃
ROM 128 KB
SRAM 320 KB
FLASH ROM 4 MB
PSRAM 2 MB
WIFI IEEE 802.11 b/g/n ,2.4Ghz 频段
GPIO 已引出19个可用GPIO引脚
可用外设功能 ADC,TOUCH,PWM,SPI,I2C,I2S,Pulse counter, RMT,TWAI® Controller,SD/MMC,LCD_CAMERA
外部晶振 40Mhz
蜂鸣器 1个板载蜂鸣器
LED 灯 25颗串联全彩led灯,单线GPIO控制;1颗单色LED灯,GPIO0控制
光敏传感器 2个独立光敏传感器
温度传感器 1个独立温度传感器
IO 19pins 金手指IO(兼容micro:bit配件),背部 19 pin 触点
按键 2个可编程按键,1个BOOT按键,1个RST按键
USB USB Type-C接口,全速 USB OTG,USB-ACM
工作电压 3.3V
电源 USB Type-C输入5V供电,或金手指IO输入3.3V供电
尺寸 5 * 5 cm

板载外设

外设GPIO分配及信号类型
光敏传感器(L) GPIO 12 Analog Input
光敏传感器(R) GPIO 13 Analog Input
按键 A GPIO 38 Digital Input
按键 B GPIO 33 Digital Input
按键 BOOT GPIO 0 Digital Input
温度传感器 GPIO 14 Analog Input
蜂鸣器 GPIO 17 PWM(Digital Output)
RGB_LED GPIO 18 Digital Output

5*5 全彩LED灯

BPI-Bit-S2 有25颗全彩LED灯, 单GPIO控制. 每颗LED的三原色像素都可以实现 8bit 256级亮度显示,及实现16777216色全彩显示,扫描频率不低于400Hz/s。

5*5 LEDs list of BPI-Bit-S2
20 15 10 5 0
21 16 11 6 1
22 17 12 7 2
23 18 13 8 3
24 19 14 9 4

金手指引脚定义

BPI-Bit-S2 金手指 GPIO 定义与 micro:bit 兼容. 可以使用 micro:bit 的GPIO扩展板配件。

Bpi bit v2 goldfinger.jpg

SPI,I2C
Function Pin Name GPIO Num
SPI_SCK P13 GPIO36
SPI_MISO P14 GPIO37
SPI_MOSI P15 GPIO35
SPI_CS P16 GPIO34
I2C_SCL P19 GPIO16
I2C_SDA P20 GPIO15

供电

BPI-Bit-S2支持两种供电方式:

1. Type-C USB:使用USB线供电,连接电脑USB接口或其他5V USB充电器即可为开发板供电。

2. 金手指:开发板底部金手指包含电源接口,同时具有输入和输出功能,使用3.3V供电,正极接3V3,负极接GND。

软件

Webduino

Webduino logo 1200x350.jpg

webduino在线积木编程平台

webduino积木编程平台 Windows安装版

webduino在线教学手册

MicroPython

Mircopython.png

MicroPython是Python 3编程语言的精益高效实现,包括 Python 标准库的一小部分,并且经过优化,可在微控制器和有限的硬件资源中运行。

由 Damien P. George 于 2013年 众筹开源。

它与使用C程序开发微控制器最明显的差异性,就是验证代码时无需漫长的编译。

使用串口通信软件,通过REPL(read-eval-print-loop)输入命令来控制微控制器,和Python的REPL一样。

也可使用一些工具将 python 脚本文件上传到微控制器内运行。

它对Python 3 的实现,包括了支持多线程的 _thread 库,编写并发代码的 asyncio 库。

它尽可能与普通Python兼容,允许您轻松地将代码从桌面端移植到微控制器。

同时它还具备一些特定用于微控制器的库,以便充分利用微控制器芯片内的硬件功能,例如定时器,硬件中断,WiFi等,这取决于具体的硬件。

在具备上述特性的同时,它的硬件开销很少,最低只需 256k 的代码空间和 16k 的 RAM 即可运行。

如果你了解Python,很大程度上你就已经了解MicroPython了。

在另一方面,你深入地学习MicroPython,也能提升你对Python的理解。

CircuitPython

CircuitPython Repo header logo.jpg

CircuitPython是MicroPython的一个教育友好型的开源衍生产品,由Adafruit Industries支持与开发。

在易用性上,它在MicroPython的基础上更进一步。

使用CircuitPython固件的开发板连接PC时,PC将会立即得到一个USB存储磁盘,将python脚本文件复制进此磁盘即可让程序在此开发板上运行。

这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。

当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的文本编辑器,例如Mu编辑器。

CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。即使没有编程基础,没有硬件基础,从零开始也可快速上手。

CircuitPython不支持定时器,硬件中断等一些特定用于微控制器的库,也不支持多线程的_thread 库,仅提供编写并发代码的 asyncio 库。

在CircuitPython所支持的微控制器和其Blinka所支持的单板计算机(SBCs)中,代码具有很好的可移植性,这得益于它在统一API上的努力。

BPI-Bit-S2 CircuitPython 下载页面

Mu编辑器 下载页面

安装tinyUF2固件:

为了使你的BPI-Bit-S2开发板可以通过USB-CDC刷写FLASH,需要设置开发板为固件下载模式。

通过USB连接到电脑,按住BOOT键,再按一下RST键并松开,最后松开BOOT键。

在BPI-Bit-S2 CircuitPython 下载页面底部的 Install, Repair, or Update UF2 Bootloader 栏目中,参考其说明下载安装tinyUF2固件。

安装CircuitPython固件:

在BPI-Bit-S2 CircuitPython 下载页面右侧点击 DOWNLOAD .UF2 NOW 按钮下载固件到本地,随后拷贝至BPI-Bit-S2 UF2 Bootloader模式下的磁盘中,自动复位后即可使用。

Arduino

Arduino logo 1200x350.png

Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。

Arduino 集成开发环境(IDE)是此平台的软件核心,使用C/C++编程语言开发项目。

Arduino 最大的特性就是提供统一的API来开发所有它所支持的微控制器,具有非常良好的代码可移植性和可复用性。

此外它简化了搭建开发环境的过程,所有它所支持的微控制器的开发环境都可一键安装配置。

它还提供简单的一键式机制来编译和上传程序到微控制器中运行。

Arduino IDE中还集成了很多例程,辅有大量的注释,能帮助用户快速上手。

Arduino 社区中积累的大量的优秀开源项目可供参考与学习,还有相当多的芯片制造商提供的驱动库与API。

资料与资源

BPI-Bit-S2原理图

样品购买