M5CoreS3:开启智能创新之旅
2024-09-05
M5CoreS3相对于一般的物联网开发板,更接近一个成熟应用产品的状态,能够有效帮助开发者节省前期硬件设计时间,让更多的注意力集中到功能的创意上。
M5CoreS3的内部主控核心采用了ESP32-S3,同时集成Wi-Fi,蓝牙USB-OTG等众多外设,同时板载了16MBFlash+8MBPSRAM的大内存组合,这样的内存组合使开发人员在进行一些UI绘制或是音频数据处理时,变得更加游刃有余,不再为有限的内存资源担心。
接下来,就由来自M5Stack的高级应用工程师,郭少翔给大家详细介绍一下这款高集成、可编程控制器——M5CoreS3。
***************************************************
主讲嘉宾:
郭少翔,M5Stack高级应用工程师
充满好奇,"HelloWorld"。
M5CoreS3介绍
人机交互方面M5CoreS3正面嵌入了一块2英寸IPS电容触摸屏,用于信息显示和输入交互,同时集成双声道麦克风输入和高保真扬声器功放,除了实现音频录制和播放,还可以作为语音助手接入Home Assistant,实现智能家居联动。
2英寸IPS电容触摸屏 双声道麦克风输入和高保真扬声器功放
以下示范点亮RGB灯:
点亮RGB灯示范
内部还集成了6轴IMU姿态传感器,可以解锁更多交互方式。
内部集成6轴IMU姿态传感器
屏幕下方集成30万像素摄像头和接近传感器,你可以基于它实现人脸识别、手势识别等应用。
屏幕下方集成30万像素摄像头和接近传感器
M5CoreS3内置了独立的RTC时钟,芯片除了用于断电情况精准走时,还能实现低功耗定时唤醒。
内置独立RTC时钟
机身侧面TypeC接口除了用于程序下载以外,还支持USB功能开发,设备可以模拟成USB主机或是外设,例如键盘,MIDI设备,存储设备,甚至是USB网卡等,而且大多数的设备类型都在芯片官方Github有现成的示例程序,能够节省不少的开发时间。
机身侧面TypeC接口支持USB功能开发
设备可以模拟成USB主机或是外设
整机在供电上也非常灵活,外部支持9-24VDC供电或5V Type-C供电,设备内置了500 mAh锂电池,并且提供独立的电源开关。在一些特殊场景下,开发人员也可以通过这个开关完全关断设备供电,来减少不必要的电能损耗。
外部支持9-24VDC供电或5V Type-C供电/ 设备内置500 mAh锂电池
功能拓展方面,M5CoreS3提供了3组用于外接拓展设备的Grove接口,不同的接口颜色,定义了不同的功能映射。
红色的为I2C协议,很多数据采集相关的传感器可能会用到该接口,它允许你同时挂载多个不同地址的I2C设备到同一个接口上,能够有效节省IO资源。
蓝色的为UART接口,一些涉及指令通信控制的模块,例如NBIoT模块、LoRa WAN模块,将会使用到该接口,同时你还可以外接RS485或RS232模块来进行电平转换,以适应不同类型的外接设备。
黑色则为GPIO输入输出,可用于数字信号或模拟信号的输入输出,以实现例如继电器控制、灯光控制、按键输入、ADC信号输入采集等功能。
M5CoreS3提供3组用于外接拓展设备的Grove接口,不同的接口颜色,定义了不同的功能映射
除此之外,主控底部的2x15排母,对部分IO进行了引出。可搭配M5Stack模块系列,通过堆叠方式进行功能拓展,就像堆叠积木一样,只需要把不同功能的模块层层叠加,就能完成应用硬件的搭建工作。
可搭配M5Stack模块系列,通过堆叠方式进行功能拓展
结构方面,M5CoreS3的底座在设计时,考虑到不同用户的使用场景,在固定方式上提供了很多选择,它可以是螺丝孔固定、挂耳固定、滑轨固定、LEGO结构件固定,可以很方便的安装到各种场景中去。
底座可以是螺丝孔固定、挂耳固定、滑轨固定、LEGO结构件固定
下面说说软件开发环境,M5CoreS3支持多种开发方式,有M5Stack官方自研的图形化开发平台UIFlow;也可以是创客们熟悉的ArduinoIDE,以及官方推出的ESP-IDF等,你可以根据应用的复杂程度进行选择,总有一款适合你。
M5CoreS3支持多种开发方式
本期的分享,我们将以ArduinoIDE开发方式举例,实现温湿度节点采集,并实现数据读取和显示,使用到的硬件有M5 CoreS3(K128)和Unit-ENV(U001-D)温湿度传感器。
M5 CoreS3(K128)和Unit-ENV(U001-D)温湿度传感器
首先访问Arduino官方网站下载并安装Arduino IDE,打开IDE后,进入首选项设置,添加M5Stack开发板管理URL:https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
搜索M5Stack开发板管理,并进行安装
在库管理中安装M5 CoreS3库
安装M5 Unit-ENV传感器库,同时安装其相关的依赖库
在工具菜单中切换开发板选项为M5 CoreS3
接下来是代码运行部分,引入CoreS3头文件,M5Unit-ENV头文件,调用CoreS3 begin函数,初始化整机设备,并调整显示的字体与大小
初始化温湿度传感器,
在主循环中获取温湿度气压数值更新,并将其显示至屏幕
在主循环中获取温湿度气压数值更新
接下来是程序编译和上传部分,先将M5 CoreS3通过USB线连接至电脑,长按设备的复位键,等待绿灯亮起后则表示进入了下载模式。此时在IDE中选中对应端口,点击左上角的上传按钮,等待程序编译与上传,完成上传后,再次复位设备,可以看到设备已经读取到了当前温湿度数据。
程序编译和上传部分 1-2
另外,M5 CoreS3库中还提供了其他自带外设的示例程序,能够帮助你快速的熟悉这款设备并进行二次开发。
M5 CoreS3不只是一款硬件产品,它更是⼀种新颖的应用开发载体,有别于一般的从PCB绘制、到测试、再到软件开发的开发流程,M5 CoreS3能够一步到位的提供一个完善且成熟产品形态,帮助你的创意快速落地。
或许你的Idea到产品落地,差了仅仅只是一个M5 CoreS3,本期的产品分享就到这,更多好玩优质内容,我们下一期见。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。