Smart storage for embedded linux projects (based on the punctual atom IMX6ULL development board)

Intelligent storage project based on the IMX6ULL development board of punctual atom

提示:该项目根据华清远见智能仓储项目改版,将他的A9开发板换成了自己的IMX6ULL开发板。同时等我将该项目整个流程完成之后,会为大家附上适配正点原子linux开发板的全部代码(Code information and video tutorial private chat)
video tutorial
insert image description here

video tutorial
Corresponding course supporting source code
insert image description here

Links to my other projectsSmart storage project based on linux
Face recognition based on QtSmart
home
transplantation based on STM32 Face recognition to Linux development boardSmart
vehicle system (Qt) based on the IMX6ULL development board of punctual atoms


PS:华清远见这个项目真的很不错,适合自学转行的同学好好学习一波,我就是机械转行自学的


foreword

提示:这里可以添加本文要记录的大概内容:

At present, the market competition of manufacturing enterprises is becoming increasingly fierce, and it is very important for enterprises to improve production efficiency and reduce operating costs. For this reason, based on ZigBee technology, embedded linux technology, combined with web server and single-chip stm32, it can realize warehouse goods storage, inventory, storage, warehouse environment management, remote real-time monitoring, remote environment control, and alarm reminder And many other functions in one, to achieve real intelligence, rich technology accumulation, high entry barriers, but easy to operate, convenient and fast.


提示:以下是本篇文章正文内容,下面案例可供参考

1. Project System Overview

Intelligent warehousing is based on Linux C programming and HTML interface programming. Through stm32 as the terminal storage environment collection, combined with RFID and database, the real-time cargo data of the warehouse is stored in the database, and the warehouse data and environmental data are submitted to the host for processing. The host Update the environmental information to the web page in real time, and save the information of the goods in and out of the warehouse into the database. When the detected environmental information is lower than the set value, for example, the light in the warehouse is dark, then the system host will automatically control the remote LED lights to turn on, increase the intensity of light, and improve the environmental information.
If the ambient temperature in the warehouse is higher than a certain value, the buzzer alarm will be automatically turned on, and the fan will be turned on for ventilation to reduce the ambient temperature in the warehouse. If the temperature continues to rise. The overall environment of the hardware is as follows: encapsulate the data collected by stm32 into an environmental information structure, and then send the structure data through zigbee. The receiving end of zigbee uses the usb to serial port module. Through the writing of the driver, the receiving end of zigbee is developed in linux The board is identified as a serial port node. Then the development board can process the data from the 32 development board by reading the information of the nodes, and then send the data to the web page through the linux development board.
insert image description here

2. The overall flow chart is as follows

insert image description here
What follows is an introduction to the flowchart.
The above describes that the Linux development board reads the data from zigbee, then fills the environment information structure through the pthread_transfer thread, and then refreshes the data to the web page through the pthread_refresh thread. There is a problem here. The main thread is written in C language, while the web page is displayed in html language. This involves the communication between C language and html language. Therefore, this project transplanted the boa server on the punctual atomic linux development board. Interact C and html through boa server and CGI application (there is a layer of cgi application in the middle)

3. Project effect

The following figure shows the display part of the webpage. After logging in with the account and password, you will come to the main interface. The main interface can be divided into four parts, namely historical photos and real-time monitoring (this part is to push the data collected by the camera through FFmpeg mgpeg-streamer And nginx server as a streaming media server, and then pull the video stream information to the web page port, I will write a blog to introduce in detail later), M0 control part (this part is to control the linux hardware through the data sent by the web page through the message queue, Such as led, beep, etc.), environmental information (this part is to upload the data collected by the stm32 part to the linux board, and then fill the data into the environmental information structure part through the pthread_transfer thread. The environmental information and web page communication use shared memory. Method) The

figure below shows the M0 control part.
Send commands to the cgi program through the web page, and then cgi interacts with the main process to control the hardware on the board. The figure below shows the
insert image description here
environmental information transmitted by stm32. The
insert image description here
environmental information collected by 32 can be passed through the linux board upload to web

The above webpage is the project I have transplanted temporarily. At present, the hardware on the linux board is controlled through the webpage, and then the data uploaded by the stm32 is displayed on the webpage, and the data collected by the camera is pushed to the webpage. Subsequent implementation

Summarize

提示:这里对文章进行总结:

其实该项目的应用场景不要局限于智能仓储,当你把这一套项目跑通之后,你会发现无论是什么板子的硬件采集到的数据都可以通过无线通信的方式将数据上传到linux开发板,然后让Linux开发板单单作为一个服务器来协调数据的上传和下发,只需要更改网页显示不同的数据,和最下层的硬件采集不同的数据来达到不同应用场景的目的
At the same time, the project is relatively complex,Using the knowledge of modules such as threads, inter-thread communication, semaphores, message queues, shared memory, mutex locks, web pages, wireless communication, etc., it is a comprehensive project that can help us master the knowledge of UC, and is very suitable for non-scientific change application scenarios Afterwards as an interview project, and this article simply introduces the effect and general framework of the project I made. Many details in it are not expressed, so everyone is welcome to pay attention to collection and correction. My next blog will introduce the detailed content of each part in detail.The code will be attached at that time

Guess you like

Origin blog.csdn.net/m0_57730390/article/details/126347406