1、写在前面
很高兴能参加这次的板卡测评,SLE模组,对于平常开发中对于我个人属于是一个陌生的领域,星闪模组也是这几年全新的技术。网上能找到的资料也不是很多,做这个的模组厂商也不是很多,也体现了这次板卡试用的价值性。星闪(NearLink)是华为主导研发的新一代近距离无线通信技术,旨在融合蓝牙和Wi-Fi的优势,提供更低功耗、更高速度、更低时延的短距离无线连接方案。华为被制裁后推出的这个协议,最开始主要用在华为自家产品上,这种模组也是这两年才有。去年安信可一直在推但是由于开发资料不足,如果公司没有相应项目支持,个人开发者要拿到资料很有限。前面有个大佬帖子里面也有特地说明,没有资料。
本次试用的板卡,https://www.silent-smart.com/News_read_id_178.shtml
NearLink(星闪)模组--WS8204
WS8204 是一款高度集成 2.4GHz SoC BLE&SLE 芯片方案模组,集成 BLE5.4/SLE1.0 子系统,包含 MAC、Baseband、
RF、balun、功率放大器、低噪 声放大器,TX/RX switch 等模块,支持 1M/2M/4M 3 种带宽,最大支持 12Mbit/s 速率。
WS8204 集成高性能 32bit 微处理器(MCU),硬件安全引擎以及丰富的外设接 口,外设接口包括 SPI、UART、I2C、
PWM、GPIO、USB2.0、NFC Tag、PDM、 I2S/PCM、QDEC、KEYSCAN 键盘扫描电路,支持 8 路 13bit 分辨率 ADC、
ADC 支 持对接音频 AMIC,内置 SRAM 和合封 Flash,并支持在 Flash 上运行程序。 WS8204 支持 LiteOS,并配套提
供开放、易用的开发和调试运行环境。
WS8204 将片上 IO 全部引出,方便客户二次开发,模组自带屏蔽罩,同时可选择板载 PCB 天线或邮票孔二选一天线形
式,19mm * 12.9mm 超小尺寸,非常适用于鼠标、键盘、手写笔、网关以及 IOT 等物联网智能终端领域。
产品特性
支持SLE 1.0协议、BLE5.4协议
免许可ISM 2.4GHz频段, 最大输出功率+6dBm
内置 SRAM 512KB,内置 2MB FLASH
支持USB2.0*1、SPI*5、QSPI*2、UART*4、PWM*6、I2C*5、
I2S/PCM*1、PDM、QDEC、KeyScan等丰富外设
主从一体,支持最大8路链接,SLE和BLE共享
供电电压:2.6V~4.8V
支持-35℃~105℃长时间使用
IPEX4代+PCB,19* 12.9mm 超小尺寸
我这里主要是要把18和17两个引脚接出来,本来还在纠结这个USB怎么引出,后面看到大佬们的测评,这个IO口的定义有资料。看了下文档,可以引出。
2、开始试用
首先需要设置其中一台星闪模组作为主机模式,
AT命令发送数据是 AT+SSEND=0,5,后面跟数据,实验成功能如下图
这场试用到这肯定没有任何意义,我做了后面几个操作,用上了之前EEPW活动中的esp32 s3,这里要再次感谢EEPW能经常有这种好活动,让剩余的板卡可以为后续的项目所用,这片板子是我最喜欢的板子之一。
我使用了ESP32 的串口来接收星闪的数据,星闪的串口17、18接到ESP32 的D5、D6
简单的写了下面的代码
#include <Adafruit_GFX.h>#include <Adafruit_ST7789.h>#include <Arduino.h>#include <HardwareSerial.h> HardwareSerial MySerial(1); // 显示屏硬件配置 (根据实际接线修改)#define TFT_CS 7 // 片选引脚#define TFT_DC 39 // 数据/命令引脚#define TFT_RST 40 // 复位引脚#define TFT_BACKLIGHT 45 // 背光控制引脚 // 创建显示屏对象Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); void setup() { Serial.begin(115200); MySerial.begin(115200, SERIAL_8N1, 6, 5); Serial.println("UART1 is ready, waiting for data..."); // 初始化背光控制 pinMode(TFT_BACKLIGHT, OUTPUT); digitalWrite(TFT_BACKLIGHT, HIGH); // 开启背光 // 初始化显示屏 tft.init(135, 240); // 初始化240x135像素屏幕 tft.setRotation(3); // 设置显示方向 (0-3) tft.fillScreen(ST77XX_BLACK); // 初始清屏} // 显示功能封装方法void showText(const String &message) { tft.fillScreen(ST77XX_BLACK); // 清屏 tft.setTextColor(ST77XX_WHITE); // 白色字体 tft.setCursor(10, 10); // 起始坐标 (x,y) tft.setTextSize(2); // 字号大小 tft.print(message); // 显示内容} void loop() { // // 示例用法:每秒更新计数 // static int counter = 0; // showText("Count: " + String(counter++)); // delay(1000); if (MySerial.available()) { String data = MySerial.readString(); Serial.print("Received: "); Serial.println(data); showText(data); }}
以下便是实现完成后的效果图
到这为止,本次板卡试用就结束了,感谢EEPW及成都无声讯通科技有限责任公司
如果是做方案选型可以作为参考,这基本上属于是电子价签的雏形。实际作为产品还需要仔细优化,及功耗部分需要注意。