python单片机串口采集温湿度并录入数据库

本文介绍了使用Python配合STM32单片机从AHT20温湿度传感器采集数据,并通过串口通信将数据存储到MySQL数据库的过程。详细讲述了环境配置,包括Eclipse、Keil5、MySQL和Navicat的设置,以及Python环境的搭建。单片机和Python代码示例分别展示了数据采集和入库的操作。虽然作者的Navicat已过期,但给出了过去成功记录的截图作为效果展示。
摘要由CSDN通过智能技术生成

一、环境配置及软硬件

  • 环境配置及软件
  1. eclipse
  2. Keil5
  3. mysql
  4. Navicat
  5. Eclipse配置python开发环境

相关参考:
Eclipse下配置python环境.
pip升级安装难题.
windows环境下安装pymysql.
Python MySQL - mysql-connector 驱动.
(本人配置时主要参考了这些,以外的自身以前配置过,其他的软件安装过程请自行搜索。)

  • 硬件
  1. STM32F103系列单片机(野火mini)
  2. 温湿度传感器AHT20
  3. 杜邦线

二、代码

  • 单片机上要烧入的温湿度模块main.c代码:
#include "led.h"
#include "usart.h"
#include "temhum.h"

 int main(void)
 {
   	 	
    u32 CT_data[2]={
   0};
    volatile float  hum=0,tem=0;   
    int q=0;		
     
    delay_init();	    	 //延时函数初始化	  
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    uart_init(115200);	 //串口初始化为115200
    LED_Init();			     //LED端口初始化
    temphum_init();     //ATH20初始化    
	
	while(1)
	{
   
        AHT20_Read_CTdata(CT_data);       //不经过CRC校验,直接读取AHT20的温度和湿度数据 

        hum = CT_data[0]*100*10/1024/1024;  //计算得到湿度值(放大了10倍)
        tem = CT_data[1]*200*10/1024/1024-500;//计算得到温度值(放大了10倍)
        if(q%2==0)
		  printf("%.1f%",(hum/10));
		if(q%2!=0)
          printf("%.1f",(tem/10));
        
        //延时2s,LED闪烁提示串口发送状态
        LED=0;
        delay_ms(1000);
        LED=1;
        delay_ms(1000);
		    q=q+1;
	 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值