基于STM32单片机的二维码识别物联网OneNet云仓库系统

本文介绍了基于STM32和ESP8266的物联网系统,通过二维码识别功能更新库存,使用OLED显示商品数量,并将数据实时上传到OneNet云平台。详细描述了系统电路、STM32单片机最小系统、ESP8266Wi-Fi电路及程序设计的初始化和运行函数。
摘要由CSDN通过智能技术生成

1、系统功能介绍

1.通过二维码识别模块,扫描二维码,与系统中存储的信息对比,将对比成功的商品数量 加 1
2.使用oled屏幕实时显示商品数目
3.使用esp8266连接onenet云平台,实时的将数据上传至云平台
4.为避免单次扫描,系统进行多次增加的情况,在定时器中设置的时间,在次时间内识别到的只累加1次

2、系统电路介绍

2.1、STM32单片机最小系统

STM32单片机最小系统是一个基础的、精简的电路系统,它包含了运行STM32单片机所需的最基本组件。这个系统通常包括以下部分:

  • STM32芯片:这是整个系统的核心,负责执行程序和控制外围设备。STM32系列单片机采用了ARM Cortex®-M0,M0+,M3,M4和M7内核,专为高性能、低成本、低功耗的嵌入式应用设计。
  • 电源电路:电源电路为STM32芯片提供稳定的电压,以确保其正常工作。电源电路通常包括数字电源正极(VDD)和负极(VSS),以及模拟电源正极(VDDA)和负极(VSSA)。对于ADC(模数转换器)和DAC(数模转换器)等特定模块,还需要提供参考电压输入引脚(VREF+和VREF-)。
  • 时钟电路:时钟电路为STM32芯片提供时钟信号,以控制其工作节奏。时钟之于系统,就像心脏之于人体,是系统运行的基础。
  • 复位电路:复位电路用于将STM32芯片重置到初始状态,通常在系统启动或出错时使用。
  • 调试下载电路:调试下载电路用于将程序下载到STM32芯片中,并进行调试。它使得开发者能够方便地对程序进行开发和修改。
  • 此外,STM32单片机还具有较大的Flash存储器和SRAM存储器,可以轻松处理复杂的应用程序。其丰富的外设,包括多个定时器、计数器、PWM输出、ADC、DAC、通信接口等,可以帮助开发人员实现各种不同的应用需求。同时,STM32单片机采用了先进的低功耗技术,可以在不降低性能的情况下降低功耗,非常适合需要长时间运行或在电池供电的设备中使用。
  • 总的来说,STM32单片机最小系统是一个精简但功能完备的系统,它为STM32单片机的运行提供了必要的硬件支持,是嵌入式应用开发的基础。
  • STM32单片机最小系统如下图所示:

2.2、ESP8266 WIFI电路

系统连接云平台使用esp8266,电路如下图所示:

2.2.1 ESP8266介绍

ESP8266是一款高度集成、低功耗、低成本的Wi-Fi芯片,由Espressif Systems公司开发并广泛应用于物联网(IoT)产品中。它采用片上系统(SoC)设计,将32位Tensilica微控制器、标准数字外设接口、天线开关、RF巴伦、功率放大器、低噪声接收放大器、滤波器和电源管理模块等关键组件集成在一个小的封装内。

ESP8266的主要特点包括:

  • 高度集成:它集成了TCP/IP协议栈,可以直接连接到Wi-Fi网络,无需额外的外部芯片。这使得它成为开发物联网应用的理想选择,因为开发者可以迅速将设备连接到互联网,实现远程控制和数据传输。
  • 低功耗:ESP8266的功耗非常低,特别适合电池供电的应用场景。在待机模式下,它的耗电量仅为20uA,这有助于延长设备的使用寿命。
  • 易于编程:开发者可以通过AT指令和Lua脚本对ESP8266进行编程,这使得编程过程变得简单直观。此外,它还支持多种开发环境,如Arduino IDE、NodeMCU等,为开发者提供了更多的选择。
  • 低成本:ESP8266的价格非常实惠,这使得大规模应用于物联网产品成为可能。
  • 在参数方面,ESP8266的主频为80MHz,具有80KB RAM和4MB Flash存储空间。它支持802.11 b/g/n Wi-Fi标准,工作电压范围为3.0V到3.6V,工作温度范围从-40℃到125℃。此外,它还支持STA/AP/AP+STA模式,允许设备作为客户端连接到Wi-Fi网络,或作为接入点创建Wi-Fi网络。
  • 在应用方面,ESP8266广泛用于智能家居、智能车辆、工业自动化、智能农业等领域。例如,它可以用于控制智能灯光、智能窗帘、智能门锁等家居设备;也可以用于智能小车、智能飞行器等控制设备;还可以用于远程监控、数据采集等工业自动化应用;在智能农业方面,它可以用于智能灌溉、环境监测等应用。
  • 总的来说,ESP8266是一款功能强大、易于使用且成本效益高的Wi-Fi芯片,为物联网应用提供了强大的支持。

2.3、二维码识别电路

  • 二维码识别电路如下图所示

3、程序设计

3.1、系统初始化函数

void DeviceInit(void) { 
	Usart1_Init(115200);		//串口调试使用
	Usart2_Init(115200);		//串口2,驱动ESP8266用
	
	//二维码使用到的功能模块
	usart3_init(9600);	//初始化串口2为:15200,波特率. 
	
	//定时播种使用
	TIM2_Int_Init(4999,7199);//10Khz的计数频率,计数到5000为500ms   
	
	OneNetInit(&device); 
	
	//OLED初始化
	I2C_Configuration();		
	OLED_Init();
	OLED_Fill(0x00);//全屏灭
	
	OLED_ShowStr(0,0,"book num: ",2);	
	OLED_ShowStr(0,2,"pen num: ",2);	 
	OLED_ShowStr(0,4,"pencil num: ",2);	
	OLED_ShowStr(0,6,"rubber num: ",2);
	
}

3.2、系统运行函数

void DeviceRun(void) {
  DeviceRecvData(&device);//获取摄像头数据
  DeviceShowNum(&device);//OLED显示数据
  OneNetSend(&device);//向OneNET云平台发送数据
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值