diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/Readme.md b/KubeEdge v1.14.2/Apache-beam-analysis/Readme.md
new file mode 100644
index 0000000..f588863
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/Readme.md
@@ -0,0 +1,23 @@
+# Data Analytics with Apache Beam
+
+## Description
+
+![High level architecture](images/High_level_Arch.png "High Level Architecture")
+
+The main aim of analytics engine is to get data from mqtt broker in stream format and apply rules on incoming data in real time and produce alert/action on mqtt broker. Getting data through pipeline and applying analysis function is done by using Apache Beam.
+
+### Apache Beam
+
+Apache Beam is an open source, unified model for defining both batch and streaming data-parallel processing pipelines. Using one of the open source Beam SDKs, we can build a program that defines the pipeline.
+
+
+#### Why use Apache Beam for analytics
+
+There are many frameworks like Hadoop, Spark, Flink, Google Cloud Dataflow etc for stream processing. But there was no unified API to binds all such frameworks and data sources. It was needed to abstract out the application logic from these Big Data frameworks. Apache Beam framework provides this abstraction between your application logic and big data ecosystem.
+- A generic dataflow-based model for building an abstract pipeline which could be run on any runtime like Flink/Samza etc.
+- The same pipeline code can be executed on cloud(eg. Huawei Cloud Stream based on Apache Flink) and on the edge with a custom backend which can efficiently schedule workloads in an edge cluster and perform distributed analytics.
+- Apache Beam integrates well with TensorFlow for machine learning which is a key use-case for edge.
+- Beam has support for most of the functions required for stream processing and analytics.
+
+
+
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/index.json b/KubeEdge v1.14.2/Apache-beam-analysis/index.json
new file mode 100644
index 0000000..2739217
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/index.json
@@ -0,0 +1,30 @@
+{
+ "title": "KubeEdge Deployment",
+ "description": "Data Analytics with Apache Beam",
+ "details": {
+ "steps": [
+ {
+ "title": "Step 1/4",
+ "text": "step1.md"
+ },
+ {
+ "title": "Step 2/4",
+ "text": "step2.md"
+ },
+ {
+ "title": "Step 3/4",
+ "text": "step3.md"
+ },
+ {
+ "title": "Step 4/4",
+ "text": "step4.md"
+ }
+ ],
+ "intro": {
+ "text": "intro.md"
+ }
+ },
+ "backend": {
+ "imageid": "ubuntu"
+ }
+}
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/intro.md b/KubeEdge v1.14.2/Apache-beam-analysis/intro.md
new file mode 100644
index 0000000..44164af
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/intro.md
@@ -0,0 +1,31 @@
+# Data Analytics with Apache Beam
+
+## Description
+
+![High level architecture](images/High_level_Arch.png "High Level Architecture")
+
+The main aim of analytics engine is to get data from mqtt broker in stream format and apply rules on incoming data in real time and produce alert/action on mqtt broker. Getting data through pipeline and applying analysis function is done by using Apache Beam.
+
+### Apache Beam
+
+Apache Beam is an open source, unified model for defining both batch and streaming data-parallel processing pipelines. Using one of the open source Beam SDKs, we can build a program that defines the pipeline.
+
+
+#### Demo 1.1 [Real-time alert]:Read batch data from MQTT,filter and generate alerts
+- Basic mqtt read/write support in Apache Beam for batch data
+- Reads data from an mqtt topic
+- Create PCollection of read data and use it as the initial data for pipeline
+- Do a filtering over the data
+- Publish an alert on a topic if reading exceeds the value
+![Demo1.1](images/Demo1.1.png "Demo1.1:Read batch data from MQTT,filter and generate alerts")
+
+#### Demo 1.2 [Filter Streaming Data]: Reads streaming data from MQTT, filter at regular intervals
+- Read streaming data using MQTT
+- Do a filtering over the data at fixed time intervals
+![demo1.2](images/Demo1.2.png "Demo1.2:Reads streaming data from MQTT, filter at regular intervals")
+
+### Prerequisites
+- Golang(version: 1.14+)
+- KubeEdge(version: v1.5+)
+- Docker(version: 18.09-ce+)
+
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/step1.md b/KubeEdge v1.14.2/Apache-beam-analysis/step1.md
new file mode 100644
index 0000000..ef76d05
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/step1.md
@@ -0,0 +1,14 @@
+# Deploy pipeline application
+
+### Prerequisites
+
+- Golang(version: 1.14+)
+- KubeEdge(version: v1.5+)
+- Docker(version: 18.09-ce+)
+
+#### For demo 1.1: Pull the docker image from dockerhub by using following command
+
+```
+sudo docker pull containerise/ke_apache_beam:ke_apache_analysis_v1.1
+```{{execute}}
+
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/step2.md b/KubeEdge v1.14.2/Apache-beam-analysis/step2.md
new file mode 100644
index 0000000..99ac038
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/step2.md
@@ -0,0 +1,22 @@
+# Deploy pipeline application
+
+### Prerequisites
+
+- Golang(version: 1.14+)
+- KubeEdge(version: v1.5+)
+- Docker(version: 18.09-ce+)
+
+#### For demo 1.2: Pull the docker image from dockerhub by using following command
+
+```
+sudo docker pull containerise/ke_apache_beam:ke_apache_analysis_v1.2
+```{{execute}}
+
+#### Run the command
+
+This will shows all images created. Check image named ke_apache_analysis_v1.1 or ke_apache_analysis_v1.2
+
+```
+docker images
+```{{execute}}
+
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/step3.md b/KubeEdge v1.14.2/Apache-beam-analysis/step3.md
new file mode 100644
index 0000000..a66c08c
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/step3.md
@@ -0,0 +1,20 @@
+## Setup the KubeEdge v.1.24.2
+follow this link
+
+```
+https://killercoda.com/sarthak-009/scenario/deployment
+```
+
+
+### Try out a application deployment by following below steps.
+
+```
+kubectl apply -f https://github.com/kubeedge/examples/blob/master/apache-beam-analysis/deployment.yaml
+```{{execute}}
+
+### Then you can use below command to check if the application is normally running.
+
+```
+kubectl get pods
+```{{execute}}
+
diff --git a/KubeEdge v1.14.2/Apache-beam-analysis/step4.md b/KubeEdge v1.14.2/Apache-beam-analysis/step4.md
new file mode 100644
index 0000000..cc7c546
--- /dev/null
+++ b/KubeEdge v1.14.2/Apache-beam-analysis/step4.md
@@ -0,0 +1,23 @@
+## Clone the repository
+
+```
+git clone https://github.com/kubeedge/examples.git
+```{{execute}}
+Change the directory to apache-beam-analysis
+
+```
+cd examples/apache-beam-analysis
+```{{execute}}
+
+### Add following vendor packages:
+
+```
+go get -u github.com/yosssi/gmq/mqtt
+go get -u github.com/yosssi/gmq/mqtt/client
+```{{execute}}
+
+run:
+```
+go build testmachine.go
+./testmachine
+```{{execute}}
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/Readme.md b/KubeEdge v1.14.2/Bluetooth-CC2650/Readme.md
new file mode 100644
index 0000000..6319a69
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/Readme.md
@@ -0,0 +1,34 @@
+# Bluetooth With KubeEdge Using CC2650
+
+Users can make use of KubeEdge platform to connect and control their bluetooth devices, provided, the user is aware of the of the data sheet information for their device.
+Kubernetes Custom Resource Definition (CRD) and KubeEdge bluetooth mapper is being used to support this feature, using which users can control their device from the cloud. Texas Instruments [CC2650 SensorTag device](http://processors.wiki.ti.com/index.php/CC2650_SensorTag_User%27s_Guide) is being shown here as an example.
+
+
+## Description
+
+KubeEdge support for bluetooth protocol has been demonstrated here by making use of Texas Instruments CC2650 SensorTag device.
+This section contains instructions on how to make use of bluetooth mapper of KubeEdge to control CC2650 SensorTag device.
+
+ We will only be focusing on the following features of CC2650 :-
+
+ ```
+ 1. IR Temperature
+ 2. IO-Control :
+ 2.1 Red Light
+ 2.2 Greem Light
+ 2.3 Buzzer
+ 2.4 Red Light with Buzzer
+ 2.5 Green Light with Buzzer
+ 2.6 Red Light along with Green Light
+ 2.7 Red Light, Green Light along with Buzzer
+
+ ```
+
+ The bluetooth mapper has the following major components :-
+ - Action Manager
+ - Scheduler
+ - Watcher
+ - Controller
+ - Data Converter
+
+ More details on bluetooth mapper can be found [here](https://github.com/kubeedge/kubeedge/blob/master/docs/mappers/bluetooth_mapper.md#bluetooth-mapper).
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/final.md b/KubeEdge v1.14.2/Bluetooth-CC2650/final.md
new file mode 100644
index 0000000..b5ef6b1
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/final.md
@@ -0,0 +1,4 @@
+Turn ON the CC2650 SensorTag device
+
+The bluetooth mapper is now running, You can monitor the logs of the mapper by using docker logs. You can also play around with the device twin state by altering the desired property in the device instance
+and see the result reflect on the SensorTag device. The configurations of the bluetooth mapper can be altered at runtime Please click [Runtime Configurations](https://github.com/kubeedge/kubeedge/blob/master/docs/mappers/bluetooth_mapper.md#runtime-configuration-modifications) for more details.
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/intro.md b/KubeEdge v1.14.2/Bluetooth-CC2650/intro.md
new file mode 100644
index 0000000..fdc6c14
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/intro.md
@@ -0,0 +1,48 @@
+# Bluetooth With KubeEdge Using CC2650
+
+
+Users can make use of KubeEdge platform to connect and control their bluetooth devices, provided, the user is aware of the of the data sheet information for their device.
+Kubernetes Custom Resource Definition (CRD) and KubeEdge bluetooth mapper is being used to support this feature, using which users can control their device from the cloud. Texas Instruments [CC2650 SensorTag device](http://processors.wiki.ti.com/index.php/CC2650_SensorTag_User%27s_Guide) is being shown here as an example.
+
+
+## Description
+
+KubeEdge support for bluetooth protocol has been demonstrated here by making use of Texas Instruments CC2650 SensorTag device.
+This section contains instructions on how to make use of bluetooth mapper of KubeEdge to control CC2650 SensorTag device.
+
+ We will only be focusing on the following features of CC2650 :-
+
+ ```shell
+ 1. IR Temperature
+ 2. IO-Control :
+ 2.1 Red Light
+ 2.2 Greem Light
+ 2.3 Buzzer
+ 2.4 Red Light with Buzzer
+ 2.5 Green Light with Buzzer
+ 2.6 Red Light along with Green Light
+ 2.7 Red Light, Green Light along with Buzzer
+
+ ```
+
+ The bluetooth mapper has the following major components :-
+ - Action Manager
+ - Scheduler
+ - Watcher
+ - Controller
+ - Data Converter
+
+ More details on bluetooth mapper can be found [here](https://github.com/kubeedge/kubeedge/blob/master/docs/mappers/bluetooth_mapper.md#bluetooth-mapper).
+
+
+## Prerequisites
+
+### Hardware Prerequisites
+
+1. Texas instruments CC2650 bluetooth device
+2. Linux based edge node with bluetooth support (An Ubuntu 18.04 laptop has been used in this demo)
+
+### Software Prerequisites
+
+1. Golang (1.14+)
+2. KubeEdge (v1.5+)
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/step1.md b/KubeEdge v1.14.2/Bluetooth-CC2650/step1.md
new file mode 100644
index 0000000..1af45b5
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/step1.md
@@ -0,0 +1,22 @@
+## Prerequisites
+
+### Hardware Prerequisites
+
+1. Texas instruments CC2650 bluetooth device
+2. Linux based edge node with bluetooth support (An Ubuntu 18.04 laptop has been used in this demo)
+
+### Software Prerequisites
+
+1. Golang (1.14+)
+2. KubeEdge (v1.5+)
+
+## Steps to reproduce
+
+#### Clone and run KubeEdge.
+ Please ensure that the kubeedge setup is up and running before execution of step 4 (mentioned below).
+
+#### Clone the kubeedge/examples repository.
+
+```
+git clone https://github.com/kubeedge/examples.git $GOPATH/src/github.com/kubeedge/examples
+```{{execute}}
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/step2.md b/KubeEdge v1.14.2/Bluetooth-CC2650/step2.md
new file mode 100644
index 0000000..230ac3d
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/step2.md
@@ -0,0 +1,8 @@
+## Create the CC2650 SensorTag device model and device instance.
+
+```
+cd $GOPATH/src/github.com/kubeedge/examples/bluetooth-CC2650-demo/crds
+kubectl apply -f CC2650-device-model.yaml
+sed -i "s#edge-node##g" CC2650-device-instance.yaml
+kubectl apply -f CC2650-device-instance.yaml
+```
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/step3.md b/KubeEdge v1.14.2/Bluetooth-CC2650/step3.md
new file mode 100644
index 0000000..2132770
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/step3.md
@@ -0,0 +1,7 @@
+## Please ensure that bluetooth service of your device is ON
+
+#### Set 'bluetooth=true' label for the node (This label is a prerequisite for the scheduler to schedule bluetooth_mapper pod on the node [which meets the hardware / software prerequisites] )
+
+```
+kubectl label nodes bluetooth=true
+```
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/step4.md b/KubeEdge v1.14.2/Bluetooth-CC2650/step4.md
new file mode 100644
index 0000000..4026cb8
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/step4.md
@@ -0,0 +1,24 @@
+#### Copy the configuration file that has been provided, into its correct path. Please note that the configuration file can be altered as to suit your requirement
+
+```
+cp $GOPATH/src/github.com/kubeedge/examples/bluetooth-CC2650-demo/config.yaml
+
+$GOPATH/src/github.com/kubeedge/kubeedge/mappers/bluetooth_mapper/configuration/
+```
+
+#### Build the mapper by following the steps given below.
+
+```
+cd $GOPATH/src/github.com/kubeedge/kubeedge
+make bluetoothdevice_image
+docker tag bluetooth_mapper:v1.0 /bluetooth_mapper:v1.0
+docker push /bluetooth_mapper:v1.0
+```
+
+
+Note: Before trying to push the docker image to the remote repository please ensure that you have signed into docker from your node, if not please type the followig command to sign in
+docker login
+
+Please enter your username and password when prompted
+
+
diff --git a/KubeEdge v1.14.2/Bluetooth-CC2650/step5.md b/KubeEdge v1.14.2/Bluetooth-CC2650/step5.md
new file mode 100644
index 0000000..c61ad7a
--- /dev/null
+++ b/KubeEdge v1.14.2/Bluetooth-CC2650/step5.md
@@ -0,0 +1,12 @@
+### Deploy the mapper by following the steps given below.
+
+```
+cd $GOPATH/src/github.com/kubeedge/kubeedge/mappers/bluetooth_mapper
+```
+#### Please enter the following details in the deployment.yaml :-
+1. Replace with the name of your edge node at spec.template.spec.voluems.configMap.name
+2. Replace with your dockerhub username at spec.template.spec.containers.image
+
+```
+kubectl create -f deployment.yaml
+```
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/Images/scenarios.png b/KubeEdge v1.14.2/Images/scenarios.png
new file mode 100644
index 0000000..dc59146
Binary files /dev/null and b/KubeEdge v1.14.2/Images/scenarios.png differ
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/Readme.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/Readme.md
new file mode 100644
index 0000000..b623dd9
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/Readme.md
@@ -0,0 +1,7 @@
+## KubeEdge Counter Demo
+
+### Description
+
+Counter is a pseudo device that user can run this demo without any extra physical devices.
+
+Counter run at edge side, and user can control it in web from cloud side, also can get counter value in web from cloud side.
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/finish.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/finish.md
new file mode 100644
index 0000000..30e8a39
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/finish.md
@@ -0,0 +1,11 @@
+### Control counter by visiting Web App Page
+
+* Visit web app page by the web app link `MASTER_NODE_IP:80`.
+
+* Choose `ON` option, and click `Execute`, then user can see counter start to count by `docker logs -f counter-container-id` at edge side.
+
+* Choose `STATUS` option, then click `Execute` to get the counter status, finally counter status and current counter value will display in web.
+
+ also you can watch counter status by `kubectl get device counter -o yaml -w` at cloud side.
+
+* Choose `OFF` option, and click `Execute`, counter stop work at edge side.
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/index.json b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/index.json
new file mode 100644
index 0000000..977fd2e
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/index.json
@@ -0,0 +1,29 @@
+{
+ "title": "KubeEdge Deployment",
+ "description": "KubeEdge Counter Demo",
+ "details": {
+ "steps": [
+ {
+ "title": "Step 1/3",
+ "text": "step1.md"
+ },
+ {
+ "title": "Step 2/3",
+ "text": "step2.md"
+ },
+ {
+ "title": "Step 3/3",
+ "text": "step3.md"
+ }
+ ],
+ "intro": {
+ "text": "intro.md"
+ },
+ "finish": {
+ "text": "finish.md"
+ }
+ },
+ "backend": {
+ "imageid": "ubuntu"
+ }
+}
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/intro.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/intro.md
new file mode 100644
index 0000000..6ca58da
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/intro.md
@@ -0,0 +1,24 @@
+## Prerequisites
+
+### Hardware Prerequisites
+
+* RaspBerry PI (RaspBerry PI 4 has been used for this demo).
+
+### Software Prerequisites
+
+* A running Kubernetes cluster.
+
+ *NOTE*:
+
+ add follows `--insecure-port=8080` and `--insecure-bind-address=0.0.0.0` options into */etc/kubernetes/manifests/kube-apiserver.yaml*
+
+* KubeEdge v1.5+
+
+* MQTT Broker is running on Raspi.
+
+## Steps to run the demo
+
+### Create the device model and device instance for the counter
+
+With the Device CRD APIs now installed in the cluster, we create the device model and instance for the counter using the yaml files.
+
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step1.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step1.md
new file mode 100644
index 0000000..4bdd4cd
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step1.md
@@ -0,0 +1,21 @@
+## clone the demo code
+
+```
+git clone https://github.com/kubeedge/examples.git
+```
+
+```
+cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo
+```
+
+replace "" with your edge node name
+
+
+```
+sed -i "s#edge-node##" crds/kubeedge-counter-instance.yaml
+```
+
+```
+kubectl create -f crds/kubeedge-counter-model.yaml
+kubectl create -f crds/kubeedge-counter-instance.yaml
+```
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step2.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step2.md
new file mode 100644
index 0000000..e5f0998
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step2.md
@@ -0,0 +1,16 @@
+### Run KubeEdge Web App
+
+The KubeEdge Web App runs in a VM on cloud.
+
+```
+cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app
+make
+make docker
+```
+
+```
+cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
+kubectl create -f kubeedge-web-controller-app.yaml
+```
+
+**Note: instance must be created after model and deleted before model.**
\ No newline at end of file
diff --git a/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step3.md b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step3.md
new file mode 100644
index 0000000..5dac099
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Counter-Demo/step3.md
@@ -0,0 +1,17 @@
+### Run KubeEdge Pi Counter App
+
+The KubeEdge Counter App run in raspi.
+
+```
+cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/counter-mapper
+make
+make docker
+```
+```
+cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
+kubectl create -f kubeedge-pi-counter-app.yaml
+```
+
+The App will subscribe to the `$hw/events/device/counter/twin/update/document` topic, and when it receives the expected control command on the topic, it will turn on/off the counter, also it will fresh counter value and publish value to `$hw/events/device/counter/twin/update` topic, then the latest counter status will be sychronized between edge and cloud.
+
+At last, user can get the counter status at cloud side.
diff --git a/KubeEdge v1.14.2/KubeEdge-Twitter-Demo/Readme.md b/KubeEdge v1.14.2/KubeEdge-Twitter-Demo/Readme.md
new file mode 100644
index 0000000..83a8579
--- /dev/null
+++ b/KubeEdge v1.14.2/KubeEdge-Twitter-Demo/Readme.md
@@ -0,0 +1,3 @@
+# KubeEdge Twitter Demo
+
+A user tweets `kubeedge play