Share this

Design and Implementation of Positioning Function in Embedded Logistics Information Terminal

2026-04-06 06:39:04 · · #1
Introduction Positioning technology is a crucial information foundation for logistics informatization and a primary information basis for implementing logistics informatization control. The selection of positioning schemes and technologies in logistics has a significant impact on improving the efficiency of modern logistics distribution management and reducing operating costs. Logistics terminal positioning requires high positioning accuracy, continuous and uninterrupted positioning information support around the clock, and the ability to meet positioning needs in complex terrain conditions. This paper analyzes the current needs of terminal positioning functions in the logistics industry, proposes a suitable implementation scheme for logistics terminal positioning functions based on the current status of positioning technology, and conducts a preliminary implementation of the terminal positioning function on a logistics informatization terminal platform based on embedded Linux and ARM9 hardware cores. System Implementation Scheme Current Status Analysis of Mobile Positioning Technology Currently, mobile positioning technology is very mature, and its widespread applications can be mainly divided into two categories: one is positioning technology that uses satellite rendezvous, such as GPS; the other is positioning technology that uses mobile communication network technology to provide location services. Commonly used technologies include: Cell-ID based positioning technology; AFLT (Advanced Forward Link Trilateration) based positioning technology; GPS positioning technology; and GPS-assisted positioning technology (A-GPS), etc. GPS is one of the most widely researched positioning technologies in logistics informatization. However, when GPS terminals are in densely built-up areas or in locations where positioning signals are difficult to receive, such as tunnels, they often struggle to obtain effective positioning information. Furthermore, GPS positioning functionality cannot meet the high-precision positioning requirements of situations such as warehousing, necessitating supplementation and improvement. This system implementation plan: Based on the overall situation of existing network construction and the demand for positioning data in logistics management, and considering the development status, maturity, and implementation costs of various positioning technologies, this plan proposes to adopt a GPS-assisted positioning system (GPS + Cell-ID + RFID + graphic road matching combination) in the logistics distribution network. The main considerations are as follows: 1) Fully utilize existing hardware resources. GPS, GSM, and RFID modules are the hardware platform already planned for this logistics information terminal project. Besides GPS specifically serving the positioning function, the GSM and RFID modules also have communication and tag information collection functions. This maximizes the service quality of the positioning function without expanding hardware resources. 2) Cell-ID positioning. This ensures that the terminal maintains a minimum level of positioning information even when GPS positioning loses signal. Cell-ID offers relatively high accuracy in urban and densely populated areas, complementing the reduced performance of GPS in obstructed environments such as high-rise buildings, tree-lined roads, and underground tunnels. GSM, with its smaller cell radius compared to CDMA, also offers relatively high Cell-ID positioning accuracy. This solution proposes using GSM's Cell-ID positioning method. 3) RFID Positioning. Positioning information is obtained by reading tag data used to identify geographic coordinates. Its positioning accuracy depends solely on the precision of the location information stored on the tag, theoretically achieving arbitrarily high precision. It can be used in warehouses, docks, and other locations requiring high-precision positioning information to provide positioning information and other auxiliary functions. 4) Graphical Road Matching. Current logistics transportation mainly utilizes vehicles such as automobiles on fixed routes. When the route is largely determined, graphical road matching can be used to appropriately correct the positioning information. However, this is generally suitable for areas with less dense roads or fixed routes. It can be provided as an optional functional module in this solution, suitable for situations with clear road information such as railways and highways, especially for railway transportation. Hardware and Software System Design Principles The system hardware development board uses the Samsung S3C2410 chip with an integrated ARM920T processor core. The GPS module provides satellite positioning signals; the GSM/GPRS module provides communication and CELLID positioning information acquisition; and the RFID module provides tag information collection and RFID positioning functions. The terminal establishes contact with the logistics information control center through the GSM/GPRS communication network, submitting relevant data collection information and receiving instructions from the logistics information control center. The system software uses an embedded Linux operating system, ported QT/Embedded 3.3.4 and the SQLITE database, and uses QT embedded programming to implement the corresponding functions. Software System Design The software system design in this paper mainly focuses on the S3C2410 platform, analyzing and processing the positioning information extracted from the GPS, GSM/GPRS, and RFID modules to complete the navigation and positioning function of the logistics information terminal. Host Machine Development Environment Setup Due to resource limitations on the target platform, a cross-compilation environment needs to be set up. The platforms used in this system development are as follows: Host Machine: RED HAT 9.0; QT/Embedded 3.3.4; SQLITE 2.8.16; cross-2.95.3.tar.bz2 Target Machine: Linux Kernel 2.4.18; QT/Embedded 3.3.4; SQLITE 2.8.16 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-compilation, and the corresponding library files are ported to the target machine. Before cross-compiling QT/Embedded 3.3.4, correctly set the environment variables. The cross-compilation options for QT/Embedded 3.3.4 on this system are: `./configure -embedded arm -shared -debug -no-cups -thread -plugin-sql-sqlite -no-ipv6 -qt-mouse-Linuxtp`. These can be adjusted according to actual needs. Key Software Technologies Analysis: 1) GPS Positioning Information Extraction: Currently used GPS-OEM modules all support the NMEA-0183 data format. NMEA-0183 sends data in statements, each statement being relatively independent and having complete meaning. Statements contain several fields composed of ASCII text characters. Each statement begins with "$" and ends with a newline character. Data is contained within these fields, which are separated by commas. The first field of each statement indicates its meaning. In standard statements, the two characters after "$" represent the "talkerID," indicating the device sending the data, such as GP for GPS. The next three characters represent the "sentenceID," indicating the type of statement, such as GGA, RMC, etc. The meaning of each field in the statement depends on the statement type. The last field of the statement is the checksum, consisting of "*", two hexadecimal digits, and a newline character. The checksum is the result of a logical XOR operation between "$" and "*", used to verify and confirm the correctness of data transmission. For terminal navigation, the "$GPRMC" frame format can meet most requirements, as its frame length is relatively short, facilitating information processing. Therefore, in this system, the "$GPRMC" frame is selected for location information extraction. The system receives positioning data from the GPS-OEM module via an RS232 serial port and extracts positioning and navigation information such as time, latitude and longitude, speed, and azimuth from the "$GPRMC" frame in the received data. The main structure of its program module is as follows: …… // Determine if it is a $GPRMC frame header and mark it if (Data=='$' && Data[i+3]=='R') …… // Determine if it is a frame tail, the frame tail ends with a newline character The value is 10 '\n'. If (Data==10 && SectionID==13) { ... id_check=m*16+n; // Get the INT type of the test data if (chk_result!=id_check) // Compare the XOR operation result with the test data ... if (Data=='*' && 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 to distinguish the identification data, and judge the * to distinguish the verification data if (Data==','||(Data=='*' && SectionID==12)) SectionID++; else { switch (SectionID) { case 1: // Extract time m_sTime[a++]=Data; break; case 2: //Receive and determine the validity of data. A is valid, V is invalid... case 3: //Extract latitude... //Extract longitude, speed, azimuth, check data, and other information 2) Linux serial communication programming Embedded Linux operating systems use the POSIX termios interface to control the behavior of the serial port. In the Linux system, serial ports and other devices are treated as files. The main implementation of its program module is as follows: int fd=open("/dev/ttyS1",O_RDWRIO_NOCTTY);//Open the serial port... new_options.c_cflag &=~PARENB;//No parity new_options.c_cflag &=~CSIZE;//No hidden data bits new_options.c_cflag &=~CSTOP8;//No stop bits new_options.c_cflag |=CS8;//8 data bits cfsetispeed(&new_options,B4800);//Set the baud rate to 4800bit/s cfsetospeed(&new_options, B4800); tcflush(fd, TCIOFLUSH); tcsetattr(fd, TCSANOW, &new_options); // Set the new device mode. After completing the serial port settings, you can use the read() and write() functions to operate on the serial port. It should be noted that the serial port is blocking by default. When no data arrives, it will block and suspend. This can be adjusted and controlled by multi-threaded programming, serial port timeout settings, or using select polling. This system mainly uses multi-threaded programming to control serial port blocking, using Qt's Qthread class. You can also directly use Linux's own multi-threaded functions. 3) Qt/Embedded Programming Qt/Embedded is a framebuffer-based Qt version for embedded systems being developed by the well-known Qt library developer TrollTech. It is widely used because of its object-oriented, cross-platform, and convenient and beautiful interface design. This design uses Qt/Embedded. Version 3.3.4 supports the SQLITE database driver, facilitating database operations and programming. The design primarily utilizes QTE's canvas module, SQL module, and network module. Within the canvas module, the QCanvas library is a highly optimized 2D drawing library. Combined with other canvas modules, it easily implements functions such as displaying, zooming, panning, and overview views of navigation maps. The SQL and network modules facilitate database programming and network communication, significantly shortening the development cycle and improving efficiency. Preliminary Implementation The 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 This paper proposes a design scheme for a positioning function of a logistics information terminal based on an embedded Linux system and presents its preliminary implementation. Experiments demonstrate that the system provides accurate positioning data, has a user-friendly interface, and strong system scalability, effectively fulfilling the positioning function of a logistics information terminal. This system can be used for logistics terminal positioning and navigation, and is also applicable to other situations requiring positioning and navigation services, possessing broad applicability and reference value.
Read next

CATDOLL 108CM Coco

Height: 108cm Weight: 14.5kg Shoulder Width: 26cm Bust/Waist/Hip: 51/47/59cm Oral Depth: 3-5cm Vaginal Depth: 3-13cm An...

Articles 2026-02-22