In order to interconnect both systems with each other, having a “dynamic sensor measurement input” sounds just perfect. Would this enable us to just send over a bunch of data encapsulated in a flat dictionary or such?
yes, Beep and Kotori are currently running on our server at Uni Bremen.
Both, Kotori and Beep, use InfluxDB as database for the measurements and differ only in the structure of the tables.
Currently Beep reads the data from a database called bee_data and a single table sensors. All entries have the fields time, value and the tags key, name. The key can be configured in the Beep frontend and has to be a unique string. The name of the sensor should be one of the field names from the second link in your post.
As far as I understood these field names correspond to the units/labels that are displayed on the frontend.
Indeed you can dynamically enter new sensors in the Beep back-end. By using the "abbreviation" field as the "value_name" connected to a "value", you can post your data to the Beep API by using a POST to [url]/api/sensors with a body like:
apologies for getting back so late to this after initiating our discussion about the integration work some time ago already. I was too optimistic to be able to start the work on that back then, but different things have been able to acquire more attention, some of them might be reflected in the forum while some other things have been happening beyond Hiveeyes and BOB.
Introduction
Finally: Thank you so much for your valuable information and good to hear that
As I already had imagined, we would have two ways to integrate the Kotori DAQ system with the Unified Beep system, right?
Alternatives
Make Kotori store the measurement data to an InfluxDB database structure like implemented by Beep to enable Beep directly reading from there as outlined by @vinz.
Make Kotori forward the measurement data to the designated Beep HTTP data acquisition endpoint as pointed out by @iconize.
Reasoning
The most prominent question which comes to mind: Would you prefer one way or the other to integrate both systems with each other? While saying that, these are my thoughts:
Personally, I will be happy to implement both ways.
The second variant (»Make Kotori forward the data to Beep«) would store the data redundantly, so we will have to account for doubling of the storage size. However, as the discrete telemetry data isn’t very dense compared to audio storage, the additional storage cost will probably be neglectable. On the other hand, this would make both systems run independently from each other – the integration would be loosely coupled then. Personally, I would consider this a good thing.
Besides the basic question, there are obviously more nitty gritty details to probably care about, like how to address multi-tenancy, authentication and associated things.
I’ve also heard from @caro that you might have been able to integrate both systems already – or did I get that detail wrong?
Bottom line
As I’m a more talkative guy and speech is way more dense than written text, I would like to be able to give both of you a call during the next days. Would you be available for that?
Otherwise, please let me know whether you might have solved all things already or if there are other or leftover things you would like to have addressed by me.
mit @vinz haben wir besprochen, dass der Weg, die Daten optional/wahlweise/parallel direkt vom Meßknoten aus an beide Systeme zu senden, einfacher ist, anstatt die Systeme im Backend miteinander zu verbinden.
Wir würden den entsprechenden Code zur dynamischen Übermittlung der Meßdaten an das Beep System dann kurzerhand zur Telemetrieeinheit hinzufügen, um damit eine weitere Übertragungsvariante zu implementieren.
Wir hoffen das ist genau so im Interesse von BOB, da wir dieses Thema damit pragmatisch lösen können. Schließlich gibt es anderswo noch genug andere Baustellen auf dem Weg.
ich wollte hier nochmal nachhaken, ob das so wie oben angesprochen in Eurem Sinne ist. Für das nächste Release der Firmware wäre dann auch der Beep Adapter vorgesehen.
Hi @Andreas, bei mir kam das über @vinz als beschlossene Sache an. Er hatte das genau so formuliert wie du: ihr habt darüber gesprochen und habt euch für jetzt auf diese pragmatische Lösung geeinigt. Für die Zukunft wünschen wir uns alle und arbeiten an einer “Beep Adapter”-Variante.
we are happy to share some updates with all of you.
Summary
While the software for the
RaspberryPi-based datalogger [1] was able to put measurement data into CSV and publish it using MQTT to the Hiveeyes backend
and the
MicroPython-based datalogger [2] was able to put measurement data into CSV and publish it to the Beep platform,
the
also MicroPython-based datalogger software [3] we just recently tried to push forward is now capable to publish data both to the Hiveeyes backend using MQTT or HTTP as well as to the Beep platform using HTTP. However, it is still lacking the functionality to store or buffer data into locally attached storage using CSV or other serialization formats.
While this does not happen interactively there yet, we are looking forward to the next steps to conclude together with @vinz
However, the datalogger software is already pretty much usable on its own even with manual configuration, so this might spark your interest or from some people you gathered around BEEP in the meanwhile.
Hi @Andreas and everybody,
thanks for your posts and your work! I’ll try to set it up on my FiPy during the next days. Maybe we can have a phone call about how to merge the repositories next week? I think @vinz is busy preparing for exams…
Cheers,
Diren
Hi @Diren,
If @vinz have no time, i can try. I have worked a litle bit with Angular cli ,at last Time. @Andreas think that Framework work on FiPy, too.
I think that would be dificult for me.
Because some funktions we need, that i have never used.
If @vinz say he can make in the next time, or he worket on.
I don’t try.
I do not wan’t to destroy his work.
Appreciate it. Thanks also for all your hard work on making the whole Bee Observer thing possible.
Good luck [1]. We will be happy to help if there will be any obstacles. As it seems to have worked for @clemens, @MKO and @waggi already – even on Windows(!) – I am confident we can make it work on your machine as well. Which operating system are you running actually?
We just found the canonical README file does not guide newcomers appropriately yet. In order to make things more clear, I would like to point to these three pieces of documentation which might work for you when following them along. Otherwise, please don’t hesitate to ask.