The selection of logistics positioning solutions and technologies has an important impact on improving the efficiency of modern logistics distribution management and reducing operating costs. Logistics terminal positioning requires high positioning accuracy, can provide all-weather continuous positioning information support, and can meet the positioning needs of complex terrain conditions.
This paper analyzes the demand for terminal positioning function in the current logistics industry, proposes a corresponding implementation plan for logistics terminal positioning function based on the current status of positioning technology, and preliminarily implements the terminal positioning function on a logistics information terminal platform based on embedded Linux and ARM9 hardware core.
System Implementation Solution
Analysis of the current status of mobile positioning technology At present, mobile positioning technology has become very mature, and its wide applications can be divided into two categories. One is positioning technology such as GPS that uses satellites for rear intersection; the other is positioning technology that uses mobile communication network technology to provide location services. Commonly used ones include: positioning technology based on Cell-ID; positioning technology based on AFLT (Advanced Forward Link Trilateration); GPS positioning technology; GPS assisted positioning technology (A-GPS), etc.
GPS is one of the most widely studied positioning technologies in logistics informatization. However, when GPS terminals are located in densely built areas or in tunnels and other geographical locations where positioning signals are difficult to receive, it is often difficult to obtain effective positioning information. Moreover, the GPS positioning function cannot meet the needs of high-precision positioning in places such as warehousing, and corresponding supplements and improvements are needed.
Implementation plan of this system
Based on the overall situation of existing network construction and the analysis of the demand for positioning data in the logistics management process, and taking into account the development status, technical maturity, and implementation cost of various positioning technologies, it is planned to use the positioning technology of GPS-assisted positioning system (GPS+Cell-ID+RFID+graphic road matching) in the logistics distribution network. The main considerations are as follows:
1) Make full use of existing hardware resources. GPS, GSM, and RFID modules are the hardware platforms that have been planned for this logistics information terminal project. In addition to GPS serving the positioning function, GSM and RFID modules also have the functions of communication and tag information collection. Without expanding hardware resources, the service quality of the positioning function can be maximized.
2) Cell-ID positioning. Ensure that the terminal maintains the minimum positioning information when the GPS positioning signal is lost. The Cell-ID method can provide relatively high accuracy in cities and densely populated areas, which is a good complement to the reduced performance of GPS in urban high-rise buildings, boulevards, underground tunnels and other shielding conditions. Since GSM has a smaller cell radius than CDMA, it has a relatively high Cell-ID positioning accuracy. In this solution, the GSM CELLID positioning method is proposed.
3) RFID positioning. The positioning information is obtained by reading the tag data used to identify the geographic coordinates. Its positioning accuracy depends only on the accuracy of the positioning information stored in the tag, and in theory it can achieve any high accuracy. It can be used in places such as warehouses and docks that require high-precision positioning information to provide positioning information and other auxiliary functions.
4) Graphic road matching. Currently, logistics transportation is mainly carried out on fixed routes by means of transportation such as cars. When the route is basically determined, the positioning information can be appropriately corrected through graphic road matching. However, this is generally applicable to areas where the roads are not too dense or the routes are fixed. It can be provided as an optional functional module in this solution and is suitable for occasions such as railways and highways where the road information is clear, especially for railway transportation. [page]
Principles of software and hardware system design
The CPU of the system hardware development board uses Samsung's S3C2410 chip with an internally integrated ARM920T processor core. The GPS module provides satellite positioning signals; the GSM/GPRS module provides communication and CELLID positioning information acquisition; the RFIDS module provides tag information collection and RFID positioning functions. The terminal establishes a connection with the logistics information control center through the GSM/GPRS communication network, submits relevant data collection information and receives instructions from the logistics information control center.
The system software adopts embedded Linux operating system, transplants QT/Embedded 3.3.4 and SQLITE database, and uses QT embedded programming to implement corresponding functions.
Software system design
The software system design in this paper is mainly based on the S3C2410 platform, which will analyze and process the positioning information extracted from the GPS module, GSM/GPRS module, and RFID module to complete the navigation and positioning function of the logistics information terminal.
Establishment of host development environment Due to the limited resources of the target platform, a cross-compilation environment needs to be built. The platforms used in the development of this system are as follows:
Host: RED HAT 9.0; QT/Embedded 3.3.4;SQLITE 2.8.16;cross-2.95.3.tar.bz2 Target: Linux Kernel 2.4.18;QT/Embedded 3.3.4;SQLITE 2.8.16 In order to correctly cross-compile QT/Embedded, it is necessary to ensure that the header files and library files required by QT, such as UUID, ZLIB, JPEG, GIF, PNG, and SQLITE, are correctly installed before cross-compiling, and transplant the corresponding library files to the target machine. Correctly set the environment variables before cross-compiling QT/Embedded 3.3.4. The cross-compile options of QT/Embedded 3.3.4 in this system are: ./configure -embedded arm -shared -debug -no-cups -thread -plugin-sql-sqlite -no-ipv6 -qt-mouse-Linuxtp, which can be reduced accordingly according to the actual situation.
Software key technology analysis
1) Extraction of GPS positioning information
Currently, the commonly used GPS-OEM modules all support the data format of NMEA-0183. NMEA-0183 sends data in sentences, and each sentence is relatively independent and has complete meaning. The sentence contains several fields composed of ASCII text characters. Each sentence starts with "$" and ends with a carriage return and line feed. The data is contained in the field, and the fields are separated by commas. The first field of each sentence indicates the meaning of the sentence. In the standard sentence, the two characters after "$" are "talkerID", which indicates the device sending the data, such as GP for GPS; the next three characters are "sentenceID", which indicates the type of the sentence, such as GGA, RMC, etc. The meaning of each field in the sentence depends on the sentence type. The last field of the sentence is the checksum, which consists of "*" and two hexadecimal digits and a carriage return and line feed. The checksum is the logical XOR operation result of all the characters between "$" and "*", which is used to check and confirm whether the data transmission is correct.
For terminal navigation, the "$GPRMC" frame format can meet most requirements, and its frame length is relatively short, which is convenient for information processing. Therefore, in this system, the "$GPRMC" frame is selected for positioning information extraction. The system receives positioning data from the GPS-OEM module through the RS232 serial port, and extracts time, longitude and latitude, speed, azimuth and other positioning and navigation information from the "$GPRMC" frame in the received data. The main structure of its program module is as follows:
…
//Judge whether it is a $GPRMC frame header and mark it
if(Data[i]==\'$\' && Data[i+3]==\'R\')……
//Judge whether it is the end of the frame. The end of the frame is represented by a line feed character, and the value is 10 \' \'
if(Data[i]==10 && SectionID==13)
{ ...id_check=m*16+n; //Get the INT type of the check data
if(chk_result!=id_check) //Compare the XOR operation result with the check data to see if they are consistent
…… if( Data[i]==\'*\' && SectionID==12 ) //XOR operation result
…
// Perform XOR operation on the characters between $ and * to get the result chk_result
for( ; Data[n]!=\'*"; n++) chk_result^=Data[n]; //Judge the comma, distinguish the identification data, and distinguish the *, distinguish the verification data
if(Data[i]==\',\'||(Data[i]==\'*\' && SectionID==12) )SectionID++;
else
{ switch(SectionID){ case 1: //Extract time m_sTime[a++]=Data[i];break;case 2: //Receive and determine validity data A is valid, V is invalid...case 3: //Extract latitude...//Extract longitude, speed, azimuth, verification data and other information.
[page]
2) Linux serial communication programmingThe embedded Linux operating system uses the termios interface of the interface standard POSIX to control the behavior of the serial port. In the Linux system, serial ports and other devices are treated as files, and the main body of the program module is implemented as follows:
int fd="open"("/dev/ttyS1",O_RDWRIO_NOCTTY);//Open the serial port
……new_options.c_cflag &=~PARENB; //No parity check
new_options.c_cflag &=~CSIZE; //Do not hide data bits
new_options.c_cflag &=~CSTOP8; //No stop bit
new_options.c_cflag |=CS8; //8 data bits
cfsetispeed(&new_options,B4800); //Set baud rate
4800bit/scfsetospeed(&new_options,B4800);
tcflush(fd,TCIOFLUSH);
tcsetattr(fd,TCSANOW,&new_options);//Set a new device mode After completing the serial port settings, you can use the read() and write() functions to operate the serial port. It should be noted that the serial port is blocked by default. When no data arrives, it will be blocked and suspended. At this time, you can adjust and control it through multi-threaded programming, serial port timeout setting, or select polling. This system mainly uses multi-threaded programming to achieve the control of serial port blocking, using QT's Qthread class, or you can directly use Linux's own multi-threaded functions for operation.
3) QT/Embedded programming
Qt/Embedded is a framebuffer-based Qt version for embedded systems that is being developed by TrollTech, a famous Qt library developer. It is widely used because of its object-oriented, cross-platform and convenient and beautiful interface design.
This design uses QT/Embedded 3.3.4 version, which supports SQLITE database driver and is convenient for database operation and programming. The design mainly uses QTE's canvas module, SQL module and network module. In the canvas module, QCanvas library is a highly optimized two-dimensional drawing library. When used in combination with other canvas modules, it can easily realize the display, zooming, roaming and eagle eye functions of the navigation map. The SQL module and network module can easily realize database programming and network communication functions, greatly shortening the program development cycle and improving development efficiency.
The initial positioning error mainly depends on the positioning accuracy of the GPS-OEM module. Experiments show that this system can initially meet the positioning function requirements of logistics information terminals.
Conclusion
Experiments have proved that the system has accurate positioning data, a friendly interface, strong system scalability, and has completed the terminal positioning function of logistics informationization. This system can be used for logistics terminal positioning and navigation, and can also be applied to other occasions that require positioning and navigation services. It has a relatively general applicability and reference value.
References:
[1]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[2]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[3]. CS8 datasheet http://www.dzsc.com/datasheet/CS8_2332280.html.
Previous article:ARM Intelligent Traffic Light System
Next article:Design of embedded wireless video acquisition system based on ARM
Recommended ReadingLatest update time:2024-11-16 21:42
- Popular Resources
- Popular amplifiers
- Practical Deep Neural Networks on Mobile Platforms: Principles, Architecture, and Optimization
- ARM Embedded System Principles and Applications (Wang Xiaofeng)
- ARM Cortex-M4+Wi-Fi MCU Application Guide (Embedded Technology and Application Series) (Guo Shujun)
- osk5912 evaluation board example source code
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- WI-FI positioning algorithm principle and introduction
- How to choose the right wireless bridge.
- Ethernet Connectivity in MCU-Based Embedded IoT Designs
- Discussion on Digital Phase-locking Technology of DSP
- Seven practices to avoid power meter damage
- Help with printf redefinition under KEIL GNU99
- How SysConfig boosts embedded system development
- Pingtouge RVB2601 Review: Light up your LED - GPIO and PWM, and PWM questions
- About the filter circuit of 48V DC after bridge rectification
- 【DFRobot motor driver】+ unboxing