With the rapid development of social economy in recent years, the complexity and congestion of road traffic are increasing day by day. The existing transportation management and service methods can no longer meet the needs of transportation. problem. Therefore, in-vehicle navigation came into being, and in some developed countries, in-vehicle navigation has become an auxiliary product of people's lives. However, due to technical, capital and cost reasons, China's car navigation market is still in the early stages of development. The car navigation system is a high-tech integrated system that centrally applies automatic positioning technology, geographic information system and database technology, computer technology, and wireless communication technology. At present, the in-vehicle terminal technology in the domestic market is not complete enough, and the degree of marketization is low. It is rare to really meet the requirements of consumers. As the requirements for navigation system information service capabilities are further improved, the cost of terminal hardware continues to decline, and the operating system is continuously upgraded, an operating system that is easy to develop, maintain, and upgrade, and has strong compatibility is selected to support the operation of the terminal hardware system It is very important.
The Android operating system composed of embedded Linux and Java virtual machines brings a new open system solution for embedded mobile devices. This article selects Android as the system terminal software for car navigation among many operating systems. Because Android is an open source operating system, it is helpful for developers to understand the platform framework and reduce the price of mobile terminal devices. It also facilitates software development, maintenance, and upgrades. .
1 Introduction to the Android operating system
The Android operating system released by Google in November 2007 is a mobile operating system platform built on the Linux operating system version 2.6 kernel. Google defines the Android operating system in this way. It is the first truly open source and complete system mobile platform specifically built for mobile terminals, and there are no compatibility issues on different devices.
The Android platform consists of an operating system, middleware, user interface, and application software. The Linux kernel layer is used to provide the underlying services of the system. It is located between the hardware and other software layers, and uses the YAFFS2 file system. The Android runtime includes a set of core libraries and the Dalvik virtual machine. Android provides rich class library support and most of it is open source code, such as the embedded database SQLite. The application framework layer provides Android developers with full access to the framework application program interface, and the structured design simplifies the reuse between components. At the application layer, Android itself comes with some core applications, which greatly simplifies the development of Android applications.
Therefore, using the Android operating system as the application platform for car navigation terminals, because the operating system and software are free, the navigation terminal is cheaper; the same platform overcomes the format problem and the functions are more diversified; Closer to consumers.
2 System framework design
This system is an embedded development board with Samsung's S3C6410 processor as the core. The bootloader boot program is developed first, then the Linux kernel is transplanted on this basis, and then the Android file system is made; after the Android operating system is transplanted, proceed In the development of car navigation functions, the task is focused on obtaining the path in real time through GPS, using a map matching algorithm to correct the positioning error of the positioning module, using the shortest path navigation planning algorithm for navigation, guiding the path through voice prompts, and matching the Android system through electronic map The API interface of the software, at the same time, it also has a constantly upgraded map library, and can carry out various information queries according to the needs of users, and truly implement an embedded operating system platform with small size, low power consumption, low cost, and friendly man-machine interface. . The system framework diagram is shown in Figure 1.
Figure 1 System framework
Use the Android operating system to realize the integration of the functional modules of the car navigation terminal on the ARM hardware platform, cooperate with the corresponding serial port driver, LCD screen driver, etc. to complete the specified functions, such as processing the received data, calculating the longitude and latitude of the location , Altitude, speed, time, etc., and use map matching algorithm for positioning error correction, autonomous navigation path planning uses Dijkstra algorithm to achieve the shortest path navigation. The GPS system has the characteristics of all-weather, global coverage, three-dimensional fixed speed, timing, high precision, fast, time saving, high efficiency, wide application, multi-function, etc., so it can be widely used in land, ocean and aerospace. The use of electronic maps can intuitively display information such as rich city maps, national highway network maps, gas stations, convenience stores, government agencies, restaurants, hospitals, parking lots, etc. on the LCD liquid crystal display, which is convenient for high-end and high-end Use personnel for reference.
3 Software design of vehicle positioning and navigation system
In the software design process of the car navigation system, the five major functional modules of the Android software platform are used, namely Android application program layer, application framework layer, common function library, Java program running environment and Linux kernel layer. In the application program layer, the Java application programs for GPS and electronic maps for car navigation are developed using various component API interfaces of Android, and the corresponding serial ports and other low-level drivers such as LCD screens are provided at the kernel layer.
3.1 GPS positioning module software design
The Android operating system supports GPS APILBS, which can receive satellite signals through an integrated GPS chip or an external GPS device, and obtain coordinate data of the current device through at least 3 satellites and atomic clocks in the GPS global positioning system. For the positioning function, good stability is the top priority, and Android achieves this. Android provides many positioning-related classes and related functions, allowing developers to flexibly apply. Use the location information management class LocaTIonManager for GPS positioning, and use the Criteria class to implement custom positioning functions. Of course, in the designed navigation system, we hope that the GPS device implemented can save power as much as possible, locate as accurately as possible, and need to obtain the speed of moving objects. Therefore, the set Criteria object is as follows:
Criteria mCriteria = new Criteria ();
mCriteria.setAccuracy (Criteria.ACCURACY_FINE); / * Whether the latitude and longitude are accurately provided * /
mCriteria.setAlTItudeRequired (false); / * Whether to provide altitude information * /
mCriteria.setBearingRequired (false); / * Whether to provide course information * /
mCriteria.setCostAllowed (true); / * cost * /
mCriteria.setPowerRequirement (Criteria.POWER_LOW); / * Set low battery parameters * /
mCriteria.setSpeedRequired (true); / * Whether to get the speed of the current object * /
Then pass the Criteria parameters to the LocaTIonManager object. Then start the GPS positioning function, LocaTIonManager object began to obtain latitude and longitude and other data through its own function. The method of obtaining data is as follows:
â‘ For latitude and longitude, getLatitude () returns the dimension data, and getLongitude () returns the longitude data;
â‘¡ For direction, hasBearing () judges whether there is direction data, and getBearing () returns its value in degrees;
â‘¢ For altitude, hasAltitude () judges whether there is altitude data, and under getAltitude, returns altitude data in m units;
④ For speed, hasSpeed ​​() determines whether there is a speed value, and getSpeed ​​() returns the speed value in m / s.
⑤ Finally, the data returned by the LocationManager object is updated on the electronic map in a timely manner, and as the location of the object and time changes, developers can use the LocationManager to use the location listener LocationListener to update the data according to the time and distance of the object.
Marine Generator with marine diesel engine, marine alternator, control system
. World famous brand marine diesel engine: Cummins, Yuchai, Weichai
. World famous brand alternator: Stamford, Leroy Somer, Marathon, Mecc Alte, Faraday
. Marine control system: Deepsea, ComAp, Deif, SmartGen
. Water Heat Exchanger Type cooling system
Marine Engine,Marine Genset,Marine Generator,Marine Engine Generator
Guangdong Superwatt Power Equipment Co., Ltd , https://www.swtgenset.com