37浏览
查看: 37|回复: 9

[K10项目分享] 【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

[复制链接]
【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图2

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好


【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1

驴友花雕  中级技神
 楼主|

发表于 前天 09:07

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

网络服务 NTP 授时积木

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1

网络服务 Wi-Fi 相关积木

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:08

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

辅助:屏幕显示相关积木

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:09

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

知识点:Wi-Fi

Wi-Fi(无线保真)是一种允许设备通过无线电波连接到互联网的技术。以下是一些关于Wi-Fi的关键知识点:

1、基本概念
无线局域网(WLAN):Wi-Fi 技术基于无线局域网 (WLAN),通过无线电波在有限的区域内传输数据。
频段:常用的 Wi-Fi 频段有2.4GHz 和5GHz,5GHz 频段提供更快的速度,但覆盖范围较小;2.4GHz 频段则覆盖范围较大,但速度相对较慢。

2、主要标准
Wi-Fi 有多个版本,每个版本在速度和覆盖范围上都有不同的性能:
802.11b:2.4GHz 频段,最大传输速度为11 Mbps。
802.11g:2.4GHz 频段,最大传输速度为54 Mbps。
802.11n:2.4GHz 和5GHz 频段,最大传输速度为600 Mbps。
802.11ac:5GHz 频段,最大传输速度可达到1Gbps 以上。
802.11ax(Wi-Fi 6):2.4GHz 和5GHz 频段,支持更高的速度和更大的设备连接数。

3、Wi-Fi 的工作原理
接入点(AP):Wi-Fi 网络的核心组件,用于发送和接收无线信号,通常为路由器。
客户端设备:例如智能手机、电脑、平板电脑等,通过无线网络适配器连接到接入点。
数据传输:无线电波在接入点和客户端设备之间传输数据,通过SSID(服务集标识符)和安全协议(如 WPA2)进行连接和加密。

4、安全与加密
WEP:一种较早的加密标准,安全性较低,易被破解。
WPA/WPA2:较新的加密标准,WPA2 是目前广泛使用的加密协议,安全性更高。
WPA3:最新的加密协议,提供更强大的安全性和易用性。

5、Wi-Fi 的应用
Wi-Fi 广泛应用于家庭、办公、公共场所等环境,提供无线互联网连接:
家庭网络:用于连接智能家居设备、智能电视等。
办公网络:用于企业内部的无线连接,提高办公效率。
公共热点:例如咖啡店、机场等,为用户提供免费或付费的无线连接服务。

6、常见问题与解决方法
信号弱:检查路由器位置,避免放置在金属物品或墙壁后面,可以使用Wi-Fi中继器或Mesh网络增强信号。
连接不稳定:检查是否有设备过多,导致网络拥堵,尝试重启路由器或更换频段。
慢速:确保路由器和设备支持最新的Wi-Fi标准,检查是否有网络干扰或带宽被占用。

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:10

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

知识点:NTP网络授时

NTP 即网络时间协议(Network Time Protocol),是一种用于在计算机网络中同步时钟的协议,以下从主要特点、工作原理、应用场景等方面进行详细介绍:

1、定义与基本信息
NTP 属于应用层协议,基于 UDP(用户数据报协议)传输,使用 UDP 端口号 123。它的设计目标是使网络中的各个计算机保持时间同步,将所有计算机的时间同步到一个统一的时间基准上,其时间精度在局域网内可达亚毫秒级,在广域网中通常能达到几十毫秒的精度。

2、主要特点
高精度:通过复杂的算法和同步机制,NTP 能够实现较高的时间同步精度,满足大多数网络应用对时间准确性的要求。
稳定性:具有良好的稳定性,能够在不同的网络环境和系统负载下保持时间同步的可靠性,确保时间信息的准确传递和系统的稳定运行。
分层架构:采用分层的时间同步体系,将时间服务器组织成不同的层级,形成一个树形结构。顶层是权威时间源,如原子钟或 GPS 时钟,底层是普通的客户端。这种架构使得 NTP 能够适应大规模的网络环境,实现高效的时间同步。
可扩展性:协议具有良好的可扩展性,能够方便地添加新的功能和特性,以适应不断变化的网络需求和技术发展。

3、工作原理
NTP 客户端向 NTP 服务器发送时间请求报文,服务器接收到请求后,会在报文中填入当前的时间戳并返回给客户端。客户端根据接收到的时间戳和本地时间计算出时间偏移量,从而调整本地时钟。为了提高精度,NTP 还会考虑网络延迟等因素,采用多种算法对时间进行校准。

4、应用场景
金融领域:在银行系统、证券交易等金融业务中,时间的准确性至关重要。如股票交易的时间戳用于记录交易顺序和确定交易价格,时间不同步可能导致交易记录混乱、价格不一致等问题,影响市场的公平性和稳定性。
电信行业:通信网络中的各种设备需要精确的时间同步来保证信号的传输、交换和处理的准确性。如在 CDMA、GSM 等移动通信系统中,基站之间需要精确同步,以避免信号干扰,确保用户通话质量和数据传输的稳定性。
分布式系统:在云计算、大数据处理等分布式系统中,多个节点之间需要进行协同工作,时间同步能够保证数据的一致性和操作的顺序性。如分布式数据库中的事务处理,需要准确的时间戳来确保数据的更新顺序正确,避免数据冲突和不一致。
工业自动化:在工业生产过程中,各种自动化设备和控制系统需要精确的时间同步,以实现生产流程的协调和监控。如汽车制造生产线中的机器人操作、流水线的启停控制等,时间同步能够保证生产过程的准确性和高效性,提高产品质量和生产效率。

