传感器与无线传感网络 4.2-通过wifi采集空气质量传感数据2-任务实施
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
: 数据入度
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
3. 编译下载。 1)编译工程 将修改后的代码保存,然后右键客户端工程esp_iot_rtos_tcp_server,选择Build Project选项,如 下图4-2-10所示。
第四章
4.2通过wifi采集空气质量传感数据
13. void ICACHE_FLASH_ATTR user_udp_send(void){
14.
uint32 adc;
15.
adc = system_adc_read();
16.
adc = adc*330/1024;
// 电压值转换
17.
os_printf("空气质量传感器的电压为:%dmv\r\n",adc);
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
2)配置工程文件 按下图4-2-7所示框架完成工程的文件添加,红色 方框中的文件到IoT_Demo案例中拷贝(路径: esp_iot_sdk_v1.2.0\examples)。
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
第四章
3.4 通过蓝牙采集红外数据任务
4.2.4 任务实施
下载程序到wifi模块上之前需要wifi通信模块ESP8266进行硬件线路连接,如下图4-2-13所示: 将ESP8266芯片的TXD和RXD引脚连接至电脑串口,GPIO0引脚连接低电平,下载前需要按下wifi通 信模块上的复位按钮,使模块重新上电。
6. #include "user_interface.h"
7. #include "espconn.h"
//用于调用广播通信使用
8. #include "mem.h"
//用于调用os_zalloc
9. #include "stdlib.h"
10.
11. ETSTimer test_timer;
12.
程序说明: 第13行至22行代码主要是获取空气质量传感器的电压值,并通过方法os_printf进行串口数据发送。 第24行是初始化串口函数,该函数厂家已经提供好了,我们只需要包含头文件"driver/uart.h"就行。
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
第27行spi_flash_write函数主要是用于写入 数据到 flash中,flash 读写必须 4 字节对入。
TXD ESP8266 RXD
GPIO0
电脑
RXD TXD 串口
1K
第四章
3.4 通过蓝牙采集红外数据任务
4.2.4 任务实施 设置烧写工具烧写的程序路径,如下图4-2-14所示。
第四章
3.4 通过蓝牙采集红外数据任务
4.2.4 任务实施
设置串口号,和波特率为115200,启动 下载如下图4-2-15所示:
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
2. 编写代码
如下图所示,点击打开user_main.c文件。文件路径:app》user》user_main
1. /*
2. * user_main.c
3. *
4. #include "driver/uart.h"
//添加串口头文件
5. #include "osapi.h"
SpiFlashOpResult spi_flash_write (
uint32 des_addr,
uint32 *src_addr,
uint32 size
)
参数:
uint32 des_addr : 写入 flash 目的地址
uint32 *src_addr : 写入 数据的指针.
uint32 size
谢观 谢
看
21.
os_timer_arm(&test_timer,1000,1);
22. }
23. void user_init(){
24.
uart_init(115200,115200);
25.
uint8 vdd33=33; //设置为3.3V
26.
spi_flash_erase_sector(0x7c);
18.
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
2. 编写代码
如下图所示,点击打开user_main.c文件。文件路径:app》user》user_main
19.
os_timer_disarm(&test_timer);
20.
os_timer_setfn(&test_timer,user_udp_send,NULL);
第四章
4.2.4 任务实施
4.2通过wifi采集空气质量传感数据
1)使用ESP8266IDE软件导入esp_server工程。 选择file》import》C/C++》Existing Code as Makefile Project进入下图界面。点击Browse按 钮选择esp_server文件夹路径,Tookchain for Indexer Settings选择Cygwin GCC,然后点击完 成。如下图4-2-6所示:
wifi通讯模块程序下载完后,将ESP8266芯片的TXD和RXD引脚断开与电脑串口的连 接,GPIO0引脚连接高电平,将wifi设置为运行模式。
4. 硬件设备连线
参考下图4-2-16所示,连接硬件线,空气质量传感器模块的模拟量输出口J6 与wifi通信 模块(服务端)的ADC0口相连,Wifi通信模块(服务端) JP2拨到J6位置,JP1拨到启动 模式。Wifi通信模块(客户端)JP2拨到J9位置,JP1拨到启动位置。
传感器和无线传感网络
第四章 目录
01 WIFI介绍 02 通过wifi采集空气质量传感数据 03 通过WIFI控制LED灯工作
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务ຫໍສະໝຸດ Baidu施
1. 创建工程
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
如下图4-2-5所示运行AITHINKER-ESP8266-SDK-v2.0文件夹中的ESP8266IDE.exe开 发软件。
//擦除0x7C中信息
27.
spi_flash_write(0x7c*4096+107,(uint32 *)&vdd33,sizeof(uint8));
28. //设置adc内存
29.
user_udp_send(); //数据发送
30. }
31. void user_rf_pre_init(){} //防止报错
J6
空气质量 传感器
GND
TOUT/ADC0
TXD
ESP8266 RXD
GND
GPIO0
电脑 RXD 串口 TXD
3.3V 1K
第四章
4.2.5 任务扩展
4.2通过wifi采集空气质量传感数据
任务扩展
将空气质量传感器换成人体红外传感器, 将人体红外传感器的数据通过wifi通信 模块的串口上传至电脑进行显示。
上图4-2-7中的user_main.c文件是需要自己创建一个空白的c 文件,我们编写的代码主要都是在该文件中编写。
3)下图4-2-8为最终的工程效果图。
第四章
4.2通过wifi采集空气质量传感数据
4.2.4 任务实施
删除app中的Makefile文件里的-ljson、-lupgrade、-lssl、-lpwm、-lsmartconfig这五行代码,如 下图4-2-9所示。
4.2.4 任务实施 进入编译工程状态,需等待完成,时间比较长。
如下图4-2-11所示,在console中提示编译工程成功
第四章
4.2.4 任务实施
3.4 通过蓝牙采集红外数据任务
6) 下载程序至wifi通信模块中 打开烧写工具:在FLASH_DOWNLOAD_TOOLS_v2.4_150924文件夹下