当前位置: 首页 > news >正文

【花雕动手做】行空板K10系列实验之网络服务查询本地天气情况


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

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


行空板K10的网络服务模块,都在这里

网络服务获取天气积木

网络服务 NTP 授时积木

网络服务 Wi-Fi 相关积木

辅助:屏幕显示相关积木

知识点: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标准,检查是否有网络干扰或带宽被占用。

知识点: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 通信可能会受到网络攻击,如时间欺骗、拒绝服务攻击等,需要采取相应的安全措施,如使用认证机制、加密传输等,以确保时间同步的安全性和准确性。

知识点:获取天气

获取天气信息的途径主要分为官方权威渠道、第三方天气应用以及开发者API接口三大类。以下是详细的获取方式:
1、官方权威渠道
官方网站与平台:中国天气网(weather.com.cn)是提供权威天气预报的官方平台。
地方气象局:各地气象局会通过官方微信公众号、微博等渠道发布本地权威天气预报及灾害预警信息。
政府信息公开申请:如需获取气象数据、天气证明等,可向相应地区气象局联系申请。但需注意,气象局一般不受理以政府信息公开申请为由进行的常规天气预报查询。

2、第三方天气应用与平台
手机自带天气APP:多数智能手机会内置天气应用,提供便捷的天气查询。但需注意甄别数据准确性,若遇到明显背离本地气候常识的极端预报,建议以官方权威渠道为准。
专业天气APP:如墨迹天气、彩云天气等,除了提供基础的实时天气和预报外,还具备分钟级降水预报、生活指数、气象灾害预警等丰富功能。

3、开发者API接口
对于有开发需求或需要获取精细化气象数据的用户,可以通过调用天气数据API接口来实现:
心知天气:提供标准化的 Restful API 接口,支持全球城市级及高精度网格级数据,涵盖天气实况、逐小时/逐日预报、空气质量、历史天气等。
墨迹天气商业气象服务:提供全球27万城市天气数据查询,支持1*1KM网格级高精度数据及分钟级短临预报,广泛应用于手机系统、车机端及行业软件。
彩云天气 MCP Server:基于 Model Context Protocol (MCP) 开放协议,允许AI助手直接访问彩云天气API,获取实时天气、小时级/周级预报及天气预警等工具。
咕咕数据:提供全国天气预报数据接口,精确到行政区级别,最长支持7天预报,并包含紫外线、穿衣等生活指导数据。
小小API:提供免费API接口,支持获取全国实时天气详细信息,适用于个人应用开发和网站集成。

4、实用建议
日常查询:建议优先认准官方渠道(如中国天气网、当地气象台)或主流天气APP,以确保信息的准确性。
开发接入:在选择天气API时,可根据自身需求(如访问频限、数据精度、是否需要商用等)对比不同服务商的套餐与功能。
防范极端天气:在强对流、暴雨等极端天气频发期,请密切关注气象部门发布的最新预警信息,提前做好防范准备。

【花雕动手做】K10系列实验之网络服务查询福建福州天气
实验开源代码

