C++ sending data to a Laravel REST api
There are 2 system. 1st ATG (Automatic tank gauge) and 2nd the pumps. Atg’s are used to measure the amount of fuel (Diesel or Petrol) in a tank. There are several settings that makes these readings accurate. The system is completed to a point where the readings are saved as a c++ record file. This needs to change to csv. Secondly the atg service needs to read settings changes from the web api service and update the current settings file. Every CSV with readings in needs to be pushed to the web service. Each attempt to push needs to be logged. If a attempt to communicate fails the service will just re attempt on the next reading. The service currently generates 100 readings and will take the average over these readings. This will then generate a datetime, liters, height etc record that needs to be send to the wep api. Attached is the current source.
Port, cm, liter, date, time
4, 23.3, 5100, 2016-06-10, 11:15
Secondly is the pump. This is more work as there are a lot of functionality still missing. The pump will measure the amount of fuel that passes through the pulser. The pulser is a device that measures flow. The pump has several authentication modes. The authentication mode is settings to determine if a pump will start or not. These are Attendant Tag, Vehicle Tag, Job Tag, Attendant PIN, Odometer reading. There is a single file where these will be listed if any one of them should be used. If attendant tag is listed the attendant tag file needs to be compared with the rf tag being presented to allow or not fuel. eg 721874189,0 means tag 721874189 is allowed 0 liters or 721874189,-1 is unlimited and 721874189,10 is only 10 liters. As is the same with vehicle and Job. The odometer reading is just on / off and the pin file would be similar to the attandate file except for each tag will be a pin except if there is no tagging for attendant. So either 721874189,1234 or ,1234 Tag,Pin. If no tag is present the just verify pin. The resulting transaction file will then have the date, time, liters, attendant tag, vehicle tag, job tag, odo, pin.