Home
Document Download
- Written by: zhang
- Category: Technology
Document Download
Here are some technical information that you can download and study to have a deeper understanding of our products.
Hardware Design of Location Anchor
- Written by: zhang
- Category: Technology
Hardware Design of Location Anchor
The main control of the location anchor is STM32F103RET6. This MCU has a relatively large Flash and a relatively large RAM, and is suitable for running RTOS.
The UWB transceiver of the anchor uses the DW1000 chip. We directly used the DWM1000 module in the early stage, because the DWM1000 module has already completed the radio frequency part and provides some SPI interfaces to the outside world. We do not need to worry about the analog part of the circuit and can just focus on the logic circuit. Later, some anchor types were added, and some changes were made in this part. Several new designs were added: (1) Making your own modules similar to DWM1000 can save costs; (2) Your own UWB modules use ceramic antennas or PCB antennas, and there are also IPX The base lead uses an external high-gain underline; (3) Add PA/LNA. The original communication distance can reach up to 300 meters at the rate of 850K, and it can reach more than 1000 meters after adding PA/LNA.
RTLE(RealTime Location Engine) Design
- Written by: zhang
- Category: Technology
RTLE(RealTime Location Engine) Design
The location engine is the most important part of the entire location system. It is responsible for receiving data packets from each anchor and calculating the coordinates of the tag.
For the initial version, we developed it in Java. Later, it needed to be sold as a product. Java lacked sufficient security measures and could easily be decompiled. Our intellectual property rights could not be protected. Therefore, we changed to rewrite the location engine in C++. Because our customers basically use Windows servers, the location engine currently only has the Windows version. At the beginning of the design, we considered cross-platform and considered support for Linux in some important places. In fact, when the C++ version of the location engine was first written, we successfully compiled a Linux version and ran it on Ubuntu.
We need to continuously improve the engine, add functions, or improve ease of use. Customers basically have no demand for Linux, so we no longer pay attention to Linux support. If you have this need, it should be easiest to adapt the location engine to Linux.
The core of the location engine is the calculation of coordinates. We studied several algorithms, and by default, the least squares method is used for calculations. This algorithm is fast and highly accurate.
The location engine interface supports 5 methods: TCP binary message interface, RESTful style interface, TCP text message interface, TCP custom binary message interface, and serial text message interface.
Because UWB is defined as near field communication, this means that the coverage range of UWB will be very small. In particular, the radio management department has restrictions on the signal strength of UWB sending equipment. If the equipment is to be compliant, the coverage will be very small. In addition, some environments that require location are more complex, such as obstructions such as walls. In short, we need to support multi-region location, divide a large venue into multiple location areas, and deploy location anchors in each location area. These small location areas are combined to form a complete location area.
Our location engine supports multi-region location. For example, under normal circumstances, the range of each location area is 100 meters * 100 meters. The 400 meters * 400 meters area can be divided into 4 small areas in the shape of "田", which is equivalent to deploying "4 sets of location systems" . Of course, our system supports anchor reuse on regional boundaries. For example, if a anchor is deployed at the center of the word "田", all four regions can share this anchor. Deploying a anchor at each intersection of the word "田", with a total of 9 anchors, can achieve the effect of 4 anchors in each location area.
In practice, we found that there are fixed offsets in some places. To this end, we developed an algorithm to correct fixed offsets.
About Me
- Written by: zhang
- Category: Blog
A few years ago, I started a company with a few friends and produced several products, but the market was not good. The last project is to develop a laboratory management system for an anti-drug laboratory, which should be fine to use. Originally there were many potential customers, but due to the economic situation, the projects of several customers were postponed and they could no longer survive, so everyone had to break up.
I am 56 years old and it is a bit embarrassing to look for a job again. I applied for some positions in Zhaopin but got no feedback. It seems that some companies have some positions that have been vacant for many years and are always recruiting people. I don’t know what kind of tricks they are doing. Of course, maybe HR just ignored me when they saw my age.
I have worked in large companies (Zhuhai Giant/AsiaInfo), and I have spent more time in small companies. Although I have worked in management positions, I am more interested in technology, so my final choice is all about technology.
General technical experience:
-
In the 1990s, I mainly used x86 assembly and C, and wrote a Chinese character system under DOS (the advantage is that it can display 24x24 dot matrix Chinese characters). I guess many people now don't know what this is. Efforts to promote it all come to nothing.
-
Delphi was used a lot in the 200x era. Delphi7 wrote a mail system that supported POP3/SMTP. The kernel was made into a COM component and a UI was written in ASP to support sending and receiving mails on the web. You should still be able to find it online now, and it's called "Lingjing Web Mail System". At that time, I wanted to try out the sharing software method. As a result, monthly income cannot cover expenses.
-
Then I found a job in a small company and led a team to write some application systems using Delphi.
-
Later, I went to help a friend's company and led the team to do some GIS things (Java+JS). I also used Delphi to write some small image processing programs for processing satellite photos (correction/color adjustment/photo stitching/segmentation). etc)
-
Later, I went to AsiaInfo to engage in telecommunications billing and was responsible for Guizhou Telecom’s technical support. Use C++/Java to add user requirements to the billing system, and more often use PL/SQL to control Oracle. After staying there for several years, I rose to the position of deputy department manager. But I don’t like it very much. I feel that AsiaInfo is too much like a state-owned enterprise, with all kinds of intrigues at the top. As a grassroots leader, in the cracks, if you are from the company's perspective, you must help the company find ways to squeeze its employees; if you are from the employee's perspective, you must withstand the pressure from above. Later I resigned.
-
I started a company with a few friends.
-
-
First, we built an access control system for a specific industry. When the warehouse is about to open, two people apply with their fingerprints, and the superior opens the door remotely. The application in the province is OK. Later, I planned to upgrade, but was squeezed out by another company at a low price. After arriving, I learned that the winning bidder was unable to continue after a few months and was also taken away by Party A. All in all, a piece of chicken feathers. In this project, I handled the hardware and software of the access control system by myself. Use AD to draw circuit diagrams and PCBs, purchase components, and find SMT from chip manufacturers; use C to write firmware; use Delphi to write the control terminal.
-
Later, a UWB precise positioning system was developed. I also handled the hardware and software in the early stages of the project, and formed a team only after the project was completed. From writing the firmware on the drawing board, researching the clock synchronization/TDOA algorithm, to writing the positioning engine, it was all done by one person. The positioning engine was initially written in Java. Later, when it was going to be sold as a product, it was rewritten in C++. After exhausting all methods of promotion, the profit cannot cover the expenditure, let alone recover the upfront investment. By the way, if anyone is interested, the full set of technology can be transferred (see https://uwbhome.top for details ).
-
Later, I built a management system for a anti-drug laboratory. I am responsible for the overall technical work, technology selection, architecture design, underlying system development, etc. This is a standard Java project with front-end and back-end separation. The front-end uses VUE and the back-end uses Spring Family Bucket. We used pig4cloud as the basis and made some modifications where inappropriate. It has some characteristics: it uses a universal printing solution, and the front-end js directly controls the printer printing (such as sample labels), and does not rely on a specific manufacturer's receipt printer; it uses WebRTC to control the high-speed camera, and does not rely on the high-speed camera of a specific manufacturer. SDK; the backend has several threads connected to the camera (HIK)/face recognition terminal (HIK)/electronic balance, which can directly capture camera photos/receive face recognition messages (websocket)/sample weighing messages (websocket) at the front end .
-
In recent years, the government has attached greater importance to anti-drug work and invested relatively heavily in anti-drug control. Some potential customers (anti-drug departments in some places) have expressed interest, but due to the economic situation, many customers' projects have been postponed. With the future uncertain, everyone decided to break up after discussion.
-
-
I took the architect exam at the end of 2022 and the analyst exam in May 2023. In fact, I took the senior programmer exam when I was a junior in college (1988). It was the first unified exam in the country. I originally thought that the software exam would be useless if I didn’t join the system, so I didn’t take the exam again. In August last year, a colleague planned to take the project managment examination, and encouraged me to think about taking the exam as an analyst. I used to think that "system analyst" was the ceiling for the career of a programmer. I looked online and found that analysts are only available in the first half of the year, so let’s take the architecture test first. As a result, I got two certificates.
I am in good health and have fitness habits. I used to go to the gym, but then the gym closed. I started practicing at home (Monday to Friday). On weekends, I usually go hiking with a group of friends (stream tracing in summer/caving in winter, etc.)
Although I can start receiving retirement pay at the age of 60, I plan to work until I am over 65, so I should still have about 10 years of working time.
I hope to find a job locally in Guiyang, China, or remotely.
Most things in the computer field, whether hardware or software, technology or management, can be done. It will be faster to get started in familiar areas, while unfamiliar areas may take some time. I can lead a team to guide others, or I can directly coding on the front line.
If you have suitable job opportunities, you can call me directly at +86 18985041403, Twitter: @BD8NCF, or mailto:
Page 8 of 10