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

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

  • 1、系统功能介绍
  • 2、系统电路介绍
  • 2.1、STM32单片机最小系统
  • 2.2、ESP8266 WIFI电路
  • 2.2.1 ESP8266介绍
  • 2.3、二维码识别电路
  • 3、程序设计
  • 3.1、系统初始化函数
  • 3.2、系统运行函数
  • 1、系统功能介绍

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

  • 演示视频:https://www.bilibili.com/video/BV1xx4y127xw
  • 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云平台发送数据
    }
    

    作者:点灯师

    物联沃分享整理
    物联沃-IOTWORD物联网 » 基于STM32的物联网二维码识别与OneNet云仓库系统

    发表评论