// 引入物联网WiFi功能库,用于连接无线网络#include<DFRobot_Iot.h>// 引入行空板K10核心驱动库,实现屏幕、传感器、画布等硬件操作#include"unihiker_k10.h"// 引入网络天气查询库,用于联网获取城市天气数据#include<mPython_Weather.h>// 引入NTP网络授时库,用于同步网络标准时间#include<MPython_NtpTime.h>// 实例化行空板K10主控对象,所有板载硬件操作都通过该对象调用UNIHIKER_K10 k10;// 定义屏幕旋转方向参数,数值2代表指定屏幕显示角度uint8_tscreen_dir=2;// 实例化WiFi联网对象,负责WiFi连接与状态检测DFRobot_Iot myIot;// 实例化天气查询对象,用于请求、解析网络天气信息mPython_Weather myWeather;// 实例化网络时间同步对象,用于获取标准北京时间MPython_NtpTime ntptime;// 实例化AHT20温湿度传感器对象,读取环境实际温度、湿度AHT20 aht20;// 初始化函数,设备上电后**仅执行一次**voidsetup(){k10.begin();// 初始化行空板K10全部底层硬件资源k10.initScreen(screen_dir);// 根据设定参数初始化显示屏,并设置屏幕旋转方向k10.creatCanvas();// 创建屏幕绘图画布,后续所有文字都绘制在画布上k10.setScreenBackground(0x66FF99);// 设置屏幕背景色为浅青绿色// 连接WiFi网络,参数依次为WiFi名称:zhz3,WiFi密码:z656721myIot.wifiConnect("zhz3","z656721");// 初始化天气接口:指定天气服务器地址、用户编号、接口密钥myWeather.init("server.mindplus.top","31982666","E6MtBcxQ");// 配置NTP网络授时:选择东八区(北京时间),使用国内教育网时间服务器ntptime.setNtpTime(ntptime.UTCEast8_t,"edu.ntp.org.cn");// 循环阻塞等待,直到WiFi连接成功,才继续执行后续代码while(!myIot.wifiStatus()){}}// 主循环函数,程序上电后**无限循环执行**,实时刷新数据与屏幕voidloop(){// 在屏幕第3行,红色字体显示实验标题k10.canvas->canvasText("K10系列实验之天气",3,0xFF0000);// 第5行蓝色字体:查询城市代码101230101(福州)的天气状况并拼接显示k10.canvas->canvasText((String("福州天气:")+String(myWeather.getWeather("weather","101230101"))),5,0x0000FF);// 第6行红色字体:查询福州当日最高气温并显示k10.canvas->canvasText((String("最高温度:")+String(myWeather.getWeather("temperaturHigh","101230101"))),6,0xFF0000);// 第7行蓝色字体:查询福州当日最低气温并显示k10.canvas->canvasText((String("最低温度:")+String(myWeather.getWeather("temperaturLow","101230101"))),7,0x0000FF);k10.canvas->updateCanvas();// 第一次刷新画布,把上方天气相关文字显示到屏幕// 第9行蓝色字体:读取AHT20传感器采集的环境摄氏温度并显示k10.canvas->canvasText((String("实际温度:")+String(aht20.getData(AHT20::eAHT20TempC))),9,0x0000FF);// 第10行红色字体:读取AHT20传感器采集的环境相对湿度并显示k10.canvas->canvasText((String("实际湿度:")+String(aht20.getData(AHT20::eAHT20HumiRH))),10,0xFF0000);// 第11行蓝色字体:读取K10板载ALS光敏传感器,获取环境亮度值并显示k10.canvas->canvasText((String("实际亮度:")+String(k10.readALS())),11,0x0000FF);k10.canvas->updateCanvas();// 第二次刷新画布,把温湿度、亮度数据显示到屏幕}

代码解读
一、整体功能
本程序让行空板 K10 连接 WiFi,从云端服务器在线查询福州天气预报(天气状况、最高温、最低温);同时读取外接 AHT20 温湿度传感器、板载环境光传感器的实时数据,所有信息实时显示在屏幕上,程序循环刷新内容。

二、头文件与对象定义

// 引入WiFi物联网库,实现无线网络连接#include<DFRobot_Iot.h>// 行空板K10核心库,负责屏幕、画布、板载传感器等硬件控制#include"unihiker_k10.h"// 网络天气查询专用库,对接云端天气接口#include<mPython_Weather.h>// NTP网络授时库,可同步标准北京时间(本程序暂未调用时间功能)#include<MPython_NtpTime.h>// 实例化K10主控对象,操作主板所有硬件UNIHIKER_K10 k10;// 设置屏幕旋转方向为2,适配设备摆放角度uint8_tscreen_dir=2;// 实例化WiFi对象,用于配网和联网状态检测DFRobot_Iot myIot;// 实例化天气查询对象,发起网络天气请求mPython_Weather myWeather;// 实例化网络时间对象MPython_NtpTime ntptime;// 实例化AHT20温湿度传感器对象,读取环境温湿度AHT20 aht20;

三、setup () 初始化函数(上电仅执行 1 次)