5、需要注意的事项
网络延迟:网络延迟可能会对时间同步的精度产生影响,在跨广域网进行时间同步时,需要考虑网络延迟的变化,采用合适的算法进行补偿。
服务器可靠性:NTP 服务器的可靠性直接影响时间同步的效果,应选择可靠的 NTP 服务器,并建立备份服务器,以防止单点故障。
安全问题:NTP 通信可能会受到网络攻击,如时间欺骗、拒绝服务攻击等,需要采取相应的安全措施,如使用认证机制、加密传输等,以确保时间同步的安全性和准确性。

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:13

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

【花雕动手做】行空板K10系列实验之网络服务动态时钟授时并屏幕显示日期与时间
实验开源代码

  1. #include <DFRobot_Iot.h>      // 引入DFRobot_Iot库,用于Wi-Fi连接及相关物联网功能
  2. #include "unihiker_k10.h"     // 引入UNIHIKER_K10库,用于控制行空板K10系列硬件,如屏幕显示、画布操作等
  3. #include <MPython_NtpTime.h>  // 引入MPython_NtpTime库,用于获取NTP时间
  4. // 创建对象
  5. uint8_t screen_dir = 3;           // 定义屏幕方向变量,设置为3
  6. DFRobot_Iot myIot;                // 创建DFRobot_Iot对象,用于处理Wi-Fi联网功能
  7. MPython_NtpTime ntptime;          // 创建MPython_NtpTime对象,用于处理NTP时间同步
  8. UNIHIKER_K10 k10;                 // 创建UNIHIKER_K10对象,用于操作行空板K10功能
  9. // 主程序开始
  10. void setup() {
  11.     k10.begin();                          // 初始化k10硬件
  12.     k10.initScreen(screen_dir);           // 配置屏幕方向,参数为screen_dir
  13.     k10.creatCanvas();                    // 创建并初始化画布,用于显示文本和图形
  14.     myIot.wifiConnect("zhz3", "zy156721"); // 连接Wi-Fi网络,参数为SSID "zhz3"和密码 "z6156721"
  15.    
  16.     // 等待Wi-Fi连接成功
  17.     while (!myIot.wifiStatus()) {}
  18.     // 设置NTP时间同步,使用中国教育网NTP服务器 "edu.ntp.org.cn"
  19.     ntptime.setNtpTime(ntptime.UTCEast8_t, "edu.ntp.org.cn");
  20.    
  21.     // 在画布上显示初始信息
  22.     k10.canvas->canvasText("行空板K10系列实验NTP授时", 3, 0xFF0000); // 显示实验标题,字体大小为3,颜色为红色(0xFF0000)
  23. }
  24. void loop() {
  25.     k10.canvas->canvasClear(7);  // 清除画布上的内容,保留7像素边距
  26.     // 获取并显示当前年份,字体大小为5,颜色为蓝色(0x0000FF)
  27.     k10.canvas->canvasText((String("年份:") + String(ntptime.localTime(ntptime.Year))), 5, 0x0000FF);
  28.    
  29.     // 获取并显示当前日期,字体大小为6,颜色为蓝色(0x0000FF)
  30.     k10.canvas->canvasText((String("日期:") + String(ntptime.getDate())), 6, 0x0000FF);
  31.    
  32.     // 获取并显示当前时间,字体大小为7,颜色为蓝色(0x0000FF)
  33.     k10.canvas->canvasText((String("时间:") + String(ntptime.getTime())), 7, 0x0000FF);
  34.    
  35.     k10.canvas->updateCanvas();  // 更新画布,将所有已绘制的文本刷新到屏幕上显示
  36.     delay(1000);                 // 延迟1秒,等待下一个循环
  37. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:15

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

代码解读

1、库的引入与对象创建

引入了三个库:DFRobot_Iot.h 用于Wi-Fi连接,unihiker_k10.h 用于行空板K10硬件控制,MPython_NtpTime.h 用于NTP时间同步。

定义了四个对象:k10 对象用于操作K10的屏幕和其他外设,myIot 对象处理Wi-Fi连接,ntptime 对象处理NTP时间同步,screen_dir 用于设置屏幕方向。

2、初始化设置(setup 函数)

在 setup() 函数中,调用 k10.begin() 初始化行空板K10硬件,配置屏幕方向,创建画布,设置背景颜色。

使用 myIot.wifiConnect("zhz3", "zy156721") 连接指定的Wi-Fi网络,然后通过 while (!myIot.wifiStatus()) {} 循环等待Wi-Fi连接成功。

成功连接后,调用 ntptime.setNtpTime(ntptime.UTCEast8_t, "edu.ntp.org.cn") 设置NTP时间同步,使用中国教育网NTP服务器。

初始化信息在画布中显示,使用 canvasText 方法绘制实验标题,并使用 updateCanvas 刷新屏幕。

3、主循环处理(loop 函数)

每次 loop() 运行时,首先使用 canvasClear(7) 清除画布内容,保留7像素边距。

获取并显示当前年份、日期和时间,分别使用 canvasText 方法绘制到屏幕上,设置相应的字体大小和颜色。

最后,通过 updateCanvas 方法更新显示内容,每次循环延迟1秒。

该代码适用于演示如何通过Wi-Fi连接网络并使用NTP同步时间,同时在K10设备屏幕上显示同步后的当前时间信息。这对于物联网设备时间同步和显示功能的开发非常有用。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:25

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

Mind+图形编程

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:27

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

实验场景图  动态图(每秒钟跳字)


【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 09:29

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示

【花雕动手做】行空板K10系列实验之时钟授时并屏幕显示图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail