ESP32/ESP8266: high precision location detection
Pago na entrega
we look for a hardware specialized mate with good expertise on developing high preceise positioning detection via ESP32 or similar.
Goal is to use as much as possible details to identify the position of the device. Ideally a few cm of positioning accurancy.
- knowledge how to identify high precise position via as much as possible different satelite systems
[login to view URL]
- knowledge how to identify fastly the current position via GSM/LTE positioning
- very high knowledge on RTK, AGPS, DGPS, RTCM 3
- very high knowledge on ESP prototyping
The current idea is to use ESP8266/ESP32 based devices, along with central managed solutions.
- identify the current device position as accurate as possible, preferable a few cm
- provide well documented code
- send position details with accurate time, accuracy of position via MQTT to MQTT server
- positions are stored on device in the case no internet connection available
- on having connection all "old" stored data are transmitted first and then current data is sent
- schedule of position detection can be configured in seconds
- schedule of deep sleep of ESP can be configured in seconds
- solution shall be highly energy conserving, since in later phases it will run on battery and optionally on additional solar power for charging battery. So you require to consider sleep, deep sleep modes and the corresponding scheduling of the modes
level of discussions expected:
Ideally you already have implemented such a solution. The solution is working and you could demo.
What we require:
- you can offer us that solution with specific hardware
- you let us know the benefits compared to our requirements
- you let us know the drawbacks compared to our requirements
MS1 - phase idea:
provide schematics and components of your currently existing solutions.
We would require the list of components and the brief wiring (simplified schema)
based on this we want to evolve to equal or better solution.
MS2 - phase concept papers:
goal to define required hardware for:
- compute / GPIO module (e.g. ESP32)
- GPS module (e.g. Geekstory BN-220)
- matching possible external antennas (active/passive) to increase accuracy
- LTE module (for later milestones)
- research for ideal hardware (ESP and positioning)
- provide a Excel with the decision parameters
- provide your hardware recommendations based on the decision parameters
- power supply for MS2, MS3 shall be USB powersupply to be easy able to replace/charge power banks, along with choosing usb plug for mobile tests
examples for the Excel:
product; product type; sensitivy GPS; sensitivy GLONASS; sensitivity Galileo; sensitivity ...; cold start time; energy during cold start, energy in hot standby, ...; description; hints; your experiences ; ...; expected accuracy internal antenna; expected accuracy external passive antenna, expected accuracy external active antenna, energy during active antenna usage. Here some sample rows:
Geekstory BN-220; GPS receiver; ...
Seamuing GT-U7; GPS receiver; ...
MS3 - phase breadboard prototyping:
do a solderless, breadboard based wiring (or similar efficient) prototype, which wires the previously chosen components & modules to a functional prototype.
Provide us the BillOfMaterial (BOM) also for the same with documentation how to setup, so we can do same tests locally here. E.g. provide a video of your setup to be able to rebuild locally
send us a set of functional breadboards to our location for in depth tests.
MS4 - phase firmware/software development:
- implement position detection based on GPS only in own function/method
- implement position detection based on the other position systems (GLONAS, Galileo, ...)
- do the same for other maybe available options available on the choosen hardware
- each function shall be callable independently to be able to test the different accuracy in a proof of concept later
- write into local csv style file and or send to a http/ftp server as a upload (whatever is more efficient to access later from any host)
- share code into our git
- share how to flash the prototype as readme or video or via a mutual video-session
MS5 - phase firmware/software development high preceision:
- implement position detection based on DGPS in own function/method
- implement position detection based on other similar solutions like DGPS or combined meassuring of multiple location services
MS6 - phase prototype tests on real environments:
we do local tests e.g. testing about the precision of the tracking
We may require here changes on the progress.
MS7 - enhance firmware/software for field later field tests:
- use results of MS3 functions and store them in local persistent buffer (suggest best approach)
- read regularly (configurable schedule) the buffer and send via default MQTT over TLS, and configurable without TLS (must explicitly defined to use unsecure path).
- Remove message from buffer on success MQTT sending of it
MS8 - phase preparation for serial production:
- provide full detail schematics of the previous prototype
- provide full BOM
MS9 and later:
if you have experiences with circuit board layouting, we would also award you the electronics design for a fully running hardware, which includes
- battery power supply
- optional USB Port supply
- solar panel supply
- external antenna connector
- schematics and circuit board design of all mutally agreed things
- selecting or designing the waterproof case with waterproof connectors
- help with your suppliers for implementing the "zero series" on circuit and PCB assembly
- help on suppliers for the finishing, means PCB, components, solar into one ready to use device
- best practices with IOT
- best practices with software engineering (buy or build)
- well documented code by the means of the programming language
- best practices with hardware engineering (buy or build)
- suggested by checking current market, especially open source
Your background is:
- multiple years of experience with IOT
- multiple years of experience with ESP solutions
- multiple years of experience with integrating multiple IOT devices into a simple to use UI for end users
If you are a good fit, you are open to assign more tasks about implementing solutions fully on your own (e.g. with your team)
will not be disclosed, place your best bid to get considered
What is next?
We will share you a NDA and afterwards a paid test task.
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- you implement, test and deliver
- you provide also unit /integration tests to ensure code is always working
- you document each required step to make interaction of systems to work
- we test on our premise (you maybe help to fix issues)
- we pay
(basically the rules of freelancer)
Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task.
=> We are sorry we will not hire you in such a case!
- in our on premise git (access will be granted to you)
- full sources
- full description how to build the sources as binary
- integration into CI
- full description how to flash the devices
- full description / video how to setup the hardware in a prototype state on our end
- libs, need prior confirm and we prefer to use mostly latest stable versions
- your solution has to work on our end, so you will help to make it up and running e.g. via video calls or via remote desktop accesses
- provided or fully documented steps to start servers as the docker container, if prior agreed as also virtual machine possible
ID do Projeto: #37229963