voidsetup(){// 初始化K10底层硬件k10.begin();// 按设定方向初始化显示屏k10.initScreen(screen_dir);// 创建绘图画布,屏幕文字都绘制在画布上k10.creatCanvas();// 设置屏幕背景色为浅草绿色(0x66FF99)k10.setScreenBackground(0x66FF99);// 连接WiFi:WiFi名称zhz3,密码z656721myIot.wifiConnect("zhz3","z656721");// 初始化天气接口:依次填写服务器地址、用户编号、接口密钥,完成云端对接myWeather.init("server.mindplus.top","31982666","E6MtBcxQ");// 配置网络授时:东八区北京时间,使用国内教育网时间服务器ntptime.setNtpTime(ntptime.UTCEast8_t,"edu.ntp.org.cn");// 循环等待,直到WiFi连接成功,才继续执行后续代码while(!myIot.wifiStatus()){}}

四、loop () 主循环函数(无限循环运行,实时刷新数据)

voidloop(){// 第3行、红色字体,显示实验标题k10.canvas->canvasText("K10系列实验之天气",3,0xFF0000);// 第5行、蓝色字体:查询城市编码101230101(福州)的天气状况并显示k10.canvas->canvasText((String("福州天气:")+String(myWeather.getWeather("weather","101230101"))),5,0x0000FF);// 第6行、红色字体:查询福州当日最高气温k10.canvas->canvasText((String("最高温度:")+String(myWeather.getWeather("temperaturHigh","101230101"))),6,0xFF0000);// 第7行、蓝色字体:查询福州当日最低气温k10.canvas->canvasText((String("最低温度:")+String(myWeather.getWeather("temperaturLow","101230101"))),7,0x0000FF);// 刷新画布,将上方天气内容显示到屏幕k10.canvas->updateCanvas();// 第9行、蓝色字体:读取AHT20采集的实时摄氏温度k10.canvas->canvasText((String("实际温度:")+String(aht20.getData(AHT20::eAHT20TempC))),9,0x0000FF);// 第10行、红色字体:读取AHT20采集的实时空气湿度k10.canvas->canvasText((String("实际湿度:")+String(aht20.getData(AHT20::eAHT20HumiRH))),10,0xFF0000);// 第11行、蓝色字体:读取K10板载光敏传感器,获取环境亮度值k10.canvas->canvasText((String("实际亮度:")+String(k10.readALS())),11,0x0000FF);// 再次刷新画布,把温湿度、亮度数据显示到屏幕k10.canvas->updateCanvas();}

五、关键知识点补充
1、城市编码
101230101 是气象专用编码,固定对应福州市,更换城市只需修改该编码。
2、天气查询函数
getWeather(查询项,城市编码)
weather:获取晴、阴、雨等天气现象
temperaturHigh:当日最高气温
temperaturLow:当日最低气温
3、传感器说明
AHT20:外接数字温湿度传感器,采集本地实时温湿度;
ALS 光敏:K10 板载传感器,数值越大代表环境光线越亮。
4、颜色格式
采用 0xRRGGBB 十六进制色值:FF0000红色、0000FF蓝色、66FF99浅绿。
5、运行前提
设备必须连接名称为zhz3的 WiFi,否则无法联网获取天气数据。

Mind+图形编程


实验场景图与视频记录


http://www.jsqmd.com/news/976116/

相关文章:

  • 自容式/数字水听器定制厂家推荐|适配深海监测场景 - 品牌推荐大师
  • Open Design性能优化:如何让AI设计响应时间缩短50%
  • 基于MCU的相角控制:实现吸尘器电机软启动与无级调速
  • 计算机毕业设计之django基于Python的景点预约系统的设计与实现
  • Matlab语音去噪实操包:谱减法vs卡尔曼滤波,带原始音频、可运行脚本与全程操作录像
  • 知医邦的初心——“不卖设备,只做算力的搬运工”
  • 毕业设计可用的智慧社区全栈项目:SpringBoot后端+Vue前端+MySQL脚本+IDEA部署指南
  • 2026年澳洲留学服务水平高机构:五家优选品牌深度解析 - 科技焦点
  • 豆包关键词排名:2026年GEO优化服务商TOP3测评 - 资讯速览
  • 昆明名表回收上门服务怎么约?盘龙区实测经验分享 - 奢侈品回收评测
  • 如何永久保存你的微信聊天记录:WeChatMsg工具完整解析
  • DSP56300 ESSI接口编程实战:从轮询到DMA的嵌入式音频数据传输
  • 【字节跳动】抖音直播间上热门三大核心指标:初始停留需超25秒、互动密度达标(每百人每分钟12次互动)、账号无隐性风控标签。精准开播时段建议选择11:50-13:20/18:40-20:10/21:10
  • WiVRn社区贡献者访谈:听听开发者怎么说
  • Diff 算法
  • Cityscapes不够用?试试这个5倍数据量的Mapillary街景数据集,附类别对比与实战效果
  • 网易云音乐数据采集+分析+可视化一站式Python工具包(含Flask界面与情感分析)
  • 爱士惟二次冲击IPO:营收下滑、利润微薄,海外业务与AI转型能否破局?
  • 100天iOS数据结构与算法实战:从零到一的iOS算法入门完全指南
  • 2026泰州本地老橱柜改造厂家推荐:奥力星打造零醛耐用改造方案 - 资讯速览
  • 如何快速解决Windows运行库问题:智能修复工具完整指南
  • 2026青岛翡翠回收实测,无套路真实变现指南 - 奢侈品回收测评
  • Adafruit-Pi-Finder背后的技术:ARP扫描与网络检测实现原理
  • 深度解析 Google Search Profiles 技术架构与实现机制
  • 2026年台州婚纱照/婚纱摄影综合实力十强榜单出炉 - 生活测评君
  • 基因簇可视化终极指南:Clinker让科研图表制作变得简单高效
  • Proposer iOS权限请求库:一站式解决8大系统权限管理难题
  • 芬兰等三所高校联手:翻译质量检测,真的不存在“万能裁判“
  • 国家中小学智慧教育平台电子课本解析工具:一键获取PDF教材的完整解决方案
  • 2026 新版广东多型号电线电缆回收机构盘点测评——工矿电力企业废旧线缆批量处置选企指南 - 广东再生资源回收