- 2025-01-14
-
回复了主题帖:
【STM32H7S78-DK测评】1.收到板卡,简单测评
羡慕啊
- 2025-01-13
-
加入了学习《【Follow me第二季第4期】Arduino? Nano RP2040 Connect活动项目总结》,观看 【Follow me第二季第4期】Arduino Nano RP2040 Connect活动项目总结
- 2025-01-11
-
回复了主题帖:
【回顾2024,展望2025】新年抢楼活动来啦!
(5)立一个新年flag,不要拖延,执行力强一点
- 2024-12-29
-
发表了主题帖:
【Follow me第二季第4期】任务提交帖
Hello大家好,我是空耳,非常高兴能参加这次的活动。
视频:【Follow me第二季第4期】Arduino® Nano RP2040 Connect活动项目总结
物料介绍
Nano RP2040 Connect Nano RP2040 Connect | Arduino Documentation
Pico LCD 1.14 https://www.waveshare.com/wiki/Pico-LCD-1.14
配置环境
这里采用Arduino开发环境
任务一
搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!
由于RGB led是连接在W-102模块上的,所以要控制led,需要先安装WiFiNINA库。
流程图:
全部代码如下:
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>
#include <WiFiNINA.h>
#define TFT_CS 9 // Chip select control pin
#define TFT_RST 7 // Reset pin (could connect to Arduino RESET pin)
#define TFT_DC 8 // Data Command control pin
#define TFT_MOSI 11
#define TFT_SCLK 13
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup(void) {
Serial.begin(115200);
Serial.print(F("Hello! ST7789 TFT Test"));
// Init LED RGB pins
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDB, OUTPUT);
// Turn off all LEDs initially
digitalWrite(LEDR, HIGH); //RED
digitalWrite(LEDG, HIGH); //GREEN
digitalWrite(LEDB, HIGH); //BLUE
// Initialize the TFT display
tft.init(135, 240); // Init ST7789 240x135
tft.setRotation(3); // Set rotation to horizontal
tft.fillScreen(ST77XX_BLACK); // Clear screen
Serial.println(F("Initialized"));
delay(1000);
}
void loop() {
// 串口打印
Serial.println("Hello DigiKey & EEWorld!");
// 清空屏幕
tft.fillScreen(ST77XX_BLACK);
// 使用红色显示文本
testdrawtext("Hello DigiKey & EEWorld!", ST77XX_RED);
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, LOW);
digitalWrite(LEDB, LOW);
delay(500);
// 使用绿色显示文本
testdrawtext("Hello DigiKey & EEWorld!", ST77XX_GREEN);
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, HIGH);
digitalWrite(LEDB, LOW);
delay(500);
// 使用蓝色显示文本
testdrawtext("Hello DigiKey & EEWorld!", ST77XX_BLUE);
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, LOW);
digitalWrite(LEDB, HIGH); // BLUE LED on
delay(500);
}
// 显示文本的函数
void testdrawtext(char *text, uint16_t color) {
tft.setCursor(0, 0); // 设置光标位置,适应横屏显示
tft.setTextColor(color); // 设置字体颜色
tft.setTextSize(3); // 设置文本大小
tft.setTextWrap(true); // 开启文本换行
tft.print(text); // 打印文本
}
结果如下:
视频:[localvideo]a12c9691a793157827a6a93fc5476615[/localvideo]
任务二
学习IMU基础知识,调试IMU传感器,通过串口打印六轴原始数据。
本块开发板使用了STM的LSM6DSOXTR,具有3D数字加速度计和3D数字陀螺仪。需要额外安装一个库:LSM6DSOX
流程图:
源码:
#include <Arduino_LSM6DSOX.h>
float Ax, Ay, Az; // 陀螺仪xyz轴数据
float Gx, Gy, Gz; // 加速度计xyz轴数据
void setup() {
Serial.begin(115200);
while (!Serial);
if (!IMU.begin()) {
Serial.println("Failed to initialize IMU!");
while (1);
}
}
void loop() {
if (IMU.accelerationAvailable()) {
IMU.readAcceleration(Ax, Ay, Az);
Serial.print("Acceleration: ");
}
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(Gx, Gy, Gz);
Serial.print("Gyroscope: ");
}
printValues(Gx, Gy, Gz,Ax, Ay, Az); // 打印陀螺仪数据
}
void printValues(float gx, float gy, float gz,float ax, float ay, float az) {
Serial.print(gx);
Serial.print(',');
Serial.print(gy);
Serial.print(',');
Serial.print(gz);
Serial.print(',');
Serial.print(ax);
Serial.print(',');
Serial.print(ay);
Serial.print(',');
Serial.println(az); // 使用 println() 以避免手动添加换行
}
结果展示:
视频:[localvideo]ddf3faebe3ef6dbac0b7e5ddccbb6430[/localvideo]
任务三
学习PDM麦克风技术知识,调试PDM麦克风,通过串口打印收音数据和音频波形。
PDM麦克风,即采用脉冲密度调制(Pulse Density Modulation)技术的麦克风,是一种高效的数字音频信号处理方式,PDM麦克风的应用非常广泛,包括语音识别、音频采集、音频录制等领域。
流程图:
源码:
#include <PDM.h>
static const char channels = 1; // 1个通道(单声道)
static const int frequency = 16000; // 采样频率设置为16 kHz
short sampleBuffer[512]; // 用于存储读取到的样本
volatile int samplesRead = 0; // 使用volatile修饰,表示可被中断修改
void setup() {
Serial.begin(115200);
while (!Serial);
PDM.onReceive(onPDMdata);
if (!PDM.begin(channels, frequency)) {
Serial.println("Failed to start PDM!");
while (1);
}
}
void loop() {
noInterrupts(); // 禁用中断
int samplesToRead = samplesRead; // 复制正在读取的样本数量
samplesRead = 0; // 重置样本计数
interrupts(); // 恢复中断
if (samplesToRead) {
for (int i = 0; i < samplesToRead; i++) {
Serial.println(sampleBuffer[i]); // 打印读取的样本
}
}
}
void onPDMdata() {
int bytesAvailable = PDM.available(); // 获取可用字节数
PDM.read(sampleBuffer, bytesAvailable); // 从 PDM 中读取字节到缓冲区
samplesRead = bytesAvailable / 2; // 每两个字节构成一个样本
}
结果
视频:
[localvideo]450509bc284f4063c36624ecff1beb6e[/localvideo]
心得体会
第一次接触arduino,感觉上手还挺容易的,就是不是很习惯,这个编译不知道为什么是真的慢,不知道是我的设置问题还是什么(这平台真没用过纯小白)。还有就是习惯了裸开发底层,对于这种调库的方式,虽然开发起来很快,但是容易造成对底层没有从分的了解,只有以后慢慢学习,慢慢深入。总的来说这一次的体验还是非常的不错,最后感谢eeworld和得捷举办的活动,我受益匪浅,希望以后能举办更多这样的活动!
所有任务源码:
- 2024-12-21
-
加入了学习《Arduino? Nano RP2040 Connect 任务视频》,观看 PDM 数据打印及音频波形
-
回复了主题帖:
【米尔 瑞芯微RK3576 工业开发板】1.跑SDK内转换好的yolov5s模型,晚点跑一下yolov10
这个多少tops算力呢、
- 2024-12-05
-
加入了学习《嵌入式c语言进阶》,观看 课程内容和理念介绍
-
回复了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人监护系统
程序源码以及训练好的权重文件fall_down .zip
- 2024-11-01
-
加入了学习《基于树莓派5的工业智能网关视频》,观看 得捷2024大赛基于树莓派5的智能工业网关视频
- 2024-10-31
-
发表了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人监护系统
本帖最后由 空耳- 于 2024-11-1 04:33 编辑
基于树莓派的空巢老人监护系统
作者:空耳-
一、项目简介
1、设计名称
基于树莓派的空巢老人监护系统
2、项目照片
环境监测部分:
跌倒监测部分:
3、项目用到的板卡
(1)Raspberry Pi 5
处理器:2.4GHz 4核 64位Cortex-A76
内存:4GB LPDDR4X-4267
通讯接口:Wi-Fi 6(802.11ac) 支持2.4GHz和5GHz频段
Bluetooth 5.2 支持低功耗蓝牙连接
1个2.5Gbps 1000M Ethernet
2个USB3.0
2个USB2.0
GPIO:标准40Pin GPIO插头
音视频接口:双micro HDMI接口,支持双4K@60fps视频输出
2-lane MIPI DSI
2-lane MIPI CSI
MicroSD卡槽:支持更高速的MicroSD卡
PCIe接口: PCIe 2.0 x1接口,支持高速外设连接
(2)esp32
(3)其他传感器,mq-2,mq-5,dht11,GSM模块
4、项目功能
背景:随着我国社会老龄化的加剧, 特别是空巢老年人群体的扩大, 已经引起了广泛关注。 根据最新的统计数据, 我国 60 岁及以上的老年人口比例已经达到 18.7%, 而 65岁及以上的老年人口比例则为 13.5%, 与上一次人口普查相比, 这两个年龄段的人口比例分别上升了 5.44%和 4.63%。 同时, 《中国空巢老人现状报告 2017》 预测, 到2030 年, 我国的老龄人口将接近 3 亿, 其中 90%将是空巢老人家庭。 随着城市化进程的快速推进, 越来越多的年轻人涌向城市, 导致农村空巢老人的数量日益增加。
随着社会老龄化的加剧, 空巢老人的生活安全问题越来越受到重视。 本项目旨在开发一种基于树莓派的空巢老人守护系统, 该系统通过实时监控老人的姿态和环境信息, 能够迅速识别天然气泄漏, 家中失火, 老人跌倒等危险情况, 并立即向子女发送警告通知, 从而提升空巢老人的安全保障和生活品质。 本项目将综合运用嵌入式技术、 深度学习算法和物联网技术, 探讨如何构建一个高效且可靠的监测系统,为空巢老人的家庭护理提供技术支持与保障。
二、系统框图
系统设计方案:
为满足特定研究主题的需求, 本系统需要一个全面的设计方案。 系统的主要作用是监测老年人居家环境以及是否出现跌倒情况。 基于这一目标, 系统主要包含两个部分: 一部分是通过物联网技术实施环境监控, 另一部分则是专门用于检测跌倒这一危险行为。 系统总体框图如下:
物联网环境监测系统设计框图
在系统中,传感器数据监测部分负责监测空巢老人的室内环境参数,并通过云平台将信息发送给手机应用程序。在危险环境下,系统会通过GSM进行报警。系统包括数据采集模块,主控模块,通信模块等部分。
硬件框图:
软件框图:物联网环境监测系统使用Arduino IDE进行程序设计,设计了ESP-32主程序,DHT11温湿度传感器检测程序、MQ-2和MQ-5气体传感器检测程序,以及GSM报警通知程序。通过点灯Blinker APP软件,可以实时显示采集到的环境数据,并在发现危险情况时进行报警。
跌倒行为监测系统系统设计框图:
本文选择的ARM硬件平台为:Raspberry Pi 5处理器:2.4GHz 4核 64位Cortex-A76内存:4GB LPDDR4X-4267通讯接口:Wi-Fi 6(802.11ac) 支持2.4GHz和5GHz频段 Bluetooth 5.2 支持低功耗蓝牙连接1个2.5Gbps 1000M Ethernet。主要使用到了一下外部接口。
三、各部分功能说明
应用软件分为2大块:
跌倒行为监测:通过树莓派实施对跌倒行为的监控,主要聚焦于目标检测算法的研究,并采用YOLOv5算法来实现对老人跌倒的检测。对数据集进行多次训练,直到模型的准确度达到预定的目标。然后,将这个模型部署到目标设备上,对老人的行为进行视频监测,判断是否跌倒。最后通过GSM模块的短信功能进行报警。
物联网环境监测:通过采用DHT11传感器来监测老人居家环境的温湿度,并将获取的数据上传到云端进行显示和存储。这有助于实时了解老人居家环境的温湿度情况。通过采用MQ-5传感器来监测可燃气体是否泄露,并将获取的数据上传到云端进行显示和存储。这有助于实时了解老人居家环境的危险因素,提醒老人或者家属做出相应措施。通过采用MQ-2烟雾传感器来监测家中是否失火,并将获取的数据上传到云端进行显示和存储。这有助于实时了解老人居家环境的危险因素,提醒老人或者家属做出相应措施。
四、作品源码
环境监测部分:
#define WAIBU1 35 //定义蜂鸣器引脚
#define WAIBU2 34 //定义蜂鸣器引脚
#define beep 25 //定义蜂鸣器引脚
#define MQ2_pin 33 //定义MQ-5传感器AO采样
#define MQ5_pin 32 //定义MQ-5传感器AO采样
//温湿度部分
#define DHTPIN 26 //定义DHT11模块连接stm32的管脚PB8
#define DHTTYPE DHT11 // 使用温度湿度模块的类型为DHT11
DHT dht(DHTPIN, DHTTYPE); //生成DHT对象,参数是引脚和DHT的类型
BlinkerNumber HUMI("humi"); //定义湿度数据键名
BlinkerNumber TEMP("temp"); //定义温度数据键名
BlinkerNumber MQ5("mq5"); //定义温度数据键名
BlinkerNumber MQ2("mq2"); //定义温度数据键名
BlinkerSlider Slider0("T"); //位置0-3 滑块 数据键名
BlinkerSlider Slider1("H"); //位置0-3 滑块 数据键名
BlinkerSlider Slider2("M"); //位置0-3 滑块 数据键名
BlinkerSlider Slider3("N"); //位置0-3 滑块 数据键名
//定义浮点型全局变量 储存传感器读取的数据
int humi_read = 0, temp_read = 0;
int ADC_MQ5=0;
int ADC_MQ2=0;
int temp_read_threshold=30; //默认值后面要用到
int humi_read_threshold=90; //默认值后面要用到
int ADC_MQ5_read_threshold=500; //默认值后面要用到
int ADC_MQ2_read_threshold=2200; //默认值后面要用到
//**********定义连接WiFi***********************************//
char auth[] = "************"; //设备Blinker注册码
char ssid[] = "6"; //家里路由器名称
char pswd[] = "12345678"; //家里路由器密码
//定义浮点型全局变量 储存定时时间的数据
uint32_t read_time = 0;
void sensor_work()
{
//每隔两秒钟进入判断获取温湿度和危险气体浓度数值
if (read_time == 0 || (millis() - read_time) >= 2000)
{
read_time = millis();
//温湿度检测
float h = dht.readHumidity();
float t = dht.readTemperature();
humi_read = h;
temp_read = t;
//串口打印数值
Serial.print("湿度:");
Serial.print(humi_read);
Serial.print(" 温度:");
Serial.print(temp_read);
//危险气体mq-5检测
ADC_MQ5=analogRead(MQ5_pin);
//串口打印数值
Serial.print(" 危险气体:");
Serial.println(ADC_MQ5);
//mq-2检测
ADC_MQ2=analogRead(MQ2_pin);
//串口打印数值
Serial.print(" 烟雾浓度:");
Serial.println(ADC_MQ2);
}
if(humi_read > humi_read_threshold )
{
Blinker.notify("当前湿度过高");
digitalWrite(beep,LOW);
sim800c1();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
if( temp_read > temp_read_threshold )
{
Blinker.notify("当前温度过高");
digitalWrite(beep,LOW);
sim800c1();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
if(ADC_MQ5 >ADC_MQ5_read_threshold)
{
Blinker.notify("当前危险气体浓度过高");
digitalWrite(beep,LOW);
sim800c1();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
if(ADC_MQ2 >ADC_MQ2_read_threshold)
{
Blinker.notify("当前烟雾浓度过高");
digitalWrite(beep,LOW);
sim800c1();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
if(digitalRead(WAIBU1) ==HIGH)
{
Blinker.notify("检测到老人摔倒!!");
digitalWrite(beep,LOW);
sim800c2();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
if(digitalRead(WAIBU2) ==HIGH)
{
Blinker.notify("检测到老人摔倒!!");
digitalWrite(beep,LOW);
sim800c2();
Blinker.delay(500);
digitalWrite(beep,HIGH);
}
}
String data="";
String num="15181147909";
void sim800c1()
{
Serial2.println("AT"); //Once the handshake test is successful, it will back to OK
delay(500);
Serial2.println("AT+CMGF=1"); // Configuring TEXT mode
delay(500);
data="";data+="AT+CMGS=";data+="\"";data+=num;data+="\"";
Serial2.println(data);
delay(500);
Serial2.print("danger"); //text content
delay(500);
Serial2.write(26);
}
String data2="";
void sim800c2()
{
Serial2.println("AT"); //Once the handshake test is successful, it will back to OK
delay(500);
Serial2.println("AT+CMGF=1"); // Configuring TEXT mode
delay(500);
data2="";data2+="AT+CMGS=";data2+="\"";data2+=num;data2+="\"";
Serial2.println(data2);
delay(500);
Serial2.print("fall"); //text content
delay(500);
// Serial2.write(26);
Serial2.write(0x1a);
}
//回传数据
void heartbeat()
{
if(humi_read>0)
{
HUMI.print(humi_read); //给blinkerapp回传湿度数据
}
if(temp_read>0)
{
TEMP.print(temp_read); //给blinkerapp回传温度数据
}
if(ADC_MQ5>0)
{
MQ5.print(ADC_MQ5); //给blinkerapp回传湿度数据
}
if(ADC_MQ2>0)
{
MQ2.print(ADC_MQ2); //给blinkerapp回传湿度数据
}
}
//图表
void dataStorage()//云存储温湿度数据函数
{
Blinker.dataStorage("tubiao", humi_read);//存储酒精度数
Blinker.dataStorage("tubiao1", temp_read);//存储酒精度数
Blinker.dataStorage("tubiao2", ADC_MQ5);//存储酒精度数
Blinker.dataStorage("tubiao3", ADC_MQ2);//存储酒精度数
}
//滑块任务0函数
void slider0_callback(int32_t value) //滑块0
{
//Slider0.color("#00FF00");
temp_read_threshold=value;
}
//滑块任务1函数
void slider1_callback(int32_t value) //滑块0
{
//Slider1.color("#00FF00");
humi_read_threshold=value;
}
//滑块任务2函数
void slider2_callback(int32_t value) //滑块0
{
//Slider2.color("#00FF00");
ADC_MQ5_read_threshold=value;
}
//滑块任务3函数
void slider3_callback(int32_t value) //滑块0
{
//Slider2.color("#00FF00");
ADC_MQ2_read_threshold=value;
}
void setup()
{
Serial.begin(115200);//初始化串口
Serial2.begin(115200);
BLINKER_DEBUG.debugAll(); //调试窗口
Blinker.begin(auth, ssid, pswd); //初始化ESP32设备连接网络
Blinker.attachHeartbeat(heartbeat);//注册回调函数
Blinker.attachDataStorage(dataStorage); //图表
Slider0.attach(slider0_callback);//关联滑动开关
Slider1.attach(slider1_callback);//关联滑动开关
Slider2.attach(slider2_callback);//关联滑动开关
Slider3.attach(slider3_callback);//关联滑动开关
//初始化DHT传感器IO工作
dht.begin();
//初始化MQ-5传感器
pinMode(MQ5_pin, INPUT);
//初始化MQ-2传感器
pinMode(MQ2_pin, INPUT);
//初始化蜂鸣器
pinMode(beep, OUTPUT);
digitalWrite(beep,HIGH);
//初始外部引脚1
pinMode(WAIBU1, INPUT);
digitalWrite(WAIBU1,LOW);
//初始化外部引脚2
pinMode(WAIBU2, INPUT);
digitalWrite(WAIBU2,LOW);
}
void loop() {
Blinker.run();
sensor_work();
}
跌倒监测部分:其实这一部分代码量没有多少,只有是数据集的标注,和环境的搭建,模型的训练比较复杂。
模型介绍:
YOLO系列算法自2015年推出以来,以其高精度、高效率和高实用性获得广泛应用。YOLOv1将整张图片输入网络,直接回归框的位置和类别,但存在对小物体检测效果不佳、长宽比不一致导致的识别问题以及定位误差。YOLOv2提高了定位准确度并增加了识别种类,但未完全解决YOLOv1的问题。YOLOv3在模型复杂度上提升,检测精度显著提高,但速度略有下降。YOLOv3使用单一网络评估,性能卓越,但小型物体检测能力有限,精度和召回率都低。YOLOv4适用于实际工作环境,检测速度达到实时级别,降低了训练门槛,实现了速度与精度的平衡。本文所选用的目标检测算法是 YOLOv5。
YOLOv5算法包含五个不同版本:YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l以及YOLOv5x。通常情况下,目标检测算法主要由四个部分构成:输入端、基准网络、Neck网络以及Head输出端。
输入端:接收尺寸为608*608的图片,并进行图像预处理。
基准网络:负责提取图像的通用特征,通常由一些高性能的分类器网络构成。
Neck网络:增强特征的多样性和鲁棒性。
Head输出端:输出目标检测的结果。
观察图像后,可以看到,在五个不同版本中。YOLOv5x的检测准确度最高,但检测速度最慢;而YOLOv5n的检测速度最快,但检测准确度最差。考虑到树莓派5的推理能力,这里选择了yolov5s模型。
数据据制作:在众多图片数据集标注工具中,本文选择LabelImg工具进行数据集标注。
在图片标注任务完成后,LabelImg会创建一个文件来记录标注后的图片详细信息。这个文件格式可以选择的,但是YOLO只支持txt文件格式的数据,
上图中,从左至右的信息分别为标注内容的类别,归一化[16]后的中心点x坐标,y坐标以及归一化后的目标识别框的宽度和高度。在正常情况下,txt文件中,目标类别的数量与文件中的信息行数是一致的。
模型训练:首先在data目录下创建一个fall_data.yaml的数据集配置文件,如下图所示:
接下来在models下建立一个fall_yolov5s.yaml的模型配置文件,内容如下:
最后,需要对train.py文件进行调整,设置所需的迭代次数,并选择合适的模型及其权重。完成这些设置后,就可以开始训练数据集了。训练过程中的所有输出和最终结果都将保存在runs文件夹中。
最终训练出来的结果精度还行,80%以上,勉强可以使用。
PR曲线如下:
跌倒监测数据集:
训练好的权重文件: best.pt
标注好的数据集:由于数据集压缩包大于300mb,有需要的朋友可以留下邮箱,我发你。
五、作品功能演示视频
[localvideo]bbfa5e2c95b2e1640b4acc8f740d2665[/localvideo]
点灯blinker APP,登入自己的账号进入软件监控界面,环境信息采集结果如图
GSM报警通知内容如下
跌倒测试:
稍后上传
六、项目总结
本次项目主要是用于守护空巢老人。系统由两部分组成:物联网环境监测部分和跌倒行为监测部分。环境监测部分采用ESP32系列微控制器作为核心,利用传感器来监测居住空间的温度、湿度和可燃气体浓度及烟雾浓度,并通过点灯blinker应用程序提供反馈。跌倒行为识别部分则采用YOLOv5目标检测算法,来识别老人是否跌倒,并在检测到跌倒时发出警报。
七,存在的问题及展望
1、由于时间关系,项目只是实现了部分功能,严格来讲原理样机的要求还达不到,后续还需要花时间进一步完善。
2、现有系统设计无法预测跌倒行为。为了提升系统的预警能力,我希望在未来的学习中整合人体姿态估计算法,并将其部署到嵌入式系统中,以便能够对老人的跌倒行为进行早期预测和及时干预。通过这些改进,系统可以更加有效地保障空巢老人的安全,减少潜在的安全风险。
3、树莓派的推理性能确实有点弱,只有10fps不到的样子,后续会考虑加装AI拓展板,或者更换主控。
-
加入了学习《【2024DigiKey创意大赛】基于AIOT的智能家居设备开发演示视频》,观看 【2024DigiKey创意大赛】基于AIOT的智能家居设备开发
- 2024-09-22
-
回复了主题帖:
【2024 DigiKey创意大赛】 物料开箱
很精致嘛
- 2024-09-14
-
加入了学习《DigiKey 应用说:Raspberry Pi 5 在视频直播中的应用》,观看 Raspberry Pi 5 在视频直播中的应用
- 2024-09-09
-
回复了主题帖:
【2024 DigiKey 创意大赛】物料开箱
空耳- 发表于 2024-9-5 10:40
8G不是不报销吗,活动只有4G啊
是我格局小了
- 2024-09-05
-
回复了主题帖:
【2024 DigiKey 创意大赛】物料开箱
8G不是不报销吗,活动只有4G啊
- 2024-08-13
-
回复了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
秦天qintian0303 发表于 2024-8-13 15:00
弄个可以移动的视频监控,避免看不到人着急
确实是个好主意,但是好难,哥
- 2024-08-12
-
回复了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
damiaa 发表于 2024-8-12 12:46
我手上的2G的树莓派4没敢下手自己焊接改造。
慢慢熟悉一下,还是可以焊的,8g全新120左右,咸鱼便宜点
-
回复了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
damiaa 发表于 2024-8-12 11:02
楼主这树莓派5内存是小了。搞个8G的爽点。
正有打算,差不多100快可以淘一个8g的
-
回复了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
wangerxian 发表于 2024-8-12 09:29
偷偷告诉你,得捷的箱子都很大~
目前看了很多网友的帖子,暂时发现我的是最大的
-
发表了主题帖:
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
本帖最后由 空耳- 于 2024-8-13 12:36 编辑
【2024 DigiKey 创意大赛】基于树莓派的空巢老人守护系统01-开箱贴
首先,很荣幸入围参加这次活动,在这里非常感谢EEWORLD论坛与得捷电子!
这次活动我选择了SC1111,NUCLEO-F411RE,ESP32-C6-DEVKITC-1-N8来参加本次活动。接下来就是开箱环节了。
这是我第一次在得捷购物,虽然是美国发货,但是速度还是很快的。包装也十分霸气,上档次。(我的这个包装箱,可能是本次活动中最大的)
图1 包装外观图
图2是我选择的三款物料,可以看出包装还是很精致的。
图2 物料独立包装
图3为树莓派5 4G版本,主要用于监控图像的采集和推流。后续可以考虑换一个8g的DDR。
图3 树莓派5
图4 为esp32c6主要采集老人的居住环境信息。
图4 esp32c6
图5 为stm32f411 主要采集老人的心率,血氧的身体参数,以及mpu6050辅助判断老人是否发生跌倒等危险情况。(如果时间充足的情况下,我想把这一部分从新规划pcb,做的小巧一点做成手表的形式,就是不知道符合活动要求吗?会不会被判断没有使用必选物料。)
图5 stm32f411
最后本次的开箱环节就到此结束了。再次感谢EEWORLD论坛与得捷电子!