Funpack12期活动 - 基于Wio Terminal的网络天气预报仪
通过Arduino开发一款网络预报仪, 通过wifi访问天气API, 并且将数据显示在显示器上 显示界面主要有两个, 一个开机界面和一个数据的显示界面
标签
嵌入式系统
caoyi
更新2021-12-31
925
1. 介绍用本板卡最终实现了什么功能
通过Arduino开发一款网络预报仪, 通过wifi访问天气API, 并且将数据显示在显示器上
显示界面主要有两个, 一个开机界面和一个数据的显示界面
 
2. 各功能对应的主要代码片段及说明
 
开发环境
 
通过Arduino开发实现连接WIFI,解析JSON数据, 连接SD卡,显示图片等功能
 
依赖的库
 
Seeed_Arduino_rpcWiFi、Seeed_Arduino_rpcUnified、Seeed_Arduino_mbedtls、Seeed_Arduino_FS、Seeed_Arduino_SFUD、ArduinoJson、lvgl等,
 
连接SD卡:
  if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI,16000000)) {
    while (1);
  }
  tft.begin();
  tft.setRotation(3);
 
  pinMode(BUTTON_1, INPUT);
  pinMode(BUTTON_3, INPUT);
  attachInterrupt(digitalPinToInterrupt(BUTTON_1), button_handler_left, FALLING);
  attachInterrupt(digitalPinToInterrupt(BUTTON_3), button_handler_right, FALLING);
 
连接WiFi
 
const char *ssid = "yourssid";
const char *password = "yourpasswd";
const char *host = "example.com";
const char *url = "/index.html";

void setup()
{
    Serial.begin(115200);
    delay(10);

    // We start by connecting to a WiFi network

    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED)
    {
        Serial.print("Connecting to ");
        Serial.println(ssid);
        WiFi.begin(ssid, password);
    }

    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
}
 
 
3. 功能展示

开机时会显示加载界面, 几张背景图轮换产生动画效果

Fkm3Kt1slTvcNd8lMPg7Eosjqy17

数据解析完成后会显示数据的内容

Fjjr63lol-VrvUUdNj6N48lfUZ9_

4. 对本活动的心得体会(包括意见或建议)
Wio Termail可以连接SD卡, 并且读取SD卡上面的图片, 但是图片需要经过转换格式才可以显示, 可以通过官方的转换脚本进行转换
JSON的解析不需要手动解析, 有JSON库可以使用, 通过JSON库解析便可以显示图片
附件下载
wio-terminal.bin
cover1.zip
图片素材
团队介绍
曹毅
团队成员
caoyi
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号