Is there a place where I can find the source code of Fiware IoT Stack? ( https://catalogue.fiware.org/iot_stack)
Fiware IoT Stack is available at github, here.
The FIWARE IoT Stack is composed of several pieces, e.g. IOTAGents, Context Broker, etc. You can find source code at the FIWARE organization at Github: https://github.com/fiware
Note that some repositories there are actually "mirrors" or the right ones in other place. For intance, https://github.com/Fiware/context.Orion is a mirror of the actual Orion Context Broker source code repository at https://github.com/telefonicaid/fiware-orion
Related
Can https://volttron.org/ be used as a 'protocol translator gateway' software which can take data from PLC over BACnet/Modbus and can forward it to Azure IoT hub?
Where can I get demo for Volttron? I am new to python and unable to understand the code present related to Volttron. Office hours videos present on Volttron sites are not indicating if Volttron is a choice for my scenario shown in the image.
Please guide/help. Thank you.
Yes, VOLTTRON can be configured to retrieve bacnet traffic. The picture you have drawn can be accomplished.
See
https://github.com/VOLTTRON/volttron
And
https://volttron.readthedocs.io/en/main/
For instructions on how to use the platform.
In the picture volttron could actually be in either the PLC Controller (assuming it has enough capabilities) or the protocol translator gateway or both. There is an mqtt facility in VOLTTRON to do the last step to the Azure IOT Hub as well, though it has not been tested with that interface.
I'm new to Knowage and Fiware ecosystem, I'm building a dataflow to store context data in Orion and to persist these data to HDFS through Cygnus. Now, I'm experimenting to connect Knowage to my Spark/Hadoop env to visualize and analyze these data, but I'm having a lot of difficulty configuring the correct jars for the Hive2 JDBC connector. I'm using the knowage:8.0 docker image, retrieved from docker hub, and I noticed that in $(TOMCAT_HOME)/webapps/knowage/WEB-INF/lib there aren't the connectors to Hive/Hive2/Spark, so I supposed to manually put them there, but It's being really struggle...
My question, is it possible in any way to connect Knowage Community Edition to any BigData source? I read this on documentation, in the section about Big Data and NoSQL (https://knowage-suite.readthedocs.io/en/master/administrator-guide/configure-data-sources.html):
"Please note that these connections are available for products KnowageBD and KnowagePM only."
I tried with different versions of hive-jdbc, but always get the same exception:
Caused by: java.sql.SQLException: Method not supported
at org.apache.hive.jdbc.HiveConnection.isValid(HiveConnection.java:1018)
at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:916)
at org.apache.commons.dbcp2.PoolableConnection.validate(PoolableConnection.java:282)
at org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:362)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2340)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2323)
... 50 more
Here the popup message from Knowage UI: https://i.stack.imgur.com/UUIDB.png
I have two type of devices one support IoT JSON agent and another Ultralight Iot Agent. What approach is best should i used both IoT agent separately or there is something like IoT manager. What in future i have another device which support another IoT Agent like LoRaWan .
I have tried IoT manager but could not understand it is only for device provisioning or actual device data transfer also.
IoT Manager acts as a proxy for actual IOTAs, so depending on some parameters in the request (I don't remember exactly which ones, but they should be described in the IOTAs documentation) redirects the request to one or another IOTA agent.
But of course, you can implement this proxy using another piece of software (e.g. ngix with some king of URL-based or port-based redirection) if you want.
I'm trying to help a customer connect their Mosquitto bridge to Azure IoT Edge. They have some legacy equipment that speaks MQTT, but because it can't do TLS and the topics can't be changed, we are trying to run the messages through the Mosquitto MQTT Broker, and over to IoT Edge via the Mosquitto bridge...
I've had no problems getting the actual connection made from the bridge to IoT Edge and I have messages flowing to the bridge. That connectivity works fine. The problem comes in the topics. I really can't change the topic structure that the client publish on. However, IoT Edge requires messages to be published on a specific MQTT topic (devices//messages/events). Where device_id is the name of my broker, let's say 'mymqttbroker' just for fun.
So, what I'm trying to do is to take the messages that some in on pretty much any topic, and resend those messages through the bridge on the devices/mymqttbroker/messages/events topic to IoT Edge.
I know the topic line in the bridge config has the remote_prefix and local_prefix parameters, but that won't cut it. Per this article, it says you can't do this..
"E.g A broker would receive messages to topic sensor1 and remap them to new_sensor1. Currently this form of remapping is not available,"
Any idea how to do something like this? is it possible? Essentially, is there any way in the bridge to accept messages from any topic, and republish them on a specific fixed topic?
The quick and dirty way is to write a little helper app that subscribes to the old topics and republishes to the new topics, then just bridge the new topics.
It does add another point of failure, but it's the only option for mosquitto.
If you are not wedded to mosquitto, you can build your own custom broker with something link mosca and add the remapping into the broker.
I have been trying to set up a working crate cluster on Giant Swarm for quite a while now but haven't been really successfull so far.
Here are my attempts so far:
Using multicast and deploying crate as a single component. This works if all instances of this component end up on the same host, unfortunately this isn't reliable.
Using unicast with two components, which each expose port 4300 via url. This results in messages being received by each component in the discovery interval ( every 30 secounds by default ). Unfortunately Giant Swarm only supports HTTP on its urls, so all messages that are error messages from something other than HTTP being sent by the component.
Using unicast with two components and trying to discover them via their IPs. I set up Giant Swarm dependencies from one component to the other (circular dependencies are not supported). I can't get this to work because Giant Swarm doesn't allow me to run scripts before the docker container is created ( which is used in this blog post to run crate on the google cloud platform ) and docker does not support bidirectional linking.
I am out of ideas at this point, is there something I am missing about either crate or Giant Swarm? The only example I saw so far of something similar working was the blog post I linked above and it uses a mechanic I cannot use on Giant Swarm.
I would appreciate any kind of input on how to make this work or ideas leading in the right direction.
The current (May 2015) answer is: On a private Giant Swarm cluster, which we provide to customers on request, we support Multicasting. So the road is paved there for Crate.IO clustering.
We use Weave for the networking part.
Edit September 2015: We just published a blog post explaining how to set up a Crate cluster on Giant Swarm.
I'm sorry to say that it is not possible to deploy a Crate cluster (>1 node) on Giant Swarm at the moment (due to reasons you've mentioned). We (Crate.IO) are already in contact with Giant Swarm regarding that.