The array of Device objects is being updated with the data from MQTT. Presently, all devices (the 51 logs) are being stored as a test. This will then be used to display dots on the map. The console shows 50 Devices added to the array, not 51, however forever list verifies that 51 devices of loglooper are running. There’s an off-by-one error somewhere, and that has to be debugged. Currently the latitude and longitude are being sent in separate messages. They will need to be combined into one message, to make search faster for seeing if that coordinate is displayed on-screen or not. That will let us keep in memory only what is needed to be there! Next step is debugging, display of all the dots on the map, then refactoring the lat & lon messages.
There’s now a dot being displayed on the map corresponding to the data received through MQTT on the AWS server. The loglooper of Bowie’s data, which sends the MQTT messages, is running continuously on the AWS server too. There was a minor change in the topic structure. Now the sensor value falls under air, water, or soil. The number of data points in each of those topics will be added to a counter which will eventually be displayed along the bottom of the page. The next step is to find a better data structure for multiple devices. The data structure should be chosen with the future possibility of dynamically loading / unloading based on the map position. After this, will be prototyping and testing sending data from an IoT device *live* in the field.
Derived a python program from convert_data.py to loop through an already processed Bowie log file, called loglooper. When it processes a line, it also sends the data to the MQTT broker. There’s a 1 second delay per line. The server was able to receive the data perfectly. The next step was to try to get this program to run continuously using nodejs forever. Originally encountered some difficulties related to the spinSleepTime and minUptime, which were changed from 1000 ms to 5000 ms. It’s now working continuously with forever. The next step will be to receive the data on the map and draw a dot. As well as transferring the python loglooper to the server to run on AWS.