基于RT-Thread OS的 迷你时钟项目

基于RT-Thread OS的 迷你时钟项目

近期在自学RT-Thread OS, 这是一个国内团队开发的实时物联网操作系统,具有组件完整丰富、高度可伸缩、简易开发等优点。
在这里插入图片描述
RTOS官网
参考学习文档

作品演示

基于RT-Thread OS的网络小时钟

实现功能:
1.联网获取时间;
2.测温测湿度;
3.将天气数据实时显示在一块OLED屏幕上。

在这里插入图片描述

主要元件

在这里插入图片描述

开发板:STM32L432KC Nucleo
Wi-Fi模块:ESP8266-01S
温湿度传感器模块:SHT31
显示屏:ssd1306 (0.96英寸)

调试工具:USB-UART串口模块

其中,UART1用于串口调试,Wi-Fi模块使用UART2,传感器和屏幕分别挂载于I²C1和I²C2

代码部分

本作品开源地址:Github仓库
参考教程:桌面mini网络时钟
参考数据手册:STM32L432KC
核心部分(oled显示线程)

#include <rthw.h>
#include <rtthread.h>
#include <rtdevice.h>
#include <U8g2lib.h>
#include <stdio.h>

#include <drv_soft_i2c.h>

extern "C"
{
   
#include <sht3x.h>
}
extern "C"
{
   
sht3x_device_t sht3x_init(const char *i2c_bus_name, rt_uint8_t sht3x_addr);
rt_err_t sht3x_read_singleshot(sht3x_device_t dev);
}


#define OLED_I2C_PIN_SCL                    7   // PA7
#define OLED_I2C_PIN_SDA                    20  // PB4

static U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,\
                                         /* clock=*/ OLED_I2C_PIN_SCL,\
                                         /* data=*/ OLED_I2C_PIN_SDA,\
                                         /* reset=*/ U8X8_PIN_NONE);

#define SUN 0
#define SUN_CLOUD  1
#define CLOUD 2
#define RAIN 3
#define THUNDER 4

static void drawWeatherSymbol(u8g2_uint_t x, u8g2_uint_t y, uint8_t symbol)
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mattli0231

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值