物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式

这篇具有很好参考价值的文章主要介绍了物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 基于STM32自行车智能无线防盗报警器

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:4分
  • 创新点:4分

1 简介

使用了合宙的ESP32C3开发板,设计了一款可拆卸的桌面模式屏摆件,通过wifi联网,可实现时间、天气、古诗、图片四种模式的显示。通过按键实现不同模式间的切换和更新。

2 主要器件

  • ESP32C3开发板
  • 墨水屏模块
  • MOSFET-N+AO3400A
  • 按键微动开关 664.3
  • PCB插座_2.54_2x8/16P 立式

3 实现效果

物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机

物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机

4 实现原理

4.1 硬件部分

墨水屏模块
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
使用2.9寸墨水屏,单片价格在15左右

项目在软件方面驱动墨水屏使用的是GxEPD2库,在GxEPD2库中选择适当的对于型号即可。如下所示:
GxEPD2_BW<GxEPD2_290, GxEPD2_290::HEIGHT> display(GxEPD2_290(/CS=5/ 7, /DC=/ 4, /RST=/ 5, /BUSY=/ 6)); // 屏幕型号1
GxEPD2_BW<GxEPD2_290_T5, GxEPD2_290_T5::HEIGHT> display(GxEPD2_290_T5(/CS=5/ 7, /DC=/4, /RST=/5, /BUSY=/6)); //屏幕型号2

底座模块
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
底座模块主要是起一个连接开发板和墨水屏模块的作用。

焊接PCB插座来实现墨水屏模块的拔插,焊接排母来实现与ESP32C3开发板的连接,焊接按钮来进行显示控制。

ESP32C3开发板
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
使用合宙的ESP32C3开发板,开发板买经典款或者简约款都可以。

经典款比较方便,因为使用简约款注意的技术细节会比较多,容易遇到坑。

排针朝上焊接就行,因为排针排母连接,这个项目用完拔下来做其他项目也很方便。

4.2 软件部分

编程软件Arduino

编程软件用的Arduino,环境配置参照网上资料。

开发板添加
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
使用到的库
物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机
本项目使用的库有:

  • ArduinoJson库: 解析Json数据,项目里的天气、古诗、名言等信息都是通过一些API获得,保存在返回的json数据中。
  • GxEPD2库:驱动墨水屏
  • Timezone库:通过NTP获取时钟需要用到
  • U8g2库:图像显示库

库的话可以在项目->加载库->管理库 中搜索下载。

5 部分核心固件代码

物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式,单片机

// wifi连接UDP设置参数
WiFiUDP Udp;

time_t getNtpTime() //通过NTP获取时间
{
    IPAddress ntpServerIP; // NTP server's ip address
    while (Udp.parsePacket() > 0)
        ; // discard any previously received packets
    // Serial.println("Transmit NTP Request");
    //  get a random server from the pool
    WiFi.hostByName(ntpServerName, ntpServerIP);
    sendNTPpacket(ntpServerIP);
    uint32_t beginWait = millis();
    while (millis() - beginWait < 1500)
    {
        int size = Udp.parsePacket();
        if (size >= NTP_PACKET_SIZE)
        {
            Serial.println("Receive NTP Response");
            Udp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer
            unsigned long secsSince1900;
            // convert four bytes starting at location 40 to a long integer
            secsSince1900 = (unsigned long)packetBuffer[40] << 24;
            secsSince1900 |= (unsigned long)packetBuffer[41] << 16;
            secsSince1900 |= (unsigned long)packetBuffer[42] << 8;
            secsSince1900 |= (unsigned long)packetBuffer[43];
            return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR;
        }
    }
    Serial.println("No NTP Response :-(");
    return 0; // 无法获取时间时返回0
}

// 向NTP服务器发送请求
void sendNTPpacket(IPAddress &address)
{
    // set all bytes in the buffer to 0
    memset(packetBuffer, 0, NTP_PACKET_SIZE);
    // Initialize values needed to form NTP request
    // (see URL above for details on the packets)
    packetBuffer[0] = 0b11100011; // LI, Version, Mode
    packetBuffer[1] = 0;          // Stratum, or type of clock
    packetBuffer[2] = 6;          // Polling Interval
    packetBuffer[3] = 0xEC;       // Peer Clock Precision
    // 8 bytes of zero for Root Delay & Root Dispersion
    packetBuffer[12] = 49;
    packetBuffer[13] = 0x4E;
    packetBuffer[14] = 49;
    packetBuffer[15] = 52;
    // all NTP fields have been given values, now
    // you can send a packet requesting a timestamp:
    Udp.beginPacket(address, 123); // NTP requests are to port 123
    Udp.write(packetBuffer, NTP_PACKET_SIZE);
    Udp.endPacket();
}

