回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【应用教程】WIFI气象站 简单

头像 管理员 2018.11.27 1156 1
project-image

从“家" 和“DIY”,联 想到 生 活 与 爱 好 为 生 活 

每 一 个 角 落 仔 细 做 思 考 

我 认 为 真 正 重 要 的 事 

应 以 简 单 却 贴 心 的 方 式 呈 现 

不 附 和 个 性 或 流 行 

始 终 相 信 「 这 样 就 好 」的 理 性 满 足 感 

将 科 技、开 源 硬 件、设 计 润 物 细 无 声 的 方 式 加 入 我 的 桌 面 和 家 

分 享 DIY 的 乐 趣 

家 本 应 更 美 好

project-image

蔚 蓝 天、芳 草 地 

戴 上 耳 塞 点 击 一下《稻香》 

所 谓 的 那 快 乐 赤 脚 在 田 里 追 蜻 蜓 追 到 累 了 

偷 摘 水 果 被 蜜 蜂 给 叮 到 怕 了 谁 在 偷 笑 昵 

我 靠 着 稻 草 人 吹 着 风 唱 着 歌 睡 着 了 

云 朵 正 是 我 想 要 的 

它 所 有 的 设 计 和 功 能,都 能 很 好 的 对 生 活 表 达 善 意

project-image

材料清单

  • FireBeetle Board-ESP8266 WiFi 物 联 网 开 发 板; X1
  • 2.8" TFT 触 摸 显 示 屏 X1
  • 3.7V 电 池 X1
project-image

Wifi气象站制作教程

步骤1 电路连接

FireBeetle Board-ESP8266 与 tft 液 晶 屏的接线

project-image

TFT显示屏 ---------- ESP8266物联网控制板 

SCK ---------- SCK 

MOSI ---------- MOSI 

MISO ---------- MISO 

TFT_CS ---------- IO15 

TFT_DC ---------- IO2 

T_CS ---------- IO0 

T_IRQ ---------- IO5 

RESET ---------- RESET 

5V ---------- 5V 

GND ---------- GND 

GND ---------- GND

步骤2 外壳建模

测量出每个原部件的尺寸并记录(最好备个游标卡尺),开始草图、建模以及装配好各个模型。

project-image

步骤3 下载并安装Arduino库

如果您是新手,您需要安装板和库才能使用arduino ide编译和上传代码。您可以通过下载以及直接链接手动安装它们,也可以使用arduino ide中的库管理器进行搜索和安装。 

.  下载 Adafruit GFX Library; 

. 下载 Adafruit ILI9341 Library; 

. 下载 Adafruit STMPE610; 

. 下载 WIFIManager (for esp8266); 

. 下载 JSON Streaming Parser; 

. 下载 ESP8266 Weather Station 

代码
void loop() {
  if(USE_TOUCHSCREEN_WAKE) {     // determinein settings.h!
   
   // for AWAKE_TIME seconds we'll hang out and wait for OTA updates
   for (uint16_t i=0; i<AWAKE_TIME; i++ ) {
     // Handle OTA update requests
     ArduinoOTA.handle();
     delay(10000);
     yield();
    }
project-image

步骤4 获取wunderground API密钥

使用wunderground API来拉取天气数据。注册一个wunderground.com的账户,它是完全免费的,一旦注册并登陆,请转到api部分并创建一个api密钥。将其复制到剪切板并保存。它需要粘贴到setting。h文件中。

project-image

输入你的电子邮箱,所需的用户名密码。并同意服务条款

project-image

注册你的api密钥,填写表单

project-image

最后得到我们需要的api,注意保存和记录。

project-image

参数设置

手 动 调 整 几 个 设 置 才 能 正 确 显 示 你 所 在 地 区 的 天 气 状 况。在 setting。h文 件 中,查 找”wunderground“部分。在 这 里,需 要 输 入 你 的wunderground api 密 钥,所 需 的 语 言 国 家 地 区 和 城 市。所 以 参 考下 面 的 实 例 代 码:

代码
1. // Wunderground设置
2. const boolean IS_METRIC = false ;
3. const String WUNDERGRROUND_API_KEY =“api_key_here” ;
4. const String WUNDERGRROUND_LANGUAGE =“ZH” ;
5. const String WUNDERGROUND_COUNTRY =“China” ;
6. const String WUNDERGROUND_CITY =“shanghai” ;

睡眠和节能:

显示屏被编程为在10秒钟后关闭。当显示屏被点击时,它将自动重新打开。您可以通过调整代码中的延迟值来调整”唤醒“时间。 

1. //对于AWAKE_TIME秒,我们将挂出并等待OTA更新 

2. for (uint16_t i= 0 ; i < AWAKE_TIME ; i ++ ){ 

3. //处理OTA更新请求 

4. ArduinoOTA 。handle(); 

5. 延迟(10000 ); 

6. yield (); 

初次启动

Arduino ide第一次运行,它会将esp8266转换为接入点。显示屏将指示您连接到esp8266 wifi接入点。 

连接到esp8266

你可以在可用的wifi网络中列出esp4796337

project-image

配置wifi:

一旦连接,你的电脑或者手机将自动启动加入wifi登陆页面。你可以选择扫描可用的wifi网络或者手动输入。

project-image

输入wifi密码,然后点击保存按钮。

project-image

桌面好物,从你动手的第一个wifi气象站开始: 

project-image

常见问题汇总(持续更新中)

Q1:材料问题,材料从哪里买?大概多少钱? 

这个作品需要用到的硬件其实很少,只要三个:显示屏,物联网主控板,锂电池就行啦~ 如果要购买的话,京东或者淘宝搜DF即可找到,然后也可以在DF社区教程上直接点击心愿单链接购买。 

Q2:硬件连接问题,如何接线? 

正常情况下,按照电路图进行接线是完全没有问题的。有些小伙伴可能插线错误导致白屏等问题,所以需要一定的耐性,然后会建议先了解常用的硬件接口,电路图也教程里有,大家可以去看看。 

Q3:程序问题,比如源代码为什么编译不通过?有的编译成功下载不了? 

编译不通过的原因通常是必备的库没有安装完整;编译后有可能是没有下载主控板的固件,导致程序下载不进去。 

Q4:如何设置城市和地区? 

在我的程序中城市设定的是上海,所以你们还需到官网去查一下气象的城市代号,每个省市是不一样的。 

Q5:气象站的外壳模型,为什么跟显示屏的尺寸不一样? 

因为每个人买的显示屏尺寸不一样,所以使用教程中的模型需要改一下长宽参数,模型是开源的,改起来也很方便,用尺子测量一下实际屏幕的长宽即可。 如果没有3D打印机的话,也可以自己用其他材料DIY一个外壳,比如纸板或者木质材料等等。

社区原帖链接:https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=28068

评论

user-avatar
  • abu

    abu2019.12.16

    你好,我有一个题目能不能帮帮我

    0