I'm need a code for ESP32 where data has to be acquired from sensors (without errors and any spurious signals has to be ignored) and sent to the cloud server.
Using ESP32 Wroom, the pinout is free to be used, an oLED display is to be added, working in the same bus as the other I2C devices. (Pin 4 and 15 on ESP32 Heltec for example)
Data read from the sensors has to be double-checked before sent to the cloud server, to see if it is in the expected range of that sensor, let's say humidity from 0-100%.
When there is I2C protocol more than once, (SHT31 sensors) different sensors numbers in the bus, should be used.
Read Temp with One Wire protocol (DS18B20 sensor)
Read light intensity from LDR (analog)
Read light intensity from LDR with I2C protocol.
Display oLED 0.96" - Every time a new read is done, data is to be displayed in the display (which should have all the data displayed at the same time)
The data should be stored in an SD card, and storage management should be implemented where when the SD card is almost full (Let's say 80%, it cleans up older data to receive new data)
Data from each sensor after reading and parsed will be sent to a specific topic in an MQTT Broker which is ready to receive the data, the connection is done via IP, client ID, Login and Password.
All processes in the have to be managed with interruptions, DMA and the usage of both cores available in the ESP32. (If FreeRTOS is needed, feel free to implement, but I don't want to pay more for it)
There shall be a watchdog with 3sec where it restarts the system if it doesn`t respond.
The Wi-Fi connection should have a "Setup" mode when pressing a specific button for a certain time (Lets say GPIO0 HIGH for a certain time)
(Here I am willing to have some ideas on how the Wi-Fi can be setup for the first time in the product)
After the Wi-Fi is connected, the MQTT server connection has to be implemented, this MQTT connection has to be checked before every time data is trying to be sent to the cloud server. (Publishing)
I have a month or two to develop the project.
I do not have a budget for this project, I repeat, I do not have a budget for this project, I’m looking for quotes, so please state your price, time, which tools you will use, so we can have a direct conversation with no going around in circles.
A version with a battery will be later developed so the take in mind that the system has to be scalable to a battery management system where it will sleep for a certain time (15min) and wake up, do the measurements and transmit to the cloud. Therefore battery management will be needed in the future also.
The code should be fully commented, documentation for the project is needed, (Connection in between sensor and MCU, schematics, protocols used, block diagram and following the basic standards of software engineering.
Feel free to ask any questions.
16 freelanceria on tarjonnut keskimäärin 291$ tähän työhön
Your project wasn’t clear enough, I suggest to use deep sleep while sensors still doing measurement. Actually this project easy but have different complexity.