├── .dockerignore ├── .gitattributes ├── .github └── workflows │ ├── main.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .readthedocs.yaml ├── .travis.yml ├── CONTRIBUTING.ja.md ├── CONTRIBUTING.md ├── CREDITS ├── FogFlow-Entity.pdf ├── FogFlow-Individual.pdf ├── LICENSE ├── README.ja.md ├── README.md ├── application ├── README.md ├── device │ ├── awning │ │ ├── awning.py │ │ └── profile1.json │ ├── camera │ │ ├── camera.png │ │ ├── camera.py │ │ ├── profile1.json │ │ └── test.jpg │ ├── camera1 │ │ ├── content.png │ │ ├── fakecamera.py │ │ ├── profile.json │ │ └── requirements.txt │ ├── camera2 │ │ ├── content.png │ │ ├── fakecamera.py │ │ ├── profile.json │ │ └── requirements.txt │ ├── homegateway │ │ ├── acoustic.py │ │ ├── alarm.mp3 │ │ ├── button.py │ │ ├── profile-homeB.json │ │ ├── profile.json │ │ ├── sos.mp3 │ │ └── speaker.py │ ├── hopu │ │ └── register.sh │ ├── lamp │ │ ├── README.md │ │ └── lamp.py │ ├── powerpanel │ │ ├── README.md │ │ ├── ngsi │ │ │ └── ngsiclient.js │ │ ├── package.json │ │ ├── powerpanel.js │ │ ├── profile1.json │ │ ├── profile2.json │ │ └── profile3.json │ ├── rain │ │ ├── profile1.json │ │ └── rainsensor.py │ ├── raindetector │ │ ├── profile1.json │ │ ├── rain.py │ │ ├── rain2.py │ │ └── start_rain_sensor.sh │ ├── smartindustry │ │ ├── build │ │ ├── button.json │ │ ├── button.py │ │ ├── camera.json │ │ ├── camera.py │ │ ├── crontab │ │ ├── dockerfile │ │ ├── motor.json │ │ ├── motor.py │ │ ├── start.sh │ │ └── stop.sh │ ├── startDevices.sh │ ├── stopDevices.sh │ └── surveillance │ │ ├── content.png │ │ ├── fakecamera.py │ │ ├── profile.json │ │ └── requirements.txt ├── lib │ └── nodejs │ │ └── ngsi │ │ ├── ngsiagent.js │ │ └── ngsiclient.js ├── operator │ ├── GeneralPurposeAdapter │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── build │ │ ├── function.js │ │ ├── gpadapter-config.sh │ │ ├── main.js │ │ └── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ ├── Health_Alert_counter │ │ ├── build │ │ ├── dockerfile │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── IoTAgentJSON │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── build │ │ ├── function.js │ │ ├── iota-config.sh │ │ ├── main.js │ │ └── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ ├── LDanamaly │ │ ├── anomaly-conf.json │ │ ├── build │ │ ├── commands.json │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── LDcounter │ │ ├── build │ │ ├── dockerfile │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── NGSI-LD-Adapter │ │ ├── Dockerfile │ │ ├── LICENSE │ │ ├── README │ │ ├── __pycache__ │ │ │ └── logging.cpython-35.pyc │ │ ├── build │ │ ├── function.js │ │ ├── main.js │ │ ├── module │ │ │ ├── __init__.py │ │ │ ├── common_utilities │ │ │ │ ├── LogerHandler.py │ │ │ │ ├── __init__.py │ │ │ │ ├── config.py │ │ │ │ ├── rest_client.py │ │ │ │ └── user.py │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ ├── check_config.py │ │ │ │ └── config.ini │ │ │ ├── consts │ │ │ │ ├── __init__.py │ │ │ │ └── constant.py │ │ │ ├── data_model │ │ │ │ ├── __init__.py │ │ │ │ ├── ld_generate.py │ │ │ │ ├── metadata_jsonToString.py │ │ │ │ ├── orian_ld_genrate.py │ │ │ │ └── storage │ │ │ │ │ ├── data_file.txt │ │ │ │ │ └── log │ │ │ │ │ ├── data_file.txt │ │ │ │ │ └── logs.log │ │ │ └── main.py │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ ├── requirements.txt │ │ ├── setup.py │ │ ├── setup.sh │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── data.py │ │ │ └── test.py │ │ └── transformer-config.sh │ ├── NGSI-LD-operator │ │ ├── CropPredictor │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── cpdata.csv │ │ │ ├── cropprediction.py │ │ │ ├── croppredictor.joblib │ │ │ ├── dockerfile │ │ │ ├── function.py │ │ │ ├── main.py │ │ │ ├── requirements.txt │ │ │ ├── subscription.json │ │ │ ├── test.sh │ │ │ └── trial.py │ │ ├── HeartPredictor2 │ │ │ ├── __pycache__ │ │ │ │ └── function.cpython-38.pyc │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── function.py │ │ │ ├── heart.csv │ │ │ ├── main.py │ │ │ ├── mainexecution.py │ │ │ ├── predictor.joblib │ │ │ ├── requirements.txt │ │ │ ├── subscription.json │ │ │ ├── test.sh │ │ │ └── trial.py │ │ ├── LDface-finder │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── main.py │ │ │ ├── subscriptionCamera.json │ │ │ ├── subscriptionChildLost.json │ │ │ └── test.sh │ │ ├── LDsmartparking │ │ │ ├── LDconnectedcar │ │ │ │ ├── build │ │ │ │ ├── commands.json │ │ │ │ ├── config.json │ │ │ │ ├── dockerfile │ │ │ │ ├── function.js │ │ │ │ ├── main.js │ │ │ │ ├── ngsi │ │ │ │ │ ├── ngsiagent.js │ │ │ │ │ └── ngsiclient.js │ │ │ │ └── package.json │ │ │ ├── LDprivatesite │ │ │ │ ├── build │ │ │ │ ├── dockerfile │ │ │ │ ├── function.js │ │ │ │ ├── main.js │ │ │ │ ├── ngsi │ │ │ │ │ ├── ngsiagent.js │ │ │ │ │ └── ngsiclient.js │ │ │ │ └── package.json │ │ │ ├── LDpublicsite │ │ │ │ ├── build │ │ │ │ ├── dockerfile │ │ │ │ ├── function.js │ │ │ │ ├── main.js │ │ │ │ ├── ngsi │ │ │ │ │ ├── ngsiagent.js │ │ │ │ │ └── ngsiclient.js │ │ │ │ └── package.json │ │ │ ├── LDrecommender │ │ │ │ ├── build │ │ │ │ ├── dockerfile │ │ │ │ ├── function.js │ │ │ │ ├── main.js │ │ │ │ ├── ngsi │ │ │ │ │ ├── ngsiagent.js │ │ │ │ │ └── ngsiclient.js │ │ │ │ └── package.json │ │ │ └── build │ │ ├── NGSILDDemo │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── function.py │ │ │ ├── main.py │ │ │ ├── requirements.txt │ │ │ ├── subscription.json │ │ │ └── test.sh │ │ ├── WaterPumpFog │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ ├── alertForSpeedInNGSILD │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ └── scorpioOperator │ │ │ ├── build │ │ │ ├── config.json │ │ │ ├── dockerfile │ │ │ ├── function.py │ │ │ ├── main.py │ │ │ ├── requirements.txt │ │ │ ├── subscription.json │ │ │ └── test.sh │ ├── alert │ │ ├── alert │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.go │ │ ├── main.go │ │ └── ngsiclient.go │ ├── anomaly │ │ ├── anomaly-conf.json │ │ ├── build │ │ ├── commands.json │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── build.sh │ ├── controller │ │ ├── build │ │ ├── commands.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── converter │ │ ├── build │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── counter │ │ ├── build │ │ ├── commands.json │ │ ├── dockerfile │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── detector │ │ ├── build │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── dummy │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── face-counter │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── main.py │ │ ├── subscription.json │ │ └── test.sh │ ├── face-finder │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── main.py │ │ ├── subscriptionCamera.json │ │ ├── subscriptionChildLost.json │ │ └── test.sh │ ├── geohash │ │ ├── build │ │ ├── commands.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── homegateway │ │ ├── acoustic │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ ├── build │ │ ├── pushbutton │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ └── speaker │ │ │ ├── build │ │ │ ├── commands.json │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ │ └── package.json │ ├── nodejs │ │ ├── build │ │ ├── dockerfile │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── predictor │ │ ├── anomaly-conf.json │ │ ├── build │ │ ├── commands.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ ├── publish.sh │ ├── smartparking │ │ ├── build │ │ ├── connectedcar │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ ├── privatesite │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ ├── publicsite │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ │ ├── ngsiagent.js │ │ │ │ └── ngsiclient.js │ │ │ └── package.json │ │ └── recommender │ │ │ ├── build │ │ │ ├── dockerfile │ │ │ ├── function.js │ │ │ ├── main.js │ │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ │ └── package.json │ ├── sum │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ ├── old-dockerfile │ │ ├── package.json │ │ ├── subscription.json │ │ └── test.sh │ └── tpu │ │ ├── build │ │ ├── dockerfile │ │ ├── env.list │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── start.sh │ │ ├── stop.sh │ │ └── subscription.json └── template │ ├── NGSI │ ├── go │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.go │ │ ├── go │ │ └── main.go │ ├── java │ │ ├── build │ │ ├── dockerfile │ │ ├── pom.xml │ │ ├── readme.MD │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── fogflow │ │ │ │ └── fogfunction │ │ │ │ ├── MainApplication.java │ │ │ │ └── RestHandler.java │ │ │ └── resources │ │ │ └── application.properties │ ├── javascript │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.js │ │ ├── main.js │ │ ├── ngsi │ │ │ ├── ngsiagent.js │ │ │ └── ngsiclient.js │ │ └── package.json │ └── python │ │ ├── build │ │ ├── config.json │ │ ├── dockerfile │ │ ├── function.py │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── subscription.json │ │ └── test.sh │ └── NGSILD │ ├── go │ ├── build │ ├── config.json │ ├── dockerfile │ ├── function.go │ ├── go │ ├── main.go │ └── ngsiclient.go │ ├── javascript │ ├── build │ ├── config.json │ ├── dockerfile │ ├── function.js │ ├── main.js │ ├── ngsi │ │ ├── ngsiagent.js │ │ └── ngsiclient.js │ └── package.json │ └── python │ ├── build │ ├── config.json │ ├── dockerfile │ ├── function.py │ ├── main.py │ ├── requirements.txt │ ├── subscription.json │ └── test.sh ├── broker ├── Dockerfile4Arm ├── Dockerfile4Armv8 ├── Dockerfile_development ├── Dockerfile_multiarch ├── Dockerfile_multistage ├── README.md ├── build ├── build_k8s ├── config.json ├── main.go ├── ngsild.go ├── ngsiv1.go ├── ngsiv2.go ├── restapisrv.go ├── thinBroker.go └── utils.go ├── build.sh ├── cleanup.sh ├── cli └── python │ ├── __init__.py │ ├── fogflowclient.py │ ├── requirements.txt │ └── test.py ├── common ├── communicator │ └── communicator.go ├── config │ └── config.go ├── constants │ └── constants.go ├── datamodel │ └── datamodel.go ├── geolocation │ └── foghaversine.go └── ngsi │ ├── ngsi.go │ ├── ngsi_test.go │ ├── ngsiagent.go │ └── ngsiclient.go ├── deployment ├── docker │ ├── cloud-node │ │ ├── config.json │ │ └── docker-compose.yml │ └── edge-node │ │ ├── config.json │ │ └── docker-compose.yml ├── helm │ ├── README.md │ ├── cloud-chart.zip │ ├── cloud-chart │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ │ ├── cloud-broker.yaml │ │ │ ├── configmap.yaml │ │ │ ├── designer.yaml │ │ │ ├── dgraph-deployment.yaml │ │ │ ├── discovery.yaml │ │ │ ├── master.yaml │ │ │ ├── nginx.yaml │ │ │ ├── rabbitmq.yaml │ │ │ ├── serviceaccount.yaml │ │ │ └── worker.yaml │ │ └── values.yaml │ ├── edge-chart.zip │ └── edge-chart │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ ├── edge-broker.yaml │ │ ├── edgeconfigmap.yaml │ │ ├── serviceaccount.yaml │ │ └── worker.yaml │ │ └── values.yaml ├── helm_with_RBAC │ ├── cloud-chart-rbac.zip │ ├── cloud-chart-rbac │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ │ ├── RBAC_setup.yaml │ │ │ ├── cloud-broker.yaml │ │ │ ├── configmap.yaml │ │ │ ├── designer.yaml │ │ │ ├── dgraph-deployment.yaml │ │ │ ├── discovery.yaml │ │ │ ├── master.yaml │ │ │ ├── nginx.yaml │ │ │ ├── rabbitmq.yaml │ │ │ ├── serviceaccount.yaml │ │ │ └── worker.yaml │ │ └── values.yaml │ ├── edge-chart-rbac.zip │ └── edge-chart-rbac │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ ├── RBAC_setup.yaml │ │ ├── edge-broker.yaml │ │ ├── edgeconfigmap.yaml │ │ ├── serviceaccount.yaml │ │ └── worker.yaml │ │ └── values.yaml ├── kubernetes │ ├── cloud-node │ │ ├── broker.yaml │ │ ├── cleanup.sh │ │ ├── configmap.yaml │ │ ├── designer-pv.yaml │ │ ├── designer-pvc.yaml │ │ ├── designer.yaml │ │ ├── discovery.yaml │ │ ├── master.yaml │ │ ├── rabbitmq.yaml │ │ ├── retag-image.sh │ │ ├── serviceaccount.yaml │ │ ├── setup.sh │ │ ├── start.sh │ │ ├── stop.sh │ │ └── worker.yaml │ └── edge-node │ │ ├── edge-broker.yaml │ │ ├── edge-configmap.yaml │ │ ├── edge-serviceaccount.yaml │ │ ├── edge-worker.yaml │ │ ├── start.sh │ │ └── stop.sh └── mec │ ├── cloud-node │ ├── broker.yaml │ ├── cleanup.sh │ ├── configmap.yaml │ ├── designer-pv.yaml │ ├── designer-pvc.yaml │ ├── designer.yaml │ ├── discovery.yaml │ ├── master.yaml │ ├── nginx.yaml │ ├── rabbitmq.yaml │ ├── retag-image.sh │ ├── setup.sh │ ├── start.sh │ ├── stop.sh │ └── worker.yaml │ └── edge-node │ ├── edge-broker.yaml │ ├── edge-configmap.yaml │ ├── edge-worker.yaml │ ├── start.sh │ └── stop.sh ├── designer ├── Dockerfile_development ├── Dockerfile_multistage ├── README.md ├── build ├── build_k8s ├── config.json ├── dgraph.js ├── dockerfile4arm ├── main.js ├── package.json ├── public │ ├── Heart_health.html │ ├── LDAnomaly.html │ ├── anomaly.html │ ├── crop_prediction.html │ ├── css │ │ ├── dashboard.css │ │ ├── leaflet.css │ │ └── leaflet.draw.css │ ├── customerjourney.html │ ├── data │ │ └── shops_data.json │ ├── fogflow.ico │ ├── footer.html │ ├── function.html │ ├── header.html │ ├── img │ │ ├── Crop_prediction_topology.png │ │ ├── anomaly.jpg │ │ ├── arch.jpg │ │ ├── awning.png │ │ ├── camera.png │ │ ├── customerjourney_cdpSegmentIdentification.png │ │ ├── customerjourney_customersatisfactionindex.png │ │ ├── customerjourney_transactionsSimulation.png │ │ ├── customerjourney_wishedStoreSelection.png │ │ ├── customerjourneydigitaltwin.png │ │ ├── customerjourneyscenario.png │ │ ├── device.png │ │ ├── edge7.png │ │ ├── factory.png │ │ ├── flow-smartawning.png │ │ ├── gateway.jpg │ │ ├── gateway.png │ │ ├── heart_health.png │ │ ├── home.png │ │ ├── lddevice.png │ │ ├── location.png │ │ ├── logo.png │ │ ├── lost-child-topology.png │ │ ├── parkingsite.png │ │ ├── rainsensor.png │ │ ├── shop.png │ │ ├── smart-parking.png │ │ ├── spritesheet-2x.png │ │ ├── spritesheet.png │ │ └── taxi.png │ ├── index.html │ ├── js │ │ ├── CropPrediction.js │ │ ├── Heart_health.js │ │ ├── LDanomaly.js │ │ ├── MovingMarker.js │ │ ├── anomaly.js │ │ ├── customerjourney.js │ │ ├── function.js │ │ ├── function_template.txt │ │ ├── functioneditor.js │ │ ├── geohash.js │ │ ├── index.js │ │ ├── initialization.js │ │ ├── ldlostchild.js │ │ ├── ldsmartparking.js │ │ ├── leaflet.draw.js │ │ ├── leaflet.js │ │ ├── lostchild.js │ │ ├── operator.js │ │ ├── operatoreditor.js │ │ ├── orion.js │ │ ├── smartawning.js │ │ ├── smarthome.js │ │ ├── smartindustry.js │ │ ├── smartparking.js │ │ ├── topology.js │ │ ├── topologyeditor.js │ │ ├── webcam.js │ │ └── webcam.swf │ ├── ldlostchild.html │ ├── ldsmartparking.html │ ├── lib │ │ ├── axios │ │ │ └── axios.min.js │ │ ├── blocks │ │ │ ├── blocks.css │ │ │ ├── blocks.js │ │ │ ├── fancybox │ │ │ │ ├── blank.gif │ │ │ │ ├── fancybox_loading.gif │ │ │ │ ├── fancybox_loading@2x.gif │ │ │ │ ├── fancybox_overlay.png │ │ │ │ ├── fancybox_sprite.png │ │ │ │ ├── fancybox_sprite@2x.png │ │ │ │ ├── jquery.fancybox.css │ │ │ │ ├── jquery.fancybox.min.js │ │ │ │ └── jquery.fancybox.pack.js │ │ │ ├── gfx │ │ │ │ ├── blockFade.png │ │ │ │ ├── circle.png │ │ │ │ ├── circle_full.png │ │ │ │ ├── circle_selected.png │ │ │ │ ├── clear.png │ │ │ │ ├── comment.gif │ │ │ │ ├── compact.png │ │ │ │ ├── compile.png │ │ │ │ ├── delete.png │ │ │ │ ├── export.png │ │ │ │ ├── fade.png │ │ │ │ ├── function.png │ │ │ │ ├── image.png │ │ │ │ ├── info.png │ │ │ │ ├── inputstream.png │ │ │ │ ├── logic.gif │ │ │ │ ├── logo.png │ │ │ │ ├── logo.xcf │ │ │ │ ├── loop.png │ │ │ │ ├── math.png │ │ │ │ ├── menufade.png │ │ │ │ ├── menufadeOver.png │ │ │ │ ├── output.png │ │ │ │ ├── pins.png │ │ │ │ ├── print.png │ │ │ │ ├── scale.png │ │ │ │ ├── settings.png │ │ │ │ ├── signal.png │ │ │ │ ├── task.png │ │ │ │ ├── time.png │ │ │ │ └── titleFade.png │ │ │ ├── jquery.fancybox.css │ │ │ ├── jquery.formserialize.min.js │ │ │ ├── jquery.js │ │ │ ├── jquery.json.min.js │ │ │ ├── jquery.mousewheel.min.js │ │ │ └── jquery.svg.min.js │ │ ├── bootstrap │ │ │ ├── Thumbs.db │ │ │ ├── css │ │ │ │ ├── bootstrap-responsive.css │ │ │ │ ├── bootstrap-responsive.min.css │ │ │ │ ├── bootstrap.css │ │ │ │ └── bootstrap.min.css │ │ │ ├── img │ │ │ │ ├── glyphicons-halflings-white.png │ │ │ │ └── glyphicons-halflings.png │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ └── bootstrap.min.js │ │ ├── jquery │ │ │ └── jquery.min.js │ │ ├── ngsi │ │ │ ├── LDngsiagent.cjs │ │ │ ├── LDngsiclient.js │ │ │ ├── LDngsiproxy.js │ │ │ ├── ngsiagent.cjs │ │ │ ├── ngsiclient.cjs │ │ │ ├── ngsiclient.js │ │ │ └── ngsiproxy.js │ │ ├── nvd │ │ │ ├── d3.min.js │ │ │ ├── d3.v2.js │ │ │ ├── d3.v3.js │ │ │ ├── nv.d3.css │ │ │ └── nv.d3.js │ │ ├── sockjs │ │ │ └── sockjs-0.3.min.js │ │ └── w3.js │ ├── lostchild.html │ ├── operator.html │ ├── orion.html │ ├── photo │ │ ├── awning.png │ │ ├── camera.png │ │ ├── cloud.png │ │ ├── content.png │ │ ├── content_1x.png │ │ ├── content_2x.png │ │ ├── defaultIcon.png │ │ ├── lostchild.png │ │ ├── rain.png │ │ └── shop.png │ ├── smartawning.html │ ├── smarthome.html │ ├── smartindustry.html │ ├── smartparking.html │ ├── sound │ │ ├── alarm.mp3 │ │ └── sos.mp3 │ └── topology.html ├── rabbitmq.cjs └── schema.ql ├── discovery ├── Dockerfile4Arm ├── Dockerfile_development ├── Dockerfile_multistage ├── README.md ├── build ├── build_k8s ├── config.json ├── fastDiscovery.go ├── main.go ├── repository.go └── utils.go ├── docker ├── README.md ├── core │ ├── http │ │ ├── config.json │ │ ├── docker-compose-advanced.yml │ │ ├── docker-compose.yml │ │ ├── grafana │ │ │ ├── dashboards.zip │ │ │ ├── docker-compose.yml │ │ │ ├── grafana.yaml │ │ │ └── metricbeat.docker.yml │ │ ├── lcn │ │ │ ├── config.json │ │ │ ├── docker-compose.yml │ │ │ ├── edge1.json │ │ │ ├── edge2.json │ │ │ └── nginx.conf │ │ ├── local │ │ │ ├── config.json │ │ │ ├── docker-compose.yml │ │ │ └── nginx.conf │ │ ├── metricbeat.docker.yml │ │ ├── nginx.conf │ │ └── security_setup │ │ │ ├── docker-compose.idm.yml │ │ │ ├── docker-compose.pep.yml │ │ │ ├── idm_config.js │ │ │ └── pep_config.js │ └── https │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── fetch.sh │ │ ├── key4cloudnode.sh │ │ ├── local │ │ ├── cloud_node.csr │ │ ├── cloud_node.key │ │ ├── cloud_node.pem │ │ ├── config.json │ │ ├── coredns.yml │ │ ├── designer.csr │ │ ├── designer.key │ │ ├── designer.pem │ │ ├── dns │ │ │ ├── Corefile │ │ │ ├── bak │ │ │ └── db.fogflow.io │ │ ├── docker-compose.yml │ │ ├── edge_node.csr │ │ ├── edge_node.key │ │ ├── edge_node.pem │ │ ├── key4cloudnode.sh │ │ ├── key4edgenode.sh │ │ ├── nginx.conf │ │ ├── root_ca.key │ │ ├── root_ca.pem │ │ └── root_ca.srl │ │ ├── metricbeat.docker.yml │ │ ├── nginx.conf │ │ ├── root_ca.key │ │ └── root_ca.pem ├── edge │ ├── http │ │ ├── clean.sh │ │ ├── config.json │ │ ├── device_token_generation.sh │ │ ├── docker-compose.yml │ │ ├── edge_start.sh │ │ ├── edge_stop.sh │ │ ├── local │ │ │ ├── config.json │ │ │ ├── metricbeat.docker.yml │ │ │ ├── start.sh │ │ │ └── stop.sh │ │ ├── metricbeat.docker.yml │ │ ├── mosquitto.conf │ │ ├── oauth_config.js │ │ ├── pep-config.js │ │ ├── script.sh │ │ ├── start.sh │ │ ├── stop.sh │ │ ├── test_script.sh │ │ └── user_token_generation.sh │ └── https │ │ ├── bak.yml │ │ ├── clean.sh │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── fetch.sh │ │ ├── key4edgenode.sh │ │ ├── mosquitto.conf │ │ ├── root_ca.key │ │ └── root_ca.pem ├── gcloud │ └── root-site │ │ ├── back.json │ │ ├── config.json │ │ ├── docker-compose.yml │ │ └── without-postgis.yml ├── kubernetes │ └── README.md ├── lego │ ├── cleanup.sh │ ├── config.json │ ├── docker-compose.yml │ ├── nginx.conf │ └── nginx.yml ├── local │ ├── config.json │ ├── docker-compose.yml │ ├── macos │ │ ├── config.json │ │ └── docker-compose.yml │ └── ubuntu │ │ ├── config.json │ │ └── docker-compose.yml ├── qos-aware │ ├── build_rahafrouz_images.sh │ ├── config.json │ └── docker-compose.yml ├── registry │ └── docker-compose.yml ├── scorpio │ ├── docker-compose.yml │ └── subscribe.sh ├── smarthome │ ├── cloud │ │ ├── config.json │ │ └── docker-compose.yml │ ├── gateway1 │ │ ├── clean.sh │ │ ├── config.json │ │ ├── start.sh │ │ └── stop.sh │ └── gateway2 │ │ ├── clean.sh │ │ ├── config.json │ │ ├── start.sh │ │ └── stop.sh └── smartparking │ ├── broker-config.json │ ├── designer-config.json │ ├── discovery-config.json │ ├── docker-compose.yml │ ├── master-config.json │ ├── worker1-config.json │ ├── worker2-config.json │ ├── worker3-config.json │ └── worker4-config.json ├── docs ├── en │ ├── Makefile │ ├── README.md │ ├── make.bat │ ├── requirements.txt │ └── source │ │ ├── _static │ │ └── css │ │ │ ├── fiware_readthedocs.css │ │ │ └── fiware_readthedocs_processing.css │ │ ├── api.rst │ │ ├── build.rst │ │ ├── conf.py │ │ ├── contact.rst │ │ ├── core_concept.rst │ │ ├── figures │ │ ├── 1.1.png │ │ ├── 1.1Data.png │ │ ├── 1.1DataSub.png │ │ ├── 1.1NewData.png │ │ ├── 1.1upsertdata.png │ │ ├── 1.2NewUpsert.png │ │ ├── 1.2Subscription.png │ │ ├── 1.2SubscriptionData.png │ │ ├── 1.2Upsert.png │ │ ├── 1.2upsertdata.png │ │ ├── 1.3upsert.png │ │ ├── 1.3upsertdata.png │ │ ├── 2.1IDData.png │ │ ├── 2.1Id.png │ │ ├── 2.1SubBYIDData.png │ │ ├── 2.1SubID.png │ │ ├── 2.3.png │ │ ├── 2.3QueryCloudEdge.png │ │ ├── Client_ID_Secret.png │ │ ├── Comsub100.png │ │ ├── Comsub200.png │ │ ├── Comsub400.png │ │ ├── Comsub50.png │ │ ├── Comsub500.png │ │ ├── Container_usage_max_memory.png │ │ ├── Createdata.png │ │ ├── Crop_prediction_topology.png │ │ ├── Elastic_config.png │ │ ├── FogFlow_System_Design.png │ │ ├── FogFlow_cloud.png │ │ ├── Fogflow_Cloud_Edge_Nodes.png │ │ ├── Fogflow_System_Monitoring_Architecture.png │ │ ├── Heart_Menu.png │ │ ├── Heart_Prediction.png │ │ ├── Heart_alert.png │ │ ├── Heart_health_Service_topology.png │ │ ├── Heart_health_topology.png │ │ ├── Integrated_Security.png │ │ ├── Port_Diagram.png │ │ ├── Query100.png │ │ ├── Query200.png │ │ ├── Query400.png │ │ ├── Query50.png │ │ ├── Query500.png │ │ ├── QuerySub100.png │ │ ├── QuerySub200.png │ │ ├── QuerySub400.png │ │ ├── QuerySub50.png │ │ ├── QuerySub500.png │ │ ├── ScalUpsert.png │ │ ├── ScaleQueryByID.png │ │ ├── ScorpioIntegrationConfig.png │ │ ├── ScorpioIntegrationConfig1.png │ │ ├── SubscriptionData.png │ │ ├── System_Memory_Gauge.png │ │ ├── System_Metric_cloud.png │ │ ├── System_Metric_filter.png │ │ ├── System_memory_in_bytes_cloud.png │ │ ├── UpdateUpsert1.png │ │ ├── UpdateUpsert2.png │ │ ├── WCresult.png │ │ ├── access_token_curl.png │ │ ├── adapter-agent.jpg │ │ ├── addedadminuser.png │ │ ├── addedadminuseredge.png │ │ ├── addedadminuseredgeoutput.png │ │ ├── addedadminuseroutput.png │ │ ├── addedenduser.png │ │ ├── addedenduseredge.png │ │ ├── addedenduseredgeoutput.png │ │ ├── addedenduseroutput.png │ │ ├── addedrootuser.png │ │ ├── addedrootuseredge.png │ │ ├── addedrootuseredgeoutput.png │ │ ├── addedrootuseroutput.png │ │ ├── architecture.png │ │ ├── architectureDiagram.png │ │ ├── architectureDiagram1.png │ │ ├── benefit.png │ │ ├── com100.png │ │ ├── com200.png │ │ ├── com400.png │ │ ├── com50.png │ │ ├── com500.png │ │ ├── compare1.PNG │ │ ├── compare2.PNG │ │ ├── comparison1.png │ │ ├── comparison2.png │ │ ├── concept.jpg │ │ ├── configuration.png │ │ ├── createSub1.png │ │ ├── createSub2.png │ │ ├── createdevice.png │ │ ├── crop_management.png │ │ ├── crop_prediction.png │ │ ├── crop_service_topology.png │ │ ├── crop_task.png │ │ ├── dashboard.png │ │ ├── deployment-view.png │ │ ├── detailDescriptionofSampleRequest.png │ │ ├── detailDescriptionofSampleRequest2.png │ │ ├── development_process.png │ │ ├── device-monitor-1.png │ │ ├── device-monitor-2.png │ │ ├── device-registration.png │ │ ├── device.png │ │ ├── device_token.png │ │ ├── distributed-brokers.png │ │ ├── dockerTaskInstance.png │ │ ├── docker_image.png │ │ ├── docker_image1.png │ │ ├── docker_image_attachment.png │ │ ├── dockerimage-registry-list.png │ │ ├── dockerimage-registry.png │ │ ├── dockerimage_attachment2.png │ │ ├── edgecfg.png │ │ ├── figures.pptx │ │ ├── fog-function-add-entityStream-element.png │ │ ├── fog-function-add-task-element.png │ │ ├── fog-function-configure-entityStream-element.png │ │ ├── fog-function-configure-task-element.png │ │ ├── fog-function-connect-elements.png │ │ ├── fog-function-create-new.png │ │ ├── fog-function-entities-dummyresult.png │ │ ├── fog-function-streams.png │ │ ├── fog-function-submit.png │ │ ├── fog-function-task-running.png │ │ ├── fog-function-triggering-device.png │ │ ├── fog-node.png │ │ ├── fog_function_creation.png │ │ ├── fog_function_creation2.png │ │ ├── fog_function_model.png │ │ ├── fogflow-ngsild-broker.png │ │ ├── fogflow-overall-view.png │ │ ├── fogflow-scorpio.png │ │ ├── fogflow-scorpio1.png │ │ ├── fogflow2ngsildbroker.png │ │ ├── fogfunction.png │ │ ├── fogfunction_ngsi-ld-adapter.png │ │ ├── function-list.png │ │ ├── function-orchestration.png │ │ ├── gitGuideline.jpg │ │ ├── heart_management.png │ │ ├── heart_task.png │ │ ├── highlevelview.png │ │ ├── https-setup.png │ │ ├── idm_dashboard.png │ │ ├── idm_register1.png │ │ ├── idm_register2.png │ │ ├── idm_register3.png │ │ ├── idm_register4.png │ │ ├── imgCreateUpsert.png │ │ ├── imgCreateUpsert2.png │ │ ├── intent-registry.png │ │ ├── intent.png │ │ ├── intent_model.png │ │ ├── iot_service.png │ │ ├── k8s-architecture.png │ │ ├── key_elements.png │ │ ├── keyrock_Account_Portal.png │ │ ├── keyrock_iot.png │ │ ├── keyrock_token.png │ │ ├── launching-task.jpg │ │ ├── launching-task.png │ │ ├── lost-child-management.png │ │ ├── lost-child-result.png │ │ ├── lost-child-service_topology.png │ │ ├── lost-child-steps.png │ │ ├── lost-child-task.png │ │ ├── lost-child-topology.png │ │ ├── microk8s_architecture.png │ │ ├── microk8s_pods.png │ │ ├── mqtt-cmd-update.png │ │ ├── mqtt-data-update.png │ │ ├── ngsi-device-integration.png │ │ ├── ngsi-ld-adapter.png │ │ ├── ngsild_architecture.png │ │ ├── ngsildbroker2fogflow.png │ │ ├── ngsildiotagent.png │ │ ├── ngsildiotagentIntegration.png │ │ ├── non-ngsi-device-integration.png │ │ ├── ns.png │ │ ├── nsedge.png │ │ ├── operator-list.png │ │ ├── operator-registry.png │ │ ├── operator_creation.png │ │ ├── operator_dashboard.png │ │ ├── orion-integration.png │ │ ├── persistent_data_flow.png │ │ ├── podTaskInstance.png │ │ ├── portdiagram.png │ │ ├── quantum-leap-fogflow-integration.png │ │ ├── quantum-leap-result.png │ │ ├── rbaccloud.png │ │ ├── rbacedge.png │ │ ├── register_operator3.png │ │ ├── responseFromKeyrock.png │ │ ├── result.png │ │ ├── retail-flow.png │ │ ├── retail-topology-1.png │ │ ├── retails.png │ │ ├── scorpioIntegration.png │ │ ├── security_enhancement.png │ │ ├── service-orchestration.jpg │ │ ├── service-topology-concept.png │ │ ├── service-topology.png │ │ ├── status.png │ │ ├── status1.png │ │ ├── systemview.png │ │ ├── topology-list.png │ │ ├── topology_register.png │ │ ├── updateData.png │ │ ├── user_token.png │ │ ├── water_op.png │ │ ├── waterdocker.png │ │ ├── waterfog.png │ │ ├── wc-create-workspace.png │ │ ├── wc-find-components-button.png │ │ ├── wc-fogflow-integration.png │ │ ├── wc-home.png │ │ ├── wc-myresources-button.png │ │ ├── wc-myresources.png │ │ ├── wc-ngsi-source-settings.png │ │ ├── wc-operator-settings-form.png │ │ ├── wc-options.png │ │ ├── wc-wire-components.png │ │ ├── wc-wiring-button.png │ │ ├── wc-wiring_add-operator.png │ │ ├── wc-wiring_add-widget.png │ │ ├── wc-wiring_drag-and-drop.png │ │ └── wc-workspace-created.png │ │ ├── https.rst │ │ ├── index.rst │ │ ├── intent_based_program.rst │ │ ├── introduction.rst │ │ ├── onepage.rst │ │ ├── publication.rst │ │ ├── setup.rst │ │ ├── system_integration.rst │ │ ├── system_monitoring.rst │ │ ├── test.rst │ │ └── troubleshooting.rst ├── ja │ ├── Makefile │ ├── README.md │ ├── index.rst │ ├── make.bat │ ├── requirements.txt │ └── source │ │ ├── api.rst │ │ ├── api2.rst │ │ ├── api3.rst │ │ ├── broker.rst │ │ ├── build.rst │ │ ├── cloud.rst │ │ ├── conf.py │ │ ├── contact.rst │ │ ├── context.rst │ │ ├── core_concept.rst │ │ ├── deploymentview.rst │ │ ├── discovery.rst │ │ ├── fogflow_fiware_integration.rst │ │ ├── guideline.rst │ │ ├── https.rst │ │ ├── index.rst │ │ ├── integration.rst │ │ ├── intent_based_program.rst │ │ ├── intent_model.rst │ │ ├── introduction.rst │ │ ├── k8sIntegration.rst │ │ ├── ngsi_ld_api_walkthrough.rst │ │ ├── onepage.rst │ │ ├── operator.rst │ │ ├── parking.rst │ │ ├── programming.rst │ │ ├── publication.rst │ │ ├── quantumleapIntegration.rst │ │ ├── registry.rst │ │ ├── requirement.rst │ │ ├── roadmap.rst │ │ ├── scorpioIntegration.rst │ │ ├── service.rst │ │ ├── setup.rst │ │ ├── start.rst │ │ ├── system_design.rst │ │ ├── system_monitoring.rst │ │ ├── system_overview.rst │ │ ├── test.rst │ │ ├── troubleshooting.rst │ │ └── wirecloudIntegration.rst ├── roadmap.ja.md ├── roadmap.md ├── swagger-api │ ├── ngsi10.yaml │ └── ngsi9.yaml ├── training │ └── fogflow.md └── tutorial │ ├── fogflow.md │ └── images │ ├── device-registration.png │ ├── fog-function-connect-elements.png │ ├── fog-function-streams.png │ ├── fog-function-task-running.png │ └── systemview.png ├── go.mod ├── go.sum ├── master ├── Dockerfile4Arm ├── Dockerfile_development ├── Dockerfile_multistage ├── README.md ├── build ├── build_k8s ├── main.go ├── master.go ├── serviceMgr.go └── taskMgr.go ├── publish.sh ├── release.sh ├── release ├── 3.2.2 │ ├── cloud │ │ ├── config.json │ │ ├── docker-compose.idm.yml │ │ ├── docker-compose.pep.yml │ │ ├── docker-compose.yml │ │ ├── idm_config.js │ │ ├── nginx.conf │ │ └── pep_config.js │ └── edge │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── start.sh │ │ └── stop.sh ├── 3.2.6 │ ├── cloud │ │ ├── config.json │ │ ├── docker-compose.idm.yml │ │ ├── docker-compose.pep.yml │ │ ├── docker-compose.yml │ │ ├── idm_config.js │ │ ├── nginx.conf │ │ └── pep_config.js │ └── edge │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── start.sh │ │ └── stop.sh ├── 3.2.8 │ ├── cloud │ │ ├── config.json │ │ └── docker-compose.yml │ └── edge │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── start.sh │ │ └── stop.sh ├── 3.2 │ ├── cloud │ │ ├── config.json │ │ ├── docker-compose.yml │ │ └── nginx.conf │ └── edge │ │ ├── config.json │ │ ├── docker-compose.yml │ │ ├── start.sh │ │ └── stop.sh ├── latest │ ├── cloud │ │ ├── config-template.json │ │ ├── designerDB │ │ │ └── db.json.baclup │ │ ├── docker-compose.yml │ │ └── nginx.conf │ └── edge │ │ ├── config.json │ │ └── docker-compose.yml └── validation │ └── config.json ├── test ├── ConfigrationScript │ ├── config.json │ ├── main.py │ └── ngsildClient.py ├── FogFlow-2.0.0.jmx ├── NGSILD │ ├── listener │ │ └── main.go │ ├── subscriptionLatency │ │ ├── configFog.json │ │ ├── main.go │ │ └── ngsildAgent.go │ └── testperformance │ │ ├── main.go │ │ └── ngsildAgent.go ├── PerformancePythonScript │ └── main.py ├── PerformanceTestData │ └── data.csv ├── ProducerTest.jmx ├── UnitTest │ ├── .cache │ │ └── v │ │ │ └── cache │ │ │ └── lastfailed │ ├── NGSI-LD │ │ ├── ld_data.py │ │ └── test_casesNGSI-LD.py │ ├── README.md │ ├── accumulator.py │ ├── assets │ │ └── style.css │ ├── data.py │ ├── persistance │ │ ├── data.py │ │ └── test_persistance.py │ ├── report.html │ ├── test_allsubscription.py │ ├── v1 │ │ ├── data_ngsi10.py │ │ └── test_casesNGSIv1.py │ └── v2 │ │ ├── test_casesNGSIv2.py │ │ └── v2data.py ├── distributed-discovery │ └── run.sh ├── function_test.jmx ├── function_test.sh ├── https │ ├── client │ │ ├── alice_cert.pem │ │ ├── alice_csr.pem │ │ ├── alice_key.pem │ │ ├── client │ │ ├── main.go │ │ ├── server_cert.pem │ │ └── server_key.pem │ ├── main.js │ └── srv │ │ ├── cert.pem │ │ ├── key.pem │ │ ├── main.go │ │ └── srv ├── iot-agent │ ├── .env │ ├── docker-compose │ │ ├── orion-ld.yml │ │ └── scorpio-aaio.yml │ └── services ├── jmeter │ ├── FogFlow-2.0.0.jmx │ ├── GetPersistData.jmx │ ├── PersistData.jmx │ ├── central-discovery-a.jmx │ ├── central-discovery.jmx │ ├── discovery-test.jmx │ ├── local-updater.jmx │ ├── ngsi-ld │ │ ├── FogFlow-3.2.0.jmx │ │ ├── Performance │ │ │ ├── NGSILdSubscription.jmx │ │ │ ├── NGSILdUpsert.jmx │ │ │ ├── QueryEntityByID.jmx │ │ │ └── QuerySubscriptionByID.jmx │ │ ├── functionalJMeter │ │ │ ├── FogFlow-3.2.0.jmx │ │ │ ├── OrionLd.jmx │ │ │ ├── ScorpioLd.jmx │ │ │ └── StellioBroker.jmx │ │ ├── ngsi-ld-fogflow.jmx │ │ ├── orionld.jmx │ │ ├── scorpio.jmx │ │ ├── stellio.jmx │ │ └── stressJmeter │ │ │ └── NGSILdStress.jmx │ ├── orion-broker.jmx │ ├── orion-updates-flavio.jmx │ ├── orion_ngsiv1_vs_ngsi2.jmx │ ├── query.jmx │ ├── registerContextWithAttributes.jmx │ ├── registerContextWithLocation.jmx │ ├── subscribeContext.jmx │ ├── subscriptionRequest.jmx │ ├── test-nearby-discovery.jmx │ ├── test-scoped-discovery.jmx │ ├── updater-a.jmx │ └── updater.jmx ├── ldcontext │ └── ngsi-ld-core-context-v1.3.jsonld ├── lego_demo │ ├── build │ ├── commands.rtf │ ├── dockerfile │ ├── motor.py │ ├── run │ └── test.py ├── migration-test │ ├── main.js │ └── ngsiclient.js ├── orchestration-test │ ├── main.js │ └── ngsiclient.js ├── orion-ld │ ├── docker-compose.yml │ ├── query.sh │ ├── subscribe.sh │ └── update.sh ├── performance_test.jmx ├── postman │ ├── FogFlow-test.postman_collection.json │ └── run.sh ├── restsrv │ ├── main.go │ └── restserver.py ├── scorpio │ └── docker-compose.yml ├── startup-latency │ ├── config.go │ ├── config.json │ └── main.go ├── stellio-context-broker-ld │ ├── .env │ └── docker-compose.yml ├── subscription-latency │ ├── config.go │ ├── config.json │ ├── main.go │ └── orion-sub.txt └── throughput │ ├── config.go │ ├── config.json │ └── main.go ├── worker ├── Dockerfile4Arm ├── Dockerfile4Armv8 ├── Dockerfile_development ├── Dockerfile_multiarch ├── Dockerfile_multistage ├── README.md ├── build ├── build_k8s ├── dockerengine.go ├── edgecontroller.go ├── engine.go ├── executor.go ├── kubernetes.go ├── main.go ├── startworkers.sh ├── stopworkers.sh └── worker.go └── yaml ├── cloud-yaml ├── RBAC_setup.yaml ├── cloud-broker.yaml ├── config.json ├── designer.yaml ├── dgraph-deployment.yaml ├── discovery.yaml ├── master.yaml ├── nginx.conf ├── nginx.yaml ├── rabbitmq.yaml ├── serviceaccount.yaml └── worker.yaml └── edge-yaml ├── RBAC_setup.yaml ├── config.json ├── edge-broker.yaml ├── edge-worker.yaml └── serviceaccount.yaml /.dockerignore: -------------------------------------------------------------------------------- 1 | /docker 2 | /debug 3 | /doc 4 | /deployment 5 | /release 6 | /test 7 | /designer/node_modules 8 | /application 9 | /yaml 10 | /helm 11 | /helm_with_RBAC 12 | 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-vendored 2 | *.go linguist-vendored=false 3 | *.go filter=spabs 4 | *.py filter=spabs 5 | *.js filter=spabs 6 | *.json filter=spabs 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .exe~ 2 | .doctree 3 | .pickle 4 | .exe 5 | .DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | ._* 9 | .DS_store 10 | node_modules 11 | doc/en/_build/ 12 | doc/en/source/figures/~$figures.pptx 13 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "grafana/prometheus/src/github.com/ant0ine/go-json-rest"] 2 | path = grafana/prometheus/src/github.com/ant0ine/go-json-rest 3 | url = https://github.com/ant0ine/go-json-rest 4 | -------------------------------------------------------------------------------- /CREDITS: -------------------------------------------------------------------------------- 1 | # Contributors ordered by number of commits 2 | 3 | Bin Cheng 4 | Bin Cheng 5 | Javier Martínez Valverde 6 | Jason Fox 7 | -------------------------------------------------------------------------------- /FogFlow-Entity.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/FogFlow-Entity.pdf -------------------------------------------------------------------------------- /FogFlow-Individual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/FogFlow-Individual.pdf -------------------------------------------------------------------------------- /application/README.md: -------------------------------------------------------------------------------- 1 | templates and operator examples to develop FogFlow applications in the form of fog function or service topology 2 | 3 | -------------------------------------------------------------------------------- /application/device/awning/profile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal/ngsi9", 3 | "location": { 4 | "latitude": 35.70038, 5 | "longitude": 139.75210 6 | }, 7 | "iconURL": "/img/awning.png", 8 | "type": "SmartAwning", 9 | "id": "01" 10 | } -------------------------------------------------------------------------------- /application/device/camera/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/camera/camera.png -------------------------------------------------------------------------------- /application/device/camera/profile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL": "http://192.168.1.100/ngsi9", 3 | "myIP": "192.168.1.100", 4 | "myPort": 8040, 5 | "location": { 6 | "latitude": 35.742752, 7 | "longitude": 139.685090 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "Camera", 11 | "id": "01" 12 | } -------------------------------------------------------------------------------- /application/device/camera/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/camera/test.jpg -------------------------------------------------------------------------------- /application/device/camera1/content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/camera1/content.png -------------------------------------------------------------------------------- /application/device/camera1/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal:8080/ngsi9", 3 | "myIP": "host.docker.internal", 4 | "myPort": 8091, 5 | "location": { 6 | "latitude": 36.014631, 7 | "longitude": 136.106970 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "Camera", 11 | "id": "01" 12 | } -------------------------------------------------------------------------------- /application/device/camera1/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | numpy 3 | 4 | -------------------------------------------------------------------------------- /application/device/camera2/content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/camera2/content.png -------------------------------------------------------------------------------- /application/device/camera2/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal:8080/ngsi9", 3 | "myIP": "host.docker.internal", 4 | "myPort": 8092, 5 | "location": { 6 | "latitude": 36.146094, 7 | "longitude": 138.239776 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "Camera", 11 | "id": "02" 12 | } -------------------------------------------------------------------------------- /application/device/camera2/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | numpy 3 | 4 | -------------------------------------------------------------------------------- /application/device/homegateway/alarm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/homegateway/alarm.mp3 -------------------------------------------------------------------------------- /application/device/homegateway/profile-homeB.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL": "http://10.156.0.5:443/ngsi9", 3 | "myIP": "10.156.0.6", 4 | "myPort": 8083, 5 | "location": { 6 | "latitude": 35.942752, 7 | "longitude": 139.285090 8 | }, 9 | "iconURL": "/img/home.png", 10 | "homeID": "0002" 11 | } 12 | -------------------------------------------------------------------------------- /application/device/homegateway/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL": "http://192.168.1.100/ngsi9", 3 | "myIP": "192.168.1.100", 4 | "myPort": 8082, 5 | "location": { 6 | "latitude": 35.742752, 7 | "longitude": 139.685090 8 | }, 9 | "iconURL": "/img/home.png", 10 | "homeID": "0001" 11 | } 12 | -------------------------------------------------------------------------------- /application/device/homegateway/sos.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/homegateway/sos.mp3 -------------------------------------------------------------------------------- /application/device/lamp/README.md: -------------------------------------------------------------------------------- 1 | To use the simulated Lamp device, follow these steps: 2 | 3 | 1. Download the fogflow code repository: 4 | git clone https://github.com/smartfog/fogflow.git 5 | 6 | 2. Install: 7 | python2, pip for python2, flask, abort, request, json in order to run the simulated device. 8 | 9 | 3. Start the simulated lamp device for "anomaly detection": 10 | python lamp.py 11 | 12 | -------------------------------------------------------------------------------- /application/device/powerpanel/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerpanel", 3 | "version": "1.0.0", 4 | "description": "simulated powerpanel device in retail shops", 5 | "author": "Bin Cheng", 6 | "main": "powerpanel.js", 7 | "scripts": { 8 | "start": "node powerpanel.js" 9 | }, 10 | "dependencies": { 11 | "axios": "*" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /application/device/powerpanel/profile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal:8080/ngsi9", 3 | "location": { 4 | "latitude": 35.629021, 5 | "longitude": 140.156059 6 | }, 7 | "iconURL": "/img/shop.png", 8 | "type": "PowerPanel", 9 | "id": "01" 10 | } 11 | -------------------------------------------------------------------------------- /application/device/powerpanel/profile2.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal:8080/ngsi9", 3 | "location": { 4 | "latitude": 36.912221, 5 | "longitude": 138.329059 6 | }, 7 | "iconURL": "/img/shop.png", 8 | "type": "PowerPanel", 9 | "id": "02" 10 | } 11 | -------------------------------------------------------------------------------- /application/device/powerpanel/profile3.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal:8080/ngsi9", 3 | "location": { 4 | "latitude": 34.804536, 5 | "longitude": 137.820524 6 | }, 7 | "iconURL": "/img/shop.png", 8 | "type": "PowerPanel", 9 | "id": "03" 10 | } 11 | -------------------------------------------------------------------------------- /application/device/rain/profile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal/ngsi9", 3 | "myIP": "127.0.0.1", 4 | "myPort": 8082, 5 | "location": { 6 | "latitude": 35.742752, 7 | "longitude": 139.685090 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "RainSensor", 11 | "id": "01" 12 | } -------------------------------------------------------------------------------- /application/device/raindetector/profile1.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL":"http://host.docker.internal/ngsi9", 3 | "location": { 4 | "latitude": 35.72226, 5 | "longitude": 139.78437 6 | }, 7 | "iconURL": "/img/rainsensor.png", 8 | "type": "RainSensor", 9 | "id": "01" 10 | } -------------------------------------------------------------------------------- /application/device/raindetector/start_rain_sensor.sh: -------------------------------------------------------------------------------- 1 | python rain.py profile1.json 2 | 3 | -------------------------------------------------------------------------------- /application/device/smartindustry/build: -------------------------------------------------------------------------------- 1 | docker build -f dockerfile -t "fogflow/tpu" . 2 | 3 | -------------------------------------------------------------------------------- /application/device/smartindustry/button.json: -------------------------------------------------------------------------------- 1 | { 2 | "brokerURL": "http://192.168.1.100/ngsi10", 3 | "myIP": "192.168.1.100", 4 | "location": { 5 | "latitude": 35.742752, 6 | "longitude": 139.685090 7 | }, 8 | "iconURL": "/img/home.png", 9 | "homeID": "0001" 10 | } 11 | -------------------------------------------------------------------------------- /application/device/smartindustry/camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "brokerURL": "http://192.168.1.100/ngsi10", 3 | "myIP": "192.168.1.100", 4 | "myPort": 8040, 5 | "location": { 6 | "latitude": 35.742752, 7 | "longitude": 139.685090 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "Camera", 11 | "id": "01" 12 | } -------------------------------------------------------------------------------- /application/device/smartindustry/crontab: -------------------------------------------------------------------------------- 1 | @reboot sleep 60 && /home/pi/go/src/github.com/smartfog/fogflow/application/device/smartindustry/start.sh & 2 | 3 | -------------------------------------------------------------------------------- /application/device/smartindustry/dockerfile: -------------------------------------------------------------------------------- 1 | FROM lemariva/raspbian-edgetpu 2 | 3 | WORKDIR "/notebooks/" 4 | 5 | ADD requirements.txt ./ 6 | 7 | RUN pip3 install -r requirements.txt 8 | 9 | ADD tpu.py ./ 10 | 11 | 12 | CMD ["python3", "./tpu.py"] 13 | -------------------------------------------------------------------------------- /application/device/smartindustry/motor.json: -------------------------------------------------------------------------------- 1 | { 2 | "brokerURL": "http://192.168.1.100/ngsi10", 3 | "myIP": "192.168.1.100", 4 | "myPort": 8006, 5 | "location": { 6 | "latitude": 35.742752, 7 | "longitude": 139.685090 8 | }, 9 | "iconURL": "/img/motor.png" 10 | } 11 | -------------------------------------------------------------------------------- /application/device/smartindustry/stop.sh: -------------------------------------------------------------------------------- 1 | sudo killall python 2 | 3 | -------------------------------------------------------------------------------- /application/device/stopDevices.sh: -------------------------------------------------------------------------------- 1 | killall node 2 | killall python 3 | 4 | -------------------------------------------------------------------------------- /application/device/surveillance/content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/device/surveillance/content.png -------------------------------------------------------------------------------- /application/device/surveillance/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "discoveryURL": "http://180.179.214.148/ngsi9", 3 | "myIP": "180.179.214.148", 4 | "myPort": 8092, 5 | "location": { 6 | "latitude": 36.146094, 7 | "longitude": 138.239776 8 | }, 9 | "iconURL": "/img/camera.png", 10 | "type": "lDCamera", 11 | "id": "02" 12 | } 13 | -------------------------------------------------------------------------------- /application/device/surveillance/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | numpy 3 | 4 | -------------------------------------------------------------------------------- /application/operator/GeneralPurposeAdapter/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/generalpurposeadapter" . 2 | -------------------------------------------------------------------------------- /application/operator/GeneralPurposeAdapter/gpadapter-config.sh: -------------------------------------------------------------------------------- 1 | echo "Configuring General Purpose Adapter..." 2 | 3 | echo $1 4 | echo $2 5 | 6 | gunicorn --env IOT_BROKER_IP=$1 --env IOT_BROKER_PORT=$2 -b 0.0.0.0:1026 main 7 | -------------------------------------------------------------------------------- /application/operator/Health_Alert_counter/build: -------------------------------------------------------------------------------- 1 | npm install 2 | 3 | docker build -t "fogflow/health_alert_counter" . 4 | -------------------------------------------------------------------------------- /application/operator/Health_Alert_counter/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | 6 | ENTRYPOINT [ "node", "main.js" ] 7 | -------------------------------------------------------------------------------- /application/operator/IoTAgentJSON/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM fogflow/iota-mongo-custom:latest 2 | 3 | USER root 4 | 5 | WORKDIR /opt/iotajson/ 6 | 7 | COPY ./function.js . 8 | COPY ./main.js . 9 | COPY ./iota-config.sh . 10 | COPY ./Dockerfile . 11 | COPY ./ngsi ./ngsi 12 | 13 | RUN chmod +x ./iota-config.sh && \ 14 | chmod 777 ./config.js && \ 15 | chmod +x /usr/local/bin/docker-entrypoint.sh 16 | 17 | CMD ["node","main.js"] 18 | EXPOSE 4041 7896 27017 19 | -------------------------------------------------------------------------------- /application/operator/IoTAgentJSON/build: -------------------------------------------------------------------------------- 1 | docker build . -t "fogflow/iota-mongo-embedded:latest" 2 | -------------------------------------------------------------------------------- /application/operator/IoTAgentJSON/iota-config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Configuring IoTAgent....." 3 | 4 | sed -i '134s/localhost/'$1'/' ./config.js 5 | 6 | sed -i "s/ port: '1026'/ port: '$2'/" ./config.js 7 | 8 | echo "Starting MongoDB....." 9 | cd /usr/local/bin/ 10 | ./docker-entrypoint.sh mongod & 11 | 12 | 13 | echo "Starting IoTAgent....." 14 | cd /opt/iotajson 15 | ./docker/entrypoint.sh config.js 16 | -------------------------------------------------------------------------------- /application/operator/LDanamaly/anomaly-conf.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://127.0.0.1:8070/ngsi" 5 | }, 6 | { 7 | "command":"SET_OUTPUTS", 8 | "type": "Anomaly", 9 | "id": "Anomaly.01" 10 | } 11 | ] 12 | 13 | 14 | -------------------------------------------------------------------------------- /application/operator/LDanamaly/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/ldanomaly" . 3 | -------------------------------------------------------------------------------- /application/operator/LDanamaly/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/LDanamaly/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://127.0.0.1/ngsi10" 4 | }, 5 | { 6 | "command": "SET_INPUTS", 7 | "type": "PowerPanel" 8 | }, 9 | { 10 | "command": "SET_INPUTS", 11 | "type": "Rule" 12 | } 13 | ] -------------------------------------------------------------------------------- /application/operator/LDanamaly/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/operator/LDanamaly/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fogfunction", 3 | "version": "1.0.0", 4 | "description": "template to create your own fog function", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/LDcounter/build: -------------------------------------------------------------------------------- 1 | npm install 2 | 3 | docker build -t "fogflow/ldcounter" . 4 | -------------------------------------------------------------------------------- /application/operator/LDcounter/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | 6 | ENTRYPOINT [ "node", "main.js" ] 7 | -------------------------------------------------------------------------------- /application/operator/LDcounter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_anomaly", 3 | "version": "1.0.0", 4 | "description": "dockerized task for anomaly detection", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/LICENSE -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/__pycache__/logging.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/__pycache__/logging.cpython-35.pyc -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/ngsildadapter:latest" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/common_utilities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/common_utilities/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/common_utilities/user.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | USERS_URL = 'http://jsonplaceholder.typicode.com/use' 4 | 5 | 6 | def get_users(): 7 | """Get list of users""" 8 | response = requests.get(USERS_URL) 9 | print(response.status_code) 10 | if response.ok: 11 | return response 12 | else: 13 | return None 14 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/config/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/config/config.ini: -------------------------------------------------------------------------------- 1 | [My Section] 2 | ngsi-ld-broker=192.168.100.209:9090 3 | fogflow_subscription_endpoint=192.168.100.137:8070 4 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/consts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/consts/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/data_model/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/data_model/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/data_model/storage/data_file.txt: -------------------------------------------------------------------------------- 1 | urn:ngsi-ld:Temprature700 2 | urn:ngsi-ld:Temprature701 3 | urn:ngsi-ld:Temprature702 4 | urn:ngsi-ld:Room5 5 | urn:ngsi-ld:Temp456 6 | urn:ngsi-ld:Tempo123 7 | urn:ngsi-ld:Tempo457 8 | urn:ngsi-ld:Livestock111 9 | urn:ngsi-ld:Livestock9999 10 | urn:ngsi-ld:Livestock2000 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/data_model/storage/log/data_file.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/data_model/storage/log/data_file.txt -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/module/data_model/storage/log/logs.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/module/data_model/storage/log/logs.log -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/requirements.txt -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/setup.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | testdir = os.path.dirname(__file__) 4 | srcdir = '/opt/ngsildAdapter/module' 5 | sys.path.insert(0, os.path.abspath(os.path.join(testdir, srcdir))) 6 | #from data_model.ld_generate import ngsi_data_creation 7 | sys.path.append('/opt/ngsildAdapter/module') 8 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/setup.sh: -------------------------------------------------------------------------------- 1 | export PYTHONPATH="$PYTHONPATH:/opt/ngsildAdapter/module" 2 | 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-Adapter/tests/__init__.py -------------------------------------------------------------------------------- /application/operator/NGSI-LD-Adapter/transformer-config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Configuring Transformer Function..." 4 | 5 | sed -i "s/fogflow_subscription_endpoint=.*/fogflow_subscription_endpoint=$1:8070/" ./config/config.ini 6 | sed -i "s/ngsi-ld-broker=.*/ngsi-ld-broker=$2:9090/" ./config/config.ini 7 | 8 | python main.py 9 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/build: -------------------------------------------------------------------------------- 1 | docker build -t "trial/soil2:latest" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }] 13 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/croppredictor.joblib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-operator/CropPredictor/croppredictor.joblib -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.5-slim-buster 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD croppredictor.joblib /task 8 | ADD requirements.txt /task 9 | WORKDIR /task 10 | RUN pip3 install -r requirements.txt 11 | 12 | CMD ["python3", "./main.py", "-o"] 13 | 14 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | joblib 4 | pandas 5 | sklearn<=0.20.4 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/CropPredictor/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/__pycache__/function.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-operator/HeartPredictor2/__pycache__/function.cpython-38.pyc -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/build: -------------------------------------------------------------------------------- 1 | docker build -t "trial/heart2:new23" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }] 13 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.8-slim-buster 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD predictor.joblib /task 8 | ADD requirements.txt /task 9 | WORKDIR /task 10 | 11 | RUN pip3 install -r requirements.txt 12 | 13 | CMD ["python3", "./main.py", "-o"] 14 | 15 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/predictor.joblib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/NGSI-LD-operator/HeartPredictor2/predictor.joblib -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | joblib 4 | pandas 5 | sklearn 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/HeartPredictor2/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDface-finder/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/ldfacefinder" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDface-finder/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://192.168.126.128:8070/ngsi10" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }] 9 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDface-finder/dockerfile: -------------------------------------------------------------------------------- 1 | # for raspberry pi 2 | #FROM gavrisco/rpi-openface 3 | FROM bamos/openface 4 | 5 | RUN rm /root/openface/demos/web/start-servers.sh 6 | WORKDIR /tmp 7 | RUN pip install flask 8 | 9 | #RUN sudo echo "Europe/Berlin" > /etc/timezone 10 | #RUN sudo dpkg-reconfigure -f noninteractive tzdata 11 | 12 | RUN mkdir /facefinder 13 | ADD main.py /facefinder 14 | WORKDIR /facefinder 15 | CMD ["python", "./main.py", "-o"] 16 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDface-finder/subscriptionCamera.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.126.128:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDface-finder/subscriptionChildLost.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "ChildLost", 5 | "isPattern": false, 6 | "id": "Stream.ChildLost.01" 7 | } 8 | ], 9 | "reference": "http://192.168.126.128:8009" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDconnectedcar/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/ldconnectedcar" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDconnectedcar/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDconnectedcar/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://127.0.0.1/ngsi10" 4 | }, 5 | { 6 | "command": "SET_INPUTS", 7 | "type": "PowerPanel" 8 | }, 9 | { 10 | "command": "SET_INPUTS", 11 | "type": "Rule" 12 | } 13 | ] -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDconnectedcar/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDprivatesite/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/ldprivatesite" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDprivatesite/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o" ] 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDpublicsite/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/ldpublicsite" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDpublicsite/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o" ] 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDrecommender/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/ldrecommender" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/LDrecommender/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | 6 | ENTRYPOINT [ "node", "main.js", "-o" ] 7 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/LDsmartparking/build: -------------------------------------------------------------------------------- 1 | for d in */ ; do 2 | echo "$d" && cd $d && ./build && cd ../ 3 | done 4 | 5 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/NGSILDDemo/build: -------------------------------------------------------------------------------- 1 | docker build -t "test" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/NGSILDDemo/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }] 13 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/NGSILDDemo/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD requirements.txt /task 8 | WORKDIR /task 9 | 10 | RUN pip install -r requirements.txt 11 | 12 | CMD ["python", "./main.py", "-o"] 13 | 14 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/NGSILDDemo/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | 4 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/NGSILDDemo/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/WaterPumpFog/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/overspeedvechile" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/WaterPumpFog/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Vehicle:A103", 7 | "type": "Vehicle" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Vehicle:A103", 11 | "type": "Vehicle" 12 | }, { 13 | "command": "SET_REFERENCE", 14 | "url": "http://180.179.214.202:8888/notifyContext" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/WaterPumpFog/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/alertForSpeedInNGSILD/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/overspeedvechile" . 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/alertForSpeedInNGSILD/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Vehicle:A103", 7 | "type": "Vehicle" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Vehicle:A103", 11 | "type": "Vehicle" 12 | }, { 13 | "command": "SET_REFERENCE", 14 | "url": "http://180.179.214.202:8888/notifyContext" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/alertForSpeedInNGSILD/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/scorpioOperator/build: -------------------------------------------------------------------------------- 1 | docker build -t "python-ngsild-fog-function" . 2 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/scorpioOperator/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }, { 13 | "command": "NGSILD", 14 | "NGSILDBrokerURL": "http://180.179.214.211:9090" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/scorpioOperator/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD requirements.txt /task 8 | WORKDIR /task 9 | 10 | RUN pip install -r requirements.txt 11 | 12 | CMD ["python", "./main.py", "-o"] 13 | 14 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/scorpioOperator/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | -------------------------------------------------------------------------------- /application/operator/NGSI-LD-operator/scorpioOperator/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/alert/alert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/operator/alert/alert -------------------------------------------------------------------------------- /application/operator/alert/build: -------------------------------------------------------------------------------- 1 | go build 2 | docker build -t "fogflow/alert" . 3 | 4 | -------------------------------------------------------------------------------- /application/operator/alert/config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://180.179.214.202:8070" 5 | }, 6 | { 7 | "command":"SET_INPUTS", 8 | "type": "test", 9 | "id": "urn:ngsi-ld:Vehicle:A14" 10 | } 11 | ] 12 | -------------------------------------------------------------------------------- /application/operator/alert/dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | 3 | ADD alert / 4 | CMD ["./alert"] 5 | 6 | 7 | -------------------------------------------------------------------------------- /application/operator/alert/function.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type publishContextFunc func(ctxObj map[string]interface{}) 8 | 9 | // publish update on FogFlow broker 10 | 11 | func fogfunction(ctxObj map[string]interface{}, publish publishContextFunc) error { 12 | fmt.Println(ctxObj) 13 | //============== publish data ============== 14 | 15 | publish(ctxObj) 16 | return nil 17 | } 18 | -------------------------------------------------------------------------------- /application/operator/anomaly/anomaly-conf.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://127.0.0.1:8070/ngsi" 5 | }, 6 | { 7 | "command":"SET_OUTPUTS", 8 | "type": "Anomaly", 9 | "id": "Anomaly.01" 10 | } 11 | ] 12 | 13 | 14 | -------------------------------------------------------------------------------- /application/operator/anomaly/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/anomaly" . 3 | -------------------------------------------------------------------------------- /application/operator/anomaly/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/anomaly/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://127.0.0.1/ngsi10" 4 | }, 5 | { 6 | "command": "SET_INPUTS", 7 | "type": "PowerPanel" 8 | }, 9 | { 10 | "command": "SET_INPUTS", 11 | "type": "Rule" 12 | } 13 | ] -------------------------------------------------------------------------------- /application/operator/anomaly/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/operator/anomaly/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fogfunction", 3 | "version": "1.0.0", 4 | "description": "template to create your own fog function", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/build.sh: -------------------------------------------------------------------------------- 1 | for d in */ ; do 2 | echo "$d" && cd $d && ./build && cd ../ 3 | done 4 | 5 | -------------------------------------------------------------------------------- /application/operator/controller/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "controller" . 3 | -------------------------------------------------------------------------------- /application/operator/controller/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/controller/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | WORKDIR /app 3 | ADD . /app 4 | ENTRYPOINT [ "node", "main.js" ] 5 | -------------------------------------------------------------------------------- /application/operator/converter/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "converter" . 3 | -------------------------------------------------------------------------------- /application/operator/converter/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/counter/build: -------------------------------------------------------------------------------- 1 | npm install 2 | 3 | docker build -t "fogflow/counter" . 4 | -------------------------------------------------------------------------------- /application/operator/counter/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/counter/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | 6 | ENTRYPOINT [ "node", "main.js" ] 7 | -------------------------------------------------------------------------------- /application/operator/counter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_anomaly", 3 | "version": "1.0.0", 4 | "description": "dockerized task for anomaly detection", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/detector/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "detector" . 3 | 4 | -------------------------------------------------------------------------------- /application/operator/detector/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | WORKDIR /app 3 | ADD . /app 4 | ENTRYPOINT [ "node", "main.js" ] 5 | -------------------------------------------------------------------------------- /application/operator/dummy/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/dummy" . 3 | -------------------------------------------------------------------------------- /application/operator/dummy/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://127.0.0.1/ngsi10" 4 | }, 5 | { 6 | "command": "SET_INPUTS", 7 | "type": "Temperature" 8 | } 9 | ] -------------------------------------------------------------------------------- /application/operator/dummy/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o" ] 6 | -------------------------------------------------------------------------------- /application/operator/dummy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fogfunction", 3 | "version": "1.0.0", 4 | "description": "template to create your own fog function", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "axios": "*", 12 | "body-parser": "*", 13 | "express": "^4.13.3", 14 | "logops": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/face-counter/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/facecounter" . 2 | -------------------------------------------------------------------------------- /application/operator/face-counter/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://192.168.1.80:8091/ngsi10" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "Stream.FaceNum.01", 7 | "type": "FaceNum" 8 | }] -------------------------------------------------------------------------------- /application/operator/face-counter/dockerfile: -------------------------------------------------------------------------------- 1 | # for raspberry pi 2 | #FROM gavrisco/rpi-openface 3 | FROM bamos/openface 4 | 5 | RUN rm /root/openface/demos/web/start-servers.sh 6 | WORKDIR /tmp 7 | RUN pip install flask 8 | 9 | #RUN sudo echo "Europe/Berlin" > /etc/timezone 10 | #RUN sudo dpkg-reconfigure -f noninteractive tzdata 11 | 12 | RUN mkdir /facecounter 13 | ADD main.py /facecounter 14 | WORKDIR /facecounter 15 | CMD ["python", "./main.py"] -------------------------------------------------------------------------------- /application/operator/face-counter/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.01" 7 | } 8 | ], 9 | "reference": "http://192.168.1.80:8000" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/face-finder/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/facefinder" . 2 | -------------------------------------------------------------------------------- /application/operator/face-finder/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://192.168.1.80:8091/ngsi10" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }] -------------------------------------------------------------------------------- /application/operator/face-finder/dockerfile: -------------------------------------------------------------------------------- 1 | # for raspberry pi 2 | #FROM gavrisco/rpi-openface 3 | FROM bamos/openface 4 | 5 | RUN rm /root/openface/demos/web/start-servers.sh 6 | WORKDIR /tmp 7 | RUN pip install flask 8 | 9 | #RUN sudo echo "Europe/Berlin" > /etc/timezone 10 | #RUN sudo dpkg-reconfigure -f noninteractive tzdata 11 | 12 | RUN mkdir /facefinder 13 | ADD main.py /facefinder 14 | WORKDIR /facefinder 15 | CMD ["python", "./main.py"] -------------------------------------------------------------------------------- /application/operator/face-finder/subscriptionCamera.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/face-finder/subscriptionChildLost.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "ChildLost", 5 | "isPattern": false, 6 | "id": "Stream.ChildLost.01" 7 | } 8 | ], 9 | "reference": "http://192.168.1.80:8009" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/geohash/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "geohash" . 3 | -------------------------------------------------------------------------------- /application/operator/geohash/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/geohash/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/homegateway/acoustic/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/acoustic" . 3 | -------------------------------------------------------------------------------- /application/operator/homegateway/acoustic/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | #FROM hypriot/rpi-node 3 | 4 | WORKDIR /app 5 | ADD . /app 6 | ENTRYPOINT [ "node", "main.js" ] 7 | -------------------------------------------------------------------------------- /application/operator/homegateway/build: -------------------------------------------------------------------------------- 1 | for d in */ ; do 2 | echo "$d" && cd $d && ./build && cd ../ 3 | done 4 | 5 | -------------------------------------------------------------------------------- /application/operator/homegateway/pushbutton/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/pushbutton" . 3 | -------------------------------------------------------------------------------- /application/operator/homegateway/pushbutton/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | #FROM hypriot/rpi-node 3 | 4 | 5 | WORKDIR /app 6 | ADD . /app 7 | ENTRYPOINT [ "node", "main.js" ] 8 | -------------------------------------------------------------------------------- /application/operator/homegateway/speaker/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/speaker" . 3 | -------------------------------------------------------------------------------- /application/operator/homegateway/speaker/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/homegateway/speaker/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | #FROM hypriot/rpi-node 3 | 4 | 5 | WORKDIR /app 6 | ADD . /app 7 | ENTRYPOINT [ "node", "main.js" ] 8 | -------------------------------------------------------------------------------- /application/operator/nodejs/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/nodejs" . 3 | -------------------------------------------------------------------------------- /application/operator/nodejs/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/nodejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fogfunction", 3 | "version": "1.0.0", 4 | "description": "template to create your own fog function", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/predictor/anomaly-conf.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://127.0.0.1:8070/ngsi" 5 | }, 6 | { 7 | "command":"SET_OUTPUTS", 8 | "type": "Anomaly", 9 | "id": "Anomaly.01" 10 | } 11 | ] 12 | 13 | 14 | -------------------------------------------------------------------------------- /application/operator/predictor/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "predictor" . 3 | -------------------------------------------------------------------------------- /application/operator/predictor/commands.json: -------------------------------------------------------------------------------- 1 | [ { command: 'CONNECT_BROKER', 2 | brokerURL: 'http://192.168.99.1:8071/ngsi10'}, 3 | { command: 'SET_OUTPUTS', 4 | id: 'Anomaly.01', 5 | type: 'Anomaly' } 6 | ] 7 | -------------------------------------------------------------------------------- /application/operator/predictor/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/predictor/function.js: -------------------------------------------------------------------------------- 1 | var geohash = require('ngeohash'); 2 | 3 | exports.handler = function(contextEntity, publish){ 4 | if (contextEntity == null) { 5 | return; 6 | } 7 | 8 | if (contextEntity.attributes == null) { 9 | return; 10 | } 11 | 12 | publish(contextEntity, 0); 13 | }; 14 | 15 | -------------------------------------------------------------------------------- /application/operator/publish.sh: -------------------------------------------------------------------------------- 1 | docker push fogflow/counter 2 | 3 | docker push fogflow/anomaly 4 | 5 | docker push fogflow/publicsite 6 | 7 | docker push fogflow/privatesite 8 | 9 | docker push fogflow/connectedcar 10 | 11 | docker push fogflow/recommender 12 | 13 | docker push fogflow/facefinder 14 | 15 | docker push fogflow/facecounter 16 | 17 | docker push fogflow/sum 18 | 19 | docker push fogflow/dummy 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /application/operator/smartparking/build: -------------------------------------------------------------------------------- 1 | for d in */ ; do 2 | echo "$d" && cd $d && ./build && cd ../ 3 | done 4 | 5 | -------------------------------------------------------------------------------- /application/operator/smartparking/connectedcar/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/connectedcar" . 3 | -------------------------------------------------------------------------------- /application/operator/smartparking/connectedcar/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/smartparking/privatesite/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/privatesite" . 3 | -------------------------------------------------------------------------------- /application/operator/smartparking/privatesite/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/smartparking/publicsite/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/publicsite" . 3 | -------------------------------------------------------------------------------- /application/operator/smartparking/publicsite/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /application/operator/smartparking/recommender/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/recommender" . 3 | -------------------------------------------------------------------------------- /application/operator/smartparking/recommender/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | 6 | ENTRYPOINT [ "node", "main.js" ] 7 | -------------------------------------------------------------------------------- /application/operator/sum/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/sum" . 3 | -------------------------------------------------------------------------------- /application/operator/sum/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://192.168.1.80:8091/ngsi10" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "Stream.FaceSum.01", 7 | "type": "FaceSum" 8 | }] -------------------------------------------------------------------------------- /application/operator/sum/dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js" ] 6 | 7 | -------------------------------------------------------------------------------- /application/operator/sum/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_anomaly", 3 | "version": "1.0.0", 4 | "description": "dockerized task for anomaly detection", 5 | "author": "Bin Cheng", 6 | "main": "main.js", 7 | "scripts": { 8 | "start": "node main.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.13.3", 12 | "axios": "*", 13 | "logops": "*", 14 | "body-parser": "*" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/operator/sum/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "FaceNum", 5 | "isPattern": false, 6 | "id": "Stream.FaceNum.01" 7 | } 8 | ], 9 | "reference": "http://192.168.1.80:8001" 10 | } 11 | -------------------------------------------------------------------------------- /application/operator/sum/test.sh: -------------------------------------------------------------------------------- 1 | #start a container for test 2 | docker run -p 8001:8080 -t -i sum 3 | 4 | #configurate 5 | curl -X POST "http://192.168.1.80:8001/admin" -d @config.json --header "Content-Type:application/json" --header "Accept:application/json" 6 | 7 | #issue a subscription to get the input data 8 | curl -X POST "http://192.168.1.80:8091/ngsi10/subscribeContext" -d @subscription.json --header "Content-Type:application/json" --header "Accept:application/json" 9 | 10 | -------------------------------------------------------------------------------- /application/operator/tpu/build: -------------------------------------------------------------------------------- 1 | docker build -t "fogflow/tpu" . 2 | -------------------------------------------------------------------------------- /application/operator/tpu/dockerfile: -------------------------------------------------------------------------------- 1 | FROM lemariva/raspbian-edgetpu 2 | 3 | WORKDIR "/notebooks/" 4 | 5 | ADD requirements.txt ./ 6 | 7 | RUN pip3 install -r requirements.txt 8 | 9 | ADD main.py ./ 10 | 11 | 12 | CMD ["python3","-u", "./main.py"] 13 | 14 | -------------------------------------------------------------------------------- /application/operator/tpu/env.list: -------------------------------------------------------------------------------- 1 | adminCfg=[{"command": "CONNECT_BROKER", "brokerURL": "http://192.168.1.100/ngsi10"}, {"command": "SET_OUTPUTS","id": "Stream.Defected.01","type": "Defected"},{"command": "SET_CAMERA_URL","URL": "http://192.168.1.100:8040/image"}] 2 | myport=8008 3 | 4 | -------------------------------------------------------------------------------- /application/operator/tpu/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==1.0.2 2 | requests>=2.20.0 -------------------------------------------------------------------------------- /application/operator/tpu/start.sh: -------------------------------------------------------------------------------- 1 | #start a container for test 2 | docker run --name legotpu -d --privileged -p 8008:8008 -v /dev/bus/usb:/dev/bus/usb --env-file env.list --restart unless-stopped fogflow/tpu 3 | 4 | #sleep 5 5 | 6 | #issue a subscription to get the input data 7 | #curl -X POST "http://192.168.1.100/ngsi10/subscribeContext" -d @subscription.json --header "Content-Type:application/json" --header "Accept:application/json" 8 | 9 | -------------------------------------------------------------------------------- /application/operator/tpu/stop.sh: -------------------------------------------------------------------------------- 1 | docker stop legotpu 2 | docker rm legotpu 3 | 4 | -------------------------------------------------------------------------------- /application/operator/tpu/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Pushbutton", 5 | "isPattern": false, 6 | "id": "Device.Pushbutton.0001" 7 | } 8 | ], 9 | "reference": "http://192.168.1.100:8008" 10 | } 11 | -------------------------------------------------------------------------------- /application/template/NGSI/go/build: -------------------------------------------------------------------------------- 1 | go build 2 | docker build -t "fogflow/gofunction" . 3 | 4 | -------------------------------------------------------------------------------- /application/template/NGSI/go/config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://127.0.0.1/ngsi10" 5 | }, 6 | { 7 | "command":"SET_INPUTS", 8 | "type": "MYSQL" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /application/template/NGSI/go/dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | 3 | ADD go / 4 | CMD ["/go"] 5 | 6 | -------------------------------------------------------------------------------- /application/template/NGSI/go/function.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | . "fogflow/common/ngsi" 7 | ) 8 | 9 | type publishContextFunc func(ctxObj *ContextObject) 10 | 11 | func fogfunction(ctxObj *ContextObject, publish publishContextFunc) error { 12 | fmt.Println(ctxObj) 13 | 14 | return nil 15 | } 16 | -------------------------------------------------------------------------------- /application/template/NGSI/go/go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/template/NGSI/go/go -------------------------------------------------------------------------------- /application/template/NGSI/java/build: -------------------------------------------------------------------------------- 1 | mvn clean install 2 | 3 | docker build -t "javafogfunction" . 4 | -------------------------------------------------------------------------------- /application/template/NGSI/java/dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:12-jdk-alpine 2 | VOLUME /tmp 3 | COPY target/fogfunction.jar app.jar 4 | EXPOSE 8080 5 | ENTRYPOINT ["java","-jar","/app.jar"] -------------------------------------------------------------------------------- /application/template/NGSI/java/src/main/java/com/fogflow/fogfunction/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.fogflow.fogfunction; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /application/template/NGSI/java/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=${myport} -------------------------------------------------------------------------------- /application/template/NGSI/javascript/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/connectedcar" . 3 | -------------------------------------------------------------------------------- /application/template/NGSI/javascript/config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://127.0.0.1/ngsi10" 5 | }, 6 | { 7 | "command":"SET_INPUTS", 8 | "type": "Temperature" 9 | } 10 | ] 11 | 12 | -------------------------------------------------------------------------------- /application/template/NGSI/javascript/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/template/NGSI/python/build: -------------------------------------------------------------------------------- 1 | docker build -t "python-fog-function" . 2 | -------------------------------------------------------------------------------- /application/template/NGSI/python/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://192.168.1.80:8091/ngsi10" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }] -------------------------------------------------------------------------------- /application/template/NGSI/python/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD requirements.txt /task 8 | WORKDIR /task 9 | 10 | RUN pip install -r requirements.txt 11 | 12 | CMD ["python", "./main.py"] 13 | -------------------------------------------------------------------------------- /application/template/NGSI/python/function.py: -------------------------------------------------------------------------------- 1 | def handleEntity(ctxObj, publish): 2 | print('===============receive context entity====================') 3 | print(ctxObj) 4 | -------------------------------------------------------------------------------- /application/template/NGSI/python/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | -------------------------------------------------------------------------------- /application/template/NGSI/python/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /application/template/NGSILD/go/build: -------------------------------------------------------------------------------- 1 | go build 2 | docker build -t "fogflow/gofunction" . 3 | 4 | -------------------------------------------------------------------------------- /application/template/NGSILD/go/config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "command":"CONNECT_BROKER", 4 | "brokerURL": "http://180.179.214.202:8070" 5 | }, 6 | { 7 | "command":"SET_INPUTS", 8 | "type": "test", 9 | "id": "urn:ngsi-ld:Vehicle:A14" 10 | } 11 | ] 12 | -------------------------------------------------------------------------------- /application/template/NGSILD/go/dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | 3 | ADD goTemplate / 4 | CMD ["./goTemplate"] 5 | 6 | -------------------------------------------------------------------------------- /application/template/NGSILD/go/function.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type publishContextFunc func(ctxObj map[string]interface{}) 8 | 9 | // publish update on FogFlow broker 10 | 11 | func fogfunction(ctxObj map[string]interface{}, publish publishContextFunc) error { 12 | fmt.Println(ctxObj) 13 | //============== publish data ============== 14 | publish(ctxObj) 15 | return nil 16 | } 17 | -------------------------------------------------------------------------------- /application/template/NGSILD/go/go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/application/template/NGSILD/go/go -------------------------------------------------------------------------------- /application/template/NGSILD/javascript/build: -------------------------------------------------------------------------------- 1 | npm install 2 | docker build -t "fogflow/connectedcar" . 3 | -------------------------------------------------------------------------------- /application/template/NGSILD/javascript/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }, { 13 | "command": "SET_REFERENCE", 14 | "url": "http://180.179.214.202:8888/notifyContext" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /application/template/NGSILD/javascript/dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node 2 | 3 | WORKDIR /app 4 | ADD . /app 5 | ENTRYPOINT [ "node", "main.js", "-o"] 6 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/build: -------------------------------------------------------------------------------- 1 | docker build -t "python-ngsild-fog-function" . 2 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/config.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "command": "CONNECT_BROKER", 3 | "brokerURL": "http://180.179.214.202:8070" 4 | }, { 5 | "command": "SET_OUTPUTS", 6 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 7 | "type": "ChildFound" 8 | }, { 9 | "command": "SET_INPUTS", 10 | "id": "urn:ngsi-ld:Stream.ChildFound.01", 11 | "type": "ChildFound" 12 | }] 13 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | 3 | RUN mkdir /task 4 | ADD main.py /task 5 | ADD function.py /task 6 | ADD config.json /task 7 | ADD requirements.txt /task 8 | WORKDIR /task 9 | 10 | RUN pip install -r requirements.txt 11 | 12 | CMD ["python", "./main.py", "-o"] 13 | 14 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/function.py: -------------------------------------------------------------------------------- 1 | def handleEntity(ctxObj, publish): 2 | print('===============Implement losic====================') 3 | print(ctxObj) 4 | publish(ctxObj) 5 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.12,<0.13 2 | requests>=2.20.0 3 | -------------------------------------------------------------------------------- /application/template/NGSILD/python/subscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": [ 3 | { 4 | "type": "Camera", 5 | "isPattern": false, 6 | "id": "Stream.Camera.02" 7 | } 8 | ], 9 | "reference": "http://192.168.1.102:36772" 10 | } 11 | -------------------------------------------------------------------------------- /broker/Dockerfile4Arm: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD broker_arm /broker 3 | CMD ["/broker"] 4 | 5 | -------------------------------------------------------------------------------- /broker/Dockerfile4Armv8: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD broker_arm64 /broker 3 | CMD ["/broker"] 4 | 5 | -------------------------------------------------------------------------------- /broker/Dockerfile_development: -------------------------------------------------------------------------------- 1 | FROM alpine 2 | ADD broker / 3 | CMD ["/broker"] 4 | -------------------------------------------------------------------------------- /broker/Dockerfile_multiarch: -------------------------------------------------------------------------------- 1 | FROM alpine 2 | ARG TARGETOS 3 | ARG TARGETARCH 4 | ADD /${TARGETOS}/${TARGETARCH}/broker / 5 | CMD ["/broker"] 6 | -------------------------------------------------------------------------------- /broker/Dockerfile_multistage: -------------------------------------------------------------------------------- 1 | FROM golang:1.16 AS builder 2 | WORKDIR /go/src/ 3 | ADD /broker broker/ 4 | ADD /common common/ 5 | ADD go.mod . 6 | ADD go.sum . 7 | WORKDIR /go/src/broker 8 | RUN go get; 9 | RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o broker 10 | 11 | FROM scratch 12 | COPY --from=builder /go/src/broker/broker / 13 | CMD ["/broker"] 14 | -------------------------------------------------------------------------------- /broker/README.md: -------------------------------------------------------------------------------- 1 | ## How to build each FogFlow component 2 | 3 | A bash script is provided to build this docker image. 4 | 5 | ```console 6 | ./build.sh 7 | ``` 8 | 9 | Two docker images will be generated: one for Ubuntu Linux and the other for ARM-based raspberry pi 10 | -------------------------------------------------------------------------------- /broker/build_k8s: -------------------------------------------------------------------------------- 1 | docker buildx build --platform linux/arm,linux/arm64,linux/amd64 --push -f ./Dockerfile_multiarch -t "fogflow/broker:k8s" . 2 | -------------------------------------------------------------------------------- /cleanup.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | docker rmi -f $(docker images -q) 9 | 10 | -------------------------------------------------------------------------------- /cli/python/__init__.py: -------------------------------------------------------------------------------- 1 | from fogflowclient.fogflowclient import FogFlowClient, WebSocketClient, ContextEntity 2 | 3 | 4 | __all__ = [ 5 | FogFlowClient, 6 | WebSocketClient, 7 | ContextEntity 8 | ] 9 | -------------------------------------------------------------------------------- /cli/python/requirements.txt: -------------------------------------------------------------------------------- 1 | python-socketio==5.12.1 2 | Requests==2.32.3 3 | -------------------------------------------------------------------------------- /deployment/helm/cloud-chart.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/deployment/helm/cloud-chart.zip -------------------------------------------------------------------------------- /deployment/helm/edge-chart.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/deployment/helm/edge-chart.zip -------------------------------------------------------------------------------- /deployment/helm/edge-chart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /deployment/helm_with_RBAC/cloud-chart-rbac.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/deployment/helm_with_RBAC/cloud-chart-rbac.zip -------------------------------------------------------------------------------- /deployment/helm_with_RBAC/edge-chart-rbac.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/deployment/helm_with_RBAC/edge-chart-rbac.zip -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/cleanup.sh: -------------------------------------------------------------------------------- 1 | kubectl -n fogflow-cloud delete pvc designer-pvc 2 | kubectl delete pv designer-pv 3 | 4 | kubectl delete namespace fogflow-cloud 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/designer-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: designer-pv 5 | spec: 6 | capacity: 7 | storage: 512Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | hostPath: 11 | path: /tmp/fogflow 12 | -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/designer-pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: designer-pvc 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 256Mi -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/retag-image.sh: -------------------------------------------------------------------------------- 1 | docker image tag fogflow/designer:latest fogflow/designer:k8s 2 | docker image tag fogflow/discovery:latest fogflow/discovery:k8s 3 | docker image tag fogflow/broker:latest fogflow/broker:k8s 4 | docker image tag fogflow/master:latest fogflow/master:k8s 5 | docker image tag fogflow/worker:latest fogflow/worker:k8s 6 | -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/start.sh: -------------------------------------------------------------------------------- 1 | kubectl -n fogflow-cloud create -f configmap.yaml 2 | 3 | kubectl -n fogflow-cloud create -f rabbitmq.yaml 4 | 5 | kubectl -n fogflow-cloud create -f discovery.yaml 6 | kubectl -n fogflow-cloud create -f broker.yaml 7 | kubectl -n fogflow-cloud create -f master.yaml 8 | kubectl -n fogflow-cloud create -f worker.yaml 9 | kubectl -n fogflow-cloud create -f designer.yaml 10 | -------------------------------------------------------------------------------- /deployment/kubernetes/cloud-node/stop.sh: -------------------------------------------------------------------------------- 1 | kubectl -n fogflow-cloud delete -f discovery.yaml 2 | kubectl -n fogflow-cloud delete -f broker.yaml 3 | kubectl -n fogflow-cloud delete -f master.yaml 4 | kubectl -n fogflow-cloud delete -f worker.yaml 5 | kubectl -n fogflow-cloud delete -f designer.yaml 6 | 7 | kubectl -n fogflow-cloud delete -f rabbitmq.yaml 8 | kubectl -n fogflow-cloud delete -f configmap.yaml 9 | -------------------------------------------------------------------------------- /deployment/kubernetes/edge-node/start.sh: -------------------------------------------------------------------------------- 1 | kubectl create namespace fogflow-edge 2 | 3 | kubectl -n fogflow-edge create -f edge-configmap.yaml 4 | 5 | kubectl -n fogflow-edge create -f edge-broker.yaml 6 | kubectl -n fogflow-edge create -f edge-worker.yaml 7 | 8 | -------------------------------------------------------------------------------- /deployment/kubernetes/edge-node/stop.sh: -------------------------------------------------------------------------------- 1 | kubectl -n fogflow-edge delete -f edge-broker.yaml 2 | kubectl -n fogflow-edge delete -f edge-worker.yaml 3 | 4 | kubectl -n fogflow-edge delete -f edge-configmap.yaml 5 | 6 | kubectl delete namespace fogflow-edge 7 | -------------------------------------------------------------------------------- /deployment/mec/cloud-node/cleanup.sh: -------------------------------------------------------------------------------- 1 | kfg="--kubeconfig=cloud.yaml" 2 | 3 | kubectl $kfg -n fogflow delete pvc designer-pvc 4 | kubectl $kfg delete pv designer-pv 5 | 6 | #kubectl $kfg delete -f serviceaccount.yaml 7 | 8 | kubectl $kfg delete namespace fogflow 9 | 10 | 11 | -------------------------------------------------------------------------------- /deployment/mec/cloud-node/designer-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: designer-pv 5 | spec: 6 | capacity: 7 | storage: 512Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | hostPath: 11 | path: /tmp/fogflow -------------------------------------------------------------------------------- /deployment/mec/cloud-node/designer-pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: designer-pvc 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 256Mi -------------------------------------------------------------------------------- /deployment/mec/cloud-node/retag-image.sh: -------------------------------------------------------------------------------- 1 | docker image tag fogflow/designer:latest fogflow/designer:k8s 2 | docker image tag fogflow/discovery:latest fogflow/discovery:k8s 3 | docker image tag fogflow/broker:latest fogflow/broker:k8s 4 | docker image tag fogflow/master:latest fogflow/master:k8s 5 | docker image tag fogflow/worker:latest fogflow/worker:k8s 6 | -------------------------------------------------------------------------------- /deployment/mec/cloud-node/setup.sh: -------------------------------------------------------------------------------- 1 | kfg="--kubeconfig=cloud.yaml" 2 | 3 | kubectl $kfg create namespace fogflow 4 | 5 | kubectl $kfg apply -f designer-pv.yaml 6 | 7 | kubectl $kfg -n fogflow create -f designer-pvc.yaml 8 | 9 | -------------------------------------------------------------------------------- /deployment/mec/edge-node/start.sh: -------------------------------------------------------------------------------- 1 | kfg="--kubeconfig=edge.yaml" 2 | 3 | kubectl $kfg create namespace fogflow 4 | 5 | kubectl $kfg -n fogflow create -f edge-configmap.yaml 6 | 7 | kubectl $kfg -n fogflow create -f edge-broker.yaml 8 | kubectl $kfg -n fogflow create -f edge-worker.yaml 9 | 10 | -------------------------------------------------------------------------------- /deployment/mec/edge-node/stop.sh: -------------------------------------------------------------------------------- 1 | kfg="--kubeconfig=edge.yaml" 2 | 3 | kubectl $kfg -n fogflow delete -f edge-broker.yaml 4 | kubectl $kfg -n fogflow delete -f edge-worker.yaml 5 | 6 | kubectl $kfg -n fogflow delete -f edge-configmap.yaml 7 | 8 | kubectl $kfg delete namespace fogflow 9 | -------------------------------------------------------------------------------- /designer/Dockerfile_development: -------------------------------------------------------------------------------- 1 | FROM node:16-alpine 2 | 3 | WORKDIR /app 4 | 5 | ADD config.json /app 6 | ADD package.json /app 7 | 8 | RUN npm install 9 | 10 | ADD main.js /app 11 | ADD rabbitmq.cjs /app 12 | ADD ./public /app/public 13 | 14 | 15 | ENTRYPOINT [ "node", "main.js" ] 16 | -------------------------------------------------------------------------------- /designer/Dockerfile_multistage: -------------------------------------------------------------------------------- 1 | FROM node:16-alpine as builder 2 | WORKDIR /go/src 3 | ADD /designer designer/ 4 | WORKDIR /go/src/designer 5 | RUN npm install 6 | 7 | FROM node:11-alpine 8 | COPY --from=builder /go/src/designer /app 9 | WORKDIR /app/ 10 | ENTRYPOINT [ "node", "main.js" ] 11 | -------------------------------------------------------------------------------- /designer/README.md: -------------------------------------------------------------------------------- 1 | ## How to build each FogFlow component 2 | 3 | A bash script is provided to build this docker image. 4 | 5 | ```console 6 | ./build.sh 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /designer/build_k8s: -------------------------------------------------------------------------------- 1 | docker image tag fogflow/designer:latest fogflow/designer:k8s 2 | -------------------------------------------------------------------------------- /designer/dockerfile4arm: -------------------------------------------------------------------------------- 1 | FROM arm32v6/node:8.14.0-alpine 2 | WORKDIR /app 3 | ADD . /app 4 | RUN npm install 5 | ENTRYPOINT [ "node", "main.js" ] 6 | -------------------------------------------------------------------------------- /designer/public/fogflow.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/fogflow.ico -------------------------------------------------------------------------------- /designer/public/img/Crop_prediction_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/Crop_prediction_topology.png -------------------------------------------------------------------------------- /designer/public/img/anomaly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/anomaly.jpg -------------------------------------------------------------------------------- /designer/public/img/arch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/arch.jpg -------------------------------------------------------------------------------- /designer/public/img/awning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/awning.png -------------------------------------------------------------------------------- /designer/public/img/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/camera.png -------------------------------------------------------------------------------- /designer/public/img/customerjourney_cdpSegmentIdentification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourney_cdpSegmentIdentification.png -------------------------------------------------------------------------------- /designer/public/img/customerjourney_customersatisfactionindex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourney_customersatisfactionindex.png -------------------------------------------------------------------------------- /designer/public/img/customerjourney_transactionsSimulation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourney_transactionsSimulation.png -------------------------------------------------------------------------------- /designer/public/img/customerjourney_wishedStoreSelection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourney_wishedStoreSelection.png -------------------------------------------------------------------------------- /designer/public/img/customerjourneydigitaltwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourneydigitaltwin.png -------------------------------------------------------------------------------- /designer/public/img/customerjourneyscenario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/customerjourneyscenario.png -------------------------------------------------------------------------------- /designer/public/img/device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/device.png -------------------------------------------------------------------------------- /designer/public/img/edge7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/edge7.png -------------------------------------------------------------------------------- /designer/public/img/factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/factory.png -------------------------------------------------------------------------------- /designer/public/img/flow-smartawning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/flow-smartawning.png -------------------------------------------------------------------------------- /designer/public/img/gateway.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/gateway.jpg -------------------------------------------------------------------------------- /designer/public/img/gateway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/gateway.png -------------------------------------------------------------------------------- /designer/public/img/heart_health.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/heart_health.png -------------------------------------------------------------------------------- /designer/public/img/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/home.png -------------------------------------------------------------------------------- /designer/public/img/lddevice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/lddevice.png -------------------------------------------------------------------------------- /designer/public/img/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/location.png -------------------------------------------------------------------------------- /designer/public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/logo.png -------------------------------------------------------------------------------- /designer/public/img/lost-child-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/lost-child-topology.png -------------------------------------------------------------------------------- /designer/public/img/parkingsite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/parkingsite.png -------------------------------------------------------------------------------- /designer/public/img/rainsensor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/rainsensor.png -------------------------------------------------------------------------------- /designer/public/img/shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/shop.png -------------------------------------------------------------------------------- /designer/public/img/smart-parking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/smart-parking.png -------------------------------------------------------------------------------- /designer/public/img/spritesheet-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/spritesheet-2x.png -------------------------------------------------------------------------------- /designer/public/img/spritesheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/spritesheet.png -------------------------------------------------------------------------------- /designer/public/img/taxi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/img/taxi.png -------------------------------------------------------------------------------- /designer/public/js/webcam.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/js/webcam.swf -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/blank.gif -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/fancybox_loading.gif -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/fancybox_overlay.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/fancybox_sprite.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/fancybox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/fancybox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/blockFade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/blockFade.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/circle.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/circle_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/circle_full.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/circle_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/circle_selected.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/clear.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/comment.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/comment.gif -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/compact.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/compile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/compile.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/delete.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/export.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/fade.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/function.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/image.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/info.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/inputstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/inputstream.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/logic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/logic.gif -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/logo.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/logo.xcf -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/loop.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/math.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/math.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/menufade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/menufade.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/menufadeOver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/menufadeOver.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/output.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/pins.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/print.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/scale.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/settings.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/signal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/signal.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/task.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/time.png -------------------------------------------------------------------------------- /designer/public/lib/blocks/gfx/titleFade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/blocks/gfx/titleFade.png -------------------------------------------------------------------------------- /designer/public/lib/bootstrap/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/bootstrap/Thumbs.db -------------------------------------------------------------------------------- /designer/public/lib/bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /designer/public/lib/bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/lib/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /designer/public/photo/awning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/awning.png -------------------------------------------------------------------------------- /designer/public/photo/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/camera.png -------------------------------------------------------------------------------- /designer/public/photo/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/cloud.png -------------------------------------------------------------------------------- /designer/public/photo/content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/content.png -------------------------------------------------------------------------------- /designer/public/photo/content_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/content_1x.png -------------------------------------------------------------------------------- /designer/public/photo/content_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/content_2x.png -------------------------------------------------------------------------------- /designer/public/photo/defaultIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/defaultIcon.png -------------------------------------------------------------------------------- /designer/public/photo/lostchild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/lostchild.png -------------------------------------------------------------------------------- /designer/public/photo/rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/rain.png -------------------------------------------------------------------------------- /designer/public/photo/shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/photo/shop.png -------------------------------------------------------------------------------- /designer/public/sound/alarm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/sound/alarm.mp3 -------------------------------------------------------------------------------- /designer/public/sound/sos.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/designer/public/sound/sos.mp3 -------------------------------------------------------------------------------- /discovery/Dockerfile4Arm: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD discovery_arm /discovery 3 | CMD ["/discovery"] 4 | 5 | -------------------------------------------------------------------------------- /discovery/Dockerfile_development: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD discovery / 3 | CMD ["/discovery"] 4 | 5 | -------------------------------------------------------------------------------- /discovery/Dockerfile_multistage: -------------------------------------------------------------------------------- 1 | FROM golang:1.16 AS builder 2 | WORKDIR /go/src/ 3 | ADD /discovery discovery/ 4 | ADD /common common/ 5 | ADD go.mod . 6 | ADD go.sum . 7 | WORKDIR /go/src/discovery 8 | RUN go get; 9 | RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o discovery 10 | 11 | FROM scratch 12 | COPY --from=builder /go/src/discovery/discovery / 13 | CMD ["/discovery"] 14 | -------------------------------------------------------------------------------- /discovery/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## How to build each FogFlow component 3 | 4 | A bash script is provided to build this docker image. 5 | 6 | ```console 7 | ./build.sh 8 | ``` 9 | 10 | 11 | -------------------------------------------------------------------------------- /discovery/build_k8s: -------------------------------------------------------------------------------- 1 | docker image tag fogflow/discovery:latest fogflow/discovery:k8s 2 | -------------------------------------------------------------------------------- /docker/core/http/grafana/dashboards.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docker/core/http/grafana/dashboards.zip -------------------------------------------------------------------------------- /docker/core/https/local/coredns.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | coredns: 4 | image: coredns/coredns 5 | restart: always 6 | expose: 7 | - '53' 8 | - '53/udp' 9 | ports: 10 | - '53:53' 11 | - '53:53/udp' 12 | volumes: 13 | - './dns:/etc/coredns' 14 | -------------------------------------------------------------------------------- /docker/core/https/local/dns/Corefile: -------------------------------------------------------------------------------- 1 | .:53 { 2 | forward . 8.8.8.8 9.9.9.9 3 | log 4 | errors 5 | } 6 | 7 | example.com:53 { 8 | file /root/example.db 9 | log 10 | errors 11 | } 12 | 13 | -------------------------------------------------------------------------------- /docker/core/https/local/root_ca.srl: -------------------------------------------------------------------------------- 1 | 906C63E7077564E6 2 | -------------------------------------------------------------------------------- /docker/edge/http/clean.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | docker rmi $(docker images -q) 9 | -------------------------------------------------------------------------------- /docker/edge/http/edge_stop.sh: -------------------------------------------------------------------------------- 1 | #This script is used to stop and remove the docker containers for edge components. 2 | 3 | docker stop edgebroker && docker rm $_ 4 | docker stop edgeworker && docker rm $_ 5 | -------------------------------------------------------------------------------- /docker/edge/http/local/stop.sh: -------------------------------------------------------------------------------- 1 | docker stop metricbeat && docker rm $_ 2 | docker stop edgebroker && docker rm $_ 3 | docker stop edgeworker && docker rm $_ 4 | 5 | 6 | -------------------------------------------------------------------------------- /docker/edge/http/oauth_config.js: -------------------------------------------------------------------------------- 1 | //This file is containing run time informations that is required in setting up security over edge node 2 | 3 | //Keyrock IP address 4 | IDM_IP:"180.179.214.199" 5 | 6 | //Edge IP_ADDRESS 7 | Edge_IP:"180.179.214.211" 8 | -------------------------------------------------------------------------------- /docker/edge/http/stop.sh: -------------------------------------------------------------------------------- 1 | #SCript to bring down the edge and remove corresponding docker containers 2 | docker stop metricbeat && docker rm $_ 3 | docker stop edgebroker && docker rm $_ 4 | docker stop edgeworker && docker rm $_ 5 | docker stop pepEdge && docker rm $_ 6 | -------------------------------------------------------------------------------- /docker/edge/https/clean.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | docker rmi $(docker images -q) 9 | -------------------------------------------------------------------------------- /docker/kubernetes/README.md: -------------------------------------------------------------------------------- 1 | to deploy FogFlow agent for each site, which is running kubernetes for container orchestration 2 | 3 | -------------------------------------------------------------------------------- /docker/lego/cleanup.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | #docker rmi $(docker images -q) 9 | 10 | -------------------------------------------------------------------------------- /docker/scorpio/subscribe.sh: -------------------------------------------------------------------------------- 1 | curl -X POST 'http://localhost:8070/ngsi10/subscribeContext' \ 2 | -H 'Content-Type: application/json' \ 3 | -H 'Destination: ngsild-broker' \ 4 | -H 'NGSILD-Tenant: ccoc' \ 5 | -d '{ 6 | "entities":[{"type":"AirQualityObserved","isPattern":true}], 7 | "reference": "http://host.docker.internal:9090" 8 | }' 9 | 10 | -------------------------------------------------------------------------------- /docker/smarthome/gateway1/clean.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | docker rmi $(docker images -q) 9 | -------------------------------------------------------------------------------- /docker/smarthome/gateway1/start.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ]; then 2 | htype='latest' 3 | else 4 | htype='arm' 5 | fi 6 | 7 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8080:8080 fogflow/broker:$htype 8 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker:$htype 9 | 10 | -------------------------------------------------------------------------------- /docker/smarthome/gateway1/stop.sh: -------------------------------------------------------------------------------- 1 | docker stop edgebroker && docker rm $_ 2 | docker stop edgeworker && docker rm $_ 3 | 4 | 5 | -------------------------------------------------------------------------------- /docker/smarthome/gateway2/clean.sh: -------------------------------------------------------------------------------- 1 | #stop all containers: 2 | docker kill $(docker ps -q) 3 | 4 | #remove all containers 5 | docker rm $(docker ps -a -q) 6 | 7 | #remove all docker images 8 | docker rmi $(docker images -q) 9 | -------------------------------------------------------------------------------- /docker/smarthome/gateway2/start.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ]; then 2 | htype='latest' 3 | else 4 | htype='arm' 5 | fi 6 | 7 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8080:8080 fogflow/broker:$htype 8 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker:$htype 9 | 10 | -------------------------------------------------------------------------------- /docker/smarthome/gateway2/stop.sh: -------------------------------------------------------------------------------- 1 | docker stop edgebroker && docker rm $_ 2 | docker stop edgeworker && docker rm $_ 3 | 4 | 5 | -------------------------------------------------------------------------------- /docker/smartparking/designer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "webSrvPort": 80, 3 | "discoveryURL": "http://155.54.239.141:443/ngsi9", 4 | "brokerURL": "http://155.54.239.141:8080/ngsi10", 5 | "agentIP": "155.54.239.141", 6 | "agentPort": 1030 7 | } 8 | -------------------------------------------------------------------------------- /docker/smartparking/master-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "message_bus": "amqp://admin:mypass@rabbitmq:5672/", 3 | "my_ip": "155.54.239.141", 4 | "ngsi_agent_port": 1060, 5 | "iot_discovery_url": "http://discovery:443/ngsi9", 6 | "physical_location":{ 7 | "longitude": -1.131133, 8 | "latitude": 37.990905, 9 | "section": "01", 10 | "district": "02", 11 | "city": "Tokyo" 12 | }, 13 | "logging":{ 14 | "info":"stdout", 15 | "debug": "stdout" 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /docs/en/README.md: -------------------------------------------------------------------------------- 1 | # FogFlow Documentation 2 | 3 | To compile the documentation, run the following commands from this directory. 4 | Note that Ray must be installed first. 5 | 6 | ``` 7 | pip install -r requirements.txt 8 | make html 9 | open _build/html/index.html 10 | ``` 11 | 12 | To test if there are any build errors with the documentation, do the following. 13 | 14 | ``` 15 | sphinx-build -W -b html -d _build/doctrees source _build/html 16 | ``` 17 | -------------------------------------------------------------------------------- /docs/en/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | sphinx_rtd_theme 3 | sphinx_tabs 4 | 5 | -------------------------------------------------------------------------------- /docs/en/source/figures/1.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.1.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.1Data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.1Data.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.1DataSub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.1DataSub.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.1NewData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.1NewData.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.1upsertdata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.1upsertdata.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.2NewUpsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.2NewUpsert.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.2Subscription.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.2Subscription.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.2SubscriptionData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.2SubscriptionData.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.2Upsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.2Upsert.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.2upsertdata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.2upsertdata.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.3upsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.3upsert.png -------------------------------------------------------------------------------- /docs/en/source/figures/1.3upsertdata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/1.3upsertdata.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.1IDData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.1IDData.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.1Id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.1Id.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.1SubBYIDData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.1SubBYIDData.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.1SubID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.1SubID.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.3.png -------------------------------------------------------------------------------- /docs/en/source/figures/2.3QueryCloudEdge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/2.3QueryCloudEdge.png -------------------------------------------------------------------------------- /docs/en/source/figures/Client_ID_Secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Client_ID_Secret.png -------------------------------------------------------------------------------- /docs/en/source/figures/Comsub100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Comsub100.png -------------------------------------------------------------------------------- /docs/en/source/figures/Comsub200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Comsub200.png -------------------------------------------------------------------------------- /docs/en/source/figures/Comsub400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Comsub400.png -------------------------------------------------------------------------------- /docs/en/source/figures/Comsub50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Comsub50.png -------------------------------------------------------------------------------- /docs/en/source/figures/Comsub500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Comsub500.png -------------------------------------------------------------------------------- /docs/en/source/figures/Container_usage_max_memory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Container_usage_max_memory.png -------------------------------------------------------------------------------- /docs/en/source/figures/Createdata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Createdata.png -------------------------------------------------------------------------------- /docs/en/source/figures/Crop_prediction_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Crop_prediction_topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/Elastic_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Elastic_config.png -------------------------------------------------------------------------------- /docs/en/source/figures/FogFlow_System_Design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/FogFlow_System_Design.png -------------------------------------------------------------------------------- /docs/en/source/figures/FogFlow_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/FogFlow_cloud.png -------------------------------------------------------------------------------- /docs/en/source/figures/Fogflow_Cloud_Edge_Nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Fogflow_Cloud_Edge_Nodes.png -------------------------------------------------------------------------------- /docs/en/source/figures/Fogflow_System_Monitoring_Architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Fogflow_System_Monitoring_Architecture.png -------------------------------------------------------------------------------- /docs/en/source/figures/Heart_Menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Heart_Menu.png -------------------------------------------------------------------------------- /docs/en/source/figures/Heart_Prediction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Heart_Prediction.png -------------------------------------------------------------------------------- /docs/en/source/figures/Heart_alert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Heart_alert.png -------------------------------------------------------------------------------- /docs/en/source/figures/Heart_health_Service_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Heart_health_Service_topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/Heart_health_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Heart_health_topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/Integrated_Security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Integrated_Security.png -------------------------------------------------------------------------------- /docs/en/source/figures/Port_Diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Port_Diagram.png -------------------------------------------------------------------------------- /docs/en/source/figures/Query100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Query100.png -------------------------------------------------------------------------------- /docs/en/source/figures/Query200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Query200.png -------------------------------------------------------------------------------- /docs/en/source/figures/Query400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Query400.png -------------------------------------------------------------------------------- /docs/en/source/figures/Query50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Query50.png -------------------------------------------------------------------------------- /docs/en/source/figures/Query500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/Query500.png -------------------------------------------------------------------------------- /docs/en/source/figures/QuerySub100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/QuerySub100.png -------------------------------------------------------------------------------- /docs/en/source/figures/QuerySub200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/QuerySub200.png -------------------------------------------------------------------------------- /docs/en/source/figures/QuerySub400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/QuerySub400.png -------------------------------------------------------------------------------- /docs/en/source/figures/QuerySub50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/QuerySub50.png -------------------------------------------------------------------------------- /docs/en/source/figures/QuerySub500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/QuerySub500.png -------------------------------------------------------------------------------- /docs/en/source/figures/ScalUpsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ScalUpsert.png -------------------------------------------------------------------------------- /docs/en/source/figures/ScaleQueryByID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ScaleQueryByID.png -------------------------------------------------------------------------------- /docs/en/source/figures/ScorpioIntegrationConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ScorpioIntegrationConfig.png -------------------------------------------------------------------------------- /docs/en/source/figures/ScorpioIntegrationConfig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ScorpioIntegrationConfig1.png -------------------------------------------------------------------------------- /docs/en/source/figures/SubscriptionData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/SubscriptionData.png -------------------------------------------------------------------------------- /docs/en/source/figures/System_Memory_Gauge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/System_Memory_Gauge.png -------------------------------------------------------------------------------- /docs/en/source/figures/System_Metric_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/System_Metric_cloud.png -------------------------------------------------------------------------------- /docs/en/source/figures/System_Metric_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/System_Metric_filter.png -------------------------------------------------------------------------------- /docs/en/source/figures/System_memory_in_bytes_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/System_memory_in_bytes_cloud.png -------------------------------------------------------------------------------- /docs/en/source/figures/UpdateUpsert1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/UpdateUpsert1.png -------------------------------------------------------------------------------- /docs/en/source/figures/UpdateUpsert2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/UpdateUpsert2.png -------------------------------------------------------------------------------- /docs/en/source/figures/WCresult.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/WCresult.png -------------------------------------------------------------------------------- /docs/en/source/figures/access_token_curl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/access_token_curl.png -------------------------------------------------------------------------------- /docs/en/source/figures/adapter-agent.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/adapter-agent.jpg -------------------------------------------------------------------------------- /docs/en/source/figures/addedadminuser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedadminuser.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedadminuseredge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedadminuseredge.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedadminuseredgeoutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedadminuseredgeoutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedadminuseroutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedadminuseroutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedenduser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedenduser.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedenduseredge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedenduseredge.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedenduseredgeoutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedenduseredgeoutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedenduseroutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedenduseroutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedrootuser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedrootuser.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedrootuseredge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedrootuseredge.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedrootuseredgeoutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedrootuseredgeoutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/addedrootuseroutput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/addedrootuseroutput.png -------------------------------------------------------------------------------- /docs/en/source/figures/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/architecture.png -------------------------------------------------------------------------------- /docs/en/source/figures/architectureDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/architectureDiagram.png -------------------------------------------------------------------------------- /docs/en/source/figures/architectureDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/architectureDiagram1.png -------------------------------------------------------------------------------- /docs/en/source/figures/benefit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/benefit.png -------------------------------------------------------------------------------- /docs/en/source/figures/com100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/com100.png -------------------------------------------------------------------------------- /docs/en/source/figures/com200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/com200.png -------------------------------------------------------------------------------- /docs/en/source/figures/com400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/com400.png -------------------------------------------------------------------------------- /docs/en/source/figures/com50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/com50.png -------------------------------------------------------------------------------- /docs/en/source/figures/com500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/com500.png -------------------------------------------------------------------------------- /docs/en/source/figures/compare1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/compare1.PNG -------------------------------------------------------------------------------- /docs/en/source/figures/compare2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/compare2.PNG -------------------------------------------------------------------------------- /docs/en/source/figures/comparison1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/comparison1.png -------------------------------------------------------------------------------- /docs/en/source/figures/comparison2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/comparison2.png -------------------------------------------------------------------------------- /docs/en/source/figures/concept.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/concept.jpg -------------------------------------------------------------------------------- /docs/en/source/figures/configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/configuration.png -------------------------------------------------------------------------------- /docs/en/source/figures/createSub1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/createSub1.png -------------------------------------------------------------------------------- /docs/en/source/figures/createSub2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/createSub2.png -------------------------------------------------------------------------------- /docs/en/source/figures/createdevice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/createdevice.png -------------------------------------------------------------------------------- /docs/en/source/figures/crop_management.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/crop_management.png -------------------------------------------------------------------------------- /docs/en/source/figures/crop_prediction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/crop_prediction.png -------------------------------------------------------------------------------- /docs/en/source/figures/crop_service_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/crop_service_topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/crop_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/crop_task.png -------------------------------------------------------------------------------- /docs/en/source/figures/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/dashboard.png -------------------------------------------------------------------------------- /docs/en/source/figures/deployment-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/deployment-view.png -------------------------------------------------------------------------------- /docs/en/source/figures/detailDescriptionofSampleRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/detailDescriptionofSampleRequest.png -------------------------------------------------------------------------------- /docs/en/source/figures/detailDescriptionofSampleRequest2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/detailDescriptionofSampleRequest2.png -------------------------------------------------------------------------------- /docs/en/source/figures/development_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/development_process.png -------------------------------------------------------------------------------- /docs/en/source/figures/device-monitor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/device-monitor-1.png -------------------------------------------------------------------------------- /docs/en/source/figures/device-monitor-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/device-monitor-2.png -------------------------------------------------------------------------------- /docs/en/source/figures/device-registration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/device-registration.png -------------------------------------------------------------------------------- /docs/en/source/figures/device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/device.png -------------------------------------------------------------------------------- /docs/en/source/figures/device_token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/device_token.png -------------------------------------------------------------------------------- /docs/en/source/figures/distributed-brokers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/distributed-brokers.png -------------------------------------------------------------------------------- /docs/en/source/figures/dockerTaskInstance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/dockerTaskInstance.png -------------------------------------------------------------------------------- /docs/en/source/figures/docker_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/docker_image.png -------------------------------------------------------------------------------- /docs/en/source/figures/docker_image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/docker_image1.png -------------------------------------------------------------------------------- /docs/en/source/figures/docker_image_attachment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/docker_image_attachment.png -------------------------------------------------------------------------------- /docs/en/source/figures/dockerimage-registry-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/dockerimage-registry-list.png -------------------------------------------------------------------------------- /docs/en/source/figures/dockerimage-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/dockerimage-registry.png -------------------------------------------------------------------------------- /docs/en/source/figures/dockerimage_attachment2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/dockerimage_attachment2.png -------------------------------------------------------------------------------- /docs/en/source/figures/edgecfg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/edgecfg.png -------------------------------------------------------------------------------- /docs/en/source/figures/figures.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/figures.pptx -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-add-entityStream-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-add-entityStream-element.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-add-task-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-add-task-element.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-configure-entityStream-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-configure-entityStream-element.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-configure-task-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-configure-task-element.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-connect-elements.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-connect-elements.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-create-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-create-new.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-entities-dummyresult.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-entities-dummyresult.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-streams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-streams.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-submit.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-task-running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-task-running.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-function-triggering-device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-function-triggering-device.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog-node.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog_function_creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog_function_creation.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog_function_creation2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog_function_creation2.png -------------------------------------------------------------------------------- /docs/en/source/figures/fog_function_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fog_function_model.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogflow-ngsild-broker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogflow-ngsild-broker.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogflow-overall-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogflow-overall-view.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogflow-scorpio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogflow-scorpio.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogflow-scorpio1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogflow-scorpio1.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogflow2ngsildbroker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogflow2ngsildbroker.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogfunction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogfunction.png -------------------------------------------------------------------------------- /docs/en/source/figures/fogfunction_ngsi-ld-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/fogfunction_ngsi-ld-adapter.png -------------------------------------------------------------------------------- /docs/en/source/figures/function-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/function-list.png -------------------------------------------------------------------------------- /docs/en/source/figures/function-orchestration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/function-orchestration.png -------------------------------------------------------------------------------- /docs/en/source/figures/gitGuideline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/gitGuideline.jpg -------------------------------------------------------------------------------- /docs/en/source/figures/heart_management.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/heart_management.png -------------------------------------------------------------------------------- /docs/en/source/figures/heart_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/heart_task.png -------------------------------------------------------------------------------- /docs/en/source/figures/highlevelview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/highlevelview.png -------------------------------------------------------------------------------- /docs/en/source/figures/https-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/https-setup.png -------------------------------------------------------------------------------- /docs/en/source/figures/idm_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/idm_dashboard.png -------------------------------------------------------------------------------- /docs/en/source/figures/idm_register1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/idm_register1.png -------------------------------------------------------------------------------- /docs/en/source/figures/idm_register2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/idm_register2.png -------------------------------------------------------------------------------- /docs/en/source/figures/idm_register3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/idm_register3.png -------------------------------------------------------------------------------- /docs/en/source/figures/idm_register4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/idm_register4.png -------------------------------------------------------------------------------- /docs/en/source/figures/imgCreateUpsert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/imgCreateUpsert.png -------------------------------------------------------------------------------- /docs/en/source/figures/imgCreateUpsert2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/imgCreateUpsert2.png -------------------------------------------------------------------------------- /docs/en/source/figures/intent-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/intent-registry.png -------------------------------------------------------------------------------- /docs/en/source/figures/intent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/intent.png -------------------------------------------------------------------------------- /docs/en/source/figures/intent_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/intent_model.png -------------------------------------------------------------------------------- /docs/en/source/figures/iot_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/iot_service.png -------------------------------------------------------------------------------- /docs/en/source/figures/k8s-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/k8s-architecture.png -------------------------------------------------------------------------------- /docs/en/source/figures/key_elements.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/key_elements.png -------------------------------------------------------------------------------- /docs/en/source/figures/keyrock_Account_Portal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/keyrock_Account_Portal.png -------------------------------------------------------------------------------- /docs/en/source/figures/keyrock_iot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/keyrock_iot.png -------------------------------------------------------------------------------- /docs/en/source/figures/keyrock_token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/keyrock_token.png -------------------------------------------------------------------------------- /docs/en/source/figures/launching-task.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/launching-task.jpg -------------------------------------------------------------------------------- /docs/en/source/figures/launching-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/launching-task.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-management.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-management.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-result.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-service_topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-service_topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-steps.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-task.png -------------------------------------------------------------------------------- /docs/en/source/figures/lost-child-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/lost-child-topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/microk8s_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/microk8s_architecture.png -------------------------------------------------------------------------------- /docs/en/source/figures/microk8s_pods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/microk8s_pods.png -------------------------------------------------------------------------------- /docs/en/source/figures/mqtt-cmd-update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/mqtt-cmd-update.png -------------------------------------------------------------------------------- /docs/en/source/figures/mqtt-data-update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/mqtt-data-update.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsi-device-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsi-device-integration.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsi-ld-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsi-ld-adapter.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsild_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsild_architecture.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsildbroker2fogflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsildbroker2fogflow.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsildiotagent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsildiotagent.png -------------------------------------------------------------------------------- /docs/en/source/figures/ngsildiotagentIntegration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ngsildiotagentIntegration.png -------------------------------------------------------------------------------- /docs/en/source/figures/non-ngsi-device-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/non-ngsi-device-integration.png -------------------------------------------------------------------------------- /docs/en/source/figures/ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/ns.png -------------------------------------------------------------------------------- /docs/en/source/figures/nsedge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/nsedge.png -------------------------------------------------------------------------------- /docs/en/source/figures/operator-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/operator-list.png -------------------------------------------------------------------------------- /docs/en/source/figures/operator-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/operator-registry.png -------------------------------------------------------------------------------- /docs/en/source/figures/operator_creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/operator_creation.png -------------------------------------------------------------------------------- /docs/en/source/figures/operator_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/operator_dashboard.png -------------------------------------------------------------------------------- /docs/en/source/figures/orion-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/orion-integration.png -------------------------------------------------------------------------------- /docs/en/source/figures/persistent_data_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/persistent_data_flow.png -------------------------------------------------------------------------------- /docs/en/source/figures/podTaskInstance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/podTaskInstance.png -------------------------------------------------------------------------------- /docs/en/source/figures/portdiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/portdiagram.png -------------------------------------------------------------------------------- /docs/en/source/figures/quantum-leap-fogflow-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/quantum-leap-fogflow-integration.png -------------------------------------------------------------------------------- /docs/en/source/figures/quantum-leap-result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/quantum-leap-result.png -------------------------------------------------------------------------------- /docs/en/source/figures/rbaccloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/rbaccloud.png -------------------------------------------------------------------------------- /docs/en/source/figures/rbacedge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/rbacedge.png -------------------------------------------------------------------------------- /docs/en/source/figures/register_operator3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/register_operator3.png -------------------------------------------------------------------------------- /docs/en/source/figures/responseFromKeyrock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/responseFromKeyrock.png -------------------------------------------------------------------------------- /docs/en/source/figures/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/result.png -------------------------------------------------------------------------------- /docs/en/source/figures/retail-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/retail-flow.png -------------------------------------------------------------------------------- /docs/en/source/figures/retail-topology-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/retail-topology-1.png -------------------------------------------------------------------------------- /docs/en/source/figures/retails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/retails.png -------------------------------------------------------------------------------- /docs/en/source/figures/scorpioIntegration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/scorpioIntegration.png -------------------------------------------------------------------------------- /docs/en/source/figures/security_enhancement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/security_enhancement.png -------------------------------------------------------------------------------- /docs/en/source/figures/service-orchestration.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/service-orchestration.jpg -------------------------------------------------------------------------------- /docs/en/source/figures/service-topology-concept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/service-topology-concept.png -------------------------------------------------------------------------------- /docs/en/source/figures/service-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/service-topology.png -------------------------------------------------------------------------------- /docs/en/source/figures/status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/status.png -------------------------------------------------------------------------------- /docs/en/source/figures/status1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/status1.png -------------------------------------------------------------------------------- /docs/en/source/figures/systemview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/systemview.png -------------------------------------------------------------------------------- /docs/en/source/figures/topology-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/topology-list.png -------------------------------------------------------------------------------- /docs/en/source/figures/topology_register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/topology_register.png -------------------------------------------------------------------------------- /docs/en/source/figures/updateData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/updateData.png -------------------------------------------------------------------------------- /docs/en/source/figures/user_token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/user_token.png -------------------------------------------------------------------------------- /docs/en/source/figures/water_op.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/water_op.png -------------------------------------------------------------------------------- /docs/en/source/figures/waterdocker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/waterdocker.png -------------------------------------------------------------------------------- /docs/en/source/figures/waterfog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/waterfog.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-create-workspace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-create-workspace.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-find-components-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-find-components-button.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-fogflow-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-fogflow-integration.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-home.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-myresources-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-myresources-button.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-myresources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-myresources.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-ngsi-source-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-ngsi-source-settings.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-operator-settings-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-operator-settings-form.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-options.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-wire-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-wire-components.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-wiring-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-wiring-button.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-wiring_add-operator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-wiring_add-operator.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-wiring_add-widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-wiring_add-widget.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-wiring_drag-and-drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-wiring_drag-and-drop.png -------------------------------------------------------------------------------- /docs/en/source/figures/wc-workspace-created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/en/source/figures/wc-workspace-created.png -------------------------------------------------------------------------------- /docs/en/source/system_integration.rst: -------------------------------------------------------------------------------- 1 | ************************* 2 | System Integration 3 | ************************* 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/ja/README.md: -------------------------------------------------------------------------------- 1 | # FogFlowドキュメント 2 | 3 | ドキュメントをコンパイルするには、このディレクトリから次のコマンドを実行します。 4 | Rayを最初にインストールする必要があることに注意してください。 5 | 6 | ``` 7 | pip install -r requirements.txt 8 | make html 9 | open _build/html/index.html 10 | ``` 11 | 12 | ドキュメントにビルドエラーがあるかどうかをテストするには、次の手順を実行します。 13 | 14 | ``` 15 | sphinx-build -W -b html -d _build/doctrees source _build/html 16 | ``` 17 | -------------------------------------------------------------------------------- /docs/ja/index.rst: -------------------------------------------------------------------------------- 1 | the Japanese tutortial 2 | -------------------------------------------------------------------------------- /docs/ja/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | sphinx_rtd_theme 3 | sphinx_tabs 4 | 5 | -------------------------------------------------------------------------------- /docs/ja/source/broker.rst: -------------------------------------------------------------------------------- 1 | thinBroker の API 2 | ====================== 3 | 4 | FogFlow の thinBroker は NGSIv1.0 をサポートできますが、高スループットと低遅延を実現するために、すべてのエンティティの 5 | 最新の値をメモリに保存するように設計されています。SwaggerHub で文書化された REST API を参照ください。 6 | 7 | `REST API documented at SwaggerHub`_ 8 | 9 | .. _`REST API documented at SwaggerHub`: https://app.swaggerhub.com/apis/fogflow/broker/1.0.0 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ja/source/cloud.rst: -------------------------------------------------------------------------------- 1 | ******************************************** 2 | クラウド内のすべてのコアコンポーネントを開始 3 | ******************************************** 4 | 5 | 手順は、単一のマシン上のすべてを設定したものと同じです。 6 | `このステップ `__ を参照してください。 7 | -------------------------------------------------------------------------------- /docs/ja/source/contact.rst: -------------------------------------------------------------------------------- 1 | 連絡先 2 | ======= 3 | 4 | 以下は、FogFlow について議論するのに適した場所です。 5 | 6 | 1. `Our Mailing List`_: メーリング リストでは、開発、使用法、またはその他の一般的な質問に関連することについて話し合うために、電子メールを送信します。 7 | 2. `FIWARE Q&A`_: 他の FIWARE ユーザーと質問や問題について議論します。 8 | 3. `GitHub Issues`_: バグ レポートと機能リクエストに使用します。 9 | 10 | .. _`Our Mailing List`: fogflow@listserv.neclab.eu 11 | .. _`FIWARE Q&A`: https://ask.fiware.org 12 | .. _`GitHub Issues`: https://github.com/smartfog/fogflow/issues 13 | -------------------------------------------------------------------------------- /docs/ja/source/discovery.rst: -------------------------------------------------------------------------------- 1 | fastDiscovery の API 2 | ====================== 3 | 4 | FogFlow の fastDiscovery は、コンテキストの可用性 (context availability) を管理するための標準化された NGSI9 5 | インターフェイスをサポートする一元化されたコンポーネントです。SwaggerHub で文書化された REST API を参照ください。 6 | 7 | `REST API documented at SwaggerHub`_ 8 | 9 | .. _`REST API documented at SwaggerHub`: https://app.swaggerhub.com/apis/fogflow/discovery/1.0.0 10 | 11 | -------------------------------------------------------------------------------- /docs/ja/source/parking.rst: -------------------------------------------------------------------------------- 1 | スマートシティのためのスマートパーキング 2 | ============================================= 3 | 4 | このユースケースはまだ作成中です。 5 | 新しい例としてまもなくリリースされます。 6 | -------------------------------------------------------------------------------- /docs/ja/source/troubleshooting.rst: -------------------------------------------------------------------------------- 1 | トラブルシューティング 2 | ===================== 3 | 4 | このドキュメントでは、FogFlow を使用するときに遭遇するいくつかの一般的な問題と、いくつかの既知の問題について説明します。 5 | その他の問題が発生した場合は、こちらにお知らせください。 6 | `let us know`_ 7 | 8 | .. _`let us know`: https://github.com/smartfog/fogflow/issues 9 | 10 | - エッジ ノードが NAT の背後にあります 11 | エッジ ノードが NAT の背後にある場合、またはエッジで IoT Broker への着信通知をブロックするファイアウォールが 12 | ある場合、エッジ ノードは正しく機能しません。 13 | 近い将来、このタイプのセットアップをサポートする予定です。 14 | -------------------------------------------------------------------------------- /docs/tutorial/images/device-registration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/tutorial/images/device-registration.png -------------------------------------------------------------------------------- /docs/tutorial/images/fog-function-connect-elements.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/tutorial/images/fog-function-connect-elements.png -------------------------------------------------------------------------------- /docs/tutorial/images/fog-function-streams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/tutorial/images/fog-function-streams.png -------------------------------------------------------------------------------- /docs/tutorial/images/fog-function-task-running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/tutorial/images/fog-function-task-running.png -------------------------------------------------------------------------------- /docs/tutorial/images/systemview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/docs/tutorial/images/systemview.png -------------------------------------------------------------------------------- /master/Dockerfile4Arm: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD master_arm /master 3 | CMD ["/master"] 4 | 5 | -------------------------------------------------------------------------------- /master/Dockerfile_development: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD master / 3 | CMD ["/master"] 4 | 5 | -------------------------------------------------------------------------------- /master/Dockerfile_multistage: -------------------------------------------------------------------------------- 1 | FROM golang:1.16 AS builder 2 | WORKDIR /go/src/ 3 | ADD /master master/ 4 | ADD /common common/ 5 | ADD go.mod . 6 | ADD go.sum . 7 | WORKDIR /go/src/master 8 | RUN go get; 9 | RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o master 10 | 11 | FROM scratch 12 | COPY --from=builder /go/src/master/master / 13 | CMD ["/master"] 14 | -------------------------------------------------------------------------------- /master/README.md: -------------------------------------------------------------------------------- 1 | ## How to build each FogFlow component 2 | 3 | A bash script is provided to build this docker image. 4 | 5 | ```console 6 | ./build.sh 7 | ``` 8 | -------------------------------------------------------------------------------- /master/build_k8s: -------------------------------------------------------------------------------- 1 | docker image tag fogflow/master:latest fogflow/master:k8s 2 | -------------------------------------------------------------------------------- /release/3.2.2/cloud/docker-compose.pep.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | networks: 4 | idm_network: 5 | driver: bridge 6 | ipam: 7 | config: 8 | - subnet: 172.18.1.0/24 9 | gateway: 172.18.1.1 10 | 11 | services: 12 | pep-proxy: 13 | image: fiware/pep-proxy 14 | ports: 15 | - "5555:5555" 16 | volumes: 17 | - ./pep_config.js:/opt/fiware-pep-proxy/config.js 18 | 19 | -------------------------------------------------------------------------------- /release/3.2.2/edge/start.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ]; then 2 | htype='3.2' 3 | else 4 | htype='arm' 5 | fi 6 | 7 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8060:8060 fogflow/broker:3.2 8 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker:$htype 9 | 10 | -------------------------------------------------------------------------------- /release/3.2.2/edge/stop.sh: -------------------------------------------------------------------------------- 1 | #SCript to bring down the edge and remove corresponding docker containers 2 | docker stop edgebroker && docker rm $_ 3 | docker stop edgeworker && docker rm $_ 4 | -------------------------------------------------------------------------------- /release/3.2.6/cloud/docker-compose.pep.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | networks: 4 | idm_network: 5 | driver: bridge 6 | ipam: 7 | config: 8 | - subnet: 172.18.1.0/24 9 | gateway: 172.18.1.1 10 | 11 | services: 12 | pep-proxy: 13 | image: fiware/pep-proxy 14 | ports: 15 | - "5555:5555" 16 | volumes: 17 | - ./pep_config.js:/opt/fiware-pep-proxy/config.js 18 | 19 | -------------------------------------------------------------------------------- /release/3.2.6/edge/start.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ]; then 2 | htype='3.2.8' 3 | else 4 | htype='arm' 5 | fi 6 | 7 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8060:8060 fogflow/broker::3.2.8 8 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker:$htype 9 | 10 | -------------------------------------------------------------------------------- /release/3.2.6/edge/stop.sh: -------------------------------------------------------------------------------- 1 | #SCript to bring down the edge and remove corresponding docker containers 2 | docker stop edgebroker && docker rm $_ 3 | docker stop edgeworker && docker rm $_ 4 | -------------------------------------------------------------------------------- /release/3.2.8/edge/start.sh: -------------------------------------------------------------------------------- 1 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8060:8060 fogflow/broker_arm:3.2.8 2 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker_arm:3.2.8 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /release/3.2.8/edge/stop.sh: -------------------------------------------------------------------------------- 1 | #SCript to bring down the edge and remove corresponding docker containers 2 | docker stop edgebroker && docker rm $_ 3 | docker stop edgeworker && docker rm $_ 4 | -------------------------------------------------------------------------------- /release/3.2/edge/start.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ]; then 2 | htype='3.2' 3 | else 4 | htype='arm' 5 | fi 6 | 7 | docker run -d --name=edgebroker -v $(pwd)/config.json:/config.json -p 8060:8060 fogflow/broker:3.2 8 | docker run -d --name=edgeworker -v $(pwd)/config.json:/config.json -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock fogflow/worker:$htype 9 | 10 | -------------------------------------------------------------------------------- /release/3.2/edge/stop.sh: -------------------------------------------------------------------------------- 1 | #SCript to bring down the edge and remove corresponding docker containers 2 | docker stop edgebroker && docker rm $_ 3 | docker stop edgeworker && docker rm $_ 4 | -------------------------------------------------------------------------------- /test/ConfigrationScript/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "my_ip": "http://180.179.214.202", 3 | 4 | "update_broker_url": "http://180.179.214.202:8070", 5 | 6 | "subscribe_broker_url": "http://180.179.214.211:9090", 7 | 8 | "id":"urn:ngsi-ld:Vehicle:A191", 9 | 10 | "type":"Vehicle" 11 | } 12 | 13 | -------------------------------------------------------------------------------- /test/NGSILD/subscriptionLatency/configFog.json: -------------------------------------------------------------------------------- 1 | { 2 | "my_ip": "http://180.179.214.202", 3 | "update_broker_url": "http://180.179.214.202:9090", 4 | "subscribe_broker_url": "http://180.179.214.202:9090", 5 | "type": "latency", 6 | "id":"urn:ngsi-ld:latency:A102" 7 | } 8 | -------------------------------------------------------------------------------- /test/UnitTest/.cache/v/cache/lastfailed: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/distributed-discovery/run.sh: -------------------------------------------------------------------------------- 1 | broker.exe -f ../discovery/configs/config1.json 2 | broker.exe -f ../discovery/configs/config2.json 3 | broker.exe -f ../discovery/configs/config3.json 4 | 5 | discovery.exe -f ./configs/config1.json 6 | discovery.exe -f ./configs/config2.json 7 | discovery.exe -f ./configs/config3.json 8 | -------------------------------------------------------------------------------- /test/function_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/test/function_test.sh -------------------------------------------------------------------------------- /test/https/client/client: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/test/https/client/client -------------------------------------------------------------------------------- /test/https/srv/srv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/test/https/srv/srv -------------------------------------------------------------------------------- /test/iot-agent/.env: -------------------------------------------------------------------------------- 1 | # Orion variables 2 | ORION_LD_PORT=1026 3 | ORION_LD_VERSION=0.7.0 4 | 5 | # MongoDB variables 6 | MONGO_DB_PORT=27017 7 | MONGO_DB_VERSION=4.4 8 | 9 | # Scorpio variables 10 | SCORPIO_PORT=9090 11 | SCORPIO_VERSION=1.0.5 12 | 13 | # IoT Agent Ultralight Variables 14 | ULTRALIGHT_VERSION=1.20.1 15 | IOTA_NORTH_PORT=4041 16 | IOTA_SOUTH_PORT=7896 17 | 18 | # Tutorial variables 19 | TUTORIAL_APP_PORT=3000 20 | TUTORIAL_DUMMY_DEVICE_PORT=3001 21 | -------------------------------------------------------------------------------- /test/lego_demo/build: -------------------------------------------------------------------------------- 1 | docker build -f dockerfile -t "fogflow/lego" . 2 | 3 | -------------------------------------------------------------------------------- /test/lego_demo/motor.py: -------------------------------------------------------------------------------- 1 | import nxt 2 | import sys 3 | import time 4 | 5 | 6 | #b = nxt.locator.find_one_brick() 7 | b = nxt.find_one_brick() 8 | mx = nxt.Motor(b, nxt.PORT_A) 9 | mx.run(int(sys.argv[1])) 10 | time.sleep(int(sys.argv[2])) 11 | mx.brake() 12 | -------------------------------------------------------------------------------- /test/lego_demo/run: -------------------------------------------------------------------------------- 1 | docker run -d --privileged -p 25:22 -p 8000:8000 -p 8888:8888 --restart unless-stopped -v /dev/bus/usb:/dev/bus/usb fogflow/lego 2 | 3 | -------------------------------------------------------------------------------- /test/orion-ld/query.sh: -------------------------------------------------------------------------------- 1 | curl -iX GET \ 2 | 'http://localhost:8070/ngsi-ld/v1/entities?type=Vehicle' \ 3 | -H 'Content-Type: application/ld+json' \ 4 | -H 'Accept: application/ld+json' \ 5 | -H 'Link: ; rel="https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"; type="application/ld+json"' 6 | 7 | -------------------------------------------------------------------------------- /test/performance_test.jmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartfog/fogflow/e44329be828096f31eaa8dc8a620452dfceef7c9/test/performance_test.jmx -------------------------------------------------------------------------------- /test/postman/run.sh: -------------------------------------------------------------------------------- 1 | newman run FogFlow-test.postman_collection.json 2 | 3 | -------------------------------------------------------------------------------- /test/startup-latency/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "my_ip": "10.156.0.2", 3 | "update_broker_url": "http://10.156.0.2:8080/ngsi10", 4 | "subscribe_broker_url": "http://10.156.0.2:8080/ngsi10", 5 | "logging":{ 6 | "info":"stdout" 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /test/subscription-latency/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "my_ip": "127.0.0.1", 3 | "update_broker_url": "http://127.0.0.1:8080/ngsi10", 4 | "subscribe_broker_url": "http://127.0.0.1:8080/ngsi10", 5 | "logging":{ 6 | "info":"stdout" 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /test/subscription-latency/orion-sub.txt: -------------------------------------------------------------------------------- 1 | http://192.168.1.102:8070/ngsi10/subscribeContext 2 | 3 | Destination: orion-broker 4 | 5 | {"entities":[{"type":"PowerPanel","isPattern":true}],"reference":"http://localhost:1026/v1"} -------------------------------------------------------------------------------- /test/throughput/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "my_ip": "127.0.0.1", 3 | "update_broker_url": "http://127.0.0.1:8080/ngsi10", 4 | "subscribe_broker_url": "http://127.0.0.1:8080/ngsi10", 5 | "logging":{ 6 | "info":"stdout" 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /worker/Dockerfile4Arm: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD worker_arm /worker 3 | CMD ["/worker"] 4 | 5 | -------------------------------------------------------------------------------- /worker/Dockerfile4Armv8: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD worker_arm64 /worker 3 | CMD ["/worker"] 4 | 5 | -------------------------------------------------------------------------------- /worker/Dockerfile_development: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD worker / 3 | CMD ["/worker"] 4 | 5 | -------------------------------------------------------------------------------- /worker/Dockerfile_multiarch: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ARG TARGETOS 3 | ARG TARGETARCH 4 | ADD /${TARGETOS}/${TARGETARCH}/worker / 5 | CMD ["/worker"] 6 | 7 | -------------------------------------------------------------------------------- /worker/Dockerfile_multistage: -------------------------------------------------------------------------------- 1 | FROM golang:1.16 AS builder 2 | WORKDIR /go/src/ 3 | ADD /worker worker/ 4 | ADD /common common/ 5 | ADD go.mod . 6 | ADD go.sum . 7 | WORKDIR /go/src/worker 8 | RUN go get; 9 | RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o worker 10 | 11 | FROM scratch 12 | COPY --from=builder /go/src/worker/worker / 13 | CMD ["/worker"] 14 | -------------------------------------------------------------------------------- /worker/README.md: -------------------------------------------------------------------------------- 1 | ## How to build each FogFlow component 2 | 3 | A bash script is provided to build this docker image. 4 | 5 | ```console 6 | ./build.sh 7 | ``` 8 | 9 | Two docker images will be generated: one for Ubuntu Linux and the other for ARM-based raspberry pi 10 | -------------------------------------------------------------------------------- /worker/build_k8s: -------------------------------------------------------------------------------- 1 | docker buildx build --platform linux/arm,linux/arm64,linux/amd64 --push -f ./Dockerfile_multiarch -t "fogflow/worker:k8s" . 2 | -------------------------------------------------------------------------------- /worker/startworkers.sh: -------------------------------------------------------------------------------- 1 | #echo "start worker #1" 2 | #nohup ./worker -f config/w1.json & 3 | 4 | #echo "start worker #2" 5 | #nohup ./worker -f config/w2.json & 6 | 7 | #echo "start worker #3" 8 | #nohup ./worker -f config/w3.json & 9 | 10 | 11 | echo "start worker #4" 12 | nohup ./worker -f config/w4.json & 13 | 14 | -------------------------------------------------------------------------------- /worker/stopworkers.sh: -------------------------------------------------------------------------------- 1 | killall -9 worker 2 | 3 | --------------------------------------------------------------------------------