void initNTP()
{
    // Login suceeded so set UDP local port
    Udp.begin(LOCALPORT);
    // Set the time provider to NTP
    setSyncProvider(getNtpTime); //同步时间
}

6 最后

🔥 项目分享与指导:https://gitee.com/sinonfin/sharing文章来源地址https://www.toymoban.com/news/detail-831981.html

到了这里,关于物联网项目分享 基于ESP32的在线墨水屏桌面摆件 -物联网 单片机 嵌入式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用micropython(ESP8266、ESP32)驱动SES 2.66寸墨水屏显示中文

    由于需要做一些低功耗的东西,所以最近在尝试玩墨水屏。出于成本考虑(没钱的另一种委婉说法)从咸鱼淘到2块便宜的二手SES 2.66寸三色墨水屏,并使用micropython将其驱动起来,并用字库的方法显示中文。 1.硬件连线 SES 2.66墨水屏 SES 2.66墨水屏带驱动小板 买到的屏幕是图上

    2024年01月22日
    浏览(40)
  • ESP32物联网项目开发1-ESP32简介

    第1章,ESP32入门,向你介绍一般的物联网技术、ESP32硬件和开发环境选项。 第2章,与地球对话--传感器和执行器,讨论了不同类型的传感器和执行器,以及如何将它们与ESP32连接。 第3章,令人印象深刻的显示输出,解释了如何在ESP32项目中选择和使用不同的显示类型。FreeRT

    2024年02月08日
    浏览(42)
  • 物联网项目分享 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月17日
    浏览(69)
  • 单片机项目分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(113)
  • 【代码分享】ESP32接入华为云物联网平台完成属性定时上报(Arduino IDE开发)

    更多相关:华为云IOT物联网 论坛  之前带着大家写过使用esp8266接入华为云物联网平台的教程,有小伙伴后台私信,在ESP32接入华为云时遇到了问题,ESP32和ESP8266的代码几乎差不多的,ESP8266代码中用了“ESP8266.h”开发;ESP32可以直接用“WIFI.h”开发,教程基本和esp8266的那期教

    2024年02月13日
    浏览(56)
  • 物联网点灯项目:阿里云物联网平台+ESP32IDF+uniapp

    首先看效果(不太清晰)   视频演示效果 其次我讲一下大概的实现过程:前端用uniapp,(后来软工学长告诉我如果不是跨端开发的话完全可以不用uniapp,如果你要开发微信小程序就用微信开发者工具,如果你要开发移动端app就用安卓studio,因为我是自己琢磨的,当时只知道

    2024年01月21日
    浏览(50)
  • 基于ESP32搭建物联网服务器十二(使用MQTT协议与ESP32互动)

    在之前的文章中:基于ESP32搭建物联网服务器十一(用WEB页面控制引脚(GPIO)功能)_esp32webserver 控制io_你的幻境的博客-CSDN博客 已经简单地介绍了MQTT协议,对比于其它网络协议,MQTT协议在物联网的开发中,它的特点使它适用于大多数受限的环境。例如网络代价昂贵,带宽低、不可

    2024年02月02日
    浏览(50)
  • 基于ESP32搭建物联网服务器一(AP配网)

    目录 一、WiFi.mode();设置配网模式 二、WiFi.softAP();设置ESP32的WIFI属性 三、WiFi.softAPConfig();设置ESP32的IP,网关,子网掩码,DHCP    ESP32的AP配网模式可以通过无线WIFI连接的方式来连接来控制ESP32或获取ESP32的数据。 设置ESP32的AP配网需要的库为 WiFi.h 默认情况下,arduino IDE安装好

    2024年02月13日
    浏览(54)
  • 基于ESP32+微信小程序的物联网应用(小程序部分)

    本项目是 基于 ESP32 实现的全栈物联网应用 ,将会 手把手教用户实现 MQTT 环境的搭建 、 硬件传感器的驱动 以及 小程序的编写 。 手把手教学配套视频地址 您将会学习到 HTML、CSS、JS、微信小程序官方开发语言、Echarts、NodeJs、Express、MySQL、ARDUINO 等技能,此文章篇幅较长,建

    2024年04月17日
    浏览(43)
  • 基于物联网的环境调节系统(ESP32-C3+Onenet+微信小程序)

    这个是我最近做的一个课程设计,实时监测室内的温湿度和光照强度,在微信小程序上实时显示监测数据并下发命令控制风扇开关和舵机正反转(从而实现模拟窗帘的开关)。有两种模式控制,一个是手动控制,通过微信小程序远程控制设备开关,一个是设备自动控制,设定温

    2024年02月02日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包