IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 测一测现在的温度 -> 正文阅读

[嵌入式]测一测现在的温度

测一测现在的温度

我们使用Mongoose OS + esp8266 + DHT11来做。

  • Mongoose OS:一个物联网固件开发框架。官方文档

  • esp8266:ESP8266是一款串口WiFi模块。

  • DHT11:一个温度传感器。

  • 固件:可以理解为一个电子产品的操作系统,是硬件最底层的软件。

  • 串口:直接看图

    在这里插入图片描述

    在这里插入图片描述

    可以一次性发送八位的数据,互不干扰,并口传输错误一位就要需要重新发送八位数据,串口传输错误一位只需要重新发送一位。

一、Hello World

  1. 下载mongoose OS的官方工具mos.exe,双击或是输入命令mos ui就可以启动它的UI界面。如果它没有启动,打开命令提示符,输入cd c:\mos然后mos --start-webview=false。关闭时需要关闭1992端口的服务(不然再次双击打不开ui界面)。

    在这里插入图片描述

  2. 用一根数据线(一定是要可以传输数据的数据线,有的线只能充电)连接esp8266,按照自己的需求安装相应的驱动。

    安装驱动:1. 右键此电脑->管理->设备管理器->其他设备

    黄色感叹号的就是我们需要安装的驱动,安装完成可以在端口中看见设备在哪个端口。

  3. 打开mos,选择端口和型号,端口和型号按实际情况选择,我用的是esp8266 2m内存的所以选择esp8266 flash 2m。

  4. 在ui的下面有一行可以输入命令的文本框,输入mos clone https://github.com/mongoose-os-apps/demo-c app1克隆一个模板。克隆完成后我们可以在对应目录中看到一个app1的文件夹,该目录的src目录下的main.c就是我们的代码,mos.yml是配置文件,描述整个应用。

  5. 打开main.c,找到在这里插入图片描述

    修改为:

    在这里插入图片描述

  6. 在mos的ui界面中输入mos build编译代码。

  7. 漫长的等待后输入 mos flash将固件刷入。

  8. 成功后将会每秒输出一句hello world!

    在这里插入图片描述

二、使用DHT11测温

首先把我们的dht11连接到esp8266上,vcc或+ 连接3v的引脚, GND或- 连GND, DAT或out连IO引脚(IO几要记住,比如我接IO2引脚,待会儿就要去配置成IO2引脚)。

esp8266引脚图:

查看源图像

连接完成后我们只需要对hello world的程序稍作修改:

  1. 添加依赖:

    在mos.yml的libs下添加dht驱动的依赖(这些驱动可以在mongoose官网中找),如果需要rpc服务可以添加rpc依赖。

    libs:
      - location: https://github.com/mongoose-os-libs/boards
      - location: https://github.com/mongoose-os-libs/demo-bundle
      - location: https://github.com/mongoose-os-libs/rpc-service-config
      - location: https://github.com/mongoose-os-libs/rpc-service-fs
      - location: https://github.com/mongoose-os-libs/rpc-uart
      - location: https://github.com/mongoose-os-libs/wifi
      - location: https://github.com/mongoose-os-libs/dht
    
  2. 配置引脚,修改代码:

    在mos.yml中添加:

    config_schema:
      - ["app.pin", "i", 2, {title: "GPIO pin a sensor is attached to"}]
      #因为刚刚我是io2引脚,所以这里是2
    

    main.c:

    #include "mgos.h"
    #include "mgos_dht.h"
    
    static void timer_cb(void *dht) {
      LOG(LL_INFO, ("Temperature: %lf", mgos_dht_get_temp(dht)));
    }
    
    
    enum mgos_app_init_result mgos_app_init(void) {
      struct mgos_dht *dht = mgos_dht_create(mgos_sys_config_get_app_pin(), DHT11);
      mgos_set_timer(1000, true, timer_cb, dht);
      return MGOS_APP_INIT_SUCCESS;
    }
    

    看似复杂,实际上只有两个重要的函数:

    mgos_dht_create(mgos_sys_config_get_app_pin(), DHT11);

    mgos_dht_get_temp(dht)

    初始化dht以及获取温度。

  3. 编译&固件刷入

    在mos的ui界面中输入mos build 编译成功后输入mos flash刷入固件。

  4. 效果:

    在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:19:04  更:2022-06-25 18:20:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 1:49:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码