-
Notifications
You must be signed in to change notification settings - Fork 17
Connected Systems Showcase Examples #792
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
apoteau21
wants to merge
374
commits into
opensensorhub:master
Choose a base branch
from
apoteau21:ashley-add-consys
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…nsorhub#549 (opensensorhub#556) * Format code * Add support for label outlineColor & backgroundColor into CesiumView * Update example and doc according to new changes
opensensorhub#542 (opensensorhub#559) * Fix rgba deckgl function in case of the str is already a rgba array * Add support for subscription event * Add new time event * Update TimeController using new dataSource subscription call * Update all demos/showcase using new subscription way * Add some documentation about subscription
* Merge (rebase) with latest dev changes * - Fix the ffmpegAudio decoder by waiting the initialization of the emscripten module - Add support for raw audio input by bypassing the decoding * Fix parsing and time mismatch in TimeChartVisualizer * Mod data source to test time controller with Raw Audio format * Rebase conflict fixes * - Fix the ffmpegAudio decoder by waiting the initialization of the emscripten module - Add support for raw audio input by bypassing the decoding * Added audioRaw time control showcase example * Fixed a few more issues from merging with dev * Added new thumbnails for audioRaw showcase examples * Update audioRaw examples; added conole.log to AudioView and parsers to show sequence of packet parsing and setData calls * Changed URLs to point to GCP server * * Fix bug while using batchMode & synchronizer. Disable the optimization while a datasource gets disconnected * Compute deltaInc depending on lastTimestamp instead of audioBuffer duration * Add some buffering for audio replay + use datasynchronizer * Add frequency property to the AudioView to display values at a specific maximum frequency * Improve display frequency calculation * Implement support for MAGIC_PACKET when a data ends in the same stream * Add log after getting magic packet * Remove Magic packet * Improve Audio data visualization * Reduce visualization to 10Hz * Fix problem while resetting the AudioView Co-authored-by: TheRestOfMe <tony@opensensorhub.org>
* Add some classes * * add collection * add HttpConnector * add system datasource parser and use it into Utility class * parse data into collection for paging model * add asynchronous way * Does not call fetchData first into Utility class. Collection has to fetch the first data in the first nextPage() call * * Add observation: parser, filter, observations & observation * Add datastream: parser, fitler, datastreams & datastream * Change way to return object into Collection * create the connector into super class SensorWebApi.js * Add getSystemById to existing Systems class * Add System class: searchDataStreams & searchSubSystems * Change way to create Model object: Observation, DataStream, System by setting properties into properties attribute of the object * Add support for Foi * * Add WebSocket support to stream data * use 2 connectors to create Utility classes: info & stream * Use JSON parser into callback WS function * Add Vue.js demo to demonstrate the SensorWebAPI. It is a dynamic exploring TreeView * Improve client to add observation Explorer using WebSocket * Fix mqqt after refactoring * * A API route into a uniq conf file * Update architecture to support MQTT as well as WS to stream data * Use parser before callback data. Parser is dependent on the protocol (MQTT needs a different parser because the JSON output is different) * Revert and dont use parser into utility class directly * - Re-architecture some core components such as Connector, parser etc. - Use HttpConnector instead of Ajax one - Use do request instead of connect() to make a request - Create SensorWebApi Datasource and override default createConnector & onMessage to use Collection - Bypass DataSourceHandler onMessage & connect system - Add default pageSize to 10 - Change buildUrl to build the url from properties into the connector instead of building it in the parser - Use Collection to return data from DataSource, bypass batch processus * Add specific datasource to handle Datastream observations * - Add specific MQTT SensorWebApi handler to handle MQTT connector - Modify connector handler logic to accept the creation of worker & connector in a async way in order to load dynamically the MQTT module (to avoid installing mqtt.js when we don't need it) * Fix HttpConnector async request * Map DataSource properties to corresponding api filter * Re-design the whole DataSource, TimeSeriesDataSource, DataSynchronizer, Handler and worker classes in an asynchronous way using promise and async. The main goals are to remove the try()..setTimeout() workaround and to add some logic to wait until components are initialized by the webWorker. Thus, the WebWorkers send back a message to validate that the action has been executed successfully. * Wait init outside from the Promise * various minor fix * * Move MQTT classes into core * Add TLS option to DataSource * Improve the way to handle MQTT protocol within SensorWebApi datasource * Improve how to create specific parser depending on protocols * Fix default HTTP protocol for standard SensorWebApi routes and use WS/MQTT only for streaming * Move MQTT protocol into core * * Make SensorWebApi generic for stream & Get request. * Use dynamic import only for MQTT protocol * Add support for HTTP stream collection * * Update the MISB demo using SensorWebApi * hanlde webpack issues using MQTT (not resolved yet!) * Add support for replaySpeed into SensorWebApi DataSource * Minor fix into DataSource to wait init before calling is-connected() * Add separate SensorWebApiVideo datasource (for streaming) * Add separate SensorWebApiJson datasource (for streaming) * Try to handle different response format (binary & json: not finished) * Add common Video Parser between SosVideo and SensorWebApiVideo * Fix TimeController issue calling this.id instead of id in the template part * Comment for now the MQTT calls * Pass directly filter into Collection object instead of QueryString * * Fix ResponseType for HttpConnector * Fix wrong TimeDataSource initialization causing datasource not working w/o synchronizer * Add SensorWebApiFetchVideo datasource * Add SensorWebApiFetchJson + SensorWebApiFetchStream JSON parser * Fix startTime/endTime for SensorWebApi Datasource (was using phenomenonTime but not compatible with current architecture. Make the request with phenomenonTime as query attribute using filter instead) * Fix problem with dataConnector creation while updating time range, needed to add new abstract updateAferCreatingConnector() method to call from subclasses * Add new showcase example using 4 videos using SensorWebApiFetchVideo and synchronizer * Does not return promise from HttpConnector anymore * Fix Synchronization due to ASYNC order not waiting correctly when calling mulitple times connect() (therefore init()) function. The idea is to block on init function using the same Promise, even it's already solved.This works because we can register multiple callbacks to a promise and they run either after it resolves or, if it's already resolved, at the time of attaching the callback. * Fix async Collection due to recent changes * * Use searchObservations for HTTP streaming * Use arrayBuffer as default response for internal parsers * Fix use of HTTP/WS into the sensorwep demo * * Improve sensorwebapi demo by splitting into component * Add dynamic import for MQTT protocol * Add support for HTTP paging into the sensorwebapi demo * Change Collection implementation to not store already fetched data. * Add component cache to not fetch data already fetched * Update JShint to es8 * * Refactor SensorWebApi into SweApi * Use custom parser into searchObservation to display the whole content * Fix new JSHint errors * * Refactor SensorWebApi into SweApi * Use custom parser into searchObservation to display the whole content * Fix new JSHint errors * * Fix showcase examples after refactoring * Use TextDecoder for SosFOis to decode large String input. * Use SweJsonParser to parse system details * Improve Mqtt architecture client & dataSource and fix MqttProvider to send back data as arraybuffer * Update showcase examples using new classes * Rename sensorwebapi into sweapi * Try to load cesium with webpack 5 & mqtt * Fix webpack 5, cesium & mqtt.js * * Improve SweApi datasource architecture * Use MQTT as supported protocol into DataSourceHandler * Remove specific MQTT datasources, parsers and workers * Update corresponding demos/examples * Add binary swe video * - Update JSdoc - UPdate Vuepress doc * Add vuepress doc
… This needs to be handled differently, using time-changed for example
…ncies to fix 'Invalid String length' error while building the vuepress site
- Add new property labelScale to PointMarkerLayer - Add support for labelScale into the OpenLayerView - Add support for labelColor into the OpenLayerView - Add support for iconScale into the OpenLayerView
* Add tasking to SweApi * - Add mqttEndpointUrl - rename stream property into streamProtocol - add JsDoc to parent SweAPI class * Fix Mqtt utility parser * - Fix Mqtt utility parser - Parse data into SweApi stream functions before callback - add new tasking showcase example - Use application/json by default instead of swe+json - Fix missing Http default protocol into SweApiFetch - Callback result property into SweApiFetch in case of observations streaming - Fix Swe Json parser to accept application/json by default * Add showcase tasking example * Fix layout showcase example * Add tasking screenshot * - add generic Swe Json parser to return the whole record - use generic Json parser into SweApi demo - use generic Json parser into Mqtt utility showcase example - fix consistent problem between the result of a record from the SweApi utility class and Datasource. - add missing status CONNECTED into MqttConnector * - use generic JSON parser into SweApi result * Add tasking Vuejs demo
…dd-consys # Conflicts: # showcase/examples/predator-uav-location/predator-uav-location.js # showcase/examples/spot-6-marker/spot-6-marker.js # showcase/examples/uav-bounded-draping/uav-bounded-draping.js # showcase/index.js
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changed showcase examples to use Connected Systems API.