diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.bn.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.bn.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.bn.png differ
diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.mr.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.mr.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.mr.png differ
diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.ne.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.ne.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.ne.png differ
diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.pa.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.pa.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.pa.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.bn.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.bn.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.bn.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.mr.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.mr.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.mr.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.ne.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.ne.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.ne.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.pa.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.pa.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.pa.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.bn.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.bn.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.bn.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.mr.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.mr.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.mr.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.ne.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.ne.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.ne.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.pa.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.pa.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.pa.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.bn.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.bn.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.bn.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.mr.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.mr.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.mr.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.ne.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.ne.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.ne.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.pa.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.pa.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.pa.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.bn.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.bn.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.bn.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.mr.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.mr.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.mr.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.ne.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.ne.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.ne.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.pa.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.pa.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.pa.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.bn.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.bn.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.bn.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.mr.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.mr.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.mr.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.ne.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.ne.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.ne.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.pa.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.pa.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.pa.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.bn.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.bn.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.bn.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.mr.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.mr.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.mr.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.ne.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.ne.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.ne.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.pa.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.pa.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.pa.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.bn.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.bn.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.bn.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.mr.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.mr.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.mr.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.ne.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.ne.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.ne.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.pa.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.pa.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.pa.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.bn.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.bn.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.bn.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.mr.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.mr.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.mr.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.ne.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.ne.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.ne.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.pa.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.pa.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.pa.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.bn.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.bn.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.bn.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.mr.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.mr.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.mr.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.ne.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.ne.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.ne.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.pa.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.pa.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.pa.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.bn.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.bn.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.bn.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.mr.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.mr.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.mr.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.ne.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.ne.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.ne.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.pa.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.pa.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.pa.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.bn.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.bn.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.bn.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.mr.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.mr.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.mr.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.ne.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.ne.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.ne.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.pa.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.pa.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.pa.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.bn.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.bn.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.bn.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.mr.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.mr.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.mr.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.ne.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.ne.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.ne.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.pa.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.pa.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.pa.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.bn.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.bn.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.bn.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.mr.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.mr.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.mr.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.ne.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.ne.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.ne.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.pa.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.pa.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.pa.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.bn.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.bn.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.bn.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.mr.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.mr.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.mr.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.ne.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.ne.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.ne.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.pa.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.pa.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.pa.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.bn.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.bn.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.bn.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.mr.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.mr.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.mr.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.ne.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.ne.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.ne.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.pa.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.pa.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.pa.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.bn.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.bn.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.bn.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.mr.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.mr.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.mr.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.ne.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.ne.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.ne.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.pa.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.pa.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.pa.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.bn.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.bn.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.bn.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.mr.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.mr.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.mr.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.ne.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.ne.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.ne.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.pa.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.pa.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.pa.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.bn.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.bn.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.bn.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.mr.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.mr.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.mr.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.ne.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.ne.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.ne.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.pa.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.pa.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.pa.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.bn.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.bn.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.bn.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.mr.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.mr.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.mr.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.ne.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.ne.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.ne.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.pa.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.pa.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.pa.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.bn.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.bn.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.bn.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.mr.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.mr.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.mr.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.ne.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.ne.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.ne.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.pa.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.pa.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.pa.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.bn.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.bn.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.bn.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.mr.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.mr.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.mr.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.ne.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.ne.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.ne.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.pa.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.pa.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.pa.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.bn.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.bn.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.bn.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.mr.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.mr.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.mr.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.ne.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.ne.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.ne.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.pa.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.pa.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.pa.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.bn.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.bn.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.bn.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.mr.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.mr.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.mr.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.ne.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.ne.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.ne.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.pa.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.pa.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.pa.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.bn.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.bn.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.bn.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.mr.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.mr.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.mr.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.ne.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.ne.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.ne.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.pa.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.pa.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.pa.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.bn.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.bn.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.bn.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.mr.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.mr.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.mr.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.ne.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.ne.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.ne.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.pa.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.pa.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.pa.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.bn.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.bn.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.bn.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.mr.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.mr.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.mr.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.ne.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.ne.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.ne.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.pa.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.pa.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.pa.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.bn.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.bn.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.bn.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.mr.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.mr.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.mr.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.ne.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.ne.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.ne.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.pa.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.pa.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.pa.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.bn.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.bn.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.bn.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.mr.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.mr.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.mr.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.ne.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.ne.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.ne.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.pa.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.pa.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.pa.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.bn.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.bn.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.bn.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.mr.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.mr.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.mr.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.ne.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.ne.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.ne.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.pa.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.pa.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.pa.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.bn.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.bn.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.bn.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.mr.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.mr.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.mr.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.ne.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.ne.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.ne.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.pa.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.pa.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.pa.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.bn.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.bn.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.bn.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.mr.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.mr.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.mr.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.ne.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.ne.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.ne.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.pa.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.pa.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.pa.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.bn.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.bn.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.bn.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.mr.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.mr.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.mr.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.ne.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.ne.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.ne.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.pa.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.pa.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.pa.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.bn.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.bn.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.bn.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.mr.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.mr.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.mr.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.ne.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.ne.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.ne.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.pa.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.pa.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.pa.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.bn.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.bn.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.bn.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.mr.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.mr.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.mr.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.ne.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.ne.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.ne.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.pa.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.pa.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.pa.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.bn.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.bn.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.bn.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.mr.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.mr.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.mr.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.ne.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.ne.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.ne.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.pa.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.pa.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.pa.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.bn.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.bn.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.bn.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.mr.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.mr.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.mr.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.ne.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.ne.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.ne.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.pa.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.pa.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.pa.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.bn.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.bn.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.bn.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.mr.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.mr.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.mr.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.ne.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.ne.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.ne.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.pa.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.pa.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.pa.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.bn.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.bn.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.bn.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.mr.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.mr.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.mr.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.ne.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.ne.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.ne.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.pa.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.pa.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.pa.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.bn.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.bn.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.bn.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.mr.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.mr.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.mr.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.ne.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.ne.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.ne.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.pa.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.pa.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.pa.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.bn.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.bn.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.bn.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.mr.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.mr.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.mr.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.ne.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.ne.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.ne.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.pa.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.pa.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.pa.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.bn.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.bn.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.bn.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.mr.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.mr.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.mr.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.ne.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.ne.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.ne.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.pa.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.pa.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.pa.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.bn.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.bn.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.bn.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.mr.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.mr.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.mr.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.ne.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.ne.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.ne.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.pa.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.pa.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.pa.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.bn.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.bn.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.bn.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.mr.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.mr.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.mr.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.ne.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.ne.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.ne.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.pa.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.pa.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.pa.png differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.bn.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.bn.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.bn.jpg differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.mr.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.mr.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.mr.jpg differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.ne.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.ne.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.ne.jpg differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.pa.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.pa.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.pa.jpg differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.bn.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.bn.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.bn.png differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.mr.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.mr.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.mr.png differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.ne.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.ne.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.ne.png differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.pa.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.pa.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.pa.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.bn.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.bn.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.bn.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.mr.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.mr.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.mr.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.ne.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.ne.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.ne.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.pa.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.pa.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.pa.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.bn.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.bn.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.bn.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.mr.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.mr.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.mr.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.ne.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.ne.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.ne.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.pa.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.pa.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.pa.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.bn.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.bn.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.bn.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.mr.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.mr.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.mr.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.ne.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.ne.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.ne.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.pa.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.pa.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.pa.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.bn.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.bn.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.bn.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.mr.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.mr.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.mr.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.ne.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.ne.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.ne.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.pa.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.pa.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.pa.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.bn.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.bn.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.bn.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.mr.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.mr.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.mr.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.ne.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.ne.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.ne.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.pa.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.pa.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.pa.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.bn.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.bn.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.bn.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.mr.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.mr.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.mr.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.ne.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.ne.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.ne.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.pa.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.pa.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.pa.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.bn.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.bn.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.bn.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.mr.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.mr.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.mr.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.ne.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.ne.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.ne.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.pa.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.pa.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.pa.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.bn.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.bn.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.bn.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.mr.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.mr.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.mr.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.ne.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.ne.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.ne.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.pa.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.pa.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.pa.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.bn.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.bn.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.bn.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.mr.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.mr.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.mr.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.ne.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.ne.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.ne.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.pa.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.pa.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.pa.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.bn.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.bn.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.bn.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.mr.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.mr.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.mr.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.ne.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.ne.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.ne.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.pa.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.pa.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.pa.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.bn.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.bn.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.bn.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.mr.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.mr.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.mr.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.ne.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.ne.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.ne.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.pa.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.pa.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.pa.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.bn.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.bn.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.bn.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.mr.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.mr.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.mr.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.ne.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.ne.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.ne.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.pa.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.pa.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.pa.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.bn.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.bn.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.bn.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.mr.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.mr.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.mr.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.ne.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.ne.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.ne.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.pa.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.pa.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.pa.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.bn.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.bn.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.bn.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.mr.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.mr.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.mr.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.ne.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.ne.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.ne.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.pa.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.pa.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.pa.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.bn.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.bn.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.bn.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.mr.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.mr.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.mr.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.ne.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.ne.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.ne.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.pa.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.pa.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.pa.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.bn.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.bn.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.bn.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.mr.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.mr.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.mr.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.ne.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.ne.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.ne.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.pa.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.pa.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.pa.png differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.bn.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.bn.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.bn.jpg differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.mr.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.mr.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.mr.jpg differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.ne.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.ne.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.ne.jpg differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.pa.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.pa.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.pa.jpg differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.bn.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.bn.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.bn.png differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.mr.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.mr.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.mr.png differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.ne.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.ne.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.ne.png differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.pa.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.pa.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.pa.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.bn.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.bn.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.bn.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.mr.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.mr.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.mr.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.ne.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.ne.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.ne.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.pa.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.pa.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.pa.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.bn.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.bn.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.bn.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.mr.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.mr.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.mr.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.ne.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.ne.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.ne.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.pa.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.pa.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.pa.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.bn.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.bn.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.bn.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.mr.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.mr.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.mr.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.ne.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.ne.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.ne.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.pa.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.pa.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.pa.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.bn.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.bn.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.bn.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.mr.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.mr.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.mr.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.ne.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.ne.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.ne.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.pa.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.pa.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.pa.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.bn.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.bn.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.bn.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.mr.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.mr.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.mr.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.ne.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.ne.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.ne.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.pa.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.pa.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.pa.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.bn.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.bn.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.bn.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.mr.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.mr.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.mr.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.ne.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.ne.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.ne.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.pa.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.pa.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.pa.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.bn.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.bn.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.bn.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.mr.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.mr.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.mr.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.ne.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.ne.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.ne.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.pa.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.pa.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.pa.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.bn.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.bn.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.bn.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.mr.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.mr.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.mr.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.ne.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.ne.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.ne.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.pa.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.pa.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.pa.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.bn.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.bn.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.bn.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.mr.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.mr.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.mr.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.ne.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.ne.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.ne.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.pa.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.pa.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.pa.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.bn.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.bn.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.bn.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.mr.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.mr.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.mr.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.ne.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.ne.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.ne.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.pa.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.pa.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.pa.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.bn.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.bn.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.bn.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.mr.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.mr.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.mr.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.ne.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.ne.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.ne.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.pa.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.pa.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.pa.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.bn.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.bn.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.bn.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.mr.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.mr.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.mr.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.ne.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.ne.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.ne.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.pa.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.pa.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.pa.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.bn.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.bn.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.bn.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.mr.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.mr.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.mr.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.ne.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.ne.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.ne.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.pa.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.pa.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.pa.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.bn.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.bn.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.bn.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.mr.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.mr.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.mr.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.ne.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.ne.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.ne.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.pa.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.pa.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.pa.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.bn.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.bn.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.bn.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.mr.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.mr.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.mr.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.ne.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.ne.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.ne.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.pa.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.pa.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.pa.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.bn.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.bn.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.bn.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.mr.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.mr.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.mr.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.ne.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.ne.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.ne.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.pa.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.pa.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.pa.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.bn.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.bn.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.bn.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.mr.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.mr.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.mr.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.ne.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.ne.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.ne.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.pa.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.pa.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.pa.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.bn.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.bn.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.bn.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.mr.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.mr.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.mr.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.ne.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.ne.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.ne.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.pa.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.pa.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.pa.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.bn.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.bn.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.bn.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.mr.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.mr.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.mr.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.ne.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.ne.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.ne.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.pa.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.pa.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.pa.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.bn.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.bn.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.bn.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.mr.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.mr.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.mr.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.ne.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.ne.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.ne.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.pa.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.pa.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.pa.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.bn.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.bn.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.bn.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.mr.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.mr.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.mr.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.ne.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.ne.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.ne.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.pa.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.pa.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.pa.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.bn.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.bn.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.bn.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.mr.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.mr.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.mr.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.ne.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.ne.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.ne.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.pa.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.pa.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.pa.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.bn.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.bn.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.bn.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.mr.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.mr.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.mr.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.ne.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.ne.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.ne.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.pa.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.pa.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.pa.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.bn.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.bn.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.bn.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.mr.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.mr.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.mr.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.ne.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.ne.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.ne.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.pa.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.pa.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.pa.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.bn.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.bn.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.bn.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.mr.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.mr.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.mr.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.ne.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.ne.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.ne.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.pa.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.pa.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.pa.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.bn.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.bn.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.bn.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.mr.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.mr.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.mr.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.ne.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.ne.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.ne.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.pa.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.pa.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.pa.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.bn.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.bn.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.bn.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.mr.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.mr.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.mr.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.ne.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.ne.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.ne.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.pa.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.pa.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.pa.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.bn.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.bn.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.bn.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.mr.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.mr.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.mr.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.ne.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.ne.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.ne.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.pa.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.pa.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.pa.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.bn.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.bn.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.bn.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.mr.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.mr.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.mr.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.ne.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.ne.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.ne.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.pa.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.pa.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.pa.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.bn.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.bn.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.bn.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.mr.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.mr.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.mr.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.ne.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.ne.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.ne.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.pa.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.pa.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.pa.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.bn.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.bn.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.bn.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.mr.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.mr.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.mr.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.ne.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.ne.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.ne.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.pa.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.pa.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.pa.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.bn.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.bn.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.bn.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.mr.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.mr.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.mr.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.ne.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.ne.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.ne.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.pa.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.pa.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.pa.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.bn.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.bn.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.bn.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.mr.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.mr.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.mr.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.ne.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.ne.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.ne.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.pa.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.pa.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.pa.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.bn.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.bn.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.bn.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.mr.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.mr.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.mr.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.ne.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.ne.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.ne.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.pa.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.pa.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.pa.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.bn.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.bn.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.bn.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.mr.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.mr.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.mr.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.ne.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.ne.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.ne.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.pa.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.pa.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.pa.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.bn.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.bn.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.bn.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.mr.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.mr.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.mr.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.ne.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.ne.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.ne.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.pa.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.pa.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.pa.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.bn.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.bn.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.bn.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.mr.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.mr.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.mr.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.ne.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.ne.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.ne.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.pa.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.pa.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.pa.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.bn.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.bn.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.bn.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.mr.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.mr.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.mr.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.ne.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.ne.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.ne.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.pa.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.pa.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.pa.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.bn.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.bn.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.bn.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.mr.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.mr.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.mr.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.ne.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.ne.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.ne.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.pa.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.pa.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.pa.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.bn.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.bn.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.bn.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.mr.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.mr.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.mr.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.ne.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.ne.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.ne.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.pa.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.pa.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.pa.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.bn.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.bn.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.bn.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.mr.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.mr.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.mr.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.ne.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.ne.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.ne.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.pa.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.pa.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.pa.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.bn.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.bn.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.bn.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.mr.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.mr.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.mr.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.ne.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.ne.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.ne.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.pa.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.pa.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.pa.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.bn.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.bn.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.bn.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.mr.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.mr.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.mr.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.ne.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.ne.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.ne.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.pa.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.pa.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.pa.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.bn.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.bn.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.bn.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.mr.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.mr.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.mr.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.ne.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.ne.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.ne.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.pa.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.pa.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.pa.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.bn.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.bn.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.bn.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.mr.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.mr.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.mr.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.ne.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.ne.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.ne.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.pa.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.pa.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.pa.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.bn.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.bn.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.bn.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.mr.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.mr.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.mr.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.ne.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.ne.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.ne.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.pa.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.pa.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.pa.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.bn.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.bn.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.bn.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.mr.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.mr.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.mr.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.ne.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.ne.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.ne.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.pa.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.pa.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.pa.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.bn.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.bn.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.bn.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.mr.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.mr.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.mr.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.ne.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.ne.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.ne.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.pa.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.pa.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.pa.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.bn.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.bn.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.bn.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.mr.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.mr.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.mr.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.ne.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.ne.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.ne.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.pa.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.pa.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.pa.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.bn.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.bn.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.bn.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.mr.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.mr.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.mr.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.ne.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.ne.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.ne.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.pa.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.pa.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.pa.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.bn.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.bn.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.bn.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.mr.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.mr.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.mr.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.ne.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.ne.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.ne.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.pa.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.pa.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.pa.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.bn.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.bn.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.bn.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.mr.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.mr.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.mr.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.ne.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.ne.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.ne.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.pa.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.pa.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.pa.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.bn.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.bn.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.bn.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.mr.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.mr.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.mr.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.ne.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.ne.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.ne.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.pa.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.pa.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.pa.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.bn.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.bn.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.bn.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.mr.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.mr.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.mr.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.ne.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.ne.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.ne.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.pa.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.pa.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.pa.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.bn.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.bn.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.bn.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.mr.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.mr.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.mr.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.ne.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.ne.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.ne.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.pa.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.pa.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.pa.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.bn.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.bn.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.bn.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.mr.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.mr.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.mr.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.ne.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.ne.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.ne.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.pa.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.pa.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.pa.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.bn.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.bn.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.bn.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.mr.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.mr.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.mr.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.ne.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.ne.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.ne.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.pa.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.pa.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.pa.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.bn.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.bn.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.bn.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.mr.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.mr.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.mr.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.ne.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.ne.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.ne.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.pa.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.pa.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.pa.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.bn.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.bn.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.bn.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.mr.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.mr.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.mr.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.ne.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.ne.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.ne.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.pa.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.pa.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.pa.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.bn.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.bn.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.bn.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.mr.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.mr.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.mr.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.ne.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.ne.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.ne.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.pa.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.pa.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.pa.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.bn.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.bn.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.bn.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.mr.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.mr.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.mr.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.ne.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.ne.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.ne.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.pa.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.pa.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.pa.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.bn.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.bn.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.bn.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.mr.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.mr.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.mr.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.ne.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.ne.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.ne.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.pa.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.pa.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.pa.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.bn.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.bn.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.bn.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.mr.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.mr.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.mr.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.ne.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.ne.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.ne.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.pa.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.pa.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.pa.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.bn.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.bn.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.bn.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.mr.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.mr.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.mr.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.ne.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.ne.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.ne.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.pa.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.pa.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.pa.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.bn.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.bn.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.bn.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.mr.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.mr.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.mr.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.ne.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.ne.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.ne.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.pa.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.pa.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.pa.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.bn.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.bn.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.bn.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.mr.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.mr.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.mr.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.ne.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.ne.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.ne.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.pa.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.pa.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.pa.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.bn.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.bn.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.bn.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.mr.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.mr.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.mr.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.ne.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.ne.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.ne.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.pa.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.pa.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.pa.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.bn.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.bn.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.bn.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.mr.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.mr.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.mr.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.ne.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.ne.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.ne.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.pa.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.pa.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.pa.png differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.bn.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.bn.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.bn.jpg differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.mr.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.mr.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.mr.jpg differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.ne.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.ne.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.ne.jpg differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.pa.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.pa.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.pa.jpg differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.bn.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.bn.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.bn.png differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.mr.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.mr.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.mr.png differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.ne.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.ne.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.ne.png differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.pa.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.pa.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.pa.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.bn.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.bn.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.bn.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.mr.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.mr.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.mr.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.ne.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.ne.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.ne.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.pa.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.pa.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.pa.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.bn.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.bn.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.bn.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.mr.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.mr.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.mr.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.ne.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.ne.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.ne.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.pa.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.pa.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.pa.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.bn.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.bn.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.bn.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.mr.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.mr.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.mr.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.ne.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.ne.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.ne.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.pa.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.pa.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.pa.png differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.bn.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.bn.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.bn.jpg differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.mr.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.mr.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.mr.jpg differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.ne.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.ne.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.ne.jpg differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.pa.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.pa.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.pa.jpg differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.bn.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.bn.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.bn.png differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.mr.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.mr.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.mr.png differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.ne.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.ne.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.ne.png differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.pa.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.pa.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.pa.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.bn.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.bn.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.bn.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.mr.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.mr.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.mr.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.ne.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.ne.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.ne.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.pa.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.pa.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.pa.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.bn.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.bn.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.bn.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.mr.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.mr.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.mr.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.ne.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.ne.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.ne.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.pa.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.pa.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.pa.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.bn.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.bn.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.bn.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.mr.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.mr.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.mr.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.ne.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.ne.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.ne.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.pa.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.pa.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.pa.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.bn.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.bn.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.bn.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.mr.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.mr.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.mr.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.ne.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.ne.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.ne.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.pa.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.pa.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.pa.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.bn.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.bn.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.bn.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.mr.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.mr.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.mr.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.ne.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.ne.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.ne.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.pa.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.pa.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.pa.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.bn.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.bn.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.bn.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.mr.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.mr.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.mr.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.ne.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.ne.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.ne.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.pa.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.pa.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.pa.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.bn.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.bn.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.bn.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.mr.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.mr.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.mr.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.ne.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.ne.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.ne.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.pa.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.pa.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.pa.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.bn.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.bn.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.bn.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.mr.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.mr.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.mr.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.ne.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.ne.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.ne.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.pa.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.pa.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.pa.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.bn.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.bn.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.bn.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.mr.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.mr.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.mr.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.ne.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.ne.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.ne.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.pa.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.pa.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.pa.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.bn.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.bn.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.bn.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.mr.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.mr.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.mr.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.ne.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.ne.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.ne.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.pa.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.pa.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.pa.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.bn.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.bn.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.bn.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.mr.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.mr.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.mr.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.ne.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.ne.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.ne.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.pa.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.pa.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.pa.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.bn.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.bn.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.bn.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.mr.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.mr.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.mr.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.ne.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.ne.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.ne.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.pa.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.pa.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.pa.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.bn.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.bn.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.bn.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.mr.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.mr.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.mr.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.ne.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.ne.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.ne.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.pa.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.pa.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.pa.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.bn.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.bn.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.bn.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.mr.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.mr.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.mr.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.ne.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.ne.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.ne.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.pa.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.pa.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.pa.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.bn.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.bn.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.bn.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.mr.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.mr.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.mr.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.ne.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.ne.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.ne.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.pa.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.pa.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.pa.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.bn.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.bn.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.bn.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.mr.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.mr.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.mr.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.ne.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.ne.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.ne.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.pa.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.pa.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.pa.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.bn.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.bn.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.bn.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.mr.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.mr.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.mr.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.ne.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.ne.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.ne.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.pa.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.pa.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.pa.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.bn.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.bn.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.bn.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.mr.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.mr.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.mr.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.ne.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.ne.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.ne.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.pa.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.pa.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.pa.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.bn.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.bn.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.bn.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.mr.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.mr.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.mr.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.ne.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.ne.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.ne.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.pa.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.pa.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.pa.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.bn.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.bn.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.bn.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.mr.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.mr.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.mr.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.ne.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.ne.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.ne.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.pa.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.pa.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.pa.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.bn.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.bn.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.bn.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.mr.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.mr.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.mr.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.ne.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.ne.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.ne.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.pa.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.pa.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.pa.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.bn.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.bn.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.bn.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.mr.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.mr.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.mr.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.ne.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.ne.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.ne.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.pa.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.pa.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.pa.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.bn.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.bn.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.bn.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.mr.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.mr.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.mr.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.ne.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.ne.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.ne.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.pa.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.pa.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.pa.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.bn.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.bn.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.bn.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.mr.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.mr.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.mr.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.ne.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.ne.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.ne.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.pa.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.pa.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.pa.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.bn.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.bn.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.bn.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.mr.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.mr.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.mr.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.ne.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.ne.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.ne.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.pa.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.pa.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.pa.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.bn.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.bn.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.bn.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.mr.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.mr.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.mr.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.ne.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.ne.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.ne.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.pa.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.pa.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.pa.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.bn.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.bn.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.bn.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.mr.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.mr.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.mr.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.ne.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.ne.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.ne.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.pa.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.pa.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.pa.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.bn.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.bn.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.bn.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.mr.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.mr.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.mr.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.ne.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.ne.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.ne.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.pa.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.pa.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.pa.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.bn.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.bn.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.bn.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.mr.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.mr.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.mr.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.ne.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.ne.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.ne.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.pa.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.pa.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.pa.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.bn.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.bn.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.bn.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.mr.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.mr.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.mr.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.ne.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.ne.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.ne.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.pa.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.pa.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.pa.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.bn.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.bn.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.bn.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.mr.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.mr.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.mr.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.ne.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.ne.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.ne.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.pa.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.pa.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.pa.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.bn.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.bn.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.bn.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.mr.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.mr.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.mr.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.ne.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.ne.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.ne.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.pa.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.pa.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.pa.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.bn.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.bn.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.bn.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.mr.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.mr.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.mr.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.ne.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.ne.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.ne.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.pa.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.pa.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.pa.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.bn.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.bn.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.bn.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.mr.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.mr.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.mr.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.ne.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.ne.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.ne.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.pa.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.pa.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.pa.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.bn.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.bn.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.bn.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.mr.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.mr.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.mr.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.ne.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.ne.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.ne.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.pa.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.pa.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.pa.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.bn.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.bn.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.bn.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.mr.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.mr.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.mr.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.ne.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.ne.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.ne.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.pa.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.pa.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.pa.png differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.bn.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.bn.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.bn.jpg differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.mr.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.mr.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.mr.jpg differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.ne.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.ne.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.ne.jpg differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.pa.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.pa.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.pa.jpg differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.bn.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.bn.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.bn.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.mr.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.mr.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.mr.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ne.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ne.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ne.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.pa.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.pa.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.pa.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.bn.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.bn.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.bn.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.mr.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.mr.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.mr.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.ne.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.ne.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.ne.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.pa.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.pa.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.pa.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.bn.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.bn.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.bn.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.mr.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.mr.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.mr.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.ne.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.ne.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.ne.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.pa.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.pa.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.pa.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.bn.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.bn.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.bn.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.mr.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.mr.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.mr.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.ne.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.ne.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.ne.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.pa.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.pa.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.pa.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.bn.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.bn.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.bn.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.mr.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.mr.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.mr.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.ne.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.ne.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.ne.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.pa.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.pa.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.pa.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.bn.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.bn.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.bn.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.mr.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.mr.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.mr.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.ne.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.ne.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.ne.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.pa.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.pa.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.pa.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.bn.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.bn.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.bn.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.mr.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.mr.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.mr.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.ne.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.ne.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.ne.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.pa.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.pa.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.pa.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.bn.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.bn.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.bn.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.mr.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.mr.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.mr.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.ne.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.ne.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.ne.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.pa.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.pa.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.pa.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.bn.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.bn.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.bn.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.mr.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.mr.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.mr.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.ne.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.ne.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.ne.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.pa.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.pa.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.pa.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.bn.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.bn.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.bn.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.mr.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.mr.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.mr.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.ne.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.ne.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.ne.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.pa.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.pa.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.pa.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.bn.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.bn.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.bn.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.mr.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.mr.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.mr.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.ne.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.ne.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.ne.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.pa.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.pa.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.pa.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.bn.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.bn.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.bn.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.mr.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.mr.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.mr.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.ne.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.ne.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.ne.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.pa.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.pa.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.pa.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.bn.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.bn.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.bn.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.mr.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.mr.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.mr.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.ne.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.ne.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.ne.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.pa.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.pa.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.pa.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.bn.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.bn.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.bn.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.mr.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.mr.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.mr.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.ne.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.ne.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.ne.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.pa.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.pa.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.pa.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.bn.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.bn.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.bn.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.mr.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.mr.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.mr.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.ne.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.ne.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.ne.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.pa.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.pa.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.pa.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.bn.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.bn.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.bn.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.mr.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.mr.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.mr.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.ne.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.ne.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.ne.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.pa.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.pa.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.pa.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.bn.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.bn.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.bn.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.mr.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.mr.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.mr.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.ne.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.ne.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.ne.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.pa.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.pa.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.pa.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.bn.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.bn.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.bn.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.mr.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.mr.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.mr.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.ne.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.ne.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.ne.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.pa.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.pa.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.pa.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.bn.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.bn.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.bn.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.mr.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.mr.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.mr.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.ne.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.ne.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.ne.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.pa.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.pa.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.pa.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.bn.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.bn.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.bn.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.mr.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.mr.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.mr.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.ne.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.ne.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.ne.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.pa.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.pa.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.pa.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.bn.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.bn.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.bn.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.mr.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.mr.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.mr.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.ne.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.ne.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.ne.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.pa.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.pa.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.pa.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.bn.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.bn.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.bn.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.mr.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.mr.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.mr.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.ne.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.ne.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.ne.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.pa.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.pa.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.pa.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.bn.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.bn.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.bn.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.mr.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.mr.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.mr.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.ne.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.ne.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.ne.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.pa.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.pa.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.pa.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.bn.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.bn.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.bn.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.mr.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.mr.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.mr.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.ne.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.ne.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.ne.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.pa.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.pa.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.pa.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.bn.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.bn.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.bn.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.mr.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.mr.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.mr.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.ne.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.ne.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.ne.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.pa.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.pa.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.pa.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.bn.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.bn.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.bn.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.mr.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.mr.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.mr.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.ne.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.ne.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.ne.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.pa.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.pa.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.pa.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.bn.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.bn.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.bn.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.mr.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.mr.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.mr.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.ne.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.ne.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.ne.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.pa.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.pa.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.pa.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.bn.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.bn.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.bn.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.mr.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.mr.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.mr.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.ne.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.ne.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.ne.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.pa.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.pa.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.pa.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.bn.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.bn.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.bn.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.mr.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.mr.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.mr.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.ne.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.ne.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.ne.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.pa.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.pa.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.pa.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.bn.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.bn.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.bn.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.mr.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.mr.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.mr.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.ne.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.ne.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.ne.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.pa.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.pa.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.pa.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.bn.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.bn.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.bn.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.mr.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.mr.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.mr.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.ne.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.ne.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.ne.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.pa.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.pa.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.pa.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.bn.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.bn.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.bn.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.mr.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.mr.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.mr.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.ne.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.ne.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.ne.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.pa.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.pa.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.pa.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.bn.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.bn.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.bn.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.mr.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.mr.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.mr.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.ne.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.ne.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.ne.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.pa.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.pa.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.pa.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.bn.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.bn.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.bn.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.mr.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.mr.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.mr.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.ne.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.ne.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.ne.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.pa.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.pa.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.pa.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.bn.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.bn.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.bn.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.mr.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.mr.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.mr.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.ne.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.ne.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.ne.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.pa.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.pa.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.pa.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.bn.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.bn.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.bn.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.mr.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.mr.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.mr.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.ne.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.ne.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.ne.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.pa.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.pa.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.pa.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.bn.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.bn.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.bn.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.mr.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.mr.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.mr.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.ne.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.ne.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.ne.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.pa.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.pa.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.pa.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.bn.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.bn.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.bn.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.mr.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.mr.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.mr.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.ne.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.ne.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.ne.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.pa.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.pa.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.pa.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.bn.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.bn.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.bn.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.mr.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.mr.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.mr.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.ne.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.ne.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.ne.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.pa.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.pa.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.pa.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.bn.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.bn.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.bn.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.mr.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.mr.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.mr.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.ne.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.ne.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.ne.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.pa.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.pa.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.pa.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.bn.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.bn.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.bn.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.mr.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.mr.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.mr.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.ne.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.ne.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.ne.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.pa.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.pa.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.pa.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.bn.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.bn.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.bn.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.mr.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.mr.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.mr.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.ne.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.ne.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.ne.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.pa.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.pa.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.pa.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.bn.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.bn.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.bn.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.mr.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.mr.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.mr.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.ne.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.ne.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.ne.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.pa.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.pa.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.pa.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.bn.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.bn.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.bn.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.mr.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.mr.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.mr.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.ne.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.ne.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.ne.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.pa.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.pa.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.pa.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.bn.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.bn.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.bn.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.mr.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.mr.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.mr.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.ne.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.ne.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.ne.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.pa.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.pa.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.pa.png differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.bn.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.bn.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.bn.jpg differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.mr.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.mr.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.mr.jpg differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.ne.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.ne.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.ne.jpg differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.pa.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.pa.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.pa.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.bn.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.bn.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.bn.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.mr.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.mr.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.mr.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.ne.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.ne.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.ne.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.pa.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.pa.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.pa.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.bn.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.bn.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.bn.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.mr.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.mr.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.mr.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.ne.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.ne.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.ne.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.pa.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.pa.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.pa.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.bn.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.bn.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.bn.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.mr.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.mr.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.mr.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.ne.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.ne.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.ne.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.pa.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.pa.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.pa.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.bn.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.bn.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.bn.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.mr.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.mr.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.mr.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.ne.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.ne.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.ne.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.pa.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.pa.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.pa.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.bn.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.bn.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.bn.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.mr.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.mr.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.mr.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.ne.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.ne.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.ne.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.pa.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.pa.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.pa.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.bn.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.bn.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.bn.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.mr.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.mr.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.mr.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.ne.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.ne.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.ne.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.pa.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.pa.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.pa.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.bn.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.bn.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.bn.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.mr.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.mr.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.mr.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.ne.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.ne.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.ne.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.pa.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.pa.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.pa.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.bn.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.bn.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.bn.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.mr.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.mr.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.mr.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.ne.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.ne.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.ne.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.pa.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.pa.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.pa.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.bn.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.bn.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.bn.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.mr.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.mr.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.mr.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.ne.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.ne.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.ne.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.pa.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.pa.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.pa.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.bn.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.bn.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.bn.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.mr.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.mr.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.mr.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.ne.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.ne.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.ne.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.pa.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.pa.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.pa.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.bn.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.bn.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.bn.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.mr.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.mr.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.mr.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.ne.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.ne.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.ne.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.pa.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.pa.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.pa.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.bn.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.bn.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.bn.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.mr.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.mr.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.mr.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.ne.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.ne.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.ne.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.pa.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.pa.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.pa.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.bn.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.bn.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.bn.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.mr.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.mr.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.mr.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.ne.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.ne.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.ne.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.pa.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.pa.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.pa.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.bn.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.bn.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.bn.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.mr.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.mr.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.mr.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.ne.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.ne.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.ne.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.pa.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.pa.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.pa.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.bn.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.bn.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.bn.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.mr.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.mr.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.mr.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.ne.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.ne.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.ne.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.pa.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.pa.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.pa.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.bn.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.bn.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.bn.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.mr.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.mr.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.mr.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.ne.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.ne.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.ne.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.pa.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.pa.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.pa.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.bn.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.bn.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.bn.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.mr.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.mr.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.mr.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.ne.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.ne.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.ne.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.pa.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.pa.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.pa.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.bn.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.bn.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.bn.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.mr.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.mr.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.mr.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.ne.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.ne.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.ne.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.pa.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.pa.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.pa.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.bn.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.bn.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.bn.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.mr.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.mr.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.mr.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.ne.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.ne.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.ne.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.pa.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.pa.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.pa.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.bn.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.bn.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.bn.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.mr.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.mr.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.mr.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.ne.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.ne.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.ne.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.pa.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.pa.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.pa.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.bn.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.bn.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.bn.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.mr.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.mr.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.mr.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.ne.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.ne.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.ne.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.pa.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.pa.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.pa.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.bn.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.bn.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.bn.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.mr.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.mr.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.mr.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.ne.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.ne.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.ne.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.pa.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.pa.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.pa.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.bn.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.bn.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.bn.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.mr.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.mr.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.mr.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.ne.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.ne.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.ne.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.pa.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.pa.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.pa.jpg differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.bn.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.bn.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.bn.png differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.mr.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.mr.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.mr.png differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.ne.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.ne.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.ne.png differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.pa.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.pa.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.pa.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.bn.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.bn.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.bn.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.mr.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.mr.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.mr.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.ne.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.ne.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.ne.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.pa.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.pa.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.pa.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.bn.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.bn.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.bn.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.mr.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.mr.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.mr.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.ne.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.ne.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.ne.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.pa.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.pa.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.pa.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.bn.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.bn.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.bn.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.mr.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.mr.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.mr.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.ne.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.ne.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.ne.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.pa.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.pa.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.pa.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.bn.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.bn.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.bn.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.mr.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.mr.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.mr.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.ne.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.ne.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.ne.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.pa.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.pa.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.pa.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.bn.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.bn.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.bn.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.mr.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.mr.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.mr.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.ne.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.ne.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.ne.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.pa.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.pa.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.pa.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.bn.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.bn.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.bn.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.mr.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.mr.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.mr.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.ne.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.ne.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.ne.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.pa.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.pa.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.pa.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.bn.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.bn.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.bn.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.mr.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.mr.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.mr.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.ne.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.ne.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.ne.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.pa.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.pa.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.pa.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.bn.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.bn.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.bn.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.mr.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.mr.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.mr.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.ne.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.ne.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.ne.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.pa.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.pa.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.pa.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.bn.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.bn.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.bn.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.mr.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.mr.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.mr.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.ne.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.ne.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.ne.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.pa.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.pa.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.pa.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.bn.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.bn.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.bn.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.mr.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.mr.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.mr.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.ne.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.ne.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.ne.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.pa.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.pa.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.pa.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.bn.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.bn.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.bn.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.mr.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.mr.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.mr.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.ne.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.ne.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.ne.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.pa.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.pa.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.pa.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.bn.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.bn.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.bn.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.mr.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.mr.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.mr.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.ne.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.ne.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.ne.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.pa.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.pa.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.pa.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.bn.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.bn.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.bn.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.mr.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.mr.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.mr.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.ne.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.ne.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.ne.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.pa.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.pa.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.pa.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.bn.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.bn.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.bn.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.mr.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.mr.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.mr.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.ne.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.ne.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.ne.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.pa.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.pa.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.pa.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.bn.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.bn.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.bn.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.mr.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.mr.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.mr.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.ne.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.ne.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.ne.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.pa.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.pa.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.pa.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.bn.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.bn.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.bn.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.mr.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.mr.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.mr.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.ne.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.ne.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.ne.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.pa.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.pa.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.pa.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.bn.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.bn.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.bn.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.mr.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.mr.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.mr.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.ne.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.ne.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.ne.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.pa.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.pa.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.pa.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.bn.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.bn.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.bn.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.mr.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.mr.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.mr.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.ne.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.ne.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.ne.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.pa.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.pa.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.pa.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.bn.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.bn.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.bn.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.mr.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.mr.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.mr.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.ne.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.ne.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.ne.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.pa.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.pa.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.pa.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.bn.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.bn.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.bn.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.mr.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.mr.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.mr.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.ne.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.ne.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.ne.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.pa.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.pa.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.pa.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.bn.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.bn.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.bn.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.mr.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.mr.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.mr.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.ne.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.ne.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.ne.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.pa.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.pa.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.pa.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.bn.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.bn.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.bn.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.mr.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.mr.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.mr.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.ne.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.ne.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.ne.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.pa.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.pa.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.pa.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.bn.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.bn.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.bn.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.mr.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.mr.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.mr.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.ne.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.ne.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.ne.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.pa.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.pa.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.pa.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.bn.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.bn.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.bn.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.mr.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.mr.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.mr.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.ne.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.ne.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.ne.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.pa.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.pa.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.pa.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.bn.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.bn.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.bn.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.mr.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.mr.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.mr.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.ne.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.ne.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.ne.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.pa.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.pa.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.pa.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.bn.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.bn.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.bn.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.mr.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.mr.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.mr.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.ne.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.ne.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.ne.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.pa.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.pa.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.pa.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.bn.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.bn.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.bn.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.mr.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.mr.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.mr.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.ne.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.ne.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.ne.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.pa.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.pa.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.pa.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.bn.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.bn.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.bn.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.mr.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.mr.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.mr.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.ne.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.ne.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.ne.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.pa.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.pa.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.pa.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.bn.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.bn.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.bn.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.mr.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.mr.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.mr.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.ne.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.ne.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.ne.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.pa.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.pa.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.pa.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.bn.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.bn.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.bn.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.mr.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.mr.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.mr.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.ne.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.ne.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.ne.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.pa.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.pa.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.pa.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.bn.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.bn.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.bn.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.mr.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.mr.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.mr.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.ne.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.ne.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.ne.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.pa.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.pa.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.pa.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.bn.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.bn.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.bn.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.mr.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.mr.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.mr.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.ne.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.ne.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.ne.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.pa.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.pa.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.pa.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.bn.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.bn.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.bn.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.mr.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.mr.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.mr.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.ne.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.ne.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.ne.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.pa.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.pa.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.pa.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.bn.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.bn.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.bn.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.mr.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.mr.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.mr.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.ne.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.ne.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.ne.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.pa.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.pa.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.pa.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.bn.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.bn.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.bn.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.mr.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.mr.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.mr.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.ne.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.ne.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.ne.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.pa.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.pa.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.pa.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.bn.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.bn.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.bn.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.mr.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.mr.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.mr.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.ne.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.ne.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.ne.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.pa.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.pa.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.pa.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.bn.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.bn.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.bn.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.mr.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.mr.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.mr.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.ne.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.ne.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.ne.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.pa.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.pa.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.pa.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.bn.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.bn.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.bn.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.mr.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.mr.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.mr.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.ne.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.ne.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.ne.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.pa.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.pa.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.pa.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.bn.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.bn.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.bn.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.mr.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.mr.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.mr.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.ne.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.ne.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.ne.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.pa.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.pa.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.pa.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.bn.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.bn.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.bn.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.mr.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.mr.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.mr.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.ne.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.ne.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.ne.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.pa.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.pa.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.pa.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.bn.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.bn.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.bn.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.mr.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.mr.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.mr.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.ne.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.ne.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.ne.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.pa.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.pa.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.pa.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.bn.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.bn.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.bn.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.mr.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.mr.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.mr.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.ne.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.ne.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.ne.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.pa.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.pa.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.pa.png differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.bn.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.bn.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.bn.jpg differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.mr.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.mr.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.mr.jpg differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ne.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ne.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ne.jpg differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.pa.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.pa.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.pa.jpg differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.bn.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.bn.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.bn.png differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.mr.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.mr.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.mr.png differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.ne.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.ne.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.ne.png differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.pa.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.pa.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.pa.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.bn.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.bn.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.bn.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.mr.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.mr.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.mr.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.ne.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.ne.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.ne.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.pa.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.pa.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.pa.png differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.bn.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.bn.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.bn.jpg differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.mr.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.mr.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.mr.jpg differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.ne.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.ne.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.ne.jpg differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.pa.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.pa.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.pa.jpg differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.bn.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.bn.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.bn.png differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.mr.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.mr.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.mr.png differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.ne.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.ne.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.ne.png differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.pa.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.pa.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.pa.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.bn.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.bn.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.bn.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.mr.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.mr.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.mr.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.ne.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.ne.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.ne.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.pa.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.pa.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.pa.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.bn.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.bn.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.bn.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.mr.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.mr.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.mr.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.ne.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.ne.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.ne.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.pa.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.pa.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.pa.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.bn.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.bn.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.bn.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.mr.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.mr.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.mr.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.ne.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.ne.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.ne.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.pa.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.pa.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.pa.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.bn.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.bn.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.bn.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.mr.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.mr.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.mr.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.ne.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.ne.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.ne.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.pa.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.pa.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.pa.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.bn.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.bn.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.bn.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.mr.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.mr.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.mr.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.ne.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.ne.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.ne.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.pa.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.pa.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.pa.png differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.bn.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.bn.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.bn.jpg differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.mr.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.mr.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.mr.jpg differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.ne.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.ne.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.ne.jpg differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.pa.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.pa.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.pa.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.bn.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.bn.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.bn.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.mr.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.mr.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.mr.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.ne.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.ne.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.ne.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.pa.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.pa.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.pa.jpg differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.bn.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.bn.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.bn.png differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.mr.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.mr.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.mr.png differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.ne.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.ne.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.ne.png differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.pa.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.pa.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.pa.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.bn.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.bn.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.bn.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.mr.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.mr.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.mr.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.ne.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.ne.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.ne.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.pa.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.pa.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.pa.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.bn.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.bn.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.bn.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.mr.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.mr.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.mr.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.ne.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.ne.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.ne.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.pa.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.pa.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.pa.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.bn.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.bn.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.bn.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.mr.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.mr.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.mr.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.ne.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.ne.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.ne.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.pa.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.pa.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.pa.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.bn.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.bn.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.bn.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.mr.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.mr.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.mr.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.ne.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.ne.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.ne.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.pa.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.pa.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.pa.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.bn.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.bn.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.bn.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.mr.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.mr.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.mr.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.ne.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.ne.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.ne.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.pa.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.pa.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.pa.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.bn.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.bn.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.bn.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.mr.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.mr.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.mr.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.ne.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.ne.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.ne.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.pa.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.pa.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.pa.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.bn.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.bn.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.bn.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.mr.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.mr.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.mr.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.ne.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.ne.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.ne.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.pa.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.pa.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.pa.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.bn.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.bn.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.bn.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.mr.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.mr.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.mr.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.ne.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.ne.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.ne.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.pa.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.pa.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.pa.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.bn.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.bn.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.bn.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.mr.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.mr.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.mr.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.ne.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.ne.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.ne.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.pa.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.pa.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.pa.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.bn.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.bn.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.bn.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.mr.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.mr.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.mr.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.ne.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.ne.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.ne.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.pa.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.pa.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.pa.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.bn.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.bn.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.bn.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.mr.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.mr.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.mr.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.ne.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.ne.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.ne.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.pa.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.pa.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.pa.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.bn.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.bn.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.bn.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.mr.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.mr.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.mr.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.ne.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.ne.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.ne.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.pa.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.pa.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.pa.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.bn.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.bn.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.bn.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.mr.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.mr.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.mr.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.ne.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.ne.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.ne.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.pa.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.pa.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.pa.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.bn.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.bn.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.bn.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.mr.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.mr.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.mr.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.ne.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.ne.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.ne.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.pa.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.pa.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.pa.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.bn.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.bn.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.bn.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.mr.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.mr.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.mr.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.ne.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.ne.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.ne.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.pa.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.pa.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.pa.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.bn.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.bn.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.bn.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.mr.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.mr.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.mr.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.ne.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.ne.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.ne.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.pa.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.pa.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.pa.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.bn.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.bn.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.bn.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.mr.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.mr.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.mr.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.ne.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.ne.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.ne.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.pa.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.pa.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.pa.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.bn.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.bn.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.bn.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.mr.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.mr.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.mr.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.ne.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.ne.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.ne.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.pa.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.pa.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.pa.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.bn.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.bn.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.bn.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.mr.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.mr.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.mr.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.ne.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.ne.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.ne.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.pa.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.pa.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.pa.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.bn.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.bn.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.bn.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.mr.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.mr.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.mr.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.ne.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.ne.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.ne.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.pa.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.pa.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.pa.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.bn.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.bn.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.bn.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.mr.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.mr.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.mr.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.ne.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.ne.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.ne.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.pa.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.pa.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.pa.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.bn.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.bn.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.bn.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.mr.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.mr.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.mr.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.ne.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.ne.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.ne.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.pa.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.pa.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.pa.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.bn.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.bn.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.bn.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.mr.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.mr.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.mr.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.ne.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.ne.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.ne.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.pa.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.pa.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.pa.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.bn.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.bn.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.bn.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.mr.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.mr.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.mr.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.ne.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.ne.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.ne.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.pa.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.pa.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.pa.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.bn.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.bn.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.bn.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.mr.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.mr.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.mr.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.ne.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.ne.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.ne.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.pa.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.pa.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.pa.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.bn.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.bn.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.bn.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.mr.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.mr.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.mr.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.ne.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.ne.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.ne.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.pa.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.pa.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.pa.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.bn.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.bn.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.bn.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.mr.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.mr.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.mr.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.ne.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.ne.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.ne.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.pa.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.pa.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.pa.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.bn.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.bn.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.bn.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.mr.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.mr.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.mr.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.ne.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.ne.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.ne.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.pa.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.pa.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.pa.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.bn.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.bn.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.bn.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.mr.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.mr.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.mr.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.ne.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.ne.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.ne.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.pa.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.pa.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.pa.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.bn.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.bn.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.bn.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.mr.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.mr.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.mr.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.ne.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.ne.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.ne.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.pa.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.pa.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.pa.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.bn.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.bn.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.bn.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.mr.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.mr.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.mr.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.ne.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.ne.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.ne.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.pa.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.pa.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.pa.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.bn.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.bn.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.bn.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.mr.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.mr.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.mr.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.ne.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.ne.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.ne.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.pa.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.pa.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.pa.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.bn.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.bn.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.bn.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.mr.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.mr.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.mr.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.ne.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.ne.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.ne.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.pa.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.pa.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.pa.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.bn.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.bn.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.bn.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.mr.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.mr.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.mr.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.ne.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.ne.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.ne.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.pa.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.pa.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.pa.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.bn.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.bn.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.bn.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.mr.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.mr.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.mr.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.ne.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.ne.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.ne.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.pa.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.pa.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.pa.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.bn.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.bn.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.bn.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.mr.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.mr.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.mr.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.ne.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.ne.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.ne.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.pa.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.pa.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.pa.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.bn.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.bn.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.bn.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.mr.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.mr.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.mr.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.ne.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.ne.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.ne.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.pa.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.pa.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.pa.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.bn.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.bn.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.bn.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.mr.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.mr.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.mr.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.ne.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.ne.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.ne.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.pa.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.pa.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.pa.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.bn.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.bn.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.bn.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.mr.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.mr.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.mr.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.ne.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.ne.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.ne.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.pa.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.pa.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.pa.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.bn.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.bn.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.bn.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.mr.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.mr.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.mr.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.ne.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.ne.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.ne.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.pa.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.pa.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.pa.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.bn.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.bn.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.bn.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.mr.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.mr.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.mr.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.ne.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.ne.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.ne.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.pa.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.pa.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.pa.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.bn.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.bn.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.bn.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.mr.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.mr.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.mr.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.ne.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.ne.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.ne.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.pa.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.pa.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.pa.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.bn.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.bn.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.bn.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.mr.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.mr.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.mr.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.ne.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.ne.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.ne.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.pa.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.pa.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.pa.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.bn.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.bn.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.bn.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.mr.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.mr.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.mr.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.ne.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.ne.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.ne.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.pa.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.pa.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.pa.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.bn.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.bn.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.bn.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.mr.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.mr.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.mr.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.ne.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.ne.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.ne.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.pa.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.pa.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.pa.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.bn.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.bn.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.bn.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.mr.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.mr.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.mr.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.ne.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.ne.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.ne.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.pa.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.pa.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.pa.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.bn.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.bn.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.bn.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.mr.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.mr.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.mr.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.ne.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.ne.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.ne.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.pa.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.pa.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.pa.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.bn.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.bn.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.bn.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.mr.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.mr.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.mr.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.ne.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.ne.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.ne.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.pa.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.pa.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.pa.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.bn.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.bn.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.bn.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.mr.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.mr.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.mr.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.ne.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.ne.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.ne.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.pa.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.pa.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.pa.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.bn.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.bn.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.bn.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.mr.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.mr.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.mr.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.ne.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.ne.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.ne.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.pa.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.pa.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.pa.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.bn.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.bn.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.bn.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.mr.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.mr.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.mr.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.ne.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.ne.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.ne.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.pa.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.pa.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.pa.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.bn.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.bn.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.bn.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.mr.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.mr.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.mr.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.ne.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.ne.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.ne.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.pa.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.pa.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.bn.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.bn.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.mr.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.mr.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.ne.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.ne.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.pa.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.pa.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.bn.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.bn.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.mr.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.mr.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.ne.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.ne.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.pa.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.pa.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.bn.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.bn.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.mr.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.mr.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.ne.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.ne.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.pa.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.pa.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.bn.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.bn.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.mr.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.mr.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.ne.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.ne.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.pa.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.pa.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.bn.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.bn.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.mr.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.mr.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.ne.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.ne.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.pa.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.pa.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.pa.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.bn.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.bn.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.bn.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.mr.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.mr.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.mr.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.ne.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.ne.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.ne.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.pa.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.pa.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.pa.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.bn.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.bn.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.bn.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.mr.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.mr.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.mr.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.ne.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.ne.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.ne.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.pa.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.pa.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.pa.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.bn.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.bn.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.bn.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.mr.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.mr.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.mr.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.ne.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.ne.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.ne.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.pa.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.pa.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.pa.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.bn.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.bn.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.bn.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.mr.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.mr.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.mr.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.ne.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.ne.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.ne.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.pa.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.pa.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.pa.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.bn.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.bn.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.bn.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.mr.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.mr.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.mr.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.ne.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.ne.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.ne.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.pa.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.pa.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.pa.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.bn.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.bn.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.bn.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.mr.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.mr.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.mr.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.ne.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.ne.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.ne.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.pa.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.pa.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.pa.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.bn.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.bn.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.bn.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.mr.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.mr.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.mr.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.ne.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.ne.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.ne.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.pa.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.pa.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.pa.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.bn.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.bn.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.bn.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.mr.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.mr.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.mr.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.ne.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.ne.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.ne.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.pa.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.pa.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.pa.png differ
diff --git a/translations/bn/1-getting-started/README.md b/translations/bn/1-getting-started/README.md
new file mode 100644
index 00000000..2615bc9a
--- /dev/null
+++ b/translations/bn/1-getting-started/README.md
@@ -0,0 +1,30 @@
+
+# IoT এর সাথে শুরু করা
+
+এই পাঠক্রমের এই অংশে, আপনাকে ইন্টারনেট অফ থিংস (IoT) এর সাথে পরিচয় করানো হবে এবং মৌলিক ধারণাগুলি শেখানো হবে, যার মধ্যে আপনার প্রথম 'Hello World' IoT প্রকল্প তৈরি করা অন্তর্ভুক্ত থাকবে যা ক্লাউডের সাথে সংযুক্ত। এই প্রকল্পটি একটি নাইটলাইট যা একটি সেন্সর দ্বারা পরিমাপ করা আলোর স্তর কমে গেলে জ্বলে ওঠে।
+
+
+
+## বিষয়বস্তু
+
+1. [IoT এর পরিচিতি](lessons/1-introduction-to-iot/README.md)
+1. [IoT সম্পর্কে আরও গভীরভাবে জানুন](lessons/2-deeper-dive/README.md)
+1. [সেন্সর এবং অ্যাকচুয়েটরের মাধ্যমে বাস্তব জগতের সাথে যোগাযোগ করুন](lessons/3-sensors-and-actuators/README.md)
+1. [আপনার ডিভাইসকে ইন্টারনেটের সাথে সংযুক্ত করুন](lessons/4-connect-internet/README.md)
+
+## কৃতজ্ঞতা
+
+সমস্ত পাঠ ♥️ দিয়ে লিখেছেন [Jim Bennett](https://GitHub.com/JimBobBennett)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/README.md
new file mode 100644
index 00000000..e258edb0
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/README.md
@@ -0,0 +1,242 @@
+
+# IoT পরিচিতি
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [Hello IoT সিরিজ](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) এর অংশ হিসেবে [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে শেখানো হয়েছিল। এটি দুটি ভিডিওতে শেখানো হয়েছিল - একটি ১ ঘণ্টার পাঠ এবং একটি ১ ঘণ্টার অফিস আওয়ার যেখানে পাঠের অংশগুলো আরও গভীরভাবে আলোচনা করা হয় এবং প্রশ্নের উত্তর দেওয়া হয়।
+
+[](https://youtu.be/bVFfcYh6UBw)
+
+[](https://youtu.be/YI772q5v3yI)
+
+> 🎥 উপরের ছবিগুলোতে ক্লিক করে ভিডিওগুলো দেখুন
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/1)
+
+## পরিচিতি
+
+এই পাঠে ইন্টারনেট অফ থিংস (IoT) সম্পর্কিত কিছু প্রাথমিক বিষয় আলোচনা করা হয়েছে এবং আপনার হার্ডওয়্যার সেটআপ করার প্রক্রিয়া শুরু করা হয়েছে।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [ইন্টারনেট অফ থিংস কী?](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [IoT ডিভাইস](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [আপনার ডিভাইস সেটআপ করুন](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [IoT এর প্রয়োগ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [আপনার চারপাশে থাকা IoT ডিভাইসের উদাহরণ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+
+## ইন্টারনেট অফ থিংস কী?
+
+'ইন্টারনেট অফ থিংস' শব্দটি ১৯৯৯ সালে [কেভিন অ্যাশটন](https://wikipedia.org/wiki/Kevin_Ashton) দ্বারা তৈরি করা হয়েছিল, যা সেন্সরের মাধ্যমে ইন্টারনেটকে বাস্তব জগতের সাথে সংযুক্ত করার ধারণাকে বোঝায়। তখন থেকে, এই শব্দটি এমন যেকোনো ডিভাইসকে বোঝাতে ব্যবহৃত হয়েছে যা তার চারপাশের বাস্তব জগতের সাথে যোগাযোগ করে, হয় সেন্সরের মাধ্যমে ডেটা সংগ্রহ করে, অথবা অ্যাকচুয়েটরের মাধ্যমে বাস্তব জগতের সাথে যোগাযোগ করে (যেমন সুইচ চালু করা বা LED জ্বালানো), সাধারণত অন্যান্য ডিভাইস বা ইন্টারনেটের সাথে সংযুক্ত থাকে।
+
+> **সেন্সর** তথ্য সংগ্রহ করে, যেমন গতি, তাপমাত্রা বা অবস্থান পরিমাপ।
+>
+> **অ্যাকচুয়েটর** বৈদ্যুতিক সংকেতকে বাস্তব জগতের ক্রিয়ায় রূপান্তরিত করে, যেমন সুইচ চালু করা, আলো জ্বালানো, শব্দ তৈরি করা, বা অন্য হার্ডওয়্যারে নিয়ন্ত্রণ সংকেত পাঠানো।
+
+IoT শুধুমাত্র ডিভাইসের মধ্যে সীমাবদ্ধ নয় - এটি ক্লাউড-ভিত্তিক পরিষেবাগুলোকেও অন্তর্ভুক্ত করে যা সেন্সর ডেটা প্রক্রিয়া করতে পারে বা IoT ডিভাইসের সাথে সংযুক্ত অ্যাকচুয়েটরকে অনুরোধ পাঠাতে পারে। এটি এমন ডিভাইসগুলোকেও অন্তর্ভুক্ত করে যেগুলো ইন্টারনেট সংযোগ ছাড়াই কাজ করে, যেগুলোকে প্রায়ই এজ ডিভাইস বলা হয়। এই ডিভাইসগুলো সাধারণত ক্লাউডে প্রশিক্ষিত AI মডেল ব্যবহার করে সেন্সর ডেটা প্রক্রিয়া এবং প্রতিক্রিয়া জানাতে সক্ষম।
+
+IoT একটি দ্রুত বর্ধনশীল প্রযুক্তি ক্ষেত্র। অনুমান করা হয় যে ২০২০ সালের শেষ নাগাদ ৩০ বিলিয়ন IoT ডিভাইস ইন্টারনেটে সংযুক্ত ছিল। ভবিষ্যতের দিকে তাকালে, অনুমান করা হয় যে ২০২৫ সালের মধ্যে IoT ডিভাইসগুলো প্রায় ৮০ জেটাবাইট বা ৮০ ট্রিলিয়ন গিগাবাইট ডেটা সংগ্রহ করবে। এটি প্রচুর পরিমাণে ডেটা!
+
+
+
+✅ একটু গবেষণা করুন: IoT ডিভাইস দ্বারা উৎপন্ন ডেটার কতটুকু আসলে ব্যবহৃত হয় এবং কতটুকু অপচয় হয়? কেন এত ডেটা উপেক্ষা করা হয়?
+
+এই ডেটাই IoT এর সাফল্যের চাবিকাঠি। একজন সফল IoT ডেভেলপার হতে হলে আপনাকে বুঝতে হবে কোন ডেটা সংগ্রহ করতে হবে, কীভাবে তা সংগ্রহ করতে হবে, কীভাবে সেই ডেটার ভিত্তিতে সিদ্ধান্ত নিতে হবে, এবং প্রয়োজনে সেই সিদ্ধান্তগুলো বাস্তব জগতের সাথে কীভাবে যোগাযোগ করতে হবে।
+
+## IoT ডিভাইস
+
+IoT এর **T** মানে **থিংস** - ডিভাইসগুলো যা তাদের চারপাশের বাস্তব জগতের সাথে যোগাযোগ করে, হয় সেন্সরের মাধ্যমে ডেটা সংগ্রহ করে, অথবা অ্যাকচুয়েটরের মাধ্যমে বাস্তব জগতের সাথে যোগাযোগ করে।
+
+উৎপাদন বা বাণিজ্যিক ব্যবহারের জন্য ডিভাইস, যেমন কনজিউমার ফিটনেস ট্র্যাকার বা শিল্প মেশিন কন্ট্রোলার, সাধারণত কাস্টম-তৈরি হয়। এগুলো কাস্টম সার্কিট বোর্ড ব্যবহার করে, এমনকি কাস্টম প্রসেসরও থাকতে পারে, যা নির্দিষ্ট কাজের প্রয়োজন মেটানোর জন্য ডিজাইন করা হয়, যেমন হাতের কব্জিতে ফিট করার জন্য ছোট হওয়া, বা উচ্চ তাপমাত্রা, উচ্চ চাপ বা উচ্চ কম্পনযুক্ত কারখানা পরিবেশে কাজ করার জন্য শক্তপোক্ত হওয়া।
+
+একজন ডেভেলপার হিসেবে IoT সম্পর্কে শেখার জন্য বা একটি ডিভাইস প্রোটোটাইপ তৈরি করার জন্য, আপনাকে একটি ডেভেলপার কিট দিয়ে শুরু করতে হবে। এগুলো সাধারণ-উদ্দেশ্য IoT ডিভাইস যা ডেভেলপারদের ব্যবহারের জন্য ডিজাইন করা হয়েছে, প্রায়শই এমন বৈশিষ্ট্য সহ যা উৎপাদন ডিভাইসে থাকবে না, যেমন সেন্সর বা অ্যাকচুয়েটর সংযুক্ত করার জন্য বাহ্যিক পিন, ডিবাগিংয়ের জন্য হার্ডওয়্যার, বা অতিরিক্ত সংস্থান যা বড় উৎপাদন চালানোর সময় অপ্রয়োজনীয় খরচ যোগ করবে।
+
+এই ডেভেলপার কিটগুলো সাধারণত দুটি বিভাগে পড়ে - মাইক্রোকন্ট্রোলার এবং সিঙ্গল-বোর্ড কম্পিউটার। এগুলো এখানে পরিচিত করা হবে, এবং আমরা পরবর্তী পাঠে আরও বিস্তারিত আলোচনা করব।
+
+> 💁 আপনার ফোনকেও একটি সাধারণ-উদ্দেশ্য IoT ডিভাইস হিসেবে বিবেচনা করা যেতে পারে, যেখানে সেন্সর এবং অ্যাকচুয়েটর বিল্ট-ইন থাকে, এবং বিভিন্ন অ্যাপ সেন্সর এবং অ্যাকচুয়েটরকে বিভিন্নভাবে ব্যবহার করে বিভিন্ন ক্লাউড পরিষেবার সাথে।
+
+### মাইক্রোকন্ট্রোলার
+
+একটি মাইক্রোকন্ট্রোলার (MCU, মাইক্রোকন্ট্রোলার ইউনিটের সংক্ষিপ্ত রূপ) একটি ছোট কম্পিউটার যা নিম্নলিখিত অংশগুলো নিয়ে গঠিত:
+
+🧠 একটি বা একাধিক সেন্ট্রাল প্রসেসিং ইউনিট (CPU) - মাইক্রোকন্ট্রোলারের 'মস্তিষ্ক' যা আপনার প্রোগ্রাম চালায়
+
+💾 মেমরি (RAM এবং প্রোগ্রাম মেমরি) - যেখানে আপনার প্রোগ্রাম, ডেটা এবং ভেরিয়েবল সংরক্ষিত থাকে
+
+🔌 প্রোগ্রামেবল ইনপুট/আউটপুট (I/O) সংযোগ - বাহ্যিক পেরিফেরাল (সংযুক্ত ডিভাইস) যেমন সেন্সর এবং অ্যাকচুয়েটরের সাথে যোগাযোগ করার জন্য
+
+মাইক্রোকন্ট্রোলার সাধারণত কম খরচের কম্পিউটিং ডিভাইস, যেখানে কাস্টম হার্ডওয়্যারে ব্যবহৃত গড় দাম প্রায় US$0.50 পর্যন্ত কমে যায়, এবং কিছু ডিভাইস US$0.03 পর্যন্ত সস্তা। ডেভেলপার কিটের দাম US$4 থেকে শুরু হয়, এবং আপনি আরও বৈশিষ্ট্য যোগ করলে খরচ বাড়ে। [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), একটি মাইক্রোকন্ট্রোলার ডেভেলপার কিট [Seeed Studios](https://www.seeedstudio.com) থেকে, যার সেন্সর, অ্যাকচুয়েটর, WiFi এবং একটি স্ক্রিন রয়েছে, এর দাম প্রায় US$30।
+
+
+
+> 💁 ইন্টারনেটে মাইক্রোকন্ট্রোলার খুঁজতে গেলে **MCU** শব্দটি খুঁজতে সতর্ক থাকুন, কারণ এটি মার্ভেল সিনেমাটিক ইউনিভার্সের অনেক ফলাফল নিয়ে আসতে পারে, মাইক্রোকন্ট্রোলার নয়।
+
+মাইক্রোকন্ট্রোলারগুলোকে সাধারণত খুব নির্দিষ্ট কিছু কাজ করার জন্য প্রোগ্রাম করা হয়, সাধারণ-উদ্দেশ্য কম্পিউটার যেমন PC বা Mac এর মতো নয়। খুব নির্দিষ্ট পরিস্থিতি ছাড়া, আপনি একটি মনিটর, কীবোর্ড এবং মাউস সংযুক্ত করতে পারবেন না এবং এগুলোকে সাধারণ-উদ্দেশ্য কাজের জন্য ব্যবহার করতে পারবেন না।
+
+মাইক্রোকন্ট্রোলার ডেভেলপার কিটগুলো সাধারণত বোর্ডে অতিরিক্ত সেন্সর এবং অ্যাকচুয়েটর নিয়ে আসে। বেশিরভাগ বোর্ডে একটি বা একাধিক LED থাকে যা আপনি প্রোগ্রাম করতে পারেন, পাশাপাশি অন্যান্য ডিভাইস যেমন বিভিন্ন নির্মাতার ইকোসিস্টেম ব্যবহার করে আরও সেন্সর বা অ্যাকচুয়েটর যোগ করার জন্য স্ট্যান্ডার্ড প্লাগ বা বিল্ট-ইন সেন্সর (সাধারণত সবচেয়ে জনপ্রিয় যেমন তাপমাত্রা সেন্সর)। কিছু মাইক্রোকন্ট্রোলারে বিল্ট-ইন ওয়্যারলেস সংযোগ থাকে যেমন ব্লুটুথ বা WiFi, অথবা বোর্ডে অতিরিক্ত মাইক্রোকন্ট্রোলার থাকে এই সংযোগ যোগ করার জন্য।
+
+> 💁 মাইক্রোকন্ট্রোলার সাধারণত C/C++ ভাষায় প্রোগ্রাম করা হয়।
+
+### সিঙ্গল-বোর্ড কম্পিউটার
+
+একটি সিঙ্গল-বোর্ড কম্পিউটার একটি ছোট কম্পিউটিং ডিভাইস যা একটি ছোট বোর্ডে একটি সম্পূর্ণ কম্পিউটারের সমস্ত উপাদান ধারণ করে। এগুলো এমন ডিভাইস যা ডেস্কটপ বা ল্যাপটপ PC বা Mac এর কাছাকাছি স্পেসিফিকেশন রয়েছে, একটি পূর্ণ অপারেটিং সিস্টেম চালায়, কিন্তু ছোট, কম শক্তি ব্যবহার করে এবং উল্লেখযোগ্যভাবে সস্তা।
+
+
+
+Raspberry Pi সবচেয়ে জনপ্রিয় সিঙ্গল-বোর্ড কম্পিউটারগুলোর মধ্যে একটি।
+
+মাইক্রোকন্ট্রোলারের মতো, সিঙ্গল-বোর্ড কম্পিউটারে CPU, মেমরি এবং ইনপুট/আউটপুট পিন থাকে, কিন্তু এতে অতিরিক্ত বৈশিষ্ট্য থাকে যেমন গ্রাফিক্স চিপ যা আপনাকে মনিটর সংযুক্ত করতে দেয়, অডিও আউটপুট এবং USB পোর্ট যা কীবোর্ড, মাউস এবং অন্যান্য স্ট্যান্ডার্ড USB ডিভাইস যেমন ওয়েবক্যাম বা বাহ্যিক স্টোরেজ সংযুক্ত করতে দেয়। প্রোগ্রামগুলো SD কার্ড বা হার্ড ড্রাইভে সংরক্ষিত হয় অপারেটিং সিস্টেমের সাথে, বোর্ডে বিল্ট-ইন মেমরি চিপের পরিবর্তে।
+
+> 🎓 আপনি একটি সিঙ্গল-বোর্ড কম্পিউটারকে একটি ছোট, সস্তা সংস্করণ হিসেবে ভাবতে পারেন যে PC বা Mac আপনি এটি পড়ছেন, GPIO (জেনারেল-পারপাস ইনপুট/আউটপুট) পিন যোগ করার সুবিধাসহ যা সেন্সর এবং অ্যাকচুয়েটরের সাথে যোগাযোগ করতে পারে।
+
+সিঙ্গল-বোর্ড কম্পিউটার সম্পূর্ণ-সুবিধাযুক্ত কম্পিউটার, তাই যেকোনো ভাষায় প্রোগ্রাম করা যায়। IoT ডিভাইস সাধারণত Python ভাষায় প্রোগ্রাম করা হয়।
+
+### পরবর্তী পাঠের জন্য হার্ডওয়্যার পছন্দ
+
+পরবর্তী পাঠগুলোতে IoT ডিভাইস ব্যবহার করে বাস্তব জগতের সাথে যোগাযোগ এবং ক্লাউডের সাথে যোগাযোগ করার জন্য অ্যাসাইনমেন্ট অন্তর্ভুক্ত থাকবে। প্রতিটি পাঠে ৩টি ডিভাইস পছন্দের সমর্থন থাকবে - Arduino (Seeed Studios Wio Terminal ব্যবহার করে), অথবা একটি সিঙ্গল-বোর্ড কম্পিউটার, হয় একটি বাস্তব ডিভাইস (Raspberry Pi 4) অথবা আপনার PC বা Mac-এ চলমান একটি ভার্চুয়াল সিঙ্গল-বোর্ড কম্পিউটার।
+
+আপনি সমস্ত অ্যাসাইনমেন্ট সম্পন্ন করতে প্রয়োজনীয় হার্ডওয়্যারের বিষয়ে [হার্ডওয়্যার গাইড](../../../hardware.md) এ পড়তে পারেন।
+
+> 💁 IoT হার্ডওয়্যার কেনার প্রয়োজন নেই অ্যাসাইনমেন্ট সম্পন্ন করতে, আপনি সবকিছু একটি ভার্চুয়াল সিঙ্গল-বোর্ড কম্পিউটার ব্যবহার করে করতে পারেন।
+
+আপনি কোন হার্ডওয়্যার বেছে নেবেন তা আপনার উপর নির্ভর করে - এটি নির্ভর করে আপনার বাড়িতে বা স্কুলে কী উপলব্ধ আছে এবং আপনি কোন প্রোগ্রামিং ভাষা জানেন বা শিখতে চান। উভয় হার্ডওয়্যার ভেরিয়েন্ট একই সেন্সর ইকোসিস্টেম ব্যবহার করবে, তাই আপনি যদি একটি পথে শুরু করেন, আপনি অন্যটিতে পরিবর্তন করতে পারেন বেশিরভাগ কিট প্রতিস্থাপন না করেই। ভার্চুয়াল সিঙ্গল-বোর্ড কম্পিউটার Raspberry Pi-তে শেখার সমতুল্য হবে, যেখানে কোডের বেশিরভাগ অংশ Pi-তে স্থানান্তরযোগ্য হবে যদি আপনি শেষ পর্যন্ত একটি ডিভাইস এবং সেন্সর পান।
+
+### Arduino ডেভেলপার কিট
+
+যদি আপনি মাইক্রোকন্ট্রোলার ডেভেলপমেন্ট শেখার আগ্রহী হন, আপনি Arduino ডিভাইস ব্যবহার করে অ্যাসাইনমেন্ট সম্পন্ন করতে পারেন। আপনাকে C/C++ প্রোগ্রামিংয়ের একটি মৌলিক ধারণা থাকতে হবে, কারণ পাঠগুলো শুধুমাত্র Arduino ফ্রেমওয়ার্ক, ব্যবহৃত সেন্সর এবং অ্যাকচুয়েটর এবং ক্লাউডের সাথে যোগাযোগকারী লাইব্রেরি সম্পর্কিত কোড শেখাবে।
+
+অ্যাসাইনমেন্টগুলো [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn) এবং [PlatformIO মাইক্রোকন্ট্রোলার ডেভেলপমেন্টের জন্য এক্সটেনশন](https://platformio.org) ব্যবহার করবে। আপনি যদি এই টুলে অভিজ্ঞ হন তবে Arduino IDE ব্যবহার করতে পারেন, কারণ নির্দেশনা প্রদান করা হবে না।
+
+### সিঙ্গল-বোর্ড কম্পিউটার ডেভেলপার কিট
+
+যদি আপনি সিঙ্গল-বোর্ড কম্পিউটার ব্যবহার করে IoT ডেভেলপমেন্ট শেখার আগ্রহী হন, আপনি Raspberry Pi বা আপনার PC বা Mac-এ চলমান একটি ভার্চুয়াল ডিভাইস ব্যবহার করে অ্যাসাইনমেন্ট সম্পন্ন করতে পারেন।
+
+আপনাকে Python প্রোগ্রামিংয়ের একটি মৌলিক ধারণা থাকতে হবে, কারণ পাঠগুলো শুধুমাত্র ব্যবহৃত সেন্সর এবং অ্যাকচুয়েটর এবং ক্লাউডের সাথে যোগাযোগকারী লাইব্রেরি সম্পর্কিত কোড শেখাবে।
+
+> 💁 যদি আপনি Python কোড শেখার আগ্রহী হন, নিম্নলিখিত দুটি ভিডিও সিরিজ দেখুন:
+>
+> * [Python for beginners](https://channel9.msdn.com/Series/Intro-to-Python-Development?WT.mc_id=academic-17441-jabenn)
+> * [More Python for beginners](https://channel9.msdn.com/Series/More-Python-for-Beginners?WT.mc_id=academic-7372-jabenn)
+
+অ্যাসাইনমেন্টগুলো [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn) ব্যবহার করবে।
+
+যদি আপনি Raspberry Pi ব্যবহার করেন, আপনি Raspberry Pi OS-এর সম্পূর্ণ ডেস্কটপ সংস্করণ ব্যবহার করে আপনার Pi চালাতে পারেন এবং [Raspberry Pi OS সংস্করণ VS Code](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn) ব্যবহার করে সরাসরি Pi-তে সমস্ত কোডিং করতে পারেন, অথবা আপনার PC বা Mac থেকে [Remote SSH এক্সটেনশন](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) ব্যবহার করে আপনার Pi-তে সংযোগ করতে পারেন এবং কোড সম্পাদনা, ডিবাগ এবং চালাতে পারেন যেন আপনি সরাসরি Pi-তে কোডিং করছেন।
+
+যদি আপনি ভার্চুয়াল ডিভাইস অপশন ব্যবহার করেন, আপনি সরাসরি আপনার কম্পিউটারে কোড করবেন। সেন্সর এবং অ্যাকচুয়েটর অ্যাক্সেস করার পরিবর্তে, আপনি একটি টুল ব্যবহার করবেন যা এই হার্ডওয়্যারকে সিমুলেট করে, সেন্সর মান নির্ধারণ করে এবং স্ক্রিনে অ্যাকচুয়েটরের ফলাফল দেখায়।
+
+## আপনার ডিভাইস সেটআপ করুন
+
+আপনার IoT ডিভ
+💁 যদি আপনার এখনও কোনো ডিভাইস না থাকে, তাহলে কোন ডিভাইসটি ব্যবহার করবেন এবং অতিরিক্ত কী হার্ডওয়্যার কিনতে হবে তা নির্ধারণ করতে [হার্ডওয়্যার গাইড](../../../hardware.md) দেখুন। হার্ডওয়্যার কেনার প্রয়োজন নেই, কারণ সব প্রকল্প ভার্চুয়াল হার্ডওয়্যারে চালানো যেতে পারে।
+এই নির্দেশাবলীতে আপনি যে হার্ডওয়্যার বা টুল ব্যবহার করবেন তার নির্মাতাদের তৃতীয় পক্ষের ওয়েবসাইটের লিঙ্ক অন্তর্ভুক্ত রয়েছে। এটি নিশ্চিত করার জন্য যে আপনি সর্বদা বিভিন্ন টুল এবং হার্ডওয়্যারের জন্য সর্বশেষ নির্দেশাবলী ব্যবহার করছেন।
+
+আপনার ডিভাইস সেটআপ করতে এবং একটি 'হ্যালো ওয়ার্ল্ড' প্রকল্প সম্পন্ন করতে প্রাসঙ্গিক গাইডটি অনুসরণ করুন। এটি এই শুরু করার অংশের ৪টি পাঠে একটি IoT নাইটলাইট তৈরি করার প্রথম ধাপ হবে।
+
+* [Arduino - Wio Terminal](wio-terminal.md)
+* [Single-board computer - Raspberry Pi](pi.md)
+* [Single-board computer - Virtual device](virtual-device.md)
+
+✅ আপনি Arduino এবং Single-board কম্পিউটারের জন্য VS Code ব্যবহার করবেন। যদি আপনি আগে এটি ব্যবহার না করে থাকেন, তাহলে [VS Code সাইট](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) থেকে আরও পড়ুন।
+
+## IoT এর প্রয়োগ
+
+IoT অনেক ধরনের ব্যবহারিক ক্ষেত্রে প্রয়োগ করা হয়, যা কয়েকটি বিস্তৃত গোষ্ঠীতে বিভক্ত:
+
+* কনজিউমার IoT
+* কমার্শিয়াল IoT
+* ইন্ডাস্ট্রিয়াল IoT
+* ইনফ্রাস্ট্রাকচার IoT
+
+✅ একটু গবেষণা করুন: নিচে বর্ণিত প্রতিটি ক্ষেত্রে একটি বাস্তব উদাহরণ খুঁজুন যা পাঠ্যটিতে উল্লেখ করা হয়নি।
+
+### কনজিউমার IoT
+
+কনজিউমার IoT এমন ডিভাইসগুলিকে বোঝায় যা ভোক্তারা কিনে তাদের বাড়িতে ব্যবহার করেন। এই ডিভাইসগুলির মধ্যে কিছু অত্যন্ত কার্যকরী, যেমন স্মার্ট স্পিকার, স্মার্ট হিটিং সিস্টেম এবং রোবোটিক ভ্যাকুয়াম ক্লিনার। অন্যগুলো তাদের কার্যকারিতার ক্ষেত্রে প্রশ্নবিদ্ধ, যেমন ভয়েস-কন্ট্রোলড ট্যাপ যা চালু করার পর বন্ধ করা যায় না কারণ চলমান পানির শব্দের কারণে ভয়েস কন্ট্রোল কাজ করে না।
+
+কনজিউমার IoT ডিভাইসগুলি মানুষকে তাদের পরিবেশে আরও বেশি কিছু অর্জন করতে সক্ষম করছে, বিশেষ করে ১ বিলিয়ন প্রতিবন্ধী ব্যক্তিদের। রোবোটিক ভ্যাকুয়াম ক্লিনারগুলি চলাচলে অসুবিধা থাকা ব্যক্তিদের জন্য পরিষ্কার মেঝে সরবরাহ করতে পারে, ভয়েস-কন্ট্রোলড ওভেন সীমিত দৃষ্টি বা মোটর নিয়ন্ত্রণ থাকা ব্যক্তিদের শুধুমাত্র তাদের কণ্ঠস্বর ব্যবহার করে ওভেন গরম করতে সাহায্য করে, স্বাস্থ্য মনিটরগুলি রোগীদের তাদের দীর্ঘস্থায়ী অবস্থার আরও নিয়মিত এবং বিস্তারিত আপডেটের মাধ্যমে পর্যবেক্ষণ করতে সাহায্য করে। এই ডিভাইসগুলি এতটাই সাধারণ হয়ে উঠছে যে এমনকি ছোট শিশুরাও তাদের দৈনন্দিন জীবনের অংশ হিসেবে ব্যবহার করছে, যেমন COVID মহামারীর সময় ভার্চুয়াল স্কুলিং করা শিক্ষার্থীরা তাদের স্কুলের কাজ ট্র্যাক করার জন্য স্মার্ট হোম ডিভাইসে টাইমার সেট করছে বা আসন্ন ক্লাস মিটিংয়ের জন্য অ্যালার্ম দিচ্ছে।
+
+✅ আপনার বাড়িতে বা আপনার কাছে কী কী কনজিউমার IoT ডিভাইস রয়েছে?
+
+### কমার্শিয়াল IoT
+
+কমার্শিয়াল IoT কর্মক্ষেত্রে IoT এর ব্যবহারকে বোঝায়। একটি অফিস সেটিংয়ে, আলো এবং হিটিং পরিচালনা করার জন্য উপস্থিতি সেন্সর এবং মুভমেন্ট ডিটেক্টর থাকতে পারে যাতে আলো এবং তাপ শুধুমাত্র প্রয়োজন না হলে বন্ধ থাকে, খরচ এবং কার্বন নির্গমন কমানো যায়। একটি কারখানায়, IoT ডিভাইসগুলি নিরাপত্তা ঝুঁকির জন্য পর্যবেক্ষণ করতে পারে, যেমন কর্মীরা হার্ড হ্যাট না পরা বা শব্দ বিপজ্জনক মাত্রায় পৌঁছেছে। খুচরা ক্ষেত্রে, IoT ডিভাইসগুলি ঠান্ডা স্টোরেজের তাপমাত্রা পরিমাপ করতে পারে, ফ্রিজ বা ফ্রিজার প্রয়োজনীয় তাপমাত্রার সীমার বাইরে থাকলে দোকান মালিককে সতর্ক করতে পারে, অথবা তারা তাকের আইটেমগুলি পর্যবেক্ষণ করতে পারে যাতে কর্মীদের বিক্রি হওয়া পণ্য পুনরায় পূরণ করতে নির্দেশ দেয়। পরিবহন শিল্প ক্রমবর্ধমানভাবে IoT এর উপর নির্ভর করছে যানবাহনের অবস্থান পর্যবেক্ষণ করতে, রোড ইউজার চার্জিংয়ের জন্য রাস্তায় মাইলেজ ট্র্যাক করতে, ড্রাইভার ঘন্টা এবং বিরতি মেনে চলা ট্র্যাক করতে, বা কর্মীদের জানাতে যখন একটি যানবাহন একটি ডিপোতে পৌঁছাচ্ছে লোডিং বা আনলোডিংয়ের জন্য প্রস্তুতি নিতে।
+
+✅ আপনার স্কুল বা কর্মক্ষেত্রে কী কী কমার্শিয়াল IoT ডিভাইস রয়েছে?
+
+### ইন্ডাস্ট্রিয়াল IoT (IIoT)
+
+ইন্ডাস্ট্রিয়াল IoT, বা IIoT, বড় পরিসরে যন্ত্রপাতি নিয়ন্ত্রণ এবং পরিচালনা করার জন্য IoT ডিভাইসগুলির ব্যবহারকে বোঝায়। এটি কারখানা থেকে ডিজিটাল কৃষি পর্যন্ত অনেক ধরনের ব্যবহারিক ক্ষেত্রে অন্তর্ভুক্ত করে।
+
+কারখানাগুলি বিভিন্ন উপায়ে IoT ডিভাইস ব্যবহার করে। যন্ত্রপাতি তাপমাত্রা, কম্পন এবং ঘূর্ণন গতি ট্র্যাক করার জন্য একাধিক সেন্সর দিয়ে পর্যবেক্ষণ করা যেতে পারে। এই ডেটা পর্যবেক্ষণ করা যেতে পারে যাতে যন্ত্রটি নির্দিষ্ট সহনশীলতার বাইরে গেলে বন্ধ করা যায় - উদাহরণস্বরূপ, এটি খুব গরম হয়ে যায় এবং বন্ধ হয়ে যায়। এই ডেটা সময়ের সাথে সাথে সংগ্রহ এবং বিশ্লেষণ করা যেতে পারে ভবিষ্যদ্বাণীমূলক রক্ষণাবেক্ষণ করার জন্য, যেখানে AI মডেলগুলি ব্যর্থতার দিকে নিয়ে যাওয়া ডেটা বিশ্লেষণ করে এবং এটি ব্যবহার করে অন্যান্য ব্যর্থতা ঘটার আগে পূর্বাভাস দেয়।
+
+ডিজিটাল কৃষি ক্রমবর্ধমান জনসংখ্যাকে খাওয়ানোর জন্য গুরুত্বপূর্ণ, বিশেষ করে ৫০০ মিলিয়ন পরিবারের ২ বিলিয়ন মানুষ যারা [জীবিকা নির্বাহের কৃষি](https://wikipedia.org/wiki/Subsistence_agriculture) এর উপর নির্ভর করে। ডিজিটাল কৃষি কয়েকটি একক সংখ্যার ডলার সেন্সর থেকে বিশাল বাণিজ্যিক সেটআপ পর্যন্ত হতে পারে। একজন কৃষক তাপমাত্রা পর্যবেক্ষণ করে এবং [গ্রোয়িং ডিগ্রি ডে](https://wikipedia.org/wiki/Growing_degree-day) ব্যবহার করে পূর্বাভাস দিতে পারেন কখন একটি ফসল কাটার জন্য প্রস্তুত হবে। তারা মাটির আর্দ্রতা পর্যবেক্ষণকে স্বয়ংক্রিয় সেচ ব্যবস্থার সাথে সংযুক্ত করতে পারেন যাতে তাদের গাছপালা যতটা প্রয়োজন ততটা পানি পায়, কিন্তু তার বেশি নয় যাতে তাদের ফসল শুকিয়ে না যায় এবং পানি অপচয় না হয়। কৃষকরা এটিকে আরও এগিয়ে নিয়ে যাচ্ছেন এবং ড্রোন, স্যাটেলাইট ডেটা এবং AI ব্যবহার করে বিশাল কৃষিজমির উপর ফসলের বৃদ্ধি, রোগ এবং মাটির গুণমান পর্যবেক্ষণ করছেন।
+
+✅ কৃষকদের সাহায্য করার জন্য আর কী কী IoT ডিভাইস ব্যবহার করা যেতে পারে?
+
+### ইনফ্রাস্ট্রাকচার IoT
+
+ইনফ্রাস্ট্রাকচার IoT প্রতিদিন মানুষ যে স্থানীয় এবং বৈশ্বিক অবকাঠামো ব্যবহার করে তা পর্যবেক্ষণ এবং নিয়ন্ত্রণ করে।
+
+[স্মার্ট সিটি](https://wikipedia.org/wiki/Smart_city) হল শহুরে এলাকা যেখানে IoT ডিভাইস ব্যবহার করে শহরের ডেটা সংগ্রহ করা হয় এবং এটি ব্যবহার করে শহরটি কীভাবে পরিচালিত হয় তা উন্নত করা হয়। এই শহরগুলি সাধারণত স্থানীয় সরকার, একাডেমিয়া এবং স্থানীয় ব্যবসার মধ্যে সহযোগিতার মাধ্যমে পরিচালিত হয়, পরিবহন থেকে পার্কিং এবং দূষণ পর্যন্ত বিভিন্ন বিষয় ট্র্যাক এবং পরিচালনা করে। উদাহরণস্বরূপ, ডেনমার্কের কোপেনহেগেনে, বায়ু দূষণ স্থানীয় বাসিন্দাদের জন্য গুরুত্বপূর্ণ, তাই এটি পরিমাপ করা হয় এবং ডেটা ব্যবহার করে সাইক্লিং এবং জগিংয়ের জন্য সবচেয়ে পরিষ্কার রুটের তথ্য প্রদান করা হয়।
+
+[স্মার্ট পাওয়ার গ্রিড](https://wikipedia.org/wiki/Smart_grid) পৃথক বাড়ির স্তরে ব্যবহার ডেটা সংগ্রহ করে বিদ্যুতের চাহিদার আরও ভাল বিশ্লেষণ করতে দেয়। এই ডেটা দেশীয় স্তরে সিদ্ধান্ত গ্রহণে সহায়তা করতে পারে, যেমন কোথায় নতুন বিদ্যুৎ কেন্দ্র তৈরি করা হবে, এবং ব্যক্তিগত স্তরে ব্যবহারকারীদের তাদের বিদ্যুৎ ব্যবহারের পরিমাণ, কখন তারা ব্যবহার করছে এবং এমনকি খরচ কমানোর পরামর্শ দিতে পারে, যেমন রাতে বৈদ্যুতিক গাড়ি চার্জ করা।
+
+✅ আপনি যেখানে থাকেন সেখানে কিছু পরিমাপ করার জন্য IoT ডিভাইস যোগ করতে পারলে, আপনি কী পরিমাপ করতে চান?
+
+## আপনার চারপাশে থাকা IoT ডিভাইসগুলির উদাহরণ
+
+আপনার চারপাশে ঠিক কতগুলো IoT ডিভাইস রয়েছে তা দেখে আপনি অবাক হবেন। আমি বাড়ি থেকে লিখছি এবং আমার কাছে নিম্নলিখিত ডিভাইসগুলি ইন্টারনেটের সাথে সংযুক্ত রয়েছে, স্মার্ট বৈশিষ্ট্য যেমন অ্যাপ নিয়ন্ত্রণ, ভয়েস নিয়ন্ত্রণ, বা আমার ফোনের মাধ্যমে আমাকে ডেটা পাঠানোর ক্ষমতা রয়েছে:
+
+* একাধিক স্মার্ট স্পিকার
+* ফ্রিজ, ডিশওয়াশার, ওভেন এবং মাইক্রোওয়েভ
+* সৌর প্যানেলের জন্য বিদ্যুৎ মনিটর
+* স্মার্ট প্লাগ
+* ভিডিও ডোরবেল এবং নিরাপত্তা ক্যামেরা
+* স্মার্ট থার্মোস্ট্যাট এবং একাধিক স্মার্ট রুম সেন্সর
+* গ্যারেজ দরজা খোলার যন্ত্র
+* হোম এন্টারটেইনমেন্ট সিস্টেম এবং ভয়েস-কন্ট্রোলড টিভি
+* লাইট
+* ফিটনেস এবং স্বাস্থ্য ট্র্যাকার
+
+এই ধরনের সমস্ত ডিভাইসের সেন্সর এবং/অথবা অ্যাকচুয়েটর রয়েছে এবং ইন্টারনেটের সাথে কথা বলে। আমি আমার ফোন থেকে জানতে পারি আমার গ্যারেজের দরজা খোলা আছে কিনা এবং আমার স্মার্ট স্পিকারকে এটি বন্ধ করতে বলতে পারি। আমি এমনকি এটি একটি টাইমারে সেট করতে পারি যাতে এটি রাতে এখনও খোলা থাকলে এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। যখন আমার ডোরবেল বাজে, আমি পৃথিবীর যেখানেই থাকি না কেন আমার ফোন থেকে দেখতে পারি কে সেখানে আছে এবং ডোরবেলে থাকা স্পিকার এবং মাইক্রোফোনের মাধ্যমে তাদের সাথে কথা বলতে পারি। আমি আমার রক্তে গ্লুকোজ, হার্ট রেট এবং ঘুমের প্যাটার্ন পর্যবেক্ষণ করতে পারি, ডেটায় প্যাটার্ন খুঁজে আমার স্বাস্থ্য উন্নত করতে। আমি ক্লাউডের মাধ্যমে আমার লাইট নিয়ন্ত্রণ করতে পারি এবং যখন আমার ইন্টারনেট সংযোগ বন্ধ হয়ে যায় তখন অন্ধকারে বসে থাকতে পারি।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+আপনার বাড়ি, স্কুল বা কর্মক্ষেত্রে যত বেশি IoT ডিভাইস রয়েছে তার তালিকা তৈরি করুন - আপনি ভাবার চেয়ে বেশি থাকতে পারে!
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/2)
+
+## পর্যালোচনা এবং স্ব-অধ্যয়ন
+
+কনজিউমার IoT প্রকল্পগুলির সুবিধা এবং ব্যর্থতার বিষয়ে পড়ুন। যখন এটি ভুল হয়েছে, যেমন গোপনীয়তার সমস্যা, হার্ডওয়্যার সমস্যা বা সংযোগের অভাবের কারণে সমস্যাগুলি, তখন সংবাদ সাইটগুলিতে নিবন্ধগুলি পরীক্ষা করুন।
+
+কিছু উদাহরণ:
+
+* **[Internet of Sh*t](https://twitter.com/internetofshit)** *(অশ্লীল ভাষার সতর্কতা)* টুইটার অ্যাকাউন্টটি দেখুন কনজিউমার IoT এর ব্যর্থতার কিছু ভালো উদাহরণের জন্য।
+* [c|net - My Apple Watch saved my life: 5 people share their stories](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/)
+* [c|net - ADT technician pleads guilty to spying on customer camera feeds for years](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/) *(ট্রিগার সতর্কতা - অনিচ্ছাকৃত ভয়্যারিজম)*
+
+## অ্যাসাইনমেন্ট
+
+[একটি IoT প্রকল্প তদন্ত করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/1-introduction-to-iot/assignment.md b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/assignment.md
new file mode 100644
index 00000000..a23e981b
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/assignment.md
@@ -0,0 +1,27 @@
+
+# একটি IoT প্রকল্প তদন্ত করুন
+
+## নির্দেশনা
+
+বিশ্বজুড়ে অনেক বড় এবং ছোট IoT প্রকল্প চালু হচ্ছে, স্মার্ট ফার্ম থেকে স্মার্ট শহর পর্যন্ত, স্বাস্থ্য পর্যবেক্ষণ, পরিবহন এবং জনসাধারণের ব্যবহারের জন্য।
+
+আপনার আগ্রহের একটি প্রকল্পের বিস্তারিত তথ্যের জন্য ওয়েবে অনুসন্ধান করুন, সম্ভব হলে আপনার কাছাকাছি একটি প্রকল্প নির্বাচন করুন। প্রকল্পটির সুবিধা এবং অসুবিধাগুলি ব্যাখ্যা করুন, যেমন এটি থেকে কী লাভ হয়, এটি কী ধরনের সমস্যা সৃষ্টি করে এবং গোপনীয়তা কীভাবে বিবেচনা করা হয়েছে।
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| সুবিধা এবং অসুবিধাগুলি ব্যাখ্যা করুন | প্রকল্পটির সুবিধা এবং অসুবিধাগুলির একটি স্পষ্ট ব্যাখ্যা দিয়েছেন | প্রকল্পটির সুবিধা এবং অসুবিধাগুলির একটি সংক্ষিপ্ত ব্যাখ্যা দিয়েছেন | সুবিধা বা অসুবিধাগুলি ব্যাখ্যা করেননি |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/pi.md
new file mode 100644
index 00000000..6d49219b
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/pi.md
@@ -0,0 +1,284 @@
+
+# রাস্পবেরি পাই
+
+[রাস্পবেরি পাই](https://raspberrypi.org) একটি সিঙ্গেল-বোর্ড কম্পিউটার। আপনি বিভিন্ন ডিভাইস এবং ইকোসিস্টেম ব্যবহার করে সেন্সর এবং অ্যাকচুয়েটর যোগ করতে পারেন, এবং এই পাঠগুলোর জন্য একটি হার্ডওয়্যার ইকোসিস্টেম [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) ব্যবহার করা হবে। আপনি Python ব্যবহার করে আপনার পাই কোড করবেন এবং Grove সেন্সরগুলোতে অ্যাক্সেস পাবেন।
+
+
+
+## সেটআপ
+
+যদি আপনি আপনার IoT হার্ডওয়্যার হিসেবে রাস্পবেরি পাই ব্যবহার করেন, তাহলে আপনার দুটি বিকল্প রয়েছে - আপনি এই সমস্ত পাঠগুলো সম্পন্ন করতে পারেন এবং সরাসরি পাই-এ কোড করতে পারেন, অথবা আপনি একটি 'হেডলেস' পাই-এ দূরবর্তীভাবে সংযোগ করতে পারেন এবং আপনার কম্পিউটার থেকে কোড করতে পারেন।
+
+শুরু করার আগে, আপনাকে Grove Base Hat আপনার পাই-এর সাথে সংযুক্ত করতে হবে।
+
+### কাজ - সেটআপ
+
+Grove Base Hat আপনার পাই-এ ইনস্টল করুন এবং পাই কনফিগার করুন।
+
+1. Grove Base Hat আপনার পাই-এর সাথে সংযুক্ত করুন। Hat-এর সকেটটি পাই-এর সমস্ত GPIO পিনের উপর ফিট করে, পিনগুলোতে সম্পূর্ণভাবে নিচে স্লাইড করে বেসে দৃঢ়ভাবে বসে। এটি পাই-এর উপর বসে, এটিকে ঢেকে দেয়।
+
+ 
+
+1. আপনি কীভাবে আপনার পাই প্রোগ্রাম করতে চান তা সিদ্ধান্ত নিন এবং নিচের প্রাসঙ্গিক বিভাগে যান:
+
+ * [সরাসরি আপনার পাই-এ কাজ করুন](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+ * [পাই কোড করার জন্য দূরবর্তী অ্যাক্সেস](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+
+### সরাসরি আপনার পাই-এ কাজ করুন
+
+যদি আপনি সরাসরি আপনার পাই-এ কাজ করতে চান, তাহলে আপনি রাস্পবেরি পাই OS-এর ডেস্কটপ সংস্করণ ব্যবহার করতে পারেন এবং আপনার প্রয়োজনীয় সমস্ত টুল ইনস্টল করতে পারেন।
+
+#### কাজ - সরাসরি আপনার পাই-এ কাজ করুন
+
+আপনার পাই ডেভেলপমেন্টের জন্য সেট আপ করুন।
+
+1. [রাস্পবেরি পাই সেটআপ গাইড](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up)-এর নির্দেশনা অনুসরণ করুন আপনার পাই সেট আপ করতে, এটি একটি কীবোর্ড/মাউস/মনিটরের সাথে সংযুক্ত করতে, এটি আপনার WiFi বা ইথারনেট নেটওয়ার্কের সাথে সংযুক্ত করতে এবং সফটওয়্যার আপডেট করতে।
+
+পাই-এ Grove সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করে প্রোগ্রাম করার জন্য, আপনাকে একটি এডিটর ইনস্টল করতে হবে যা আপনাকে ডিভাইস কোড লিখতে দেয়, এবং বিভিন্ন লাইব্রেরি এবং টুল ইনস্টল করতে হবে যা Grove হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্ট করে।
+
+1. আপনার পাই রিবুট করার পরে, **Terminal** আইকনে ক্লিক করে টার্মিনাল চালু করুন, অথবা *Menu -> Accessories -> Terminal* নির্বাচন করুন।
+
+1. OS এবং ইনস্টল করা সফটওয়্যার আপডেট করার জন্য নিচের কমান্ডটি চালান:
+
+ ```sh
+ sudo apt update && sudo apt full-upgrade --yes
+ ```
+
+1. Grove হার্ডওয়্যারের জন্য প্রয়োজনীয় সমস্ত লাইব্রেরি ইনস্টল করতে নিচের কমান্ডগুলো চালান:
+
+ ```sh
+ sudo apt install git python3-dev python3-pip --yes
+
+ git clone https://github.com/Seeed-Studio/grove.py
+ cd grove.py
+ sudo pip3 install .
+
+ sudo raspi-config nonint do_i2c 0
+ ```
+
+ এটি Git এবং Python প্যাকেজ ইনস্টল করার জন্য Pip ইনস্টল করা দিয়ে শুরু হয়।
+
+ Python-এর একটি শক্তিশালী বৈশিষ্ট্য হল [Pip প্যাকেজ](https://pypi.org) ইনস্টল করার ক্ষমতা - এগুলো অন্যদের দ্বারা লেখা কোডের প্যাকেজ যা ইন্টারনেটে প্রকাশিত হয়েছে। আপনি একটি কমান্ড দিয়ে আপনার কম্পিউটারে একটি Pip প্যাকেজ ইনস্টল করতে পারেন, তারপর আপনার কোডে সেই প্যাকেজ ব্যবহার করতে পারেন।
+
+ Seeed Grove Python প্যাকেজগুলো সোর্স থেকে ইনস্টল করতে হবে। এই কমান্ডগুলো এই প্যাকেজের সোর্স কোড ধারণকারী রিপো ক্লোন করবে, তারপর এটি লোকালভাবে ইনস্টল করবে।
+
+ > 💁 ডিফল্টভাবে যখন আপনি একটি প্যাকেজ ইনস্টল করেন এটি আপনার কম্পিউটারের সর্বত্র উপলব্ধ হয়, এবং এটি প্যাকেজ সংস্করণের সমস্যার দিকে নিয়ে যেতে পারে - যেমন একটি অ্যাপ্লিকেশন একটি প্যাকেজের একটি সংস্করণের উপর নির্ভর করে যা ভেঙে যায় যখন আপনি একটি ভিন্ন অ্যাপ্লিকেশনের জন্য একটি নতুন সংস্করণ ইনস্টল করেন। এই সমস্যাটি সমাধান করতে, আপনি একটি [Python ভার্চুয়াল এনভায়রনমেন্ট](https://docs.python.org/3/library/venv.html) ব্যবহার করতে পারেন, মূলত একটি নির্দিষ্ট ফোল্ডারে Python-এর একটি কপি, এবং যখন আপনি Pip প্যাকেজ ইনস্টল করেন তখন সেগুলো শুধুমাত্র সেই ফোল্ডারে ইনস্টল হয়। পাই ব্যবহার করার সময় আপনি ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করবেন না। Grove ইনস্টল স্ক্রিপ্ট Grove Python প্যাকেজগুলো গ্লোবালি ইনস্টল করে, তাই ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করতে হলে আপনাকে একটি ভার্চুয়াল এনভায়রনমেন্ট সেট আপ করতে হবে এবং তারপর Grove প্যাকেজগুলো ম্যানুয়ালি সেই এনভায়রনমেন্টে পুনরায় ইনস্টল করতে হবে। গ্লোবাল প্যাকেজ ব্যবহার করা সহজ, বিশেষ করে যেহেতু অনেক পাই ডেভেলপার প্রতিটি প্রকল্পের জন্য একটি পরিষ্কার SD কার্ড পুনরায় ফ্ল্যাশ করবে।
+
+ অবশেষে, এটি I2C ইন্টারফেস সক্ষম করে।
+
+1. পাই রিবুট করুন মেনু ব্যবহার করে অথবা টার্মিনালে নিচের কমান্ড চালিয়ে:
+
+ ```sh
+ sudo reboot
+ ```
+
+1. পাই রিবুট করার পরে, টার্মিনাল পুনরায় চালু করুন এবং [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) ইনস্টল করতে নিচের কমান্ড চালান - এটি সেই এডিটর যা আপনি Python-এ আপনার ডিভাইস কোড লিখতে ব্যবহার করবেন।
+
+ ```sh
+ sudo apt install code
+ ```
+
+ এটি ইনস্টল করার পরে, VS Code উপরের মেনু থেকে উপলব্ধ হবে।
+
+ > 💁 আপনি যদি কোনো নির্দিষ্ট টুল পছন্দ করেন তবে এই পাঠগুলোর জন্য আপনি যেকোনো Python IDE বা এডিটর ব্যবহার করতে পারেন, তবে পাঠগুলো VS Code ব্যবহার করার নির্দেশনা দেবে।
+
+1. Pylance ইনস্টল করুন। এটি VS Code-এর জন্য একটি এক্সটেনশন যা Python ভাষার সমর্থন প্রদান করে। VS Code-এ এই এক্সটেনশন ইনস্টল করার নির্দেশনার জন্য [Pylance এক্সটেনশন ডকুমেন্টেশন](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) দেখুন।
+
+### পাই কোড করার জন্য দূরবর্তী অ্যাক্সেস
+
+পাই-এ সরাসরি কোডিং করার পরিবর্তে, এটি 'হেডলেস' চালাতে পারে, অর্থাৎ এটি একটি কীবোর্ড/মাউস/মনিটরের সাথে সংযুক্ত নয়, এবং আপনার কম্পিউটার থেকে এটি কনফিগার এবং কোড করতে পারে, Visual Studio Code ব্যবহার করে।
+
+#### পাই OS সেট আপ করুন
+
+দূরবর্তীভাবে কোড করার জন্য, পাই OS একটি SD কার্ডে ইনস্টল করতে হবে।
+
+##### কাজ - পাই OS সেট আপ করুন
+
+হেডলেস পাই OS সেট আপ করুন।
+
+1. [রাস্পবেরি পাই OS সফটওয়্যার পেজ](https://www.raspberrypi.org/software/) থেকে **রাস্পবেরি পাই ইমেজার** ডাউনলোড করুন এবং এটি ইনস্টল করুন।
+
+1. একটি SD কার্ড আপনার কম্পিউটারে প্রবেশ করান, প্রয়োজন হলে একটি অ্যাডাপ্টার ব্যবহার করুন।
+
+1. রাস্পবেরি পাই ইমেজার চালু করুন।
+
+1. রাস্পবেরি পাই ইমেজার থেকে **CHOOSE OS** বোতামটি নির্বাচন করুন, তারপর *Raspberry Pi OS (Other)* নির্বাচন করুন, এবং *Raspberry Pi OS Lite (32-bit)* নির্বাচন করুন।
+
+ 
+
+ > 💁 Raspberry Pi OS Lite হল Raspberry Pi OS-এর একটি সংস্করণ যেখানে ডেস্কটপ UI বা UI ভিত্তিক টুল নেই। এগুলো একটি হেডলেস পাই-এর জন্য প্রয়োজন হয় না এবং ইনস্টলটিকে ছোট এবং বুট আপ সময়কে দ্রুত করে তোলে।
+
+1. **CHOOSE STORAGE** বোতামটি নির্বাচন করুন, তারপর আপনার SD কার্ড নির্বাচন করুন।
+
+1. **Advanced Options** চালু করুন `Ctrl+Shift+X` চাপ দিয়ে। এই অপশনগুলো SD কার্ডে OS ইমেজ করার আগে কিছু প্রি-কনফিগারেশন করতে দেয়।
+
+ 1. **Enable SSH** চেক বক্সটি চেক করুন এবং `pi` ব্যবহারকারীর জন্য একটি পাসওয়ার্ড সেট করুন। এটি সেই পাসওয়ার্ড যা আপনি পরে পাই-এ লগ ইন করতে ব্যবহার করবেন।
+
+ 1. যদি আপনি WiFi-এর মাধ্যমে পাই-এ সংযোগ করার পরিকল্পনা করেন, তাহলে **Configure WiFi** চেক বক্সটি চেক করুন এবং আপনার WiFi SSID এবং পাসওয়ার্ড প্রবেশ করান, পাশাপাশি আপনার WiFi দেশ নির্বাচন করুন। যদি আপনি একটি ইথারনেট কেবল ব্যবহার করেন তবে এটি করার প্রয়োজন নেই। নিশ্চিত করুন যে আপনি যে নেটওয়ার্কে সংযুক্ত হচ্ছেন তা আপনার কম্পিউটারের নেটওয়ার্কের সাথে একই।
+
+ 1. **Set locale settings** চেক বক্সটি চেক করুন এবং আপনার দেশ এবং টাইমজোন সেট করুন।
+
+ 1. **SAVE** বোতামটি নির্বাচন করুন।
+
+1. OS SD কার্ডে লেখার জন্য **WRITE** বোতামটি নির্বাচন করুন। যদি আপনি macOS ব্যবহার করেন, তাহলে আপনাকে আপনার পাসওয়ার্ড প্রবেশ করতে বলা হবে কারণ ডিস্ক ইমেজ লেখার অন্তর্নিহিত টুলটি প্রিভিলেজড অ্যাক্সেস প্রয়োজন।
+
+OS SD কার্ডে লেখা হবে, এবং সম্পন্ন হলে OS কার্ডটি ইজেক্ট করবে এবং আপনাকে জানানো হবে। SD কার্ডটি আপনার কম্পিউটার থেকে সরান, এটি পাই-এ প্রবেশ করান, পাই চালু করুন এবং এটি সঠিকভাবে বুট করার জন্য প্রায় ২ মিনিট অপেক্ষা করুন।
+
+#### পাই-এ সংযোগ করুন
+
+পরবর্তী ধাপটি হল পাই-এ দূরবর্তীভাবে অ্যাক্সেস করা। আপনি এটি `ssh` ব্যবহার করে করতে পারেন, যা macOS, Linux এবং Windows-এর সাম্প্রতিক সংস্করণে উপলব্ধ।
+
+##### কাজ - পাই-এ সংযোগ করুন
+
+পাই-এ দূরবর্তীভাবে অ্যাক্সেস করুন।
+
+1. একটি টার্মিনাল বা কমান্ড প্রম্পট চালু করুন এবং পাই-এ সংযোগ করতে নিচের কমান্ডটি প্রবেশ করুন:
+
+ ```sh
+ ssh pi@raspberrypi.local
+ ```
+
+ যদি আপনি Windows-এর একটি পুরানো সংস্করণ ব্যবহার করেন যেখানে `ssh` ইনস্টল নেই, তাহলে আপনি OpenSSH ব্যবহার করতে পারেন। [OpenSSH ইনস্টলেশন ডকুমেন্টেশন](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn)-এ ইনস্টলেশন নির্দেশনা খুঁজে পেতে পারেন।
+
+1. এটি আপনার পাই-এ সংযোগ করবে এবং পাসওয়ার্ড চাইবে।
+
+ আপনার নেটওয়ার্কে কম্পিউটার খুঁজে পেতে `.local` ব্যবহার করার ক্ষমতা Linux এবং Windows-এ একটি বেশ সাম্প্রতিক সংযোজন। যদি আপনি Linux বা Windows ব্যবহার করেন এবং Hostname খুঁজে পাওয়া যায় না সংক্রান্ত কোনো ত্রুটি পান, তাহলে ZeroConf নেটওয়ার্কিং (Apple দ্বারা Bonjour নামে উল্লেখ করা হয়) সক্ষম করতে অতিরিক্ত সফটওয়্যার ইনস্টল করতে হবে:
+
+ 1. যদি আপনি Linux ব্যবহার করেন, তাহলে Avahi ইনস্টল করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ sudo apt-get install avahi-daemon
+ ```
+
+ 1. যদি আপনি Windows ব্যবহার করেন, তাহলে ZeroConf সক্ষম করার সবচেয়ে সহজ উপায় হল [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999) ইনস্টল করা। আপনি [iTunes for Windows](https://www.apple.com/itunes/download/) ইনস্টল করেও ইউটিলিটির একটি নতুন সংস্করণ পেতে পারেন (যা আলাদাভাবে উপলব্ধ নয়)।
+
+ > 💁 যদি আপনি `raspberrypi.local` ব্যবহার করে সংযোগ করতে না পারেন, তাহলে আপনি আপনার পাই-এর IP ঠিকানা ব্যবহার করতে পারেন। [রাস্পবেরি পাই IP ঠিকানা ডকুমেন্টেশন](https://www.raspberrypi.org/documentation/remote-access/ip-address.md)-এ IP ঠিকানা পাওয়ার বিভিন্ন উপায়ের নির্দেশনা দেখুন।
+
+1. রাস্পবেরি পাই ইমেজার Advanced Options-এ আপনি যে পাসওয়ার্ড সেট করেছেন তা প্রবেশ করুন।
+
+#### পাই-এ সফটওয়্যার কনফিগার করুন
+
+আপনি পাই-এ সংযুক্ত হওয়ার পরে, আপনাকে নিশ্চিত করতে হবে যে OS আপডেট করা হয়েছে এবং Grove হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্ট করে এমন বিভিন্ন লাইব্রেরি এবং টুল ইনস্টল করতে হবে।
+
+##### কাজ - পাই-এ সফটওয়্যার কনফিগার করুন
+
+ইনস্টল করা পাই সফটওয়্যার কনফিগার করুন এবং Grove লাইব্রেরি ইনস্টল করুন।
+
+1. আপনার `ssh` সেশনে, পাই আপডেট এবং রিবুট করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ sudo apt update && sudo apt full-upgrade --yes && sudo reboot
+ ```
+
+ পাই আপডেট হবে এবং রিবুট হবে। পাই রিবুট হলে `ssh` সেশন শেষ হবে, তাই প্রায় ৩০ সেকেন্ড অপেক্ষা করুন এবং পুনরায় সংযোগ করুন।
+
+1. পুনরায় সংযুক্ত `ssh` সেশনে, Grove হার্ডওয়্যারের জন্য প্রয়োজনীয় সমস্ত লাইব্রেরি ইনস্টল করতে নিচের কমান্ডগুলো চালান:
+
+ ```sh
+ sudo apt install git python3-dev python3-pip --yes
+
+ git clone https://github.com/Seeed-Studio/grove.py
+ cd grove.py
+ sudo pip3 install .
+
+ sudo raspi-config nonint do_i2c 0
+ ```
+
+ এটি Git এবং Python প্যাকেজ ইনস্টল করার জন্য Pip ইনস্টল করা দিয়ে শুরু হয়।
+
+ Python-এর একটি শক্তিশালী বৈশিষ্ট্য হল [Pip প্যাকেজ](https://pypi.org) ইনস্টল করার ক্ষমতা - এগুলো অন্যদের দ্বারা লেখা কোডের প্যাকেজ যা ইন্টারনেটে প্রকাশিত হয়েছে। আপনি একটি কমান্ড দিয়ে আপনার কম্পিউটারে একটি Pip প্যাকেজ ইনস্টল করতে পারেন, তারপর আপনার কোডে সেই প্যাকেজ ব্যবহার করতে পারেন।
+
+ Seeed Grove Python প্যাকেজগুলো সোর্স থেকে ইনস্টল করতে হবে। এই কমান্ডগুলো এই প্যাকেজের সোর্স কোড ধারণকারী রিপো ক্লোন করবে, তারপর এটি লোকালভাবে ইনস্টল করবে।
+
+ > 💁 ডিফল্টভাবে যখন আপনি একটি প্যাকেজ ইনস্টল করেন এটি আপনার কম্পিউটারের সর্বত্র উপলব্ধ হয়, এবং এটি প্যাকেজ সংস্করণের সমস্যার দিকে নিয়ে যেতে পারে - যেমন একটি অ্যাপ্লিকেশন একটি প্যাকেজের একটি সংস্করণের উপর নির্ভর করে যা ভেঙে যায় যখন আপনি একটি ভিন্ন অ্যাপ্লিকেশনের জন্য একটি নতুন সংস্করণ ইনস্টল করেন। এই সমস্যাটি সমাধান করতে, আপনি একটি [Python ভার্চুয়াল এনভায়রনমেন্ট](https://docs.python.org/3/library/venv.html) ব্যবহার করতে পারেন, মূলত একটি নির্দিষ্ট ফোল্ডারে Python-এর একটি কপি, এবং যখন আপনি Pip প্যাকেজ ইনস্টল করেন তখন সেগুলো শুধুমাত্র সেই ফোল্ডারে ইনস্টল হয়। পাই ব্যবহার করার সময় আপনি ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করবেন না। Grove ইনস্টল স্ক্রিপ্ট Grove Python প্যাকেজগুলো গ্লোবালি ইনস্টল করে, তাই ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করতে হলে আপনাকে একটি ভার্চুয়াল এনভায়রনমেন্ট সেট আপ করতে হবে এবং তারপর Grove প্যাকেজগুলো ম্যানুয়ালি সেই এনভায়রনমেন্টে পুনরায় ইনস্টল করতে হবে। গ্লোবাল প্যাকেজ ব্যবহার করা সহজ, বিশেষ করে যেহেতু অনেক পাই ডেভেলপার প্রতিটি প্রকল্পের জন্য একটি পরিষ্কার SD কার্ড পুনরায় ফ্ল্যাশ করবে।
+
+ অবশেষে, এটি I2C ইন্টারফেস সক্ষম করে।
+
+1. পাই রিবুট করতে নিচের কমান্ড চালান:
+
+ ```sh
+ sudo reboot
+ ```
+
+ পাই রিবুট হলে `ssh` সেশন শেষ হবে। পুনরায় সংযোগ করার প্রয়োজন নেই।
+
+#### দূরবর্তী অ্যাক্সেসের জন্য VS Code কনফিগার করুন
+
+পাই কনফিগার করার পরে, আপনি আপনার কম্পিউটার থেকে Visual Studio Code (VS Code) ব্যবহার করে এটি সংযুক্ত করতে পারেন - এটি একটি বিনামূল্যের ডেভেলপার টেক্সট এডিটর যা আপনি Python-এ আপনার ডিভাইস কোড লিখতে ব্যবহার করবেন।
+
+##### কাজ - দূরবর্তী অ্যাক্সেসের জন্য VS Code কনফিগার করুন
+
+প্রয়োজনীয় সফটওয়্যার ইনস্টল করুন এবং আপনার পাই-এ দূরবর্তীভাবে সংযোগ করুন।
+
+1. [VS Code ডকুমেন্টেশন](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) অনুসরণ করে আপনার কম্পিউটারে VS Code ইনস্টল করুন।
+
+1. [VS Code Remote Development using SSH ডকুমেন্টেশন](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn)-এর নির্দেশনা অনুসরণ করে প্রয়োজনীয় কম্পোনেন্টগুলো ইনস্টল করুন।
+
+1. একই নির্দেশনা অনুসরণ করে, VS Code-কে পাই-এর সাথে সংযুক্ত করুন।
+
+1. সংযুক্ত হওয়ার পরে, [managing extensions](https://code.visualstudio.com/docs/remote/ssh#_managing-extensions?WT.mc_id=academic-17441-jabenn)
+নতুন কোনো প্রোগ্রামিং ভাষা বা প্রযুক্তি শেখার সময় সাধারণত একটি 'Hello World' অ্যাপ্লিকেশন তৈরি করা হয় - একটি ছোট অ্যাপ্লিকেশন যা `"Hello World"` এর মতো টেক্সট আউটপুট করে, এটি নিশ্চিত করার জন্য যে সমস্ত টুল সঠিকভাবে কনফিগার করা আছে।
+
+Pi-এর জন্য Hello World অ্যাপটি নিশ্চিত করবে যে আপনার Python এবং Visual Studio Code সঠিকভাবে ইনস্টল করা আছে।
+
+এই অ্যাপটি `nightlight` নামে একটি ফোল্ডারে থাকবে, এবং এই অ্যাসাইনমেন্টের পরবর্তী অংশে নাইটলাইট অ্যাপ্লিকেশন তৈরি করতে বিভিন্ন কোডের সাথে এটি পুনরায় ব্যবহার করা হবে।
+
+### টাস্ক - হ্যালো ওয়ার্ল্ড
+
+Hello World অ্যাপ তৈরি করুন।
+
+1. VS Code চালু করুন, হয় সরাসরি Pi-তে, অথবা আপনার কম্পিউটারে এবং Remote SSH এক্সটেনশন ব্যবহার করে Pi-তে সংযুক্ত হয়ে।
+
+1. *Terminal -> New Terminal* নির্বাচন করে অথবা `` CTRL+` `` চাপ দিয়ে VS Code টার্মিনাল চালু করুন। এটি `pi` ব্যবহারকারীর হোম ডিরেক্টরিতে খুলবে।
+
+1. নিচের কমান্ডগুলো চালান আপনার কোডের জন্য একটি ডিরেক্টরি তৈরি করতে এবং সেই ডিরেক্টরির ভেতরে `app.py` নামে একটি Python ফাইল তৈরি করতে:
+
+ ```sh
+ mkdir nightlight
+ cd nightlight
+ touch app.py
+ ```
+
+1. VS Code-এ এই ফোল্ডারটি খুলুন *File -> Open...* নির্বাচন করে এবং *nightlight* ফোল্ডারটি নির্বাচন করুন, তারপর **OK** চাপুন।
+
+ 
+
+1. VS Code এক্সপ্লোরার থেকে `app.py` ফাইলটি খুলুন এবং নিচের কোডটি যোগ করুন:
+
+ ```python
+ print('Hello World!')
+ ```
+
+ `print` ফাংশনটি যা পাস করা হয় তা কনসোলে প্রিন্ট করে।
+
+1. VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান আপনার Python অ্যাপ চালানোর জন্য:
+
+ ```sh
+ python app.py
+ ```
+
+ > 💁 যদি আপনার সিস্টেমে Python 2 ইনস্টল করা থাকে এবং Python 3-ও থাকে, তবে এই কোড চালাতে আপনাকে স্পষ্টভাবে `python3` কল করতে হতে পারে। যদি Python 2 ইনস্টল থাকে, তবে `python` কল করলে Python 2 চালু হবে Python 3-এর বদলে। ডিফল্টভাবে, সর্বশেষ Raspberry Pi OS সংস্করণগুলোতে শুধুমাত্র Python 3 ইনস্টল করা থাকে।
+
+ টার্মিনালে নিচের আউটপুটটি দেখা যাবে:
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Hello World!
+ ```
+
+> 💁 আপনি এই কোডটি [code/pi](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার 'Hello World' প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md
new file mode 100644
index 00000000..4c1943f2
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md
@@ -0,0 +1,245 @@
+
+# ভার্চুয়াল সিঙ্গল-বোর্ড কম্পিউটার
+
+IoT ডিভাইস, সেন্সর এবং অ্যাকচুয়েটর কেনার পরিবর্তে, আপনি আপনার কম্পিউটার ব্যবহার করে IoT হার্ডওয়্যার সিমুলেট করতে পারেন। [CounterFit প্রকল্প](https://github.com/CounterFit-IoT/CounterFit) আপনাকে একটি অ্যাপ লোকালভাবে চালানোর সুযোগ দেয় যা সেন্সর এবং অ্যাকচুয়েটরসহ IoT হার্ডওয়্যার সিমুলেট করে। এরপর আপনি লোকাল Python কোড ব্যবহার করে এই সেন্সর এবং অ্যাকচুয়েটর অ্যাক্সেস করতে পারেন, যেভাবে আপনি Raspberry Pi-তে ফিজিক্যাল হার্ডওয়্যার ব্যবহার করে কোড লিখতেন।
+
+## সেটআপ
+
+CounterFit ব্যবহার করতে হলে আপনার কম্পিউটারে কিছু ফ্রি সফটওয়্যার ইনস্টল করতে হবে।
+
+### কাজ
+
+প্রয়োজনীয় সফটওয়্যার ইনস্টল করুন।
+
+1. Python ইনস্টল করুন। Python-এর সর্বশেষ সংস্করণ ইনস্টল করার নির্দেশনার জন্য [Python ডাউনলোড পেজ](https://www.python.org/downloads/) দেখুন।
+
+1. Visual Studio Code (VS Code) ইনস্টল করুন। এটি সেই এডিটর যা আপনি Python-এ আপনার ভার্চুয়াল ডিভাইস কোড লেখার জন্য ব্যবহার করবেন। VS Code ইনস্টল করার নির্দেশনার জন্য [VS Code ডকুমেন্টেশন](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) দেখুন।
+
+ > 💁 আপনি যদি কোনো নির্দিষ্ট Python IDE বা এডিটর পছন্দ করেন, তাহলে এই লেসনগুলোতে সেটি ব্যবহার করতে পারেন। তবে লেসনগুলো VS Code ব্যবহার করার ভিত্তিতে নির্দেশনা দেবে।
+
+1. VS Code Pylance এক্সটেনশন ইনস্টল করুন। এটি VS Code-এর জন্য একটি এক্সটেনশন যা Python ভাষার সাপোর্ট প্রদান করে। এই এক্সটেনশন VS Code-এ ইনস্টল করার নির্দেশনার জন্য [Pylance এক্সটেনশন ডকুমেন্টেশন](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) দেখুন।
+
+CounterFit অ্যাপ ইনস্টল এবং কনফিগার করার নির্দেশনা নির্দিষ্ট সময়ে অ্যাসাইনমেন্ট নির্দেশনায় দেওয়া হবে, কারণ এটি প্রতি-প্রকল্প ভিত্তিতে ইনস্টল করা হয়।
+
+## হ্যালো ওয়ার্ল্ড
+
+নতুন প্রোগ্রামিং ভাষা বা প্রযুক্তি শেখার সময় সাধারণত একটি 'Hello World' অ্যাপ্লিকেশন তৈরি করা হয় - একটি ছোট অ্যাপ্লিকেশন যা `"Hello World"` এর মতো টেক্সট আউটপুট করে, যাতে নিশ্চিত হওয়া যায় যে সব টুল সঠিকভাবে কনফিগার করা হয়েছে।
+
+ভার্চুয়াল IoT হার্ডওয়্যারের জন্য 'Hello World' অ্যাপ নিশ্চিত করবে যে আপনার Python এবং Visual Studio Code সঠিকভাবে ইনস্টল করা হয়েছে। এটি CounterFit-এর সাথে সংযোগ স্থাপন করবে ভার্চুয়াল IoT সেন্সর এবং অ্যাকচুয়েটরের জন্য। এটি কোনো হার্ডওয়্যার ব্যবহার করবে না, শুধুমাত্র সংযোগ স্থাপন করবে যাতে প্রমাণিত হয় যে সবকিছু কাজ করছে।
+
+এই অ্যাপটি `nightlight` নামক একটি ফোল্ডারে থাকবে এবং অ্যাসাইনমেন্টের পরবর্তী অংশে নাইটলাইট অ্যাপ্লিকেশন তৈরি করতে বিভিন্ন কোডের সাথে পুনরায় ব্যবহার করা হবে।
+
+### Python ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন
+
+Python-এর একটি শক্তিশালী বৈশিষ্ট্য হলো [Pip প্যাকেজ](https://pypi.org) ইনস্টল করার ক্ষমতা - এগুলো হলো অন্যদের দ্বারা লেখা কোডের প্যাকেজ যা ইন্টারনেটে প্রকাশিত হয়। আপনি একটি কমান্ড ব্যবহার করে Pip প্যাকেজ আপনার কম্পিউটারে ইনস্টল করতে পারেন এবং তারপর সেই প্যাকেজটি আপনার কোডে ব্যবহার করতে পারেন। আপনি CounterFit-এর সাথে কথা বলার জন্য একটি প্যাকেজ ইনস্টল করতে Pip ব্যবহার করবেন।
+
+ডিফল্টভাবে যখন আপনি একটি প্যাকেজ ইনস্টল করেন, এটি আপনার কম্পিউটারের সর্বত্র উপলব্ধ হয়। এটি প্যাকেজ সংস্করণের সমস্যার দিকে নিয়ে যেতে পারে - যেমন একটি অ্যাপ্লিকেশন একটি প্যাকেজের একটি সংস্করণের উপর নির্ভর করে যা অন্য অ্যাপ্লিকেশনের জন্য নতুন সংস্করণ ইনস্টল করার সময় ভেঙে যায়। এই সমস্যার সমাধান করতে, আপনি একটি [Python ভার্চুয়াল এনভায়রনমেন্ট](https://docs.python.org/3/library/venv.html) ব্যবহার করতে পারেন, যা মূলত একটি নির্দিষ্ট ফোল্ডারে Python-এর একটি কপি। যখন আপনি Pip প্যাকেজ ইনস্টল করেন, সেগুলো শুধুমাত্র সেই ফোল্ডারে ইনস্টল হয়।
+
+> 💁 আপনি যদি Raspberry Pi ব্যবহার করেন, তাহলে আপনি Pip প্যাকেজ ম্যানেজ করার জন্য সেই ডিভাইসে ভার্চুয়াল এনভায়রনমেন্ট সেটআপ করেননি। আপনি গ্লোবাল প্যাকেজ ব্যবহার করছেন, কারণ Grove প্যাকেজগুলো ইনস্টলার স্ক্রিপ্ট দ্বারা গ্লোবালি ইনস্টল করা হয়।
+
+#### কাজ - Python ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন
+
+Python ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন এবং CounterFit-এর জন্য Pip প্যাকেজ ইনস্টল করুন।
+
+1. আপনার টার্মিনাল বা কমান্ড লাইন থেকে একটি নতুন ডিরেক্টরি তৈরি এবং সেখানে নেভিগেট করতে নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ mkdir nightlight
+ cd nightlight
+ ```
+
+1. `.venv` ফোল্ডারে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+ > 💁 ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে আপনাকে স্পষ্টভাবে `python3` কল করতে হবে, কারণ আপনার কম্পিউটারে Python 2 ইনস্টল করা থাকতে পারে। যদি Python 2 ইনস্টল থাকে, তাহলে `python` কল করলে Python 2 ব্যবহার করা হবে Python 3-এর পরিবর্তে।
+
+1. ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন:
+
+ * Windows-এ:
+ * যদি আপনি Command Prompt বা Windows Terminal-এর মাধ্যমে Command Prompt ব্যবহার করেন, তাহলে চালান:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * যদি আপনি PowerShell ব্যবহার করেন, তাহলে চালান:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ > যদি স্ক্রিপ্ট চালানোর অনুমতি না থাকার বিষয়ে কোনো ত্রুটি দেখায়, তাহলে আপনাকে একটি উপযুক্ত execution policy সেট করে স্ক্রিপ্ট চালানোর অনুমতি দিতে হবে। এটি করতে, PowerShell অ্যাডমিনিস্ট্রেটর হিসেবে চালু করুন এবং নিম্নলিখিত কমান্ড চালান:
+
+ ```powershell
+ Set-ExecutionPolicy -ExecutionPolicy Unrestricted
+ ```
+
+ নিশ্চিত করতে `Y` লিখুন। তারপর PowerShell পুনরায় চালু করুন এবং আবার চেষ্টা করুন।
+
+ প্রয়োজন হলে আপনি পরে এই execution policy রিসেট করতে পারেন। Microsoft Docs-এর [Execution Policies পেজ](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies?WT.mc_id=academic-17441-jabenn) থেকে এ বিষয়ে আরও পড়তে পারেন।
+
+ * macOS বা Linux-এ চালান:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 এই কমান্ডগুলো সেই অবস্থান থেকে চালানো উচিত যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করার কমান্ড চালিয়েছিলেন। `.venv` ফোল্ডারে নেভিগেট করার প্রয়োজন নেই। আপনি সবসময় সক্রিয় কমান্ড এবং প্যাকেজ ইনস্টল বা কোড চালানোর কমান্ড সেই ফোল্ডার থেকে চালাবেন যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করেছিলেন।
+
+1. একবার ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় হয়ে গেলে, ডিফল্ট `python` কমান্ডটি সেই সংস্করণ চালাবে যা ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে ব্যবহৃত হয়েছিল। সংস্করণ পেতে নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ python --version
+ ```
+
+ আউটপুটে নিম্নলিখিত থাকবে:
+
+ ```output
+ (.venv) ➜ nightlight python --version
+ Python 3.9.1
+ ```
+
+ > 💁 আপনার Python সংস্করণ ভিন্ন হতে পারে - যতক্ষণ এটি সংস্করণ 3.6 বা তার বেশি, আপনি ঠিক আছেন। যদি না হয়, এই ফোল্ডারটি মুছে ফেলুন, Python-এর নতুন সংস্করণ ইনস্টল করুন এবং আবার চেষ্টা করুন।
+
+1. CounterFit-এর জন্য Pip প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ড চালান। এই প্যাকেজগুলোতে CounterFit অ্যাপ এবং Grove হার্ডওয়্যারের জন্য শিম অন্তর্ভুক্ত রয়েছে। এই শিমগুলো আপনাকে কোড লিখতে দেয় যেন আপনি Grove ইকোসিস্টেমের ফিজিক্যাল সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করছেন, কিন্তু ভার্চুয়াল IoT ডিভাইসের সাথে সংযুক্ত।
+
+ ```sh
+ pip install CounterFit
+ pip install counterfit-connection
+ pip install counterfit-shims-grove
+ ```
+
+ এই Pip প্যাকেজগুলো শুধুমাত্র ভার্চুয়াল এনভায়রনমেন্টে ইনস্টল হবে এবং এর বাইরে উপলব্ধ হবে না।
+
+### কোড লিখুন
+
+Python ভার্চুয়াল এনভায়রনমেন্ট প্রস্তুত হলে, আপনি 'Hello World' অ্যাপ্লিকেশনের জন্য কোড লিখতে পারেন।
+
+#### কাজ - কোড লিখুন
+
+কনসোলে `"Hello World"` প্রিন্ট করার জন্য একটি Python অ্যাপ্লিকেশন তৈরি করুন।
+
+1. ভার্চুয়াল এনভায়রনমেন্টের ভিতরে একটি Python ফাইল `app.py` তৈরি করতে আপনার টার্মিনাল বা কমান্ড লাইন থেকে নিম্নলিখিত কমান্ড চালান:
+
+ * Windows থেকে চালান:
+
+ ```cmd
+ type nul > app.py
+ ```
+
+ * macOS বা Linux-এ চালান:
+
+ ```cmd
+ touch app.py
+ ```
+
+1. বর্তমান ফোল্ডারটি VS Code-এ খুলুন:
+
+ ```sh
+ code .
+ ```
+
+ > 💁 যদি macOS-এ আপনার টার্মিনাল `command not found` রিটার্ন করে, তাহলে এর অর্থ VS Code আপনার PATH-এ যোগ করা হয়নি। আপনি [VS Code ডকুমেন্টেশনের কমান্ড লাইন থেকে চালু করার অংশ](https://code.visualstudio.com/docs/setup/mac?WT.mc_id=academic-17441-jabenn#_launching-from-the-command-line) অনুসরণ করে VS Code আপনার PATH-এ যোগ করতে পারেন এবং তারপর কমান্ডটি চালান। Windows এবং Linux-এ VS Code ডিফল্টভাবে আপনার PATH-এ ইনস্টল হয়।
+
+1. যখন VS Code চালু হবে, এটি Python ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করবে। নির্বাচিত ভার্চুয়াল এনভায়রনমেন্টটি নিচের স্ট্যাটাস বারে প্রদর্শিত হবে:
+
+ 
+
+1. যদি VS Code টার্মিনাল VS Code চালু হওয়ার সময় ইতিমধ্যে চালু থাকে, তাহলে এতে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় থাকবে না। সবচেয়ে সহজ উপায় হলো **Kill the active terminal instance** বোতাম ব্যবহার করে টার্মিনাল বন্ধ করা:
+
+ 
+
+ আপনি টার্মিনালে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় আছে কিনা তা জানতে পারেন, কারণ টার্মিনাল প্রম্পটে ভার্চুয়াল এনভায়রনমেন্টের নাম একটি প্রিফিক্স হিসেবে থাকবে। উদাহরণস্বরূপ, এটি হতে পারে:
+
+ ```sh
+ (.venv) ➜ nightlight
+ ```
+
+ যদি প্রম্পটে `.venv` প্রিফিক্স না থাকে, তাহলে টার্মিনালে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় নেই।
+
+1. *Terminal -> New Terminal* নির্বাচন করে বা `` CTRL+` `` চাপ দিয়ে একটি নতুন VS Code টার্মিনাল চালু করুন। নতুন টার্মিনাল ভার্চুয়াল এনভায়রনমেন্ট লোড করবে এবং এটি সক্রিয় করার কল টার্মিনালে প্রদর্শিত হবে। প্রম্পটে ভার্চুয়াল এনভায়রনমেন্টের নাম (`.venv`) থাকবে:
+
+ ```output
+ ➜ nightlight source .venv/bin/activate
+ (.venv) ➜ nightlight
+ ```
+
+1. VS Code এক্সপ্লোরার থেকে `app.py` ফাইলটি খুলুন এবং নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ print('Hello World!')
+ ```
+
+ `print` ফাংশন যা পাস করা হয় তা কনসোলে প্রিন্ট করে।
+
+1. VS Code টার্মিনাল থেকে আপনার Python অ্যাপ চালানোর জন্য নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ python app.py
+ ```
+
+ আউটপুটে নিম্নলিখিত থাকবে:
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ Hello World!
+ ```
+
+😀 আপনার 'Hello World' প্রোগ্রাম সফল হয়েছে!
+
+### 'হার্ডওয়্যার' সংযুক্ত করুন
+
+দ্বিতীয় 'Hello World' ধাপে, আপনি CounterFit অ্যাপ চালাবেন এবং আপনার কোডের সাথে এটি সংযুক্ত করবেন। এটি IoT হার্ডওয়্যারকে একটি ডেভ কিটে প্লাগ ইন করার ভার্চুয়াল সমতুল্য।
+
+#### কাজ - 'হার্ডওয়্যার' সংযুক্ত করুন
+
+1. VS Code টার্মিনাল থেকে নিম্নলিখিত কমান্ড চালিয়ে CounterFit অ্যাপ চালু করুন:
+
+ ```sh
+ counterfit
+ ```
+
+ অ্যাপটি চালু হবে এবং আপনার ওয়েব ব্রাউজারে খুলবে:
+
+ 
+
+ এটি *Disconnected* হিসেবে চিহ্নিত হবে এবং উপরের ডানদিকে LED বন্ধ থাকবে।
+
+1. `app.py` ফাইলের শীর্ষে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+ এই কোডটি `counterfit_connection` মডিউল থেকে `CounterFitConnection` ক্লাস ইমপোর্ট করে। এটি `127.0.0.1`-এ চলমান CounterFit অ্যাপের সাথে সংযোগ শুরু করে, যা আপনার লোকাল কম্পিউটারে অ্যাক্সেস করার জন্য সবসময় ব্যবহার করা যায় এমন একটি IP ঠিকানা (প্রায়শই *localhost* নামে পরিচিত), এবং পোর্ট 5000-এ।
+
+ > 💁 যদি আপনার পোর্ট 5000-এ অন্য অ্যাপ চালু থাকে, তাহলে আপনি কোডে পোর্ট আপডেট করে এটি পরিবর্তন করতে পারেন এবং `CounterFit --port ` চালিয়ে CounterFit চালাতে পারেন, যেখানে `` আপনার পছন্দের পোর্ট দিয়ে প্রতিস্থাপন করবেন।
+
+1. আপনাকে একটি নতুন VS Code টার্মিনাল চালু করতে হবে **Create a new integrated terminal** বোতাম নির্বাচন করে। কারণ বর্তমান টার্মিনালে CounterFit অ্যাপ চালু রয়েছে।
+
+ 
+
+1. এই নতুন টার্মিনালে, আগের মতো `app.py` ফাইল চালান। CounterFit-এর স্ট্যাটাস **Connected**-এ পরিবর্তিত হবে এবং LED জ্বলে উঠবে।
+
+ 
+
+> 💁 আপনি এই কোডটি [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার হার্ডওয়্যারের সাথে সংযোগ সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md
new file mode 100644
index 00000000..ceb53b52
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md
@@ -0,0 +1,222 @@
+
+# Wio Terminal
+
+[Seeed Studios-এর Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) একটি Arduino-সামঞ্জস্যপূর্ণ মাইক্রোকন্ট্রোলার, যার মধ্যে WiFi, কিছু সেন্সর এবং অ্যাকচুয়েটর অন্তর্ভুক্ত রয়েছে। এছাড়াও, এটি [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) নামক হার্ডওয়্যার ইকোসিস্টেম ব্যবহার করে আরও সেন্সর এবং অ্যাকচুয়েটর যোগ করার জন্য পোর্ট সরবরাহ করে।
+
+
+
+## সেটআপ
+
+আপনার Wio Terminal ব্যবহার করতে, আপনার কম্পিউটারে কিছু বিনামূল্যের সফটওয়্যার ইনস্টল করতে হবে। এছাড়াও, WiFi-তে সংযোগ করার আগে Wio Terminal-এর ফার্মওয়্যার আপডেট করতে হবে।
+
+### টাস্ক - সেটআপ
+
+প্রয়োজনীয় সফটওয়্যার ইনস্টল করুন এবং ফার্মওয়্যার আপডেট করুন।
+
+1. Visual Studio Code (VS Code) ইনস্টল করুন। এটি সেই এডিটর যা আপনি C/C++-এ আপনার ডিভাইস কোড লেখার জন্য ব্যবহার করবেন। VS Code ইনস্টল করার নির্দেশনার জন্য [VS Code ডকুমেন্টেশন](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) দেখুন।
+
+ > 💁 Arduino ডেভেলপমেন্টের জন্য আরেকটি জনপ্রিয় IDE হল [Arduino IDE](https://www.arduino.cc/en/software)। যদি আপনি ইতিমধ্যেই এই টুলটির সাথে পরিচিত হন, তাহলে আপনি VS Code এবং PlatformIO-এর পরিবর্তে এটি ব্যবহার করতে পারেন। তবে পাঠগুলো VS Code ব্যবহার করার ভিত্তিতে নির্দেশনা দেবে।
+
+1. VS Code PlatformIO এক্সটেনশন ইনস্টল করুন। এটি VS Code-এর একটি এক্সটেনশন যা C/C++-এ মাইক্রোকন্ট্রোলার প্রোগ্রামিং সমর্থন করে। এই এক্সটেনশন VS Code-এ ইনস্টল করার নির্দেশনার জন্য [PlatformIO এক্সটেনশন ডকুমেন্টেশন](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=platformio.platformio-ide) দেখুন। এই এক্সটেনশনটি Microsoft C/C++ এক্সটেনশনের উপর নির্ভর করে, যা PlatformIO ইনস্টল করার সময় স্বয়ংক্রিয়ভাবে ইনস্টল হয়।
+
+1. আপনার Wio Terminal কম্পিউটারের সাথে সংযুক্ত করুন। Wio Terminal-এর নিচে একটি USB-C পোর্ট রয়েছে, যা আপনার কম্পিউটারের USB পোর্টের সাথে সংযুক্ত করতে হবে। Wio Terminal-এর সাথে একটি USB-C থেকে USB-A কেবল আসে, তবে যদি আপনার কম্পিউটারে শুধুমাত্র USB-C পোর্ট থাকে, তাহলে আপনাকে একটি USB-C কেবল বা USB-A থেকে USB-C অ্যাডাপ্টার লাগবে।
+
+1. [Wio Terminal Wiki WiFi Overview ডকুমেন্টেশন](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/) অনুসরণ করে আপনার Wio Terminal সেটআপ করুন এবং ফার্মওয়্যার আপডেট করুন।
+
+## হ্যালো ওয়ার্ল্ড
+
+নতুন প্রোগ্রামিং ভাষা বা প্রযুক্তি শেখার সময় সাধারণত একটি 'Hello World' অ্যাপ্লিকেশন তৈরি করা হয় - একটি ছোট অ্যাপ্লিকেশন যা `"Hello World"` এর মতো টেক্সট আউটপুট করে, যাতে নিশ্চিত করা যায় যে সমস্ত টুল সঠিকভাবে কনফিগার করা হয়েছে।
+
+Wio Terminal-এর জন্য Hello World অ্যাপটি নিশ্চিত করবে যে Visual Studio Code সঠিকভাবে PlatformIO সহ ইনস্টল করা হয়েছে এবং মাইক্রোকন্ট্রোলার ডেভেলপমেন্টের জন্য সেটআপ করা হয়েছে।
+
+### একটি PlatformIO প্রজেক্ট তৈরি করুন
+
+প্রথম ধাপ হল Wio Terminal-এর জন্য কনফিগার করা একটি নতুন প্রজেক্ট তৈরি করা।
+
+#### টাস্ক - একটি PlatformIO প্রজেক্ট তৈরি করুন
+
+PlatformIO প্রজেক্ট তৈরি করুন।
+
+1. Wio Terminal কম্পিউটারের সাথে সংযুক্ত করুন
+
+1. VS Code চালু করুন
+
+1. PlatformIO আইকনটি সাইড মেনু বারে থাকবে:
+
+ 
+
+ এই মেনু আইটেমটি নির্বাচন করুন, তারপর *PIO Home -> Open* নির্বাচন করুন
+
+ 
+
+1. ওয়েলকাম স্ক্রিন থেকে **+ New Project** বোতামটি নির্বাচন করুন
+
+ 
+
+1. *Project Wizard*-এ প্রজেক্ট কনফিগার করুন:
+
+ 1. আপনার প্রজেক্টের নাম দিন `nightlight`
+
+ 1. *Board* ড্রপডাউন থেকে `WIO` টাইপ করুন বোর্ডগুলো ফিল্টার করতে, এবং *Seeeduino Wio Terminal* নির্বাচন করুন
+
+ 1. *Framework* হিসেবে *Arduino* রেখে দিন
+
+ 1. *Use default location* চেকবক্সটি চেক করা অবস্থায় রাখুন অথবা আনচেক করে আপনার প্রজেক্টের জন্য একটি লোকেশন নির্বাচন করুন
+
+ 1. **Finish** বোতামটি নির্বাচন করুন
+
+ 
+
+ PlatformIO Wio Terminal-এর জন্য কোড কম্পাইল করার জন্য প্রয়োজনীয় কম্পোনেন্টগুলো ডাউনলোড করবে এবং আপনার প্রজেক্ট তৈরি করবে। এটি কয়েক মিনিট সময় নিতে পারে।
+
+### PlatformIO প্রজেক্টটি পর্যবেক্ষণ করুন
+
+VS Code এক্সপ্লোরার PlatformIO উইজার্ড দ্বারা তৈরি করা ফাইল এবং ফোল্ডারগুলো দেখাবে।
+
+#### ফোল্ডারগুলো
+
+* `.pio` - এই ফোল্ডারটি PlatformIO-এর জন্য প্রয়োজনীয় অস্থায়ী ডেটা যেমন লাইব্রেরি বা কম্পাইল করা কোড ধারণ করে। এটি মুছে ফেললে স্বয়ংক্রিয়ভাবে পুনরায় তৈরি হয় এবং যদি আপনি আপনার প্রজেক্ট GitHub-এর মতো সাইটে শেয়ার করেন, তাহলে এটি সোর্স কোড কন্ট্রোলে যোগ করার প্রয়োজন নেই।
+* `.vscode` - এই ফোল্ডারটি PlatformIO এবং VS Code দ্বারা ব্যবহৃত কনফিগারেশন ধারণ করে। এটি মুছে ফেললে স্বয়ংক্রিয়ভাবে পুনরায় তৈরি হয় এবং সোর্স কোড কন্ট্রোলে যোগ করার প্রয়োজন নেই।
+* `include` - এই ফোল্ডারটি আপনার কোডে অতিরিক্ত লাইব্রেরি যোগ করার সময় প্রয়োজনীয় এক্সটার্নাল হেডার ফাইলের জন্য। এই পাঠগুলোতে আপনি এই ফোল্ডারটি ব্যবহার করবেন না।
+* `lib` - এই ফোল্ডারটি আপনার কোড থেকে কল করার জন্য এক্সটার্নাল লাইব্রেরির জন্য। এই পাঠগুলোতে আপনি এই ফোল্ডারটি ব্যবহার করবেন না।
+* `src` - এই ফোল্ডারটি আপনার অ্যাপ্লিকেশনের প্রধান সোর্স কোড ধারণ করে। প্রাথমিকভাবে, এটি একটি ফাইল ধারণ করবে - `main.cpp`।
+* `test` - এই ফোল্ডারটি আপনার কোডের জন্য ইউনিট টেস্ট রাখার জন্য।
+
+#### ফাইলগুলো
+
+* `main.cpp` - `src` ফোল্ডারের এই ফাইলটি আপনার অ্যাপ্লিকেশনের এন্ট্রি পয়েন্ট ধারণ করে। এই ফাইলটি খুলুন, এবং এটি নিম্নলিখিত কোড ধারণ করবে:
+
+ ```cpp
+ #include
+
+ void setup() {
+ // put your setup code here, to run once:
+ }
+
+ void loop() {
+ // put your main code here, to run repeatedly:
+ }
+ ```
+
+ ডিভাইস চালু হলে, Arduino ফ্রেমওয়ার্ক `setup` ফাংশনটি একবার চালাবে, তারপর `loop` ফাংশনটি বারবার চালাবে যতক্ষণ না ডিভাইসটি বন্ধ হয়।
+
+* `.gitignore` - এই ফাইলটি সোর্স কোড কন্ট্রোলে যোগ করার সময় যেমন GitHub-এ আপলোড করার সময় কোন ফাইল এবং ডিরেক্টরি উপেক্ষা করতে হবে তা তালিকাভুক্ত করে।
+
+* `platformio.ini` - এই ফাইলটি আপনার ডিভাইস এবং অ্যাপের কনফিগারেশন ধারণ করে। এই ফাইলটি খুলুন, এবং এটি নিম্নলিখিত কোড ধারণ করবে:
+
+ ```ini
+ [env:seeed_wio_terminal]
+ platform = atmelsam
+ board = seeed_wio_terminal
+ framework = arduino
+ ```
+
+ `[env:seeed_wio_terminal]` সেকশনটি Wio Terminal-এর জন্য কনফিগারেশন ধারণ করে। আপনি একাধিক `env` সেকশন রাখতে পারেন যাতে আপনার কোড একাধিক বোর্ডের জন্য কম্পাইল করা যায়।
+
+ প্রজেক্ট উইজার্ডের কনফিগারেশন অনুযায়ী অন্যান্য মানগুলো:
+
+ * `platform = atmelsam` Wio Terminal-এর হার্ডওয়্যার (ATSAMD51-ভিত্তিক মাইক্রোকন্ট্রোলার) সংজ্ঞায়িত করে
+ * `board = seeed_wio_terminal` মাইক্রোকন্ট্রোলার বোর্ডের ধরন (Wio Terminal) সংজ্ঞায়িত করে
+ * `framework = arduino` এই প্রজেক্টটি Arduino ফ্রেমওয়ার্ক ব্যবহার করছে তা সংজ্ঞায়িত করে।
+
+### হ্যালো ওয়ার্ল্ড অ্যাপ লিখুন
+
+এখন আপনি হ্যালো ওয়ার্ল্ড অ্যাপ লিখতে প্রস্তুত।
+
+#### টাস্ক - হ্যালো ওয়ার্ল্ড অ্যাপ লিখুন
+
+হ্যালো ওয়ার্ল্ড অ্যাপ লিখুন।
+
+1. VS Code-এ `main.cpp` ফাইলটি খুলুন
+
+1. কোডটি নিম্নলিখিত অনুযায়ী পরিবর্তন করুন:
+
+ ```cpp
+ #include
+
+ void setup()
+ {
+ Serial.begin(9600);
+
+ while (!Serial)
+ ; // Wait for Serial to be ready
+
+ delay(1000);
+ }
+
+ void loop()
+ {
+ Serial.println("Hello World");
+ delay(5000);
+ }
+ ```
+
+ `setup` ফাংশনটি সিরিয়াল পোর্টের সাথে একটি সংযোগ আরম্ভ করে - এই ক্ষেত্রে, USB পোর্ট যা Wio Terminal-কে আপনার কম্পিউটারের সাথে সংযুক্ত করে। প্যারামিটার `9600` হল [baud rate](https://wikipedia.org/wiki/Symbol_rate) (যা Symbol rate নামেও পরিচিত), বা সিরিয়াল পোর্টে প্রতি সেকেন্ডে বিটে ডেটা পাঠানোর গতি। এই সেটিংটি প্রতি সেকেন্ডে 9,600 বিট (0 এবং 1) ডেটা পাঠায়। এটি তারপর সিরিয়াল পোর্ট প্রস্তুত হওয়ার জন্য অপেক্ষা করে।
+
+ `loop` ফাংশনটি সিরিয়াল পোর্টে `Hello World!` পাঠায়, যাতে `Hello World!` অক্ষরগুলো একটি নতুন লাইন ক্যারেক্টারের সাথে পাঠানো হয়। এটি তারপর 5,000 মিলিসেকেন্ড বা 5 সেকেন্ডের জন্য ঘুমায়। `loop` শেষ হওয়ার পর এটি আবার চালানো হয়, এবং এটি চালু থাকা অবস্থায় বারবার চালানো হয়।
+
+1. আপনার Wio Terminal-কে আপলোড মোডে রাখুন। ডিভাইসে নতুন কোড আপলোড করার সময় এটি করতে হবে:
+
+ 1. পাওয়ার সুইচটি দ্রুত দুইবার নিচে টানুন - এটি প্রতিবার অন অবস্থানে ফিরে আসবে।
+
+ 1. USB পোর্টের ডানদিকে নীল স্ট্যাটাস LEDটি পরীক্ষা করুন। এটি পালসিং হওয়া উচিত।
+
+ [](https://youtu.be/LeKU_7zLRrQ)
+
+ এটি কীভাবে করতে হয় তা দেখানোর জন্য উপরের ছবিতে ক্লিক করুন।
+
+1. কোডটি Wio Terminal-এ বিল্ড এবং আপলোড করুন
+
+ 1. VS Code কমান্ড প্যালেট খুলুন
+
+ 1. আপলোড অপশনটি খুঁজতে `PlatformIO Upload` টাইপ করুন এবং *PlatformIO: Upload* নির্বাচন করুন
+
+ 
+
+ প্রয়োজন হলে PlatformIO স্বয়ংক্রিয়ভাবে কোড বিল্ড করবে এবং তারপর আপলোড করবে।
+
+ 1. কোডটি কম্পাইল করা হবে এবং Wio Terminal-এ আপলোড করা হবে
+
+ > 💁 যদি আপনি macOS ব্যবহার করেন, একটি *DISK NOT EJECTED PROPERLY* নোটিফিকেশন দেখা যাবে। এটি কারণ Wio Terminal ফ্ল্যাশিং প্রক্রিয়ার অংশ হিসেবে একটি ড্রাইভ হিসেবে মাউন্ট হয় এবং কম্পাইল করা কোড ডিভাইসে লেখা হলে এটি সংযোগ বিচ্ছিন্ন হয়। আপনি এই নোটিফিকেশনটি উপেক্ষা করতে পারেন।
+
+ ⚠️ যদি আপলোড পোর্ট অনুপলব্ধ সংক্রান্ত ত্রুটি পান, প্রথমে নিশ্চিত করুন যে আপনার Wio Terminal কম্পিউটারের সাথে সংযুক্ত আছে এবং স্ক্রিনের বাম দিকে থাকা সুইচ ব্যবহার করে চালু আছে এবং আপলোড মোডে সেট করা আছে। নিচের সবুজ আলোটি চালু থাকা উচিত এবং নীল আলোটি পালসিং হওয়া উচিত। যদি এখনও ত্রুটি পান, দ্রুত দুইবার সুইচটি নিচে টানুন এবং Wio Terminal-কে আপলোড মোডে বাধ্য করুন এবং আবার আপলোড চেষ্টা করুন।
+
+PlatformIO-এর একটি সিরিয়াল মনিটর রয়েছে যা Wio Terminal থেকে USB কেবলের মাধ্যমে পাঠানো ডেটা পর্যবেক্ষণ করতে পারে। এটি `Serial.println("Hello World");` কমান্ড দ্বারা পাঠানো ডেটা পর্যবেক্ষণ করতে দেয়।
+
+1. VS Code কমান্ড প্যালেট খুলুন
+
+1. সিরিয়াল মনিটর অপশনটি খুঁজতে `PlatformIO Serial` টাইপ করুন এবং *PlatformIO: Serial Monitor* নির্বাচন করুন
+
+ 
+
+ একটি নতুন টার্মিনাল খুলবে এবং সিরিয়াল পোর্টের মাধ্যমে পাঠানো ডেটা এই টার্মিনালে স্ট্রিম হবে:
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Hello World
+ Hello World
+ ```
+
+ `Hello World` প্রতি 5 সেকেন্ডে সিরিয়াল মনিটরে প্রিন্ট হবে।
+
+> 💁 আপনি এই কোডটি [code/wio-terminal](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার 'Hello World' প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/2-deeper-dive/README.md b/translations/bn/1-getting-started/lessons/2-deeper-dive/README.md
new file mode 100644
index 00000000..48b9adf5
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/2-deeper-dive/README.md
@@ -0,0 +1,266 @@
+
+# IoT সম্পর্কে গভীর আলোচনা
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে [Hello IoT সিরিজ](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) এর অংশ হিসেবে শেখানো হয়েছিল। এটি দুটি ভিডিওতে শেখানো হয়েছিল - একটি ১ ঘণ্টার পাঠ এবং একটি ১ ঘণ্টার অফিস আওয়ার যেখানে পাঠের অংশগুলো আরও গভীরভাবে আলোচনা করা হয় এবং প্রশ্নের উত্তর দেওয়া হয়।
+
+[](https://youtu.be/t0SySWw3z9M)
+
+[](https://youtu.be/tTZYf9EST1E)
+
+> 🎥 উপরের ছবিগুলোতে ক্লিক করে ভিডিওগুলো দেখুন
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/3)
+
+## ভূমিকা
+
+এই পাঠে আমরা আগের পাঠে আলোচনা করা কিছু ধারণা আরও গভীরভাবে দেখব।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [একটি IoT অ্যাপ্লিকেশনের উপাদান](../../../../../1-getting-started/lessons/2-deeper-dive)
+* [মাইক্রোকন্ট্রোলার সম্পর্কে গভীর আলোচনা](../../../../../1-getting-started/lessons/2-deeper-dive)
+* [সিঙ্গল-বোর্ড কম্পিউটার সম্পর্কে গভীর আলোচনা](../../../../../1-getting-started/lessons/2-deeper-dive)
+
+## একটি IoT অ্যাপ্লিকেশনের উপাদান
+
+একটি IoT অ্যাপ্লিকেশনের দুটি প্রধান উপাদান হল *ইন্টারনেট* এবং *থিং*। চলুন এই দুটি উপাদান সম্পর্কে আরও বিস্তারিতভাবে দেখি।
+
+### থিং
+
+
+
+IoT-এর **থিং** অংশটি এমন একটি ডিভাইসকে বোঝায় যা বাস্তব জগতের সাথে যোগাযোগ করতে পারে। এই ডিভাইসগুলো সাধারণত ছোট, কম দামের কম্পিউটার, যা কম গতিতে চলে এবং কম শক্তি ব্যবহার করে - যেমন, সাধারণ মাইক্রোকন্ট্রোলার যেগুলো কিলোবাইট RAM (PC-তে গিগাবাইটের পরিবর্তে) এবং কয়েকশ মেগাহার্টজ গতিতে চলে (PC-তে গিগাহার্টজের পরিবর্তে), কিন্তু এত কম শক্তি ব্যবহার করে যে তারা সপ্তাহ, মাস বা এমনকি বছরের পর বছর ব্যাটারিতে চলতে পারে।
+
+এই ডিভাইসগুলো বাস্তব জগতের সাথে যোগাযোগ করে, হয় সেন্সর ব্যবহার করে তাদের চারপাশ থেকে ডেটা সংগ্রহ করে বা আউটপুট বা অ্যাকচুয়েটর নিয়ন্ত্রণ করে শারীরিক পরিবর্তন ঘটায়। এর একটি সাধারণ উদাহরণ হল একটি স্মার্ট থার্মোস্ট্যাট - একটি ডিভাইস যার মধ্যে একটি তাপমাত্রা সেন্সর, একটি পছন্দসই তাপমাত্রা সেট করার উপায় যেমন একটি ডায়াল বা টাচস্ক্রিন, এবং একটি হিটিং বা কুলিং সিস্টেমের সাথে সংযোগ রয়েছে যা পছন্দসই সীমার বাইরে তাপমাত্রা সনাক্ত হলে চালু করা যায়। তাপমাত্রা সেন্সরটি সনাক্ত করে যে ঘরটি খুব ঠান্ডা এবং একটি অ্যাকচুয়েটর হিটিং চালু করে।
+
+
+
+IoT ডিভাইস হিসেবে কাজ করতে পারে এমন বিভিন্ন ধরণের জিনিস রয়েছে, যেমন একটি নির্দিষ্ট হার্ডওয়্যার যা একটি জিনিস সনাক্ত করে, সাধারণ উদ্দেশ্য ডিভাইস, এমনকি আপনার স্মার্টফোনও! একটি স্মার্টফোন সেন্সর ব্যবহার করে তার চারপাশের জগত সনাক্ত করতে পারে এবং অ্যাকচুয়েটর ব্যবহার করে জগতের সাথে যোগাযোগ করতে পারে - যেমন একটি GPS সেন্সর ব্যবহার করে আপনার অবস্থান সনাক্ত করা এবং একটি স্পিকার ব্যবহার করে আপনাকে গন্তব্যে যাওয়ার নির্দেশনা দেওয়া।
+
+✅ আপনার চারপাশে এমন অন্যান্য সিস্টেমের কথা ভাবুন যা একটি সেন্সর থেকে ডেটা পড়ে এবং সেই অনুযায়ী সিদ্ধান্ত নেয়। একটি উদাহরণ হতে পারে ওভেনের থার্মোস্ট্যাট। আরও উদাহরণ খুঁজে বের করতে পারেন?
+
+### ইন্টারনেট
+
+IoT অ্যাপ্লিকেশনের **ইন্টারনেট** অংশটি এমন অ্যাপ্লিকেশন নিয়ে গঠিত যা IoT ডিভাইস ডেটা পাঠাতে এবং গ্রহণ করতে সংযোগ করতে পারে, পাশাপাশি অন্যান্য অ্যাপ্লিকেশন যা IoT ডিভাইস থেকে ডেটা প্রক্রিয়া করতে পারে এবং IoT ডিভাইসের অ্যাকচুয়েটরকে কী অনুরোধ পাঠাতে হবে তা সিদ্ধান্ত নিতে সাহায্য করতে পারে।
+
+একটি সাধারণ সেটআপ হতে পারে একটি ক্লাউড সার্ভিস যেখানে IoT ডিভাইস সংযোগ করে এবং এই ক্লাউড সার্ভিস নিরাপত্তা পরিচালনা করে, IoT ডিভাইস থেকে বার্তা গ্রহণ করে এবং ডিভাইসে বার্তা পাঠায়। এই ক্লাউড সার্ভিসটি অন্যান্য অ্যাপ্লিকেশনের সাথে সংযোগ করে যা সেন্সর ডেটা প্রক্রিয়া বা সংরক্ষণ করতে পারে, অথবা অন্যান্য সিস্টেম থেকে ডেটার সাথে সেন্সর ডেটা ব্যবহার করে সিদ্ধান্ত নিতে পারে।
+
+ডিভাইসগুলো সবসময় সরাসরি ইন্টারনেটের সাথে WiFi বা তারযুক্ত সংযোগের মাধ্যমে সংযোগ করে না। কিছু ডিভাইস মেশ নেটওয়ার্কিং ব্যবহার করে একে অপরের সাথে ব্লুটুথের মতো প্রযুক্তির মাধ্যমে কথা বলে, একটি হাব ডিভাইসের মাধ্যমে সংযোগ করে যার একটি ইন্টারনেট সংযোগ রয়েছে।
+
+স্মার্ট থার্মোস্ট্যাটের উদাহরণে, থার্মোস্ট্যাটটি হোম WiFi ব্যবহার করে ক্লাউডে একটি ক্লাউড সার্ভিসের সাথে সংযোগ করবে। এটি তাপমাত্রার ডেটা এই ক্লাউড সার্ভিসে পাঠাবে এবং সেখান থেকে এটি কোনো ধরনের ডাটাবেসে লেখা হবে যাতে বাড়ির মালিক একটি ফোন অ্যাপ ব্যবহার করে বর্তমান এবং অতীতের তাপমাত্রা পরীক্ষা করতে পারে। ক্লাউডে থাকা অন্য একটি সার্ভিস জানবে বাড়ির মালিক কী তাপমাত্রা চান এবং ক্লাউড সার্ভিসের মাধ্যমে IoT ডিভাইসে বার্তা পাঠাবে যাতে হিটিং সিস্টেম চালু বা বন্ধ করা যায়।
+
+
+
+আরও স্মার্ট সংস্করণটি AI ব্যবহার করতে পারে যা ক্লাউডে অন্যান্য IoT ডিভাইসের সাথে সংযুক্ত সেন্সর থেকে ডেটা যেমন রুমের ব্যবহার সনাক্ত করার জন্য সেন্সর, আবহাওয়া এবং এমনকি আপনার ক্যালেন্ডারের মতো ডেটা ব্যবহার করে স্মার্টভাবে তাপমাত্রা সেট করার সিদ্ধান্ত নিতে পারে। উদাহরণস্বরূপ, এটি আপনার ক্যালেন্ডার থেকে পড়ে যদি আপনি ছুটিতে থাকেন তবে আপনার হিটিং বন্ধ করতে পারে, অথবা রুমের ব্যবহার অনুযায়ী রুম বাই রুম ভিত্তিতে হিটিং বন্ধ করতে পারে, ডেটা থেকে শিখে সময়ের সাথে আরও সঠিক হতে পারে।
+
+
+
+✅ কী ধরনের অন্যান্য ডেটা একটি ইন্টারনেট সংযুক্ত থার্মোস্ট্যাটকে আরও স্মার্ট করতে সাহায্য করতে পারে?
+
+### এজে IoT
+
+যদিও IoT-এর I মানে ইন্টারনেট, এই ডিভাইসগুলো ইন্টারনেটের সাথে সংযুক্ত হতে হবে এমন কোনো বাধ্যবাধকতা নেই। কিছু ক্ষেত্রে, ডিভাইসগুলো 'এজ' ডিভাইসের সাথে সংযুক্ত হতে পারে - গেটওয়ে ডিভাইস যা আপনার লোকাল নেটওয়ার্কে চলে, যার ফলে আপনি ইন্টারনেটের মাধ্যমে কল না করেই ডেটা প্রক্রিয়া করতে পারেন। এটি দ্রুত হতে পারে যখন আপনার কাছে প্রচুর ডেটা থাকে বা একটি ধীর ইন্টারনেট সংযোগ থাকে, এটি আপনাকে অফলাইনে চালানোর অনুমতি দেয় যেখানে ইন্টারনেট সংযোগ সম্ভব নয় যেমন একটি জাহাজে বা একটি মানবিক সংকটের সময় একটি দুর্যোগ এলাকায়, এবং এটি আপনাকে ডেটা ব্যক্তিগত রাখতে দেয়। কিছু ডিভাইস ক্লাউড টুল ব্যবহার করে তৈরি করা প্রসেসিং কোড ধারণ করে এবং এটি লোকালভাবে চালায় যাতে ইন্টারনেট সংযোগ ব্যবহার না করেই ডেটা সংগ্রহ এবং সিদ্ধান্ত নেওয়া যায়।
+
+এর একটি উদাহরণ হল একটি স্মার্ট হোম ডিভাইস যেমন Apple HomePod, Amazon Alexa, বা Google Home, যা আপনার কণ্ঠ শুনবে ক্লাউডে প্রশিক্ষিত AI মডেল ব্যবহার করে, কিন্তু ডিভাইসে লোকালভাবে চলবে। এই ডিভাইসগুলো একটি নির্দিষ্ট শব্দ বা বাক্যাংশ বলা হলে 'জেগে উঠবে' এবং শুধুমাত্র তখন আপনার বক্তব্য ইন্টারনেটের মাধ্যমে প্রক্রিয়াকরণের জন্য পাঠাবে। ডিভাইসটি আপনার বক্তব্যে বিরতি সনাক্ত করলে একটি উপযুক্ত সময়ে বক্তব্য পাঠানো বন্ধ করবে। আপনি ডিভাইসটিকে জাগানোর শব্দ বলার আগে যা কিছু বলেন এবং ডিভাইসটি শোনা বন্ধ করার পরে যা কিছু বলেন তা ডিভাইস প্রদানকারীর কাছে ইন্টারনেটের মাধ্যমে পাঠানো হবে না এবং তাই এটি ব্যক্তিগত থাকবে।
+
+✅ এমন অন্যান্য পরিস্থিতির কথা ভাবুন যেখানে গোপনীয়তা গুরুত্বপূর্ণ, তাই ডেটা প্রক্রিয়াকরণ ক্লাউডের পরিবর্তে এজে করা ভালো হবে। একটি ইঙ্গিত - IoT ডিভাইসে ক্যামেরা বা অন্যান্য ইমেজিং ডিভাইসের কথা ভাবুন।
+
+### IoT নিরাপত্তা
+
+যেকোনো ইন্টারনেট সংযোগের ক্ষেত্রে, নিরাপত্তা একটি গুরুত্বপূর্ণ বিষয়। একটি পুরানো রসিকতা আছে যে 'IoT-তে S মানে নিরাপত্তা' - IoT-তে কোনো 'S' নেই, যা বোঝায় এটি নিরাপদ নয়।
+
+IoT ডিভাইসগুলো একটি ক্লাউড সার্ভিসের সাথে সংযুক্ত হয় এবং তাই সেই ক্লাউড সার্ভিস যতটা নিরাপদ, ডিভাইসগুলোও ততটাই নিরাপদ - যদি আপনার ক্লাউড সার্ভিস কোনো ডিভাইসকে সংযোগ করার অনুমতি দেয় তবে ক্ষতিকারক ডেটা পাঠানো যেতে পারে বা ভাইরাস আক্রমণ হতে পারে। এটি বাস্তব জগতে খুবই গুরুতর পরিণতি ঘটাতে পারে কারণ IoT ডিভাইসগুলো অন্যান্য ডিভাইসের সাথে যোগাযোগ করে এবং নিয়ন্ত্রণ করে। উদাহরণস্বরূপ, [Stuxnet worm](https://wikipedia.org/wiki/Stuxnet) সেন্ট্রিফিউজের ভালভগুলিকে ক্ষতিগ্রস্ত করতে ম্যানিপুলেট করেছিল। হ্যাকাররা [দুর্বল নিরাপত্তার সুযোগ নিয়ে বেবি মনিটর](https://www.npr.org/sections/thetwo-way/2018/06/05/617196788/s-c-mom-says-baby-monitor-was-hacked-experts-say-many-devices-are-vulnerable) এবং অন্যান্য হোম নজরদারি ডিভাইসে প্রবেশ করেছে।
+
+> 💁 কখনও কখনও IoT ডিভাইস এবং এজ ডিভাইসগুলো সম্পূর্ণভাবে ইন্টারনেট থেকে বিচ্ছিন্ন একটি নেটওয়ার্কে চলে যাতে ডেটা ব্যক্তিগত এবং নিরাপদ থাকে। এটি [এয়ার-গ্যাপিং](https://wikipedia.org/wiki/Air_gap_(networking)) নামে পরিচিত।
+
+## মাইক্রোকন্ট্রোলার সম্পর্কে গভীর আলোচনা
+
+আগের পাঠে আমরা মাইক্রোকন্ট্রোলার পরিচয় করিয়েছিলাম। এবার আমরা সেগুলো সম্পর্কে আরও গভীরভাবে দেখব।
+
+### CPU
+
+CPU হল মাইক্রোকন্ট্রোলারের 'মস্তিষ্ক'। এটি প্রসেসর যা আপনার কোড চালায় এবং যেকোনো সংযুক্ত ডিভাইস থেকে ডেটা পাঠাতে এবং গ্রহণ করতে পারে। CPU-তে এক বা একাধিক কোর থাকতে পারে - মূলত এক বা একাধিক CPU যা একসাথে আপনার কোড চালাতে পারে।
+
+CPU একটি ক্লকের উপর নির্ভর করে যা প্রতি সেকেন্ডে লক্ষ লক্ষ বা বিলিয়ন বার টিক দেয়। প্রতিটি টিক বা সাইকেল CPU-এর কাজগুলোকে সিঙ্ক্রোনাইজ করে। প্রতিটি টিকের সময়, CPU একটি প্রোগ্রামের একটি নির্দেশনা কার্যকর করতে পারে, যেমন একটি বাহ্যিক ডিভাইস থেকে ডেটা পুনরুদ্ধার করা বা একটি গাণিতিক গণনা করা। এই নিয়মিত সাইকেলটি সমস্ত কাজ সম্পন্ন করার অনুমতি দেয় যাতে পরবর্তী নির্দেশনা প্রক্রিয়া করার আগে এটি সম্পন্ন হয়।
+
+ক্লক সাইকেল যত দ্রুত, প্রতি সেকেন্ডে যত বেশি নির্দেশনা প্রক্রিয়া করা যায়, CPU তত দ্রুত। CPU গতি [Hertz (Hz)](https://wikipedia.org/wiki/Hertz) এ পরিমাপ করা হয়, একটি মানক একক যেখানে 1 Hz মানে প্রতি সেকেন্ডে এক সাইকেল বা ক্লক টিক।
+
+> 🎓 CPU গতি প্রায়ই MHz বা GHz-এ দেওয়া হয়। 1MHz হল 1 মিলিয়ন Hz, 1GHz হল 1 বিলিয়ন Hz।
+
+> 💁 CPU-গুলো [fetch-decode-execute cycle](https://wikipedia.org/wiki/Instruction_cycle) ব্যবহার করে প্রোগ্রাম চালায়। প্রতিটি ক্লক টিকের জন্য, CPU মেমরি থেকে পরবর্তী নির্দেশনা নিয়ে আসে, এটি ডিকোড করে, তারপর এটি কার্যকর করে যেমন একটি গাণিতিক লজিক ইউনিট (ALU) ব্যবহার করে দুটি সংখ্যা যোগ করা। কিছু কার্যকরকরণ একাধিক টিক নিতে পারে, তাই পরবর্তী সাইকেলটি নির্দেশনা সম্পন্ন হওয়ার পরে পরবর্তী টিকে চলবে।
+
+
+
+মাইক্রোকন্ট্রোলারগুলোর ক্লক গতি ডেস্কটপ বা ল্যাপটপ কম্পিউটার, এমনকি বেশিরভাগ স্মার্টফোনের তুলনায় অনেক কম। উদাহরণস্বরূপ, Wio Terminal-এর একটি CPU রয়েছে যা 120MHz বা প্রতি সেকেন্ডে 120,000,000 সাইকেলে চলে।
+
+✅ একটি গড় PC বা Mac-এর CPU রয়েছে যা একাধিক কোরে চলে এবং একাধিক গিগাহার্টজ গতিতে চলে, অর্থাৎ ক্লক প্রতি সেকেন্ডে বিলিয়ন বার টিক দেয়। আপনার কম্পিউটারের ক্লক গতি গবেষণা করুন এবং Wio Terminal-এর তুলনায় এটি কতবার দ্রুত তা তুলনা করুন।
+
+প্রতিটি ক্লক সাইকেল শক্তি ব্যবহার করে এবং তাপ উৎপন্ন করে। টিক যত দ্রুত, তত বেশি শক্তি খরচ হয় এবং তত বেশি তাপ উৎপন্ন হয়। PC-তে তাপ অপসারণের জন্য হিট সিঙ্ক এবং ফ্যান থাকে, যা ছাড়া তারা কয়েক সেকেন্ডের মধ্যে অতিরিক্ত গরম হয়ে বন্ধ হয়ে যাবে। মাইক্রোকন্ট্রোলারগুলো প্রায়ই এগুলো থাকে না কারণ তারা অনেক ঠান্ডা চলে এবং তাই অনেক ধীর। PC-গুলো মেইনস পাওয়ার বা বড় ব্যাটারি থেকে কয়েক ঘণ্টা চলে, মাইক্রোকন্ট্রোলারগুলো ছোট ব্যাটারি থেকে দিন, মাস বা এমনকি বছর ধরে চলতে পারে। মাইক্রোকন্ট্রোলারগুলোতে এমন কোর থাকতে পারে যা বিভিন্ন গতিতে চলে, CPU-তে চাহিদা কম থাকলে শক্তি খরচ কমাতে ধীর গতির লো পাওয়ার কোরে স্যুইচ করে।
+
+> 💁 কিছু PC এবং Mac একই মিশ্রণ গ্রহণ করছে যেখানে দ্রুত উচ্চ শক্তি কোর এবং ধীর লো পাওয়ার কোর রয়েছে, ব্যাটারি সংরক্ষণ করতে স্যুইচ করে। উদাহরণস্বরূপ, সর্বশেষ Apple ল্যাপটপে M1 চিপটি ব্যাটারি লাইফ বা গতি অপ্টিমাইজ করতে 4টি পারফরম্যান্স কোর এবং 4টি দক্ষতা কোরের মধ্যে স্যুইচ করতে পারে।
+
+✅ একটু গবেষণা করুন: CPU সম্পর্কে [Wikipedia CPU article](https://wikipedia.org/wiki/Central_processing_unit) পড়ুন।
+
+#### কাজ
+
+Wio Terminal সম্পর্কে অনুসন্ধান করুন।
+
+যদি আপনি এই পাঠগুলোর জন্য Wio Terminal ব্যবহার করেন, CPU খুঁজে বের করার চেষ্টা করুন। [Wio Terminal product page](https://www.seeedstudio.com/Wio-Terminal-p-4509.html)-এর *Hardware Overview* বিভাগে অভ্যন্তরীণ অংশের একটি ছবি খুঁজুন এবং পিছনের স্বচ্ছ প্লাস্টিকের জানালার মাধ্যমে CPU খুঁজে বের করার চেষ্টা করুন।
+
+### মেমরি
+
+মাইক্রোকন্ট্রোলারগুলো সাধারণত দুটি ধরণের মেমরি থাকে - প্রোগ্রাম মেমরি এবং র্যান্ডম-অ্যাক্সেস মেমরি (RAM)।
+
+প্রোগ্রাম মেমরি নন-ভোলাটাইল, যার অর্থ যা কিছু এতে লেখা হয় তা ডিভাইসে কোনো পাওয়ার না থাকলেও থাকে। এটি
+🎓 প্রোগ্রাম মেমরি আপনার কোড সংরক্ষণ করে এবং বিদ্যুৎ না থাকলেও থাকে।
+> 🎓 র্যাম আপনার প্রোগ্রাম চালানোর জন্য ব্যবহৃত হয় এবং বিদ্যুৎ না থাকলে এটি রিসেট হয়ে যায়
+
+মাইক্রোকন্ট্রোলারের মেমোরি সাধারণত পিসি বা ম্যাকের তুলনায় অনেক ছোট হয়, যেমন সিপিইউর ক্ষেত্রেও। একটি সাধারণ পিসিতে ৮ গিগাবাইট (GB) র্যাম থাকতে পারে, যা ৮,০০০,০০০,০০০ বাইটের সমান। প্রতিটি বাইট একটি অক্ষর বা ০-২৫৫ এর মধ্যে একটি সংখ্যা সংরক্ষণ করার জন্য যথেষ্ট। অন্যদিকে, একটি মাইক্রোকন্ট্রোলারে সাধারণত কিলোবাইট (KB) পরিমাণ র্যাম থাকে, যেখানে ১ কিলোবাইট মানে ১,০০০ বাইট। উপরে উল্লেখিত Wio টার্মিনালে ১৯২KB র্যাম রয়েছে, যা ১৯২,০০০ বাইট - একটি গড় পিসির তুলনায় ৪০,০০০ গুণ কম!
+
+নিচের চিত্রটি ১৯২KB এবং ৮GB এর আপেক্ষিক আকারের পার্থক্য দেখায় - কেন্দ্রে ছোট বিন্দুটি ১৯২KB কে উপস্থাপন করে।
+
+
+
+প্রোগ্রাম সংরক্ষণের ক্ষেত্রেও পিসির তুলনায় এটি ছোট। একটি সাধারণ পিসিতে প্রোগ্রাম সংরক্ষণের জন্য ৫০০GB হার্ড ড্রাইভ থাকতে পারে, যেখানে একটি মাইক্রোকন্ট্রোলারে কেবল কিলোবাইট বা কয়েক মেগাবাইট (MB) স্টোরেজ থাকতে পারে (১MB মানে ১,০০০KB বা ১,০০০,০০০ বাইট)। Wio টার্মিনালে ৪MB প্রোগ্রাম স্টোরেজ রয়েছে।
+
+✅ একটু গবেষণা করুন: আপনি যে কম্পিউটারটি ব্যবহার করছেন তার কত র্যাম এবং স্টোরেজ রয়েছে? এটি একটি মাইক্রোকন্ট্রোলারের সাথে কীভাবে তুলনা করা যায়?
+
+### ইনপুট/আউটপুট
+
+মাইক্রোকন্ট্রোলারগুলিকে সেন্সর থেকে ডেটা পড়তে এবং অ্যাকচুয়েটরগুলিতে নিয়ন্ত্রণ সংকেত পাঠানোর জন্য ইনপুট এবং আউটপুট (I/O) সংযোগের প্রয়োজন হয়। এগুলিতে সাধারণত বেশ কয়েকটি সাধারণ উদ্দেশ্য ইনপুট/আউটপুট (GPIO) পিন থাকে। এই পিনগুলি সফটওয়্যারের মাধ্যমে ইনপুট (যা সংকেত গ্রহণ করে) বা আউটপুট (যা সংকেত পাঠায়) হিসাবে কনফিগার করা যায়।
+
+🧠⬅️ ইনপুট পিনগুলি সেন্সর থেকে মান পড়ার জন্য ব্যবহৃত হয়
+
+🧠➡️ আউটপুট পিনগুলি অ্যাকচুয়েটরগুলিতে নির্দেশ পাঠায়
+
+✅ আপনি এটি সম্পর্কে আরও জানতে পরবর্তী পাঠে শিখবেন।
+
+#### কাজ
+
+Wio টার্মিনালটি অন্বেষণ করুন।
+
+যদি আপনি এই পাঠগুলির জন্য Wio টার্মিনাল ব্যবহার করেন, তাহলে GPIO পিনগুলি খুঁজুন। [Wio টার্মিনাল প্রোডাক্ট পেজ](https://www.seeedstudio.com/Wio-Terminal-p-4509.html)-এর *পিনআউট ডায়াগ্রাম* বিভাগটি দেখুন এবং কোন পিনটি কোনটি তা শিখুন। Wio টার্মিনালের সাথে একটি স্টিকার আসে যা আপনি পিছনে লাগাতে পারেন যাতে পিন নম্বরগুলি চিহ্নিত থাকে। যদি আপনি এটি এখনও না লাগিয়ে থাকেন, তাহলে এখন লাগান।
+
+### শারীরিক আকার
+
+মাইক্রোকন্ট্রোলার সাধারণত আকারে ছোট হয়। সবচেয়ে ছোটটি, [Freescale Kinetis KL03 MCU একটি গলফ বলের ডিম্পলে ফিট করার মতো ছোট](https://www.edn.com/tiny-arm-cortex-m0-based-mcu-shrinks-package/)। একটি পিসির সিপিইউ ৪০মিমি x ৪০মিমি মাপের হতে পারে, এবং এটি তাপ সিঙ্ক এবং ফ্যান ছাড়াই, যা সিপিইউকে অতিরিক্ত গরম হওয়া ছাড়াই কয়েক সেকেন্ডের বেশি চালানোর জন্য প্রয়োজন। এটি একটি সম্পূর্ণ মাইক্রোকন্ট্রোলারের তুলনায় অনেক বড়। Wio টার্মিনাল ডেভেলপার কিট, যা একটি মাইক্রোকন্ট্রোলার, কেস, স্ক্রিন এবং বিভিন্ন সংযোগ এবং উপাদান নিয়ে গঠিত, একটি খালি Intel i9 CPU-এর চেয়ে খুব বেশি বড় নয় এবং তাপ সিঙ্ক এবং ফ্যান সহ সিপিইউর তুলনায় অনেক ছোট।
+
+| ডিভাইস | আকার |
+| ------------------------------- | --------------------- |
+| Freescale Kinetis KL03 | ১.৬মিমি x ২মিমি x ১মিমি |
+| Wio টার্মিনাল | ৭২মিমি x ৫৭মিমি x ১২মিমি |
+| Intel i9 CPU, তাপ সিঙ্ক এবং ফ্যান | ১৩৬মিমি x ১৪৫মিমি x ১০৩মিমি |
+
+### ফ্রেমওয়ার্ক এবং অপারেটিং সিস্টেম
+
+তাদের কম গতি এবং মেমোরি আকারের কারণে, মাইক্রোকন্ট্রোলারগুলি ডেস্কটপ অর্থে একটি অপারেটিং সিস্টেম (OS) চালায় না। আপনার কম্পিউটার চালানোর জন্য প্রয়োজনীয় অপারেটিং সিস্টেম (Windows, Linux বা macOS) অনেক মেমোরি এবং প্রসেসিং পাওয়ার প্রয়োজন, যা মাইক্রোকন্ট্রোলারের জন্য সম্পূর্ণ অপ্রয়োজনীয় কাজগুলি চালানোর জন্য ব্যবহৃত হয়। মনে রাখবেন, মাইক্রোকন্ট্রোলার সাধারণত একটি বা একাধিক নির্দিষ্ট কাজ সম্পাদনের জন্য প্রোগ্রাম করা হয়, যেখানে একটি সাধারণ উদ্দেশ্য পিসি বা ম্যাক ব্যবহারকারীর ইন্টারফেস সমর্থন, গান বা সিনেমা চালানো, ডকুমেন্ট বা কোড লেখার টুল সরবরাহ, গেম খেলা বা ইন্টারনেট ব্রাউজ করার মতো কাজ করতে পারে।
+
+একটি অপারেটিং সিস্টেম ছাড়াই মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে, আপনাকে কিছু টুলিং প্রয়োজন যা আপনাকে আপনার কোড এমনভাবে তৈরি করতে দেয় যা মাইক্রোকন্ট্রোলার চালাতে পারে, এবং যেকোনো পেরিফেরালের সাথে কথা বলার জন্য API ব্যবহার করতে পারে। প্রতিটি মাইক্রোকন্ট্রোলার আলাদা, তাই নির্মাতারা সাধারণত স্ট্যান্ডার্ড ফ্রেমওয়ার্ক সমর্থন করে যা আপনাকে একটি স্ট্যান্ডার্ড 'রেসিপি' অনুসরণ করতে দেয় যাতে আপনার কোড তৈরি করা যায় এবং এটি যেকোনো মাইক্রোকন্ট্রোলারে চালানো যায় যা সেই ফ্রেমওয়ার্ক সমর্থন করে।
+
+আপনি একটি অপারেটিং সিস্টেম ব্যবহার করে মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে পারেন - যাকে প্রায়ই একটি রিয়েল-টাইম অপারেটিং সিস্টেম (RTOS) বলা হয়, কারণ এগুলি রিয়েল টাইমে পেরিফেরাল থেকে এবং পেরিফেরালে ডেটা পাঠানোর জন্য ডিজাইন করা হয়েছে। এই অপারেটিং সিস্টেমগুলি খুব হালকা এবং নিম্নলিখিত বৈশিষ্ট্যগুলি সরবরাহ করে:
+
+* মাল্টি-থ্রেডিং, যা আপনার কোডকে একাধিক কোরে বা এক কোরে পালাক্রমে একাধিক কোড ব্লক চালানোর অনুমতি দেয়
+* ইন্টারনেটের মাধ্যমে নিরাপদে যোগাযোগ করার জন্য নেটওয়ার্কিং
+* স্ক্রিনযুক্ত ডিভাইসগুলিতে ব্যবহারকারীর ইন্টারফেস (UI) তৈরি করার জন্য গ্রাফিকাল ইউজার ইন্টারফেস (GUI) উপাদান।
+
+✅ বিভিন্ন RTOS সম্পর্কে পড়ুন: [Azure RTOS](https://azure.microsoft.com/services/rtos/?WT.mc_id=academic-17441-jabenn), [FreeRTOS](https://www.freertos.org), [Zephyr](https://www.zephyrproject.org)
+
+#### আরডুইনো
+
+
+
+[Arduino](https://www.arduino.cc) সম্ভবত সবচেয়ে জনপ্রিয় মাইক্রোকন্ট্রোলার ফ্রেমওয়ার্ক, বিশেষ করে শিক্ষার্থী, শখের মানুষ এবং মেকারদের মধ্যে। Arduino একটি ওপেন সোর্স ইলেকট্রনিক্স প্ল্যাটফর্ম যা সফটওয়্যার এবং হার্ডওয়্যারকে একত্রিত করে। আপনি Arduino নিজেই বা অন্যান্য নির্মাতাদের কাছ থেকে Arduino সামঞ্জস্যপূর্ণ বোর্ড কিনতে পারেন, তারপর Arduino ফ্রেমওয়ার্ক ব্যবহার করে কোড করতে পারেন।
+
+Arduino বোর্ডগুলি C বা C++ এ কোড করা হয়। C/C++ ব্যবহার করে আপনার কোড খুব ছোট আকারে কম্পাইল করা যায় এবং দ্রুত চালানো যায়, যা একটি সীমাবদ্ধ ডিভাইস যেমন মাইক্রোকন্ট্রোলারের জন্য প্রয়োজন। একটি Arduino অ্যাপ্লিকেশনের মূল অংশটিকে একটি স্কেচ বলা হয় এবং এটি C/C++ কোড যা দুটি ফাংশন নিয়ে গঠিত - `setup` এবং `loop`। বোর্ড চালু হলে, Arduino ফ্রেমওয়ার্ক কোড প্রথমে `setup` ফাংশনটি একবার চালাবে, তারপর এটি `loop` ফাংশনটি বারবার চালাবে, যতক্ষণ না পাওয়ার বন্ধ করা হয়।
+
+আপনার `setup` ফাংশনে আপনার সেটআপ কোড লিখবেন, যেমন WiFi এবং ক্লাউড পরিষেবাগুলির সাথে সংযোগ স্থাপন করা বা ইনপুট এবং আউটপুটের জন্য পিনগুলি ইনিশিয়ালাইজ করা। আপনার `loop` কোডে প্রসেসিং কোড থাকবে, যেমন একটি সেন্সর থেকে পড়া এবং মানটি ক্লাউডে পাঠানো। আপনি সাধারণত প্রতিটি লুপে একটি বিলম্ব অন্তর্ভুক্ত করবেন, উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র প্রতি ১০ সেকেন্ডে সেন্সর ডেটা পাঠাতে চান, তাহলে লুপের শেষে ১০ সেকেন্ডের বিলম্ব যোগ করবেন যাতে মাইক্রোকন্ট্রোলার ঘুমাতে পারে, শক্তি সঞ্চয় করতে পারে, এবং প্রয়োজন হলে ১০ সেকেন্ড পরে আবার লুপ চালাতে পারে।
+
+
+
+✅ এই প্রোগ্রাম আর্কিটেকচারটি *ইভেন্ট লুপ* বা *মেসেজ লoop* নামে পরিচিত। অনেক অ্যাপ্লিকেশন এটি ব্যবহার করে এবং এটি Windows, macOS বা Linux-এর মতো OS-এ চলমান বেশিরভাগ ডেস্কটপ অ্যাপ্লিকেশনের জন্য মানক। `loop` ব্যবহারকারীর ইন্টারফেস উপাদান যেমন বোতাম বা কীবোর্ডের মতো ডিভাইস থেকে বার্তা শোনে এবং সেগুলির প্রতিক্রিয়া জানায়। আপনি এই [ইভেন্ট লoop সম্পর্কিত নিবন্ধে](https://wikipedia.org/wiki/Event_loop) আরও পড়তে পারেন।
+
+Arduino মাইক্রোকন্ট্রোলার এবং I/O পিনগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য স্ট্যান্ডার্ড লাইব্রেরি সরবরাহ করে, যা বিভিন্ন মাইক্রোকন্ট্রোলারে চালানোর জন্য বিভিন্ন বাস্তবায়ন অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, [`delay` ফাংশন](https://www.arduino.cc/reference/en/language/functions/time/delay/) একটি নির্দিষ্ট সময়ের জন্য প্রোগ্রামটি বিরতি দেবে, [`digitalRead` ফাংশন](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/) একটি নির্দিষ্ট পিন থেকে `HIGH` বা `LOW` মান পড়বে, বোর্ড যাই হোক না কেন। এই স্ট্যান্ডার্ড লাইব্রেরিগুলি নিশ্চিত করে যে একটি বোর্ডের জন্য লেখা Arduino কোড অন্য যেকোনো Arduino বোর্ডের জন্য পুনরায় কম্পাইল করা যেতে পারে এবং চালানো যাবে, যদি পিনগুলি একই থাকে এবং বোর্ডগুলি একই বৈশিষ্ট্য সমর্থন করে।
+
+Arduino প্রকল্পগুলিতে অতিরিক্ত বৈশিষ্ট্য যোগ করার জন্য তৃতীয় পক্ষের Arduino লাইব্রেরির একটি বড় ইকোসিস্টেম রয়েছে, যেমন সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করা বা ক্লাউড IoT পরিষেবাগুলির সাথে সংযোগ স্থাপন করা।
+
+##### কাজ
+
+Wio টার্মিনালটি অন্বেষণ করুন।
+
+যদি আপনি এই পাঠগুলির জন্য Wio টার্মিনাল ব্যবহার করেন, তাহলে আগের পাঠে আপনি যে কোড লিখেছেন তা পুনরায় পড়ুন। `setup` এবং `loop` ফাংশনটি খুঁজুন। লুপ ফাংশনটি বারবার ডাকা হচ্ছে কিনা তা সিরিয়াল আউটপুটে পর্যবেক্ষণ করুন। `setup` ফাংশনে সিরিয়াল পোর্টে লেখার জন্য কোড যোগ করার চেষ্টা করুন এবং লক্ষ্য করুন যে এই কোডটি প্রতিবার ডিভাইসটি রিবুট করার সময় একবারই ডাকা হয়। পাশের পাওয়ার সুইচ দিয়ে আপনার ডিভাইসটি রিবুট করার চেষ্টা করুন এবং দেখুন এটি প্রতিবার রিবুট করার সময় ডাকা হয়।
+
+## সিঙ্গল-বোর্ড কম্পিউটারগুলির গভীরতর বিশ্লেষণ
+
+গত পাঠে, আমরা সিঙ্গল-বোর্ড কম্পিউটারগুলির সাথে পরিচিত হয়েছি। এবার আমরা সেগুলির আরও গভীরে দেখব।
+
+### র্যাস্পবেরি পাই
+
+
+
+[র্যাস্পবেরি পাই ফাউন্ডেশন](https://www.raspberrypi.org) একটি যুক্তরাজ্য ভিত্তিক দাতব্য সংস্থা যা ২০০৯ সালে প্রতিষ্ঠিত হয়েছিল, বিশেষ করে স্কুল স্তরে কম্পিউটার বিজ্ঞানের অধ্যয়ন প্রচারের জন্য। এই মিশনের অংশ হিসেবে, তারা একটি সিঙ্গল-বোর্ড কম্পিউটার তৈরি করে, যার নাম র্যাস্পবেরি পাই। র্যাস্পবেরি পাই বর্তমানে ৩টি ভেরিয়েন্টে উপলব্ধ - একটি পূর্ণ আকারের সংস্করণ, ছোট Pi Zero, এবং একটি কম্পিউট মডিউল যা আপনার চূড়ান্ত IoT ডিভাইসে তৈরি করা যেতে পারে।
+
+
+
+পূর্ণ আকারের র্যাস্পবেরি পাই-এর সর্বশেষ সংস্করণটি র্যাস্পবেরি পাই ৪B। এতে একটি কোয়াড-কোর (৪ কোর) CPU রয়েছে যা ১.৫GHz-এ চলে, ২, ৪, বা ৮GB র্যাম, গিগাবিট ইথারনেট, WiFi, ২টি HDMI পোর্ট যা ৪k স্ক্রিন সমর্থন করে, একটি অডিও এবং কম্পোজিট ভিডিও আউটপুট পোর্ট, USB পোর্ট (২টি USB 2.0, ২টি USB 3.0), ৪০টি GPIO পিন, একটি র্যাস্পবেরি পাই ক্যামেরা মডিউলের জন্য ক্যamera সংযোগকারী, এবং একটি SD কার্ড স্লট। এটি একটি বোর্ডে ৮৮মিমি x ৫৮মিমি x ১৯.৫মিমি এবং একটি ৩A USB-C পাওয়ার সাপ্লাই দ্বারা চালিত হয়। এগুলি US$৩৫ থেকে শুরু হয়, যা একটি পিসি বা ম্যাকের তুলনায় অনেক সস্তা।
+
+> 💁 এছাড়াও একটি Pi400 অল-ইন-ওয়ান কম্পিউটার রয়েছে যার মধ্যে একটি কীবোর্ডে একটি Pi4 তৈরি করা হয়েছে।
+
+
+
+Pi Zero আকারে অনেক ছোট এবং কম শক্তিশালী। এতে একটি সিঙ্গল কোর ১GHz CPU, ৫১২MB র্যাম, WiFi (Zero W মডেলে), একটি একক HDMI পোর্ট, একটি মাইক্রো-USB পোর্ট, ৪০টি GPIO পিন, একটি র্যাস্পবেরি পাই ক্যamera মডিউলের জন্য ক্যamera সংযোগকারী, এবং একটি SD কার্ড স্লট রয়েছে। এটি ৬৫মিমি x ৩০মিমি x ৫মিমি মাপের এবং খুব কম শক্তি ব্যবহার করে। Zero-এর দাম US$৫, এবং WiFi সহ W সংস্করণের দাম US$১০।
+
+> 🎓 উভয়টির CPU-ই ARM প্রসেসর, যা বেশিরভাগ পিসি এবং ম্যাকে পাওয়া Intel/AMD x86 বা x64 প্রসেসরের বিপরীতে। এগুলি কিছু মাইক্রোকন্ট্রোলার, প্রায় সমস্ত মোবাইল ফোন, Microsoft Surface X এবং নতুন Apple Silicon ভিত্তিক Apple Mac-এ পাওয়া CPU-এর মতো।
+
+র্যাস্পবেরি পাই-এর সমস্ত ভেরিয়েন্ট একটি ডেবিয়ান লিনাক্স সংস্করণ চালায়, যার নাম র্যাস্পবেরি পাই OS। এটি একটি লাইট সংস্করণে উপলব্ধ, যেখানে কোনো ডেস্কটপ নেই, যা 'হেডলেস' প্রকল্পগুলির জন্য উপযুক্ত যেখানে স্ক্রিনের প্রয়োজন নেই, অথবা একটি পূর্ণ সংস্করণে একটি পূর্ণ ডেস্কটপ পরিবেশ সহ, ওয়েব ব্রাউজার, অফিস অ্যাপ্লিকেশন, কোডিং টুল এবং গেম সহ। যেহেতু OS একটি ডেবিয়ান লিনাক্স সংস্করণ, আপনি যেকোনো অ্যাপ্লিকেশন বা টুল ইনস্টল করতে পারেন যা ডেবিয়ানে চলে এবং পাই-এর ভিতরে থাকা ARM প্রসেসরের জন্য তৈরি।
+
+#### কাজ
+
+র্যাস্পবেরি পাই অন্বেষণ করুন।
+
+যদি আপনি এই পাঠগুলির জন্য একটি র্যাস্পবেরি পাই ব্যবহার করেন, তাহলে বোর্ডের বিভিন্ন হার্ডওয়্যার উপাদান সম্পর্কে পড়ুন।
+
+* [র্যাস্পবেরি পাই হার্ডওয়্যার ডকুমেন্টেশন পেজ](https://www.raspberrypi.org/documentation/hardware/raspberrypi
+### পেশাদার IoT প্রকল্পে সিঙ্গল-বোর্ড কম্পিউটারের ব্যবহার
+
+সিঙ্গল-বোর্ড কম্পিউটার শুধুমাত্র ডেভেলপার কিট হিসেবে নয়, পেশাদার IoT প্রকল্পেও ব্যবহৃত হয়। এগুলো হার্ডওয়্যার নিয়ন্ত্রণ এবং জটিল কাজ যেমন মেশিন লার্নিং মডেল চালানোর জন্য একটি শক্তিশালী উপায় প্রদান করতে পারে। উদাহরণস্বরূপ, [Raspberry Pi 4 compute module](https://www.raspberrypi.org/blog/raspberry-pi-compute-module-4/) একটি Raspberry Pi 4-এর সমস্ত ক্ষমতা সরবরাহ করে, তবে এটি একটি কমপ্যাক্ট এবং সস্তা ফর্ম ফ্যাক্টরে আসে, যেখানে বেশিরভাগ পোর্ট নেই এবং এটি কাস্টম হার্ডওয়্যারে ইনস্টল করার জন্য ডিজাইন করা হয়েছে।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+পূর্ববর্তী পাঠে চ্যালেঞ্জ ছিল আপনার বাড়ি, স্কুল বা কর্মস্থলে যত বেশি সম্ভব IoT ডিভাইসের তালিকা তৈরি করা। এই তালিকার প্রতিটি ডিভাইসের জন্য, আপনি কি মনে করেন সেগুলো মাইক্রোকন্ট্রোলার, সিঙ্গল-বোর্ড কম্পিউটার, নাকি উভয়ের মিশ্রণে তৈরি?
+
+## লেকচার-পরবর্তী কুইজ
+
+[লেকচার-পরবর্তী কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/4)
+
+## পর্যালোচনা ও স্ব-অধ্যয়ন
+
+* Arduino প্ল্যাটফর্ম সম্পর্কে আরও জানতে [Arduino getting started guide](https://www.arduino.cc/en/Guide/Introduction) পড়ুন।
+* Raspberry Pi সম্পর্কে আরও জানতে [introduction to the Raspberry Pi 4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) পড়ুন।
+* [Electrical Engineering Journal-এর "What the FAQ are CPUs, MPUs, MCUs, and GPUs" প্রবন্ধে](https://www.eejournal.com/article/what-the-faq-are-cpus-mpus-mcus-and-gpus/) CPU, MPU, MCU এবং GPU সম্পর্কিত ধারণা এবং সংক্ষিপ্ত রূপ সম্পর্কে আরও জানুন।
+
+✅ এই গাইডগুলো ব্যবহার করুন এবং [hardware guide](../../../hardware.md)-এ দেওয়া লিঙ্কগুলোর মাধ্যমে খরচ বিশ্লেষণ করে সিদ্ধান্ত নিন আপনি কোন হার্ডওয়্যার প্ল্যাটফর্ম ব্যবহার করতে চান, অথবা আপনি ভার্চুয়াল ডিভাইস ব্যবহার করতে চান কিনা।
+
+## অ্যাসাইনমেন্ট
+
+[মাইক্রোকন্ট্রোলার এবং সিঙ্গল-বোর্ড কম্পিউটারের তুলনা ও পার্থক্য](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/2-deeper-dive/assignment.md b/translations/bn/1-getting-started/lessons/2-deeper-dive/assignment.md
new file mode 100644
index 00000000..7a321c1a
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/2-deeper-dive/assignment.md
@@ -0,0 +1,26 @@
+
+# মাইক্রোকন্ট্রোলার এবং সিঙ্গল-বোর্ড কম্পিউটারের তুলনা এবং পার্থক্য
+
+## নির্দেশনা
+
+এই পাঠে মাইক্রোকন্ট্রোলার এবং সিঙ্গল-বোর্ড কম্পিউটার নিয়ে আলোচনা করা হয়েছে। একটি টেবিল তৈরি করুন যেখানে তাদের তুলনা এবং পার্থক্য তুলে ধরা হবে। অন্তত ২টি কারণ উল্লেখ করুন কেন আপনি মাইক্রোকন্ট্রোলার সিঙ্গল-বোর্ড কম্পিউটারের চেয়ে ব্যবহার করবেন এবং অন্তত ২টি কারণ উল্লেখ করুন কেন আপনি সিঙ্গল-বোর্ড কম্পিউটার মাইক্রোকন্ট্রোলারের চেয়ে ব্যবহার করবেন।
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| মাইক্রোকন্ট্রোলার এবং সিঙ্গল-বোর্ড কম্পিউটারের তুলনা করে টেবিল তৈরি করা | একাধিক আইটেম সঠিকভাবে তুলনা এবং পার্থক্য করে একটি তালিকা তৈরি করা হয়েছে | শুধুমাত্র কয়েকটি আইটেম নিয়ে একটি তালিকা তৈরি করা হয়েছে | শুধুমাত্র একটি আইটেম বা কোনো আইটেম তুলনা এবং পার্থক্য করতে সক্ষম হয়নি |
+| একটির চেয়ে অন্যটি ব্যবহারের কারণ | মাইক্রোকন্ট্রোলারের জন্য ২ বা তার বেশি কারণ এবং সিঙ্গল-বোর্ড কম্পিউটারের জন্য ২ বা তার বেশি কারণ প্রদান করতে সক্ষম হয়েছে | মাইক্রোকন্ট্রোলারের জন্য ১-২টি কারণ এবং সিঙ্গল-বোর্ড কম্পিউটারের জন্য ১-২টি কারণ প্রদান করতে সক্ষম হয়েছে | মাইক্রোকন্ট্রোলার বা সিঙ্গল-বোর্ড কম্পিউটারের জন্য ১টি বা তার বেশি কারণ প্রদান করতে ব্যর্থ হয়েছে |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/README.md
new file mode 100644
index 00000000..d1337656
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/README.md
@@ -0,0 +1,209 @@
+
+# সেন্সর এবং অ্যাকচুয়েটরের মাধ্যমে বাস্তব জগতের সাথে যোগাযোগ করুন
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [মাইক্রোসফট রিঅ্যাক্টর](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে [হ্যালো IoT সিরিজ](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) এর অংশ হিসেবে শেখানো হয়েছিল। এটি দুটি ভিডিওতে শেখানো হয়েছিল - একটি ১ ঘণ্টার পাঠ এবং একটি ১ ঘণ্টার অফিস আওয়ার যেখানে পাঠের বিভিন্ন অংশ বিশদে আলোচনা করা হয় এবং প্রশ্নের উত্তর দেওয়া হয়।
+
+[](https://youtu.be/Lqalu1v6aF4)
+
+[](https://youtu.be/qR3ekcMlLWA)
+
+> 🎥 উপরের ছবিগুলিতে ক্লিক করে ভিডিও দেখুন
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/5)
+
+## ভূমিকা
+
+এই পাঠে IoT ডিভাইসের জন্য দুটি গুরুত্বপূর্ণ ধারণা - সেন্সর এবং অ্যাকচুয়েটর - পরিচয় করানো হয়েছে। আপনি এগুলোর ব্যবহার শিখবেন এবং হাতে-কলমে কাজ করবেন। একটি লাইট সেন্সর আপনার IoT প্রজেক্টে যোগ করবেন এবং তারপর লাইট লেভেলের উপর ভিত্তি করে একটি LED নিয়ন্ত্রণ করবেন, কার্যত একটি নাইটলাইট তৈরি করবেন।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [সেন্সর কী?](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [সেন্সর ব্যবহার](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [সেন্সরের প্রকারভেদ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [অ্যাকচুয়েটর কী?](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [অ্যাকচুয়েটর ব্যবহার](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [অ্যাকচুয়েটরের প্রকারভেদ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+
+## সেন্সর কী?
+
+সেন্সর হলো হার্ডওয়্যার ডিভাইস যা বাস্তব জগতের বিভিন্ন বৈশিষ্ট্য পরিমাপ করে এবং IoT ডিভাইসে তথ্য পাঠায়। সেন্সর বিভিন্ন ধরণের হতে পারে কারণ অনেক কিছু পরিমাপ করা সম্ভব, যেমন প্রাকৃতিক বৈশিষ্ট্য (বায়ুর তাপমাত্রা) থেকে শারীরিক ক্রিয়া (আন্দোলন) পর্যন্ত।
+
+কিছু সাধারণ সেন্সর হলো:
+
+* তাপমাত্রা সেন্সর - এগুলো বায়ুর তাপমাত্রা বা যেখানে রাখা হয়েছে তার তাপমাত্রা পরিমাপ করে। শখের প্রকল্প বা ডেভেলপমেন্টের জন্য এগুলো প্রায়ই বায়ুর চাপ এবং আর্দ্রতার সাথে একত্রিত থাকে।
+* বোতাম - এগুলো বোঝে কখন চাপ দেওয়া হয়েছে।
+* লাইট সেন্সর - এগুলো আলোর মাত্রা শনাক্ত করে এবং নির্দিষ্ট রঙ, UV আলো, IR আলো বা সাধারণ দৃশ্যমান আলো শনাক্ত করতে পারে।
+* ক্যামেরা - এগুলো ছবি তোলা বা ভিডিও স্ট্রিমিংয়ের মাধ্যমে বাস্তব জগতের ভিজ্যুয়াল উপস্থাপনা শনাক্ত করে।
+* অ্যাক্সিলরোমিটার - এগুলো বিভিন্ন দিকের আন্দোলন শনাক্ত করে।
+* মাইক্রোফোন - এগুলো শব্দ শনাক্ত করে, হয় সাধারণ শব্দের মাত্রা বা নির্দিষ্ট দিকের শব্দ।
+
+✅ গবেষণা করুন। আপনার ফোনে কী কী সেন্সর রয়েছে?
+
+সব সেন্সরের একটি সাধারণ বৈশিষ্ট্য হলো - এগুলো যা শনাক্ত করে তা একটি বৈদ্যুতিক সংকেতে রূপান্তরিত করে যা IoT ডিভাইস দ্বারা ব্যাখ্যা করা যায়। এই বৈদ্যুতিক সংকেত কীভাবে ব্যাখ্যা করা হয় তা সেন্সর এবং IoT ডিভাইসের সাথে যোগাযোগের প্রোটোকলের উপর নির্ভর করে।
+
+## সেন্সর ব্যবহার
+
+নিচের গাইড অনুসরণ করে আপনার IoT ডিভাইসে একটি সেন্সর যোগ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-sensor.md)
+* [সিঙ্গল-বোর্ড কম্পিউটার - Raspberry Pi](pi-sensor.md)
+* [সিঙ্গল-বোর্ড কম্পিউটার - ভার্চুয়াল ডিভাইস](virtual-device-sensor.md)
+
+## সেন্সরের প্রকারভেদ
+
+সেন্সর হয় অ্যানালগ বা ডিজিটাল।
+
+### অ্যানালগ সেন্সর
+
+সবচেয়ে সাধারণ সেন্সরগুলোর মধ্যে কিছু হলো অ্যানালগ সেন্সর। এগুলো IoT ডিভাইস থেকে একটি ভোল্টেজ পায়, সেন্সরের উপাদানগুলো এই ভোল্টেজ সামঞ্জস্য করে, এবং সেন্সর থেকে যে ভোল্টেজ ফেরত আসে তা পরিমাপ করে সেন্সরের মান নির্ধারণ করা হয়।
+
+> 🎓 ভোল্টেজ হলো বিদ্যুৎ প্রবাহিত করার জন্য কতটা চাপ প্রয়োগ করা হচ্ছে তার একটি পরিমাপ। উদাহরণস্বরূপ, একটি স্ট্যান্ডার্ড AA ব্যাটারি ১.৫V (V হলো ভোল্টের প্রতীক) এবং এটি ১.৫V চাপ দিয়ে বিদ্যুৎ প্রবাহিত করতে পারে। বিভিন্ন বৈদ্যুতিক হার্ডওয়্যারের কাজ করার জন্য বিভিন্ন ভোল্টেজ প্রয়োজন। উদাহরণস্বরূপ, একটি LED ২-৩V এ জ্বলে উঠতে পারে, কিন্তু একটি ১০০W ফিলামেন্ট লাইটবাল্বের জন্য ২৪০V প্রয়োজন। ভোল্টেজ সম্পর্কে আরও জানতে [ভোল্টেজ পৃষ্ঠাটি উইকিপিডিয়ায়](https://wikipedia.org/wiki/Voltage) পড়ুন।
+
+একটি উদাহরণ হলো পোটেনশিওমিটার। এটি একটি ডায়াল যা দুটি অবস্থানের মধ্যে ঘোরানো যায় এবং সেন্সর ঘূর্ণনের পরিমাণ পরিমাপ করে।
+
+
+
+IoT ডিভাইস পোটেনশিওমিটারে একটি নির্দিষ্ট ভোল্টেজ (যেমন ৫ ভোল্ট) পাঠায়। পোটেনশিওমিটার সামঞ্জস্য করার সময় এটি যে ভোল্টেজ ফেরত দেয় তা পরিবর্তিত হয়। ধরুন আপনার কাছে একটি পোটেনশিওমিটার রয়েছে যা ০ থেকে [১১](https://wikipedia.org/wiki/Up_to_eleven) পর্যন্ত লেবেল করা, যেমন একটি অ্যাম্প্লিফায়ারের ভলিউম নোব। যখন পোটেনশিওমিটার সম্পূর্ণ বন্ধ অবস্থানে থাকে (০), তখন ০V (০ ভোল্ট) ফেরত আসে। যখন এটি সম্পূর্ণ চালু অবস্থানে থাকে (১১), তখন ৫V (৫ ভোল্ট) ফেরত আসে।
+
+> 🎓 এটি একটি সরলীকরণ, এবং আপনি পোটেনশিওমিটার এবং ভেরিয়েবল রেজিস্টর সম্পর্কে আরও পড়তে পারেন [পোটেনশিওমিটার উইকিপিডিয়া পৃষ্ঠায়](https://wikipedia.org/wiki/Potentiometer)।
+
+সেন্সর থেকে যে ভোল্টেজ ফেরত আসে তা IoT ডিভাইস দ্বারা পড়া হয় এবং ডিভাইসটি এর উপর ভিত্তি করে প্রতিক্রিয়া জানায়। সেন্সরের উপর নির্ভর করে, এই ভোল্টেজ একটি স্বতঃসিদ্ধ মান হতে পারে বা একটি স্ট্যান্ডার্ড ইউনিটে রূপান্তরিত হতে পারে। উদাহরণস্বরূপ, একটি অ্যানালগ তাপমাত্রা সেন্সর যা একটি [থার্মিস্টর](https://wikipedia.org/wiki/Thermistor) ভিত্তিক, এটি তাপমাত্রার উপর নির্ভর করে এর রেজিস্ট্যান্স পরিবর্তন করে। আউটপুট ভোল্টেজ কোডে গণনার মাধ্যমে কেলভিন, সেলসিয়াস বা ফারেনহাইটে রূপান্তরিত হতে পারে।
+
+✅ আপনার কী মনে হয় যদি সেন্সর প্রেরিত ভোল্টেজের চেয়ে বেশি ভোল্টেজ ফেরত দেয় (যেমন একটি বাহ্যিক পাওয়ার সাপ্লাই থেকে)? ⛔️ এটি পরীক্ষা করবেন না।
+
+#### অ্যানালগ থেকে ডিজিটাল রূপান্তর
+
+IoT ডিভাইসগুলো ডিজিটাল - এগুলো অ্যানালগ মান নিয়ে কাজ করতে পারে না, শুধুমাত্র ০ এবং ১ নিয়ে কাজ করতে পারে। এজন্য অ্যানালগ সেন্সরের মান ডিজিটাল সংকেতে রূপান্তরিত করতে হয়। অনেক IoT ডিভাইসে অ্যানালগ-টু-ডিজিটাল কনভার্টার (ADC) থাকে যা অ্যানালগ ইনপুটকে ডিজিটাল মানে রূপান্তর করে। সেন্সরগুলো একটি সংযোগ বোর্ডের মাধ্যমে ADC এর সাথে কাজ করতে পারে।
+
+### ডিজিটাল সেন্সর
+
+ডিজিটাল সেন্সরগুলো অ্যানালগ সেন্সরের মতোই কাজ করে, তবে এগুলো সরাসরি ডিজিটাল সংকেত আউটপুট করে। এগুলো হয় দুটি অবস্থা পরিমাপ করে বা একটি বিল্ট-ইন ADC ব্যবহার করে।
+
+সবচেয়ে সহজ ডিজিটাল সেন্সর হলো একটি বোতাম বা সুইচ। এটি একটি সেন্সর যার দুটি অবস্থা রয়েছে - চালু বা বন্ধ।
+
+## অ্যাকচুয়েটর কী?
+
+অ্যাকচুয়েটর হলো সেন্সরের বিপরীত - এগুলো IoT ডিভাইস থেকে একটি বৈদ্যুতিক সংকেত গ্রহণ করে এবং বাস্তব জগতের সাথে একটি মিথস্ক্রিয়া তৈরি করে, যেমন আলো বা শব্দ নির্গমন করা বা একটি মোটর চালানো।
+
+কিছু সাধারণ অ্যাকচুয়েটর হলো:
+
+* LED - এগুলো চালু হলে আলো নির্গমন করে
+* স্পিকার - এগুলো সংকেতের উপর ভিত্তি করে শব্দ নির্গমন করে
+* স্টেপার মোটর - এগুলো একটি নির্দিষ্ট পরিমাণ ঘূর্ণন তৈরি করে
+* রিলে - এগুলো একটি বৈদ্যুতিক সংকেত দ্বারা চালু বা বন্ধ করা যায়
+* স্ক্রিন - এগুলো আরও জটিল অ্যাকচুয়েটর এবং তথ্য প্রদর্শন করে
+
+✅ গবেষণা করুন। আপনার ফোনে কী কী অ্যাকচুয়েটর রয়েছে?
+
+## অ্যাকচুয়েটর ব্যবহার
+
+নিচের গাইড অনুসরণ করে একটি অ্যাকচুয়েটর যোগ করুন এবং সেন্সরের মাধ্যমে এটি নিয়ন্ত্রণ করুন। এটি লাইট সেন্সর থেকে লাইট লেভেল সংগ্রহ করবে এবং একটি LED ব্যবহার করে আলো নির্গমন করবে যখন লাইট লেভেল খুব কম হবে।
+
+
+
+* [Arduino - Wio Terminal](wio-terminal-actuator.md)
+* [সিঙ্গল-বোর্ড কম্পিউটার - Raspberry Pi](pi-actuator.md)
+* [সিঙ্গল-বোর্ড কম্পিউটার - ভার্চুয়াল ডিভাইস](virtual-device-actuator.md)
+
+## অ্যাকচুয়েটরের প্রকারভেদ
+
+সেন্সরের মতো, অ্যাকচুয়েটরও অ্যানালগ বা ডিজিটাল হতে পারে।
+
+### অ্যানালগ অ্যাকচুয়েটর
+
+অ্যানালগ অ্যাকচুয়েটর একটি অ্যানালগ সংকেত গ্রহণ করে এবং এটি একটি মিথস্ক্রিয়ায় রূপান্তরিত করে, যেখানে মিথস্ক্রিয়াটি সরবরাহকৃত ভোল্টেজের উপর নির্ভর করে পরিবর্তিত হয়।
+
+একটি উদাহরণ হলো একটি ডিমেবল লাইট, যেমন আপনার বাড়িতে থাকতে পারে। আলো কতটা উজ্জ্বল হবে তা নির্ধারণ করে সরবরাহকৃত ভোল্টেজ।
+
+
+সেন্সরের মতো, আসল IoT ডিভাইস ডিজিটাল সিগনালে কাজ করে, অ্যানালগে নয়। এর মানে, অ্যানালগ সিগনাল পাঠাতে হলে IoT ডিভাইসের একটি ডিজিটাল টু অ্যানালগ কনভার্টার (DAC) প্রয়োজন, যা হয় সরাসরি IoT ডিভাইসে থাকে, অথবা একটি সংযোগ বোর্ডে। এটি IoT ডিভাইসের 0 এবং 1-কে একটি অ্যানালগ ভোল্টেজে রূপান্তর করবে যা অ্যাকচুয়েটর ব্যবহার করতে পারে।
+
+✅ আপনার কী মনে হয়, যদি IoT ডিভাইস এমন একটি ভোল্টেজ পাঠায় যা অ্যাকচুয়েটর সামলাতে পারে না, তাহলে কী হবে?
+⛔️ এটি পরীক্ষা করবেন না।
+
+#### পালস-উইথ মড্যুলেশন
+
+IoT ডিভাইস থেকে ডিজিটাল সিগনালকে অ্যানালগ সিগনালে রূপান্তর করার আরেকটি পদ্ধতি হলো পালস-উইথ মড্যুলেশন (PWM)। এটি অনেক ছোট ছোট ডিজিটাল পালস পাঠানোর মাধ্যমে কাজ করে, যা অ্যানালগ সিগনালের মতো আচরণ করে।
+
+উদাহরণস্বরূপ, আপনি PWM ব্যবহার করে একটি মোটরের গতি নিয়ন্ত্রণ করতে পারেন।
+
+ধরুন আপনি একটি 5V সরবরাহ দিয়ে একটি মোটর নিয়ন্ত্রণ করছেন। আপনি আপনার মোটরে একটি ছোট পালস পাঠান, ভোল্টেজকে 0.02 সেকেন্ডের জন্য (0.02s) উচ্চ (5V) অবস্থায় নিয়ে যান। এই সময়ে আপনার মোটর এক দশমাংশ ঘূর্ণন বা 36° ঘুরতে পারে। তারপর সিগনাল 0.02 সেকেন্ডের জন্য বিরতি দেয়, একটি নিম্ন সিগনাল (0V) পাঠায়। অন এবং অফ-এর প্রতিটি চক্র 0.04 সেকেন্ড স্থায়ী হয়। এই চক্রটি পুনরাবৃত্তি হয়।
+
+
+
+এর মানে এক সেকেন্ডে আপনি 25টি 5V পালস পাঠান, প্রতিটি 0.02 সেকেন্ড স্থায়ী হয়, যা মোটরকে ঘোরায়, এবং প্রতিটি পালসের পরে 0.02 সেকেন্ডের বিরতি থাকে যেখানে মোটর ঘোরে না। প্রতিটি পালস মোটরকে এক দশমাংশ ঘোরায়, যার ফলে মোটর প্রতি সেকেন্ডে 2.5 বার ঘোরে। আপনি একটি ডিজিটাল সিগনাল ব্যবহার করে মোটরকে প্রতি সেকেন্ডে 2.5 বার বা 150 [রেভলিউশন পার মিনিট](https://wikipedia.org/wiki/Revolutions_per_minute) (RPM) গতিতে ঘোরাতে সক্ষম হয়েছেন।
+
+```output
+25 pulses per second x 0.1 rotations per pulse = 2.5 rotations per second
+2.5 rotations per second x 60 seconds in a minute = 150rpm
+```
+
+> 🎓 যখন একটি PWM সিগনাল অর্ধেক সময় অন এবং অর্ধেক সময় অফ থাকে, তখন এটিকে [50% ডিউটি সাইকেল](https://wikipedia.org/wiki/Duty_cycle) বলা হয়। ডিউটি সাইকেলকে সিগনাল অন অবস্থায় থাকা সময়ের শতাংশ হিসেবে মাপা হয়।
+
+
+
+আপনি পালসের আকার পরিবর্তন করে মোটরের গতি নিয়ন্ত্রণ করতে পারেন। উদাহরণস্বরূপ, একই মোটরের ক্ষেত্রে আপনি চক্রের সময় 0.04 সেকেন্ডই রাখতে পারেন, তবে অন পালসকে অর্ধেক করে 0.01 সেকেন্ড করতে পারেন এবং অফ পালসকে 0.03 সেকেন্ডে বাড়াতে পারেন। প্রতি সেকেন্ডে পালসের সংখ্যা একই থাকে (25), তবে প্রতিটি অন পালসের দৈর্ঘ্য অর্ধেক হয়। একটি অর্ধেক দৈর্ঘ্যের পালস মোটরকে এক বিশমাংশ ঘোরায়, এবং প্রতি সেকেন্ডে 25টি পালস মোটরকে 1.25 বার ঘোরায় বা 75 RPM। একটি ডিজিটাল সিগনালের পালসের গতি পরিবর্তন করে আপনি একটি অ্যানালগ মোটরের গতি অর্ধেক করে ফেলেছেন।
+
+```output
+25 pulses per second x 0.05 rotations per pulse = 1.25 rotations per second
+1.25 rotations per second x 60 seconds in a minute = 75rpm
+```
+
+✅ আপনি কীভাবে মোটরের ঘূর্ণন মসৃণ রাখবেন, বিশেষ করে কম গতিতে? আপনি কি দীর্ঘ বিরতির সাথে কয়েকটি দীর্ঘ পালস ব্যবহার করবেন, নাকি খুব ছোট বিরতির সাথে অনেক ছোট পালস ব্যবহার করবেন?
+
+> 💁 কিছু সেন্সরও অ্যানালগ সিগনালকে ডিজিটালে রূপান্তর করতে PWM ব্যবহার করে।
+
+> 🎓 আপনি PWM সম্পর্কে আরও পড়তে পারেন [উইকিপিডিয়ার পালস-উইথ মড্যুলেশন পৃষ্ঠায়](https://wikipedia.org/wiki/Pulse-width_modulation)।
+
+### ডিজিটাল অ্যাকচুয়েটর
+
+ডিজিটাল অ্যাকচুয়েটর, ডিজিটাল সেন্সরের মতো, হয় উচ্চ বা নিম্ন ভোল্টেজ দ্বারা নিয়ন্ত্রিত দুটি অবস্থায় থাকে, অথবা একটি DAC অন্তর্ভুক্ত থাকে যা ডিজিটাল সিগনালকে অ্যানালগে রূপান্তর করতে পারে।
+
+একটি সাধারণ ডিজিটাল অ্যাকচুয়েটর হলো LED। যখন একটি ডিভাইস 1-এর ডিজিটাল সিগনাল পাঠায়, তখন একটি উচ্চ ভোল্টেজ পাঠানো হয় যা LED-কে জ্বালায়। যখন 0-এর ডিজিটাল সিগনাল পাঠানো হয়, তখন ভোল্টেজ 0V-এ নেমে যায় এবং LED বন্ধ হয়ে যায়।
+
+
+
+✅ আপনি আর কী কী সাধারণ ২-অবস্থার অ্যাকচুয়েটরের কথা ভাবতে পারেন? একটি উদাহরণ হলো সোলেনয়েড, যা একটি ইলেক্ট্রোম্যাগনেট যা দরজার বোল্ট লক/আনলক করার মতো কাজ করতে সক্রিয় করা যায়।
+
+আরও উন্নত ডিজিটাল অ্যাকচুয়েটর, যেমন স্ক্রিন, নির্দিষ্ট ফরম্যাটে ডিজিটাল ডেটা পাঠানোর প্রয়োজন হয়। এগুলো সাধারণত এমন লাইব্রেরি নিয়ে আসে যা সেগুলো নিয়ন্ত্রণের জন্য সঠিক ডেটা পাঠানো সহজ করে তোলে।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+শেষ দুটি পাঠে চ্যালেঞ্জ ছিল আপনার বাড়ি, স্কুল বা কর্মক্ষেত্রে যত বেশি IoT ডিভাইস সম্ভব তালিকাভুক্ত করা এবং সেগুলো মাইক্রোকন্ট্রোলার বা সিঙ্গেল-বোর্ড কম্পিউটার, অথবা উভয়ের মিশ্রণে তৈরি কিনা তা নির্ধারণ করা।
+
+আপনার তালিকাভুক্ত প্রতিটি ডিভাইসের জন্য, সেগুলো কোন সেন্সর এবং অ্যাকচুয়েটরের সাথে সংযুক্ত? এই ডিভাইসগুলোর সাথে সংযুক্ত প্রতিটি সেন্সর এবং অ্যাকচুয়েটরের উদ্দেশ্য কী?
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/6)
+
+## পুনরায় পর্যালোচনা এবং স্ব-অধ্যয়ন
+
+* [থিংলার্ন](http://thinglearn.jenlooper.com/curriculum/) থেকে বিদ্যুৎ এবং সার্কিট সম্পর্কে পড়ুন।
+* [সিড স্টুডিওস টেম্পারেচার সেন্সর গাইড](https://www.seeedstudio.com/blog/2019/10/14/temperature-sensors-for-arduino-projects/) থেকে বিভিন্ন ধরনের তাপমাত্রা সেন্সর সম্পর্কে পড়ুন।
+* [উইকিপিডিয়ার LED পৃষ্ঠা](https://wikipedia.org/wiki/Light-emitting_diode) থেকে LED সম্পর্কে পড়ুন।
+
+## অ্যাসাইনমেন্ট
+
+[সেন্সর এবং অ্যাকচুয়েটর নিয়ে গবেষণা করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/assignment.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/assignment.md
new file mode 100644
index 00000000..71809c78
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/assignment.md
@@ -0,0 +1,31 @@
+
+# গবেষণা সেন্সর এবং অ্যাকচুয়েটর
+
+## নির্দেশনা
+
+এই পাঠে সেন্সর এবং অ্যাকচুয়েটর নিয়ে আলোচনা করা হয়েছে। একটি IoT ডেভ কিটের সাথে ব্যবহারযোগ্য একটি সেন্সর এবং একটি অ্যাকচুয়েটর নিয়ে গবেষণা করুন এবং বর্ণনা করুন, যার মধ্যে অন্তর্ভুক্ত:
+
+* এটি কী কাজ করে
+* এর ভিতরে ব্যবহৃত ইলেকট্রনিক্স/হার্ডওয়্যার
+* এটি অ্যানালগ না ডিজিটাল
+* এর ইনপুট বা পরিমাপের একক এবং পরিসীমা কী
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| একটি সেন্সর বর্ণনা করুন | একটি সেন্সর বর্ণনা করা হয়েছে এবং উপরে তালিকাভুক্ত ৪টি বিভাগের জন্য বিস্তারিত প্রদান করা হয়েছে। | একটি সেন্সর বর্ণনা করা হয়েছে, তবে উপরের ৪টি বিভাগের মধ্যে শুধুমাত্র ২-৩টি প্রদান করা হয়েছে। | একটি সেন্সর বর্ণনা করা হয়েছে, তবে উপরের ৪টি বিভাগের মধ্যে শুধুমাত্র ১টি প্রদান করা হয়েছে। |
+| একটি অ্যাকচুয়েটর বর্ণনা করুন | একটি অ্যাকচুয়েটর বর্ণনা করা হয়েছে এবং উপরে তালিকাভুক্ত ৪টি বিভাগের জন্য বিস্তারিত প্রদান করা হয়েছে। | একটি অ্যাকচুয়েটর বর্ণনা করা হয়েছে, তবে উপরের ৪টি বিভাগের মধ্যে শুধুমাত্র ২-৩টি প্রদান করা হয়েছে। | একটি অ্যাকচুয়েটর বর্ণনা করা হয়েছে, তবে উপরের ৪টি বিভাগের মধ্যে শুধুমাত্র ১টি প্রদান করা হয়েছে। |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md
new file mode 100644
index 00000000..6df3a104
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md
@@ -0,0 +1,130 @@
+
+# নাইটলাইট তৈরি করুন - রাস্পবেরি পাই
+
+এই পাঠের অংশে, আপনি আপনার রাস্পবেরি পাইতে একটি LED যোগ করবেন এবং এটি ব্যবহার করে একটি নাইটলাইট তৈরি করবেন।
+
+## হার্ডওয়্যার
+
+নাইটলাইটের এখন একটি অ্যাকচুয়েটর প্রয়োজন।
+
+অ্যাকচুয়েটরটি একটি **LED**, একটি [লাইট-এমিটিং ডায়োড](https://wikipedia.org/wiki/Light-emitting_diode) যা কারেন্ট প্রবাহিত হলে আলো দেয়। এটি একটি ডিজিটাল অ্যাকচুয়েটর যার দুটি অবস্থা রয়েছে, চালু এবং বন্ধ। একটি মান 1 পাঠালে LED চালু হয়, এবং 0 পাঠালে এটি বন্ধ হয়। LED একটি বাহ্যিক Grove অ্যাকচুয়েটর এবং এটি রাস্পবেরি পাইয়ের Grove Base হ্যাটে সংযুক্ত করতে হবে।
+
+নাইটলাইটের লজিকের ছদ্ম-কোড:
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### LED সংযুক্ত করুন
+
+Grove LED একটি মডিউল হিসেবে আসে যেখানে বিভিন্ন রঙের LED থাকে, যা আপনাকে রঙ বেছে নেওয়ার সুযোগ দেয়।
+
+#### কাজ - LED সংযুক্ত করুন
+
+LED সংযুক্ত করুন।
+
+
+
+1. আপনার পছন্দের LED বেছে নিন এবং LED মডিউলের দুটি ছিদ্রে পা ঢোকান।
+
+ LED হলো লাইট-এমিটিং ডায়োড, এবং ডায়োড হলো ইলেকট্রনিক ডিভাইস যা শুধুমাত্র একদিকে কারেন্ট বহন করতে পারে। এর মানে LED সঠিকভাবে সংযুক্ত না হলে কাজ করবে না।
+
+ LED-এর একটি পা হলো পজিটিভ পিন, অন্যটি নেগেটিভ পিন। LED পুরোপুরি গোল নয় এবং একপাশে সামান্য চ্যাপ্টা। চ্যাপ্টা পাশটি হলো নেগেটিভ পিন। LED মডিউলে সংযুক্ত করার সময়, নিশ্চিত করুন যে গোল পাশের পিনটি মডিউলের বাইরের দিকে **+** চিহ্নিত সকেটে সংযুক্ত এবং চ্যাপ্টা পাশটি মডিউলের মাঝের দিকে থাকা সকেটে সংযুক্ত।
+
+1. LED মডিউলে একটি স্পিন বোতাম রয়েছে যা আপনাকে উজ্জ্বলতা নিয়ন্ত্রণ করতে দেয়। প্রথমে এটি সম্পূর্ণভাবে ঘুরিয়ে দিন, ছোট ফিলিপস হেড স্ক্রু ড্রাইভার ব্যবহার করে এটিকে যতটা সম্ভব ঘড়ির বিপরীত দিকে ঘুরিয়ে।
+
+1. Grove কেবলের এক প্রান্ত LED মডিউলের সকেটে ঢোকান। এটি শুধুমাত্র একদিকে ঢুকবে।
+
+1. রাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base হ্যাটে সংযুক্ত **D5** চিহ্নিত ডিজিটাল সকেটে সংযুক্ত করুন। এই সকেটটি GPIO পিনের পাশে থাকা সকেটের সারিতে বাম দিক থেকে দ্বিতীয়।
+
+
+
+## নাইটলাইট প্রোগ্রাম করুন
+
+এখন Grove লাইট সেন্সর এবং Grove LED ব্যবহার করে নাইটলাইট প্রোগ্রাম করা যাবে।
+
+### কাজ - নাইটলাইট প্রোগ্রাম করুন
+
+নাইটলাইট প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং এটি বুট হওয়ার জন্য অপেক্ষা করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছেন, হয় সরাসরি পাইতে চালিয়ে বা Remote SSH এক্সটেনশন ব্যবহার করে সংযুক্ত হয়ে।
+
+1. `app.py` ফাইলে নিচের কোডটি যোগ করুন একটি প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করতে। এটি অন্যান্য `import` লাইনের নিচে, শীর্ষে যোগ করা উচিত।
+
+ ```python
+ from grove.grove_led import GroveLed
+ ```
+
+ `from grove.grove_led import GroveLed` স্টেটমেন্টটি Grove Python লাইব্রেরি থেকে `GroveLed` ইমপোর্ট করে। এই লাইব্রেরিতে Grove LED-এর সাথে ইন্টারঅ্যাক্ট করার কোড রয়েছে।
+
+1. `light_sensor` ঘোষণার পরে নিচের কোডটি যোগ করুন LED পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করতে:
+
+ ```python
+ led = GroveLed(5)
+ ```
+
+ `led = GroveLed(5)` লাইনটি **D5** পিনে সংযুক্ত LED-এর জন্য `GroveLed` ক্লাসের একটি ইনস্ট্যান্স তৈরি করে - ডিজিটাল Grove পিন যেখানে LED সংযুক্ত।
+
+ > 💁 সকেটগুলোর প্রতিটি ইউনিক পিন নম্বর রয়েছে। পিন 0, 2, 4, এবং 6 হলো অ্যানালগ পিন, পিন 5, 16, 18, 22, 24, এবং 26 হলো ডিজিটাল পিন।
+
+1. `while` লুপের ভিতরে এবং `time.sleep` এর আগে একটি চেক যোগ করুন লাইট লেভেল পরীক্ষা করতে এবং LED চালু বা বন্ধ করতে:
+
+ ```python
+ if light < 300:
+ led.on()
+ else:
+ led.off()
+ ```
+
+ এই কোডটি `light` মান পরীক্ষা করে। যদি এটি 300-এর কম হয়, তাহলে এটি `GroveLed` ক্লাসের `on` মেথড কল করে যা LED-তে একটি ডিজিটাল মান 1 পাঠায়, LED চালু করে। যদি লাইট মান 300 বা তার বেশি হয়, এটি `off` মেথড কল করে, LED-তে একটি ডিজিটাল মান 0 পাঠায়, LED বন্ধ করে।
+
+ > 💁 এই কোডটি `print('Light level:', light)` লাইনের মতো একই স্তরে ইনডেন্ট করা উচিত যাতে এটি `while` লুপের ভিতরে থাকে!
+
+ > 💁 অ্যাকচুয়েটরে ডিজিটাল মান পাঠানোর সময়, 0 মানটি 0V এবং 1 মানটি ডিভাইসের সর্বোচ্চ ভোল্টেজ। রাস্পবেরি পাইয়ের Grove সেন্সর এবং অ্যাকচুয়েটরের জন্য, 1 ভোল্টেজ হলো 3.3V।
+
+1. VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান আপনার Python অ্যাপ চালানোর জন্য:
+
+ ```sh
+ python3 app.py
+ ```
+
+ লাইট মানগুলো কনসোলে আউটপুট হবে।
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Light level: 634
+ Light level: 634
+ Light level: 634
+ Light level: 230
+ Light level: 104
+ Light level: 290
+ ```
+
+1. লাইট সেন্সরটি ঢেকে এবং খুলে দেখুন। লক্ষ্য করুন LEDটি লাইট লেভেল 300 বা কম হলে জ্বলে উঠবে এবং লাইট লেভেল 300-এর বেশি হলে বন্ধ হয়ে যাবে।
+
+ > 💁 যদি LED চালু না হয়, নিশ্চিত করুন এটি সঠিকভাবে সংযুক্ত এবং স্পিন বোতামটি সম্পূর্ণ চালু অবস্থায় রয়েছে।
+
+
+
+> 💁 আপনি এই কোডটি [code-actuator/pi](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md
new file mode 100644
index 00000000..67bdd0f7
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md
@@ -0,0 +1,110 @@
+
+# একটি নাইটলাইট তৈরি করুন - রাস্পবেরি পাই
+
+এই পাঠের অংশে, আপনি আপনার রাস্পবেরি পাইতে একটি লাইট সেন্সর যোগ করবেন।
+
+## হার্ডওয়্যার
+
+এই পাঠের জন্য সেন্সরটি একটি **লাইট সেন্সর**, যা একটি [ফটোডায়োড](https://wikipedia.org/wiki/Photodiode) ব্যবহার করে আলোকে বৈদ্যুতিক সংকেতে রূপান্তর করে। এটি একটি অ্যানালগ সেন্সর যা ০ থেকে ১,০০০ পর্যন্ত একটি পূর্ণসংখ্যা মান পাঠায়, যা আলো পরিমাপের কোনো মানক এককের (যেমন [লাক্স](https://wikipedia.org/wiki/Lux)) সাথে সম্পর্কিত নয়।
+
+লাইট সেন্সরটি একটি বাহ্যিক Grove সেন্সর এবং এটি রাস্পবেরি পাইয়ের Grove Base হ্যাটের সাথে সংযুক্ত করতে হবে।
+
+### লাইট সেন্সর সংযুক্ত করুন
+
+আলো স্তর সনাক্ত করার জন্য ব্যবহৃত Grove লাইট সেন্সরটি রাস্পবেরি পাইয়ের সাথে সংযুক্ত করতে হবে।
+
+#### কাজ - লাইট সেন্সর সংযুক্ত করুন
+
+লাইট সেন্সর সংযুক্ত করুন
+
+
+
+1. Grove কেবলের এক প্রান্ত লাইট সেন্সর মডিউলের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. রাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base হ্যাটের **A0** নামে চিহ্নিত অ্যানালগ সকেটে সংযুক্ত করুন। এই সকেটটি GPIO পিনের পাশে থাকা সকেটের সারিতে ডান দিক থেকে দ্বিতীয়।
+
+
+
+## লাইট সেন্সর প্রোগ্রাম করুন
+
+এখন ডিভাইসটি Grove লাইট সেন্সর ব্যবহার করে প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - লাইট সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং বুট হওয়ার জন্য অপেক্ষা করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছেন, হয় সরাসরি পাইতে চালানো হচ্ছে অথবা Remote SSH এক্সটেনশন ব্যবহার করে সংযুক্ত।
+
+1. `app.py` ফাইলটি খুলুন এবং এর সমস্ত কোড মুছে ফেলুন।
+
+1. `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন কিছু প্রয়োজনীয় লাইব্রেরি আমদানি করতে:
+
+ ```python
+ import time
+ from grove.grove_light_sensor_v1_2 import GroveLightSensor
+ ```
+
+ `import time` স্টেটমেন্টটি `time` মডিউল আমদানি করে, যা এই অ্যাসাইনমেন্টে পরে ব্যবহৃত হবে।
+
+ `from grove.grove_light_sensor_v1_2 import GroveLightSensor` স্টেটমেন্টটি Grove Python লাইব্রেরি থেকে `GroveLightSensor` আমদানি করে। এই লাইব্রেরিতে Grove লাইট সেন্সরের সাথে ইন্টারঅ্যাক্ট করার কোড রয়েছে এবং এটি পাই সেটআপের সময় গ্লোবালি ইনস্টল করা হয়েছিল।
+
+1. উপরের কোডের পরে নিম্নলিখিত কোড যোগ করুন, যা লাইট সেন্সর পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করে:
+
+ ```python
+ light_sensor = GroveLightSensor(0)
+ ```
+
+ `light_sensor = GroveLightSensor(0)` লাইনটি **A0** পিনে সংযুক্ত GroveLightSensor ক্লাসের একটি ইনস্ট্যান্স তৈরি করে - অ্যানালগ Grove পিন যেখানে লাইট সেন্সর সংযুক্ত রয়েছে।
+
+1. উপরের কোডের পরে একটি অনন্ত লুপ যোগ করুন, যা লাইট সেন্সরের মান পরীক্ষা করে এবং কনসোলে প্রিন্ট করে:
+
+ ```python
+ while True:
+ light = light_sensor.light
+ print('Light level:', light)
+ ```
+
+ এটি `GroveLightSensor` ক্লাসের `light` প্রপার্টি ব্যবহার করে ০-১,০২৩ স্কেলে বর্তমান আলো স্তর পড়বে। এই প্রপার্টি পিন থেকে অ্যানালগ মান পড়ে। এই মানটি পরে কনসোলে প্রিন্ট করা হয়।
+
+1. লুপের শেষে এক সেকেন্ডের একটি ছোট বিরতি যোগ করুন, কারণ আলো স্তর ক্রমাগত পরীক্ষা করার প্রয়োজন নেই। একটি বিরতি ডিভাইসের শক্তি খরচ কমায়।
+
+ ```python
+ time.sleep(1)
+ ```
+
+1. VS Code টার্মিনাল থেকে, আপনার Python অ্যাপ চালানোর জন্য নিম্নলিখিতটি চালান:
+
+ ```sh
+ python3 app.py
+ ```
+
+ আলো মানগুলি কনসোলে আউটপুট হবে। লাইট সেন্সরটি ঢেকে রাখুন এবং খুলুন, এবং মানগুলি পরিবর্তিত হবে:
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Light level: 634
+ Light level: 634
+ Light level: 634
+ Light level: 230
+ Light level: 104
+ Light level: 290
+ ```
+
+> 💁 আপনি এই কোডটি [code-sensor/pi](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রামে একটি সেন্সর যোগ করা সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md
new file mode 100644
index 00000000..99c37a80
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md
@@ -0,0 +1,124 @@
+
+# একটি নাইটলাইট তৈরি করুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি LED যোগ করবেন এবং এটি ব্যবহার করে একটি নাইটলাইট তৈরি করবেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+নাইটলাইটের জন্য একটি অ্যাকচুয়েটর প্রয়োজন, যা CounterFit অ্যাপে তৈরি করা হবে।
+
+অ্যাকচুয়েটরটি একটি **LED**। একটি বাস্তব IoT ডিভাইসে, এটি একটি [লাইট-এমিটিং ডায়োড](https://wikipedia.org/wiki/Light-emitting_diode) হবে যা বিদ্যুৎ প্রবাহিত হলে আলো নির্গত করে। এটি একটি ডিজিটাল অ্যাকচুয়েটর যার দুটি অবস্থা রয়েছে, চালু এবং বন্ধ। একটি মান 1 পাঠালে LED চালু হয়, এবং 0 পাঠালে এটি বন্ধ হয়।
+
+নাইটলাইটের লজিকের ছদ্ম-কোড:
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### CounterFit-এ অ্যাকচুয়েটর যোগ করুন
+
+একটি ভার্চুয়াল LED ব্যবহার করতে, আপনাকে এটি CounterFit অ্যাপে যোগ করতে হবে।
+
+#### কাজ - CounterFit-এ অ্যাকচুয়েটর যোগ করুন
+
+CounterFit অ্যাপে LED যোগ করুন।
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি এই অ্যাসাইনমেন্টের আগের অংশ থেকে চালু রয়েছে। যদি না থাকে, এটি চালু করুন এবং লাইট সেন্সরটি পুনরায় যোগ করুন।
+
+1. একটি LED তৈরি করুন:
+
+ 1. *Actuator* প্যানের *Create actuator* বাক্সে, *Actuator type* ড্রপডাউন করুন এবং *LED* নির্বাচন করুন।
+
+ 1. *Pin* সেট করুন *5*।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে Pin 5-এ LED তৈরি হয়।
+
+ 
+
+ LED তৈরি হবে এবং অ্যাকচুয়েটর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+ LED তৈরি হওয়ার পরে, আপনি *Color* পিকার ব্যবহার করে রঙ পরিবর্তন করতে পারেন। রঙ নির্বাচন করার পরে **Set** বোতামটি নির্বাচন করুন রঙ পরিবর্তনের জন্য।
+
+### নাইটলাইট প্রোগ্রাম করুন
+
+এখন CounterFit লাইট সেন্সর এবং LED ব্যবহার করে নাইটলাইট প্রোগ্রাম করা যাবে।
+
+#### কাজ - নাইটলাইট প্রোগ্রাম করুন
+
+নাইটলাইট প্রোগ্রাম করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছিলেন। প্রয়োজনে টার্মিনাল বন্ধ করুন এবং পুনরায় তৈরি করুন যাতে এটি ভার্চুয়াল পরিবেশ ব্যবহার করে চালানো যায়।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. `app.py` ফাইলের শীর্ষে, অন্যান্য `import` লাইনের নিচে, একটি প্রয়োজনীয় লাইব্রেরি আমদানি করতে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from counterfit_shims_grove.grove_led import GroveLed
+ ```
+
+ `from counterfit_shims_grove.grove_led import GroveLed` স্টেটমেন্টটি CounterFit Grove শিম Python লাইব্রেরি থেকে `GroveLed` আমদানি করে। এই লাইব্রেরিতে CounterFit অ্যাপে তৈরি LED-এর সাথে ইন্টারঅ্যাক্ট করার কোড রয়েছে।
+
+1. `light_sensor` ঘোষণার পরে নিম্নলিখিত কোড যোগ করুন যাতে LED পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করা যায়:
+
+ ```python
+ led = GroveLed(5)
+ ```
+
+ `led = GroveLed(5)` লাইনটি `GroveLed` ক্লাসের একটি ইনস্ট্যান্স তৈরি করে যা পিন **5**-এ সংযুক্ত থাকে - CounterFit Grove পিন যেখানে LED সংযুক্ত।
+
+1. `while` লুপের ভিতরে এবং `time.sleep` এর আগে একটি চেক যোগ করুন যাতে লাইট লেভেল পরীক্ষা করে LED চালু বা বন্ধ করা যায়:
+
+ ```python
+ if light < 300:
+ led.on()
+ else:
+ led.off()
+ ```
+
+ এই কোডটি `light` মান পরীক্ষা করে। যদি এটি 300-এর কম হয়, তাহলে এটি `GroveLed` ক্লাসের `on` মেথড কল করে যা LED-তে একটি ডিজিটাল মান 1 পাঠায়, LED চালু করে। যদি লাইট মান 300 বা তার বেশি হয়, এটি `off` মেথড কল করে, LED-তে একটি ডিজিটাল মান 0 পাঠায়, LED বন্ধ করে।
+
+ > 💁 এই কোডটি `print('Light level:', light)` লাইনের মতো একই স্তরে ইনডেন্ট করা উচিত যাতে এটি `while` লুপের ভিতরে থাকে!
+
+1. VS Code টার্মিনাল থেকে, আপনার Python অ্যাপ চালানোর জন্য নিম্নলিখিতটি চালান:
+
+ ```sh
+ python3 app.py
+ ```
+
+ লাইট মানগুলি কনসোলে আউটপুট হবে।
+
+ ```output
+ (.venv) ➜ GroveTest python3 app.py
+ Light level: 143
+ Light level: 244
+ Light level: 246
+ Light level: 253
+ ```
+
+1. *Value* বা *Random* সেটিংস পরিবর্তন করুন যাতে লাইট লেভেল 300-এর উপরে এবং নিচে পরিবর্তিত হয়। LED চালু এবং বন্ধ হবে।
+
+
+
+> 💁 আপনি এই কোডটি [code-actuator/virtual-device](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md
new file mode 100644
index 00000000..7a74738d
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md
@@ -0,0 +1,124 @@
+
+# নাইটলাইট তৈরি করুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি লাইট সেন্সর যোগ করবেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+নাইটলাইটের জন্য একটি সেন্সর প্রয়োজন, যা CounterFit অ্যাপে তৈরি করা হবে।
+
+সেন্সরটি একটি **লাইট সেন্সর**। একটি বাস্তব IoT ডিভাইসে, এটি একটি [ফটোডায়োড](https://wikipedia.org/wiki/Photodiode) হবে যা আলোকে একটি বৈদ্যুতিক সংকেতে রূপান্তরিত করে। লাইট সেন্সর একটি অ্যানালগ সেন্সর যা একটি পূর্ণসংখ্যা মান পাঠায় যা আলোর আপেক্ষিক পরিমাণ নির্দেশ করে, যা [লাক্স](https://wikipedia.org/wiki/Lux) এর মতো কোনো মানক পরিমাপ এককের সাথে মানানসই নয়।
+
+### CounterFit-এ সেন্সর যোগ করুন
+
+ভার্চুয়াল লাইট সেন্সর ব্যবহার করতে, আপনাকে এটি CounterFit অ্যাপে যোগ করতে হবে।
+
+#### কাজ - CounterFit-এ সেন্সর যোগ করুন
+
+CounterFit অ্যাপে লাইট সেন্সর যোগ করুন।
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি এই অ্যাসাইনমেন্টের আগের অংশ থেকে চালু রয়েছে। যদি না থাকে, এটি চালু করুন।
+
+1. একটি লাইট সেন্সর তৈরি করুন:
+
+ 1. *Sensors* প্যানের *Create sensor* বাক্সে, *Sensor type* ড্রপডাউন করুন এবং *Light* নির্বাচন করুন।
+
+ 1. *Units* সেটটি *NoUnits* এ রেখে দিন।
+
+ 1. নিশ্চিত করুন যে *Pin* সেটটি *0* এ রয়েছে।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 0-এ লাইট সেন্সর তৈরি হয়।
+
+ 
+
+ লাইট সেন্সরটি তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+## লাইট সেন্সর প্রোগ্রাম করুন
+
+এখন ডিভাইসটি বিল্ট-ইন লাইট সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - লাইট সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছেন। প্রয়োজনে টার্মিনালটি বন্ধ করে পুনরায় তৈরি করুন যাতে এটি ভার্চুয়াল পরিবেশ ব্যবহার করে চালানো হয়।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. `import` স্টেটমেন্টগুলির সাথে `app.py` ফাইলের শীর্ষে নিম্নলিখিত কোডটি যোগ করুন যাতে প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করা যায়:
+
+ ```python
+ import time
+ from counterfit_shims_grove.grove_light_sensor_v1_2 import GroveLightSensor
+ ```
+
+ `import time` স্টেটমেন্টটি Python-এর `time` মডিউল আমদানি করে যা এই অ্যাসাইনমেন্টে পরে ব্যবহার করা হবে।
+
+ `from counterfit_shims_grove.grove_light_sensor_v1_2 import GroveLightSensor` স্টেটমেন্টটি CounterFit Grove shim Python লাইব্রেরি থেকে `GroveLightSensor` আমদানি করে। এই লাইব্রেরিতে CounterFit অ্যাপে তৈরি করা লাইট সেন্সরের সাথে ইন্টারঅ্যাক্ট করার কোড রয়েছে।
+
+1. ফাইলের নিচে নিম্নলিখিত কোডটি যোগ করুন যাতে লাইট সেন্সর পরিচালনার জন্য ক্লাসের ইনস্ট্যান্স তৈরি করা যায়:
+
+ ```python
+ light_sensor = GroveLightSensor(0)
+ ```
+
+ `light_sensor = GroveLightSensor(0)` লাইনটি **0** পিনে সংযুক্ত `GroveLightSensor` ক্লাসের একটি ইনস্ট্যান্স তৈরি করে - CounterFit Grove পিন যেখানে লাইট সেন্সর সংযুক্ত রয়েছে।
+
+1. উপরের কোডের পরে একটি অনন্ত লুপ যোগ করুন যাতে লাইট সেন্সরের মান পোল করা যায় এবং এটি কনসোলে প্রিন্ট করা যায়:
+
+ ```python
+ while True:
+ light = light_sensor.light
+ print('Light level:', light)
+ ```
+
+ এটি `GroveLightSensor` ক্লাসের `light` প্রপার্টি ব্যবহার করে বর্তমান লাইট লেভেল পড়বে। এই প্রপার্টি পিন থেকে অ্যানালগ মান পড়ে। এই মানটি পরে কনসোলে প্রিন্ট করা হয়।
+
+1. `while` লুপের শেষে এক সেকেন্ডের একটি ছোট বিরতি যোগ করুন কারণ লাইট লেভেল ক্রমাগত চেক করার প্রয়োজন নেই। একটি বিরতি ডিভাইসের পাওয়ার খরচ কমায়।
+
+ ```python
+ time.sleep(1)
+ ```
+
+1. VS Code টার্মিনাল থেকে, আপনার Python অ্যাপ চালানোর জন্য নিম্নলিখিতটি চালান:
+
+ ```sh
+ python3 app.py
+ ```
+
+ লাইটের মানগুলি কনসোলে আউটপুট হবে। প্রাথমিকভাবে এই মানটি 0 হবে।
+
+1. CounterFit অ্যাপ থেকে, লাইট সেন্সরের মান পরিবর্তন করুন যা অ্যাপ দ্বারা পড়া হবে। এটি দুটি উপায়ে করা যেতে পারে:
+
+ * লাইট সেন্সরের *Value* বাক্সে একটি সংখ্যা লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। আপনি যে সংখ্যা লিখবেন সেটি সেন্সর দ্বারা ফেরত দেওয়া মান হবে।
+
+ * *Random* চেকবক্সটি চেক করুন এবং *Min* এবং *Max* মান লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। প্রতিবার সেন্সর একটি মান পড়বে, এটি *Min* এবং *Max* এর মধ্যে একটি র্যান্ডম সংখ্যা পড়বে।
+
+ আপনি যে মানগুলি সেট করবেন তা কনসোলে আউটপুট হবে। *Value* বা *Random* সেটিংস পরিবর্তন করুন যাতে মান পরিবর্তিত হয়।
+
+ ```output
+ (.venv) ➜ GroveTest python3 app.py
+ Light level: 143
+ Light level: 244
+ Light level: 246
+ Light level: 253
+ ```
+
+> 💁 আপনি এই কোডটি [code-sensor/virtual-device](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md
new file mode 100644
index 00000000..9021c41c
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md
@@ -0,0 +1,124 @@
+
+# একটি নাইটলাইট তৈরি করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ একটি LED যোগ করবেন এবং এটি ব্যবহার করে একটি নাইটলাইট তৈরি করবেন।
+
+## হার্ডওয়্যার
+
+নাইটলাইটের এখন একটি অ্যাকচুয়েটর প্রয়োজন।
+
+অ্যাকচুয়েটরটি একটি **LED**, একটি [লাইট-এমিটিং ডায়োড](https://wikipedia.org/wiki/Light-emitting_diode) যা এর মধ্য দিয়ে কারেন্ট প্রবাহিত হলে আলো নির্গত করে। এটি একটি ডিজিটাল অ্যাকচুয়েটর যার দুটি অবস্থা রয়েছে, চালু এবং বন্ধ। একটি মান 1 পাঠালে LED চালু হয়, এবং 0 পাঠালে এটি বন্ধ হয়। এটি একটি বাহ্যিক Grove অ্যাকচুয়েটর এবং এটি Wio Terminal-এ সংযুক্ত করতে হবে।
+
+নাইটলাইটের লজিকটি ছদ্ম-কোডে:
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### LED সংযুক্ত করুন
+
+Grove LED একটি মডিউল হিসেবে আসে যেখানে বিভিন্ন রঙের LED থাকে, যা আপনাকে রঙ বেছে নেওয়ার সুযোগ দেয়।
+
+#### কাজ - LED সংযুক্ত করুন
+
+LED সংযুক্ত করুন।
+
+
+
+1. আপনার পছন্দের LED বেছে নিন এবং LED মডিউলের দুটি গর্তে পা ঢোকান।
+
+ LED হলো লাইট-এমিটিং ডায়োড, এবং ডায়োড হলো ইলেকট্রনিক ডিভাইস যা কেবল একদিকে কারেন্ট বহন করতে পারে। এর মানে LED সঠিকভাবে সংযুক্ত না হলে এটি কাজ করবে না।
+
+ LED-এর একটি পা পজিটিভ পিন এবং অন্যটি নেগেটিভ পিন। LED পুরোপুরি গোল নয় এবং একপাশে সামান্য চ্যাপ্টা। সামান্য চ্যাপ্টা দিকটি নেগেটিভ পিন। LED-টি মডিউলে সংযুক্ত করার সময়, নিশ্চিত করুন যে গোলাকার দিকের পিনটি মডিউলের বাইরের দিকে **+** চিহ্নিত সকেটে সংযুক্ত এবং চ্যাপ্টা দিকটি মডিউলের মাঝখানের দিকে থাকা সকেটে সংযুক্ত।
+
+1. LED মডিউলে একটি স্পিন বোতাম রয়েছে যা আপনাকে উজ্জ্বলতা নিয়ন্ত্রণ করতে দেয়। প্রথমে এটি সম্পূর্ণ উজ্জ্বল করতে বোতামটি একটি ছোট ফিলিপস হেড স্ক্রু ড্রাইভার ব্যবহার করে যতটা সম্ভব ঘড়ির কাঁটার বিপরীতে ঘুরিয়ে দিন।
+
+1. Grove কেবলের এক প্রান্ত LED মডিউলের সকেটে ঢোকান। এটি কেবল একদিকে যাবে।
+
+1. Wio Terminal আপনার কম্পিউটার বা অন্য পাওয়ার সাপ্লাই থেকে সংযোগ বিচ্ছিন্ন অবস্থায়, Grove কেবলের অন্য প্রান্তটি Wio Terminal-এর ডানদিকের Grove সকেটে সংযুক্ত করুন। এটি পাওয়ার বোতাম থেকে সবচেয়ে দূরের সকেট।
+
+ > 💁 ডানদিকের Grove সকেটটি অ্যানালগ বা ডিজিটাল সেন্সর এবং অ্যাকচুয়েটরের সাথে ব্যবহার করা যেতে পারে। বামদিকের সকেটটি শুধুমাত্র ডিজিটাল সেন্সর এবং অ্যাকচুয়েটরের জন্য।
+
+
+
+## নাইটলাইট প্রোগ্রাম করুন
+
+এখন নাইটলাইটটি বিল্ট-ইন লাইট সেন্সর এবং Grove LED ব্যবহার করে প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - নাইটলাইট প্রোগ্রাম করুন
+
+নাইটলাইট প্রোগ্রাম করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছিলেন।
+
+1. `setup` ফাংশনের শেষে নিচের লাইনটি যোগ করুন:
+
+ ```cpp
+ pinMode(D0, OUTPUT);
+ ```
+
+ এই লাইনটি Grove পোর্টের মাধ্যমে LED-এর সাথে যোগাযোগ করার জন্য ব্যবহৃত পিনটি কনফিগার করে।
+
+ `D0` পিনটি ডানদিকের Grove সকেটের ডিজিটাল পিন। এই পিনটি `OUTPUT` হিসেবে সেট করা হয়েছে, যার মানে এটি একটি অ্যাকচুয়েটরের সাথে সংযুক্ত এবং পিনে ডেটা লেখা হবে।
+
+1. লুপ ফাংশনের `delay` এর ঠিক আগে নিচের কোডটি যোগ করুন:
+
+ ```cpp
+ if (light < 300)
+ {
+ digitalWrite(D0, HIGH);
+ }
+ else
+ {
+ digitalWrite(D0, LOW);
+ }
+ ```
+
+ এই কোডটি `light` মানটি পরীক্ষা করে। যদি এটি 300-এর কম হয়, তবে এটি `D0` ডিজিটাল পিনে একটি `HIGH` মান পাঠায়। এই `HIGH` মানটি 1, যা LED চালু করে। যদি আলো 300 বা তার বেশি হয়, তবে একটি `LOW` মান 0 পাঠানো হয়, যা LED বন্ধ করে।
+
+ > 💁 অ্যাকচুয়েটরে ডিজিটাল মান পাঠানোর সময়, একটি LOW মান 0v এবং একটি HIGH মান ডিভাইসের সর্বোচ্চ ভোল্টেজ। Wio Terminal-এর জন্য, HIGH ভোল্টেজ 3.3V।
+
+1. Wio Terminal-টি আবার আপনার কম্পিউটারে সংযুক্ত করুন এবং আগের মতো নতুন কোড আপলোড করুন।
+
+1. সিরিয়াল মনিটর সংযুক্ত করুন। আলো মানগুলি টার্মিনালে আউটপুট হবে।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Light value: 4
+ Light value: 5
+ Light value: 4
+ Light value: 158
+ Light value: 343
+ Light value: 348
+ Light value: 344
+ ```
+
+1. লাইট সেন্সরটি ঢেকে রাখুন এবং সরান। লক্ষ্য করুন কিভাবে LED আলো স্তর 300 বা তার কম হলে জ্বলে ওঠে এবং আলো স্তর 300-এর বেশি হলে বন্ধ হয়ে যায়।
+
+
+
+> 💁 আপনি এই কোডটি [code-actuator/wio-terminal](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md
new file mode 100644
index 00000000..ba338bc0
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md
@@ -0,0 +1,87 @@
+
+# সেন্সর যোগ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ থাকা লাইট সেন্সর ব্যবহার করবেন।
+
+## হার্ডওয়্যার
+
+এই পাঠের জন্য ব্যবহৃত সেন্সরটি একটি **লাইট সেন্সর**, যা একটি [ফটোডায়োড](https://wikipedia.org/wiki/Photodiode) ব্যবহার করে আলোকে বৈদ্যুতিক সংকেতে রূপান্তর করে। এটি একটি অ্যানালগ সেন্সর যা ০ থেকে ১,০২৩ পর্যন্ত একটি পূর্ণসংখ্যা মান পাঠায়, যা আলোয়ের আপেক্ষিক পরিমাণ নির্দেশ করে। এটি কোনও মানক পরিমাপ একক যেমন [লাক্স](https://wikipedia.org/wiki/Lux)-এর সাথে মানানসই নয়।
+
+লাইট সেন্সরটি Wio Terminal-এর মধ্যে অন্তর্ভুক্ত এবং এটি পিছনের স্বচ্ছ প্লাস্টিকের জানালার মাধ্যমে দৃশ্যমান।
+
+
+
+## লাইট সেন্সর প্রোগ্রাম করুন
+
+এখন ডিভাইসটি অন্তর্নির্মিত লাইট সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন যা আপনি এই অ্যাসাইনমেন্টের আগের অংশে তৈরি করেছিলেন।
+
+1. `setup` ফাংশনের শেষে নিচের লাইনটি যোগ করুন:
+
+ ```cpp
+ pinMode(WIO_LIGHT, INPUT);
+ ```
+
+ এই লাইনটি সেন্সর হার্ডওয়্যারের সাথে যোগাযোগ করার জন্য ব্যবহৃত পিনগুলি কনফিগার করে।
+
+ `WIO_LIGHT` পিনটি অন-বোর্ড লাইট সেন্সরের সাথে সংযুক্ত GPIO পিনের নম্বর। এই পিনটি `INPUT` হিসাবে সেট করা হয়েছে, যার অর্থ এটি একটি সেন্সরের সাথে সংযুক্ত এবং পিন থেকে ডেটা পড়া হবে।
+
+1. `loop` ফাংশনের বিষয়বস্তু মুছে ফেলুন।
+
+1. এখন খালি `loop` ফাংশনে নিচের কোডটি যোগ করুন।
+
+ ```cpp
+ int light = analogRead(WIO_LIGHT);
+ Serial.print("Light value: ");
+ Serial.println(light);
+ ```
+
+ এই কোডটি `WIO_LIGHT` পিন থেকে একটি অ্যানালগ মান পড়ে। এটি অন-বোর্ড লাইট সেন্সর থেকে ০-১,০২৩ পর্যন্ত একটি মান পড়ে। এই মানটি সিরিয়াল পোর্টে পাঠানো হয় যাতে আপনি এই কোডটি চালানোর সময় সিরিয়াল মনিটরে এটি পড়তে পারেন। `Serial.print` টেক্সটটি একটি নতুন লাইনের শেষে ছাড়াই লেখে, তাই প্রতিটি লাইন `Light value:` দিয়ে শুরু হবে এবং প্রকৃত লাইট মান দিয়ে শেষ হবে।
+
+1. `loop`-এর শেষে এক সেকেন্ড (১,০০০ms) এর একটি ছোট বিলম্ব যোগ করুন, কারণ লাইট লেভেলগুলি ক্রমাগত পরীক্ষা করার প্রয়োজন নেই। একটি বিলম্ব ডিভাইসের পাওয়ার খরচ কমায়।
+
+ ```cpp
+ delay(1000);
+ ```
+
+1. Wio Terminal-কে আপনার কম্পিউটারের সাথে পুনরায় সংযুক্ত করুন এবং আগের মতো নতুন কোড আপলোড করুন।
+
+1. সিরিয়াল মনিটর সংযুক্ত করুন। লাইট মানগুলি টার্মিনালে আউটপুট হবে। Wio Terminal-এর পিছনে থাকা লাইট সেন্সরটি ঢেকে রাখুন এবং খুলুন, এবং মানগুলি পরিবর্তিত হবে।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Light value: 4
+ Light value: 5
+ Light value: 4
+ Light value: 158
+ Light value: 343
+ Light value: 348
+ Light value: 344
+ ```
+
+> 💁 আপনি এই কোডটি [code-sensor/wio-terminal](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার নাইটলাইট প্রোগ্রামে একটি সেন্সর যোগ করা সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/README.md b/translations/bn/1-getting-started/lessons/4-connect-internet/README.md
new file mode 100644
index 00000000..fb1df353
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/README.md
@@ -0,0 +1,378 @@
+
+# আপনার ডিভাইসকে ইন্টারনেটের সাথে সংযুক্ত করুন
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [Hello IoT সিরিজ](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) এর অংশ হিসেবে [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে শেখানো হয়েছিল। এটি দুটি ভিডিওতে শেখানো হয়েছিল - একটি ১ ঘণ্টার পাঠ এবং একটি ১ ঘণ্টার অফিস আওয়ার যেখানে পাঠের অংশগুলো আরও গভীরভাবে আলোচনা করা হয় এবং প্রশ্নের উত্তর দেওয়া হয়।
+
+[](https://youtu.be/O4dd172mZhs)
+
+[](https://youtu.be/j-cVCzRDE2Q)
+
+> 🎥 উপরের ছবিগুলোতে ক্লিক করে ভিডিওগুলো দেখুন
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/7)
+
+## পরিচিতি
+
+IoT-এ **I** মানে **ইন্টারনেট** - ক্লাউড সংযোগ এবং পরিষেবাগুলো যা IoT ডিভাইসের অনেক বৈশিষ্ট্য সক্ষম করে, যেমন ডিভাইসের সাথে সংযুক্ত সেন্সর থেকে পরিমাপ সংগ্রহ করা, বা অ্যাকচুয়েটর নিয়ন্ত্রণের জন্য বার্তা পাঠানো। IoT ডিভাইস সাধারণত একটি স্ট্যান্ডার্ড যোগাযোগ প্রোটোকলের মাধ্যমে একটি একক ক্লাউড IoT পরিষেবার সাথে সংযুক্ত হয়, এবং সেই পরিষেবাটি আপনার IoT অ্যাপ্লিকেশনের অন্যান্য অংশের সাথে সংযুক্ত থাকে, যেমন AI পরিষেবা যা আপনার ডেটা সম্পর্কে স্মার্ট সিদ্ধান্ত নিতে পারে, বা নিয়ন্ত্রণ বা রিপোর্টিংয়ের জন্য ওয়েব অ্যাপ।
+
+> 🎓 সেন্সর থেকে সংগ্রহ করা এবং ক্লাউডে পাঠানো ডেটাকে টেলিমেট্রি বলা হয়।
+
+IoT ডিভাইস ক্লাউড থেকে বার্তা গ্রহণ করতে পারে। প্রায়শই এই বার্তাগুলোতে কমান্ড থাকে - অর্থাৎ, একটি অ্যাকশন সম্পাদন করার নির্দেশনা, হয় অভ্যন্তরীণভাবে (যেমন রিবুট বা ফার্মওয়্যার আপডেট), অথবা একটি অ্যাকচুয়েটর ব্যবহার করে (যেমন একটি আলো চালু করা)।
+
+এই পাঠে IoT ডিভাইসগুলো ক্লাউডের সাথে সংযোগ করতে যে যোগাযোগ প্রোটোকলগুলো ব্যবহার করতে পারে এবং তারা যে ধরনের ডেটা পাঠাতে বা গ্রহণ করতে পারে তা পরিচিত করা হয়েছে। আপনি এগুলো হাতে-কলমে শিখবেন, আপনার নাইটলাইটে ইন্টারনেট নিয়ন্ত্রণ যোগ করবেন এবং LED নিয়ন্ত্রণের লজিক 'সার্ভার' কোডে স্থানান্তর করবেন যা স্থানীয়ভাবে চলবে।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [যোগাযোগ প্রোটোকল](../../../../../1-getting-started/lessons/4-connect-internet)
+* [মেসেজ কিউইং টেলিমেট্রি ট্রান্সপোর্ট (MQTT)](../../../../../1-getting-started/lessons/4-connect-internet)
+* [টেলিমেট্রি](../../../../../1-getting-started/lessons/4-connect-internet)
+* [কমান্ড](../../../../../1-getting-started/lessons/4-connect-internet)
+
+## যোগাযোগ প্রোটোকল
+
+IoT ডিভাইসগুলো ইন্টারনেটের সাথে যোগাযোগ করতে যে জনপ্রিয় প্রোটোকলগুলো ব্যবহার করে তার মধ্যে কয়েকটি রয়েছে। সবচেয়ে জনপ্রিয় প্রোটোকলগুলো সাধারণত প্রকাশ/সাবস্ক্রাইব মেসেজিংয়ের উপর ভিত্তি করে তৈরি হয়, যেখানে একটি ব্রোকার ব্যবহৃত হয়। IoT ডিভাইসগুলো ব্রোকারের সাথে সংযুক্ত হয় এবং টেলিমেট্রি প্রকাশ করে এবং কমান্ড সাবস্ক্রাইব করে। ক্লাউড পরিষেবাগুলোও ব্রোকারের সাথে সংযুক্ত হয় এবং সমস্ত টেলিমেট্রি বার্তা সাবস্ক্রাইব করে এবং নির্দিষ্ট ডিভাইস বা ডিভাইসের গ্রুপে কমান্ড প্রকাশ করে।
+
+
+
+MQTT IoT ডিভাইসের জন্য সবচেয়ে জনপ্রিয় যোগাযোগ প্রোটোকল এবং এটি এই পাঠে আলোচনা করা হয়েছে। অন্যান্য প্রোটোকলের মধ্যে রয়েছে AMQP এবং HTTP/HTTPS।
+
+## মেসেজ কিউইং টেলিমেট্রি ট্রান্সপোর্ট (MQTT)
+
+[MQTT](http://mqtt.org) একটি হালকা, ওপেন স্ট্যান্ডার্ড মেসেজিং প্রোটোকল যা ডিভাইসগুলোর মধ্যে বার্তা পাঠাতে পারে। এটি ১৯৯৯ সালে তেল পাইপলাইন পর্যবেক্ষণের জন্য ডিজাইন করা হয়েছিল এবং ১৫ বছর পরে IBM দ্বারা একটি ওপেন স্ট্যান্ডার্ড হিসেবে প্রকাশিত হয়।
+
+MQTT-তে একটি একক ব্রোকার এবং একাধিক ক্লায়েন্ট থাকে। সমস্ত ক্লায়েন্ট ব্রোকারের সাথে সংযুক্ত হয় এবং ব্রোকার বার্তাগুলো প্রাসঙ্গিক ক্লায়েন্টদের কাছে রুট করে। বার্তাগুলো নামকৃত টপিক ব্যবহার করে রুট করা হয়, সরাসরি একটি নির্দিষ্ট ক্লায়েন্টে পাঠানো হয় না। একটি ক্লায়েন্ট একটি টপিকে বার্তা প্রকাশ করতে পারে, এবং যে কোনো ক্লায়েন্ট সেই টপিক সাবস্ক্রাইব করলে বার্তাটি গ্রহণ করবে।
+
+
+
+✅ কিছু গবেষণা করুন। যদি আপনার অনেক IoT ডিভাইস থাকে, তাহলে কীভাবে নিশ্চিত করবেন যে আপনার MQTT ব্রোকার সমস্ত বার্তা পরিচালনা করতে পারে?
+
+### আপনার IoT ডিভাইসকে MQTT-তে সংযুক্ত করুন
+
+আপনার নাইটলাইটে ইন্টারনেট নিয়ন্ত্রণ যোগ করার প্রথম ধাপ হলো এটিকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করা।
+
+#### কাজ
+
+আপনার ডিভাইসকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করুন।
+
+এই পাঠের এই অংশে, আপনি আপনার IoT নাইটলাইটকে ইন্টারনেটের সাথে সংযুক্ত করবেন যাতে এটি দূরবর্তীভাবে নিয়ন্ত্রিত হতে পারে। এই পাঠের পরে, আপনার IoT ডিভাইস একটি পাবলিক MQTT ব্রোকারে আলো স্তরের একটি টেলিমেট্রি বার্তা পাঠাবে, যেখানে এটি আপনার লেখা কিছু সার্ভার কোড দ্বারা গ্রহণ করা হবে। এই কোড আলো স্তর পরীক্ষা করবে এবং ডিভাইসটিকে LED চালু বা বন্ধ করার নির্দেশ দিয়ে একটি কমান্ড বার্তা পাঠাবে।
+
+এই ধরনের সেটআপের একটি বাস্তব ব্যবহার হতে পারে একাধিক আলো সেন্সর থেকে ডেটা সংগ্রহ করা এবং তারপর আলো চালু করার সিদ্ধান্ত নেওয়া, এমন একটি স্থানে যেখানে অনেক আলো রয়েছে, যেমন একটি স্টেডিয়াম। এটি আলো চালু হওয়া বন্ধ করতে পারে যদি শুধুমাত্র একটি সেন্সর মেঘ বা একটি পাখি দ্বারা ঢেকে যায়, কিন্তু অন্যান্য সেন্সর যথেষ্ট আলো সনাক্ত করে।
+
+✅ আর কী কী পরিস্থিতিতে একাধিক সেন্সর থেকে ডেটা মূল্যায়ন করা প্রয়োজন হতে পারে কমান্ড পাঠানোর আগে?
+
+এই অ্যাসাইনমেন্টের অংশ হিসেবে একটি MQTT ব্রোকার সেটআপ করার জটিলতা এড়ানোর জন্য, আপনি একটি পাবলিক টেস্ট সার্ভার ব্যবহার করতে পারেন যা [Eclipse Mosquitto](https://www.mosquitto.org), একটি ওপেন-সোর্স MQTT ব্রোকার চালায়। এই টেস্ট ব্রোকারটি [test.mosquitto.org](https://test.mosquitto.org)-এ পাবলিকভাবে উপলব্ধ এবং একটি অ্যাকাউন্ট সেটআপ করার প্রয়োজন হয় না, যা MQTT ক্লায়েন্ট এবং সার্ভার পরীক্ষা করার জন্য একটি চমৎকার টুল।
+
+> 💁 এই টেস্ট ব্রোকারটি পাবলিক এবং নিরাপদ নয়। আপনি যা প্রকাশ করেন তা যে কেউ শুনতে পারে, তাই এটি এমন কোনো ডেটার জন্য ব্যবহার করা উচিত নয় যা গোপন রাখতে হবে।
+
+
+
+MQTT ব্রোকারের সাথে আপনার ডিভাইস সংযুক্ত করতে নিচের প্রাসঙ্গিক ধাপ অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-mqtt.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-mqtt.md)
+
+### MQTT সম্পর্কে আরও গভীরভাবে জানুন
+
+টপিকগুলোতে একটি হায়ারার্কি থাকতে পারে, এবং ক্লায়েন্টরা ওয়াইল্ডকার্ড ব্যবহার করে হায়ারার্কির বিভিন্ন স্তরে সাবস্ক্রাইব করতে পারে। উদাহরণস্বরূপ, আপনি `/telemetry/temperature` টপিকে তাপমাত্রার টেলিমেট্রি বার্তা এবং `/telemetry/humidity` টপিকে আর্দ্রতার বার্তা পাঠাতে পারেন, তারপর আপনার ক্লাউড অ্যাপে `/telemetry/*` টপিকে সাবস্ক্রাইব করতে পারেন যাতে তাপমাত্রা এবং আর্দ্রতার টেলিমেট্রি বার্তা উভয়ই গ্রহণ করা যায়।
+
+বার্তাগুলো একটি কোয়ালিটি অফ সার্ভিস (QoS) দিয়ে পাঠানো যেতে পারে, যা বার্তা গ্রহণের গ্যারান্টি নির্ধারণ করে।
+
+* একবারের বেশি নয় - বার্তাটি শুধুমাত্র একবার পাঠানো হয় এবং ক্লায়েন্ট এবং ব্রোকার ডেলিভারি নিশ্চিত করতে কোনো অতিরিক্ত পদক্ষেপ নেয় না (ফায়ার অ্যান্ড ফরগেট)।
+* অন্তত একবার - বার্তাটি প্রেরকের দ্বারা একাধিকবার পুনরায় চেষ্টা করা হয় যতক্ষণ না স্বীকৃতি পাওয়া যায় (স্বীকৃত ডেলিভারি)।
+* একবারই - প্রেরক এবং গ্রহণকারী একটি দুই-স্তরের হ্যান্ডশেকে যুক্ত হয় যাতে বার্তাটি শুধুমাত্র একবার গ্রহণ করা হয় (নিশ্চিত ডেলিভারি)।
+
+✅ কোন পরিস্থিতিতে নিশ্চিত ডেলিভারি বার্তা প্রয়োজন হতে পারে, যেখানে ফায়ার অ্যান্ড ফরগেট বার্তা যথেষ্ট নয়?
+
+যদিও নামটি মেসেজ কিউইং (MQTT-এর আদ্যক্ষর), এটি আসলে মেসেজ কিউ সমর্থন করে না। এর মানে হলো, যদি একটি ক্লায়েন্ট সংযোগ বিচ্ছিন্ন হয় এবং তারপর পুনরায় সংযুক্ত হয়, এটি সংযোগ বিচ্ছিন্ন হওয়ার সময় পাঠানো বার্তাগুলো গ্রহণ করবে না, শুধুমাত্র সেই বার্তাগুলো গ্রহণ করবে যা এটি ইতিমধ্যে QoS প্রক্রিয়া ব্যবহার করে প্রক্রিয়া করতে শুরু করেছে। বার্তাগুলোতে একটি রিটেইনড ফ্ল্যাগ সেট করা যেতে পারে। যদি এটি সেট করা হয়, MQTT ব্রোকার টপিকে পাঠানো সর্বশেষ বার্তাটি এই ফ্ল্যাগ দিয়ে সংরক্ষণ করবে এবং পরে টপিকে সাবস্ক্রাইব করা কোনো ক্লায়েন্টকে এটি পাঠাবে। এইভাবে, ক্লায়েন্টরা সর্বদা সর্বশেষ বার্তা পাবে।
+
+MQTT একটি কিপ অ্যালাইভ ফাংশনও সমর্থন করে যা বার্তাগুলোর মধ্যে দীর্ঘ ব্যবধানের সময় সংযোগটি এখনও জীবিত কিনা তা পরীক্ষা করে।
+
+> 🦟 [Eclipse Foundation থেকে Mosquitto](https://mosquitto.org) একটি ফ্রি MQTT ব্রোকার সরবরাহ করে যা আপনি নিজে চালাতে পারেন MQTT নিয়ে পরীক্ষা করার জন্য, এবং একটি পাবলিক MQTT ব্রোকার সরবরাহ করে যা আপনি আপনার কোড পরীক্ষা করার জন্য ব্যবহার করতে পারেন, যা [test.mosquitto.org](https://test.mosquitto.org)-এ হোস্ট করা হয়েছে।
+
+MQTT সংযোগগুলো পাবলিক এবং ওপেন হতে পারে, অথবা ইউজারনেম এবং পাসওয়ার্ড, অথবা সার্টিফিকেট ব্যবহার করে এনক্রিপ্ট এবং সুরক্ষিত হতে পারে।
+
+> 💁 MQTT TCP/IP-এর মাধ্যমে যোগাযোগ করে, যা HTTP-এর মতো একই নেটওয়ার্ক প্রোটোকল, কিন্তু একটি ভিন্ন পোর্টে। আপনি MQTT ওয়েবসকেটের মাধ্যমে ব্যবহার করতে পারেন ওয়েব অ্যাপের সাথে যোগাযোগ করতে যা ব্রাউজারে চলছে, অথবা এমন পরিস্থিতিতে যেখানে ফায়ারওয়াল বা অন্যান্য নেটওয়ার্কিং নিয়ম স্ট্যান্ডার্ড MQTT সংযোগগুলো ব্লক করে।
+
+## টেলিমেট্রি
+
+টেলিমেট্রি শব্দটি গ্রিক শব্দ থেকে উদ্ভূত, যার অর্থ দূর থেকে পরিমাপ করা। টেলিমেট্রি হলো সেন্সর থেকে ডেটা সংগ্রহ করা এবং ক্লাউডে পাঠানোর কাজ।
+
+> 💁 প্রথম দিকের টেলিমেট্রি ডিভাইসগুলোর একটি ১৮৭৪ সালে ফ্রান্সে আবিষ্কৃত হয়েছিল এবং এটি মন্ট ব্ল্যাঙ্ক থেকে প্যারিসে রিয়েল-টাইম আবহাওয়া এবং তুষার গভীরতার তথ্য পাঠাত। এটি শারীরিক তার ব্যবহার করত কারণ তখন ওয়্যারলেস প্রযুক্তি উপলব্ধ ছিল না।
+
+Lesson 1-এর স্মার্ট থার্মোস্ট্যাটের উদাহরণে ফিরে আসা যাক।
+
+
+
+থার্মোস্ট্যাটে টেলিমেট্রি সংগ্রহ করার জন্য তাপমাত্রা সেন্সর রয়েছে। এটি সম্ভবত একটি তাপমাত্রা সেন্সর অন্তর্নির্মিত থাকবে, এবং এটি [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE)-এর মতো একটি ওয়্যারলেস প্রোটোকলের মাধ্যমে একাধিক বাহ্যিক তাপমাত্রা সেন্সরের সাথে সংযুক্ত হতে পারে।
+
+এটি যে টেলিমেট্রি ডেটা পাঠাতে পারে তার একটি উদাহরণ হতে পারে:
+
+| নাম | মান | বিবরণ |
+| ---- | ----- | ----------- |
+| `thermostat_temperature` | ১৮°C | থার্মোস্ট্যাটের অন্তর্নির্মিত তাপমাত্রা সেন্সর দ্বারা পরিমাপ করা তাপমাত্রা |
+| `livingroom_temperature` | ১৯°C | একটি দূরবর্তী তাপমাত্রা সেন্সর দ্বারা পরিমাপ করা তাপমাত্রা, যা `livingroom` নামে চিহ্নিত করা হয়েছে এটি যে ঘরে রয়েছে তা সনাক্ত করতে |
+| `bedroom_temperature` | ২১°C | একটি দূরবর্তী তাপমাত্রা সেন্সর দ্বারা পরিমাপ করা তাপমাত্রা, যা `bedroom` নামে চিহ্নিত করা হয়েছে এটি যে ঘরে রয়েছে তা সনাক্ত করতে |
+
+ক্লাউড পরিষেবাটি এই টেলিমেট্রি ডেটা ব্যবহার করে গরম করার নিয়ন্ত্রণে কী কমান্ড পাঠাতে হবে তা নিয়ে সিদ্ধান্ত নিতে পারে।
+
+### আপনার IoT ডিভাইস থেকে টেলিমেট্রি পাঠান
+
+আপনার নাইটলাইটে ইন্টারনেট নিয়ন্ত্রণ যোগ করার পরবর্তী অংশ হলো আলো স্তরের টেলিমেট্রি MQTT ব্রোকারে একটি টেলিমেট্রি টপিকে পাঠানো।
+
+#### কাজ - আপনার IoT ডিভাইস থেকে টেলিমেট্রি পাঠান
+
+আলো স্তরের টেলিমেট্রি MQTT ব্রোকারে পাঠান।
+
+ডেটা JSON-এ এনকোড করা হয় - JavaScript Object Notation-এর সংক্ষিপ্ত রূপ, একটি স্ট্যান্ডার্ড যা কী/মান জোড়া ব্যবহার করে টেক্সটে ডেটা এনকোড করে।
+
+✅ যদি আপনি আগে JSON সম্পর্কে না জানেন, তাহলে [JSON.org ডকুমেন্টেশন](https://www.json.org/) থেকে আরও জানতে পারেন।
+
+আপনার ডিভাইস থেকে MQTT ব্রোকারে টেলিমেট্রি পাঠানোর জন্য নিচের প্রাসঙ্গিক ধাপ অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-telemetry.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-telemetry.md)
+
+### MQTT ব্রোকার থেকে টেলিমেট্রি গ্রহণ করুন
+
+টেলিমেট্রি পাঠানোর কোনো মানে হয় না যদি অন্য প্রান্তে এটি শোনার মতো কিছু না থাকে। আলো স্তরের টেলিমেট্রি প্রক্রিয়া করার জন্য কিছু শোনার প্রয়োজন। এই 'সার্ভার' কোডটি এমন কোড যা আপনি একটি বড় IoT অ্যাপ্লিকেশনের অংশ হিসেবে একটি ক্লাউড পরিষেবায় স্থাপন করবেন, কিন্তু এখানে আপনি এই কোডটি আপনার কম্পিউটারে (অথবা আপনার Pi-তে যদি আপনি সরাসরি সেখানে কোড করছেন) স্থানীয়ভাবে চালাবেন। সার্ভার কোডটি একটি Python অ্যাপ নিয়ে গঠিত যা আলো স্তরের MQTT টেলিমেট্রি বার্তা শোনে। এই পাঠের পরে আপনি এটি LED চালু বা বন্ধ করার নির্দেশ দিয়ে একটি কমান্ড বার্তা পাঠাতে তৈরি করবেন।
+
+✅ কিছু গবেষণা করুন: যদি কোনো শ্রোতা না থাকে তাহলে MQTT বার্তাগুলোর কী হয়?
+
+#### Python এবং VS Code ইনস্টল করুন
+
+যদি আপনার কম্পিউটারে Python এবং VS Code ইনস্টল না থাকে, তাহলে সার্ভার কোড লেখার জন্য আপনাকে উভয়ই ইনস্টল করতে হবে। যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করছেন, অথবা আপনার Raspberry Pi-তে কাজ করছেন, তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন কারণ এটি ইতিমধ্যেই ইনস্টল এবং কনফিগার করা আছে।
+
+##### কাজ - Python এবং VS Code ইনস্টল করুন
+
+Python এবং VS Code ইনস্টল করুন।
+
+1. Python ইনস্টল করুন। Python-এর সর্বশেষ সংস্করণ ইনস্টল করার জন্য [Python ডাউনলোড পৃষ্ঠা](https://www.python.org/downloads/) দেখুন।
+
+1. Visual Studio Code (VS Code) ইনস্টল করুন। এটি সেই এডিটর যা আপনি Python-এ আপনার ভার্চুয়াল ডিভাইস কোড লেখার জন্য ব্যবহার করবেন। VS Code ইনস্টল করার জন্য [VS Code ডকুমেন্টেশন](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn)
+💁 আপনি যদি পছন্দের কোনো Python IDE বা এডিটর ব্যবহার করতে চান, তাহলে এই পাঠগুলোতে তা করতে পারেন। তবে, পাঠগুলোতে VS Code ব্যবহার করার নির্দেশনা দেওয়া হবে।
+1. VS Code-এ Pylance এক্সটেনশন ইনস্টল করুন। এটি VS Code-এর জন্য একটি এক্সটেনশন যা পাইথন ভাষার জন্য সাপোর্ট প্রদান করে। এই এক্সটেনশনটি VS Code-এ কীভাবে ইনস্টল করবেন তা জানতে [Pylance এক্সটেনশনের ডকুমেন্টেশন](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) দেখুন।
+
+#### পাইথন ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন
+
+পাইথনের একটি শক্তিশালী বৈশিষ্ট্য হলো [pip প্যাকেজ](https://pypi.org) ইনস্টল করার ক্ষমতা - এগুলো হলো ইন্টারনেটে প্রকাশিত অন্যদের লেখা কোডের প্যাকেজ। আপনি একটি কমান্ড ব্যবহার করে আপনার কম্পিউটারে একটি pip প্যাকেজ ইনস্টল করতে পারেন এবং তারপর সেই প্যাকেজটি আপনার কোডে ব্যবহার করতে পারেন। আপনি MQTT-এর মাধ্যমে যোগাযোগ করার জন্য একটি প্যাকেজ ইনস্টল করতে pip ব্যবহার করবেন।
+
+ডিফল্টভাবে, যখন আপনি একটি প্যাকেজ ইনস্টল করেন, এটি আপনার কম্পিউটারের সর্বত্র উপলব্ধ হয়। এটি প্যাকেজ ভার্সনের সমস্যার কারণ হতে পারে - যেমন একটি অ্যাপ্লিকেশন একটি নির্দিষ্ট ভার্সনের উপর নির্ভর করে, যা অন্য অ্যাপ্লিকেশনের জন্য নতুন ভার্সন ইনস্টল করার সময় কাজ করা বন্ধ করে দিতে পারে। এই সমস্যার সমাধান করতে, আপনি একটি [পাইথন ভার্চুয়াল এনভায়রনমেন্ট](https://docs.python.org/3/library/venv.html) ব্যবহার করতে পারেন, যা মূলত একটি নির্দিষ্ট ফোল্ডারে পাইথনের একটি কপি। যখন আপনি pip প্যাকেজ ইনস্টল করবেন, সেগুলো কেবল সেই ফোল্ডারেই ইনস্টল হবে।
+
+##### কাজ - পাইথন ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন
+
+পাইথন ভার্চুয়াল এনভায়রনমেন্ট কনফিগার করুন এবং MQTT pip প্যাকেজ ইনস্টল করুন।
+
+1. আপনার টার্মিনাল বা কমান্ড লাইনে, একটি নতুন ডিরেক্টরি তৈরি এবং সেখানে নেভিগেট করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ mkdir nightlight-server
+ cd nightlight-server
+ ```
+
+1. `.venv` ফোল্ডারে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+ > 💁 ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে আপনাকে স্পষ্টভাবে `python3` কল করতে হবে, যদি আপনার কম্পিউটারে পাইথন 2 ইনস্টল করা থাকে। পাইথন 2 ইনস্টল থাকলে `python` কল করলে এটি পাইথন 2 ব্যবহার করবে, পাইথন 3 নয়।
+
+1. ভার্চুয়াল এনভায়রনমেন্ট অ্যাক্টিভেট করুন:
+
+ * Windows-এ:
+ * যদি আপনি Command Prompt বা Windows Terminal-এর মাধ্যমে Command Prompt ব্যবহার করেন, তাহলে চালান:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * যদি আপনি PowerShell ব্যবহার করেন, তাহলে চালান:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ * macOS বা Linux-এ চালান:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 এই কমান্ডগুলো সেই একই লোকেশন থেকে চালানো উচিত যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করার কমান্ড চালিয়েছিলেন। `.venv` ফোল্ডারে কখনো নেভিগেট করার প্রয়োজন নেই। ভার্চুয়াল এনভায়রনমেন্ট অ্যাক্টিভেট করার কমান্ড এবং প্যাকেজ ইনস্টল বা কোড চালানোর কমান্ড সবসময় সেই ফোল্ডার থেকেই চালান যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করেছিলেন।
+
+1. একবার ভার্চুয়াল এনভায়রনমেন্ট অ্যাক্টিভেট হয়ে গেলে, ডিফল্ট `python` কমান্ডটি সেই ভার্সন চালাবে যা ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে ব্যবহৃত হয়েছিল। ভার্সনটি পেতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ python --version
+ ```
+
+ আউটপুটটি নিম্নলিখিতর মতো হবে:
+
+ ```output
+ (.venv) ➜ nightlight-server python --version
+ Python 3.9.1
+ ```
+
+ > 💁 আপনার পাইথন ভার্সন ভিন্ন হতে পারে - যতক্ষণ এটি 3.6 বা তার বেশি ভার্সন, ততক্ষণ ঠিক আছে। যদি না হয়, এই ফোল্ডারটি মুছে ফেলুন, পাইথনের নতুন ভার্সন ইনস্টল করুন এবং আবার চেষ্টা করুন।
+
+1. [Paho-MQTT](https://pypi.org/project/paho-mqtt/) প্যাকেজটি ইনস্টল করতে নিচের কমান্ডগুলো চালান, যা একটি জনপ্রিয় MQTT লাইব্রেরি।
+
+ ```sh
+ pip install paho-mqtt
+ ```
+
+ এই pip প্যাকেজটি কেবল ভার্চুয়াল এনভায়রনমেন্টে ইনস্টল হবে এবং এর বাইরে উপলব্ধ হবে না।
+
+#### সার্ভার কোড লিখুন
+
+এখন সার্ভার কোডটি পাইথনে লেখা যেতে পারে।
+
+##### কাজ - সার্ভার কোড লিখুন
+
+সার্ভার কোড লিখুন।
+
+1. ভার্চুয়াল এনভায়রনমেন্টের ভিতরে একটি `app.py` নামক পাইথন ফাইল তৈরি করতে আপনার টার্মিনাল বা কমান্ড লাইনে নিচের কমান্ডটি চালান:
+
+ * Windows-এ চালান:
+
+ ```cmd
+ type nul > app.py
+ ```
+
+ * macOS বা Linux-এ চালান:
+
+ ```cmd
+ touch app.py
+ ```
+
+1. বর্তমান ফোল্ডারটি VS Code-এ খুলুন:
+
+ ```sh
+ code .
+ ```
+
+1. যখন VS Code চালু হবে, এটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট অ্যাক্টিভেট করবে। এটি নিচের স্ট্যাটাস বারে রিপোর্ট করা হবে:
+
+ 
+
+1. যদি VS Code টার্মিনাল চালু থাকে যখন VS Code শুরু হয়, এটি টার্মিনালে ভার্চুয়াল এনভায়রনমেন্ট অ্যাক্টিভেট করবে না। সহজ উপায় হলো **Kill the active terminal instance** বোতামটি ব্যবহার করে টার্মিনালটি বন্ধ করা:
+
+ 
+
+1. *Terminal -> New Terminal* নির্বাচন করে বা `` CTRL+` `` চাপ দিয়ে একটি নতুন VS Code টার্মিনাল চালু করুন। নতুন টার্মিনাল ভার্চুয়াল এনভায়রনমেন্ট লোড করবে, এবং এটি টার্মিনালে অ্যাক্টিভেট করার কল দেখাবে। প্রম্পটে ভার্চুয়াল এনভায়রনমেন্টের নাম (`.venv`) থাকবে:
+
+ ```output
+ ➜ nightlight-server source .venv/bin/activate
+ (.venv) ➜ nightlight
+ ```
+
+1. VS Code এক্সপ্লোরার থেকে `app.py` ফাইলটি খুলুন এবং নিচের কোডটি যোগ করুন:
+
+ ```python
+ import json
+ import time
+
+ import paho.mqtt.client as mqtt
+
+ id = ''
+
+ client_telemetry_topic = id + '/telemetry'
+ client_name = id + 'nightlight_server'
+
+ mqtt_client = mqtt.Client(client_name)
+ mqtt_client.connect('test.mosquitto.org')
+
+ mqtt_client.loop_start()
+
+ def handle_telemetry(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ mqtt_client.subscribe(client_telemetry_topic)
+ mqtt_client.on_message = handle_telemetry
+
+ while True:
+ time.sleep(2)
+ ```
+
+ লাইনের 6-এ ``-এর জায়গায় আপনার ডিভাইস কোড তৈরি করার সময় ব্যবহৃত ইউনিক আইডি বসান।
+
+ ⚠️ এটি **অবশ্যই** সেই একই আইডি হতে হবে যা আপনি আপনার ডিভাইসে ব্যবহার করেছিলেন, নাহলে সার্ভার কোডটি সঠিক টপিকে সাবস্ক্রাইব বা পাবলিশ করবে না।
+
+ এই কোডটি একটি ইউনিক নাম সহ একটি MQTT ক্লায়েন্ট তৈরি করে এবং *test.mosquitto.org* ব্রোকারে সংযোগ করে। তারপর এটি একটি প্রসেসিং লুপ শুরু করে যা ব্যাকগ্রাউন্ড থ্রেডে চালায় এবং সাবস্ক্রাইব করা টপিকগুলোতে বার্তা শোনে।
+
+ ক্লায়েন্টটি টেলিমেট্রি টপিকে বার্তা সাবস্ক্রাইব করে এবং একটি ফাংশন সংজ্ঞায়িত করে যা বার্তা পাওয়া গেলে কল হয়। যখন একটি টেলিমেট্রি বার্তা পাওয়া যায়, তখন `handle_telemetry` ফাংশনটি কল হয় এবং কনসোলে প্রাপ্ত বার্তাটি প্রিন্ট করে।
+
+ অবশেষে একটি ইনফিনিট লুপ অ্যাপ্লিকেশনটি চালু রাখে। MQTT ক্লায়েন্টটি ব্যাকগ্রাউন্ড থ্রেডে বার্তা শোনে এবং প্রধান অ্যাপ্লিকেশন চালু থাকা অবস্থায় সবসময় চালু থাকে।
+
+1. আপনার পাইথন অ্যাপ চালানোর জন্য VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান:
+
+ ```sh
+ python app.py
+ ```
+
+ অ্যাপটি IoT ডিভাইস থেকে বার্তা শোনার জন্য শুরু হবে।
+
+1. নিশ্চিত করুন যে আপনার ডিভাইস চালু আছে এবং টেলিমেট্রি বার্তা পাঠাচ্ছে। আপনার ফিজিক্যাল বা ভার্চুয়াল ডিভাইসের আলো স্তর পরিবর্তন করুন। প্রাপ্ত বার্তাগুলো টার্মিনালে প্রিন্ট হবে:
+
+ ```output
+ (.venv) ➜ nightlight-server python app.py
+ Message received: {'light': 0}
+ Message received: {'light': 400}
+ ```
+
+ nightlight ভার্চুয়াল এনভায়রনমেন্টে থাকা `app.py` ফাইলটি চালু থাকতে হবে যাতে nightlight-server ভার্চুয়াল এনভায়রনমেন্টে থাকা `app.py` ফাইলটি প্রেরিত বার্তাগুলো গ্রহণ করতে পারে।
+
+> 💁 আপনি এই কোডটি [code-server/server](../../../../../1-getting-started/lessons/4-connect-internet/code-server/server) ফোল্ডারে খুঁজে পেতে পারেন।
+
+### টেলিমেট্রি কতবার পাঠানো উচিত?
+
+টেলিমেট্রি কতবার মাপা এবং পাঠানো উচিত তা একটি গুরুত্বপূর্ণ বিষয়। উত্তর হলো - এটি নির্ভর করে। যদি আপনি প্রায়ই মাপেন, তবে আপনি পরিবর্তনের প্রতি দ্রুত সাড়া দিতে পারবেন, কিন্তু এতে বেশি শক্তি, ব্যান্ডউইথ, ডেটা এবং ক্লাউড রিসোর্স প্রয়োজন হবে। আপনাকে যথেষ্ট পরিমাণে মাপতে হবে, কিন্তু খুব বেশি নয়।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+শেষ তিনটি পাঠে চ্যালেঞ্জ ছিল আপনার বাড়ি, স্কুল বা কর্মস্থলে যত IoT ডিভাইস আছে সেগুলোর তালিকা তৈরি করা এবং নির্ধারণ করা যে সেগুলো মাইক্রোকন্ট্রোলার বা সিঙ্গেল-বোর্ড কম্পিউটারের উপর ভিত্তি করে তৈরি কিনা, অথবা উভয়ের মিশ্রণ কিনা, এবং সেগুলো কোন সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করছে তা চিন্তা করা।
+এই ডিভাইসগুলোর জন্য, ভাবুন তারা কী ধরনের বার্তা পাঠাচ্ছে বা গ্রহণ করছে। তারা কী ধরনের টেলিমেট্রি পাঠাচ্ছে? তারা কী ধরনের বার্তা বা কমান্ড গ্রহণ করতে পারে? আপনি কি মনে করেন এগুলো নিরাপদ?
+
+## লেকচার-পরবর্তী কুইজ
+
+[লেকচার-পরবর্তী কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/8)
+
+## পর্যালোচনা ও স্ব-অধ্যয়ন
+
+MQTT সম্পর্কে আরও জানুন [MQTT Wikipedia পেজে](https://wikipedia.org/wiki/MQTT)।
+
+নিজে একটি MQTT ব্রোকার চালানোর চেষ্টা করুন [Mosquitto](https://www.mosquitto.org) ব্যবহার করে এবং আপনার IoT ডিভাইস ও সার্ভার কোড থেকে এর সাথে সংযোগ স্থাপন করুন।
+
+> 💁 টিপ - ডিফল্টভাবে Mosquitto অ্যানোনিমাস সংযোগ (অর্থাৎ, ব্যবহারকারীর নাম এবং পাসওয়ার্ড ছাড়া সংযোগ) অনুমোদন করে না এবং এটি যে কম্পিউটারে চলছে তার বাইরে থেকে সংযোগ অনুমোদন করে না।
+> আপনি এটি একটি [`mosquitto.conf` কনফিগ ফাইল](https://www.mosquitto.org/man/mosquitto-conf-5.html) ব্যবহার করে ঠিক করতে পারেন, যেখানে নিম্নলিখিত থাকবে:
+>
+> ```sh
+> listener 1883 0.0.0.0
+> allow_anonymous true
+> ```
+
+## অ্যাসাইনমেন্ট
+
+[MQTT এবং অন্যান্য যোগাযোগ প্রোটোকলের তুলনা ও পার্থক্য](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/assignment.md b/translations/bn/1-getting-started/lessons/4-connect-internet/assignment.md
new file mode 100644
index 00000000..98b65938
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/assignment.md
@@ -0,0 +1,28 @@
+
+# MQTT এবং অন্যান্য যোগাযোগ প্রোটোকলের তুলনা এবং পার্থক্য
+
+## নির্দেশনা
+
+এই পাঠে MQTT একটি যোগাযোগ প্রোটোকল হিসেবে আলোচনা করা হয়েছে। আরও কিছু প্রোটোকল রয়েছে, যেমন AMQP এবং HTTP/HTTPS।
+
+এই প্রোটোকলগুলো নিয়ে গবেষণা করুন এবং MQTT-এর সাথে তুলনা/পার্থক্য করুন। শক্তি ব্যবহার, নিরাপত্তা, এবং সংযোগ হারালে বার্তা স্থায়িত্বের বিষয়গুলো বিবেচনা করুন।
+
+## মূল্যায়ন মানদণ্ড
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| AMQP এবং MQTT-এর তুলনা | AMQP এবং MQTT-এর তুলনা এবং পার্থক্য করতে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের বিষয়গুলো কভার করে। | AMQP এবং MQTT-এর তুলনা এবং পার্থক্য করতে আংশিকভাবে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের মধ্যে দুটি বিষয় কভার করে। | AMQP এবং MQTT-এর তুলনা এবং পার্থক্য করতে আংশিকভাবে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের মধ্যে একটি বিষয় কভার করে। |
+| HTTP/HTTPS এবং MQTT-এর তুলনা | HTTP/HTTPS এবং MQTT-এর তুলনা এবং পার্থক্য করতে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের বিষয়গুলো কভার করে। | HTTP/HTTPS এবং MQTT-এর তুলনা এবং পার্থক্য করতে আংশিকভাবে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের মধ্যে দুটি বিষয় কভার করে। | HTTP/HTTPS এবং MQTT-এর তুলনা এবং পার্থক্য করতে আংশিকভাবে সক্ষম এবং শক্তি, নিরাপত্তা, এবং বার্তা স্থায়িত্বের মধ্যে একটি বিষয় কভার করে। |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md
new file mode 100644
index 00000000..aef96001
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md
@@ -0,0 +1,67 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - ভার্চুয়াল IoT হার্ডওয়্যার এবং রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি MQTT ব্রোকার থেকে আপনার রাস্পবেরি পাই বা ভার্চুয়াল IoT ডিভাইসে পাঠানো কমান্ডগুলোর সাবস্ক্রিপশন করবেন।
+
+## কমান্ডগুলোর সাবস্ক্রিপশন করুন
+
+পরবর্তী ধাপ হলো MQTT ব্রোকার থেকে পাঠানো কমান্ডগুলোর সাবস্ক্রিপশন করা এবং সেগুলোর প্রতিক্রিয়া জানানো।
+
+### কাজ
+
+কমান্ডগুলোর সাবস্ক্রিপশন করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন।
+
+1. যদি আপনি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে নিশ্চিত করুন যে টার্মিনাল ভার্চুয়াল এনভায়রনমেন্ট চালাচ্ছে। যদি আপনি রাস্পবেরি পাই ব্যবহার করেন, তাহলে ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করা হবে না।
+
+1. `client_telemetry_topic` এর সংজ্ঞাগুলোর পরে নিচের কোডটি যোগ করুন:
+
+ ```python
+ server_command_topic = id + '/commands'
+ ```
+
+ `server_command_topic` হলো MQTT টপিক, যেখানে ডিভাইসটি LED কমান্ড গ্রহণ করার জন্য সাবস্ক্রাইব করবে।
+
+1. প্রধান লুপের ঠিক উপরে, `mqtt_client.loop_start()` লাইনের পরে নিচের কোডটি যোগ করুন:
+
+ ```python
+ def handle_command(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ if payload['led_on']:
+ led.on()
+ else:
+ led.off()
+
+ mqtt_client.subscribe(server_command_topic)
+ mqtt_client.on_message = handle_command
+ ```
+
+ এই কোডটি একটি ফাংশন, `handle_command`, সংজ্ঞায়িত করে যা একটি বার্তাকে JSON ডকুমেন্ট হিসেবে পড়ে এবং `led_on` প্রপার্টির মান খুঁজে। যদি এটি `True` সেট করা থাকে, তাহলে LED চালু হয়, অন্যথায় এটি বন্ধ হয়।
+
+ MQTT ক্লায়েন্ট সেই টপিকে সাবস্ক্রাইব করে যেখানে সার্ভার বার্তা পাঠাবে এবং বার্তা পাওয়া গেলে `handle_command` ফাংশনটি কল করার জন্য সেট করে।
+
+ > 💁 `on_message` হ্যান্ডলারটি সাবস্ক্রাইব করা সমস্ত টপিকের জন্য কল করা হয়। যদি আপনি পরে এমন কোড লিখেন যা একাধিক টপিকের জন্য শোনে, তাহলে আপনি বার্তাটি কোন টপিকে পাঠানো হয়েছে তা `message` অবজেক্ট থেকে পেতে পারেন যা হ্যান্ডলার ফাংশনে পাঠানো হয়।
+
+1. আগের অংশের কোড চালানোর মতো একইভাবে কোডটি চালান। যদি আপনি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে নিশ্চিত করুন যে CounterFit অ্যাপটি চালু আছে এবং লাইট সেন্সর এবং LED সঠিক পিনে তৈরি করা হয়েছে।
+
+1. আপনার শারীরিক বা ভার্চুয়াল ডিভাইস দ্বারা সনাক্ত করা লাইট লেভেল সামঞ্জস্য করুন। বার্তা গ্রহণ এবং কমান্ড পাঠানোর তথ্য টার্মিনালে লেখা হবে। লাইট লেভেলের উপর নির্ভর করে LED চালু এবং বন্ধ হবে।
+
+> 💁 আপনি এই কোডটি [code-commands/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/virtual-device) ফোল্ডারে বা [code-commands/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইসকে MQTT ব্রোকার থেকে পাঠানো কমান্ডগুলোর প্রতিক্রিয়া জানাতে কোড করেছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md
new file mode 100644
index 00000000..779dd42d
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md
@@ -0,0 +1,93 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - ভার্চুয়াল IoT হার্ডওয়্যার এবং র্যাস্পবেরি পাই
+
+IoT ডিভাইসটি *test.mosquitto.org* এর সাথে MQTT ব্যবহার করে যোগাযোগ করার জন্য কোড করা প্রয়োজন, যাতে এটি লাইট সেন্সরের রিডিং সহ টেলিমেট্রি মান পাঠাতে পারে এবং LED নিয়ন্ত্রণের জন্য কমান্ড গ্রহণ করতে পারে।
+
+এই পাঠের এই অংশে, আপনি আপনার র্যাস্পবেরি পাই বা ভার্চুয়াল IoT ডিভাইসটিকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করবেন।
+
+## MQTT ক্লায়েন্ট প্যাকেজ ইনস্টল করুন
+
+MQTT ব্রোকারের সাথে যোগাযোগ করার জন্য, আপনাকে আপনার পাই বা ভার্চুয়াল ডিভাইস ব্যবহার করলে ভার্চুয়াল এনভায়রনমেন্টে একটি MQTT লাইব্রেরি পিপ প্যাকেজ ইনস্টল করতে হবে।
+
+### কাজ
+
+পিপ প্যাকেজ ইনস্টল করুন
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন।
+
+1. যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, নিশ্চিত করুন যে টার্মিনালটি ভার্চুয়াল এনভায়রনমেন্ট চালাচ্ছে। যদি আপনি একটি র্যাস্পবেরি পাই ব্যবহার করেন, তবে ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করা হবে না।
+
+1. MQTT পিপ প্যাকেজ ইনস্টল করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ pip3 install paho-mqtt
+ ```
+
+## ডিভাইস কোড করুন
+
+ডিভাইসটি কোড করার জন্য প্রস্তুত।
+
+### কাজ
+
+ডিভাইস কোড লিখুন।
+
+1. `app.py` ফাইলের শীর্ষে নিচের ইমপোর্টটি যোগ করুন:
+
+ ```python
+ import paho.mqtt.client as mqtt
+ ```
+
+ `paho.mqtt.client` লাইব্রেরি আপনার অ্যাপকে MQTT এর মাধ্যমে যোগাযোগ করতে সাহায্য করে।
+
+1. লাইট সেন্সর এবং LED এর ডেফিনিশনের পরে নিচের কোডটি যোগ করুন:
+
+ ```python
+ id = ''
+
+ client_name = id + 'nightlight_client'
+ ```
+
+ `` এর জায়গায় একটি ইউনিক আইডি বসান, যা এই ডিভাইস ক্লায়েন্টের নাম হিসেবে ব্যবহৃত হবে এবং পরে এই ডিভাইস যে টপিকগুলোতে পাবলিশ এবং সাবস্ক্রাইব করবে সেগুলোর জন্য ব্যবহৃত হবে। *test.mosquitto.org* ব্রোকারটি পাবলিক এবং এটি অনেক মানুষ ব্যবহার করে, যার মধ্যে এই অ্যাসাইনমেন্টে কাজ করা অন্যান্য শিক্ষার্থীরাও রয়েছে। একটি ইউনিক MQTT ক্লায়েন্ট নাম এবং টপিক নাম ব্যবহার করলে আপনার কোড অন্য কারও সাথে সংঘর্ষ করবে না। এই আইডিটি আপনাকে এই অ্যাসাইনমেন্টের পরবর্তী অংশে সার্ভার কোড তৈরি করার সময়ও প্রয়োজন হবে।
+
+ > 💁 আপনি [GUIDGen](https://www.guidgen.com) এর মতো একটি ওয়েবসাইট ব্যবহার করে একটি ইউনিক আইডি তৈরি করতে পারেন।
+
+ `client_name` হল ব্রোকারে এই MQTT ক্লায়েন্টের জন্য একটি ইউনিক নাম।
+
+1. MQTT ক্লায়েন্ট অবজেক্ট তৈরি করতে এবং MQTT ব্রোকারের সাথে সংযোগ করতে নিচের কোডটি এই নতুন কোডের নিচে যোগ করুন:
+
+ ```python
+ mqtt_client = mqtt.Client(client_name)
+ mqtt_client.connect('test.mosquitto.org')
+
+ mqtt_client.loop_start()
+
+ print("MQTT connected!")
+ ```
+
+ এই কোডটি ক্লায়েন্ট অবজেক্ট তৈরি করে, পাবলিক MQTT ব্রোকারের সাথে সংযোগ স্থাপন করে এবং একটি প্রসেসিং লুপ শুরু করে যা একটি ব্যাকগ্রাউন্ড থ্রেডে চলে এবং সাবস্ক্রাইব করা টপিকগুলোতে বার্তা শোনে।
+
+1. আগের অংশের কোড চালানোর মতো একইভাবে কোডটি চালান। যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তবে নিশ্চিত করুন যে CounterFit অ্যাপটি চালু রয়েছে এবং লাইট সেন্সর এবং LED সঠিক পিনে তৈরি করা হয়েছে।
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ MQTT connected!
+ Light level: 0
+ Light level: 0
+ ```
+
+> 💁 আপনি এই কোডটি [code-mqtt/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/virtual-device) ফোল্ডারে বা [code-mqtt/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইসটিকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করেছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md
new file mode 100644
index 00000000..95576205
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md
@@ -0,0 +1,74 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - ভার্চুয়াল IoT হার্ডওয়্যার এবং রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি আপনার রাস্পবেরি পাই বা ভার্চুয়াল IoT ডিভাইস থেকে আলো স্তরের টেলিমেট্রি একটি MQTT ব্রোকারে পাঠাবেন।
+
+## টেলিমেট্রি প্রকাশ করুন
+
+পরবর্তী ধাপটি হলো টেলিমেট্রির জন্য একটি JSON ডকুমেন্ট তৈরি করা এবং এটি MQTT ব্রোকারে পাঠানো।
+
+### কাজ
+
+MQTT ব্রোকারে টেলিমেট্রি প্রকাশ করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন।
+
+1. যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে নিশ্চিত করুন যে টার্মিনাল ভার্চুয়াল পরিবেশ চালাচ্ছে। যদি আপনি রাস্পবেরি পাই ব্যবহার করেন, তাহলে ভার্চুয়াল পরিবেশ ব্যবহার করা হবে না।
+
+1. `app.py` ফাইলের শীর্ষে নিম্নলিখিত ইমপোর্ট যোগ করুন:
+
+ ```python
+ import json
+ ```
+
+ `json` লাইব্রেরি টেলিমেট্রিকে একটি JSON ডকুমেন্ট হিসেবে এনকোড করতে ব্যবহৃত হয়।
+
+1. `client_name` ঘোষণার পরে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ client_telemetry_topic = id + '/telemetry'
+ ```
+
+ `client_telemetry_topic` হলো MQTT টপিক যেখানে ডিভাইস আলো স্তর প্রকাশ করবে।
+
+1. ফাইলের শেষে `while True:` লুপের বিষয়বস্তু নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
+
+ ```python
+ while True:
+ light = light_sensor.light
+ telemetry = json.dumps({'light' : light})
+
+ print("Sending telemetry ", telemetry)
+
+ mqtt_client.publish(client_telemetry_topic, telemetry)
+
+ time.sleep(5)
+ ```
+
+ এই কোড আলো স্তরকে একটি JSON ডকুমেন্টে প্যাকেজ করে এবং এটি MQTT ব্রোকারে প্রকাশ করে। তারপর এটি বার্তা পাঠানোর ফ্রিকোয়েন্সি কমানোর জন্য কিছুক্ষণ অপেক্ষা করে।
+
+1. আগের অংশের কোড চালানোর মতো একইভাবে কোড চালান। যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে নিশ্চিত করুন যে CounterFit অ্যাপটি চালু আছে এবং আলো সেন্সর এবং LED সঠিক পিনে তৈরি করা হয়েছে।
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ MQTT connected!
+ Sending telemetry {"light": 0}
+ Sending telemetry {"light": 0}
+ ```
+
+> 💁 আপনি এই কোডটি [code-telemetry/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/virtual-device) ফোল্ডারে বা [code-telemetry/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইস থেকে টেলিমেট্রি পাঠিয়েছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md
new file mode 100644
index 00000000..9a887c52
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md
@@ -0,0 +1,93 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি MQTT ব্রোকার থেকে পাঠানো কমান্ডগুলিতে সাবস্ক্রাইব করবেন এবং সেগুলো আপনার Wio Terminal-এ গ্রহণ করবেন।
+
+## কমান্ডে সাবস্ক্রাইব করুন
+
+পরবর্তী ধাপ হলো MQTT ব্রোকার থেকে পাঠানো কমান্ডগুলিতে সাবস্ক্রাইব করা এবং সেগুলোর প্রতিক্রিয়া জানানো।
+
+### কাজ
+
+কমান্ডে সাবস্ক্রাইব করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন।
+
+1. `config.h` ফাইলের নিচে নিম্নলিখিত কোড যোগ করুন, যা কমান্ডের জন্য টপিক নাম নির্ধারণ করবে:
+
+ ```cpp
+ const string SERVER_COMMAND_TOPIC = ID + "/commands";
+ ```
+
+ `SERVER_COMMAND_TOPIC` হলো সেই টপিক যেখানে ডিভাইসটি LED কমান্ড গ্রহণ করার জন্য সাবস্ক্রাইব করবে।
+
+1. `reconnectMQTTClient` ফাংশনের শেষে নিম্নলিখিত লাইনটি যোগ করুন, যাতে MQTT ক্লায়েন্ট পুনরায় সংযুক্ত হলে কমান্ড টপিকে সাবস্ক্রাইব করা যায়:
+
+ ```cpp
+ client.subscribe(SERVER_COMMAND_TOPIC.c_str());
+ ```
+
+1. `reconnectMQTTClient` ফাংশনের নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ void clientCallback(char *topic, uint8_t *payload, unsigned int length)
+ {
+ char buff[length + 1];
+ for (int i = 0; i < length; i++)
+ {
+ buff[i] = (char)payload[i];
+ }
+ buff[length] = '\0';
+
+ Serial.print("Message received:");
+ Serial.println(buff);
+
+ DynamicJsonDocument doc(1024);
+ deserializeJson(doc, buff);
+ JsonObject obj = doc.as();
+
+ bool led_on = obj["led_on"];
+
+ if (led_on)
+ digitalWrite(D0, HIGH);
+ else
+ digitalWrite(D0, LOW);
+ }
+ ```
+
+ এই ফাংশনটি হবে সেই কলব্যাক যা MQTT ক্লায়েন্ট সার্ভার থেকে কোনো বার্তা গ্রহণ করলে কল করবে।
+
+ বার্তাটি একটি unsigned 8-bit integer এর অ্যারের আকারে গ্রহণ করা হয়, তাই এটিকে টেক্সট হিসেবে ব্যবহার করার জন্য একটি character array-এ রূপান্তর করতে হবে।
+
+ বার্তাটি একটি JSON ডকুমেন্ট ধারণ করে এবং এটি ArduinoJson লাইব্রেরি ব্যবহার করে ডিকোড করা হয়। JSON ডকুমেন্টের `led_on` প্রপার্টি পড়া হয় এবং তার মান অনুযায়ী LED চালু বা বন্ধ করা হয়।
+
+1. `createMQTTClient` ফাংশনে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ client.setCallback(clientCallback);
+ ```
+
+ এই কোডটি `clientCallback`-কে কলব্যাক হিসেবে সেট করে, যা MQTT ব্রোকার থেকে বার্তা গ্রহণ করলে কল করা হবে।
+
+ > 💁 `clientCallback` হ্যান্ডলারটি সমস্ত টপিকের জন্য কল করা হয় যা সাবস্ক্রাইব করা হয়েছে। যদি আপনি পরে এমন কোড লিখেন যা একাধিক টপিকের জন্য শোনে, তাহলে বার্তাটি কোন টপিকে পাঠানো হয়েছে তা `topic` প্যারামিটার থেকে জানা যাবে যা কলব্যাক ফাংশনে পাঠানো হয়।
+
+1. কোডটি আপনার Wio Terminal-এ আপলোড করুন এবং সিরিয়াল মনিটর ব্যবহার করে দেখুন কীভাবে আলো স্তরগুলি MQTT ব্রোকারে পাঠানো হচ্ছে।
+
+1. আপনার বাস্তব বা ভার্চুয়াল ডিভাইসের আলো স্তর সামঞ্জস্য করুন। আপনি টার্মিনালে বার্তা গ্রহণ এবং কমান্ড পাঠানোর প্রক্রিয়া দেখতে পাবেন। আলো স্তরের উপর নির্ভর করে LED চালু বা বন্ধ হওয়া দেখতে পাবেন।
+
+> 💁 আপনি এই কোডটি [code-commands/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইসটি MQTT ব্রোকার থেকে পাঠানো কমান্ডগুলোর প্রতিক্রিয়া জানাতে কোড করেছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md
new file mode 100644
index 00000000..9cecc7e1
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md
@@ -0,0 +1,251 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - Wio Terminal
+
+IoT ডিভাইসটি *test.mosquitto.org* এর সাথে MQTT ব্যবহার করে যোগাযোগ করার জন্য কোড করা প্রয়োজন, যাতে এটি লাইট সেন্সরের রিডিং সহ টেলিমেট্রি মান পাঠাতে পারে এবং LED নিয়ন্ত্রণের জন্য কমান্ড গ্রহণ করতে পারে।
+
+এই পাঠের অংশে, আপনি আপনার Wio Terminal-কে একটি MQTT ব্রোকারের সাথে সংযুক্ত করবেন।
+
+## WiFi এবং MQTT Arduino লাইব্রেরি ইনস্টল করুন
+
+MQTT ব্রোকারের সাথে যোগাযোগ করতে, আপনাকে কিছু Arduino লাইব্রেরি ইনস্টল করতে হবে যা Wio Terminal-এর WiFi চিপ ব্যবহার করে এবং MQTT এর সাথে যোগাযোগ করে। Arduino ডিভাইসের জন্য ডেভেলপ করার সময়, আপনি বিভিন্ন লাইব্রেরি ব্যবহার করতে পারেন যা ওপেন-সোর্স কোড ধারণ করে এবং অনেক ক্ষমতা বাস্তবায়ন করে। Seeed Wio Terminal-এর জন্য লাইব্রেরি প্রকাশ করে যা এটি WiFi এর মাধ্যমে যোগাযোগ করতে সক্ষম করে। অন্যান্য ডেভেলপাররা MQTT ব্রোকারের সাথে যোগাযোগ করার জন্য লাইব্রেরি প্রকাশ করেছেন, এবং আপনি এগুলি আপনার ডিভাইসের সাথে ব্যবহার করবেন।
+
+এই লাইব্রেরিগুলি সোর্স কোড হিসাবে সরবরাহ করা হয় যা PlatformIO-তে স্বয়ংক্রিয়ভাবে আমদানি করা যায় এবং আপনার ডিভাইসের জন্য কম্পাইল করা যায়। এইভাবে Arduino লাইব্রেরিগুলি যে কোনও ডিভাইসে কাজ করবে যা Arduino ফ্রেমওয়ার্ক সমর্থন করে, যদি ডিভাইসটির সেই লাইব্রেরির জন্য প্রয়োজনীয় নির্দিষ্ট হার্ডওয়্যার থাকে। কিছু লাইব্রেরি, যেমন Seeed WiFi লাইব্রেরি, নির্দিষ্ট হার্ডওয়্যারের জন্য বিশেষভাবে তৈরি।
+
+লাইব্রেরিগুলি গ্লোবালি ইনস্টল করা এবং প্রয়োজনে কম্পাইল করা যেতে পারে, অথবা একটি নির্দিষ্ট প্রজেক্টে। এই অ্যাসাইনমেন্টের জন্য, লাইব্রেরিগুলি প্রজেক্টে ইনস্টল করা হবে।
+
+✅ লাইব্রেরি ম্যানেজমেন্ট এবং কীভাবে লাইব্রেরি খুঁজে এবং ইনস্টল করতে হয় সে সম্পর্কে আরও জানতে পারেন [PlatformIO লাইব্রেরি ডকুমেন্টেশন](https://docs.platformio.org/en/latest/librarymanager/index.html) থেকে।
+
+### টাস্ক - WiFi এবং MQTT Arduino লাইব্রেরি ইনস্টল করুন
+
+Arduino লাইব্রেরি ইনস্টল করুন।
+
+1. VS Code-এ নাইটলাইট প্রজেক্ট খুলুন।
+
+1. `platformio.ini` ফাইলের শেষে নিম্নলিখিত যোগ করুন:
+
+ ```ini
+ lib_deps =
+ seeed-studio/Seeed Arduino rpcWiFi @ 1.0.5
+ seeed-studio/Seeed Arduino FS @ 2.1.1
+ seeed-studio/Seeed Arduino SFUD @ 2.0.2
+ seeed-studio/Seeed Arduino rpcUnified @ 2.1.3
+ seeed-studio/Seeed_Arduino_mbedtls @ 3.0.1
+ ```
+
+ এটি Seeed WiFi লাইব্রেরি আমদানি করে। `@ ` সিনট্যাক্সটি লাইব্রেরির একটি নির্দিষ্ট সংস্করণ নম্বরকে নির্দেশ করে।
+
+ > 💁 আপনি সর্বদা লাইব্রেরির সর্বশেষ সংস্করণ ব্যবহার করতে `@ ` সরিয়ে ফেলতে পারেন, তবে পরবর্তী সংস্করণগুলি নীচের কোডের সাথে কাজ করবে তার কোনও গ্যারান্টি নেই। এখানে কোডটি এই লাইব্রেরির সংস্করণের সাথে পরীক্ষা করা হয়েছে।
+
+ লাইব্রেরি যোগ করার জন্য এটুকুই যথেষ্ট। পরবর্তীবার PlatformIO প্রজেক্টটি তৈরি করলে এটি এই লাইব্রেরিগুলির সোর্স কোড ডাউনলোড করবে এবং আপনার প্রজেক্টে কম্পাইল করবে।
+
+1. `lib_deps`-এ নিম্নলিখিত যোগ করুন:
+
+ ```ini
+ knolleary/PubSubClient @ 2.8
+ ```
+
+ এটি [PubSubClient](https://github.com/knolleary/pubsubclient), একটি Arduino MQTT ক্লায়েন্ট আমদানি করে।
+
+## WiFi-তে সংযুক্ত করুন
+
+এখন Wio Terminal-কে WiFi-তে সংযুক্ত করা যাবে।
+
+### টাস্ক - WiFi-তে সংযুক্ত করুন
+
+Wio Terminal-কে WiFi-তে সংযুক্ত করুন।
+
+1. `src` ফোল্ডারে একটি নতুন ফাইল তৈরি করুন যার নাম `config.h`। এটি করতে, `src` ফোল্ডার বা তার ভিতরে থাকা `main.cpp` ফাইলটি নির্বাচন করুন এবং এক্সপ্লোরারে **New file** বোতামটি নির্বাচন করুন। এই বোতামটি শুধুমাত্র তখনই প্রদর্শিত হয় যখন আপনার কার্সর এক্সপ্লোরারের উপর থাকে।
+
+ 
+
+1. এই ফাইলে নিম্নলিখিত কোড যোগ করুন যা আপনার WiFi ক্রেডেনশিয়ালের জন্য কনস্ট্যান্ট সংজ্ঞায়িত করে:
+
+ ```cpp
+ #pragma once
+
+ #include
+
+ using namespace std;
+
+ // WiFi credentials
+ const char *SSID = "";
+ const char *PASSWORD = "";
+ ```
+
+ ``-এর জায়গায় আপনার WiFi-এর SSID লিখুন। ``-এর জায়গায় আপনার WiFi পাসওয়ার্ড লিখুন।
+
+1. `main.cpp` ফাইলটি খুলুন।
+
+1. ফাইলের শীর্ষে নিম্নলিখিত `#include` নির্দেশগুলি যোগ করুন:
+
+ ```cpp
+ #include
+ #include
+ #include
+
+ #include "config.h"
+ ```
+
+ এটি পূর্বে যোগ করা লাইব্রেরিগুলির জন্য হেডার ফাইলগুলি অন্তর্ভুক্ত করে, পাশাপাশি কনফিগ হেডার ফাইল। এই হেডার ফাইলগুলি PlatformIO-কে লাইব্রেরিগুলির কোড আনতে বলে। এই হেডার ফাইলগুলি স্পষ্টভাবে অন্তর্ভুক্ত না করলে, কিছু কোড কম্পাইল করা হবে না এবং আপনি কম্পাইলার ত্রুটি পাবেন।
+
+1. `setup` ফাংশনের উপরে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ void connectWiFi()
+ {
+ while (WiFi.status() != WL_CONNECTED)
+ {
+ Serial.println("Connecting to WiFi..");
+ WiFi.begin(SSID, PASSWORD);
+ delay(500);
+ }
+
+ Serial.println("Connected!");
+ }
+ ```
+
+ এই কোডটি ডিভাইসটি WiFi-তে সংযুক্ত না থাকা পর্যন্ত লুপ করে এবং কনফিগ হেডার ফাইল থেকে SSID এবং পাসওয়ার্ড ব্যবহার করে সংযোগ করার চেষ্টা করে।
+
+1. পিনগুলি কনফিগার করার পরে `setup` ফাংশনের শেষে এই ফাংশনটি কল করুন।
+
+ ```cpp
+ connectWiFi();
+ ```
+
+1. আপনার ডিভাইসে এই কোড আপলোড করুন এবং দেখুন WiFi সংযোগ কাজ করছে কিনা। আপনি এটি সিরিয়াল মনিটরে দেখতে পাবেন।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ ```
+
+## MQTT-তে সংযুক্ত করুন
+
+Wio Terminal WiFi-তে সংযুক্ত হওয়ার পরে, এটি MQTT ব্রোকারের সাথে সংযুক্ত হতে পারে।
+
+### টাস্ক - MQTT-তে সংযুক্ত করুন
+
+MQTT ব্রোকারের সাথে সংযুক্ত করুন।
+
+1. MQTT ব্রোকারের সংযোগের বিবরণ সংজ্ঞায়িত করতে `config.h` ফাইলের শেষে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ // MQTT settings
+ const string ID = "";
+
+ const string BROKER = "test.mosquitto.org";
+ const string CLIENT_NAME = ID + "nightlight_client";
+ ```
+
+ ``-এর জায়গায় একটি ইউনিক আইডি লিখুন যা এই ডিভাইস ক্লায়েন্টের নাম হিসেবে ব্যবহৃত হবে এবং পরে এই ডিভাইসটি যে টপিকগুলি প্রকাশ এবং সাবস্ক্রাইব করবে তার জন্য। *test.mosquitto.org* ব্রোকারটি পাবলিক এবং অনেক লোক ব্যবহার করে, যার মধ্যে এই অ্যাসাইনমেন্টে কাজ করা অন্যান্য শিক্ষার্থীরাও রয়েছে। একটি ইউনিক MQTT ক্লায়েন্ট নাম এবং টপিক নাম থাকা নিশ্চিত করে যে আপনার কোড অন্য কারও সাথে সংঘর্ষ করবে না। আপনি এই অ্যাসাইনমেন্টে পরে সার্ভার কোড তৈরি করার সময়ও এই আইডি প্রয়োজন হবে।
+
+ > 💁 আপনি একটি ওয়েবসাইট যেমন [GUIDGen](https://www.guidgen.com) ব্যবহার করে একটি ইউনিক আইডি তৈরি করতে পারেন।
+
+ `BROKER` হল MQTT ব্রোকারের URL।
+
+ `CLIENT_NAME` হল এই MQTT ক্লায়েন্টের জন্য ব্রোকারে একটি ইউনিক নাম।
+
+1. `main.cpp` ফাইলটি খুলুন এবং `connectWiFi` ফাংশনের নিচে এবং `setup` ফাংশনের উপরে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ WiFiClient wioClient;
+ PubSubClient client(wioClient);
+ ```
+
+ এই কোডটি Wio Terminal WiFi লাইব্রেরি ব্যবহার করে একটি WiFi ক্লায়েন্ট তৈরি করে এবং এটি ব্যবহার করে একটি MQTT ক্লায়েন্ট তৈরি করে।
+
+1. এই কোডের নিচে নিম্নলিখিত যোগ করুন:
+
+ ```cpp
+ void reconnectMQTTClient()
+ {
+ while (!client.connected())
+ {
+ Serial.print("Attempting MQTT connection...");
+
+ if (client.connect(CLIENT_NAME.c_str()))
+ {
+ Serial.println("connected");
+ }
+ else
+ {
+ Serial.print("Retying in 5 seconds - failed, rc=");
+ Serial.println(client.state());
+
+ delay(5000);
+ }
+ }
+ }
+ ```
+
+ এই ফাংশনটি MQTT ব্রোকারের সাথে সংযোগ পরীক্ষা করে এবং সংযুক্ত না থাকলে পুনরায় সংযোগ করে। এটি লুপ করে যতক্ষণ না এটি সংযুক্ত হয় এবং কনফিগ হেডার ফাইলের ইউনিক ক্লায়েন্ট নাম ব্যবহার করে সংযোগ করার চেষ্টা করে।
+
+ যদি সংযোগ ব্যর্থ হয়, এটি ৫ সেকেন্ড পরে পুনরায় চেষ্টা করে।
+
+1. `reconnectMQTTClient` ফাংশনের নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ void createMQTTClient()
+ {
+ client.setServer(BROKER.c_str(), 1883);
+ reconnectMQTTClient();
+ }
+ ```
+
+ এই কোডটি ক্লায়েন্টের জন্য MQTT ব্রোকার সেট করে, পাশাপাশি একটি কলব্যাক সেট করে যখন একটি বার্তা গ্রহণ করা হয়। এটি ব্রোকারের সাথে সংযোগ করার চেষ্টা করে।
+
+1. WiFi সংযুক্ত হওয়ার পরে `setup` ফাংশনে `createMQTTClient` ফাংশনটি কল করুন।
+
+1. পুরো `loop` ফাংশনটি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন:
+
+ ```cpp
+ void loop()
+ {
+ reconnectMQTTClient();
+ client.loop();
+
+ delay(2000);
+ }
+ ```
+
+ এই কোডটি MQTT ব্রোকারের সাথে পুনরায় সংযোগ দিয়ে শুরু করে। এই সংযোগগুলি সহজেই ভেঙে যেতে পারে, তাই নিয়মিতভাবে পরীক্ষা করা এবং প্রয়োজন হলে পুনরায় সংযোগ করা গুরুত্বপূর্ণ। এটি তারপরে MQTT ক্লায়েন্টের `loop` মেথড কল করে যে কোনও বার্তা প্রক্রিয়া করতে যা সাবস্ক্রাইব করা টপিকে আসছে। এই অ্যাপটি সিঙ্গেল-থ্রেডেড, তাই বার্তাগুলি ব্যাকগ্রাউন্ড থ্রেডে গ্রহণ করা যাবে না, তাই প্রধান থ্রেডে নেটওয়ার্ক সংযোগে অপেক্ষমাণ বার্তাগুলি প্রক্রিয়া করার জন্য সময় বরাদ্দ করতে হবে।
+
+ অবশেষে, ২ সেকেন্ডের একটি বিলম্ব নিশ্চিত করে যে লাইট লেভেলগুলি খুব ঘন ঘন পাঠানো হচ্ছে না এবং ডিভাইসের পাওয়ার কনজাম্পশন কমায়।
+
+1. আপনার Wio Terminal-এ কোড আপলোড করুন এবং সিরিয়াল মনিটর ব্যবহার করে ডিভাইসটি WiFi এবং MQTT-তে সংযুক্ত হচ্ছে কিনা দেখুন।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ source /Users/jimbennett/GitHub/IoT-For-Beginners/1-getting-started/lessons/4-connect-internet/code-mqtt/wio-terminal/nightlight/.venv/bin/activate
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ ```
+
+> 💁 আপনি এই কোডটি [code-mqtt/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইসকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করেছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় থাকা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md
new file mode 100644
index 00000000..ad99fa88
--- /dev/null
+++ b/translations/bn/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md
@@ -0,0 +1,93 @@
+
+# ইন্টারনেটের মাধ্যমে আপনার নাইটলাইট নিয়ন্ত্রণ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal থেকে MQTT ব্রোকারে লাইট লেভেলের টেলিমেট্রি পাঠাবেন।
+
+## JSON Arduino লাইব্রেরি ইনস্টল করুন
+
+MQTT এর মাধ্যমে বার্তা পাঠানোর একটি জনপ্রিয় উপায় হল JSON ব্যবহার করা। JSON ডকুমেন্ট পড়া এবং লেখা সহজ করার জন্য একটি Arduino লাইব্রেরি রয়েছে।
+
+### কাজ
+
+Arduino JSON লাইব্রেরি ইনস্টল করুন।
+
+1. VS Code-এ নাইটলাইট প্রকল্পটি খুলুন।
+
+1. `platformio.ini` ফাইলের `lib_deps` তালিকায় একটি অতিরিক্ত লাইন হিসেবে নিম্নলিখিতটি যোগ করুন:
+
+ ```ini
+ bblanchon/ArduinoJson @ 6.17.3
+ ```
+
+ এটি [ArduinoJson](https://arduinojson.org) আমদানি করে, যা একটি Arduino JSON লাইব্রেরি।
+
+## টেলিমেট্রি প্রকাশ করুন
+
+পরবর্তী ধাপ হল টেলিমেট্রির জন্য একটি JSON ডকুমেন্ট তৈরি করা এবং এটি MQTT ব্রোকারে পাঠানো।
+
+### কাজ - টেলিমেট্রি প্রকাশ করুন
+
+MQTT ব্রোকারে টেলিমেট্রি প্রকাশ করুন।
+
+1. MQTT ব্রোকারের জন্য টেলিমেট্রি টপিক নাম সংজ্ঞায়িত করতে `config.h` ফাইলের নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
+ ```
+
+ `CLIENT_TELEMETRY_TOPIC` হল সেই টপিক যেখানে ডিভাইসটি লাইট লেভেল প্রকাশ করবে।
+
+1. `main.cpp` ফাইলটি খুলুন।
+
+1. ফাইলের শীর্ষে নিম্নলিখিত `#include` নির্দেশনা যোগ করুন:
+
+ ```cpp
+ #include
+ ```
+
+1. `loop` ফাংশনের ভিতরে, `delay` এর ঠিক আগে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ int light = analogRead(WIO_LIGHT);
+
+ DynamicJsonDocument doc(1024);
+ doc["light"] = light;
+
+ string telemetry;
+ serializeJson(doc, telemetry);
+
+ Serial.print("Sending telemetry ");
+ Serial.println(telemetry.c_str());
+
+ client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
+ ```
+
+ এই কোডটি লাইট লেভেল পড়ে এবং ArduinoJson ব্যবহার করে একটি JSON ডকুমেন্ট তৈরি করে যা এই লেভেল ধারণ করে। এটি একটি স্ট্রিংয়ে সিরিয়ালাইজ করা হয় এবং MQTT ক্লায়েন্টের মাধ্যমে টেলিমেট্রি MQTT টপিকে প্রকাশ করা হয়।
+
+1. আপনার Wio Terminal-এ কোড আপলোড করুন এবং Serial Monitor ব্যবহার করে দেখুন কিভাবে লাইট লেভেলগুলি MQTT ব্রোকারে পাঠানো হচ্ছে।
+
+ ```output
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ Sending telemetry {"light":652}
+ Sending telemetry {"light":612}
+ Sending telemetry {"light":583}
+ ```
+
+> 💁 আপনি এই কোডটি [code-telemetry/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইস থেকে টেলিমেট্রি পাঠিয়েছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/README.md b/translations/bn/2-farm/README.md
new file mode 100644
index 00000000..a9ef4bf1
--- /dev/null
+++ b/translations/bn/2-farm/README.md
@@ -0,0 +1,34 @@
+
+# IoT দিয়ে কৃষিকাজ
+
+জনসংখ্যা বাড়ার সাথে সাথে কৃষির উপর চাপও বাড়ছে। জমির পরিমাণ অপরিবর্তিত থাকে, কিন্তু জলবায়ু পরিবর্তন হয় - যা কৃষকদের জন্য আরও চ্যালেঞ্জ তৈরি করে, বিশেষ করে সেই ২ বিলিয়ন [অধিকাংশ কৃষক](https://wikipedia.org/wiki/Subsistence_agriculture) যারা তাদের উৎপাদিত ফসলের উপর নির্ভর করে নিজেদের এবং তাদের পরিবারের খাবারের যোগান দেন। IoT কৃষকদের আরও বুদ্ধিমত্তার সাথে সিদ্ধান্ত নিতে সাহায্য করতে পারে যে কী চাষ করা উচিত এবং কখন ফসল তোলা উচিত, উৎপাদন বৃদ্ধি করতে, শ্রম কমাতে, এবং কীটপতঙ্গ শনাক্ত ও মোকাবিলা করতে।
+
+এই ৬টি পাঠে আপনি শিখবেন কীভাবে ইন্টারনেট অফ থিংস ব্যবহার করে কৃষিকাজ উন্নত এবং স্বয়ংক্রিয় করা যায়।
+
+> 💁 এই পাঠগুলোতে কিছু ক্লাউড রিসোর্স ব্যবহার করা হবে। যদি আপনি এই প্রকল্পের সব পাঠ সম্পন্ন না করেন, নিশ্চিত করুন যে আপনি [আপনার প্রকল্প পরিষ্কার করুন](../clean-up.md)।
+
+## বিষয়বস্তু
+
+1. [IoT দিয়ে গাছের বৃদ্ধি পূর্বাভাস দিন](lessons/1-predict-plant-growth/README.md)
+1. [মাটির আর্দ্রতা শনাক্ত করুন](lessons/2-detect-soil-moisture/README.md)
+1. [স্বয়ংক্রিয় গাছের পানি সরবরাহ](lessons/3-automated-plant-watering/README.md)
+1. [আপনার গাছকে ক্লাউডে স্থানান্তর করুন](lessons/4-migrate-your-plant-to-the-cloud/README.md)
+1. [আপনার অ্যাপ্লিকেশন লজিক ক্লাউডে স্থানান্তর করুন](lessons/5-migrate-application-to-the-cloud/README.md)
+1. [আপনার গাছকে সুরক্ষিত রাখুন](lessons/6-keep-your-plant-secure/README.md)
+
+## কৃতজ্ঞতা
+
+সব পাঠগুলো ♥️ দিয়ে লিখেছেন [Jim Bennett](https://GitHub.com/JimBobBennett)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/README.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/README.md
new file mode 100644
index 00000000..ecd25238
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/README.md
@@ -0,0 +1,147 @@
+
+# IoT ব্যবহার করে উদ্ভিদের বৃদ্ধি পূর্বাভাস দিন
+
+
+
+> স্কেচনোট করেছেন [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+## লেকচারের পূর্ববর্তী কুইজ
+
+[লেকচারের পূর্ববর্তী কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/9)
+
+## ভূমিকা
+
+উদ্ভিদের বৃদ্ধির জন্য কিছু নির্দিষ্ট উপাদান প্রয়োজন - পানি, কার্বন ডাই অক্সাইড, পুষ্টি, আলো এবং তাপ। এই পাঠে, আপনি শিখবেন কীভাবে বায়ুর তাপমাত্রা পরিমাপ করে উদ্ভিদের বৃদ্ধি এবং পরিপক্বতার হার নির্ধারণ করা যায়।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [ডিজিটাল কৃষি](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [কৃষিকাজে তাপমাত্রা কেন গুরুত্বপূর্ণ?](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [পরিবেশের তাপমাত্রা পরিমাপ](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [গ্রোইং ডিগ্রি ডেজ (GDD)](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [তাপমাত্রা সেন্সরের ডেটা ব্যবহার করে GDD গণনা](../../../../../2-farm/lessons/1-predict-plant-growth)
+
+## ডিজিটাল কৃষি
+
+ডিজিটাল কৃষি আমাদের কৃষিকাজের পদ্ধতিকে রূপান্তরিত করছে, যেখানে কৃষি থেকে ডেটা সংগ্রহ, সংরক্ষণ এবং বিশ্লেষণ করার জন্য বিভিন্ন সরঞ্জাম ব্যবহার করা হচ্ছে। আমরা বর্তমানে এমন একটি যুগে আছি, যা বিশ্ব অর্থনৈতিক ফোরামের মতে 'চতুর্থ শিল্প বিপ্লব' নামে পরিচিত। ডিজিটাল কৃষির উত্থানকে 'চতুর্থ কৃষি বিপ্লব' বা 'কৃষি ৪.০' বলা হচ্ছে।
+
+> 🎓 ডিজিটাল কৃষি শব্দটি 'কৃষি মূল্য শৃঙ্খল'কেও অন্তর্ভুক্ত করে, যা ফার্ম থেকে টেবিল পর্যন্ত পুরো যাত্রাকে বোঝায়। এর মধ্যে খাদ্য পরিবহন এবং প্রক্রিয়াকরণের সময় উৎপাদনের গুণমান ট্র্যাক করা, গুদাম এবং ই-কমার্স সিস্টেম, এমনকি ট্রাক্টর ভাড়ার অ্যাপ্লিকেশনও অন্তর্ভুক্ত।
+
+এই পরিবর্তনগুলো কৃষকদের উৎপাদনশীলতা বাড়াতে, কম সার এবং কীটনাশক ব্যবহার করতে এবং পানি আরও কার্যকরভাবে ব্যবহার করতে সাহায্য করে। যদিও মূলত ধনী দেশগুলোতে এই প্রযুক্তি ব্যবহৃত হয়, তবে সেন্সর এবং অন্যান্য ডিভাইসের দাম ধীরে ধীরে কমছে, যা উন্নয়নশীল দেশগুলোতেও এটি আরও সহজলভ্য করে তুলছে।
+
+ডিজিটাল কৃষি দ্বারা সক্ষম কিছু কৌশল:
+
+* তাপমাত্রা পরিমাপ - তাপমাত্রা পরিমাপ করে কৃষকরা উদ্ভিদের বৃদ্ধি এবং পরিপক্বতা পূর্বাভাস দিতে পারেন।
+* স্বয়ংক্রিয় সেচ - মাটির আর্দ্রতা পরিমাপ করে এবং মাটি খুব শুকনো হলে সেচ ব্যবস্থা চালু করা। নির্ধারিত সময়ের সেচের পরিবর্তে এই পদ্ধতি ব্যবহার করা হয়। নির্ধারিত সময়ের সেচে গরম, শুষ্ক আবহাওয়ায় ফসল কম পানি পেতে পারে বা বৃষ্টির সময় অতিরিক্ত পানি পেতে পারে। শুধুমাত্র মাটির প্রয়োজন অনুযায়ী পানি সরবরাহ করে কৃষকরা তাদের পানির ব্যবহার সর্বোচ্চ করতে পারেন।
+* কীটপতঙ্গ নিয়ন্ত্রণ - কৃষকরা স্বয়ংক্রিয় রোবট বা ড্রোনে ক্যামেরা ব্যবহার করে কীটপতঙ্গ শনাক্ত করতে পারেন এবং শুধুমাত্র প্রয়োজনীয় স্থানে কীটনাশক প্রয়োগ করতে পারেন। এটি কীটনাশকের ব্যবহার কমায় এবং স্থানীয় পানির উৎসে কীটনাশকের প্রবাহ কমায়।
+
+✅ গবেষণা করুন। কৃষি উৎপাদনশীলতা বাড়ানোর জন্য আর কী কী কৌশল ব্যবহার করা হয়?
+
+> 🎓 'প্রিসিশন এগ্রিকালচার' শব্দটি ক্ষেত্রভিত্তিক বা ক্ষেত্রের অংশভিত্তিক ফসল পর্যবেক্ষণ, পরিমাপ এবং প্রতিক্রিয়া জানানোর প্রক্রিয়াকে বোঝায়। এর মধ্যে পানি, পুষ্টি এবং কীটপতঙ্গের মাত্রা পরিমাপ এবং সঠিকভাবে প্রতিক্রিয়া জানানো অন্তর্ভুক্ত, যেমন ক্ষেত্রের একটি ছোট অংশে পানি সরবরাহ করা।
+
+## কৃষিকাজে তাপমাত্রা কেন গুরুত্বপূর্ণ?
+
+উদ্ভিদ সম্পর্কে শিখতে গিয়ে, বেশিরভাগ শিক্ষার্থীকে পানি, আলো, কার্বন ডাই অক্সাইড এবং পুষ্টির প্রয়োজনীয়তার কথা শেখানো হয়। তবে উদ্ভিদের বৃদ্ধির জন্য তাপও প্রয়োজন - এ কারণেই বসন্তে তাপমাত্রা বাড়ার সাথে সাথে উদ্ভিদ ফুল ফোটে, কেন স্নোড্রপ বা ড্যাফোডিল একটি ছোট উষ্ণ আবহাওয়ার কারণে আগেভাগে গজাতে পারে, এবং কেন হটহাউস এবং গ্রিনহাউস উদ্ভিদের বৃদ্ধিতে এত কার্যকর।
+
+> 🎓 হটহাউস এবং গ্রিনহাউস একই ধরনের কাজ করে, তবে একটি গুরুত্বপূর্ণ পার্থক্য রয়েছে। হটহাউস কৃত্রিমভাবে উত্তপ্ত হয় এবং কৃষকদের তাপমাত্রা আরও সঠিকভাবে নিয়ন্ত্রণ করতে দেয়, গ্রিনহাউস সূর্যের উপর নির্ভর করে এবং সাধারণত তাপ বের করার জন্য জানালা বা অন্যান্য খোলা জায়গা ব্যবহার করে।
+
+উদ্ভিদের একটি বেস বা ন্যূনতম তাপমাত্রা, আদর্শ তাপমাত্রা এবং সর্বোচ্চ তাপমাত্রা থাকে, যা দৈনিক গড় তাপমাত্রার উপর ভিত্তি করে নির্ধারিত।
+
+* বেস তাপমাত্রা - এটি একটি উদ্ভিদের বৃদ্ধির জন্য প্রয়োজনীয় ন্যূনতম দৈনিক গড় তাপমাত্রা।
+* আদর্শ তাপমাত্রা - এটি সর্বাধিক বৃদ্ধির জন্য সেরা দৈনিক গড় তাপমাত্রা।
+* সর্বোচ্চ তাপমাত্রা - এটি একটি উদ্ভিদ সহ্য করতে পারে এমন সর্বোচ্চ তাপমাত্রা। এর উপরে উদ্ভিদ তার বৃদ্ধি বন্ধ করে দেয় এবং পানি সংরক্ষণ ও বেঁচে থাকার চেষ্টা করে।
+
+> 💁 এগুলো গড় তাপমাত্রা, যা দিনের এবং রাতের তাপমাত্রার গড়। উদ্ভিদ আরও কার্যকরভাবে ফটোসিন্থেসিস করতে এবং রাতে শক্তি সঞ্চয় করতে দিনের এবং রাতের বিভিন্ন তাপমাত্রার প্রয়োজন।
+
+প্রতিটি উদ্ভিদের প্রজাতির জন্য তাদের বেস, আদর্শ এবং সর্বোচ্চ তাপমাত্রার মান ভিন্ন। এ কারণেই কিছু উদ্ভিদ গরম দেশে ভালোভাবে বৃদ্ধি পায়, এবং কিছু ঠান্ডা দেশে।
+
+✅ গবেষণা করুন। আপনার বাগান, স্কুল বা স্থানীয় পার্কে থাকা যেকোনো উদ্ভিদের জন্য বেস তাপমাত্রা খুঁজে বের করুন।
+
+
+
+উপরের গ্রাফটি একটি উদাহরণ বৃদ্ধি হার বনাম তাপমাত্রা গ্রাফ দেখায়। বেস তাপমাত্রার নিচে কোনো বৃদ্ধি নেই। বৃদ্ধি হার আদর্শ তাপমাত্রা পর্যন্ত বাড়ে, তারপর এই শীর্ষে পৌঁছানোর পরে হ্রাস পায়।
+
+এই গ্রাফের আকৃতি উদ্ভিদের প্রজাতি অনুযায়ী পরিবর্তিত হয়। কিছু প্রজাতির ক্ষেত্রে আদর্শ তাপমাত্রার উপরে দ্রুত হ্রাস ঘটে, আবার কিছু প্রজাতির ক্ষেত্রে বেস থেকে আদর্শ পর্যন্ত ধীরে ধীরে বৃদ্ধি ঘটে।
+
+> 💁 একজন কৃষকের জন্য সর্বোচ্চ বৃদ্ধি পেতে হলে, তাদের তিনটি তাপমাত্রার মান এবং তারা যে উদ্ভিদ চাষ করছেন তার জন্য গ্রাফের আকৃতি জানতে হবে।
+
+যদি একজন কৃষক তাপমাত্রা নিয়ন্ত্রণ করতে পারেন, যেমন একটি বাণিজ্যিক হটহাউসে, তবে তারা তাদের উদ্ভিদের জন্য তাপমাত্রা সর্বোচ্চ করতে পারেন। উদাহরণস্বরূপ, একটি বাণিজ্যিক হটহাউসে টমেটো চাষের জন্য দিনের বেলায় তাপমাত্রা ২৫°C এবং রাতে ২০°C রাখা হয় যাতে দ্রুত বৃদ্ধি হয়।
+
+> 🍅 এই তাপমাত্রাগুলোর সাথে কৃত্রিম আলো, সার এবং নিয়ন্ত্রিত CO
+এই কোডটি CSV ফাইল খুলে, শেষে একটি নতুন সারি যোগ করে। সারিতে বর্তমান তারিখ এবং সময় মানব-পঠনযোগ্য ফরম্যাটে ফরম্যাট করা থাকে, এরপর IoT ডিভাইস থেকে প্রাপ্ত তাপমাত্রা যোগ করা হয়। ডেটা [ISO 8601 ফরম্যাটে](https://wikipedia.org/wiki/ISO_8601) টাইমজোন সহ সংরক্ষণ করা হয়, তবে মাইক্রোসেকেন্ড ছাড়া।
+
+1. এই কোডটি আগের মতোই চালান, নিশ্চিত করুন যে আপনার IoT ডিভাইস ডেটা পাঠাচ্ছে। `temperature.csv` নামে একটি CSV ফাইল একই ফোল্ডারে তৈরি হবে। এটি দেখলে আপনি তারিখ/সময় এবং তাপমাত্রার পরিমাপ দেখতে পাবেন:
+
+ ```output
+ date,temperature
+ 2021-04-19T17:21:36-07:00,25
+ 2021-04-19T17:31:36-07:00,24
+ 2021-04-19T17:41:36-07:00,25
+ ```
+
+1. কিছুক্ষণ এই কোডটি চালান ডেটা সংগ্রহের জন্য। আদর্শভাবে, GDD গণনার জন্য যথেষ্ট ডেটা সংগ্রহ করতে এটি পুরো দিন চালানো উচিত।
+
+
+> 💁 যদি আপনি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে র্যান্ডম চেকবক্সটি নির্বাচন করুন এবং একটি রেঞ্জ সেট করুন যাতে প্রতিবার তাপমাত্রার মান ফেরত আসার সময় একই তাপমাত্রা না পাওয়া যায়।
+ 
+
+ > 💁 যদি আপনি এটি পুরো দিন চালাতে চান, তাহলে নিশ্চিত করুন যে আপনার সার্ভার কোড যে কম্পিউটারে চলছে সেটি ঘুমিয়ে যাবে না, হয় আপনার পাওয়ার সেটিংস পরিবর্তন করে, অথবা [এই সিস্টেম অ্যাক্টিভ রাখার পাইথন স্ক্রিপ্ট](https://github.com/jaqsparow/keep-system-active) চালিয়ে।
+
+> 💁 আপনি এই কোডটি [code-server/temperature-sensor-server](../../../../../2-farm/lessons/1-predict-plant-growth/code-server/temperature-sensor-server) ফোল্ডারে খুঁজে পেতে পারেন।
+
+### কাজ - সংরক্ষিত ডেটা ব্যবহার করে GDD গণনা করুন
+
+যখন সার্ভার তাপমাত্রার ডেটা সংগ্রহ করে, তখন একটি গাছের জন্য GDD গণনা করা যায়।
+
+এটি ম্যানুয়ালি করার ধাপগুলো হলো:
+
+1. গাছের জন্য বেস তাপমাত্রা খুঁজুন। উদাহরণস্বরূপ, স্ট্রবেরির জন্য বেস তাপমাত্রা ১০°C।
+
+1. `temperature.csv` থেকে দিনের সর্বোচ্চ এবং সর্বনিম্ন তাপমাত্রা খুঁজুন।
+
+1. পূর্বে দেওয়া GDD গণনা সূত্র ব্যবহার করে GDD গণনা করুন।
+
+উদাহরণস্বরূপ, যদি দিনের সর্বোচ্চ তাপমাত্রা ২৫°C হয় এবং সর্বনিম্ন তাপমাত্রা ১২°C হয়:
+
+
+
+* ২৫ + ১২ = ৩৭
+* ৩৭ / ২ = ১৮.৫
+* ১৮.৫ - ১০ = ৮.৫
+
+সুতরাং, স্ট্রবেরি **৮.৫** GDD পেয়েছে। স্ট্রবেরি ফল ধরতে প্রায় ২৫০ GDD প্রয়োজন, তাই এখনও কিছুটা সময় বাকি।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+গাছপালা বাড়ার জন্য শুধুমাত্র তাপমাত্রা নয়, আরও অনেক কিছু প্রয়োজন। আর কী কী প্রয়োজন?
+
+এসবের জন্য, এমন কোনো সেন্সর আছে কি যা এগুলো পরিমাপ করতে পারে? এগুলোর মাত্রা নিয়ন্ত্রণ করার জন্য অ্যাকচুয়েটর কীভাবে ব্যবহার করা যায়? কীভাবে এক বা একাধিক IoT ডিভাইস একত্রিত করে গাছপালার বৃদ্ধি অপ্টিমাইজ করবেন?
+
+## লেকচার-পরবর্তী কুইজ
+
+[লেকচার-পরবর্তী কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/10)
+
+## পর্যালোচনা ও স্ব-অধ্যয়ন
+
+* [ডিজিটাল কৃষি উইকিপিডিয়া পৃষ্ঠা](https://wikipedia.org/wiki/Digital_agriculture) থেকে ডিজিটাল কৃষি সম্পর্কে আরও পড়ুন। এছাড়াও [প্রিসিশন কৃষি উইকিপিডিয়া পৃষ্ঠা](https://wikipedia.org/wiki/Precision_agriculture) থেকে প্রিসিশন কৃষি সম্পর্কে আরও জানুন।
+* সম্পূর্ণ গ্রোয়িং ডিগ্রি ডে (GDD) গণনা এখানে দেওয়া সরলীকৃতটির চেয়ে বেশি জটিল। [গ্রোয়িং ডিগ্রি ডে উইকিপিডিয়া পৃষ্ঠা](https://wikipedia.org/wiki/Growing_degree-day) থেকে আরও জটিল সমীকরণ এবং বেসলাইন তাপমাত্রার নিচে তাপমাত্রা কীভাবে সামলাতে হয় তা পড়ুন।
+* ভবিষ্যতে খাদ্য সংকট হতে পারে যদি আমরা এখনও একই পদ্ধতিতে চাষাবাদ চালিয়ে যাই। এই [ভবিষ্যতের হাই-টেক ফার্ম ভিডিওটি YouTube-এ](https://www.youtube.com/watch?v=KIEOuKD9KX8) দেখে হাই-টেক চাষাবাদ কৌশল সম্পর্কে আরও জানুন।
+
+## অ্যাসাইনমেন্ট
+
+[Jupyter Notebook ব্যবহার করে GDD ডেটা ভিজুয়ালাইজ করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/assignment.md
new file mode 100644
index 00000000..17b3727c
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/assignment.md
@@ -0,0 +1,57 @@
+
+# জুপিটার নোটবুক ব্যবহার করে GDD ডেটা ভিজুয়ালাইজ করুন
+
+## নির্দেশনা
+
+এই পাঠে আপনি IoT সেন্সর ব্যবহার করে GDD ডেটা সংগ্রহ করেছেন। ভালো GDD ডেটা পেতে, আপনাকে একাধিক দিনের জন্য ডেটা সংগ্রহ করতে হবে। তাপমাত্রার ডেটা ভিজুয়ালাইজ এবং GDD গণনা করতে সাহায্য করার জন্য আপনি [Jupyter Notebooks](https://jupyter.org) এর মতো টুল ব্যবহার করতে পারেন।
+
+কয়েক দিনের জন্য ডেটা সংগ্রহ করা শুরু করুন। আপনার IoT ডিভাইস চালু থাকা অবস্থায় সার্ভার কোড চালু রাখতে হবে। এর জন্য আপনার পাওয়ার ম্যানেজমেন্ট সেটিংস সামঞ্জস্য করতে হবে অথবা [এই সিস্টেম সক্রিয় রাখার Python স্ক্রিপ্ট](https://github.com/jaqsparow/keep-system-active) এর মতো কিছু চালাতে হবে।
+
+যখন আপনার কাছে তাপমাত্রার ডেটা থাকবে, তখন আপনি এই রিপোজিটরির জুপিটার নোটবুক ব্যবহার করে এটি ভিজুয়ালাইজ এবং GDD গণনা করতে পারবেন। জুপিটার নোটবুক কোড এবং নির্দেশনাগুলোকে *সেল* নামে ব্লকে মিশ্রিত করে, যা সাধারণত Python কোডে লেখা হয়। আপনি নির্দেশনাগুলো পড়তে পারেন এবং প্রতিটি কোড ব্লক একে একে চালাতে পারেন। আপনি কোড সম্পাদনাও করতে পারেন। উদাহরণস্বরূপ, এই নোটবুকে আপনি আপনার গাছের জন্য GDD গণনা করতে ব্যবহৃত বেস তাপমাত্রা সম্পাদনা করতে পারেন।
+
+1. `gdd-calculation` নামে একটি ফোল্ডার তৈরি করুন।
+
+1. [gdd.ipynb](./code-notebook/gdd.ipynb) ফাইলটি ডাউনলোড করুন এবং এটি `gdd-calculation` ফোল্ডারে কপি করুন।
+
+1. MQTT সার্ভার দ্বারা তৈরি `temperature.csv` ফাইলটি কপি করুন।
+
+1. `gdd-calculation` ফোল্ডারে একটি নতুন Python ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন।
+
+1. জুপিটার নোটবুক এবং ডেটা পরিচালনা ও প্লট করার জন্য প্রয়োজনীয় লাইব্রেরি ইনস্টল করতে কিছু pip প্যাকেজ ইনস্টল করুন:
+
+ ```sh
+ pip install --upgrade pip
+ pip install pandas
+ pip install matplotlib
+ pip install jupyter
+ ```
+
+1. জুপিটার-এ নোটবুক চালান:
+
+ ```sh
+ jupyter notebook gdd.ipynb
+ ```
+
+ জুপিটার চালু হবে এবং আপনার ব্রাউজারে নোটবুক খুলবে। নোটবুকের নির্দেশনাগুলো অনুসরণ করে মাপা তাপমাত্রা ভিজুয়ালাইজ করুন এবং গ্রোয়িং ডিগ্রি ডে (GDD) গণনা করুন।
+
+ 
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| ডেটা সংগ্রহ | কমপক্ষে ২ দিনের সম্পূর্ণ ডেটা সংগ্রহ করুন | কমপক্ষে ১ দিনের সম্পূর্ণ ডেটা সংগ্রহ করুন | কিছু ডেটা সংগ্রহ করুন |
+| GDD গণনা | নোটবুক সফলভাবে চালান এবং GDD গণনা করুন | নোটবুক সফলভাবে চালান | নোটবুক চালাতে অক্ষম |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb b/translations/bn/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb
new file mode 100644
index 00000000..b754d2e4
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb
@@ -0,0 +1,167 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# গ্রোইং ডিগ্রি ডেজ\n",
+ "\n",
+ "এই নোটবুকটি একটি CSV ফাইলে সংরক্ষিত তাপমাত্রার ডেটা লোড করে এবং তা বিশ্লেষণ করে। এটি তাপমাত্রার গ্রাফ তৈরি করে, প্রতিদিনের সর্বোচ্চ এবং সর্বনিম্ন মান দেখায়, এবং GDD গণনা করে।\n",
+ "\n",
+ "এই নোটবুকটি ব্যবহার করতে:\n",
+ "\n",
+ "* `temperature.csv` ফাইলটি এই নোটবুকের একই ফোল্ডারে কপি করুন\n",
+ "* উপরে থাকা **▶︎ Run** বোতাম ব্যবহার করে সমস্ত সেল চালান। এটি নির্বাচিত সেলটি চালাবে এবং তারপর পরবর্তী সেলে যাবে।\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "নিচের সেলে `base_temperature` কে উদ্ভিদের মৌলিক তাপমাত্রায় সেট করুন।\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "base_temperature = 10"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "CSV ফাইলটি এখন pandas ব্যবহার করে লোড করতে হবে\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# Read the temperature CSV file\n",
+ "df = pd.read_csv('temperature.csv')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "plt.figure(figsize=(20, 10))\n",
+ "plt.plot(df['date'], df['temperature'])\n",
+ "plt.xticks(rotation='vertical');"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "ডেটা পড়া হয়ে গেলে এটি `date` কলামের দ্বারা গোষ্ঠীবদ্ধ করা যেতে পারে, এবং প্রতিটি তারিখের জন্য সর্বনিম্ন এবং সর্বোচ্চ তাপমাত্রা বের করা যেতে পারে।\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Convert datetimes to pure dates so we can group by the date\n",
+ "df['date'] = pd.to_datetime(df['date']).dt.date\n",
+ "\n",
+ "# Group the data by date so it can be analyzed by date\n",
+ "data_by_date = df.groupby('date')\n",
+ "\n",
+ "# Get the minimum and maximum temperatures for each date\n",
+ "min_by_date = data_by_date.min()\n",
+ "max_by_date = data_by_date.max()\n",
+ "\n",
+ "# Join the min and max temperatures into one dataframe and flatten it\n",
+ "min_max_by_date = min_by_date.join(max_by_date, on='date', lsuffix='_min', rsuffix='_max')\n",
+ "min_max_by_date = min_max_by_date.reset_index()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "GDD স্ট্যান্ডার্ড GDD সমীকরণ ব্যবহার করে গণনা করা যেতে পারে\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def calculate_gdd(row):\n",
+ " return ((row['temperature_max'] + row['temperature_min']) / 2) - base_temperature\n",
+ "\n",
+ "# Calculate the GDD for each row\n",
+ "min_max_by_date['gdd'] = min_max_by_date.apply (lambda row: calculate_gdd(row), axis=1)\n",
+ "\n",
+ "# Print the results\n",
+ "print(min_max_by_date[['date', 'gdd']].to_string(index=False))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n---\n\n**অস্বীকৃতি**: \nএই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ },
+ "metadata": {
+ "interpreter": {
+ "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
+ }
+ },
+ "coopTranslator": {
+ "original_hash": "8fcf954f6042f0bf3601a2c836a09574",
+ "translation_date": "2025-08-27T15:07:38+00:00",
+ "source_file": "2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb",
+ "language_code": "bn"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/pi-temp.md
new file mode 100644
index 00000000..9f80c4ea
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/pi-temp.md
@@ -0,0 +1,125 @@
+
+# তাপমাত্রা পরিমাপ - রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি আপনার রাস্পবেরি পাই-তে একটি তাপমাত্রা সেন্সর যোগ করবেন।
+
+## হার্ডওয়্যার
+
+আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [DHT11 আর্দ্রতা এবং তাপমাত্রা সেন্সর](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html), যা এক প্যাকেজে দুটি সেন্সরকে একত্রিত করে। এটি বেশ জনপ্রিয়, এবং অনেক বাণিজ্যিকভাবে উপলব্ধ সেন্সর তাপমাত্রা, আর্দ্রতা এবং কখনও কখনও বায়ুমণ্ডলীয় চাপ একত্রিত করে। তাপমাত্রা সেন্সর উপাদানটি একটি নেগেটিভ টেম্পারেচার কোয়েফিসিয়েন্ট (NTC) থার্মিস্টর, একটি থার্মিস্টর যার প্রতিরোধ ক্ষমতা তাপমাত্রা বাড়ার সাথে সাথে কমে যায়।
+
+এটি একটি ডিজিটাল সেন্সর, তাই এতে একটি অনবোর্ড ADC রয়েছে যা তাপমাত্রা এবং আর্দ্রতার ডেটা সম্বলিত একটি ডিজিটাল সিগন্যাল তৈরি করে যা মাইক্রোকন্ট্রোলার পড়তে পারে।
+
+### তাপমাত্রা সেন্সর সংযোগ করুন
+
+Grove তাপমাত্রা সেন্সরটি রাস্পবেরি পাই-এর সাথে সংযুক্ত করা যেতে পারে।
+
+#### কাজ
+
+তাপমাত্রা সেন্সর সংযোগ করুন
+
+
+
+1. Grove কেবলের এক প্রান্ত আর্দ্রতা এবং তাপমাত্রা সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. রাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base হ্যাটে সংযুক্ত **D5** নামে চিহ্নিত ডিজিটাল সকেটে সংযুক্ত করুন। এই সকেটটি GPIO পিনগুলির পাশে থাকা সকেটের সারিতে বাম দিক থেকে দ্বিতীয়।
+
+
+
+## তাপমাত্রা সেন্সর প্রোগ্রাম করুন
+
+এখন ডিভাইসটি সংযুক্ত তাপমাত্রা সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং এটি বুট হওয়ার জন্য অপেক্ষা করুন।
+
+1. VS Code চালু করুন, হয় সরাসরি পাই-তে, অথবা Remote SSH এক্সটেনশনের মাধ্যমে সংযোগ করুন।
+
+ > ⚠️ [পাঠ ১-এ VS Code সেটআপ এবং চালু করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)।
+
+1. টার্মিনাল থেকে, `pi` ব্যবহারকারীর হোম ডিরেক্টরিতে `temperature-sensor` নামে একটি নতুন ফোল্ডার তৈরি করুন। এই ফোল্ডারে `app.py` নামে একটি ফাইল তৈরি করুন:
+
+ ```sh
+ mkdir temperature-sensor
+ cd temperature-sensor
+ touch app.py
+ ```
+
+1. এই ফোল্ডারটি VS Code-এ খুলুন।
+
+1. তাপমাত্রা এবং আর্দ্রতা সেন্সর ব্যবহার করতে, একটি অতিরিক্ত Pip প্যাকেজ ইনস্টল করতে হবে। VS Code-এর টার্মিনাল থেকে, পাই-তে এই Pip প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
+
+ ```sh
+ pip3 install seeed-python-dht
+ ```
+
+1. `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন প্রয়োজনীয় লাইব্রেরি আমদানি করতে:
+
+ ```python
+ import time
+ from seeed_dht import DHT
+ ```
+
+ `from seeed_dht import DHT` স্টেটমেন্টটি `seeed_dht` মডিউল থেকে Grove তাপমাত্রা সেন্সরের সাথে ইন্টারঅ্যাক্ট করার জন্য `DHT` সেন্সর ক্লাস আমদানি করে।
+
+1. উপরের কোডের পরে নিম্নলিখিত কোড যোগ করুন তাপমাত্রা সেন্সর পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করতে:
+
+ ```python
+ sensor = DHT("11", 5)
+ ```
+
+ এটি **D**igital **H**umidity এবং **T**emperature সেন্সর পরিচালনা করার জন্য `DHT` ক্লাসের একটি ইনস্ট্যান্স ঘোষণা করে। প্রথম প্যারামিটারটি কোডকে জানায় যে ব্যবহৃত সেন্সরটি *DHT11* সেন্সর - আপনি যে লাইব্রেরি ব্যবহার করছেন তা এই সেন্সরের অন্যান্য ভ্যারিয়েন্টগুলিকে সমর্থন করে। দ্বিতীয় প্যারামিটারটি কোডকে জানায় যে সেন্সরটি Grove Base হ্যাটের ডিজিটাল পোর্ট `D5`-এ সংযুক্ত।
+
+ > ✅ মনে রাখবেন, সমস্ত সকেটের অনন্য পিন নম্বর রয়েছে। পিন 0, 2, 4, এবং 6 হল অ্যানালগ পিন, পিন 5, 16, 18, 22, 24, এবং 26 হল ডিজিটাল পিন।
+
+1. উপরের কোডের পরে একটি ইনফিনিট লুপ যোগ করুন তাপমাত্রা সেন্সরের মান পোল করতে এবং এটি কনসোলে প্রিন্ট করতে:
+
+ ```python
+ while True:
+ _, temp = sensor.read()
+ print(f'Temperature {temp}°C')
+ ```
+
+ `sensor.read()` কলটি আর্দ্রতা এবং তাপমাত্রার একটি টুপল রিটার্ন করে। আপনাকে শুধুমাত্র তাপমাত্রার মান দরকার, তাই আর্দ্রতাকে উপেক্ষা করা হয়। তারপর তাপমাত্রার মানটি কনসোলে প্রিন্ট করা হয়।
+
+1. লুপের শেষে দশ সেকেন্ডের একটি ছোট স্লিপ যোগ করুন কারণ তাপমাত্রার স্তরগুলি ক্রমাগত চেক করার প্রয়োজন নেই। একটি স্লিপ ডিভাইসের পাওয়ার কনজাম্পশন কমিয়ে দেয়।
+
+ ```python
+ time.sleep(10)
+ ```
+
+1. VS Code টার্মিনাল থেকে, আপনার পাইথন অ্যাপ চালানোর জন্য নিম্নলিখিত কমান্ডটি চালান:
+
+ ```sh
+ python3 app.py
+ ```
+
+ আপনি কনসোলে তাপমাত্রার মান দেখতে পাবেন। সেন্সরটি গরম করার জন্য কিছু ব্যবহার করুন, যেমন আপনার আঙুল দিয়ে চাপ দিন বা একটি ফ্যান ব্যবহার করুন, এবং মান পরিবর্তন হতে দেখুন:
+
+ ```output
+ pi@raspberrypi:~/temperature-sensor $ python3 app.py
+ Temperature 26°C
+ Temperature 26°C
+ Temperature 28°C
+ Temperature 30°C
+ Temperature 32°C
+ ```
+
+> 💁 আপনি এই কোডটি [code-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার তাপমাত্রা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md
new file mode 100644
index 00000000..e3efcd0c
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md
@@ -0,0 +1,71 @@
+
+# তাপমাত্রা প্রকাশ করা - ভার্চুয়াল IoT হার্ডওয়্যার এবং রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি রাস্পবেরি পাই বা ভার্চুয়াল IoT ডিভাইস দ্বারা সনাক্ত করা তাপমাত্রার মানগুলি MQTT এর মাধ্যমে প্রকাশ করবেন যাতে পরে GDD গণনার জন্য ব্যবহার করা যায়।
+
+## তাপমাত্রা প্রকাশ করা
+
+একবার তাপমাত্রা পড়া হয়ে গেলে, এটি MQTT এর মাধ্যমে কিছু 'সার্ভার' কোডে প্রকাশ করা যেতে পারে যা মানগুলি পড়বে এবং GDD গণনার জন্য প্রস্তুত রাখতে সংরক্ষণ করবে।
+
+### কাজ - তাপমাত্রা প্রকাশ করা
+
+ডিভাইসটি তাপমাত্রার ডেটা প্রকাশ করার জন্য প্রোগ্রাম করুন।
+
+1. যদি `temperature-sensor` অ্যাপ প্রকল্পটি ইতিমধ্যে খোলা না থাকে তবে এটি খুলুন।
+
+1. MQTT এর সাথে সংযোগ স্থাপন এবং টেলিমেট্রি পাঠানোর জন্য আপনি পাঠ ৪-এ যে ধাপগুলি অনুসরণ করেছিলেন তা পুনরাবৃত্তি করুন। আপনি একই পাবলিক Mosquitto ব্রোকার ব্যবহার করবেন।
+
+ এই ধাপগুলি হল:
+
+ - MQTT pip প্যাকেজ যোগ করুন
+ - MQTT ব্রোকারের সাথে সংযোগ স্থাপনের কোড যোগ করুন
+ - টেলিমেট্রি প্রকাশ করার কোড যোগ করুন
+
+ > ⚠️ MQTT এর সাথে সংযোগ স্থাপনের [নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) এবং টেলিমেট্রি পাঠানোর [নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) পাঠ ৪ থেকে প্রয়োজনে দেখুন।
+
+1. নিশ্চিত করুন যে `client_name` এই প্রকল্পের নাম প্রতিফলিত করে:
+
+ ```python
+ client_name = id + 'temperature_sensor_client'
+ ```
+
+1. টেলিমেট্রির জন্য, একটি লাইট মান পাঠানোর পরিবর্তে, DHT সেন্সর থেকে পড়া তাপমাত্রার মানটি JSON ডকুমেন্টে `temperature` নামে একটি প্রপার্টিতে পাঠান:
+
+ ```python
+ _, temp = sensor.read()
+ telemetry = json.dumps({'temperature' : temp})
+ ```
+
+1. তাপমাত্রার মান খুব ঘন ঘন পড়ার প্রয়োজন নেই - এটি স্বল্প সময়ে খুব বেশি পরিবর্তন হবে না, তাই `time.sleep` ১০ মিনিটে সেট করুন:
+
+ ```cpp
+ time.sleep(10 * 60);
+ ```
+
+ > 💁 `sleep` ফাংশনটি সময়কে সেকেন্ডে নেয়, তাই এটি সহজে পড়ার জন্য মানটি একটি গণনার ফলাফল হিসাবে পাস করা হয়। ১ মিনিটে ৬০ সেকেন্ড, তাই ১০ x (১ মিনিটে ৬০ সেকেন্ড) ১০ মিনিটের বিলম্ব দেয়।
+
+1. আগের অংশের অ্যাসাইনমেন্ট থেকে কোড চালানোর মতো একইভাবে কোড চালান। যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করছেন, তবে নিশ্চিত করুন যে CounterFit অ্যাপটি চালু রয়েছে এবং আর্দ্রতা এবং তাপমাত্রা সেন্সরগুলি সঠিক পিনে তৈরি করা হয়েছে।
+
+ ```output
+ pi@raspberrypi:~/temperature-sensor $ python3 app.py
+ MQTT connected!
+ Sending telemetry {"temperature": 25}
+ Sending telemetry {"temperature": 25}
+ ```
+
+> 💁 আপনি এই কোডটি [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) ফোল্ডারে বা [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইস থেকে টেলিমেট্রি হিসাবে তাপমাত্রা প্রকাশ করেছেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md
new file mode 100644
index 00000000..61b16245
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md
@@ -0,0 +1,154 @@
+
+# তাপমাত্রা পরিমাপ করুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি তাপমাত্রা সেন্সর যোগ করবেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+ভার্চুয়াল IoT ডিভাইসটি একটি সিমুলেটেড Grove Digital Humidity এবং Temperature সেন্সর ব্যবহার করবে। এটি এই ল্যাবটিকে একটি Raspberry Pi এবং একটি বাস্তব Grove DHT11 সেন্সর ব্যবহার করার মতোই রাখে।
+
+এই সেন্সরটি **তাপমাত্রা সেন্সর** এবং **আর্দ্রতা সেন্সর** একত্রিত করে, তবে এই ল্যাবে আপনি শুধুমাত্র তাপমাত্রা সেন্সর অংশটি নিয়ে কাজ করবেন। একটি বাস্তব IoT ডিভাইসে, তাপমাত্রা সেন্সরটি একটি [থার্মিস্টর](https://wikipedia.org/wiki/Thermistor) হবে যা তাপমাত্রার পরিবর্তনের সাথে প্রতিরোধের পরিবর্তন অনুভব করে তাপমাত্রা পরিমাপ করে। তাপমাত্রা সেন্সর সাধারণত ডিজিটাল সেন্সর হয় যা অভ্যন্তরীণভাবে পরিমাপ করা প্রতিরোধকে ডিগ্রি সেলসিয়াস (বা কেলভিন, বা ফারেনহাইট) তাপমাত্রায় রূপান্তরিত করে।
+
+### CounterFit-এ সেন্সর যোগ করুন
+
+একটি ভার্চুয়াল আর্দ্রতা এবং তাপমাত্রা সেন্সর ব্যবহার করতে, আপনাকে CounterFit অ্যাপে দুটি সেন্সর যোগ করতে হবে।
+
+#### কাজ - CounterFit-এ সেন্সর যোগ করুন
+
+CounterFit অ্যাপে আর্দ্রতা এবং তাপমাত্রা সেন্সর যোগ করুন।
+
+1. আপনার কম্পিউটারে `temperature-sensor` নামে একটি ফোল্ডারে একটি নতুন Python অ্যাপ তৈরি করুন, যেখানে একটি ফাইল থাকবে `app.py` নামে এবং একটি Python ভার্চুয়াল পরিবেশ থাকবে। CounterFit pip প্যাকেজগুলো যোগ করুন।
+
+ > ⚠️ [CounterFit Python প্রকল্প তৈরি এবং সেটআপ করার নির্দেশনা প্রথম পাঠে পাওয়া যাবে](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)।
+
+1. DHT11 সেন্সরের জন্য একটি CounterFit শিম ইনস্টল করতে একটি অতিরিক্ত Pip প্যাকেজ ইনস্টল করুন। নিশ্চিত করুন যে আপনি এটি একটি টার্মিনাল থেকে ইনস্টল করছেন যেখানে ভার্চুয়াল পরিবেশ সক্রিয় রয়েছে।
+
+ ```sh
+ pip install counterfit-shims-seeed-python-dht
+ ```
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি চালু রয়েছে।
+
+1. একটি আর্দ্রতা সেন্সর তৈরি করুন:
+
+ 1. *Sensors* প্যানের *Create sensor* বাক্সে, *Sensor type* ড্রপডাউন থেকে *Humidity* নির্বাচন করুন।
+
+ 1. *Units* সেট করুন *Percentage*।
+
+ 1. নিশ্চিত করুন যে *Pin* সেট করা আছে *5*।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 5-এ আর্দ্রতা সেন্সর তৈরি হয়।
+
+ 
+
+ আর্দ্রতা সেন্সর তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+1. একটি তাপমাত্রা সেন্সর তৈরি করুন:
+
+ 1. *Sensors* প্যানের *Create sensor* বাক্সে, *Sensor type* ড্রপডাউন থেকে *Temperature* নির্বাচন করুন।
+
+ 1. *Units* সেট করুন *Celsius*।
+
+ 1. নিশ্চিত করুন যে *Pin* সেট করা আছে *6*।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 6-এ তাপমাত্রা সেন্সর তৈরি হয়।
+
+ 
+
+ তাপমাত্রা সেন্সর তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+## তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন
+
+এখন CounterFit সেন্সর ব্যবহার করে তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করা যাবে।
+
+### কাজ - তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন
+
+তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন।
+
+1. নিশ্চিত করুন যে `temperature-sensor` অ্যাপটি VS Code-এ খোলা রয়েছে।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. CounterFit-এর সাথে অ্যাপটি সংযুক্ত করতে `app.py`-এর শীর্ষে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. প্রয়োজনীয় লাইব্রেরি আমদানি করতে `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ import time
+ from counterfit_shims_seeed_python_dht import DHT
+ ```
+
+ `from seeed_dht import DHT` স্টেটমেন্টটি `DHT` সেন্সর ক্লাস আমদানি করে যাতে `counterfit_shims_seeed_python_dht` মডিউল থেকে শিম ব্যবহার করে একটি ভার্চুয়াল Grove তাপমাত্রা সেন্সরের সাথে ইন্টারঅ্যাক্ট করা যায়।
+
+1. উপরের কোডের পরে নিম্নলিখিত কোড যোগ করুন যাতে ভার্চুয়াল আর্দ্রতা এবং তাপমাত্রা সেন্সর পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করা যায়:
+
+ ```python
+ sensor = DHT("11", 5)
+ ```
+
+ এটি **D**igital **H**umidity এবং **T**emperature সেন্সর পরিচালনা করার জন্য `DHT` ক্লাসের একটি ইনস্ট্যান্স ঘোষণা করে। প্রথম প্যারামিটারটি কোডকে জানায় যে ব্যবহৃত সেন্সরটি একটি ভার্চুয়াল *DHT11* সেন্সর। দ্বিতীয় প্যারামিটারটি কোডকে জানায় যে সেন্সরটি পোর্ট `5`-এ সংযুক্ত।
+
+ > 💁 CounterFit এই সংযুক্ত আর্দ্রতা এবং তাপমাত্রা সেন্সরটি দুটি সেন্সরের সাথে সংযোগ করে সিমুলেট করে। যদি আর্দ্রতা সেন্সরটি পিন 5-এ থাকে, তাহলে শিমটি তাপমাত্রা সেন্সরটি পিন 6-এ থাকার আশা করে।
+
+1. একটি ইনফিনিট লুপ যোগ করুন যাতে তাপমাত্রা সেন্সরের মান পোল করা যায় এবং কনসোলে প্রিন্ট করা যায়:
+
+ ```python
+ while True:
+ _, temp = sensor.read()
+ print(f'Temperature {temp}°C')
+ ```
+
+ `sensor.read()` কলটি আর্দ্রতা এবং তাপমাত্রার একটি টুপল রিটার্ন করে। আপনাকে শুধুমাত্র তাপমাত্রার মান দরকার, তাই আর্দ্রতা উপেক্ষা করা হয়। তারপর তাপমাত্রার মানটি কনসোলে প্রিন্ট করা হয়।
+
+1. লুপের শেষে দশ সেকেন্ডের একটি ছোট বিরতি যোগ করুন কারণ তাপমাত্রার স্তরগুলি ক্রমাগত চেক করার প্রয়োজন নেই। একটি বিরতি ডিভাইসের পাওয়ার খরচ কমায়।
+
+ ```python
+ time.sleep(10)
+ ```
+
+1. VS Code টার্মিনাল থেকে একটি সক্রিয় ভার্চুয়াল পরিবেশ সহ নিম্নলিখিতটি চালান যাতে আপনার Python অ্যাপটি চালানো যায়:
+
+ ```sh
+ python app.py
+ ```
+
+1. CounterFit অ্যাপ থেকে তাপমাত্রা সেন্সরের মান পরিবর্তন করুন যা অ্যাপটি পড়বে। এটি দুটি উপায়ে করা যেতে পারে:
+
+ * তাপমাত্রা সেন্সরের *Value* বাক্সে একটি সংখ্যা লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। আপনি যে সংখ্যা লিখবেন সেটি সেন্সর দ্বারা রিটার্ন করা মান হবে।
+
+ * *Random* চেকবক্সটি চেক করুন এবং *Min* এবং *Max* মান লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। প্রতিবার সেন্সর একটি মান পড়বে, এটি *Min* এবং *Max* এর মধ্যে একটি র্যান্ডম সংখ্যা পড়বে।
+
+ আপনি কনসোলে আপনার সেট করা মানগুলি দেখতে পাবেন। *Value* বা *Random* সেটিংস পরিবর্তন করুন যাতে মান পরিবর্তন দেখতে পারেন।
+
+ ```output
+ (.venv) ➜ temperature-sensor python app.py
+ Temperature 28.25°C
+ Temperature 30.71°C
+ Temperature 25.17°C
+ ```
+
+> 💁 আপনি এই কোডটি [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার তাপমাত্রা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md
new file mode 100644
index 00000000..78ddd84d
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md
@@ -0,0 +1,82 @@
+
+# তাপমাত্রা প্রকাশ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি Wio Terminal দ্বারা সনাক্ত করা তাপমাত্রার মানগুলি MQTT এর মাধ্যমে প্রকাশ করবেন যাতে পরে GDD গণনার জন্য ব্যবহার করা যেতে পারে।
+
+## তাপমাত্রা প্রকাশ করুন
+
+একবার তাপমাত্রা পড়া হয়ে গেলে, এটি MQTT এর মাধ্যমে কিছু 'server' কোডে প্রকাশ করা যেতে পারে যা মানগুলি পড়বে এবং GDD গণনার জন্য প্রস্তুত রাখতে সংরক্ষণ করবে। মাইক্রোকন্ট্রোলারগুলি ইন্টারনেট থেকে সময় পড়ে না এবং ডিফল্টভাবে একটি রিয়েল-টাইম ক্লক দিয়ে সময় ট্র্যাক করে না, ডিভাইসটি এটি করার জন্য প্রোগ্রাম করতে হবে, যদি প্রয়োজনীয় হার্ডওয়্যার থাকে।
+
+এই পাঠের জন্য বিষয়গুলো সহজ করার জন্য, সেন্সর ডেটার সাথে সময় পাঠানো হবে না, পরিবর্তে যখন সার্ভার কোড বার্তাগুলি গ্রহণ করবে তখন এটি যোগ করা যেতে পারে।
+
+### কাজ
+
+ডিভাইসটি তাপমাত্রার ডেটা প্রকাশ করার জন্য প্রোগ্রাম করুন।
+
+1. `temperature-sensor` Wio Terminal প্রকল্পটি খুলুন
+
+1. MQTT-তে সংযোগ স্থাপন এবং টেলিমেট্রি পাঠানোর জন্য আপনি পাঠ ৪-এ যা করেছিলেন তা পুনরাবৃত্তি করুন। আপনি একই পাবলিক Mosquitto ব্রোকার ব্যবহার করবেন।
+
+ এই ধাপগুলো হল:
+
+ - `.ini` ফাইলে Seeed WiFi এবং MQTT লাইব্রেরি যোগ করুন
+ - WiFi-তে সংযোগ করার জন্য কনফিগ ফাইল এবং কোড যোগ করুন
+ - MQTT ব্রোকারে সংযোগ করার জন্য কোড যোগ করুন
+ - টেলিমেট্রি প্রকাশ করার জন্য কোড যোগ করুন
+
+ > ⚠️ MQTT-তে সংযোগ করার [নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md) এবং টেলিমেট্রি পাঠানোর [নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md) পাঠ ৪ থেকে প্রয়োজন হলে দেখুন।
+
+1. নিশ্চিত করুন যে `config.h` হেডার ফাইলে `CLIENT_NAME` এই প্রকল্পটি প্রতিফলিত করে:
+
+ ```cpp
+ const string CLIENT_NAME = ID + "temperature_sensor_client";
+ ```
+
+1. টেলিমেট্রির জন্য, একটি light value পাঠানোর পরিবর্তে, DHT সেন্সর থেকে পড়া তাপমাত্রার মানটি JSON ডকুমেন্টে `temperature` নামে একটি প্রপার্টিতে পাঠান `main.cpp`-এর `loop` ফাংশন পরিবর্তন করে:
+
+ ```cpp
+ float temp_hum_val[2] = {0};
+ dht.readTempAndHumidity(temp_hum_val);
+
+ DynamicJsonDocument doc(1024);
+ doc["temperature"] = temp_hum_val[1];
+ ```
+
+1. তাপমাত্রার মান খুব ঘন ঘন পড়ার প্রয়োজন নেই - এটি স্বল্প সময়ে খুব বেশি পরিবর্তন হবে না, তাই `loop` ফাংশনে `delay` ১০ মিনিটে সেট করুন:
+
+ ```cpp
+ delay(10 * 60 * 1000);
+ ```
+
+ > 💁 `delay` ফাংশন সময়কে মিলিসেকেন্ডে নেয়, তাই এটি পড়া সহজ করার জন্য মানটি একটি গণনার ফলাফল হিসাবে পাস করা হয়। ১,০০০ms একটি সেকেন্ডে, ৬০s একটি মিনিটে, তাই ১০ x (৬০s একটি মিনিটে) x (১০০০ms একটি সেকেন্ডে) ১০ মিনিটের বিলম্ব দেয়।
+
+1. এটি আপনার Wio Terminal-এ আপলোড করুন এবং MQTT ব্রোকারে তাপমাত্রা পাঠানো হচ্ছে কিনা তা দেখতে সিরিয়াল মনিটর ব্যবহার করুন।
+
+ ```output
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ Sending telemetry {"temperature":25}
+ Sending telemetry {"temperature":25}
+ ```
+
+> 💁 আপনি এই কোডটি [code-publish-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনি সফলভাবে আপনার ডিভাইস থেকে টেলিমেট্রি হিসাবে তাপমাত্রা প্রকাশ করেছেন।
+
+---
+
+**দাবিত্যাগ**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md
new file mode 100644
index 00000000..090b6ac5
--- /dev/null
+++ b/translations/bn/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md
@@ -0,0 +1,143 @@
+
+# তাপমাত্রা পরিমাপ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ একটি তাপমাত্রা সেন্সর যোগ করবেন এবং এর থেকে তাপমাত্রার মান পড়বেন।
+
+## হার্ডওয়্যার
+
+Wio Terminal-এর জন্য একটি তাপমাত্রা সেন্সর প্রয়োজন।
+
+আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [DHT11 আর্দ্রতা এবং তাপমাত্রা সেন্সর](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html), যা এক প্যাকেজে দুটি সেন্সরকে একত্রিত করে। এটি বেশ জনপ্রিয়, এবং অনেক বাণিজ্যিকভাবে উপলব্ধ সেন্সর তাপমাত্রা, আর্দ্রতা এবং কখনও কখনও বায়ুমণ্ডলীয় চাপ একত্রিত করে। তাপমাত্রা সেন্সর উপাদানটি একটি নেগেটিভ টেম্পারেচার কোইফিসিয়েন্ট (NTC) থার্মিস্টর, একটি থার্মিস্টর যার প্রতিরোধ ক্ষমতা তাপমাত্রা বাড়ার সাথে সাথে কমে যায়।
+
+এটি একটি ডিজিটাল সেন্সর, তাই এতে একটি অনবোর্ড ADC রয়েছে যা একটি ডিজিটাল সিগন্যাল তৈরি করে যা তাপমাত্রা এবং আর্দ্রতার ডেটা ধারণ করে, যা মাইক্রোকন্ট্রোলার পড়তে পারে।
+
+### তাপমাত্রা সেন্সর সংযুক্ত করুন
+
+Grove তাপমাত্রা সেন্সরটি Wio Terminal-এর ডিজিটাল পোর্টে সংযুক্ত করা যেতে পারে।
+
+#### কাজ - তাপমাত্রা সেন্সর সংযুক্ত করুন
+
+তাপমাত্রা সেন্সর সংযুক্ত করুন।
+
+
+
+1. Grove কেবলের এক প্রান্ত আর্দ্রতা এবং তাপমাত্রা সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একদিকে প্রবেশ করবে।
+
+1. Wio Terminal আপনার কম্পিউটার বা অন্য পাওয়ার সাপ্লাই থেকে সংযোগ বিচ্ছিন্ন অবস্থায়, Grove কেবলের অন্য প্রান্তটি Wio Terminal-এর ডানদিকে Grove সকেটে সংযুক্ত করুন, যখন আপনি স্ক্রিনের দিকে তাকান। এটি পাওয়ার বোতাম থেকে সবচেয়ে দূরের সকেট।
+
+
+
+## তাপমাত্রা সেন্সর প্রোগ্রাম করুন
+
+এখন Wio Terminal-কে সংযুক্ত তাপমাত্রা সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - তাপমাত্রা সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. PlatformIO ব্যবহার করে একটি নতুন Wio Terminal প্রকল্প তৈরি করুন। এই প্রকল্পটির নাম দিন `temperature-sensor`। `setup` ফাংশনে সিরিয়াল পোর্ট কনফিগার করার জন্য কোড যোগ করুন।
+
+ > ⚠️ [প্রকল্প ১, পাঠ ১-এ PlatformIO প্রকল্প তৈরি করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project)।
+
+1. Seeed Grove Humidity এবং Temperature সেন্সর লাইব্রেরির জন্য একটি লাইব্রেরি নির্ভরতা প্রকল্পের `platformio.ini` ফাইলে যোগ করুন:
+
+ ```ini
+ lib_deps =
+ seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
+ ```
+
+ > ⚠️ [প্রকল্প ১, পাঠ ৪-এ PlatformIO প্রকল্পে লাইব্রেরি যোগ করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md#install-the-wifi-and-mqtt-arduino-libraries)।
+
+1. ফাইলের শীর্ষে বিদ্যমান `#include ` এর নিচে নিম্নলিখিত `#include` নির্দেশনা যোগ করুন:
+
+ ```cpp
+ #include
+ #include
+ ```
+
+ এটি সেন্সরের সাথে ইন্টারঅ্যাক্ট করার জন্য প্রয়োজনীয় ফাইলগুলি আমদানি করে। `DHT.h` হেডার ফাইলটি সেন্সরের জন্য কোড ধারণ করে, এবং `SPI.h` হেডার যোগ করলে নিশ্চিত হয় যে সেন্সরের সাথে কথা বলার জন্য প্রয়োজনীয় কোড অ্যাপ কম্পাইল করার সময় লিঙ্ক করা হয়েছে।
+
+1. `setup` ফাংশনের আগে, DHT সেন্সর ঘোষণা করুন:
+
+ ```cpp
+ DHT dht(D0, DHT11);
+ ```
+
+ এটি **ডিজিটাল আর্দ্রতা এবং তাপমাত্রা সেন্সর** পরিচালনার জন্য `DHT` ক্লাসের একটি ইনস্ট্যান্স ঘোষণা করে। এটি `D0` পোর্টে সংযুক্ত, Wio Terminal-এর ডানদিকে Grove সকেট। দ্বিতীয় প্যারামিটার কোডকে জানায় যে ব্যবহৃত সেন্সরটি *DHT11* সেন্সর - আপনি যে লাইব্রেরি ব্যবহার করছেন তা এই সেন্সরের অন্যান্য ভ্যারিয়েন্টগুলিকে সমর্থন করে।
+
+1. `setup` ফাংশনে, সিরিয়াল সংযোগ সেট আপ করার জন্য কোড যোগ করুন:
+
+ ```cpp
+ void setup()
+ {
+ Serial.begin(9600);
+
+ while (!Serial)
+ ; // Wait for Serial to be ready
+
+ delay(1000);
+ }
+ ```
+
+1. `setup` ফাংশনের শেষে, শেষ `delay` এর পরে, DHT সেন্সর শুরু করার জন্য একটি কল যোগ করুন:
+
+ ```cpp
+ dht.begin();
+ ```
+
+1. `loop` ফাংশনে, সেন্সর কল করার এবং সিরিয়াল পোর্টে তাপমাত্রা প্রিন্ট করার জন্য কোড যোগ করুন:
+
+ ```cpp
+ void loop()
+ {
+ float temp_hum_val[2] = {0};
+ dht.readTempAndHumidity(temp_hum_val);
+ Serial.print("Temperature: ");
+ Serial.print(temp_hum_val[1]);
+ Serial.println ("°C");
+
+ delay(10000);
+ }
+ ```
+
+ এই কোডটি ২টি ফ্লোটের একটি খালি অ্যারে ঘোষণা করে এবং এটি `DHT` ইনস্ট্যান্সে `readTempAndHumidity` কলের জন্য পাস করে। এই কলটি অ্যারেটি ২টি মান দিয়ে পূরণ করে - আর্দ্রতা অ্যারেটির ০তম আইটেমে যায় (C++ অ্যারে ০-ভিত্তিক, তাই ০তম আইটেমটি অ্যারেটির 'প্রথম' আইটেম), এবং তাপমাত্রা ১ম আইটেমে যায়।
+
+ তাপমাত্রা অ্যারেটির ১ম আইটেম থেকে পড়া হয় এবং সিরিয়াল পোর্টে প্রিন্ট করা হয়।
+
+ > 🇺🇸 তাপমাত্রা সেলসিয়াসে পড়া হয়। আমেরিকানদের জন্য, এটি ফারেনহাইটে রূপান্তর করতে, সেলসিয়াস মানটিকে ৫ দিয়ে ভাগ করুন, তারপর ৯ দিয়ে গুণ করুন, তারপর ৩২ যোগ করুন। উদাহরণস্বরূপ, ২০°C তাপমাত্রা ((20/5)*9) + 32 = 68°F হয়ে যায়।
+
+1. কোডটি Wio Terminal-এ বিল্ড এবং আপলোড করুন।
+
+ > ⚠️ [প্রকল্প ১, পাঠ ১-এ PlatformIO প্রকল্প তৈরি করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app)।
+
+1. আপলোড করার পরে, আপনি সিরিয়াল মনিটর ব্যবহার করে তাপমাত্রা পর্যবেক্ষণ করতে পারেন:
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Temperature: 25.00°C
+ Temperature: 25.00°C
+ Temperature: 25.00°C
+ Temperature: 24.00°C
+ ```
+
+> 💁 আপনি এই কোডটি [code-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার তাপমাত্রা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/bn/2-farm/lessons/2-detect-soil-moisture/README.md
new file mode 100644
index 00000000..e089881d
--- /dev/null
+++ b/translations/bn/2-farm/lessons/2-detect-soil-moisture/README.md
@@ -0,0 +1,169 @@
+
+C, উচ্চারণ *আই-স্কয়ার্ড-সি*, একটি মাল্টি-কন্ট্রোলার, মাল্টি-পেরিফেরাল প্রোটোকল, যেখানে সংযুক্ত যেকোনো ডিভাইস কন্ট্রোলার বা পেরিফেরাল হিসেবে কাজ করতে পারে এবং I²C বাসের মাধ্যমে যোগাযোগ করতে পারে (একটি যোগাযোগ ব্যবস্থা যা ডেটা স্থানান্তর করে)। ডেটা ঠিকানাযুক্ত প্যাকেট আকারে পাঠানো হয়, যেখানে প্রতিটি প্যাকেটে সংযুক্ত ডিভাইসের ঠিকানা থাকে যার উদ্দেশ্যে এটি পাঠানো হয়েছে।
+
+> 💁 এই মডেলটি আগে মাস্টার/স্লেভ নামে পরিচিত ছিল, কিন্তু দাসত্বের সাথে এর সম্পর্ক থাকার কারণে এই পরিভাষা বাদ দেওয়া হচ্ছে। [Open Source Hardware Association কন্ট্রোলার/পেরিফেরাল পরিভাষা গ্রহণ করেছে](https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/), তবে আপনি এখনও পুরোনো পরিভাষার উল্লেখ দেখতে পারেন।
+
+ডিভাইসগুলোর একটি ঠিকানা থাকে যা তারা I²C বাসে সংযুক্ত হওয়ার সময় ব্যবহার করে, এবং এটি সাধারণত ডিভাইসে হার্ড কোড করা থাকে। উদাহরণস্বরূপ, Seeed-এর প্রতিটি Grove সেন্সরের একই ঠিকানা থাকে, তাই সব লাইট সেন্সরের ঠিকানা একই, সব বোতামের ঠিকানা লাইট সেন্সরের ঠিকানা থেকে আলাদা। কিছু ডিভাইসে ঠিকানা পরিবর্তনের উপায় থাকে, যেমন জাম্পার সেটিং পরিবর্তন করা বা পিনগুলো সোল্ডার করা।
+
+I²C-এর একটি বাস থাকে যা প্রধানত ২টি তারের মাধ্যমে কাজ করে, সাথে ২টি পাওয়ার তার:
+
+| তার | নাম | বিবরণ |
+| ---- | --------- | ----------- |
+| SDA | সিরিয়াল ডেটা | এই তারটি ডিভাইসগুলোর মধ্যে ডেটা পাঠানোর জন্য ব্যবহৃত হয়। |
+| SCL | সিরিয়াল ক্লক | এই তারটি কন্ট্রোলার দ্বারা নির্ধারিত হারে একটি ক্লক সিগন্যাল পাঠায়। |
+| VCC | ভোল্টেজ কমন কালেক্টর | ডিভাইসগুলোর পাওয়ার সাপ্লাই। এটি SDA এবং SCL তারের সাথে সংযুক্ত থাকে এবং একটি পুল-আপ রেজিস্টরের মাধ্যমে তাদের পাওয়ার সরবরাহ করে যা কোনো ডিভাইস কন্ট্রোলার না হলে সিগন্যাল বন্ধ করে দেয়। |
+| GND | গ্রাউন্ড | এটি বৈদ্যুতিক সার্কিটের জন্য একটি সাধারণ গ্রাউন্ড সরবরাহ করে। |
+
+
+
+ডেটা পাঠানোর জন্য, একটি ডিভাইস একটি স্টার্ট কন্ডিশন ইস্যু করবে যা দেখাবে যে এটি ডেটা পাঠানোর জন্য প্রস্তুত। এটি তখন কন্ট্রোলার হয়ে যাবে। কন্ট্রোলার তখন সেই ডিভাইসের ঠিকানা পাঠাবে যার সাথে এটি যোগাযোগ করতে চায়, সাথে এটি ডেটা পড়তে বা লিখতে চায় কিনা তা জানাবে। ডেটা প্রেরণ শেষ হলে, কন্ট্রোলার একটি স্টপ কন্ডিশন পাঠাবে যা দেখাবে যে এটি কাজ শেষ করেছে। এর পরে অন্য একটি ডিভাইস কন্ট্রোলার হয়ে ডেটা পাঠাতে বা গ্রহণ করতে পারে।
+
+I2C-এর গতি সীমাবদ্ধতা রয়েছে, যেখানে ৩টি ভিন্ন মোড নির্দিষ্ট গতিতে চলে। সবচেয়ে দ্রুত হল High Speed মোড, যার সর্বোচ্চ গতি ৩.৪Mbps (মেগাবিট প্রতি সেকেন্ড), যদিও খুব কম ডিভাইস এই গতি সমর্থন করে। উদাহরণস্বরূপ, Raspberry Pi শুধুমাত্র 400Kbps (কিলোবিট প্রতি সেকেন্ড) গতিতে Fast মোডে সীমাবদ্ধ। Standard মোড 100Kbps গতিতে চলে।
+
+> 💁 যদি আপনি Raspberry Pi এবং Grove Base hat ব্যবহার করেন IoT হার্ডওয়্যার হিসেবে, তাহলে আপনি বোর্ডে বেশ কয়েকটি I2C সকেট দেখতে পাবেন যা I2C সেন্সরের সাথে যোগাযোগ করতে ব্যবহার করা যায়। Analog Grove সেন্সরও I2C ব্যবহার করে ADC-এর মাধ্যমে অ্যানালগ মানকে ডিজিটাল ডেটা হিসেবে পাঠায়। তাই আপনি যে light sensor ব্যবহার করেছেন তা একটি অ্যানালগ পিনের অনুকরণ করেছে, যেখানে মানটি I2C-এর মাধ্যমে পাঠানো হয়েছে কারণ Raspberry Pi শুধুমাত্র ডিজিটাল পিন সমর্থন করে।
+
+### Universal asynchronous receiver-transmitter (UART)
+
+UART এমন একটি শারীরিক সার্কিট যা দুটি ডিভাইসের মধ্যে যোগাযোগের অনুমতি দেয়। প্রতিটি ডিভাইসের ২টি যোগাযোগ পিন থাকে - transmit (Tx) এবং receive (Rx)। প্রথম ডিভাইসের Tx পিন দ্বিতীয় ডিভাইসের Rx পিনের সাথে সংযুক্ত থাকে এবং দ্বিতীয় ডিভাইসের Tx পিন প্রথম ডিভাইসের Rx পিনের সাথে সংযুক্ত থাকে। এটি উভয় দিকেই ডেটা পাঠানোর অনুমতি দেয়।
+
+* ডিভাইস ১ তার Tx পিন থেকে ডেটা পাঠায়, যা ডিভাইস ২ তার Rx পিনে গ্রহণ করে।
+* ডিভাইস ১ তার Rx পিনে ডেটা গ্রহণ করে, যা ডিভাইস ২ তার Tx পিন থেকে পাঠায়।
+
+
+
+> 🎓 ডেটা একবারে একটি বিট করে পাঠানো হয়, যা *serial* যোগাযোগ নামে পরিচিত। বেশিরভাগ অপারেটিং সিস্টেম এবং মাইক্রোকন্ট্রোলারের *serial ports* থাকে, যা সংযোগের মাধ্যমে সিরিয়াল ডেটা পাঠানো এবং গ্রহণ করা যায় এবং আপনার কোডে ব্যবহার করা যায়।
+
+UART ডিভাইসের একটি [baud rate](https://wikipedia.org/wiki/Symbol_rate) থাকে (যা Symbol rate নামেও পরিচিত), যা ডেটা পাঠানো এবং গ্রহণ করার গতি নির্দেশ করে, প্রতি সেকেন্ডে বিট হিসেবে। একটি সাধারণ baud rate হল 9,600, অর্থাৎ প্রতি সেকেন্ডে 9,600 বিট (0 এবং 1) ডেটা পাঠানো হয়।
+
+UART স্টার্ট এবং স্টপ বিট ব্যবহার করে - এটি একটি স্টার্ট বিট পাঠায় যা নির্দেশ করে যে এটি একটি বাইট (৮ বিট) ডেটা পাঠাতে যাচ্ছে, তারপর ৮ বিট পাঠানোর পরে একটি স্টপ বিট পাঠায়।
+
+UART-এর গতি হার্ডওয়্যারের উপর নির্ভর করে, তবে সবচেয়ে দ্রুত বাস্তবায়নেও এটি ৬.৫ Mbps (মেগাবিট প্রতি সেকেন্ড) অতিক্রম করে না।
+
+GPIO পিনের মাধ্যমে UART ব্যবহার করা যায় - আপনি একটি পিন Tx এবং অন্যটি Rx হিসেবে সেট করতে পারেন, তারপর এগুলো অন্য ডিভাইসের সাথে সংযুক্ত করতে পারেন।
+
+> 💁 যদি আপনি Raspberry Pi এবং Grove Base hat ব্যবহার করেন IoT হার্ডওয়্যার হিসেবে, তাহলে আপনি বোর্ডে একটি UART সকেট দেখতে পাবেন যা UART প্রোটোকল ব্যবহারকারী সেন্সরের সাথে যোগাযোগ করতে ব্যবহার করা যায়।
+
+### Serial Peripheral Interface (SPI)
+
+SPI স্বল্প দূরত্বে যোগাযোগের জন্য ডিজাইন করা হয়েছে, যেমন একটি মাইক্রোকন্ট্রোলার থেকে স্টোরেজ ডিভাইস (যেমন ফ্ল্যাশ মেমরি) এর সাথে কথা বলা। এটি একটি controller/peripheral মডেলের উপর ভিত্তি করে তৈরি, যেখানে একটি controller (সাধারণত IoT ডিভাইসের প্রসেসর) একাধিক peripheral-এর সাথে যোগাযোগ করে। controller একটি peripheral নির্বাচন করে এবং ডেটা পাঠায় বা অনুরোধ করে।
+
+> 💁 I2C-এর মতো, controller এবং peripheral শব্দগুলি সাম্প্রতিক পরিবর্তন, তাই আপনি এখনও পুরানো শব্দগুলি দেখতে পারেন।
+
+SPI controller ৩টি তার ব্যবহার করে, সাথে প্রতিটি peripheral-এর জন্য ১টি অতিরিক্ত তার। peripheral ৪টি তার ব্যবহার করে। এই তারগুলি হল:
+
+| তার | নাম | বিবরণ |
+| ---- | --------- | ----------- |
+| COPI | Controller Output, Peripheral Input | এই তারটি controller থেকে peripheral-এ ডেটা পাঠানোর জন্য ব্যবহৃত হয়। |
+| CIPO | Controller Input, Peripheral Output | এই তারটি peripheral থেকে controller-এ ডেটা পাঠানোর জন্য ব্যবহৃত হয়। |
+| SCLK | Serial Clock | এই তারটি controller দ্বারা নির্ধারিত গতিতে একটি clock signal পাঠায়। |
+| CS | Chip Select | controller-এর একাধিক তার থাকে, প্রতিটি peripheral-এর জন্য একটি, এবং প্রতিটি তার সংশ্লিষ্ট peripheral-এর CS তারের সাথে সংযুক্ত থাকে। |
+
+
+
+CS তারটি একবারে একটি peripheral সক্রিয় করতে ব্যবহৃত হয়, COPI এবং CIPO তারের মাধ্যমে যোগাযোগ করে। controller যখন peripheral পরিবর্তন করতে চায়, তখন এটি বর্তমানে সক্রিয় peripheral-এর সাথে সংযুক্ত CS তারটি নিষ্ক্রিয় করে, তারপর এটি পরবর্তী peripheral-এর সাথে যোগাযোগ করতে চায় এমন তারটি সক্রিয় করে।
+
+SPI *full-duplex*, অর্থাৎ controller একই সময়ে COPI এবং CIPO তার ব্যবহার করে একই peripheral থেকে ডেটা পাঠাতে এবং গ্রহণ করতে পারে। SPI SCLK তারে একটি clock signal ব্যবহার করে ডিভাইসগুলিকে সিঙ্ক্রোনাইজ করে রাখে, তাই UART-এর মাধ্যমে সরাসরি পাঠানোর মতো স্টার্ট এবং স্টপ বিটের প্রয়োজন হয় না।
+
+SPI-এর জন্য নির্ধারিত গতি সীমা নেই, এবং বাস্তবায়ন প্রায়ই প্রতি সেকেন্ডে একাধিক মেগাবাইট ডেটা পাঠাতে সক্ষম।
+
+IoT ডেভেলপার কিট প্রায়ই GPIO পিনের মাধ্যমে SPI সমর্থন করে। উদাহরণস্বরূপ, Raspberry Pi-তে আপনি GPIO পিন ১৯, ২১, ২৩, ২৪ এবং ২৬ SPI-এর জন্য ব্যবহার করতে পারেন।
+
+### Wireless
+
+কিছু সেন্সর স্ট্যান্ডার্ড wireless প্রোটোকলের মাধ্যমে যোগাযোগ করতে পারে, যেমন Bluetooth (মূলত Bluetooth Low Energy বা BLE), LoRaWAN (একটি **Lo**ng **Ra**nge low power নেটওয়ার্কিং প্রোটোকল), বা WiFi। এগুলি IoT ডিভাইসের সাথে শারীরিকভাবে সংযুক্ত না থাকা দূরবর্তী সেন্সরের জন্য অনুমতি দেয়।
+
+একটি উদাহরণ হল বাণিজ্যিক মাটির আর্দ্রতা সেন্সর। এগুলি একটি মাঠে মাটির আর্দ্রতা পরিমাপ করবে, তারপর LoRaWAN-এর মাধ্যমে একটি হাব ডিভাইসে ডেটা পাঠাবে, যা ডেটা প্রক্রিয়া করবে বা ইন্টারনেটে পাঠাবে। এটি সেন্সরকে IoT ডিভাইস থেকে দূরে থাকতে দেয় যা ডেটা পরিচালনা করে, শক্তি খরচ কমায় এবং বড় WiFi নেটওয়ার্ক বা দীর্ঘ তারের প্রয়োজনীয়তা হ্রাস করে।
+
+BLE উন্নত সেন্সরের জন্য জনপ্রিয়, যেমন ফিটনেস ট্র্যাকার যা কব্জিতে কাজ করে। এগুলি একাধিক সেন্সরকে একত্রিত করে এবং সেন্সর ডেটা IoT ডিভাইসে পাঠায়, যেমন আপনার ফোনে BLE-এর মাধ্যমে।
+
+✅ আপনার কাছে কি কোনো Bluetooth সেন্সর আছে? এটি আপনার বাড়ি, স্কুল বা আপনার ব্যক্তিগত ডিভাইসের অংশ হতে পারে। এগুলি তাপমাত্রা সেন্সর, উপস্থিতি সেন্সর, ডিভাইস ট্র্যাকার এবং ফিটনেস ডিভাইস অন্তর্ভুক্ত করতে পারে।
+
+বাণিজ্যিক ডিভাইস সংযোগের একটি জনপ্রিয় উপায় হল Zigbee। Zigbee WiFi ব্যবহার করে ডিভাইসগুলির মধ্যে mesh networks তৈরি করে, যেখানে প্রতিটি ডিভাইস যতটা সম্ভব কাছাকাছি ডিভাইসের সাথে সংযুক্ত হয়, একটি মাকড়সার জালের মতো অনেক সংযোগ তৈরি করে। যখন একটি ডিভাইস ইন্টারনেটে একটি বার্তা পাঠাতে চায়, এটি নিকটতম ডিভাইসগুলিতে পাঠাতে পারে, যা তারপর অন্য নিকটবর্তী ডিভাইসগুলিতে বার্তা ফরোয়ার্ড করে এবং এভাবে চলতে থাকে যতক্ষণ না এটি একটি coordinator-এ পৌঁছায় এবং ইন্টারনেটে পাঠানো যায়।
+
+> 🐝 Zigbee নামটি মধু মৌমাছির waggle dance-এর প্রতি ইঙ্গিত করে, যা তারা তাদের মৌচাকের কাছে ফিরে আসার পরে করে।
+
+## মাটির আর্দ্রতা পরিমাপ করুন
+
+আপনি একটি soil moisture sensor, একটি IoT ডিভাইস এবং একটি গৃহস্থালির গাছ বা কাছাকাছি মাটির টুকরো ব্যবহার করে মাটির আর্দ্রতা পরিমাপ করতে পারেন।
+
+### কাজ - মাটির আর্দ্রতা পরিমাপ করুন
+
+আপনার IoT ডিভাইস ব্যবহার করে মাটির আর্দ্রতা পরিমাপ করার জন্য প্রাসঙ্গিক গাইডটি অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-soil-moisture.md)
+* [Single-board computer - Raspberry Pi](pi-soil-moisture.md)
+* [Single-board computer - Virtual device](virtual-device-soil-moisture.md)
+
+## সেন্সর ক্যালিব্রেশন
+
+সেন্সরগুলি বৈদ্যুতিক বৈশিষ্ট্য যেমন resistance বা capacitance পরিমাপের উপর নির্ভর করে।
+
+> 🎓 Resistance, ওহম (Ω) এককে পরিমাপ করা হয়, এটি নির্দেশ করে যে বৈদ্যুতিক প্রবাহের জন্য কতটা বাধা রয়েছে। যখন একটি ভোল্টেজ একটি উপাদানে প্রয়োগ করা হয়, তখন এর মধ্য দিয়ে প্রবাহিত কারেন্টের পরিমাণ উপাদানের resistance-এর উপর নির্ভর করে। আপনি [Wikipedia-এর electrical resistance পৃষ্ঠায়](https://wikipedia.org/wiki/Electrical_resistance_and_conductance) আরও পড়তে পারেন।
+
+> 🎓 Capacitance, ফ্যারাড (F) এককে পরিমাপ করা হয়, এটি একটি উপাদান বা সার্কিটের বৈদ্যুতিক শক্তি সংগ্রহ এবং সংরক্ষণ করার ক্ষমতা নির্দেশ করে। আপনি [Wikipedia-এর capacitance পৃষ্ঠায়](https://wikipedia.org/wiki/Capacitance) capacitance সম্পর্কে আরও পড়তে পারেন।
+
+এই পরিমাপগুলি সবসময় কার্যকর নয় - কল্পনা করুন একটি temperature sensor আপনাকে ২২.৫KΩ পরিমাপ দিয়েছে! পরিবর্তে, পরিমাপ করা মানটি একটি কার্যকর এককে রূপান্তরিত করতে হবে ক্যালিব্রেট করে - অর্থাৎ পরিমাপ করা মানগুলিকে পরিমাপ করা পরিমাণের সাথে মেলানো যাতে নতুন পরিমাপগুলি সঠিক এককে রূপান্তরিত করা যায়।
+
+কিছু সেন্সর প্রি-ক্যালিব্রেটেড অবস্থায় আসে। উদাহরণস্বরূপ, আপনি আগের পাঠে যে temperature sensor ব্যবহার করেছেন তা ইতিমধ্যেই ক্যালিব্রেট করা ছিল যাতে এটি °C-এ তাপমাত্রা পরিমাপ প্রদান করতে পারে। কারখানায় প্রথম সেন্সরটি তৈরি করা হলে এটি একটি নির্দিষ্ট তাপমাত্রার পরিসরে প্রকাশ করা হয় এবং resistance পরিমাপ করা হয়। এটি তখন একটি গণনা তৈরি করতে ব্যবহৃত হয় যা Ω (resistance-এর একক) থেকে °C-এ রূপান্তর করতে পারে।
+
+> 💁 তাপমাত্রা থেকে resistance গণনা করার সূত্রটি [Steinhart–Hart equation](https://wikipedia.org/wiki/Steinhart–Hart_equation) নামে পরিচিত।
+
+### Soil moisture sensor ক্যালিব্রেশন
+
+মাটির আর্দ্রতা gravimetric বা volumetric water content ব্যবহার করে পরিমাপ করা হয়।
+
+* Gravimetric হল মাটির একক ওজনের মধ্যে পানির ওজন পরিমাপ করা, যা শুকনো মাটির প্রতি কিলোগ্রামে পানির কিলোগ্রাম হিসেবে প্রকাশ করা হয়।
+* Volumetric হল মাটির একক আয়তনের মধ্যে পানির আয়তন পরিমাপ করা, যা শুকনো মাটির প্রতি ঘনমিটারে পানির ঘনমিটার হিসেবে প্রকাশ করা হয়।
+
+> 🇺🇸 আমেরিকানদের জন্য, এককের সামঞ্জস্যতার কারণে, এগুলি কিলোগ্রামের পরিবর্তে পাউন্ড বা ঘনমিটারের পরিবর্তে ঘনফুটে পরিমাপ করা যেতে পারে।
+
+Soil moisture sensors বৈদ্যুতিক resistance বা capacitance পরিমাপ করে - এটি শুধুমাত্র মাটির আর্দ্রতার উপর নির্ভর করে না, বরং মাটির ধরনেও নির্ভর করে কারণ মাটির উপাদানগুলি এর বৈদ্যুতিক বৈশিষ্ট্য পরিবর্তন করতে পারে। আদর্শভাবে সেন্সরগুলি ক্যালিব্রেট করা উচিত - অর্থাৎ সেন্সর থেকে পাঠ নেওয়া এবং আরও বৈজ্ঞানিক পদ্ধতি ব্যবহার করে পাওয়া পরিমাপের সাথে তুলনা করা। উদাহরণস্বরূপ, একটি ল্যাব একটি নির্দিষ্ট মাঠের নমুনা কয়েকবার বছরে নিয়ে gravimetric soil moisture গণনা করতে পারে এবং এই সংখ্যাগুলি সেন্সর ক্যালিব্রেট করতে ব্যবহার করা যেতে পারে, সেন্সর পাঠকে gravimetric soil moisture-এর সাথে মেলানো।
+
+
+
+উপরের গ্রাফটি একটি সেন্সর ক্যালিব্রেট করার পদ্ধতি দেখায়। একটি soil sample-এর জন্য ভোল্টেজ ধারণ করা হয় যা পরে একটি ল্যাবে পরিমাপ করা হয় ভেজা ওজন এবং শুকনো ওজনের তুলনা করে (ভেজা অবস্থায় ওজন পরিমাপ করে, তারপর ওভেনে শুকিয়ে শুকনো অবস্থায় ওজন পরিমাপ করে)। একবার কয়েকটি পাঠ নেওয়া হলে, এটি একটি গ্রাফে প্লট করা যায় এবং পয়েন্টগুলিতে একটি লাইন ফিট করা যায়। এই লাইনটি IoT ডিভাইস দ্বারা নেওয়া soil moisture sensor পাঠকে প্রকৃত soil moisture পরিমাপে রূপান্তর করতে ব্যবহার করা যেতে পারে।
+
+💁 Resistive soil moisture sensors-এর জন্য, ভোল্টেজ মাটির আর্দ্রতা বৃদ্ধির সাথে বৃদ্ধি পায়। Capacitive soil moisture sensors-এর জন্য, ভোল্টেজ মাটির আর্দ্রতা বৃদ্ধির সাথে হ্রাস পায়, তাই এই গ্রাফগুলি নিচের দিকে ঢালু হবে, উপরের দিকে নয়।
+
+
+
+উপরের গ্রাফটি একটি soil moisture sensor থেকে একটি ভোল্টেজ পাঠ দেখায়, এবং গ্রাফে লাইনটি অনুসরণ করে প্রকৃত soil moisture গণনা করা যায়।
+
+এই পদ্ধতিটি কৃষককে একটি মাঠের জন্য কয়েকটি ল্যাব পরিমাপ পেতে দেয়, তারপর তারা IoT ডিভাইস ব্যবহার করে soil moisture পরিমাপ করতে পারে - পরিমাপ নেওয়ার সময়কে উল্লেখযোগ্যভাবে দ্রুত করে তোলে।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+Resistive এবং capacitive soil moisture sensors-এর মধ্যে বেশ কিছু পার্থক্য রয়েছে। এই পার্থক্যগুলি কী, এবং কোন ধরনের (যদি থাকে) কৃষকের জন্য সবচেয়ে ভালো? এই উত্তরটি কি উন্নয়নশীল এবং উন্নত দেশগুলির মধ্যে পরিবর্তিত হয়?
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/12)
+
+## পর্যালোচনা এবং স্ব-অধ্যয়ন
+
+সেন্সর এবং অ্যাকচুয়েটর দ্বারা ব্যবহৃত হার্ডওয়্যার এবং প্রোটোকল সম্পর্কে পড়ুন:
+
+* [GPIO Wikipedia পৃষ্ঠা](https://wikipedia.org/wiki/General-purpose_input/output)
+* [UART Wikipedia পৃষ্ঠা](https://wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter)
+* [SPI Wikipedia পৃষ্ঠা](https://wikipedia.org/wiki/Serial_Peripheral_Interface)
+* [I2C Wikipedia পৃষ্ঠা](https://wikipedia.org/wiki/I²C)
+* [Zigbee Wikipedia পৃষ্ঠা](https://wikipedia.org/wiki/Zigbee)
+
+## অ্যাসাইনমেন্ট
+
+[আপনার সেন্সর ক্যালিব্রেট করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/bn/2-farm/lessons/2-detect-soil-moisture/assignment.md
new file mode 100644
index 00000000..0704b6dd
--- /dev/null
+++ b/translations/bn/2-farm/lessons/2-detect-soil-moisture/assignment.md
@@ -0,0 +1,63 @@
+
+# আপনার সেন্সর ক্যালিব্রেট করুন
+
+## নির্দেশাবলী
+
+এই পাঠে আপনি মাটির আর্দ্রতা সেন্সরের রিডিং সংগ্রহ করেছেন, যা 0-1023 এর মধ্যে মান হিসেবে পরিমাপ করা হয়। এগুলোকে প্রকৃত মাটির আর্দ্রতার রিডিংয়ে রূপান্তর করতে, আপনাকে আপনার সেন্সরটি ক্যালিব্রেট করতে হবে। এটি করার জন্য, মাটির নমুনা থেকে রিডিং নিন এবং তারপর এই নমুনাগুলোর থেকে গ্রাভিমেট্রিক মাটির আর্দ্রতা বিষয়বস্তু গণনা করুন।
+
+প্রতিবার মাটির ভিন্ন ভিন্ন আর্দ্রতার সাথে এই ধাপগুলো একাধিকবার পুনরাবৃত্তি করতে হবে।
+
+1. মাটির আর্দ্রতা সেন্সর ব্যবহার করে একটি মাটির আর্দ্রতার রিডিং নিন। এই রিডিংটি লিখে রাখুন।
+
+1. মাটির একটি নমুনা নিন এবং এটি ওজন করুন। এই ওজনটি লিখে রাখুন।
+
+1. মাটি শুকান - 110°C (230°F) তাপমাত্রার একটি উষ্ণ ওভেনে কয়েক ঘণ্টা ধরে শুকানো সবচেয়ে ভালো উপায়। আপনি এটি রোদে রাখতে পারেন, অথবা একটি উষ্ণ, শুকনো জায়গায় রাখতে পারেন যতক্ষণ না মাটি সম্পূর্ণ শুকিয়ে যায়। এটি গুঁড়ো এবং আলগা হওয়া উচিত।
+
+ > 💁 ল্যাবে সবচেয়ে সঠিক ফলাফলের জন্য, মাটি 48-72 ঘণ্টা ধরে ওভেনে শুকানো উচিত। যদি আপনার স্কুলে শুকানোর ওভেন থাকে, তাহলে দেখুন আপনি এগুলো দীর্ঘ সময়ের জন্য ব্যবহার করতে পারেন কিনা। যত বেশি সময় শুকানো হবে, নমুনা তত বেশি শুকাবে এবং ফলাফল তত বেশি সঠিক হবে।
+
+1. মাটির ওজন আবার মাপুন।
+
+ > 🔥 যদি আপনি এটি ওভেনে শুকিয়ে থাকেন, নিশ্চিত করুন এটি প্রথমে ঠান্ডা হয়েছে!
+
+গ্রাভিমেট্রিক মাটির আর্দ্রতা গণনা করার সূত্র হলো:
+
+
+
+* W
+- ভেজা মাটির ওজন
+* W
+- শুকনো মাটির ওজন
+
+উদাহরণস্বরূপ, ধরুন আপনার কাছে একটি মাটির নমুনা আছে যার ভেজা ওজন 212g এবং শুকনো ওজন 197g।
+
+
+
+* W = 212g
+* W = 197g
+* 212 - 197 = 15
+* 15 / 197 = 0.076
+* 0.076 * 100 = 7.6%
+
+এই উদাহরণে, মাটির গ্রাভিমেট্রিক আর্দ্রতা 7.6%।
+
+যখন আপনি অন্তত ৩টি নমুনার রিডিং সংগ্রহ করবেন, তখন মাটির আর্দ্রতা % বনাম মাটির আর্দ্রতা সেন্সরের রিডিংয়ের একটি গ্রাফ আঁকুন এবং পয়েন্টগুলোর সাথে সেরা ফিটিং লাইন যোগ করুন। এরপর আপনি এই লাইন থেকে একটি নির্দিষ্ট সেন্সর রিডিংয়ের জন্য গ্রাভিমেট্রিক মাটির আর্দ্রতা বিষয়বস্তু গণনা করতে পারবেন।
+
+## মূল্যায়ন সূচক
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| ক্যালিব্রেশন ডেটা সংগ্রহ | অন্তত ৩টি ক্যালিব্রেশন নমুনা সংগ্রহ করুন | অন্তত ২টি ক্যালিব্রেশন নমুনা সংগ্রহ করুন | অন্তত ১টি ক্যালিব্রেশন নমুনা সংগ্রহ করুন |
+| ক্যালিব্রেটেড রিডিং তৈরি | সফলভাবে ক্যালিব্রেশন গ্রাফ আঁকুন এবং সেন্সর থেকে একটি রিডিং নিন, এবং এটি গ্রাভিমেট্রিক মাটির আর্দ্রতা বিষয়বস্তুতে রূপান্তর করুন | সফলভাবে ক্যালিব্রেশন গ্রাফ আঁকুন | গ্রাফ আঁকতে অক্ষম |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/bn/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md
new file mode 100644
index 00000000..81cffce4
--- /dev/null
+++ b/translations/bn/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md
@@ -0,0 +1,108 @@
+
+# মাটির আর্দ্রতা পরিমাপ - র্যাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি আপনার র্যাস্পবেরি পাই-তে একটি ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সর যোগ করবেন এবং এর থেকে মান পড়বেন।
+
+## হার্ডওয়্যার
+
+র্যাস্পবেরি পাই-এর জন্য একটি ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সর প্রয়োজন।
+
+আপনার ব্যবহৃত সেন্সরটি একটি [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html), যা মাটির ক্যাপাসিট্যান্স সনাক্ত করে মাটির আর্দ্রতা পরিমাপ করে। মাটির আর্দ্রতা পরিবর্তনের সাথে সাথে এই বৈশিষ্ট্যটি পরিবর্তিত হয়। মাটির আর্দ্রতা বাড়লে ভোল্টেজ কমে যায়।
+
+এটি একটি অ্যানালগ সেন্সর, যা একটি অ্যানালগ পিন ব্যবহার করে এবং পাই-এর Grove Base Hat-এ থাকা 10-বিট ADC ভোল্টেজকে 1-1,023 এর মধ্যে একটি ডিজিটাল সিগন্যালে রূপান্তর করে। এটি পরে GPIO পিনের মাধ্যমে পাই-তে পাঠানো হয়।
+
+### মাটির আর্দ্রতা সেন্সর সংযুক্ত করুন
+
+Grove মাটির আর্দ্রতা সেন্সরটি র্যাস্পবেরি পাই-এর সাথে সংযুক্ত করা যেতে পারে।
+
+#### কাজ - মাটির আর্দ্রতা সেন্সর সংযুক্ত করুন
+
+মাটির আর্দ্রতা সেন্সর সংযুক্ত করুন।
+
+
+
+1. একটি Grove কেবলের এক প্রান্ত মাটির আর্দ্রতা সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি দিকেই প্রবেশ করবে।
+
+1. র্যাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি পাই-তে সংযুক্ত Grove Base Hat-এর **A0** চিহ্নিত অ্যানালগ সকেটে সংযুক্ত করুন। এই সকেটটি GPIO পিনের পাশে থাকা সকেটের সারির ডান দিক থেকে দ্বিতীয়।
+
+
+
+1. মাটিতে মাটির আর্দ্রতা সেন্সর প্রবেশ করান। এতে একটি 'সর্বোচ্চ অবস্থান লাইন' রয়েছে - সেন্সরের উপর একটি সাদা লাইন। এই লাইন পর্যন্ত সেন্সরটি প্রবেশ করান, তবে এর বাইরে নয়।
+
+
+
+## মাটির আর্দ্রতা সেন্সর প্রোগ্রাম করুন
+
+এখন র্যাস্পবেরি পাই-কে সংযুক্ত মাটির আর্দ্রতা সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - মাটির আর্দ্রতা সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং এটি বুট হওয়ার জন্য অপেক্ষা করুন।
+
+1. VS Code চালু করুন, হয় সরাসরি পাই-তে, অথবা Remote SSH এক্সটেনশনের মাধ্যমে সংযোগ করুন।
+
+ > ⚠️ [নাইটলাইট - পাঠ ১-এ VS Code সেটআপ এবং চালু করার নির্দেশাবলী প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)।
+
+1. টার্মিনাল থেকে, `pi` ব্যবহারকারীর হোম ডিরেক্টরিতে `soil-moisture-sensor` নামে একটি নতুন ফোল্ডার তৈরি করুন। এই ফোল্ডারে `app.py` নামে একটি ফাইল তৈরি করুন।
+
+1. এই ফোল্ডারটি VS Code-এ খুলুন।
+
+1. `app.py` ফাইলে নিচের কোডটি যোগ করুন প্রয়োজনীয় লাইব্রেরি আমদানি করার জন্য:
+
+ ```python
+ import time
+ from grove.adc import ADC
+ ```
+
+ `import time` স্টেটমেন্টটি `time` মডিউল আমদানি করে, যা এই অ্যাসাইনমেন্টে পরে ব্যবহৃত হবে।
+
+ `from grove.adc import ADC` স্টেটমেন্টটি Grove Python লাইব্রেরি থেকে `ADC` আমদানি করে। এই লাইব্রেরিতে পাই বেস হ্যাটের অ্যানালগ-টু-ডিজিটাল কনভার্টারের সাথে ইন্টারঅ্যাক্ট করার এবং অ্যানালগ সেন্সর থেকে ভোল্টেজ পড়ার কোড রয়েছে।
+
+1. এর নিচে নিচের কোডটি যোগ করুন `ADC` ক্লাসের একটি ইনস্ট্যান্স তৈরি করতে:
+
+ ```python
+ adc = ADC()
+ ```
+
+1. একটি ইনফিনিট লুপ যোগ করুন যা A0 পিনে থাকা এই ADC থেকে পড়বে এবং কনসোলে ফলাফল লিখবে। এই লুপটি প্রতিটি পড়ার মধ্যে ১০ সেকেন্ডের জন্য ঘুমাবে।
+
+ ```python
+ while True:
+ soil_moisture = adc.read(0)
+ print("Soil moisture:", soil_moisture)
+
+ time.sleep(10)
+ ```
+
+1. পাইথন অ্যাপটি চালান। আপনি কনসোলে মাটির আর্দ্রতার পরিমাপ দেখতে পাবেন। মাটিতে পানি যোগ করুন, অথবা সেন্সরটি মাটি থেকে সরান এবং মান পরিবর্তন দেখুন।
+
+ ```output
+ pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py
+ Soil moisture: 615
+ Soil moisture: 612
+ Soil moisture: 498
+ Soil moisture: 493
+ Soil moisture: 490
+ Soil Moisture: 388
+ ```
+
+ উপরের উদাহরণ আউটপুটে, আপনি পানি যোগ করার সাথে সাথে ভোল্টেজ কমে যেতে দেখবেন।
+
+> 💁 আপনি এই কোডটি [code/pi](../../../../../2-farm/lessons/2-detect-soil-moisture/code/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটির আর্দ্রতা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/bn/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md
new file mode 100644
index 00000000..b3669fd0
--- /dev/null
+++ b/translations/bn/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md
@@ -0,0 +1,123 @@
+
+# মাটির আর্দ্রতা পরিমাপ করুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সর যোগ করবেন এবং এর থেকে মান পড়বেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+ভার্চুয়াল IoT ডিভাইস একটি সিমুলেটেড Grove ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সর ব্যবহার করবে। এটি এই ল্যাবটিকে একটি Raspberry Pi এবং একটি বাস্তব Grove ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সরের সাথে ব্যবহারের মতোই রাখে।
+
+একটি বাস্তব IoT ডিভাইসে, মাটির আর্দ্রতা সেন্সরটি একটি ক্যাপাসিটিভ সেন্সর হবে যা মাটির ক্যাপাসিট্যান্স সনাক্ত করে মাটির আর্দ্রতা পরিমাপ করে। মাটির আর্দ্রতা পরিবর্তনের সাথে সাথে এই বৈশিষ্ট্যটি পরিবর্তিত হয়। মাটির আর্দ্রতা বাড়ার সাথে সাথে ভোল্টেজ কমে যায়।
+
+এটি একটি অ্যানালগ সেন্সর, তাই এটি ১০-বিট ADC ব্যবহার করে ১-১,০২৩ এর মধ্যে একটি মান রিপোর্ট করে।
+
+### CounterFit-এ মাটির আর্দ্রতা সেন্সর যোগ করুন
+
+একটি ভার্চুয়াল মাটির আর্দ্রতা সেন্সর ব্যবহার করতে, আপনাকে এটি CounterFit অ্যাপে যোগ করতে হবে।
+
+#### কাজ - CounterFit-এ মাটির আর্দ্রতা সেন্সর যোগ করুন
+
+CounterFit অ্যাপে মাটির আর্দ্রতা সেন্সর যোগ করুন।
+
+1. আপনার কম্পিউটারে `soil-moisture-sensor` নামে একটি ফোল্ডারে একটি নতুন Python অ্যাপ তৈরি করুন, যেখানে একটি মাত্র ফাইল থাকবে `app.py` নামে এবং একটি Python ভার্চুয়াল এনভায়রনমেন্ট থাকবে। CounterFit pip প্যাকেজগুলো যোগ করুন।
+
+ > ⚠️ প্রয়োজনে [পাঠ ১-এ CounterFit Python প্রকল্প তৈরি এবং সেটআপ করার নির্দেশাবলী](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md) দেখতে পারেন।
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি চালু রয়েছে।
+
+1. একটি মাটির আর্দ্রতা সেন্সর তৈরি করুন:
+
+ 1. *Sensors* প্যানেলে *Create sensor* বক্সে যান, *Sensor type* ড্রপডাউন থেকে *Soil Moisture* নির্বাচন করুন।
+
+ 1. *Units* সেটিং *NoUnits* এ রাখুন।
+
+ 1. নিশ্চিত করুন যে *Pin* সেট করা আছে *0* এ।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে *Pin 0*-এ একটি *Soil Moisture* সেন্সর তৈরি হয়।
+
+ 
+
+ মাটির আর্দ্রতা সেন্সরটি তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+## মাটির আর্দ্রতা সেন্সর অ্যাপ প্রোগ্রাম করুন
+
+এখন CounterFit সেন্সর ব্যবহার করে মাটির আর্দ্রতা সেন্সর অ্যাপ প্রোগ্রাম করা যাবে।
+
+### কাজ - মাটির আর্দ্রতা সেন্সর অ্যাপ প্রোগ্রাম করুন
+
+মাটির আর্দ্রতা সেন্সর অ্যাপ প্রোগ্রাম করুন।
+
+1. নিশ্চিত করুন যে `soil-moisture-sensor` অ্যাপটি VS Code-এ খোলা রয়েছে।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. CounterFit-এর সাথে অ্যাপটি সংযোগ করতে `app.py`-এর উপরে নিচের কোডটি যোগ করুন:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. প্রয়োজনীয় কিছু লাইব্রেরি ইমপোর্ট করতে `app.py` ফাইলে নিচের কোডটি যোগ করুন:
+
+ ```python
+ import time
+ from counterfit_shims_grove.adc import ADC
+ ```
+
+ `import time` স্টেটমেন্টটি `time` মডিউল ইমপোর্ট করে যা এই অ্যাসাইনমেন্টে পরে ব্যবহৃত হবে।
+
+ `from counterfit_shims_grove.adc import ADC` স্টেটমেন্টটি `ADC` ক্লাস ইমপোর্ট করে যা CounterFit সেন্সরের সাথে সংযুক্ত একটি ভার্চুয়াল অ্যানালগ টু ডিজিটাল কনভার্টারের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়।
+
+1. এর নিচে `ADC` ক্লাসের একটি ইনস্ট্যান্স তৈরি করতে নিচের কোডটি যোগ করুন:
+
+ ```python
+ adc = ADC()
+ ```
+
+1. একটি ইনফিনিট লুপ যোগ করুন যা পিন ০-এ এই ADC থেকে মান পড়বে এবং কনসোলে ফলাফল লিখবে। এই লুপটি প্রতিবার পড়ার মধ্যে ১০ সেকেন্ডের জন্য ঘুমাবে।
+
+ ```python
+ while True:
+ soil_moisture = adc.read(0)
+ print("Soil moisture:", soil_moisture)
+
+ time.sleep(10)
+ ```
+
+1. CounterFit অ্যাপ থেকে মাটির আর্দ্রতা সেন্সরের মান পরিবর্তন করুন যা অ্যাপ দ্বারা পড়া হবে। এটি দুটি উপায়ে করা যেতে পারে:
+
+ * মাটির আর্দ্রতা সেন্সরের জন্য *Value* বক্সে একটি সংখ্যা লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। আপনি যে সংখ্যা লিখবেন সেটি সেন্সর দ্বারা ফেরত দেওয়া মান হবে।
+
+ * *Random* চেকবক্সটি চেক করুন এবং একটি *Min* এবং *Max* মান লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। প্রতিবার সেন্সর একটি মান পড়বে, এটি *Min* এবং *Max* এর মধ্যে একটি র্যান্ডম সংখ্যা পড়বে।
+
+1. Python অ্যাপটি চালান। আপনি কনসোলে মাটির আর্দ্রতার পরিমাপ দেখতে পাবেন। *Value* বা *Random* সেটিংস পরিবর্তন করুন এবং মান পরিবর্তন হতে দেখুন।
+
+ ```output
+ (.venv) ➜ soil-moisture-sensor $ python app.py
+ Soil moisture: 615
+ Soil moisture: 612
+ Soil moisture: 498
+ Soil moisture: 493
+ Soil moisture: 490
+ Soil Moisture: 388
+ ```
+
+> 💁 আপনি এই কোডটি [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটির আর্দ্রতা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/bn/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md
new file mode 100644
index 00000000..c1bb0263
--- /dev/null
+++ b/translations/bn/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md
@@ -0,0 +1,117 @@
+
+# মাটি আর্দ্রতা পরিমাপ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ একটি capacitive মাটি আর্দ্রতা সেন্সর যোগ করবেন এবং এর থেকে মান পড়বেন।
+
+## হার্ডওয়্যার
+
+Wio Terminal-এর জন্য একটি capacitive মাটি আর্দ্রতা সেন্সর প্রয়োজন।
+
+আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html), যা মাটির আর্দ্রতা পরিমাপ করে মাটির capacitance সনাক্ত করার মাধ্যমে। মাটির আর্দ্রতা পরিবর্তনের সাথে সাথে এই বৈশিষ্ট্য পরিবর্তিত হয়। মাটির আর্দ্রতা বাড়ার সাথে সাথে ভোল্টেজ কমে যায়।
+
+এটি একটি অ্যানালগ সেন্সর, যা Wio Terminal-এর অ্যানালগ পিনে সংযুক্ত হয় এবং একটি অনবোর্ড ADC ব্যবহার করে ০-১,০২৩ এর মধ্যে একটি মান তৈরি করে।
+
+### মাটি আর্দ্রতা সেন্সর সংযুক্ত করুন
+
+Grove মাটি আর্দ্রতা সেন্সরটি Wio Terminal-এর কনফিগারযোগ্য অ্যানালগ/ডিজিটাল পোর্টে সংযুক্ত করা যেতে পারে।
+
+#### কাজ - মাটি আর্দ্রতা সেন্সর সংযুক্ত করুন
+
+মাটি আর্দ্রতা সেন্সর সংযুক্ত করুন।
+
+
+
+1. Grove কেবলের এক প্রান্ত মাটি আর্দ্রতা সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. Wio Terminal আপনার কম্পিউটার বা অন্য পাওয়ার সাপ্লাই থেকে সংযোগ বিচ্ছিন্ন অবস্থায়, Grove কেবলের অন্য প্রান্তটি Wio Terminal-এর ডান পাশের Grove সকেটে সংযুক্ত করুন, যখন আপনি স্ক্রিনের দিকে তাকাচ্ছেন। এটি পাওয়ার বোতামের থেকে সবচেয়ে দূরের সকেট।
+
+
+
+1. মাটি আর্দ্রতা সেন্সরটি মাটিতে প্রবেশ করান। এতে একটি 'সর্বোচ্চ অবস্থান রেখা' রয়েছে - সেন্সরের উপর একটি সাদা রেখা। সেন্সরটি এই রেখা পর্যন্ত প্রবেশ করান, কিন্তু এর বেশি নয়।
+
+
+
+1. এখন আপনি Wio Terminal-কে আপনার কম্পিউটারে সংযুক্ত করতে পারেন।
+
+## মাটি আর্দ্রতা সেন্সর প্রোগ্রাম করুন
+
+এখন Wio Terminal-কে সংযুক্ত মাটি আর্দ্রতা সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - মাটি আর্দ্রতা সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. PlatformIO ব্যবহার করে একটি নতুন Wio Terminal প্রকল্প তৈরি করুন। এই প্রকল্পটির নাম দিন `soil-moisture-sensor`। `setup` ফাংশনে সিরিয়াল পোর্ট কনফিগার করার জন্য কোড যোগ করুন।
+
+ > ⚠️ [প্রকল্প ১, পাঠ ১-এ PlatformIO প্রকল্প তৈরি করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project)।
+
+1. এই সেন্সরের জন্য কোনো লাইব্রেরি নেই, তবে আপনি Arduino-এর বিল্ট-ইন [`analogRead`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/) ফাংশন ব্যবহার করে অ্যানালগ পিন থেকে পড়তে পারেন। প্রথমে অ্যানালগ পিনটি ইনপুটের জন্য কনফিগার করুন যাতে এটি থেকে মান পড়া যায়। `setup` ফাংশনে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ pinMode(A0, INPUT);
+ ```
+
+ এটি `A0` পিন, যা অ্যানালগ/ডিজিটাল পিনের সংমিশ্রণ, ইনপুট পিন হিসেবে সেট করে যাতে ভোল্টেজ পড়া যায়।
+
+1. `loop` ফাংশনে নিম্নলিখিত কোড যোগ করুন যাতে এই পিন থেকে ভোল্টেজ পড়া যায়:
+
+ ```cpp
+ int soil_moisture = analogRead(A0);
+ ```
+
+1. এই কোডের নিচে, সিরিয়াল পোর্টে মান প্রিন্ট করার জন্য নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ Serial.print("Soil Moisture: ");
+ Serial.println(soil_moisture);
+ ```
+
+1. শেষে ১০ সেকেন্ডের একটি বিলম্ব যোগ করুন:
+
+ ```cpp
+ delay(10000);
+ ```
+
+1. কোডটি Wio Terminal-এ বিল্ড এবং আপলোড করুন।
+
+ > ⚠️ [প্রকল্প ১, পাঠ ১-এ PlatformIO প্রকল্প তৈরি করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app)।
+
+1. আপলোড করার পর, আপনি সিরিয়াল মনিটর ব্যবহার করে মাটি আর্দ্রতা পর্যবেক্ষণ করতে পারেন। মাটিতে কিছু পানি যোগ করুন, অথবা সেন্সরটি মাটি থেকে সরান এবং মান পরিবর্তন দেখুন।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Soil Moisture: 526
+ Soil Moisture: 529
+ Soil Moisture: 521
+ Soil Moisture: 494
+ Soil Moisture: 454
+ Soil Moisture: 456
+ Soil Moisture: 395
+ Soil Moisture: 388
+ Soil Moisture: 394
+ Soil Moisture: 391
+ ```
+
+ উপরের উদাহরণ আউটপুটে, আপনি দেখতে পারেন পানি যোগ করার সাথে সাথে ভোল্টেজ কমে যাচ্ছে।
+
+> 💁 আপনি এই কোডটি [code/wio-terminal](../../../../../2-farm/lessons/2-detect-soil-moisture/code/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটি আর্দ্রতা সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/3-automated-plant-watering/README.md b/translations/bn/2-farm/lessons/3-automated-plant-watering/README.md
new file mode 100644
index 00000000..a5654df1
--- /dev/null
+++ b/translations/bn/2-farm/lessons/3-automated-plant-watering/README.md
@@ -0,0 +1,314 @@
+
+# স্বয়ংক্রিয় উদ্ভিদ জলসেচন
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) এর অংশ হিসেবে [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে শেখানো হয়েছিল।
+
+[](https://youtu.be/g9FfZwv9R58)
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/13)
+
+## ভূমিকা
+
+গত পাঠে, আপনি মাটির আর্দ্রতা পর্যবেক্ষণ করতে শিখেছেন। এই পাঠে আপনি একটি স্বয়ংক্রিয় জলসেচন সিস্টেমের মূল উপাদান তৈরি করতে শিখবেন যা মাটির আর্দ্রতার প্রতি সাড়া দেয়। আপনি সময় সম্পর্কে শিখবেন - কীভাবে সেন্সর পরিবর্তনের প্রতিক্রিয়া জানাতে সময় নিতে পারে এবং কীভাবে অ্যাকচুয়েটর সেন্সর দ্বারা পরিমাপ করা বৈশিষ্ট্য পরিবর্তন করতে সময় নিতে পারে।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [লো-পাওয়ার IoT ডিভাইস থেকে হাই-পাওয়ার ডিভাইস নিয়ন্ত্রণ](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [রিলে নিয়ন্ত্রণ](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [MQTT এর মাধ্যমে আপনার উদ্ভিদ নিয়ন্ত্রণ](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [সেন্সর এবং অ্যাকচুয়েটর টাইমিং](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [আপনার উদ্ভিদ নিয়ন্ত্রণ সার্ভারে টাইমিং যোগ করুন](../../../../../2-farm/lessons/3-automated-plant-watering)
+
+## লো-পাওয়ার IoT ডিভাইস থেকে হাই-পাওয়ার ডিভাইস নিয়ন্ত্রণ
+
+IoT ডিভাইসগুলি কম ভোল্টেজ ব্যবহার করে। যদিও এটি সেন্সর এবং LED-এর মতো লো-পাওয়ার অ্যাকচুয়েটরের জন্য যথেষ্ট, এটি বৃহত্তর হার্ডওয়্যার নিয়ন্ত্রণ করার জন্য খুব কম, যেমন সেচের জন্য ব্যবহৃত একটি জল পাম্প। এমনকি ছোট পাম্প, যা আপনি গৃহস্থালির গাছের জন্য ব্যবহার করতে পারেন, IoT ডেভ কিটের জন্য খুব বেশি কারেন্ট টানে এবং বোর্ডটি পুড়ে যেতে পারে।
+
+> 🎓 কারেন্ট, যা অ্যাম্প (A) এ পরিমাপ করা হয়, একটি সার্কিটের মধ্য দিয়ে প্রবাহিত বিদ্যুতের পরিমাণ। ভোল্টেজ চাপ প্রদান করে, কারেন্ট হল কতটা চাপ দেওয়া হচ্ছে। আপনি কারেন্ট সম্পর্কে আরও পড়তে পারেন [উইকিপিডিয়ার ইলেকট্রিক কারেন্ট পৃষ্ঠায়](https://wikipedia.org/wiki/Electric_current)।
+
+এর সমাধান হল একটি পাম্পকে একটি বাহ্যিক পাওয়ার সাপ্লাইয়ের সাথে সংযুক্ত করা এবং একটি অ্যাকচুয়েটর ব্যবহার করে পাম্পটি চালু করা, ঠিক যেমন আপনি একটি লাইট চালু করতে একটি সুইচ ব্যবহার করেন। আপনার আঙুলের জন্য একটি সুইচ ফ্লিপ করতে একটি ক্ষুদ্র পরিমাণ শক্তি লাগে (আপনার শরীরের শক্তি আকারে), এবং এটি আলোকে 110v/240v মেইনস বিদ্যুতে সংযুক্ত করে।
+
+
+
+> 🎓 [মেইনস বিদ্যুৎ](https://wikipedia.org/wiki/Mains_electricity) হল বিদ্যুৎ যা বিশ্বের অনেক অংশে জাতীয় অবকাঠামোর মাধ্যমে বাড়ি এবং ব্যবসায় সরবরাহ করা হয়।
+
+✅ IoT ডিভাইসগুলি সাধারণত 3.3V বা 5V প্রদান করতে পারে, 1 অ্যাম্প (1A) এর কম কারেন্ট সহ। এটি মেইনস বিদ্যুতের সাথে তুলনা করুন, যা প্রায়শই 230V (উত্তর আমেরিকায় 120V এবং জাপানে 100V) হয় এবং 30A কারেন্ট টানা ডিভাইসগুলির জন্য শক্তি প্রদান করতে পারে।
+
+অনেক ধরনের অ্যাকচুয়েটর রয়েছে যা এটি করতে পারে, যার মধ্যে রয়েছে বিদ্যমান সুইচগুলিতে সংযুক্ত করার জন্য যান্ত্রিক ডিভাইস যা সেগুলিকে চালু করার জন্য একটি আঙুলের অনুকরণ করে। সবচেয়ে জনপ্রিয় হল একটি রিলে।
+
+### রিলে
+
+রিলে একটি ইলেক্ট্রোমেকানিক্যাল সুইচ যা একটি বৈদ্যুতিক সংকেতকে একটি যান্ত্রিক গতিতে রূপান্তর করে যা একটি সুইচ চালু করে। রিলের মূল অংশ হল একটি ইলেক্ট্রোম্যাগনেট।
+
+> 🎓 [ইলেক্ট্রোম্যাগনেট](https://wikipedia.org/wiki/Electromagnet) হল চুম্বক যা একটি তারের কয়েলের মধ্য দিয়ে বিদ্যুৎ প্রবাহিত করে তৈরি করা হয়। যখন বিদ্যুৎ চালু হয়, কয়েলটি চুম্বকীয় হয়ে যায়। যখন বিদ্যুৎ বন্ধ হয়, কয়েলটি তার চুম্বকত্ব হারায়।
+
+
+
+একটি রিলেতে, একটি নিয়ন্ত্রণ সার্কিট ইলেক্ট্রোম্যাগনেটকে শক্তি দেয়। যখন ইলেক্ট্রোম্যাগনেট চালু হয়, এটি একটি লিভার টানে যা একটি সুইচ সরায়, একটি জোড়া যোগাযোগ বন্ধ করে এবং একটি আউটপুট সার্কিট সম্পূর্ণ করে।
+
+
+
+যখন নিয়ন্ত্রণ সার্কিট বন্ধ থাকে, ইলেক্ট্রোম্যাগনেট বন্ধ হয়ে যায়, লিভারটি ছেড়ে দেয় এবং যোগাযোগগুলি খুলে দেয়, আউটপুট সার্কিট বন্ধ করে দেয়। রিলে হল ডিজিটাল অ্যাকচুয়েটর - রিলেকে একটি উচ্চ সংকেত চালু করে, একটি নিম্ন সংকেত বন্ধ করে।
+
+আউটপুট সার্কিট অতিরিক্ত হার্ডওয়্যার চালানোর জন্য ব্যবহার করা যেতে পারে, যেমন একটি সেচ ব্যবস্থা। IoT ডিভাইসটি রিলেকে চালু করতে পারে, আউটপুট সার্কিট সম্পূর্ণ করে যা সেচ ব্যবস্থাকে শক্তি দেয়, এবং গাছগুলি জল পায়। তারপর IoT ডিভাইসটি রিলেকে বন্ধ করতে পারে, সেচ ব্যবস্থার শক্তি কেটে দেয়, জল বন্ধ করে দেয়।
+
+
+
+উপরের ভিডিওতে, একটি রিলে চালু করা হয়েছে। রিলেতে একটি LED জ্বলে উঠেছে যা নির্দেশ করে এটি চালু রয়েছে (কিছু রিলে বোর্ডে LED থাকে যা নির্দেশ করে রিলে চালু বা বন্ধ রয়েছে কিনা), এবং পাম্পে শক্তি পাঠানো হয়েছে, এটি চালু করে এবং একটি গাছে জল পাম্প করছে।
+
+> 💁 রিলে দুটি আউটপুট সার্কিটের মধ্যে স্যুইচ করতে ব্যবহার করা যেতে পারে, একটি চালু এবং বন্ধ করার পরিবর্তে। লিভারটি সরানোর সাথে সাথে এটি একটি আউটপুট সার্কিট সম্পূর্ণ করার পরিবর্তে একটি ভিন্ন আউটপুট সার্কিট সম্পূর্ণ করে, সাধারণত একটি সাধারণ পাওয়ার সংযোগ বা সাধারণ গ্রাউন্ড সংযোগ ভাগ করে।
+
+✅ কিছু গবেষণা করুন: রিলের একাধিক ধরন রয়েছে, যেমন নিয়ন্ত্রণ সার্কিট পাওয়ার প্রয়োগ করার সময় রিলেকে চালু বা বন্ধ করে কিনা, বা একাধিক আউটপুট সার্কিট। এই বিভিন্ন ধরনের সম্পর্কে জানুন।
+
+যখন লিভারটি সরানো হয়, আপনি সাধারণত এটি ইলেক্ট্রোম্যাগনেটের সাথে যোগাযোগ করতে একটি স্পষ্ট ক্লিক শব্দ শুনতে পারেন।
+
+> 💁 একটি রিলে এমনভাবে তারযুক্ত হতে পারে যাতে সংযোগ তৈরি করা আসলে রিলের শক্তি ভেঙে দেয়, রিল বন্ধ করে দেয়, যা তখন রিলকে শক্তি পাঠায় এটি আবার চালু করে, এবং এভাবে চলতে থাকে। এর মানে হল রিলে অত্যন্ত দ্রুত ক্লিক করবে একটি গুঞ্জন শব্দ তৈরি করে। এটি কীভাবে কিছু প্রথম গুঞ্জনকারী বৈদ্যুতিক দরজার ঘণ্টায় ব্যবহৃত হয়েছিল।
+
+### রিলে শক্তি
+
+ইলেক্ট্রোম্যাগনেট লিভার টানতে এবং সক্রিয় করতে বেশি শক্তি প্রয়োজন হয় না, এটি IoT ডেভ কিটের 3.3V বা 5V আউটপুট ব্যবহার করে নিয়ন্ত্রিত হতে পারে। আউটপুট সার্কিট অনেক বেশি শক্তি বহন করতে পারে, রিলের উপর নির্ভর করে, যার মধ্যে মেইনস ভোল্টেজ বা এমনকি শিল্প ব্যবহারের জন্য উচ্চ শক্তি স্তর রয়েছে। এভাবে একটি IoT ডেভ কিট একটি সেচ ব্যবস্থা নিয়ন্ত্রণ করতে পারে, একটি একক গাছের জন্য একটি ছোট পাম্প থেকে শুরু করে একটি সম্পূর্ণ বাণিজ্যিক খামারের জন্য একটি বিশাল শিল্প ব্যবস্থা পর্যন্ত।
+
+
+
+উপরের ছবিতে একটি গ্রোভ রিলে দেখানো হয়েছে। নিয়ন্ত্রণ সার্কিটটি একটি IoT ডিভাইসে সংযুক্ত হয় এবং 3.3V বা 5V ব্যবহার করে রিলকে চালু বা বন্ধ করে। আউটপুট সার্কিটে দুটি টার্মিনাল রয়েছে, যেকোনো একটি পাওয়ার বা গ্রাউন্ড হতে পারে। আউটপুট সার্কিট 250V এ 10A পর্যন্ত পরিচালনা করতে পারে, যা বিভিন্ন মেইনস-চালিত ডিভাইসের জন্য যথেষ্ট। আপনি এমন রিলে পেতে পারেন যা আরও উচ্চ শক্তি স্তর পরিচালনা করতে পারে।
+
+
+
+উপরের ছবিতে, একটি রিলের মাধ্যমে একটি পাম্পে শক্তি সরবরাহ করা হয়েছে। একটি লাল তার USB পাওয়ার সাপ্লাইয়ের +5V টার্মিনালকে রিলের আউটপুট সার্কিটের একটি টার্মিনালের সাথে সংযুক্ত করেছে এবং একটি অন্য লাল তার আউটপুট সার্কিটের অন্য টার্মিনালকে পাম্পের সাথে সংযুক্ত করেছে। একটি কালো তার পাম্পকে USB পাওয়ার সাপ্লাইয়ের গ্রাউন্ডের সাথে সংযুক্ত করেছে। যখন রিলে চালু হয়, এটি সার্কিটটি সম্পূর্ণ করে, পাম্পে 5V পাঠায়, পাম্পটি চালু করে।
+
+## রিলে নিয়ন্ত্রণ
+
+আপনি আপনার IoT ডেভ কিট থেকে একটি রিলে নিয়ন্ত্রণ করতে পারেন।
+
+### কাজ - একটি রিলে নিয়ন্ত্রণ করুন
+
+আপনার IoT ডিভাইস ব্যবহার করে একটি রিলে নিয়ন্ত্রণ করতে প্রাসঙ্গিক গাইডটি অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-relay.md)
+* [Single-board computer - Raspberry Pi](pi-relay.md)
+* [Single-board computer - Virtual device](virtual-device-relay.md)
+
+## MQTT এর মাধ্যমে আপনার উদ্ভিদ নিয়ন্ত্রণ
+
+এখন পর্যন্ত আপনার রিলে একটি একক মাটির আর্দ্রতা পাঠের উপর ভিত্তি করে IoT ডিভাইস দ্বারা সরাসরি নিয়ন্ত্রিত হয়েছে। একটি বাণিজ্যিক সেচ ব্যবস্থায়, নিয়ন্ত্রণ লজিক কেন্দ্রীভূত হবে, যা একাধিক সেন্সর থেকে ডেটা ব্যবহার করে জলসেচনের সিদ্ধান্ত নিতে এবং যেকোনো কনফিগারেশন একক স্থানে পরিবর্তন করতে সক্ষম হবে। এটি অনুকরণ করতে, আপনি MQTT এর মাধ্যমে রিলেকে নিয়ন্ত্রণ করতে পারেন।
+
+### কাজ - MQTT এর মাধ্যমে রিলে নিয়ন্ত্রণ করুন
+
+1. আপনার `soil-moisture-sensor` প্রকল্পে MQTT-তে সংযোগ করতে প্রাসঙ্গিক MQTT লাইব্রেরি/পিপ প্যাকেজ এবং কোড যোগ করুন। ক্লায়েন্ট আইডি আপনার আইডি দ্বারা প্রিফিক্সড `soilmoisturesensor_client` হিসাবে নামকরণ করুন।
+
+ > ⚠️ [প্রকল্প 1, পাঠ 4-এ MQTT-তে সংযোগ করার নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/README.md#connect-your-iot-device-to-mqtt) প্রয়োজন হলে উল্লেখ করতে পারেন।
+
+1. মাটির আর্দ্রতা সেটিংস সহ টেলিমেট্রি পাঠাতে প্রাসঙ্গিক ডিভাইস কোড যোগ করুন। টেলিমেট্রি বার্তার জন্য, প্রপার্টি `soil_moisture` হিসাবে নামকরণ করুন।
+
+ > ⚠️ [MQTT-তে টেলিমেট্রি পাঠানোর নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/README.md#send-telemetry-from-your-iot-device) প্রয়োজন হলে উল্লেখ করতে পারেন।
+
+1. টেলিমেট্রিতে সাবস্ক্রাইব করতে এবং একটি কমান্ড পাঠাতে স্থানীয় সার্ভার কোড তৈরি করুন যা `soil-moisture-sensor-server` নামে একটি ফোল্ডারে রিলেকে নিয়ন্ত্রণ করে। কমান্ড বার্তায় প্রপার্টি `relay_on` হিসাবে নামকরণ করুন এবং ক্লায়েন্ট আইডি আপনার আইডি দ্বারা প্রিফিক্সড `soilmoisturesensor_server` হিসাবে সেট করুন। প্রকল্প 1, পাঠ 4-এর জন্য আপনি যে সার্ভার কোড লিখেছেন তার একই কাঠামো রাখুন কারণ আপনি এই পাঠে পরে এই কোডে যোগ করবেন।
+
+ > ⚠️ [MQTT-তে টেলিমেট্রি পাঠানোর নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/README.md#write-the-server-code) এবং [MQTT-তে কমান্ড পাঠানোর নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/README.md#send-commands-to-the-mqtt-broker) প্রয়োজন হলে উল্লেখ করতে পারেন।
+
+1. প্রাপ্ত কমান্ড থেকে রিলেকে নিয়ন্ত্রণ করতে প্রাসঙ্গিক ডিভাইস কোড যোগ করুন, বার্তার `relay_on` প্রপার্টি ব্যবহার করে। `soil_moisture` যদি 450 এর বেশি হয় তবে `relay_on` এর জন্য true পাঠান, অন্যথায় false পাঠান, ঠিক যেমন আপনি আগে IoT ডিভাইসের জন্য যুক্তি যোগ করেছিলেন।
+
+ > ⚠️ [MQTT থেকে কমান্ডের প্রতিক্রিয়া জানানোর নির্দেশাবলী](../../../1-getting-started/lessons/4-connect-internet/README.md#handle-commands-on-the-iot-device) প্রয়োজন হলে উল্লেখ করতে পারেন।
+
+> 💁 আপনি এই কোডটি [code-mqtt](../../../../../2-farm/lessons/3-automated-plant-watering/code-mqtt) ফোল্ডারে খুঁজে পেতে পারেন।
+
+আপনার ডিভাইস এবং স্থানীয় সার্ভারে কোডটি চালু আছে তা নিশ্চিত করুন এবং এটি পরীক্ষা করুন মাটির আর্দ্রতার স্তর পরিবর্তন করে, হয় ভার্চুয়াল সেন্সর দ্বারা পাঠানো মান পরিবর্তন করে, অথবা মাটিতে জল যোগ করে বা সেন্সরটি মাটি থেকে সরিয়ে।
+
+## সেন্সর এবং অ্যাকচুয়েটর টাইমিং
+
+পাঠ 3-এ আপনি একটি নাইটলাইট তৈরি করেছিলেন - একটি LED যা একটি লাইট সেন্সর দ্বারা কম আলো সনাক্ত করার সাথে সাথে চালু হয়। লাইট সেন্সরটি আলো স্তরের পরিবর্তন তাৎক্ষণিকভাবে সনাক্ত করেছিল এবং ডিভাইসটি দ্রুত প্রতিক্রিয়া জানাতে সক্ষম হয়েছিল, শুধুমাত্র `loop` ফাংশন বা `while True:` লুপের বিলম্বের দৈর্ঘ্য দ্বারা সীমাবদ্ধ। একজন IoT ডেভেলপার হিসাবে, আপনি সবসময় এমন একটি দ্রুত প্রতিক্রিয়া লুপের উপর নির্ভর করতে পারবেন না।
+
+### মাটির আর্দ্রতার জন্য টাইমিং
+
+যদি আপনি একটি শারীরিক সেন্সর ব্যবহার করে মাটির আর্দ্রতা নিয়ে শেষ পাঠটি করেছেন, তবে আপনি লক্ষ্য করেছেন যে আপনার গাছকে জল দেওয়ার পরে মাটির আর্দ্রতা পড়তে কয়েক সেকেন্ড সময় লেগেছে। এটি সেন্সর ধীরগতির কারণে নয়, বরং মাটির মধ্য দিয়ে জল প্রবাহিত হতে সময় লাগে।
+💁 যদি আপনি সেন্সরের খুব কাছাকাছি পানি দেন, তাহলে আপনি দেখতে পারেন যে রিডিং দ্রুত কমে গেছে, তারপর আবার বেড়ে গেছে - এটি ঘটে কারণ সেন্সরের কাছে থাকা পানি মাটির বাকি অংশে ছড়িয়ে পড়ে, যার ফলে সেন্সরের কাছে মাটির আর্দ্রতা কমে যায়।
+
+
+উপরের চিত্রে, মাটির আর্দ্রতার একটি পরিমাপ ৬৫৮ দেখাচ্ছে। গাছে পানি দেওয়া হয়, কিন্তু এই পরিমাপটি সঙ্গে সঙ্গে পরিবর্তন হয় না, কারণ পানি এখনও সেন্সরে পৌঁছায়নি। পানি দেওয়া শেষ হতে পারে সেন্সরে পৌঁছানোর আগেই, এবং তখন মানটি নতুন আর্দ্রতার স্তর প্রতিফলিত করতে কমে যায়।
+
+যদি আপনি মাটির আর্দ্রতার স্তরের উপর ভিত্তি করে একটি রিলে দিয়ে সেচ ব্যবস্থা নিয়ন্ত্রণের কোড লিখতেন, তবে আপনাকে এই বিলম্বটি বিবেচনায় নিতে হবে এবং আপনার IoT ডিভাইসে আরও স্মার্ট টাইমিং তৈরি করতে হবে।
+
+✅ একটু সময় নিয়ে ভাবুন, কীভাবে এটি করা যেতে পারে।
+
+### সেন্সর এবং অ্যাকচুয়েটরের টাইমিং নিয়ন্ত্রণ করুন
+
+ধরুন আপনাকে একটি খামারের জন্য সেচ ব্যবস্থা তৈরি করার দায়িত্ব দেওয়া হয়েছে। মাটির ধরন অনুযায়ী, গাছের জন্য আদর্শ মাটির আর্দ্রতার স্তর ৪০০-৪৫০ এর একটি অ্যানালগ ভোল্টেজ রিডিংয়ের সাথে মেলে।
+
+আপনি ডিভাইসটি এমনভাবে প্রোগ্রাম করতে পারেন যেমনটি নাইটলাইটের ক্ষেত্রে করা হয় - যতক্ষণ সেন্সর ৪৫০ এর উপরে পড়ে, একটি রিলে চালু করে পাম্প চালু করুন। সমস্যাটি হলো, পাম্প থেকে পানি মাটির ভেতর দিয়ে সেন্সরে পৌঁছাতে কিছুটা সময় লাগে। সেন্সরটি ৪৫০ স্তর সনাক্ত করার সাথে সাথে পানি বন্ধ করে দেবে, কিন্তু পাম্প করা পানি মাটির ভেতর দিয়ে শোষিত হতে থাকায় পানি স্তর কমতে থাকবে। এর ফলাফল হলো পানির অপচয় এবং শিকড়ের ক্ষতির ঝুঁকি।
+
+✅ মনে রাখবেন - খুব বেশি পানি গাছের জন্য খুব কম পানির মতোই ক্ষতিকর হতে পারে এবং এটি একটি মূল্যবান সম্পদের অপচয়।
+
+উত্তম সমাধান হলো বুঝতে পারা যে অ্যাকচুয়েটর চালু হওয়ার এবং সেন্সর যে সম্পত্তি পরিমাপ করে তার পরিবর্তন হওয়ার মধ্যে একটি বিলম্ব রয়েছে। এর মানে হলো, সেন্সরটি কেবলমাত্র কিছুক্ষণ অপেক্ষা করার পর মানটি পুনরায় পরিমাপ করা উচিত নয়, বরং অ্যাকচুয়েটরটি বন্ধ হওয়ার পর কিছুক্ষণ অপেক্ষা করা উচিত পরবর্তী সেন্সর পরিমাপ নেওয়ার আগে।
+
+প্রতিবার রিলে কতক্ষণ চালু থাকবে? সতর্কতার দিক থেকে এটি ভালো যে রিলে কেবলমাত্র অল্প সময়ের জন্য চালু রাখা, তারপর পানি শোষিত হওয়ার জন্য অপেক্ষা করা, তারপর আর্দ্রতার স্তর পুনরায় পরীক্ষা করা। সর্বোপরি, আপনি সবসময় আরও পানি যোগ করার জন্য পাম্পটি আবার চালু করতে পারেন, কিন্তু আপনি মাটি থেকে পানি সরাতে পারবেন না।
+
+> 💁 এই ধরনের টাইমিং নিয়ন্ত্রণটি আপনি যে IoT ডিভাইস তৈরি করছেন, যে সম্পত্তি পরিমাপ করছেন এবং যে সেন্সর ও অ্যাকচুয়েটর ব্যবহার করছেন তার উপর নির্ভর করে খুব নির্দিষ্ট।
+
+
+
+উদাহরণস্বরূপ, আমার একটি স্ট্রবেরি গাছ রয়েছে যার সাথে একটি মাটির আর্দ্রতা সেন্সর এবং একটি পাম্প রয়েছে যা একটি রিলের মাধ্যমে নিয়ন্ত্রিত। আমি লক্ষ্য করেছি যে যখন আমি পানি যোগ করি তখন মাটির আর্দ্রতার পরিমাপ স্থিতিশীল হতে প্রায় ২০ সেকেন্ড সময় লাগে। এর মানে হলো আমাকে রিলে বন্ধ করতে হবে এবং আর্দ্রতার স্তর পরীক্ষা করার আগে ২০ সেকেন্ড অপেক্ষা করতে হবে। আমি কম পানি দেওয়ার পক্ষে বেশি, কারণ আমি সবসময় পাম্পটি আবার চালু করতে পারি, কিন্তু আমি গাছ থেকে পানি সরাতে পারি না।
+
+
+
+এর মানে হলো সেরা প্রক্রিয়াটি এমন একটি সেচ চক্র হবে যা নিম্নরূপ:
+
+* পাম্পটি ৫ সেকেন্ডের জন্য চালু করুন
+* ২০ সেকেন্ড অপেক্ষা করুন
+* মাটির আর্দ্রতা পরীক্ষা করুন
+* যদি স্তরটি এখনও প্রয়োজনীয় স্তরের উপরে থাকে, তাহলে উপরের ধাপগুলো পুনরাবৃত্তি করুন
+
+৫ সেকেন্ড পাম্পের জন্য খুব বেশি সময় হতে পারে, বিশেষত যদি আর্দ্রতার স্তর কেবলমাত্র প্রয়োজনীয় স্তরের সামান্য উপরে থাকে। সঠিক টাইমিং নির্ধারণের সেরা উপায় হলো এটি চেষ্টা করা, তারপর সেন্সর ডেটা পাওয়ার পর এটি সামঞ্জস্য করা, একটি ক্রমাগত ফিডব্যাক লুপের মাধ্যমে। এটি আরও সূক্ষ্ম টাইমিংয়ের দিকে নিয়ে যেতে পারে, যেমন প্রয়োজনীয় মাটির আর্দ্রতার প্রতি ১০০ এর জন্য পাম্পটি ১ সেকেন্ড চালু করা, একটি নির্দিষ্ট ৫ সেকেন্ডের পরিবর্তে।
+
+✅ কিছু গবেষণা করুন: অন্য কোনো টাইমিং বিবেচনা আছে কি? মাটির আর্দ্রতা কম হলেই কি গাছকে পানি দেওয়া যায়, নাকি গাছকে পানি দেওয়ার জন্য দিনের নির্দিষ্ট সময় ভালো বা খারাপ হতে পারে?
+
+> 💁 আবহাওয়ার পূর্বাভাসও বাইরের চাষাবাদের জন্য স্বয়ংক্রিয় সেচ ব্যবস্থার নিয়ন্ত্রণে বিবেচনা করা যেতে পারে। যদি বৃষ্টির সম্ভাবনা থাকে, তাহলে পানি দেওয়ার কাজটি বৃষ্টি শেষ হওয়া পর্যন্ত স্থগিত রাখা যেতে পারে। তখন মাটি হয়তো যথেষ্ট আর্দ্র হয়ে যাবে এবং আর পানি দেওয়ার প্রয়োজন হবে না, যা বৃষ্টির ঠিক আগে পানি দেওয়ার চেয়ে অনেক বেশি কার্যকর।
+
+## আপনার গাছ নিয়ন্ত্রণ সার্ভারে টাইমিং যোগ করুন
+
+সার্ভার কোডটি সেচ চক্রের টাইমিং এবং মাটির আর্দ্রতার স্তর পরিবর্তনের জন্য অপেক্ষা করার নিয়ন্ত্রণ যোগ করতে সংশোধন করা যেতে পারে। রিলে টাইমিং নিয়ন্ত্রণের জন্য সার্ভারের লজিক হলো:
+
+1. টেলিমেট্রি বার্তা প্রাপ্তি
+1. মাটির আর্দ্রতার স্তর পরীক্ষা করুন
+1. যদি এটি ঠিক থাকে, কিছু করবেন না। যদি রিডিংটি খুব বেশি হয় (যার মানে মাটির আর্দ্রতা খুব কম), তাহলে:
+ 1. রিলে চালু করার জন্য একটি কমান্ড পাঠান
+ 1. ৫ সেকেন্ড অপেক্ষা করুন
+ 1. রিলে বন্ধ করার জন্য একটি কমান্ড পাঠান
+ 1. মাটির আর্দ্রতার স্তর স্থিতিশীল হওয়ার জন্য ২০ সেকেন্ড অপেক্ষা করুন
+
+সেচ চক্র, টেলিমেট্রি বার্তা প্রাপ্তি থেকে মাটির আর্দ্রতার স্তর পুনরায় প্রক্রিয়া করার জন্য প্রস্তুত হওয়া পর্যন্ত প্রক্রিয়া, প্রায় ২৫ সেকেন্ড সময় নেয়। আমরা প্রতি ১০ সেকেন্ডে মাটির আর্দ্রতার স্তর পাঠাচ্ছি, তাই একটি ওভারল্যাপ রয়েছে যেখানে একটি বার্তা প্রাপ্তি হয় যখন সার্ভার মাটির আর্দ্রতার স্তর স্থিতিশীল হওয়ার জন্য অপেক্ষা করছে, যা আরেকটি সেচ চক্র শুরু করতে পারে।
+
+এটি মোকাবিলা করার দুটি বিকল্প রয়েছে:
+
+* IoT ডিভাইস কোডটি পরিবর্তন করে প্রতি মিনিটে কেবলমাত্র টেলিমেট্রি পাঠানো, যাতে সেচ চক্রটি সম্পন্ন হয় পরবর্তী বার্তা পাঠানোর আগে
+* সেচ চক্র চলাকালীন টেলিমেট্রি থেকে সদস্যতা বাতিল করা
+
+প্রথম বিকল্পটি সবসময় বড় খামারের জন্য ভালো সমাধান নয়। কৃষক হয়তো মাটির আর্দ্রতার স্তরগুলি সেচ দেওয়ার সময় সংগ্রহ করতে চাইতে পারেন পরবর্তী বিশ্লেষণের জন্য, উদাহরণস্বরূপ খামারের বিভিন্ন অঞ্চলে পানির প্রবাহ সম্পর্কে সচেতন হতে এবং আরও লক্ষ্যভিত্তিক সেচের নির্দেশনা দিতে। দ্বিতীয় বিকল্পটি ভালো - কোডটি কেবলমাত্র টেলিমেট্রি উপেক্ষা করছে যখন এটি ব্যবহার করতে পারছে না, কিন্তু টেলিমেট্রি এখনও সেখানে রয়েছে অন্য পরিষেবাগুলোর জন্য যারা এটি সাবস্ক্রাইব করতে পারে।
+
+> 💁 IoT ডেটা কেবলমাত্র একটি ডিভাইস থেকে একটি পরিষেবায় পাঠানো হয় না, বরং অনেক ডিভাইস একটি ব্রোকারে ডেটা পাঠাতে পারে, এবং অনেক পরিষেবা ব্রোকার থেকে ডেটা শুনতে পারে। উদাহরণস্বরূপ, একটি পরিষেবা মাটির আর্দ্রতার ডেটা শুনতে পারে এবং এটি একটি ডাটাবেসে সংরক্ষণ করতে পারে পরবর্তী বিশ্লেষণের জন্য। অন্য একটি পরিষেবা একই টেলিমেট্রি শুনতে পারে একটি সেচ ব্যবস্থা নিয়ন্ত্রণ করার জন্য।
+
+### কাজ - আপনার গাছ নিয়ন্ত্রণ সার্ভারে টাইমিং যোগ করুন
+
+আপনার সার্ভার কোড আপডেট করুন যাতে এটি রিলে ৫ সেকেন্ডের জন্য চালায়, তারপর ২০ সেকেন্ড অপেক্ষা করে।
+
+1. `soil-moisture-sensor-server` ফোল্ডারটি VS Code-এ খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। নিশ্চিত করুন যে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় রয়েছে।
+
+1. `app.py` ফাইলটি খুলুন
+
+1. বিদ্যমান ইমপোর্টগুলোর নিচে `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ import threading
+ ```
+
+ এই বিবৃতিটি পাইথনের লাইব্রেরি থেকে `threading` ইমপোর্ট করে, যা অপেক্ষা করার সময় পাইথনকে অন্য কোড কার্যকর করতে দেয়।
+
+1. সার্ভার কোডে টেলিমেট্রি বার্তা প্রক্রিয়াকরণের জন্য ব্যবহৃত `handle_telemetry` ফাংশনের আগে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ water_time = 5
+ wait_time = 20
+ ```
+
+ এটি নির্ধারণ করে রিলে কতক্ষণ চালানো হবে (`water_time`), এবং মাটির আর্দ্রতা পরীক্ষা করার আগে কতক্ষণ অপেক্ষা করা হবে (`wait_time`)।
+
+1. এই কোডের নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ def send_relay_command(client, state):
+ command = { 'relay_on' : state }
+ print("Sending message:", command)
+ client.publish(server_command_topic, json.dumps(command))
+ ```
+
+ এই কোডটি একটি ফাংশন সংজ্ঞায়িত করে যার নাম `send_relay_command`, যা রিলে নিয়ন্ত্রণ করার জন্য MQTT-এর মাধ্যমে একটি কমান্ড পাঠায়। টেলিমেট্রি একটি ডিকশনারি হিসেবে তৈরি করা হয়, তারপর একটি JSON স্ট্রিংয়ে রূপান্তরিত হয়। `state`-এ পাস করা মান নির্ধারণ করে রিলে চালু বা বন্ধ থাকবে কিনা।
+
+1. `send_relay_code` ফাংশনের পরে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ def control_relay(client):
+ print("Unsubscribing from telemetry")
+ mqtt_client.unsubscribe(client_telemetry_topic)
+
+ send_relay_command(client, True)
+ time.sleep(water_time)
+ send_relay_command(client, False)
+
+ time.sleep(wait_time)
+
+ print("Subscribing to telemetry")
+ mqtt_client.subscribe(client_telemetry_topic)
+ ```
+
+ এটি একটি ফাংশন সংজ্ঞায়িত করে যা প্রয়োজনীয় টাইমিংয়ের উপর ভিত্তি করে রিলে নিয়ন্ত্রণ করে। এটি প্রথমে টেলিমেট্রি থেকে সদস্যতা বাতিল করে যাতে সেচ চলাকালীন মাটির আর্দ্রতার বার্তা প্রক্রিয়া না হয়। এরপর এটি রিলে চালু করার জন্য একটি কমান্ড পাঠায়। তারপর এটি `water_time` এর জন্য অপেক্ষা করে এবং রিলে বন্ধ করার জন্য একটি কমান্ড পাঠায়। অবশেষে এটি `wait_time` সেকেন্ডের জন্য মাটির আর্দ্রতার স্তর স্থিতিশীল হওয়ার জন্য অপেক্ষা করে। তারপর এটি টেলিমেট্রিতে পুনরায় সদস্যতা নেয়।
+
+1. `handle_telemetry` ফাংশনটি নিম্নলিখিত কোডে পরিবর্তন করুন:
+
+ ```python
+ def handle_telemetry(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ if payload['soil_moisture'] > 450:
+ threading.Thread(target=control_relay, args=(client,)).start()
+ ```
+
+ এই কোডটি মাটির আর্দ্রতার স্তর পরীক্ষা করে। যদি এটি ৪৫০ এর বেশি হয়, তাহলে মাটির আর্দ্রতার প্রয়োজন, তাই এটি `control_relay` ফাংশন কল করে। এই ফাংশনটি একটি আলাদা থ্রেডে চালানো হয়, যা ব্যাকগ্রাউন্ডে চলে।
+
+1. নিশ্চিত করুন যে আপনার IoT ডিভাইস চালু রয়েছে, তারপর এই কোডটি চালান। মাটির আর্দ্রতার স্তর পরিবর্তন করুন এবং দেখুন কী ঘটে রিলের সাথে - এটি ৫ সেকেন্ডের জন্য চালু হবে তারপর কমপক্ষে ২০ সেকেন্ড বন্ধ থাকবে, কেবলমাত্র চালু হবে যদি মাটির আর্দ্রতার স্তর যথেষ্ট না হয়।
+
+ ```output
+ (.venv) ➜ soil-moisture-sensor-server ✗ python app.py
+ Message received: {'soil_moisture': 457}
+ Unsubscribing from telemetry
+ Sending message: {'relay_on': True}
+ Sending message: {'relay_on': False}
+ Subscribing to telemetry
+ Message received: {'soil_moisture': 302}
+ ```
+
+ একটি সিমুলেটেড সেচ ব্যবস্থায় এটি পরীক্ষা করার একটি ভালো উপায় হলো শুকনো মাটি ব্যবহার করা, তারপর রিলে চালু থাকা অবস্থায় হাতে করে পানি ঢালা, রিলে বন্ধ হওয়ার সাথে সাথে পানি ঢালা বন্ধ করা।
+
+> 💁 আপনি এই কোডটি [code-timing](../../../../../2-farm/lessons/3-automated-plant-watering/code-timing) ফোল্ডারে খুঁজে পেতে পারেন।
+
+> 💁 আপনি যদি একটি পাম্প ব্যবহার করে একটি বাস্তব সেচ ব্যবস্থা তৈরি করতে চান, তাহলে আপনি একটি [৬ ভোল্টের পানি পাম্প](https://www.seeedstudio.com/6V-Mini-Water-Pump-p-1945.html) একটি [ইউএসবি টার্মিনাল পাওয়ার সাপ্লাই](https://www.adafruit.com/product/3628) এর সাথে ব্যবহার করতে পারেন। নিশ্চিত করুন যে পাম্পে যাওয়ার বা পাম্প থেকে আসা পাওয়ারটি রিলের মাধ্যমে সংযুক্ত রয়েছে।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+আপনার কি মনে হয় অন্য কোনো IoT বা বৈদ্যুতিক ডিভাইস রয়েছে যার একই ধরনের সমস্যা রয়েছে যেখানে অ্যাকচুয়েটরের ফলাফল সেন্সরে পৌঁছাতে কিছুটা সময় লাগে? আপনার বাড়ি বা স্কুলে হয়তো এমন কিছু ডিভাইস রয়েছে।
+
+* তারা কী সম্পত্তি পরিমাপ করে?
+* অ্যাকচুয়েটর ব্যবহারের পর সম্পত্তি পরিবর্তন হতে কতক্ষণ সময় লাগে?
+* সম্পত্তি প্রয়োজনীয় মানের বাইরে চলে গেলে কি তা ঠিক আছে?
+* যদি প্রয়োজনীয় মানে ফিরিয়ে আনা প্রয়োজন হয়, তাহলে কীভাবে তা করা যেতে পারে?
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/14)
+
+## পর্যালোচনা ও স্ব-অধ্যয়ন
+
+* রিলেগুলোর উপর আরও পড়ুন, যার মধ্যে টেলিফোন এক্সচেঞ্জে তাদের ঐতিহাসিক ব্যবহারের তথ্য রয়েছে [রিলে উইকিপিডিয়া পেজে](https://wikipedia.org/wiki/Relay)।
+
+## অ্যাসাইনমেন্ট
+
+[আরও কার্যকর সেচ চক্র তৈরি করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/3-automated-plant-watering/assignment.md b/translations/bn/2-farm/lessons/3-automated-plant-watering/assignment.md
new file mode 100644
index 00000000..0de133fd
--- /dev/null
+++ b/translations/bn/2-farm/lessons/3-automated-plant-watering/assignment.md
@@ -0,0 +1,54 @@
+
+# আরও কার্যকর সেচ চক্র তৈরি করুন
+
+## নির্দেশাবলী
+
+এই পাঠে দেখানো হয়েছে কীভাবে সেন্সর ডেটার মাধ্যমে একটি রিলে নিয়ন্ত্রণ করতে হয়, এবং সেই রিলে একটি সেচ ব্যবস্থার জন্য পাম্প নিয়ন্ত্রণ করতে পারে। নির্দিষ্ট পরিমাণ মাটির জন্য, একটি নির্দিষ্ট সময়ের জন্য পাম্প চালানো মাটির আর্দ্রতার উপর সবসময় একই প্রভাব ফেলবে। এর মানে আপনি ধারণা পেতে পারেন যে মাটির আর্দ্রতার একটি নির্দিষ্ট পরিমাণ হ্রাসের জন্য কত সেকেন্ড সেচ প্রয়োজন। এই ডেটা ব্যবহার করে আপনি একটি আরও নিয়ন্ত্রিত সেচ ব্যবস্থা তৈরি করতে পারেন।
+
+এই অ্যাসাইনমেন্টে আপনাকে হিসাব করতে হবে যে মাটির আর্দ্রতা একটি নির্দিষ্ট পরিমাণ বাড়ানোর জন্য পাম্প কতক্ষণ চালানো উচিত।
+
+> ⚠️ যদি আপনি ভার্চুয়াল IoT হার্ডওয়্যার ব্যবহার করেন, আপনি এই প্রক্রিয়াটি অনুসরণ করতে পারেন, তবে ফলাফলগুলি অনুকরণ করতে পারেন, যেমন রিলে চালু থাকার সময় প্রতি সেকেন্ডে মাটির আর্দ্রতার মান ম্যানুয়ালি একটি নির্দিষ্ট পরিমাণ বাড়ানো।
+
+1. শুকনো মাটি দিয়ে শুরু করুন। মাটির আর্দ্রতা পরিমাপ করুন।
+
+1. একটি নির্দিষ্ট পরিমাণ পানি যোগ করুন, হয় পাম্প ১ সেকেন্ড চালিয়ে বা একটি নির্দিষ্ট পরিমাণ পানি ঢেলে।
+
+ > পাম্প সবসময় একটি নির্দিষ্ট গতিতে চলা উচিত, তাই পাম্প প্রতি সেকেন্ডে চালালে এটি একই পরিমাণ পানি সরবরাহ করবে।
+
+1. মাটির আর্দ্রতার স্তর স্থিতিশীল হওয়া পর্যন্ত অপেক্ষা করুন এবং একটি রিডিং নিন।
+
+1. এই প্রক্রিয়াটি একাধিকবার পুনরাবৃত্তি করুন এবং ফলাফলের একটি টেবিল তৈরি করুন। নিচে এই টেবিলের একটি উদাহরণ দেওয়া হলো।
+
+ | মোট পাম্প সময় | মাটির আর্দ্রতা | হ্রাস |
+ | --- | --: | -: |
+ | শুকনো | 643 | 0 |
+ | 1সেকেন্ড | 621 | 22 |
+ | 2সেকেন্ড | 601 | 20 |
+ | 3সেকেন্ড | 579 | 22 |
+ | 4সেকেন্ড | 560 | 19 |
+ | 5সেকেন্ড | 539 | 21 |
+ | 6সেকেন্ড | 521 | 18 |
+
+1. প্রতি সেকেন্ডে পানির জন্য মাটির আর্দ্রতার গড় বৃদ্ধি নির্ণয় করুন। উপরের উদাহরণে, প্রতি সেকেন্ডে পানির জন্য গড়ে ২০.৩ হ্রাস ঘটে।
+
+1. এই ডেটা ব্যবহার করে আপনার সার্ভার কোডের দক্ষতা উন্নত করুন, মাটির আর্দ্রতাকে প্রয়োজনীয় স্তরে আনতে পাম্প নির্দিষ্ট সময়ের জন্য চালান।
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| মাটির আর্দ্রতার ডেটা সংগ্রহ | নির্দিষ্ট পরিমাণ পানি যোগ করার পর একাধিক রিডিং নিতে সক্ষম | নির্দিষ্ট পরিমাণ পানি দিয়ে কিছু রিডিং নিতে সক্ষম | এক বা দুইটি রিডিং নিতে সক্ষম, অথবা নির্দিষ্ট পরিমাণ পানি ব্যবহার করতে অক্ষম |
+| সার্ভার কোড ক্যালিব্রেট করা | মাটির আর্দ্রতার গড় হ্রাস নির্ণয় করতে এবং সার্ভার কোড আপডেট করতে সক্ষম | গড় হ্রাস নির্ণয় করতে সক্ষম, তবে সার্ভার কোড আপডেট করতে অক্ষম, অথবা সঠিকভাবে গড় নির্ণয় করতে অক্ষম, তবে এই মান ব্যবহার করে সার্ভার কোড সঠিকভাবে আপডেট করে | গড় নির্ণয় করতে অক্ষম, অথবা সার্ভার কোড আপডেট করতে অক্ষম |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/bn/2-farm/lessons/3-automated-plant-watering/pi-relay.md
new file mode 100644
index 00000000..c775918d
--- /dev/null
+++ b/translations/bn/2-farm/lessons/3-automated-plant-watering/pi-relay.md
@@ -0,0 +1,123 @@
+
+# রিলে নিয়ন্ত্রণ করুন - রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি মাটির আর্দ্রতা সেন্সরের পাশাপাশি আপনার রাস্পবেরি পাই-তে একটি রিলে যোগ করবেন এবং মাটির আর্দ্রতার স্তরের উপর ভিত্তি করে এটি নিয়ন্ত্রণ করবেন।
+
+## হার্ডওয়্যার
+
+রাস্পবেরি পাই-এর জন্য একটি রিলে প্রয়োজন।
+
+আপনার ব্যবহৃত রিলে হল একটি [Grove রিলে](https://www.seeedstudio.com/Grove-Relay.html), একটি সাধারণত-খোলা রিলে (যার মানে আউটপুট সার্কিট খোলা থাকে বা সংযোগ বিচ্ছিন্ন থাকে যখন রিলেতে কোনো সংকেত পাঠানো হয় না), যা ২৫০ ভোল্ট এবং ১০ অ্যাম্পিয়ার পর্যন্ত আউটপুট সার্কিট পরিচালনা করতে পারে।
+
+এটি একটি ডিজিটাল অ্যাকচুয়েটর, তাই এটি Grove Base Hat-এর একটি ডিজিটাল পিনে সংযুক্ত হয়।
+
+### রিলে সংযুক্ত করুন
+
+Grove রিলে রাস্পবেরি পাই-এর সাথে সংযুক্ত করা যেতে পারে।
+
+#### কাজ
+
+রিলে সংযুক্ত করুন।
+
+
+
+1. Grove কেবলের এক প্রান্ত রিলের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. রাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base Hat-এর **D5** চিহ্নিত ডিজিটাল সকেটে সংযুক্ত করুন, যা পাই-এর সাথে সংযুক্ত। এই সকেটটি GPIO পিনগুলোর পাশে থাকা সকেটের সারির বাম দিক থেকে দ্বিতীয়। মাটির আর্দ্রতা সেন্সরটি **A0** সকেটে সংযুক্ত অবস্থায় রাখুন।
+
+
+
+1. মাটির আর্দ্রতা সেন্সরটি মাটিতে প্রবেশ করান, যদি এটি আগের পাঠ থেকে ইতিমধ্যে সংযুক্ত না থাকে।
+
+## রিলে প্রোগ্রাম করুন
+
+এখন রাস্পবেরি পাই-কে সংযুক্ত রিলে ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং এটি বুট হওয়ার জন্য অপেক্ষা করুন।
+
+1. VS Code-এ আগের পাঠের `soil-moisture-sensor` প্রকল্পটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। আপনি এই প্রকল্পে কোড যোগ করবেন।
+
+1. বিদ্যমান ইমপোর্টগুলোর নিচে `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from grove.grove_relay import GroveRelay
+ ```
+
+ এই স্টেটমেন্টটি Grove Python লাইব্রেরি থেকে `GroveRelay` ইমপোর্ট করে, যা Grove রিলের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়।
+
+1. `ADC` ক্লাস ঘোষণার নিচে নিম্নলিখিত কোড যোগ করুন একটি `GroveRelay` ইনস্ট্যান্স তৈরি করতে:
+
+ ```python
+ relay = GroveRelay(5)
+ ```
+
+ এটি একটি রিলে তৈরি করে যা **D5** পিন ব্যবহার করে, যেখানে আপনি রিলেটি সংযুক্ত করেছেন।
+
+1. রিলে কাজ করছে কিনা তা পরীক্ষা করতে, `while True:` লুপের মধ্যে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ relay.on()
+ time.sleep(.5)
+ relay.off()
+ ```
+
+ কোডটি রিলেকে চালু করে, ০.৫ সেকেন্ড অপেক্ষা করে, তারপর রিলেকে বন্ধ করে।
+
+1. পাইথন অ্যাপ চালান। রিলে প্রতি ১০ সেকেন্ডে চালু এবং বন্ধ হবে, চালু এবং বন্ধ হওয়ার মধ্যে ০.৫ সেকেন্ডের বিলম্ব থাকবে। আপনি রিলের ক্লিক শব্দ শুনবেন এবং Grove বোর্ডের একটি LED রিলে চালু হলে জ্বলবে এবং বন্ধ হলে নিভে যাবে।
+
+ 
+
+## মাটির আর্দ্রতা থেকে রিলে নিয়ন্ত্রণ করুন
+
+এখন যেহেতু রিলে কাজ করছে, এটি মাটির আর্দ্রতার রিডিংয়ের প্রতিক্রিয়ায় নিয়ন্ত্রিত হতে পারে।
+
+### কাজ
+
+রিলেকে নিয়ন্ত্রণ করুন।
+
+1. রিলে পরীক্ষা করার জন্য যোগ করা ৩টি লাইন কোড মুছে ফেলুন। সেগুলোর জায়গায় নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ if soil_moisture > 450:
+ print("Soil Moisture is too low, turning relay on.")
+ relay.on()
+ else:
+ print("Soil Moisture is ok, turning relay off.")
+ relay.off()
+ ```
+
+ এই কোডটি মাটির আর্দ্রতা সেন্সর থেকে মাটির আর্দ্রতার স্তর পরীক্ষা করে। যদি এটি ৪৫০-এর উপরে থাকে, এটি রিলেকে চালু করে এবং ৪৫০-এর নিচে গেলে এটি রিলেকে বন্ধ করে।
+
+ > 💁 মনে রাখবেন, ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সরটি পড়ে যে মাটির আর্দ্রতার স্তর যত কম, মাটিতে তত বেশি আর্দ্রতা থাকে এবং এর বিপরীত।
+
+1. পাইথন অ্যাপ চালান। আপনি দেখবেন রিলে মাটির আর্দ্রতার স্তরের উপর নির্ভর করে চালু বা বন্ধ হচ্ছে। শুকনো মাটিতে চেষ্টা করুন, তারপর পানি যোগ করুন।
+
+ ```output
+ Soil Moisture: 638
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 452
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 347
+ Soil Moisture is ok, turning relay off.
+ ```
+
+> 💁 আপনি এই কোডটি [code-relay/pi](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটির আর্দ্রতা সেন্সর দ্বারা রিলে নিয়ন্ত্রণের প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/bn/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md
new file mode 100644
index 00000000..105f16a7
--- /dev/null
+++ b/translations/bn/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md
@@ -0,0 +1,127 @@
+
+# রিলে নিয়ন্ত্রণ করুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের এই অংশে, আপনি মাটির আর্দ্রতা সেন্সরের পাশাপাশি আপনার ভার্চুয়াল IoT ডিভাইসে একটি রিলে যোগ করবেন এবং এটি মাটির আর্দ্রতার স্তরের উপর ভিত্তি করে নিয়ন্ত্রণ করবেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+ভার্চুয়াল IoT ডিভাইস একটি সিমুলেটেড Grove রিলে ব্যবহার করবে। এটি এই ল্যাবটিকে একটি ফিজিক্যাল Grove রিলে সহ Raspberry Pi ব্যবহার করার মতোই রাখে।
+
+একটি ফিজিক্যাল IoT ডিভাইসে, রিলেটি সাধারণত একটি নরমালি-ওপেন রিলে হবে (অর্থাৎ, যখন রিলেতে কোনো সংকেত পাঠানো হয় না, তখন আউটপুট সার্কিট খোলা বা সংযুক্ত নয়)। এই ধরনের একটি রিলে 250V এবং 10A পর্যন্ত আউটপুট সার্কিট পরিচালনা করতে পারে।
+
+### CounterFit-এ রিলে যোগ করুন
+
+ভার্চুয়াল রিলে ব্যবহার করতে, আপনাকে এটি CounterFit অ্যাপে যোগ করতে হবে।
+
+#### কাজ
+
+CounterFit অ্যাপে রিলে যোগ করুন।
+
+1. VS Code-এ আগের পাঠের `soil-moisture-sensor` প্রকল্পটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। আপনি এই প্রকল্পে যোগ করবেন।
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি চালু রয়েছে।
+
+1. একটি রিলে তৈরি করুন:
+
+ 1. *Actuators* প্যানেলের *Create actuator* বাক্সে, *Actuator type* ড্রপডাউন থেকে *Relay* নির্বাচন করুন।
+
+ 1. *Pin*-কে *5* সেট করুন।
+
+ 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 5-এ রিলে তৈরি হয়।
+
+ 
+
+ রিলে তৈরি হবে এবং অ্যাকচুয়েটর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+## রিলে প্রোগ্রাম করুন
+
+এখন মাটির আর্দ্রতা সেন্সর অ্যাপটি ভার্চুয়াল রিলে ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ
+
+ভার্চুয়াল ডিভাইস প্রোগ্রাম করুন।
+
+1. VS Code-এ আগের পাঠের `soil-moisture-sensor` প্রকল্পটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। আপনি এই প্রকল্পে যোগ করবেন।
+
+1. `app.py` ফাইলে বিদ্যমান ইমপোর্টগুলির নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from counterfit_shims_grove.grove_relay import GroveRelay
+ ```
+
+ এই স্টেটমেন্টটি Grove Python শিম লাইব্রেরি থেকে `GroveRelay` ইমপোর্ট করে ভার্চুয়াল Grove রিলের সাথে ইন্টারঅ্যাক্ট করার জন্য।
+
+1. `ADC` ক্লাসের ঘোষণার নিচে নিম্নলিখিত কোড যোগ করুন একটি `GroveRelay` ইনস্ট্যান্স তৈরি করতে:
+
+ ```python
+ relay = GroveRelay(5)
+ ```
+
+ এটি একটি রিলে তৈরি করে পিন **5** ব্যবহার করে, যেখানে আপনি রিলেটি সংযুক্ত করেছেন।
+
+1. রিলে কাজ করছে কিনা পরীক্ষা করতে, `while True:` লুপে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ relay.on()
+ time.sleep(.5)
+ relay.off()
+ ```
+
+ কোডটি রিলেকে চালু করে, 0.5 সেকেন্ড অপেক্ষা করে, তারপর রিলেকে বন্ধ করে।
+
+1. Python অ্যাপ চালান। রিলে প্রতি 10 সেকেন্ডে চালু এবং বন্ধ হবে, চালু এবং বন্ধের মধ্যে অর্ধ সেকেন্ডের বিলম্ব থাকবে। আপনি CounterFit অ্যাপে ভার্চুয়াল রিলেকে চালু এবং বন্ধ হতে দেখবেন।
+
+ 
+
+## মাটির আর্দ্রতা থেকে রিলে নিয়ন্ত্রণ করুন
+
+এখন যেহেতু রিলেটি কাজ করছে, এটি মাটির আর্দ্রতার রিডিংয়ের প্রতিক্রিয়ায় নিয়ন্ত্রিত হতে পারে।
+
+### কাজ
+
+রিলেকে নিয়ন্ত্রণ করুন।
+
+1. রিলে পরীক্ষা করার জন্য আপনি যে ৩টি লাইন কোড যোগ করেছিলেন তা মুছে ফেলুন। তাদের জায়গায় নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ if soil_moisture > 450:
+ print("Soil Moisture is too low, turning relay on.")
+ relay.on()
+ else:
+ print("Soil Moisture is ok, turning relay off.")
+ relay.off()
+ ```
+
+ এই কোডটি মাটির আর্দ্রতা সেন্সর থেকে মাটির আর্দ্রতার স্তর পরীক্ষা করে। যদি এটি 450-এর উপরে থাকে, এটি রিলেকে চালু করে, এবং যদি এটি 450-এর নিচে যায়, এটি রিলেকে বন্ধ করে।
+
+ > 💁 মনে রাখবেন, ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সর পড়ে যে মাটির আর্দ্রতার স্তর যত কম, মাটিতে তত বেশি আর্দ্রতা থাকে এবং এর বিপরীত।
+
+1. Python অ্যাপ চালান। আপনি দেখবেন রিলে মাটির আর্দ্রতার স্তরের উপর নির্ভর করে চালু বা বন্ধ হচ্ছে। মাটির আর্দ্রতা সেন্সরের জন্য *Value* বা *Random* সেটিংস পরিবর্তন করুন এবং মান পরিবর্তন দেখুন।
+
+ ```output
+ Soil Moisture: 638
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 452
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 347
+ Soil Moisture is ok, turning relay off.
+ ```
+
+> 💁 আপনি এই কোডটি [code-relay/virtual-device](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার ভার্চুয়াল মাটির আর্দ্রতা সেন্সর রিলে নিয়ন্ত্রণ করার প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/bn/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md
new file mode 100644
index 00000000..778956f6
--- /dev/null
+++ b/translations/bn/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md
@@ -0,0 +1,25 @@
+
+# রিলে নিয়ন্ত্রণ করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি মাটির আর্দ্রতা সেন্সরের পাশাপাশি Wio Terminal-এ একটি রিলে যোগ করবেন এবং মাটির আর্দ্রতার স্তরের উপর ভিত্তি করে এটি নিয়ন্ত্রণ করবেন।
+
+## হার্ডওয়্যার
+
+Wio Terminal-এর জন্য একটি রিলে প্রয়োজন।
+
+আপনার ব্যবহৃত রিলে হল একটি [Grove relay](https://www.seeedstudio.com/Grove-Relay.html), একটি সাধারণত-খোলা রিলে (অর্থাৎ যখন রিলেতে কোনো সংকেত পাঠানো হয় না তখন আউটপুট সার্কিট খোলা বা সংযোগ বিচ্ছিন্ন থাকে) যা 250V এবং 10A পর্যন্ত আউটপুট সার্কিট পরিচালনা করতে পারে।
+
+এটি একটি ডিজিটাল অ্যাকচুয়েটর, তাই এটি Wio Terminal-এর ডিজিটাল পিনগুলিতে সংযুক্ত হয়। মাটির আর্দ্রতা সেন্সরের সাথে সংযুক্ত সম্মিলিত অ্যানালগ/ডিজিটাল পোর্টটি ইতিমধ্যেই ব্যবহৃত হচ্ছে, তাই এটি অন্য পোর্টে সংযুক্ত হয়, যা একটি সম্মিলিত I
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md
new file mode 100644
index 00000000..1774a08a
--- /dev/null
+++ b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md
@@ -0,0 +1,451 @@
+
+# আপনার গাছকে ক্লাউডে স্থানান্তর করুন
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) এর অংশ হিসেবে [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে শেখানো হয়েছিল।
+
+[](https://youtu.be/bNxjopXkhvk)
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/15)
+
+## ভূমিকা
+
+পূর্ববর্তী পাঠে, আপনি শিখেছেন কীভাবে আপনার গাছকে একটি MQTT ব্রোকারের সাথে সংযুক্ত করতে হয় এবং স্থানীয়ভাবে চলমান সার্ভার কোড থেকে একটি রিলে নিয়ন্ত্রণ করতে হয়। এটি এমন একটি ইন্টারনেট-সংযুক্ত স্বয়ংক্রিয় সেচ ব্যবস্থার মূল কাঠামো তৈরি করে যা বাড়িতে ব্যক্তিগত গাছ থেকে শুরু করে বাণিজ্যিক খামার পর্যন্ত ব্যবহৃত হয়।
+
+IoT ডিভাইসটি একটি পাবলিক MQTT ব্রোকারের সাথে যোগাযোগ করেছিল, যা নীতিগুলি প্রদর্শনের একটি উপায় ছিল, তবে এটি সবচেয়ে নির্ভরযোগ্য বা নিরাপদ পদ্ধতি নয়। এই পাঠে আপনি ক্লাউড এবং পাবলিক ক্লাউড পরিষেবাগুলির দ্বারা প্রদত্ত IoT ক্ষমতা সম্পর্কে শিখবেন। আপনি পাবলিক MQTT ব্রোকার থেকে এই ক্লাউড পরিষেবাগুলির একটিতে আপনার গাছ স্থানান্তর করার পদ্ধতিও শিখবেন।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [ক্লাউড কী?](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [ক্লাউড সাবস্ক্রিপশন তৈরি করুন](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [ক্লাউড IoT পরিষেবাগুলি](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [ক্লাউডে একটি IoT পরিষেবা তৈরি করুন](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [IoT Hub এর সাথে যোগাযোগ করুন](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [আপনার ডিভাইসকে IoT পরিষেবার সাথে সংযুক্ত করুন](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+
+## ক্লাউড কী?
+
+ক্লাউডের আগে, যখন কোনো কোম্পানি তাদের কর্মচারীদের জন্য (যেমন ডাটাবেস বা ফাইল স্টোরেজ) বা জনসাধারণের জন্য (যেমন ওয়েবসাইট) পরিষেবা প্রদান করতে চাইত, তখন তারা একটি ডেটা সেন্টার তৈরি এবং পরিচালনা করত। এটি একটি ছোট সংখ্যক কম্পিউটার সহ একটি কক্ষ থেকে শুরু করে অনেক কম্পিউটার সহ একটি ভবন পর্যন্ত হতে পারে। কোম্পানিটি নিম্নলিখিত বিষয়গুলি পরিচালনা করত:
+
+* কম্পিউটার কেনা
+* হার্ডওয়্যার রক্ষণাবেক্ষণ
+* বিদ্যুৎ এবং শীতলকরণ
+* নেটওয়ার্কিং
+* নিরাপত্তা, যার মধ্যে ভবন এবং কম্পিউটারের সফটওয়্যার সুরক্ষা অন্তর্ভুক্ত
+* সফটওয়্যার ইনস্টলেশন এবং আপডেট
+
+এটি খুব ব্যয়বহুল হতে পারে, দক্ষ কর্মচারীদের একটি বিস্তৃত পরিসর প্রয়োজন হতে পারে এবং প্রয়োজন হলে পরিবর্তন করতে অনেক ধীর হতে পারে। উদাহরণস্বরূপ, যদি একটি অনলাইন স্টোর একটি ব্যস্ত ছুটির মরসুমের জন্য পরিকল্পনা করতে চায়, তবে তাদের মাস আগে পরিকল্পনা করতে হবে, হার্ডওয়্যার কিনতে হবে, সেটি কনফিগার করতে হবে, ইনস্টল করতে হবে এবং তাদের বিক্রয় প্রক্রিয়া চালানোর জন্য সফটওয়্যার ইনস্টল করতে হবে। ছুটির মরসুম শেষ হওয়ার পরে এবং বিক্রয় আবার কমে গেলে, তারা এমন কম্পিউটার নিয়ে বসে থাকবে যা তারা কিনেছে এবং পরবর্তী ব্যস্ত মরসুম পর্যন্ত সেগুলি নিষ্ক্রিয় থাকবে।
+
+✅ আপনি কি মনে করেন এটি কোম্পানিগুলিকে দ্রুত এগিয়ে যেতে দেবে? যদি একটি অনলাইন পোশাক বিক্রেতা হঠাৎ জনপ্রিয় হয়ে ওঠে কারণ একটি সেলিব্রিটি তাদের পোশাক পরেছে, তাহলে তারা কি অর্ডারের আকস্মিক প্রবাহ সমর্থন করার জন্য দ্রুত তাদের কম্পিউটিং ক্ষমতা বাড়াতে পারবে?
+
+### অন্য কারো কম্পিউটার
+
+ক্লাউডকে প্রায়ই মজার ছলে 'অন্য কারো কম্পিউটার' বলা হয়। প্রাথমিক ধারণাটি ছিল সহজ - কম্পিউটার কেনার পরিবর্তে, আপনি অন্য কারো কম্পিউটার ভাড়া নেন। অন্য কেউ, একটি ক্লাউড কম্পিউটিং প্রদানকারী, বিশাল ডেটা সেন্টার পরিচালনা করবে। তারা হার্ডওয়্যার কেনা এবং ইনস্টল করা, বিদ্যুৎ এবং শীতলকরণ পরিচালনা করা, নেটওয়ার্কিং, ভবনের নিরাপত্তা, হার্ডওয়্যার এবং সফটওয়্যার আপডেট, সবকিছু পরিচালনার জন্য দায়ী হবে। একজন গ্রাহক হিসেবে, আপনি প্রয়োজনীয় কম্পিউটার ভাড়া নেবেন, চাহিদা বাড়লে আরও ভাড়া নেবেন, তারপর চাহিদা কমলে কম ভাড়া নেবেন। এই ক্লাউড ডেটা সেন্টারগুলি সারা বিশ্বে ছড়িয়ে রয়েছে।
+
+
+
+
+এই ডেটা সেন্টারগুলি একাধিক বর্গ কিলোমিটার আকারের হতে পারে। উপরের ছবিগুলি Microsoft ক্লাউড ডেটা সেন্টারে কয়েক বছর আগে তোলা হয়েছিল এবং প্রাথমিক আকার, পাশাপাশি পরিকল্পিত সম্প্রসারণ দেখায়। সম্প্রসারণের জন্য পরিষ্কার করা এলাকা ৫ বর্গ কিলোমিটারের বেশি।
+
+> 💁 এই ডেটা সেন্টারগুলি এত বড় পরিমাণে বিদ্যুৎ প্রয়োজন যে কিছু তাদের নিজস্ব বিদ্যুৎ কেন্দ্র রয়েছে। তাদের আকার এবং ক্লাউড প্রদানকারীদের বিনিয়োগের কারণে, তারা সাধারণত পরিবেশগতভাবে খুবই বন্ধুত্বপূর্ণ। তারা অসংখ্য ছোট ডেটা সেন্টারের তুলনায় বেশি দক্ষ, তারা প্রধানত নবায়নযোগ্য শক্তিতে চলে, এবং ক্লাউড প্রদানকারীরা বর্জ্য কমানো, পানির ব্যবহার কমানো এবং ডেটা সেন্টার তৈরির জন্য কাটা বন পুনরায় রোপণ করার জন্য কঠোর পরিশ্রম করে। আপনি একটি ক্লাউড প্রদানকারী কীভাবে টেকসইতার জন্য কাজ করছে তা [Azure টেকসইতা সাইটে](https://azure.microsoft.com/global-infrastructure/sustainability/?WT.mc_id=academic-17441-jabenn) আরও পড়তে পারেন।
+
+✅ কিছু গবেষণা করুন: Microsoft এর [Azure](https://azure.microsoft.com/?WT.mc_id=academic-17441-jabenn) বা Google's [GCP](https://cloud.google.com) এর মতো প্রধান ক্লাউড সম্পর্কে পড়ুন। তাদের কতটি ডেটা সেন্টার রয়েছে এবং সেগুলি কোথায় অবস্থিত?
+
+ক্লাউড ব্যবহার করে কোম্পানিগুলির খরচ কম থাকে এবং তারা যা করতে সবচেয়ে ভালো তা করার দিকে মনোযোগ দিতে পারে, ক্লাউড কম্পিউটিং দক্ষতা প্রদানকারীর হাতে রেখে। কোম্পানিগুলিকে আর ডেটা সেন্টার স্পেস ভাড়া বা কিনতে, সংযোগ এবং বিদ্যুতের জন্য বিভিন্ন প্রদানকারীকে অর্থ প্রদান করতে বা বিশেষজ্ঞদের নিয়োগ করতে হবে না। পরিবর্তে, তারা ক্লাউড প্রদানকারীকে একটি মাসিক বিল দিতে পারে যাতে সবকিছু পরিচালিত হয়।
+
+ক্লাউড প্রদানকারী তখন ব্যয়ের অর্থনৈতিক সুবিধা ব্যবহার করে খরচ কমাতে পারে, কম্পিউটারগুলি কম দামে বাল্কে কিনতে পারে, রক্ষণাবেক্ষণের জন্য তাদের কাজ কমাতে টুলিংয়ে বিনিয়োগ করতে পারে, এমনকি তাদের ক্লাউড অফার উন্নত করতে নিজস্ব হার্ডওয়্যার ডিজাইন এবং তৈরি করতে পারে।
+
+### Microsoft Azure
+
+Azure হল Microsoft এর ডেভেলপার ক্লাউড, এবং এই পাঠগুলির জন্য আপনি যে ক্লাউডটি ব্যবহার করবেন। নিচের ভিডিওটি Azure এর একটি সংক্ষিপ্ত বিবরণ দেয়:
+
+[](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn)
+
+## ক্লাউড সাবস্ক্রিপশন তৈরি করুন
+
+ক্লাউডে পরিষেবা ব্যবহার করতে, আপনাকে একটি ক্লাউড প্রদানকারীর সাথে একটি সাবস্ক্রিপশনে সাইন আপ করতে হবে। এই পাঠের জন্য, আপনি একটি Microsoft Azure সাবস্ক্রিপশনে সাইন আপ করবেন। যদি আপনার ইতিমধ্যে একটি Azure সাবস্ক্রিপশন থাকে তবে আপনি এই কাজটি এড়িয়ে যেতে পারেন। এখানে বর্ণিত সাবস্ক্রিপশন বিবরণ লেখার সময় সঠিক, তবে পরিবর্তিত হতে পারে।
+
+> 💁 যদি আপনি আপনার স্কুলের মাধ্যমে এই পাঠগুলি অ্যাক্সেস করেন, তাহলে আপনার কাছে ইতিমধ্যে একটি Azure সাবস্ক্রিপশন উপলব্ধ থাকতে পারে। আপনার শিক্ষকের সাথে চেক করুন।
+
+Azure এর দুটি ভিন্ন ধরনের বিনামূল্যের সাবস্ক্রিপশনে সাইন আপ করা যায়:
+
+* **Azure for Students** - এটি ১৮+ শিক্ষার্থীদের জন্য একটি সাবস্ক্রিপশন। সাইন আপ করতে আপনার ক্রেডিট কার্ডের প্রয়োজন নেই এবং আপনি শিক্ষার্থী হিসেবে যাচাই করতে আপনার স্কুল ইমেইল ঠিকানা ব্যবহার করেন। সাইন আপ করার সময় আপনি ক্লাউড রিসোর্সে ব্যয় করার জন্য US$100 পান, পাশাপাশি একটি IoT পরিষেবার বিনামূল্যের সংস্করণ সহ বিনামূল্যের পরিষেবা পান। এটি ১২ মাস স্থায়ী হয় এবং আপনি শিক্ষার্থী থাকা অবস্থায় প্রতি বছর এটি পুনর্নবীকরণ করতে পারেন।
+
+* **Azure free subscription** - এটি এমন কারো জন্য একটি সাবস্ক্রিপশন যিনি শিক্ষার্থী নন। এই সাবস্ক্রিপশনে সাইন আপ করতে আপনার একটি ক্রেডিট কার্ডের প্রয়োজন হবে, তবে আপনার কার্ড বিল করা হবে না, এটি শুধুমাত্র যাচাই করার জন্য ব্যবহৃত হয় যে আপনি একজন বাস্তব মানুষ, বট নন। আপনি প্রথম ৩০ দিনে যে কোনো পরিষেবায় $200 ক্রেডিট পান, পাশাপাশি Azure পরিষেবার বিনামূল্যের স্তর পান। একবার আপনার ক্রেডিট শেষ হয়ে গেলে, আপনার কার্ড চার্জ করা হবে না যদি না আপনি একটি পে অ্যাজ ইউ গো সাবস্ক্রিপশনে রূপান্তর করেন।
+
+> 💁 Microsoft শিক্ষার্থীদের জন্য একটি Azure for Students Starter সাবস্ক্রিপশন অফার করে যারা ১৮ বছরের কম বয়সী, তবে লেখার সময় এটি কোনো IoT পরিষেবা সমর্থন করে না।
+
+### কাজ - একটি বিনামূল্যের ক্লাউড সাবস্ক্রিপশনে সাইন আপ করুন
+
+যদি আপনি ১৮+ শিক্ষার্থী হন, তাহলে আপনি একটি Azure for Students সাবস্ক্রিপশনে সাইন আপ করতে পারেন। আপনাকে একটি স্কুল ইমেইল ঠিকানা দিয়ে যাচাই করতে হবে। আপনি এটি দুটি উপায়ে করতে পারেন:
+
+* [education.github.com/pack](https://education.github.com/pack) এ GitHub student developer pack এর জন্য সাইন আপ করুন। এটি আপনাকে GitHub এবং Microsoft Azure সহ বিভিন্ন টুল এবং অফারে অ্যাক্সেস দেয়। একবার আপনি ডেভেলপার প্যাকের জন্য সাইন আপ করলে, আপনি Azure for Students অফারটি সক্রিয় করতে পারেন।
+
+* সরাসরি [azure.microsoft.com/free/students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-17441-jabenn) এ একটি Azure for Students অ্যাকাউন্টের জন্য সাইন আপ করুন।
+
+> ⚠️ যদি আপনার স্কুল ইমেইল ঠিকানা স্বীকৃত না হয়, তাহলে এই রিপোতে একটি [ইস্যু](https://github.com/Microsoft/IoT-For-Beginners/issues) উত্থাপন করুন এবং আমরা দেখতে পারি এটি Azure for Students অনুমোদিত তালিকায় যোগ করা যেতে পারে কিনা।
+
+যদি আপনি শিক্ষার্থী না হন, অথবা আপনার কাছে একটি বৈধ স্কুল ইমেইল ঠিকানা না থাকে, তাহলে আপনি একটি Azure Free সাবস্ক্রিপশনে সাইন আপ করতে পারেন।
+
+* [azure.microsoft.com/free](https://azure.microsoft.com/free/?WT.mc_id=academic-17441-jabenn) এ একটি Azure Free Subscription এর জন্য সাইন আপ করুন।
+
+## ক্লাউড IoT পরিষেবাগুলি
+
+আপনি যে পাবলিক টেস্ট MQTT ব্রোকারটি ব্যবহার করছেন তা শেখার সময় একটি দুর্দান্ত টুল, তবে এটি একটি বাণিজ্যিক সেটিংয়ে ব্যবহারের জন্য একটি টুল হিসাবে কিছু অসুবিধা রয়েছে:
+
+* নির্ভরযোগ্যতা - এটি একটি বিনামূল্যের পরিষেবা যার কোনো গ্যারান্টি নেই এবং যে কোনো সময় বন্ধ করা যেতে পারে
+* নিরাপত্তা - এটি পাবলিক, তাই যে কেউ আপনার টেলিমেট্রি শুনতে বা আপনার হার্ডওয়্যার নিয়ন্ত্রণ করতে কমান্ড পাঠাতে পারে
+* কর্মক্ষমতা - এটি শুধুমাত্র কয়েকটি টেস্ট মেসেজের জন্য ডিজাইন করা হয়েছে, তাই এটি প্রচুর পরিমাণে মেসেজ পাঠানোর ক্ষেত্রে সক্ষম হবে না
+* আবিষ্কার - সংযুক্ত ডিভাইসগুলি সম্পর্কে জানার কোনো উপায় নেই
+
+ক্লাউডে IoT পরিষেবাগুলি এই সমস্যাগুলি সমাধান করে। এগুলি বড় ক্লাউড প্রদানকারীদের দ্বারা রক্ষণাবেক্ষণ করা হয় যারা নির্ভরযোগ্যতার জন্য ব্যাপকভাবে বিনিয়োগ করে এবং যে কোনো সমস্যা দেখা দিলে তা ঠিক করার জন্য প্রস্তুত থাকে। এগুলিতে নিরাপত্তা অন্তর্ভুক্ত থাকে যাতে হ্যাকাররা আপনার ডেটা পড়তে বা রগ কমান্ড পাঠাতে না পারে। এগুলি উচ্চ কর্মক্ষমতাও প্রদান করে, প্রতিদিন অনেক মিলিয়ন মেসেজ পরিচালনা করতে সক্ষম, প্রয়োজন অনুযায়ী স্কেল করার জন্য ক্লাউডের সুবিধা গ্রহণ করে।
+
+> 💁 যদিও আপনি এই সুবিধাগুলির জন্য একটি মাসিক ফি প্রদান করেন, বেশিরভাগ ক্লাউড প্রদানকারী তাদের IoT পরিষেবার একটি বিনামূল্যের সংস্করণ অফার করে যা প্রতিদিন সীমিত সংখ্যক মেসেজ বা সংযুক্ত ডিভাইসগুলির জন্য অনুমতি দেয়। এই বিনামূল্যের সংস্করণটি সাধারণত একজন ডেভেলপারকে পরিষেবা সম্পর্কে শেখার জন্য যথেষ্ট। এই পাঠে আপনি একটি বিনামূল্যের সংস্করণ ব্যবহার করবেন।
+
+IoT ডিভাইসগুলি একটি ডিভাইস SDK ব্যবহার করে (একটি লাইব্রেরি যা পরিষেবার বৈশিষ্ট্যগুলির সাথে কাজ করার জন্য কোড প্রদান করে) বা MQTT বা HTTP এর মতো একটি যোগাযোগ প্রোটোকলের মাধ্যমে সরাসরি একটি ক্লাউড পরিষেবার সাথে সংযুক্ত হয়। ডিভাইস SDK সাধারণত সবচেয়ে সহজ পথ কারণ এটি আপনার জন্য সবকিছু পরিচালনা করে, যেমন কোন টপিক প্রকাশ বা সাবস্ক্রাইব করতে হবে এবং কীভাবে নিরাপত্তা পরিচালনা করতে হবে।
+
+
+
+আপনার ডিভাইসটি তখন আপনার অ্যাপ্লিকেশনের অন্যান্য অংশের সাথে এই পরিষেবার মাধ্যমে যোগাযোগ করে - ঠিক যেমন আপনি MQTT এর মাধ্যমে টেলিমেট্রি পাঠিয়েছেন এবং কমান্ড গ্রহণ করেছেন। এটি সাধারণত একটি পরিষেবা SDK বা অনুরূপ লাইব্রেরি ব্যবহার করে। আপনার ডিভাইস থেকে মেসেজ পরিষেবাতে আসে যেখানে আপনার অ্যাপ্লিকেশনের অন্যান্য উপাদানগুলি সেগুলি পড়তে পারে এবং মেসেজগুলি আপনার ডিভাইসে ফিরে পাঠানো যেতে পারে।
+
+
+
+এই পরিষেবাগুলি নিরাপত্তা প্রয়োগ করে সমস্ত ডিভাইস সম্পর্কে জানার মাধ্যমে যা সংযুক্ত হতে পারে এবং ডেটা পাঠাতে পারে, হয় ডিভাইসগুলি পরিষেবার সাথে প্রাক-নিবন্ধিত থাকে, অথবা ডিভাইসগুলিকে গোপন কী বা সার্টিফিকেট দেওয়া হয় যা তারা প্রথমবার পরিষেবার সাথে সংযুক্ত হলে নিজেদের নিবন্ধন করতে ব্যবহার করতে পারে। অজানা ডিভাইসগুলি সংযুক্ত হতে পারে না, যদি তারা চেষ্টা করে তবে পরিষেবা সংযোগটি প্রত্যাখ্যান করে এবং তাদের দ্বারা পাঠানো মেসেজগুলি উপেক্ষা করে।
+
+✅ কিছু গবেষণা করুন: একটি ওপেন IoT পরিষেবা যেখানে যে কোনো ডিভাইস বা কোড সংযুক্ত হতে পারে তার অসুবিধা কী? আপনি কি হ্যাকারদের এই সুবিধা নেওয়ার নির্দিষ্ট উদাহরণ খুঁজে পেতে পারেন?
+
+আপনার অ্যাপ্লিকেশনের অন্যান্য উপাদানগুলি IoT পরিষেবার সাথে সংযুক্ত হতে পারে এবং সংযুক্ত বা নিবন্ধিত সমস্ত ডিভাইস সম্পর্কে জানতে পারে এবং তাদের সাথে সরাসরি বা একসাথে যোগাযোগ করতে পারে।
+💁 IoT পরিষেবাগুলি অতিরিক্ত সক্ষমতাও বাস্তবায়ন করে, এবং ক্লাউড প্রদানকারীদের অতিরিক্ত পরিষেবা এবং অ্যাপ্লিকেশন রয়েছে যা পরিষেবার সাথে সংযুক্ত করা যেতে পারে। উদাহরণস্বরূপ, যদি আপনি সমস্ত ডিভাইস দ্বারা পাঠানো টেলিমেট্রি বার্তাগুলি একটি ডাটাবেসে সংরক্ষণ করতে চান, তাহলে সাধারণত ক্লাউড প্রদানকারীর কনফিগারেশন টুলে কয়েকটি ক্লিক করলেই পরিষেবাটিকে ডাটাবেসের সাথে সংযুক্ত করে ডেটা স্ট্রিম করা সম্ভব।
+## ক্লাউডে একটি IoT সার্ভিস তৈরি করুন
+
+এখন যেহেতু আপনার একটি Azure সাবস্ক্রিপশন আছে, আপনি একটি IoT সার্ভিসে সাইন আপ করতে পারেন। Microsoft-এর IoT সার্ভিসকে Azure IoT Hub বলা হয়।
+
+
+
+নিচের ভিডিওটি Azure IoT Hub-এর একটি সংক্ষিপ্ত ওভারভিউ দেয়:
+
+[](https://www.youtube.com/watch?v=smuZaZZXKsU)
+
+> 🎥 ভিডিওটি দেখতে উপরের ছবিতে ক্লিক করুন
+
+✅ কিছু সময় নিয়ে গবেষণা করুন এবং [Microsoft IoT Hub ডকুমেন্টেশন](https://docs.microsoft.com/azure/iot-hub/about-iot-hub?WT.mc_id=academic-17441-jabenn)-এ IoT Hub-এর ওভারভিউ পড়ুন।
+
+Azure-এ উপলব্ধ ক্লাউড সার্ভিসগুলো একটি ওয়েব-ভিত্তিক পোর্টাল বা কমান্ড-লাইন ইন্টারফেস (CLI) এর মাধ্যমে কনফিগার করা যায়। এই কাজের জন্য, আপনি CLI ব্যবহার করবেন।
+
+### কাজ - Azure CLI ইনস্টল করুন
+
+Azure CLI ব্যবহার করতে হলে প্রথমে এটি আপনার PC বা Mac-এ ইনস্টল করতে হবে।
+
+1. [Azure CLI ডকুমেন্টেশন](https://docs.microsoft.com/cli/azure/install-azure-cli?WT.mc_id=academic-17441-jabenn)-এ নির্দেশনা অনুসরণ করে CLI ইনস্টল করুন।
+
+1. Azure CLI বিভিন্ন এক্সটেনশন সমর্থন করে যা Azure সার্ভিসের বিস্তৃত পরিসর পরিচালনা করার ক্ষমতা যোগ করে। নিচের কমান্ডটি চালিয়ে IoT এক্সটেনশন ইনস্টল করুন:
+
+ ```sh
+ az extension add --name azure-iot
+ ```
+
+1. আপনার কমান্ড লাইন বা টার্মিনাল থেকে নিচের কমান্ডটি চালান Azure CLI থেকে আপনার Azure সাবস্ক্রিপশনে লগ ইন করতে।
+
+ ```sh
+ az login
+ ```
+
+ একটি ওয়েব পেজ আপনার ডিফল্ট ব্রাউজারে চালু হবে। আপনার Azure সাবস্ক্রিপশনে সাইন আপ করার জন্য ব্যবহৃত অ্যাকাউন্ট দিয়ে লগ ইন করুন। লগ ইন করার পরে, ব্রাউজার ট্যাবটি বন্ধ করতে পারেন।
+
+1. যদি আপনার একাধিক Azure সাবস্ক্রিপশন থাকে, যেমন একটি স্কুল প্রদত্ত সাবস্ক্রিপশন এবং আপনার নিজস্ব Azure for Students সাবস্ক্রিপশন, তাহলে আপনাকে ব্যবহার করতে চান এমনটি নির্বাচন করতে হবে। নিচের কমান্ডটি চালান আপনার অ্যাক্সেসযোগ্য সমস্ত সাবস্ক্রিপশন তালিকাভুক্ত করতে:
+
+ ```sh
+ az account list --output table
+ ```
+
+ আউটপুটে, আপনি প্রতিটি সাবস্ক্রিপশনের নাম এবং তার `SubscriptionId` দেখতে পাবেন।
+
+ ```output
+ ➜ ~ az account list --output table
+ Name CloudName SubscriptionId State IsDefault
+ ---------------------- ----------- ------------------------------------ ------- -----------
+ School-subscription AzureCloud cb30cde9-814a-42f0-a111-754cb788e4e1 Enabled True
+ Azure for Students AzureCloud fa51c31b-162c-4599-add6-781def2e1fbf Enabled False
+ ```
+
+ আপনি যে সাবস্ক্রিপশনটি ব্যবহার করতে চান তা নির্বাচন করতে নিচের কমান্ডটি ব্যবহার করুন:
+
+ ```sh
+ az account set --subscription
+ ```
+
+ ``-এর জায়গায় আপনার পছন্দের সাবস্ক্রিপশনের Id বসান। এই কমান্ডটি চালানোর পরে, আপনার অ্যাকাউন্ট তালিকা পুনরায় চালান। আপনি দেখবেন `IsDefault` কলামটি `True` হিসাবে চিহ্নিত হয়েছে আপনার নির্বাচিত সাবস্ক্রিপশনের জন্য।
+
+### কাজ - একটি রিসোর্স গ্রুপ তৈরি করুন
+
+Azure সার্ভিসগুলো, যেমন IoT Hub ইনস্ট্যান্স, ভার্চুয়াল মেশিন, ডাটাবেস বা AI সার্ভিসগুলোকে **রিসোর্স** বলা হয়। প্রতিটি রিসোর্সকে একটি **রিসোর্স গ্রুপ**-এর মধ্যে থাকতে হয়, যা এক বা একাধিক রিসোর্সের একটি যৌক্তিক গ্রুপিং।
+
+> 💁 রিসোর্স গ্রুপ ব্যবহার করলে আপনি একাধিক সার্ভিস একসাথে পরিচালনা করতে পারেন। উদাহরণস্বরূপ, এই প্রকল্পের সমস্ত পাঠ শেষ করার পরে আপনি রিসোর্স গ্রুপটি মুছে ফেলতে পারেন, এবং এর মধ্যে থাকা সমস্ত রিসোর্স স্বয়ংক্রিয়ভাবে মুছে যাবে।
+
+1. বিশ্বজুড়ে Azure-এর একাধিক ডেটা সেন্টার রয়েছে, যা অঞ্চলগুলিতে বিভক্ত। যখন আপনি একটি Azure রিসোর্স বা রিসোর্স গ্রুপ তৈরি করেন, তখন আপনাকে নির্দিষ্ট করতে হবে এটি কোথায় তৈরি করতে চান। নিচের কমান্ডটি চালান লোকেশনের তালিকা পেতে:
+
+ ```sh
+ az account list-locations --output table
+ ```
+
+ আপনি একটি দীর্ঘ লোকেশনের তালিকা দেখতে পাবেন।
+
+ > 💁 লেখার সময়, আপনি ৬৫টি লোকেশনে ডিপ্লয় করতে পারেন।
+
+ ```output
+ ➜ ~ az account list-locations --output table
+ DisplayName Name RegionalDisplayName
+ ------------------------ ------------------- -------------------------------------
+ East US eastus (US) East US
+ East US 2 eastus2 (US) East US 2
+ South Central US southcentralus (US) South Central US
+ ...
+ ```
+
+ আপনার কাছাকাছি অঞ্চলের `Name` কলামের মানটি নোট করুন। আপনি [Azure geographies page](https://azure.microsoft.com/global-infrastructure/geographies/?WT.mc_id=academic-17441-jabenn)-এ একটি মানচিত্রে অঞ্চলগুলো খুঁজে পেতে পারেন।
+
+1. `soil-moisture-sensor` নামে একটি রিসোর্স গ্রুপ তৈরি করতে নিচের কমান্ডটি চালান। রিসোর্স গ্রুপের নাম আপনার সাবস্ক্রিপশনে ইউনিক হতে হবে।
+
+ ```sh
+ az group create --name soil-moisture-sensor \
+ --location
+ ```
+
+ ``-এর জায়গায় আগের ধাপে নির্বাচিত লোকেশনটি বসান।
+
+### কাজ - একটি IoT Hub তৈরি করুন
+
+এখন আপনি আপনার রিসোর্স গ্রুপে একটি IoT Hub রিসোর্স তৈরি করতে পারেন।
+
+1. আপনার IoT Hub রিসোর্স তৈরি করতে নিচের কমান্ডটি ব্যবহার করুন:
+
+ ```sh
+ az iot hub create --resource-group soil-moisture-sensor \
+ --sku F1 \
+ --partition-count 2 \
+ --name
+ ```
+
+ ``-এর জায়গায় আপনার হাবের জন্য একটি নাম দিন। এই নামটি বিশ্বব্যাপী ইউনিক হতে হবে - অর্থাৎ অন্য কেউ একই নাম ব্যবহার করতে পারবে না। এই নামটি একটি URL-এ ব্যবহৃত হয় যা হাবের দিকে নির্দেশ করে, তাই এটি ইউনিক হতে হবে। `soil-moisture-sensor-` ব্যবহার করুন এবং শেষে কিছু ইউনিক আইডেন্টিফায়ার যোগ করুন, যেমন কিছু র্যান্ডম শব্দ বা আপনার নাম।
+
+ `--sku F1` অপশনটি ফ্রি টিয়ার ব্যবহার করতে বলে। ফ্রি টিয়ার প্রতিদিন ৮,০০০ বার্তা এবং পূর্ণমূল্যের টিয়ারের বেশিরভাগ বৈশিষ্ট্য সমর্থন করে।
+
+ > 🎓 Azure সার্ভিসের বিভিন্ন মূল্যস্তরকে টিয়ার বলা হয়। প্রতিটি টিয়ারের আলাদা খরচ এবং বিভিন্ন বৈশিষ্ট্য বা ডেটা ভলিউম প্রদান করে।
+
+ > 💁 যদি আপনি মূল্য সম্পর্কে আরও জানতে চান, আপনি [Azure IoT Hub মূল্য গাইড](https://azure.microsoft.com/pricing/details/iot-hub/?WT.mc_id=academic-17441-jabenn) দেখতে পারেন।
+
+ `--partition-count 2` অপশনটি IoT Hub কতগুলো ডেটা স্ট্রিম সমর্থন করবে তা সংজ্ঞায়িত করে। বেশি পার্টিশন ডেটা ব্লকিং কমায় যখন একাধিক ডিভাইস IoT Hub-এ পড়ে এবং লেখে। পার্টিশন এই পাঠের পরিধির বাইরে, তবে একটি ফ্রি টিয়ার IoT Hub তৈরি করতে এই মানটি সেট করতে হবে।
+
+ > 💁 প্রতি সাবস্ক্রিপশনে শুধুমাত্র একটি ফ্রি টিয়ার IoT Hub থাকতে পারে।
+
+IoT Hub তৈরি হবে। এটি সম্পন্ন হতে এক মিনিট বা তার বেশি সময় লাগতে পারে।
+
+## IoT Hub-এর সাথে যোগাযোগ করুন
+
+আগের পাঠে, আপনি MQTT ব্যবহার করেছিলেন এবং বিভিন্ন টপিকে বার্তা পাঠিয়েছিলেন এবং গ্রহণ করেছিলেন, যেখানে বিভিন্ন টপিকের বিভিন্ন উদ্দেশ্য ছিল। বিভিন্ন টপিকে বার্তা পাঠানোর পরিবর্তে, IoT Hub ডিভাইস এবং হাবের মধ্যে যোগাযোগের জন্য কয়েকটি সংজ্ঞায়িত পদ্ধতি রয়েছে।
+
+> 💁 IoT Hub এবং আপনার ডিভাইসের মধ্যে এই যোগাযোগটি MQTT, HTTPS বা AMQP ব্যবহার করতে পারে।
+
+* ডিভাইস থেকে ক্লাউড (D2C) বার্তা - এগুলো ডিভাইস থেকে IoT Hub-এ পাঠানো বার্তা, যেমন টেলিমেট্রি। এগুলো আপনার অ্যাপ্লিকেশন কোড দ্বারা IoT Hub থেকে পড়া যেতে পারে।
+
+ > 🎓 IoT Hub একটি Azure সার্ভিস ব্যবহার করে যার নাম [Event Hubs](https://docs.microsoft.com/azure/event-hubs/?WT.mc_id=academic-17441-jabenn)। যখন আপনি হাবে পাঠানো বার্তা পড়ার জন্য কোড লিখেন, এগুলো প্রায়ই ইভেন্ট নামে পরিচিত।
+
+* ক্লাউড থেকে ডিভাইস (C2D) বার্তা - এগুলো অ্যাপ্লিকেশন কোড থেকে IoT Hub-এর মাধ্যমে IoT ডিভাইসে পাঠানো বার্তা।
+
+* ডিরেক্ট মেথড অনুরোধ - এগুলো অ্যাপ্লিকেশন কোড থেকে IoT Hub-এর মাধ্যমে IoT ডিভাইসে পাঠানো বার্তা যা ডিভাইসকে কিছু করতে অনুরোধ করে, যেমন একটি অ্যাকচুয়েটর নিয়ন্ত্রণ করা। এই বার্তাগুলো একটি প্রতিক্রিয়া প্রয়োজন যাতে আপনার অ্যাপ্লিকেশন কোড জানতে পারে এটি সফলভাবে প্রক্রিয়াকৃত হয়েছে কিনা।
+
+* ডিভাইস টুইন - এগুলো JSON ডকুমেন্ট যা ডিভাইস এবং IoT Hub-এর মধ্যে সিঙ্ক্রোনাইজ থাকে এবং ডিভাইস দ্বারা রিপোর্ট করা সেটিংস বা অন্যান্য প্রপার্টি সংরক্ষণ করতে ব্যবহৃত হয়, অথবা IoT Hub দ্বারা ডিভাইসে সেট করা উচিত (যা `desired` নামে পরিচিত)।
+
+IoT Hub বার্তা এবং ডিরেক্ট মেথড অনুরোধগুলো একটি কনফিগারযোগ্য সময়ের জন্য সংরক্ষণ করতে পারে (ডিফল্টভাবে এক দিন), তাই যদি একটি ডিভাইস বা অ্যাপ্লিকেশন কোড সংযোগ হারায়, এটি পুনরায় সংযোগ করার পরে অফলাইনে থাকা অবস্থায় পাঠানো বার্তাগুলো পুনরুদ্ধার করতে পারে। ডিভাইস টুইন IoT Hub-এ স্থায়ীভাবে সংরক্ষিত থাকে, তাই যেকোনো সময় একটি ডিভাইস পুনরায় সংযোগ করতে পারে এবং সর্বশেষ ডিভাইস টুইন পেতে পারে।
+
+✅ কিছু গবেষণা করুন: এই বার্তা প্রকারগুলো সম্পর্কে আরও পড়ুন [Device-to-cloud communications guidance](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-d2c-guidance?WT.mc_id=academic-17441-jabenn) এবং [Cloud-to-device communications guidance](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-c2d-guidance?WT.mc_id=academic-17441-jabenn) IoT Hub ডকুমেন্টেশনে।
+
+## আপনার ডিভাইসকে IoT সার্ভিসের সাথে সংযুক্ত করুন
+
+একবার হাব তৈরি হয়ে গেলে, আপনার IoT ডিভাইস এটি সংযুক্ত করতে পারে। শুধুমাত্র নিবন্ধিত ডিভাইসগুলো একটি সার্ভিসে সংযুক্ত হতে পারে, তাই আপনাকে প্রথমে আপনার ডিভাইস নিবন্ধন করতে হবে। যখন আপনি নিবন্ধন করবেন তখন আপনি একটি সংযোগ স্ট্রিং ফিরে পাবেন যা ডিভাইসটি সংযুক্ত করতে ব্যবহার করতে পারে। এই সংযোগ স্ট্রিংটি ডিভাইস নির্দিষ্ট এবং এতে IoT Hub, ডিভাইস এবং একটি সিক্রেট কী সম্পর্কিত তথ্য থাকে যা এই ডিভাইসটিকে সংযুক্ত করতে অনুমতি দেয়।
+
+> 🎓 সংযোগ স্ট্রিং একটি সাধারণ শব্দ যা সংযোগের বিস্তারিত তথ্য ধারণ করে এমন একটি টেক্সট টুকরো বোঝায়। এগুলো IoT Hub, ডাটাবেস এবং অন্যান্য অনেক সার্ভিসে সংযুক্ত করার সময় ব্যবহার করা হয়। এগুলো সাধারণত সার্ভিসের একটি আইডেন্টিফায়ার, যেমন একটি URL, এবং সিকিউরিটি তথ্য যেমন একটি সিক্রেট কী নিয়ে গঠিত। এগুলো SDK-তে পাস করা হয় সার্ভিসে সংযুক্ত করার জন্য।
+
+> ⚠️ সংযোগ স্ট্রিংগুলো নিরাপদ রাখা উচিত! সিকিউরিটি একটি ভবিষ্যৎ পাঠে আরও বিস্তারিতভাবে আলোচনা করা হবে।
+
+### কাজ - আপনার IoT ডিভাইস নিবন্ধন করুন
+
+Azure CLI ব্যবহার করে আপনার IoT Hub-এ IoT ডিভাইস নিবন্ধন করা যেতে পারে।
+
+1. একটি ডিভাইস নিবন্ধন করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ az iot hub device-identity create --device-id soil-moisture-sensor \
+ --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর জন্য ব্যবহৃত নাম বসান।
+
+ এটি `soil-moisture-sensor` আইডি সহ একটি ডিভাইস তৈরি করবে।
+
+1. যখন আপনার IoT ডিভাইস SDK ব্যবহার করে আপনার IoT Hub-এ সংযুক্ত হবে, তখন এটি একটি সংযোগ স্ট্রিং ব্যবহার করতে হবে যা হাবের URL এবং একটি সিক্রেট কী দেয়। সংযোগ স্ট্রিং পেতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ az iot hub device-identity connection-string show --device-id soil-moisture-sensor \
+ --output table \
+ --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর জন্য ব্যবহৃত নাম বসান।
+
+1. আউটপুটে প্রদর্শিত সংযোগ স্ট্রিংটি সংরক্ষণ করুন কারণ এটি পরে প্রয়োজন হবে।
+
+### কাজ - আপনার IoT ডিভাইসকে ক্লাউডে সংযুক্ত করুন
+
+আপনার IoT ডিভাইসকে ক্লাউডে সংযুক্ত করতে প্রাসঙ্গিক গাইডটি অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-connect-hub.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-connect-hub.md)
+
+### কাজ - ইভেন্ট মনিটর করুন
+
+এই মুহূর্তে, আপনি আপনার সার্ভার কোড আপডেট করবেন না। পরিবর্তে, আপনি Azure CLI ব্যবহার করে আপনার IoT ডিভাইস থেকে ইভেন্ট মনিটর করতে পারেন।
+
+1. নিশ্চিত করুন যে আপনার IoT ডিভাইস চলছে এবং মাটি আর্দ্রতা টেলিমেট্রি মান পাঠাচ্ছে।
+
+1. আপনার IoT Hub-এ পাঠানো বার্তা মনিটর করতে আপনার কমmand prompt বা terminal-এ নিচের কমmandটি চালান:
+
+ ```sh
+ az iot hub monitor-events --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর জন্য ব্যবহৃত নাম বসান।
+
+ আপনি আপনার IoT ডিভাইস দ্বারা পাঠানো বার্তাগুলো কনসোল আউটপুটে দেখতে পাবেন।
+
+ ```output
+ Starting event monitor, use ctrl-c to stop...
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "payload": "{\"soil_moisture\": 376}"
+ }
+ },
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "payload": "{\"soil_moisture\": 381}"
+ }
+ }
+ ```
+
+ `payload`-এর বিষয়বস্তু আপনার IoT ডিভাইস দ্বারা পাঠানো বার্তার সাথে মিলে যাবে।
+
+ > লেখার সময়, `az iot` এক্সটেনশন Apple Silicon-এ সম্পূর্ণরূপে কাজ করছে না। যদি আপনি একটি Apple Silicon ডিভাইস ব্যবহার করেন, তাহলে আপনাকে বার্তাগুলো মনিটর করার জন্য অন্য একটি পদ্ধতি ব্যবহার করতে হবে, যেমন [Azure IoT Tools for Visual Studio Code](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-vscode-iot-toolkit-cloud-device-messaging)।
+
+1. এই বার্তাগুলোতে স্বয়ংক্রিয়ভাবে সংযুক্ত কিছু প্রপার্টি থাকে, যেমন বার্তা পাঠানোর সময়ের টাইমস্ট্যাম্প। এগুলোকে *annotations* বলা হয়। সমস্ত বার্তা annotations দেখতে নিচের কমmandটি ব্যবহার করুন:
+
+ ```sh
+ az iot hub monitor-events --properties anno --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর জন্য ব্যবহৃত নাম বসান।
+
+ আপনি আপনার IoT ডিভাইস দ্বারা পাঠানো বার্তাগুলো কনসোল আউটপুটে দেখতে পাবেন।
+
+ ```output
+ Starting event monitor, use ctrl-c to stop...
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "properties": {},
+ "annotations": {
+ "iothub-connection-device-id": "soil-moisture-sensor",
+ "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
+ "iothub-connection-auth-generation-id": "637553997165220462",
+ "iothub-enqueuedtime": 1619976150288,
+ "iothub-message-source": "Telemetry",
+ "x-opt-sequence-number": 1379,
+ "x-opt-offset": "550576",
+ "x-opt-enqueued-time": 1619976150277
+ },
+ "payload": "{\"soil_moisture\": 381}"
+ }
+ }
+ ```
+
+ annotations-এ টাইম মানগুলো [UNIX time](https://wikipedia.org/wiki/Unix_time)-এ থাকে, যা ১ জানুয়ারি ১৯৭০-এর মধ্যরাত থেকে সেকেন্ডের সংখ্যা নির্দেশ করে।
+
+ ইভেন্ট মনিটর থেকে বেরিয়ে আসুন যখন আপনি কাজ শেষ করবেন।
+
+### কাজ - আপনার IoT ডিভাইস নিয়ন্ত্রণ করুন
+
+আপনি Azure CLI ব্যবহার করে আপনার IoT ডিভাইসে ডিরেক্ট মেথড কল করতে পারেন।
+
+1. আপনার কমmand prompt বা terminal-এ নিচের কমmandটি চালান `relay_on` মেথডটি IoT ডিভাইসে চালানোর জন্য:
+
+ ```sh
+ az iot hub invoke-device-method --device-id soil-moisture-sensor \
+ --method-name relay_on \
+ --method-payload '{}' \
+ --hub-name
+ ```
+
+ `
+
+` আপনার IoT Hub-এর জন্য আপনি যে নামটি ব্যবহার করেছেন তা দিয়ে `
+
+ এটি `method-name` দ্বারা নির্ধারিত পদ্ধতির জন্য একটি সরাসরি মেথড অনুরোধ পাঠায়। সরাসরি মেথডগুলিতে একটি পে-লোড থাকতে পারে যা মেথডের জন্য ডেটা ধারণ করে, এবং এটি `method-payload` প্যারামিটারে JSON আকারে নির্দিষ্ট করা যেতে পারে।
+
+ আপনি দেখবেন যে রিলে চালু হয়েছে এবং আপনার IoT ডিভাইস থেকে সংশ্লিষ্ট আউটপুট:
+
+ ```output
+ Direct method received - relay_on
+ ```
+
+1. উপরের ধাপটি পুনরাবৃত্তি করুন, কিন্তু `--method-name`-এ `relay_off` সেট করুন। আপনি দেখবেন যে রিলে বন্ধ হয়েছে এবং IoT ডিভাইস থেকে সংশ্লিষ্ট আউটপুট।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+IoT Hub-এর ফ্রি টিয়ার প্রতিদিন ৮,০০০ বার্তা অনুমতি দেয়। আপনি যে কোডটি লিখেছেন তা প্রতি ১০ সেকেন্ডে টেলিমেট্রি বার্তা পাঠায়। প্রতি ১০ সেকেন্ডে একটি বার্তা হলে প্রতিদিন কত বার্তা পাঠানো হবে?
+
+মাটি আর্দ্রতার পরিমাপ কত ঘন ঘন পাঠানো উচিত তা নিয়ে চিন্তা করুন। কীভাবে আপনি আপনার কোড পরিবর্তন করবেন যাতে ফ্রি টিয়ারের মধ্যে থাকা যায় এবং প্রয়োজন অনুযায়ী বার্তা পাঠানো যায় কিন্তু খুব বেশি না? যদি আপনি একটি দ্বিতীয় ডিভাইস যোগ করতে চান তাহলে কী করবেন?
+
+## লেকচার-পরবর্তী কুইজ
+
+[লেকচার-পরবর্তী কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/16)
+
+## পর্যালোচনা ও স্ব-অধ্যয়ন
+
+Arduino এবং Python-এর জন্য IoT Hub SDK উন্মুক্ত উৎস। GitHub-এ কোড রিপোজিটরিগুলিতে বিভিন্ন IoT Hub বৈশিষ্ট্য নিয়ে কাজ করার নমুনা রয়েছে।
+
+* যদি আপনি Wio Terminal ব্যবহার করেন, তাহলে [GitHub-এ Arduino নমুনাগুলি](https://github.com/Azure/azure-iot-pal-arduino/tree/master/pal/samples) দেখুন।
+* যদি আপনি Raspberry Pi বা ভার্চুয়াল ডিভাইস ব্যবহার করেন, তাহলে [GitHub-এ Python নমুনাগুলি](https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-hub/samples) দেখুন।
+
+## অ্যাসাইনমেন্ট
+
+[ক্লাউড সার্ভিস সম্পর্কে জানুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md
new file mode 100644
index 00000000..27dadf49
--- /dev/null
+++ b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md
@@ -0,0 +1,33 @@
+
+# ক্লাউড পরিষেবা সম্পর্কে জানুন
+
+## নির্দেশাবলী
+
+মাইক্রোসফটের Azure-এর মতো ক্লাউড পরিষেবাগুলি শুধুমাত্র ভাড়ার জন্য কম্পিউটিং ক্ষমতা প্রদান করে না। ক্লাউড পরিষেবার প্রধান ধরণগুলোর মধ্যে রয়েছে:
+
+* Infrastructure as a service (IaaS)
+* Platform as a service (PaaS)
+* Serverless
+* Software as a service (SaaS)
+
+এই বিভিন্ন ধরণের পরিষেবা সম্পর্কে জানুন এবং ব্যাখ্যা করুন সেগুলো কী এবং কীভাবে তারা একে অপরের থেকে আলাদা। ব্যাখ্যা করুন কোন পরিষেবাগুলি IoT ডেভেলপারদের জন্য প্রাসঙ্গিক।
+
+## মূল্যায়ন মানদণ্ড
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| বিভিন্ন ক্লাউড পরিষেবার ব্যাখ্যা | চারটি ধরণের পরিষেবার স্পষ্ট ব্যাখ্যা প্রদান করেছে | তিনটি ধরণের পরিষেবার ব্যাখ্যা দিতে পেরেছে | কেবল ১ বা ২টি পরিষেবার ব্যাখ্যা দিতে পেরেছে |
+| IoT-এর জন্য কোন পরিষেবা প্রাসঙ্গিক তা ব্যাখ্যা | IoT ডেভেলপারদের জন্য কোন পরিষেবাগুলি প্রাসঙ্গিক এবং কেন তা ব্যাখ্যা করেছে | IoT ডেভেলপারদের জন্য কোন পরিষেবাগুলি প্রাসঙ্গিক তা ব্যাখ্যা করেছে কিন্তু কেন তা ব্যাখ্যা করেনি | IoT ডেভেলপারদের জন্য কোন পরিষেবাগুলি প্রাসঙ্গিক তা ব্যাখ্যা করতে ব্যর্থ হয়েছে |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md
new file mode 100644
index 00000000..0cd9bbac
--- /dev/null
+++ b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md
@@ -0,0 +1,130 @@
+
+# আপনার IoT ডিভাইসকে ক্লাউডের সাথে সংযুক্ত করুন - ভার্চুয়াল IoT হার্ডওয়্যার এবং Raspberry Pi
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইস বা Raspberry Pi-কে IoT Hub-এর সাথে সংযুক্ত করবেন, টেলিমেট্রি পাঠানোর এবং কমান্ড গ্রহণ করার জন্য।
+
+## আপনার ডিভাইসকে IoT Hub-এর সাথে সংযুক্ত করুন
+
+পরবর্তী ধাপটি হলো আপনার ডিভাইসকে IoT Hub-এর সাথে সংযুক্ত করা।
+
+### কাজ - IoT Hub-এর সাথে সংযুক্ত করুন
+
+1. VS Code-এ `soil-moisture-sensor` ফোল্ডারটি খুলুন। যদি আপনি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তবে নিশ্চিত করুন যে টার্মিনালে ভার্চুয়াল পরিবেশটি চালু রয়েছে।
+
+1. কিছু অতিরিক্ত Pip প্যাকেজ ইনস্টল করুন:
+
+ ```sh
+ pip3 install azure-iot-device
+ ```
+
+ `azure-iot-device` হলো একটি লাইব্রেরি যা আপনার IoT Hub-এর সাথে যোগাযোগ করতে ব্যবহৃত হয়।
+
+1. `app.py` ফাইলের শীর্ষে, বিদ্যমান ইমপোর্টগুলির নিচে নিম্নলিখিত ইমপোর্টগুলি যোগ করুন:
+
+ ```python
+ from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse
+ ```
+
+ এই কোডটি IoT Hub-এর সাথে যোগাযোগ করার জন্য SDK ইমপোর্ট করে।
+
+1. `import paho.mqtt.client as mqtt` লাইনটি সরিয়ে ফেলুন কারণ এই লাইব্রেরি আর প্রয়োজন নেই। সমস্ত MQTT কোড, যার মধ্যে টপিক নাম, `mqtt_client` ব্যবহার করা কোড এবং `handle_command` অন্তর্ভুক্ত, সরিয়ে ফেলুন। `while True:` লুপটি রাখুন, শুধু এই লুপের `mqtt_client.publish` লাইনটি মুছে ফেলুন।
+
+1. ইমপোর্ট স্টেটমেন্টগুলির নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ connection_string = ""
+ ```
+
+ ``-এর জায়গায় এই পাঠের আগে ডিভাইসের জন্য প্রাপ্ত সংযোগ স্ট্রিংটি প্রতিস্থাপন করুন।
+
+ > 💁 এটি সেরা পদ্ধতি নয়। সংযোগ স্ট্রিং কখনোই সোর্স কোডে সংরক্ষণ করা উচিত নয়, কারণ এটি সোর্স কোড কন্ট্রোলে চেক ইন করা যেতে পারে এবং যে কেউ এটি খুঁজে পেতে পারে। আমরা এখানে সরলতার জন্য এটি করছি। আদর্শভাবে, আপনি পরিবেশ ভেরিয়েবল এবং [`python-dotenv`](https://pypi.org/project/python-dotenv/) এর মতো একটি টুল ব্যবহার করবেন। আপনি এটি সম্পর্কে একটি আসন্ন পাঠে আরও শিখবেন।
+
+1. এই কোডের নিচে, IoT Hub-এর সাথে যোগাযোগ করতে পারে এমন একটি ডিভাইস ক্লায়েন্ট অবজেক্ট তৈরি করতে এবং এটি সংযুক্ত করতে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ device_client = IoTHubDeviceClient.create_from_connection_string(connection_string)
+
+ print('Connecting')
+ device_client.connect()
+ print('Connected')
+ ```
+
+1. এই কোডটি চালান। আপনি দেখতে পাবেন আপনার ডিভাইস সংযুক্ত হয়েছে।
+
+ ```output
+ pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py
+ Connecting
+ Connected
+ Soil moisture: 379
+ ```
+
+## টেলিমেট্রি পাঠান
+
+এখন আপনার ডিভাইস সংযুক্ত হয়েছে, আপনি MQTT ব্রোকারের পরিবর্তে IoT Hub-এ টেলিমেট্রি পাঠাতে পারেন।
+
+### কাজ - টেলিমেট্রি পাঠান
+
+1. `while True` লুপের ভিতরে, স্লিপের ঠিক আগে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ message = Message(json.dumps({ 'soil_moisture': soil_moisture }))
+ device_client.send_message(message)
+ ```
+
+ এই কোডটি একটি IoT Hub `Message` তৈরি করে যা মাটির আর্দ্রতার রিডিংকে JSON স্ট্রিং হিসেবে ধারণ করে, তারপর এটি IoT Hub-এ ডিভাইস থেকে ক্লাউড মেসেজ হিসেবে পাঠায়।
+
+## কমান্ড পরিচালনা করুন
+
+আপনার ডিভাইসকে সার্ভার কোড থেকে একটি কমান্ড পরিচালনা করতে হবে যা রিলে নিয়ন্ত্রণ করে। এটি একটি ডাইরেক্ট মেথড রিকোয়েস্ট হিসেবে পাঠানো হয়।
+
+## কাজ - একটি ডাইরেক্ট মেথড রিকোয়েস্ট পরিচালনা করুন
+
+1. `while True` লুপের আগে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ def handle_method_request(request):
+ print("Direct method received - ", request.name)
+
+ if request.name == "relay_on":
+ relay.on()
+ elif request.name == "relay_off":
+ relay.off()
+ ```
+
+ এটি একটি মেথড, `handle_method_request`, সংজ্ঞায়িত করে যা IoT Hub দ্বারা একটি ডাইরেক্ট মেথড কল করা হলে ডাকা হবে। প্রতিটি ডাইরেক্ট মেথডের একটি নাম থাকে, এবং এই কোডটি `relay_on` নামক একটি মেথড আশা করে রিলে চালু করতে, এবং `relay_off` নামক একটি মেথড আশা করে রিলে বন্ধ করতে।
+
+ > 💁 এটি একটি একক ডাইরেক্ট মেথড রিকোয়েস্টে বাস্তবায়িত হতে পারে, যেখানে রিলের কাঙ্ক্ষিত অবস্থাটি একটি পে-লোডে পাস করা হয় যা মেথড রিকোয়েস্টের সাথে পাস করা যায় এবং `request` অবজেক্ট থেকে পাওয়া যায়।
+
+1. ডাইরেক্ট মেথডগুলির একটি রেসপন্স প্রয়োজন যা কলিং কোডকে জানায় যে এটি পরিচালিত হয়েছে। `handle_method_request` ফাংশনের শেষে নিম্নলিখিত কোড যোগ করুন যা রিকোয়েস্টের জন্য একটি রেসপন্স তৈরি করে:
+
+ ```python
+ method_response = MethodResponse.create_from_method_request(request, 200)
+ device_client.send_method_response(method_response)
+ ```
+
+ এই কোডটি একটি HTTP স্ট্যাটাস কোড 200 সহ ডাইরেক্ট মেথড রিকোয়েস্টের জন্য একটি রেসপন্স পাঠায় এবং এটি IoT Hub-এ ফেরত পাঠায়।
+
+1. এই ফাংশন সংজ্ঞার নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ device_client.on_method_request_received = handle_method_request
+ ```
+
+ এই কোডটি IoT Hub ক্লায়েন্টকে বলে যে একটি ডাইরেক্ট মেথড কল করা হলে `handle_method_request` ফাংশনটি কল করতে।
+
+> 💁 আপনি এই কোডটি [code/pi](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/pi) বা [code/virtual-device](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটির আর্দ্রতা সেন্সর প্রোগ্রামটি IoT Hub-এর সাথে সংযুক্ত হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md
new file mode 100644
index 00000000..ca912912
--- /dev/null
+++ b/translations/bn/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md
@@ -0,0 +1,306 @@
+
+# আপনার IoT ডিভাইসকে ক্লাউডের সাথে সংযুক্ত করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-কে IoT Hub-এর সাথে সংযুক্ত করবেন, টেলিমেট্রি পাঠানোর এবং কমান্ড গ্রহণ করার জন্য।
+
+## আপনার ডিভাইসকে IoT Hub-এর সাথে সংযুক্ত করুন
+
+পরবর্তী ধাপটি হলো আপনার ডিভাইসকে IoT Hub-এর সাথে সংযুক্ত করা।
+
+### কাজ - IoT Hub-এর সাথে সংযুক্ত করুন
+
+1. VS Code-এ `soil-moisture-sensor` প্রকল্পটি খুলুন।
+
+1. `platformio.ini` ফাইলটি খুলুন। `knolleary/PubSubClient` লাইব্রেরি ডিপেনডেন্সি সরিয়ে ফেলুন। এটি পাবলিক MQTT ব্রোকারের সাথে সংযোগ করার জন্য ব্যবহৃত হয়েছিল, এবং IoT Hub-এর সাথে সংযোগ করার জন্য এটি প্রয়োজন নেই।
+
+1. নিম্নলিখিত লাইব্রেরি ডিপেনডেন্সি যোগ করুন:
+
+ ```ini
+ seeed-studio/Seeed Arduino RTC @ 2.0.0
+ arduino-libraries/AzureIoTHub @ 1.6.0
+ azure/AzureIoTUtility @ 1.6.1
+ azure/AzureIoTProtocol_MQTT @ 1.6.0
+ azure/AzureIoTProtocol_HTTP @ 1.6.0
+ azure/AzureIoTSocket_WiFi @ 1.0.2
+ ```
+
+ `Seeed Arduino RTC` লাইব্রেরি Wio Terminal-এ একটি রিয়েল-টাইম ক্লকের সাথে ইন্টারঅ্যাক্ট করার কোড প্রদান করে, যা সময় ট্র্যাক করার জন্য ব্যবহৃত হয়। বাকি লাইব্রেরিগুলি আপনার IoT ডিভাইসকে IoT Hub-এর সাথে সংযুক্ত করতে সাহায্য করে।
+
+1. `platformio.ini` ফাইলের নিচে নিম্নলিখিত যোগ করুন:
+
+ ```ini
+ build_flags =
+ -DDONT_USE_UPLOADTOBLOB
+ ```
+
+ এটি একটি কম্পাইলার ফ্ল্যাগ সেট করে যা Arduino IoT Hub কোড কম্পাইল করার সময় প্রয়োজন।
+
+1. `config.h` হেডার ফাইলটি খুলুন। সমস্ত MQTT সেটিংস সরিয়ে ফেলুন এবং ডিভাইস সংযোগ স্ট্রিং-এর জন্য নিম্নলিখিত কনস্ট্যান্ট যোগ করুন:
+
+ ```cpp
+ // IoT Hub settings
+ const char *CONNECTION_STRING = "";
+ ```
+
+ ``-এর জায়গায় আপনার ডিভাইসের সংযোগ স্ট্রিংটি বসান যা আপনি আগে কপি করেছিলেন।
+
+1. IoT Hub-এর সাথে সংযোগ একটি সময়-ভিত্তিক টোকেন ব্যবহার করে। এর মানে হলো IoT ডিভাইসকে বর্তমান সময় জানতে হবে। Windows, macOS বা Linux-এর মতো অপারেটিং সিস্টেমের বিপরীতে, মাইক্রোকন্ট্রোলার স্বয়ংক্রিয়ভাবে ইন্টারনেটের মাধ্যমে বর্তমান সময় সিঙ্ক্রোনাইজ করে না। এর মানে হলো আপনাকে একটি [NTP](https://wikipedia.org/wiki/Network_Time_Protocol) সার্ভার থেকে বর্তমান সময় পাওয়ার জন্য কোড যোগ করতে হবে। একবার সময় পাওয়া গেলে, এটি Wio Terminal-এর রিয়েল-টাইম ক্লকে সংরক্ষণ করা যেতে পারে, যা ডিভাইস পাওয়ার হারালে সঠিক সময় পুনরায় অনুরোধ করার অনুমতি দেয়। `ntp.h` নামে একটি নতুন ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ #pragma once
+
+ #include "DateTime.h"
+ #include
+ #include "samd/NTPClientAz.h"
+ #include
+
+ static void initTime()
+ {
+ WiFiUDP _udp;
+ time_t epochTime = (time_t)-1;
+ NTPClientAz ntpClient;
+
+ ntpClient.begin();
+
+ while (true)
+ {
+ epochTime = ntpClient.getEpochTime("0.pool.ntp.org");
+
+ if (epochTime == (time_t)-1)
+ {
+ Serial.println("Fetching NTP epoch time failed! Waiting 2 seconds to retry.");
+ delay(2000);
+ }
+ else
+ {
+ Serial.print("Fetched NTP epoch time is: ");
+
+ char buff[32];
+ sprintf(buff, "%.f", difftime(epochTime, (time_t)0));
+ Serial.println(buff);
+ break;
+ }
+ }
+
+ ntpClient.end();
+
+ struct timeval tv;
+ tv.tv_sec = epochTime;
+ tv.tv_usec = 0;
+
+ settimeofday(&tv, NULL);
+ }
+ ```
+
+ এই কোডের বিস্তারিত এই পাঠের আওতার বাইরে। এটি একটি `initTime` নামক ফাংশন সংজ্ঞায়িত করে যা একটি NTP সার্ভার থেকে বর্তমান সময় পায় এবং Wio Terminal-এর ক্লক সেট করতে এটি ব্যবহার করে।
+
+1. `main.cpp` ফাইলটি খুলুন এবং সমস্ত MQTT কোড সরিয়ে ফেলুন, যার মধ্যে রয়েছে `PubSubClient.h` হেডার ফাইল, `PubSubClient` ভেরিয়েবল ডিক্লারেশন, `reconnectMQTTClient` এবং `createMQTTClient` মেথড, এবং এই ভেরিয়েবল এবং মেথডগুলির কোনো কল। এই ফাইলটি শুধুমাত্র WiFi-তে সংযোগ করার, মাটি আর্দ্রতা পাওয়ার এবং এটি একটি JSON ডকুমেন্টে তৈরি করার কোড ধারণ করবে।
+
+1. `main.cpp` ফাইলের শীর্ষে নিম্নলিখিত `#include` ডিরেক্টিভ যোগ করুন IoT Hub লাইব্রেরি এবং সময় সেট করার জন্য হেডার ফাইল অন্তর্ভুক্ত করতে:
+
+ ```cpp
+ #include
+ #include
+ #include
+ #include "ntp.h"
+ ```
+
+1. `setup` ফাংশনের শেষে নিম্নলিখিত কল যোগ করুন বর্তমান সময় সেট করার জন্য:
+
+ ```cpp
+ initTime();
+ ```
+
+1. ফাইলের শীর্ষে, অন্তর্ভুক্ত ডিরেক্টিভগুলির ঠিক নিচে নিম্নলিখিত ভেরিয়েবল ডিক্লারেশন যোগ করুন:
+
+ ```cpp
+ IOTHUB_DEVICE_CLIENT_LL_HANDLE _device_ll_handle;
+ ```
+
+ এটি একটি `IOTHUB_DEVICE_CLIENT_LL_HANDLE` ঘোষণা করে, যা IoT Hub-এর সাথে সংযোগের একটি হ্যান্ডেল।
+
+1. এর নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ static void connectionStatusCallback(IOTHUB_CLIENT_CONNECTION_STATUS result, IOTHUB_CLIENT_CONNECTION_STATUS_REASON reason, void *user_context)
+ {
+ if (result == IOTHUB_CLIENT_CONNECTION_AUTHENTICATED)
+ {
+ Serial.println("The device client is connected to iothub");
+ }
+ else
+ {
+ Serial.println("The device client has been disconnected");
+ }
+ }
+ ```
+
+ এটি একটি কলব্যাক ফাংশন ঘোষণা করে যা IoT Hub-এর সাথে সংযোগের স্ট্যাটাস পরিবর্তন হলে, যেমন সংযোগ বা সংযোগ বিচ্ছিন্ন হলে, কল করা হবে। স্ট্যাটাসটি সিরিয়াল পোর্টে পাঠানো হয়।
+
+1. এর নিচে IoT Hub-এর সাথে সংযোগ করার জন্য একটি ফাংশন যোগ করুন:
+
+ ```cpp
+ void connectIoTHub()
+ {
+ IoTHub_Init();
+
+ _device_ll_handle = IoTHubDeviceClient_LL_CreateFromConnectionString(CONNECTION_STRING, MQTT_Protocol);
+
+ if (_device_ll_handle == NULL)
+ {
+ Serial.println("Failure creating Iothub device. Hint: Check your connection string.");
+ return;
+ }
+
+ IoTHubDeviceClient_LL_SetConnectionStatusCallback(_device_ll_handle, connectionStatusCallback, NULL);
+ }
+ ```
+
+ এই কোডটি IoT Hub লাইব্রেরি কোড ইনিশিয়ালাইজ করে, তারপর `config.h` হেডার ফাইলের সংযোগ স্ট্রিং ব্যবহার করে একটি সংযোগ তৈরি করে। এই সংযোগটি MQTT-এর উপর ভিত্তি করে। যদি সংযোগ ব্যর্থ হয়, এটি সিরিয়াল পোর্টে পাঠানো হয় - যদি আপনি আউটপুটে এটি দেখেন, সংযোগ স্ট্রিংটি পরীক্ষা করুন। অবশেষে সংযোগ স্ট্যাটাস কলব্যাক সেট আপ করা হয়।
+
+1. `setup` ফাংশনে `initTime` কলের নিচে এই ফাংশনটি কল করুন:
+
+ ```cpp
+ connectIoTHub();
+ ```
+
+1. MQTT ক্লায়েন্টের মতো, এই কোডটি একটি একক থ্রেডে চলে, তাই হাব দ্বারা পাঠানো এবং হাবে পাঠানো বার্তাগুলি প্রক্রিয়া করার জন্য সময় প্রয়োজন। `loop` ফাংশনের শীর্ষে নিম্নলিখিত যোগ করুন এটি করার জন্য:
+
+ ```cpp
+ IoTHubDeviceClient_LL_DoWork(_device_ll_handle);
+ ```
+
+1. এই কোডটি বিল্ড এবং আপলোড করুন। আপনি সিরিয়াল মনিটরে সংযোগ দেখতে পাবেন:
+
+ ```output
+ Connecting to WiFi..
+ Connected!
+ Fetched NTP epoch time is: 1619983687
+ Sending telemetry {"soil_moisture":391}
+ The device client is connected to iothub
+ ```
+
+ আউটপুটে আপনি NTP সময় ফেচ করা এবং তারপর ডিভাইস ক্লায়েন্ট সংযোগ করতে দেখতে পাবেন। সংযোগ করতে কয়েক সেকেন্ড সময় লাগতে পারে, তাই ডিভাইস সংযোগ করার সময় আপনি আউটপুটে মাটি আর্দ্রতা দেখতে পারেন।
+
+ > 💁 আপনি NTP-এর UNIX সময়কে একটি আরও পাঠযোগ্য সংস্করণে রূপান্তর করতে পারেন [unixtimestamp.com](https://www.unixtimestamp.com)-এর মতো একটি ওয়েবসাইট ব্যবহার করে।
+
+## টেলিমেট্রি পাঠান
+
+এখন আপনার ডিভাইস সংযুক্ত হয়েছে, আপনি MQTT ব্রোকারের পরিবর্তে IoT Hub-এ টেলিমেট্রি পাঠাতে পারেন।
+
+### কাজ - টেলিমেট্রি পাঠান
+
+1. `setup` ফাংশনের উপরে নিম্নলিখিত ফাংশন যোগ করুন:
+
+ ```cpp
+ void sendTelemetry(const char *telemetry)
+ {
+ IOTHUB_MESSAGE_HANDLE message_handle = IoTHubMessage_CreateFromString(telemetry);
+ IoTHubDeviceClient_LL_SendEventAsync(_device_ll_handle, message_handle, NULL, NULL);
+ IoTHubMessage_Destroy(message_handle);
+ }
+ ```
+
+ এই কোডটি একটি IoT Hub বার্তা তৈরি করে একটি প্যারামিটার হিসেবে পাস করা স্ট্রিং থেকে, এটি হাবে পাঠায়, তারপর বার্তা অবজেক্টটি পরিষ্কার করে।
+
+1. `loop` ফাংশনে এই কোডটি কল করুন, টেলিমেট্রি সিরিয়াল পোর্টে পাঠানোর লাইনের ঠিক পরে:
+
+ ```cpp
+ sendTelemetry(telemetry.c_str());
+ ```
+
+## কমান্ড হ্যান্ডল করুন
+
+আপনার ডিভাইসকে সার্ভার কোড থেকে একটি কমান্ড হ্যান্ডল করতে হবে রিলে নিয়ন্ত্রণ করার জন্য। এটি একটি ডিরেক্ট মেথড অনুরোধ হিসেবে পাঠানো হয়।
+
+### কাজ - একটি ডিরেক্ট মেথড অনুরোধ হ্যান্ডল করুন
+
+1. `connectIoTHub` ফাংশনের আগে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ int directMethodCallback(const char *method_name, const unsigned char *payload, size_t size, unsigned char **response, size_t *response_size, void *userContextCallback)
+ {
+ Serial.printf("Direct method received %s\r\n", method_name);
+
+ if (strcmp(method_name, "relay_on") == 0)
+ {
+ digitalWrite(PIN_WIRE_SCL, HIGH);
+ }
+ else if (strcmp(method_name, "relay_off") == 0)
+ {
+ digitalWrite(PIN_WIRE_SCL, LOW);
+ }
+ }
+ ```
+
+ এই কোডটি একটি কলব্যাক মেথড সংজ্ঞায়িত করে যা IoT Hub লাইব্রেরি একটি ডিরেক্ট মেথড অনুরোধ পাওয়ার সময় কল করতে পারে। অনুরোধ করা মেথডটি `method_name` প্যারামিটারে পাঠানো হয়। এই ফাংশনটি সিরিয়াল পোর্টে কল করা মেথডটি প্রিন্ট করে, তারপর মেথড নামের উপর ভিত্তি করে রিলে চালু বা বন্ধ করে।
+
+ > 💁 এটি একটি একক ডিরেক্ট মেথড অনুরোধে বাস্তবায়িত হতে পারে, যেখানে রিলের কাঙ্ক্ষিত অবস্থাটি একটি পে-লোডে পাস করা হয় যা মেথড অনুরোধের সাথে পাস করা যায় এবং `payload` প্যারামিটার থেকে পাওয়া যায়।
+
+1. `directMethodCallback` ফাংশনের শেষে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ char resultBuff[16];
+ sprintf(resultBuff, "{\"Result\":\"\"}");
+ *response_size = strlen(resultBuff);
+ *response = (unsigned char *)malloc(*response_size);
+ memcpy(*response, resultBuff, *response_size);
+
+ return IOTHUB_CLIENT_OK;
+ ```
+
+ ডিরেক্ট মেথড অনুরোধগুলির একটি প্রতিক্রিয়া প্রয়োজন, এবং প্রতিক্রিয়া দুটি অংশে থাকে - একটি টেক্সট হিসেবে প্রতিক্রিয়া এবং একটি রিটার্ন কোড। এই কোডটি নিম্নলিখিত JSON ডকুমেন্ট হিসেবে একটি রেজাল্ট তৈরি করবে:
+
+ ```JSON
+ {
+ "Result": ""
+ }
+ ```
+
+ এটি তারপর `response` প্যারামিটারে কপি করা হয়, এবং এই প্রতিক্রিয়ার আকার `response_size` প্যারামিটারে সেট করা হয়। এই কোডটি তারপর `IOTHUB_CLIENT_OK` রিটার্ন করে দেখানোর জন্য যে মেথডটি সঠিকভাবে হ্যান্ডল করা হয়েছে।
+
+1. কলব্যাকটি সংযুক্ত করতে `connectIoTHub` ফাংশনের শেষে নিম্নলিখিত যোগ করুন:
+
+ ```cpp
+ IoTHubClient_LL_SetDeviceMethodCallback(_device_ll_handle, directMethodCallback, NULL);
+ ```
+
+1. `loop` ফাংশনটি `IoTHubDeviceClient_LL_DoWork` ফাংশন কল করবে IoT Hub দ্বারা পাঠানো ইভেন্টগুলি প্রক্রিয়া করার জন্য। এটি `delay` এর কারণে শুধুমাত্র প্রতি 10 সেকেন্ডে কল করা হয়, যার মানে ডিরেক্ট মেথডগুলি শুধুমাত্র প্রতি 10 সেকেন্ডে প্রক্রিয়া করা হয়। এটি আরও কার্যকর করতে, 10 সেকেন্ডের বিলম্বটি অনেক ছোট বিলম্বে বাস্তবায়িত হতে পারে, প্রতিবার `IoTHubDeviceClient_LL_DoWork` কল করে। এটি করতে, `loop` ফাংশনের উপরে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ void work_delay(int delay_time)
+ {
+ int current = 0;
+ do
+ {
+ IoTHubDeviceClient_LL_DoWork(_device_ll_handle);
+ delay(100);
+ current += 100;
+ } while (current < delay_time);
+ }
+ ```
+
+ এই কোডটি বারবার লুপ করবে, `IoTHubDeviceClient_LL_DoWork` কল করবে এবং প্রতিবার 100ms বিলম্ব করবে। এটি যতবার প্রয়োজন ততবার করবে `delay_time` প্যারামিটারে দেওয়া সময় বিলম্ব করার জন্য। এর মানে হলো ডিভাইসটি ডিরেক্ট মেথড অনুরোধ প্রক্রিয়া করার জন্য সর্বাধিক 100ms অপেক্ষা করছে।
+
+1. `loop` ফাংশনে `IoTHubDeviceClient_LL_DoWork` কলটি সরিয়ে ফেলুন এবং `delay(10000)` কলটি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন এই নতুন ফাংশনটি কল করতে:
+
+ ```cpp
+ work_delay(10000);
+ ```
+
+> 💁 আপনি এই কোডটি [code/wio-terminal](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটি আর্দ্রতা সেন্সর প্রোগ্রামটি IoT Hub-এর সাথে সংযুক্ত হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/README.md
new file mode 100644
index 00000000..f01c258d
--- /dev/null
+++ b/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/README.md
@@ -0,0 +1,656 @@
+
+# আপনার অ্যাপ্লিকেশন লজিক ক্লাউডে স্থানান্তর করুন
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+এই পাঠটি [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) এর অংশ হিসেবে [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) থেকে শেখানো হয়েছিল।
+
+[](https://youtu.be/VVZDcs5u1_I)
+
+## লেকচারের আগে কুইজ
+
+[লেকচারের আগে কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/17)
+
+## ভূমিকা
+
+পূর্ববর্তী পাঠে, আপনি শিখেছেন কীভাবে আপনার গাছের মাটির আর্দ্রতা পর্যবেক্ষণ এবং রিলে নিয়ন্ত্রণকে একটি ক্লাউড-ভিত্তিক IoT পরিষেবার সাথে সংযুক্ত করবেন। পরবর্তী ধাপটি হলো রিলের সময় নির্ধারণ নিয়ন্ত্রণকারী সার্ভার কোডটি ক্লাউডে স্থানান্তর করা। এই পাঠে, আপনি শিখবেন কীভাবে সার্ভারলেস ফাংশন ব্যবহার করে এটি করবেন।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [সার্ভারলেস কী?](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [একটি সার্ভারলেস অ্যাপ্লিকেশন তৈরি করুন](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [একটি IoT হাব ইভেন্ট ট্রিগার তৈরি করুন](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [সার্ভারলেস কোড থেকে সরাসরি মেথড রিকোয়েস্ট পাঠান](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [আপনার সার্ভারলেস কোড ক্লাউডে ডিপ্লয় করুন](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+
+## সার্ভারলেস কী?
+
+সার্ভারলেস, বা সার্ভারলেস কম্পিউটিং, এমন একটি পদ্ধতি যেখানে ছোট কোড ব্লক তৈরি করা হয় যা বিভিন্ন ইভেন্টের প্রতিক্রিয়ায় ক্লাউডে চালানো হয়। যখন ইভেন্ট ঘটে, তখন আপনার কোড চালানো হয় এবং ইভেন্ট সম্পর্কিত ডেটা পাস করা হয়। এই ইভেন্টগুলো বিভিন্ন উৎস থেকে আসতে পারে, যেমন ওয়েব রিকোয়েস্ট, একটি কিউতে বার্তা, ডাটাবেসে ডেটা পরিবর্তন, বা IoT ডিভাইস থেকে IoT পরিষেবায় পাঠানো বার্তা।
+
+
+
+> 💁 যদি আপনি আগে ডাটাবেস ট্রিগার ব্যবহার করে থাকেন, তাহলে এটি একই রকম মনে হবে, যেখানে কোড একটি ইভেন্টের (যেমন একটি সারি যোগ করা) দ্বারা ট্রিগার হয়।
+
+
+
+আপনার কোড কেবল তখনই চালানো হয় যখন ইভেন্ট ঘটে; অন্য সময় এটি সক্রিয় থাকে না। ইভেন্ট ঘটে, আপনার কোড লোড হয় এবং চালানো হয়। এটি সার্ভারলেসকে অত্যন্ত স্কেলযোগ্য করে তোলে - যদি একই সময়ে অনেক ইভেন্ট ঘটে, ক্লাউড প্রদানকারী আপনার ফাংশন যতবার প্রয়োজন ততবার চালাতে পারে, তাদের উপলব্ধ সার্ভারগুলোতে। এর একটি অসুবিধা হলো, যদি ইভেন্টগুলোর মধ্যে তথ্য শেয়ার করতে হয়, তাহলে এটি মেমোরিতে সংরক্ষণ করার পরিবর্তে একটি ডাটাবেসে সংরক্ষণ করতে হবে।
+
+আপনার কোড একটি ফাংশন হিসেবে লেখা হয় যা ইভেন্ট সম্পর্কিত বিবরণ প্যারামিটার হিসেবে গ্রহণ করে। এই সার্ভারলেস ফাংশন লেখার জন্য আপনি বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করতে পারেন।
+
+> 🎓 সার্ভারলেসকে কখনও কখনও ফাংশন অ্যাজ এ সার্ভিস (FaaS) বলা হয়, কারণ প্রতিটি ইভেন্ট ট্রিগার কোডে একটি ফাংশন হিসেবে বাস্তবায়িত হয়।
+
+নামের বিপরীতে, সার্ভারলেস আসলে সার্ভার ব্যবহার করে। নামটি এসেছে কারণ একজন ডেভেলপার হিসেবে আপনাকে সার্ভার নিয়ে চিন্তা করতে হয় না; আপনাকে কেবল চিন্তা করতে হয় যে আপনার কোডটি একটি ইভেন্টের প্রতিক্রিয়ায় চালানো হচ্ছে। ক্লাউড প্রদানকারীর একটি সার্ভারলেস *রানটাইম* রয়েছে যা সার্ভার বরাদ্দ, নেটওয়ার্কিং, স্টোরেজ, CPU, মেমোরি এবং আপনার কোড চালানোর জন্য প্রয়োজনীয় অন্যান্য সবকিছু পরিচালনা করে। এই মডেলে আপনি সার্ভারের জন্য অর্থ প্রদান করেন না; বরং আপনি আপনার কোড চালানোর সময় এবং ব্যবহৃত মেমোরির জন্য অর্থ প্রদান করেন।
+
+> 💰 সার্ভারলেস ক্লাউডে কোড চালানোর সবচেয়ে সাশ্রয়ী উপায়গুলোর একটি। উদাহরণস্বরূপ, লেখার সময়, একটি ক্লাউড প্রদানকারী প্রতি মাসে আপনার সমস্ত সার্ভারলেস ফাংশন এক মিলিয়ন বার চালানোর অনুমতি দেয় বিনামূল্যে, এবং এর পরে প্রতি এক মিলিয়ন এক্সিকিউশনের জন্য US$0.20 চার্জ করে। যখন আপনার কোড চালানো হয় না, তখন আপনি কোনো অর্থ প্রদান করেন না।
+
+একজন IoT ডেভেলপার হিসেবে, সার্ভারলেস মডেলটি আদর্শ। আপনি একটি ফাংশন লিখতে পারেন যা আপনার ক্লাউড-হোস্টেড IoT পরিষেবার সাথে সংযুক্ত যেকোনো IoT ডিভাইস থেকে পাঠানো বার্তার প্রতিক্রিয়ায় চালানো হয়। আপনার কোড সমস্ত বার্তা পরিচালনা করবে, তবে কেবল প্রয়োজন হলে চালানো হবে।
+
+✅ আপনি যে কোডটি MQTT বার্তার জন্য সার্ভার কোড হিসেবে লিখেছিলেন, সেটি ক্লাউডে কীভাবে সার্ভারলেস হিসেবে চালানো যেতে পারে তা ভেবে দেখুন। সার্ভারলেস কম্পিউটিং সমর্থন করার জন্য কোডটি কীভাবে পরিবর্তন করা যেতে পারে বলে আপনি মনে করেন?
+
+> 💁 সার্ভারলেস মডেলটি কোড চালানোর বাইরেও অন্যান্য ক্লাউড পরিষেবাগুলোর দিকে এগিয়ে যাচ্ছে। উদাহরণস্বরূপ, ক্লাউডে সার্ভারলেস ডাটাবেস পাওয়া যায়, যেখানে আপনি প্রতি অনুরোধের ভিত্তিতে অর্থ প্রদান করেন, যেমন একটি কুইরি বা ইনসার্ট। সাধারণত, এটি কতটা কাজ করতে হয় তার উপর ভিত্তি করে মূল্য নির্ধারণ করা হয়। উদাহরণস্বরূপ, একটি প্রাইমারি কী-এর বিরুদ্ধে একটি সারি নির্বাচন করা একটি জটিল অপারেশনের চেয়ে কম খরচ হবে যা অনেক টেবিল যোগ করে এবং হাজার হাজার সারি ফেরত দেয়।
+
+## একটি সার্ভারলেস অ্যাপ্লিকেশন তৈরি করুন
+
+মাইক্রোসফটের সার্ভারলেস কম্পিউটিং পরিষেবাটি Azure Functions নামে পরিচিত।
+
+
+
+নিচের সংক্ষিপ্ত ভিডিওতে Azure Functions-এর একটি ওভারভিউ রয়েছে:
+
+[](https://www.youtube.com/watch?v=8-jz5f_JyEQ)
+
+> 🎥 উপরের ছবিতে ক্লিক করে ভিডিওটি দেখুন
+
+✅ কিছু সময় নিয়ে Azure Functions-এর ওভারভিউ পড়ুন [Microsoft Azure Functions ডকুমেন্টেশনে](https://docs.microsoft.com/azure/azure-functions/functions-overview?WT.mc_id=academic-17441-jabenn)।
+
+Azure Functions লেখার জন্য, আপনাকে আপনার পছন্দের ভাষায় একটি Azure Functions অ্যাপ দিয়ে শুরু করতে হবে। Azure Functions ডিফল্টভাবে Python, JavaScript, TypeScript, C#, F#, Java এবং Powershell সমর্থন করে। এই পাঠে, আপনি Python-এ একটি Azure Functions অ্যাপ লিখতে শিখবেন।
+
+> 💁 Azure Functions কাস্টম হ্যান্ডলারও সমর্থন করে, তাই আপনি যেকোনো ভাষায় ফাংশন লিখতে পারেন যা HTTP রিকোয়েস্ট সমর্থন করে, এমনকি COBOL-এর মতো পুরনো ভাষায়ও।
+
+Functions অ্যাপগুলো এক বা একাধিক *ট্রিগার* নিয়ে গঠিত - ফাংশনগুলো ইভেন্টের প্রতিক্রিয়ায় কাজ করে। একটি Functions অ্যাপে একাধিক ট্রিগার থাকতে পারে, যা সাধারণ কনফিগারেশন শেয়ার করে। উদাহরণস্বরূপ, আপনার Functions অ্যাপের কনফিগারেশন ফাইলে আপনার IoT হাবের সংযোগ বিবরণ থাকতে পারে, এবং অ্যাপের সমস্ত ফাংশন এটি ব্যবহার করে সংযোগ করতে এবং ইভেন্ট শোনার জন্য ব্যবহার করতে পারে।
+
+### কাজ - Azure Functions টুলিং ইনস্টল করুন
+
+> লেখার সময়, Azure Functions কোড টুলগুলো Apple Silicon-এ Python প্রকল্পের জন্য পুরোপুরি কাজ করছে না। আপনাকে একটি Intel-ভিত্তিক Mac, Windows PC, বা Linux PC ব্যবহার করতে হবে।
+
+Azure Functions-এর একটি চমৎকার বৈশিষ্ট্য হলো আপনি এটি লোকালভাবে চালাতে পারেন। ক্লাউডে ব্যবহৃত একই রানটাইম আপনার কম্পিউটারে চালানো যায়, যা আপনাকে IoT বার্তার প্রতিক্রিয়ায় কোড লিখতে এবং লোকালভাবে চালাতে দেয়। আপনি এমনকি ইভেন্ট পরিচালনার সময় আপনার কোড ডিবাগ করতে পারেন। একবার আপনি আপনার কোড নিয়ে সন্তুষ্ট হলে, এটি ক্লাউডে ডিপ্লয় করা যেতে পারে।
+
+Azure Functions টুলিং CLI হিসেবে উপলব্ধ, যা Azure Functions Core Tools নামে পরিচিত।
+
+1. Azure Functions Core Tools ইনস্টল করুন [Azure Functions Core Tools ডকুমেন্টেশনের](https://docs.microsoft.com/azure/azure-functions/functions-run-local?WT.mc_id=academic-17441-jabenn) নির্দেশাবলী অনুসরণ করে।
+
+1. VS Code-এর জন্য Azure Functions এক্সটেনশন ইনস্টল করুন। এই এক্সটেনশনটি Azure Functions তৈরি, ডিবাগ এবং ডিপ্লয়ের জন্য সমর্থন প্রদান করে। [Azure Functions এক্সটেনশন ডকুমেন্টেশনে](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-azuretools.vscode-azurefunctions) এই এক্সটেনশনটি VS Code-এ ইনস্টল করার নির্দেশাবলী দেখুন।
+
+Azure Functions অ্যাপটি ক্লাউডে ডিপ্লয় করার সময়, এটি অ্যাপ্লিকেশন ফাইল এবং লগ ফাইলের মতো কিছু সংরক্ষণ করার জন্য একটি ছোট পরিমাণ ক্লাউড স্টোরেজ ব্যবহার করতে হবে। যখন আপনি আপনার Functions অ্যাপ লোকালভাবে চালান, তখনও আপনাকে ক্লাউড স্টোরেজের সাথে সংযুক্ত থাকতে হবে, তবে প্রকৃত ক্লাউড স্টোরেজ ব্যবহার করার পরিবর্তে, আপনি [Azurite](https://github.com/Azure/Azurite) নামে একটি স্টোরেজ এমুলেটর ব্যবহার করতে পারেন। এটি লোকালভাবে চালায় কিন্তু ক্লাউড স্টোরেজের মতো কাজ করে।
+
+> 🎓 Azure-এ, Azure Functions যে স্টোরেজ ব্যবহার করে তা হলো একটি Azure Storage Account। এই অ্যাকাউন্টগুলো ফাইল, ব্লব, টেবিলের ডেটা বা কিউয়ের ডেটা সংরক্ষণ করতে পারে। আপনি একাধিক অ্যাপের মধ্যে একটি স্টোরেজ অ্যাকাউন্ট শেয়ার করতে পারেন, যেমন একটি Functions অ্যাপ এবং একটি ওয়েব অ্যাপ।
+
+1. Azurite একটি Node.js অ্যাপ, তাই আপনাকে Node.js ইনস্টল করতে হবে। [Node.js ওয়েবসাইটে](https://nodejs.org/) ডাউনলোড এবং ইনস্টলেশনের নির্দেশাবলী পাওয়া যাবে। যদি আপনি Mac ব্যবহার করেন, তবে আপনি এটি [Homebrew](https://formulae.brew.sh/formula/node) থেকেও ইনস্টল করতে পারেন।
+
+1. Azurite ইনস্টল করুন নিম্নলিখিত কমান্ড ব্যবহার করে (`npm` হলো একটি টুল যা Node.js ইনস্টল করার সময় ইনস্টল হয়):
+
+ ```sh
+ npm install -g azurite
+ ```
+
+1. Azurite-এর জন্য একটি ফোল্ডার তৈরি করুন যেখানে এটি ডেটা সংরক্ষণ করবে:
+
+ ```sh
+ mkdir azurite
+ ```
+
+1. Azurite চালান, এই নতুন ফোল্ডারটি পাস করে:
+
+ ```sh
+ azurite --location azurite
+ ```
+
+ Azurite স্টোরেজ এমুলেটর চালু হবে এবং লোকাল Functions রানটাইমের সাথে সংযোগের জন্য প্রস্তুত থাকবে।
+
+ ```output
+ ➜ ~ azurite --location azurite
+ Azurite Blob service is starting at http://127.0.0.1:10000
+ Azurite Blob service is successfully listening at http://127.0.0.1:10000
+ Azurite Queue service is starting at http://127.0.0.1:10001
+ Azurite Queue service is successfully listening at http://127.0.0.1:10001
+ Azurite Table service is starting at http://127.0.0.1:10002
+ Azurite Table service is successfully listening at http://127.0.0.1:10002
+ ```
+
+### কাজ - একটি Azure Functions প্রকল্প তৈরি করুন
+
+Azure Functions CLI ব্যবহার করে একটি নতুন Functions অ্যাপ তৈরি করা যায়।
+
+1. আপনার Functions অ্যাপের জন্য একটি ফোল্ডার তৈরি করুন এবং এতে যান। এটি `soil-moisture-trigger` নামে রাখুন:
+
+ ```sh
+ mkdir soil-moisture-trigger
+ cd soil-moisture-trigger
+ ```
+
+1. এই ফোল্ডারের ভিতরে একটি Python ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+1. ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন:
+
+ * Windows-এ:
+ * যদি আপনি Command Prompt বা Windows Terminal-এর মাধ্যমে Command Prompt ব্যবহার করেন, তাহলে চালান:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * যদি আপনি PowerShell ব্যবহার করেন, তাহলে চালান:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ * macOS বা Linux-এ, চালান:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 এই কমান্ডগুলো সেই অবস্থান থেকে চালানো উচিত যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করেছিলেন। `.venv` ফোল্ডারে কখনও প্রবেশ করার প্রয়োজন নেই; আপনাকে সর্বদা সক্রিয় কমান্ড এবং প্যাকেজ ইনস্টল বা কোড চালানোর কমান্ড সেই ফোল্ডার থেকে চালাতে হবে যেখানে আপনি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করেছিলেন।
+
+1. এই ফোল্ডারে একটি Functions অ্যাপ তৈরি করতে নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ func init --worker-runtime python soil-moisture-trigger
+ ```
+
+ এটি বর্তমান ফোল্ডারের ভিতরে তিনটি ফাইল তৈরি করবে:
+
+ * `host.json` - এই JSON ডকুমেন্টটি আপনার Functions অ্যাপের সেটিংস ধারণ করে। আপনাকে এই সেটিংস পরিবর্তন করতে হবে না।
+ * `local.settings.json` - এই JSON ডকুমেন্টটি আপনার অ্যাপ লোকালভাবে চালানোর সময় ব্যবহৃত সেটিংস ধারণ করে, যেমন আপনার IoT হাবের জন্য সংযোগ স্ট্রিং। এই সেটিংস কেবল লোকাল এবং সোর্স কোড কন্ট্রোলে যোগ করা উচিত নয়। যখন অ্যাপটি ক্লাউডে ডিপ্লয় করা হয়, তখন এই সেটিংস ডিপ্লয় করা হয় না; পরিবর্তে আপনার সেটিংস অ্যাপ্লিকেশন সেটিংস থেকে লোড করা হয়। এটি এই পাঠে পরে আলোচনা করা হবে।
+ * `requirements.txt` - এটি একটি [Pip requirements ফাইল](https://pip.pypa.io/en/stable/user_guide/#requirements-files) যা Functions অ্যাপ চালানোর জন্য প্রয়োজনীয় Pip প্যাকেজগুলো ধারণ করে।
+
+1. `local.settings.json` ফাইলটি Functions অ্যাপ যে স্টোরেজ অ্যাকাউন্ট ব্যবহার করবে তার জন্য একটি সেটিং ধারণ করে। এটি ডিফল্টভাবে খালি থাকে, তাই এটি সেট করতে হবে। Azurite লোকাল স্টোরেজ এমুলেটরের সাথে সংযোগ করতে, এই মানটি নিম্নলিখিতভাবে সেট করুন:
+
+ ```json
+ "AzureWebJobsStorage": "UseDevelopmentStorage=true",
+ ```
+
+1. প্রয়োজনীয় Pip প্যাকেজগুলো requirements ফাইল ব্যবহার করে ইনস্টল করুন:
+
+ ```sh
+ pip install -r requirements.txt
+ ```
+
+ > 💁 প্রয়োজনীয় Pip প্যাকেজগুলো এই ফাইলে থাকতে হবে, যাতে Functions অ্যাপ ক্লাউডে ডিপ্লয় করার সময় রানটাইম সঠিক প্যাকেজ ইনস্টল করতে পারে।
+
+1. সবকিছু সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করতে, আপনি Functions রানটাইম শুরু করতে পারেন। এটি করতে নিম্নলিখিত কমান্ড চালান:
+
+ ```sh
+ func start
+ ```
+
+ আপনি দেখবেন যে রানটাইম শুরু হয়েছে এবং এটি কোনো জব ফাংশন (ট্রিগার) খুঁজে পায়নি বলে রিপোর্ট করছে।
+
+ ```output
+ (.venv) ➜ soil-moisture-trigger func start
+ Found Python version 3.9.1 (python3).
+
+ Azure Functions Core Tools
+ Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (64-bit)
+ Function Runtime Version: 3.0.15417.0
+
+ [2021-05-05T01:24:46.795Z] No job functions found.
+ ```
+> ⚠️ যদি আপনি একটি ফায়ারওয়াল বিজ্ঞপ্তি পান, অনুমতি দিন কারণ `func` অ্যাপ্লিকেশনটি আপনার নেটওয়ার্কে পড়া এবং লেখা সক্ষম হওয়া প্রয়োজন।
+> ⚠️ যদি আপনি macOS ব্যবহার করেন, আউটপুটে সতর্কবার্তা থাকতে পারে:
+>
+> ```output
+ > (.venv) ➜ soil-moisture-trigger func start
+ > Found Python version 3.9.1 (python3).
+ >
+ > Azure Functions Core Tools
+ > Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (64-bit)
+ > Function Runtime Version: 3.0.15417.0
+ >
+ > [2021-06-16T08:18:28.315Z] Cannot create directory for shared memory usage: /dev/shm/AzureFunctions
+ > [2021-06-16T08:18:28.316Z] System.IO.FileSystem: Access to the path '/dev/shm/AzureFunctions' is denied. Operation not permitted.
+ > [2021-06-16T08:18:30.361Z] No job functions found.
+ > ```
+>
+> যতক্ষণ না Functions অ্যাপ সঠিকভাবে শুরু হয় এবং চলমান ফাংশনগুলি তালিকাভুক্ত হয়, আপনি এই সতর্কবার্তাগুলি উপেক্ষা করতে পারেন। [Microsoft Docs Q&A-তে এই প্রশ্নে](https://docs.microsoft.com/answers/questions/396617/azure-functions-core-tools-error-osx-devshmazurefu.html?WT.mc_id=academic-17441-jabenn) উল্লেখ করা হয়েছে যে এটি উপেক্ষা করা যেতে পারে।
+
+1. `ctrl+c` চাপ দিয়ে Functions অ্যাপ বন্ধ করুন।
+
+1. বর্তমান ফোল্ডারটি VS Code-এ খুলুন। এটি VS Code খুলে তারপর ফোল্ডারটি খুলে বা নিচের কমান্ডটি চালিয়ে করতে পারেন:
+
+ ```sh
+ code .
+ ```
+
+ VS Code আপনার Functions প্রজেক্ট সনাক্ত করবে এবং একটি নোটিফিকেশন দেখাবে:
+
+ ```output
+ Detected an Azure Functions Project in folder "soil-moisture-trigger" that may have been created outside of
+ VS Code. Initialize for optimal use with VS Code?
+ ```
+
+ 
+
+ এই নোটিফিকেশন থেকে **Yes** নির্বাচন করুন।
+
+1. নিশ্চিত করুন যে VS Code টার্মিনালে Python ভার্চুয়াল এনভায়রনমেন্ট চালু রয়েছে। প্রয়োজনে এটি বন্ধ করে পুনরায় চালু করুন।
+
+## একটি IoT Hub ইভেন্ট ট্রিগার তৈরি করুন
+
+Functions অ্যাপটি আপনার সার্ভারলেস কোডের শেল। IoT Hub ইভেন্টগুলিতে সাড়া দিতে, আপনি এই অ্যাপে একটি IoT Hub ট্রিগার যোগ করতে পারেন। এই ট্রিগারটি IoT Hub-এ পাঠানো বার্তাগুলির স্ট্রিমের সাথে সংযোগ স্থাপন করে এবং সেগুলিতে সাড়া দেয়। এই বার্তাগুলির স্ট্রিম পেতে, আপনার ট্রিগারকে IoT Hub-এর *ইভেন্ট হাব কম্প্যাটিবল এন্ডপয়েন্ট*-এর সাথে সংযোগ স্থাপন করতে হবে।
+
+IoT Hub একটি Azure পরিষেবা Azure Event Hubs-এর উপর ভিত্তি করে তৈরি। Event Hubs একটি পরিষেবা যা বার্তা পাঠানো এবং গ্রহণ করার অনুমতি দেয়, এবং IoT Hub এটিকে IoT ডিভাইসগুলির জন্য অতিরিক্ত বৈশিষ্ট্য যোগ করে বাড়িয়ে তোলে। IoT Hub থেকে বার্তা পড়ার জন্য সংযোগ করার পদ্ধতি Event Hubs ব্যবহারের মতোই।
+
+✅ কিছু গবেষণা করুন: [Azure Event Hubs ডকুমেন্টেশনে](https://docs.microsoft.com/azure/event-hubs/event-hubs-about?WT.mc_id=academic-17441-jabenn) Event Hubs-এর ওভারভিউ পড়ুন। এর মৌলিক বৈশিষ্ট্যগুলি IoT Hub-এর সাথে কীভাবে তুলনা করা যায়?
+
+একটি IoT ডিভাইসকে IoT Hub-এ সংযোগ করতে হলে একটি সিক্রেট কী ব্যবহার করতে হয় যা নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ডিভাইসগুলি সংযোগ করতে পারে। বার্তা পড়ার জন্য সংযোগ করার ক্ষেত্রেও একই নিয়ম প্রযোজ্য, আপনার কোডে একটি সংযোগ স্ট্রিং প্রয়োজন যা একটি সিক্রেট কী এবং IoT Hub-এর বিবরণ ধারণ করে।
+
+> 💁 ডিফল্ট সংযোগ স্ট্রিং-এ **iothubowner** অনুমতি থাকে, যা এটি ব্যবহারকারী যেকোন কোডকে IoT Hub-এ পূর্ণ অনুমতি দেয়। আদর্শভাবে, আপনাকে প্রয়োজনীয় সর্বনিম্ন অনুমতি দিয়ে সংযোগ করতে হবে। এটি পরবর্তী পাঠে আলোচনা করা হবে।
+
+আপনার ট্রিগার সংযুক্ত হওয়ার পরে, IoT Hub-এ পাঠানো প্রতিটি বার্তার জন্য ফাংশনের ভিতরের কোডটি চালানো হবে, যেকোন ডিভাইস বার্তাটি পাঠিয়েছে তা নির্বিশেষে। বার্তাটি একটি প্যারামিটার হিসাবে ট্রিগারে পাস করা হবে।
+
+### কাজ - Event Hub কম্প্যাটিবল এন্ডপয়েন্ট সংযোগ স্ট্রিং পান
+
+1. VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান IoT Hub-এর Event Hub কম্প্যাটিবল এন্ডপয়েন্টের সংযোগ স্ট্রিং পেতে:
+
+ ```sh
+ az iot hub connection-string show --default-eventhub \
+ --output table \
+ --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর নাম দিন।
+
+1. VS Code-এ `local.settings.json` ফাইলটি খুলুন। `Values` সেকশনের মধ্যে নিচের অতিরিক্ত মানটি যোগ করুন:
+
+ ```json
+ "IOT_HUB_CONNECTION_STRING": ""
+ ```
+
+ ``-এর জায়গায় আগের ধাপে প্রাপ্ত মানটি দিন। এটি বৈধ JSON করতে উপরের লাইনের পরে একটি কমা যোগ করতে হবে।
+
+### কাজ - একটি ইভেন্ট ট্রিগার তৈরি করুন
+
+আপনি এখন ইভেন্ট ট্রিগার তৈরি করতে প্রস্তুত।
+
+1. VS Code টার্মিনাল থেকে `soil-moisture-trigger` ফোল্ডারের ভিতরে নিচের কমান্ডটি চালান:
+
+ ```sh
+ func new --name iot-hub-trigger --template "Azure Event Hub trigger"
+ ```
+
+ এটি একটি নতুন Function তৈরি করবে যার নাম হবে `iot-hub-trigger`। ট্রিগারটি IoT Hub-এর Event Hub কম্প্যাটিবল এন্ডপয়েন্টের সাথে সংযোগ করবে, তাই আপনি একটি Event Hub ট্রিগার ব্যবহার করতে পারেন। নির্দিষ্ট কোনো IoT Hub ট্রিগার নেই।
+
+এটি `soil-moisture-trigger` ফোল্ডারের ভিতরে একটি ফোল্ডার তৈরি করবে যার নাম হবে `iot-hub-trigger`, যা এই ফাংশনটি ধারণ করবে। এই ফোল্ডারের ভিতরে নিম্নলিখিত ফাইলগুলি থাকবে:
+
+* `__init__.py` - এটি Python কোড ফাইল যা ট্রিগার ধারণ করে। এটি একটি Python মডিউল হিসেবে ফোল্ডারটিকে চিহ্নিত করতে স্ট্যান্ডার্ড Python ফাইল নামকরণ কনভেনশন ব্যবহার করে।
+
+ এই ফাইলটি নিচের কোডটি ধারণ করবে:
+
+ ```python
+ import logging
+
+ import azure.functions as func
+
+
+ def main(event: func.EventHubEvent):
+ logging.info('Python EventHub trigger processed an event: %s',
+ event.get_body().decode('utf-8'))
+ ```
+
+ ট্রিগারের মূল অংশটি হল `main` ফাংশন। IoT Hub থেকে ইভেন্ট পাওয়ার সাথে সাথে এই ফাংশনটি ডাকা হয়। এই ফাংশনের একটি প্যারামিটার `event` রয়েছে যা একটি `EventHubEvent` ধারণ করে। IoT Hub-এ বার্তা পাঠানোর প্রতিবার, এই ফাংশনটি বার্তাটি `event` হিসেবে পাস করে ডাকা হয়, এবং বার্তার সাথে প্রোপার্টিগুলি থাকে যা আপনি আগের পাঠে অ্যানোটেশনে দেখেছেন।
+
+ এই ফাংশনের মূল অংশটি ইভেন্টটি লগ করে।
+
+* `function.json` - এটি ট্রিগারের কনফিগারেশন ধারণ করে। মূল কনফিগারেশনটি `bindings` নামে একটি সেকশনে থাকে। একটি binding হল Azure Functions এবং অন্যান্য Azure পরিষেবাগুলির মধ্যে সংযোগের জন্য ব্যবহৃত শব্দ। এই ফাংশনের একটি ইনপুট binding রয়েছে একটি Event Hub-এর সাথে - এটি Event Hub-এর সাথে সংযোগ করে এবং ডেটা গ্রহণ করে।
+
+ > 💁 আপনি আউটপুট binding-ও রাখতে পারেন যাতে ফাংশনের আউটপুট অন্য কোনো পরিষেবায় পাঠানো যায়। উদাহরণস্বরূপ, আপনি একটি ডাটাবেসে আউটপুট binding যোগ করতে পারেন এবং ফাংশন থেকে IoT Hub ইভেন্টটি ফেরত দিতে পারেন, এবং এটি স্বয়ংক্রিয়ভাবে ডাটাবেসে যোগ করা হবে।
+
+ ✅ কিছু গবেষণা করুন: [Azure Functions triggers and bindings concepts ডকুমেন্টেশনে](https://docs.microsoft.com/azure/azure-functions/functions-triggers-bindings?WT.mc_id=academic-17441-jabenn&tabs=python) bindings সম্পর্কে পড়ুন।
+
+ `bindings` সেকশনে binding-এর কনফিগারেশন অন্তর্ভুক্ত থাকে। গুরুত্বপূর্ণ মানগুলি হল:
+
+ * `"type": "eventHubTrigger"` - এটি ফাংশনকে বলে যে এটি Event Hub থেকে ইভেন্ট শুনতে হবে
+ * `"name": "events"` - এটি Event Hub ইভেন্টগুলির জন্য ব্যবহৃত প্যারামিটার নাম। এটি Python কোডে `main` ফাংশনের প্যারামিটার নামের সাথে মেলে।
+ * `"direction": "in"` - এটি একটি ইনপুট binding, Event Hub থেকে ডেটা ফাংশনে আসে
+ * `"connection": ""` - এটি সংযোগ স্ট্রিং পড়ার জন্য সেটিংসের নাম সংজ্ঞায়িত করে। স্থানীয়ভাবে চালানোর সময়, এটি `local.settings.json` ফাইল থেকে এই সেটিং পড়বে।
+
+ > 💁 সংযোগ স্ট্রিং `function.json` ফাইলে সংরক্ষণ করা যাবে না, এটি সেটিংস থেকে পড়তে হবে। এটি আপনার সংযোগ স্ট্রিংটি দুর্ঘটনাক্রমে প্রকাশ হওয়া থেকে রোধ করার জন্য।
+
+1. [Azure Functions টেমপ্লেটে একটি বাগের কারণে](https://github.com/Azure/azure-functions-templates/issues/1250), `function.json` ফাইলে `cardinality` ফিল্ডের একটি ভুল মান রয়েছে। এই ফিল্ডটি `many` থেকে `one`-এ আপডেট করুন:
+
+ ```json
+ "cardinality": "one",
+ ```
+
+1. `function.json` ফাইলে `"connection"`-এর মানটি আপডেট করুন যাতে এটি `local.settings.json` ফাইলে যোগ করা নতুন মানের দিকে নির্দেশ করে:
+
+ ```json
+ "connection": "IOT_HUB_CONNECTION_STRING",
+ ```
+
+ > 💁 মনে রাখবেন - এটি সেটিংসের দিকে নির্দেশ করতে হবে, প্রকৃত সংযোগ স্ট্রিং ধারণ করতে হবে না।
+
+1. সংযোগ স্ট্রিং-এ `eventHubName` মানটি রয়েছে, তাই `function.json` ফাইলে এর জন্য মানটি খালি করতে হবে। এই মানটি একটি খালি স্ট্রিং-এ আপডেট করুন:
+
+ ```json
+ "eventHubName": "",
+ ```
+
+### কাজ - ইভেন্ট ট্রিগার চালান
+
+1. নিশ্চিত করুন যে আপনি IoT Hub ইভেন্ট মনিটর চালাচ্ছেন না। Functions অ্যাপ চালানোর সময় এটি চালু থাকলে, Functions অ্যাপ সংযোগ করতে এবং ইভেন্ট গ্রহণ করতে পারবে না।
+
+ > 💁 একাধিক অ্যাপ IoT Hub এন্ডপয়েন্টে বিভিন্ন *consumer groups* ব্যবহার করে সংযোগ করতে পারে। এটি একটি পরবর্তী পাঠে আলোচনা করা হবে।
+
+1. Functions অ্যাপ চালানোর জন্য, VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান:
+
+ ```sh
+ func start
+ ```
+
+ Functions অ্যাপটি চালু হবে এবং `iot-hub-trigger` ফাংশনটি আবিষ্কার করবে। এটি IoT Hub-এ গত এক দিনে পাঠানো যেকোন ইভেন্ট প্রক্রিয়া করবে।
+
+ ```output
+ (.venv) ➜ soil-moisture-trigger func start
+ Found Python version 3.9.1 (python3).
+
+ Azure Functions Core Tools
+ Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (64-bit)
+ Function Runtime Version: 3.0.15417.0
+
+ Functions:
+
+ iot-hub-trigger: eventHubTrigger
+
+ For detailed output, run func with --verbose flag.
+ [2021-05-05T02:44:07.517Z] Worker process started and initialized.
+ [2021-05-05T02:44:09.202Z] Executing 'Functions.iot-hub-trigger' (Reason='(null)', Id=802803a5-eae9-4401-a1f4-176631456ce4)
+ [2021-05-05T02:44:09.205Z] Trigger Details: PartitionId: 0, Offset: 1011240-1011632, EnqueueTimeUtc: 2021-05-04T19:04:04.2030000Z-2021-05-04T19:04:04.3900000Z, SequenceNumber: 2546-2547, Count: 2
+ [2021-05-05T02:44:09.352Z] Python EventHub trigger processed an event: {"soil_moisture":628}
+ [2021-05-05T02:44:09.354Z] Python EventHub trigger processed an event: {"soil_moisture":624}
+ [2021-05-05T02:44:09.395Z] Executed 'Functions.iot-hub-trigger' (Succeeded, Id=802803a5-eae9-4401-a1f4-176631456ce4, Duration=245ms)
+ ```
+
+ প্রতিটি ফাংশন কল `Executing 'Functions.iot-hub-trigger'`/`Executed 'Functions.iot-hub-trigger'` ব্লকের মধ্যে থাকবে, যাতে আপনি প্রতিটি ফাংশন কলে কতগুলি বার্তা প্রক্রিয়া হয়েছে তা দেখতে পারেন।
+
+1. নিশ্চিত করুন যে আপনার IoT ডিভাইস চালু রয়েছে। আপনি Functions অ্যাপে নতুন soil moisture বার্তা দেখতে পাবেন।
+
+1. Functions অ্যাপ বন্ধ করুন এবং পুনরায় চালু করুন। আপনি দেখবেন যে এটি পূর্ববর্তী বার্তাগুলি পুনরায় প্রক্রিয়া করবে না, এটি শুধুমাত্র নতুন বার্তাগুলি প্রক্রিয়া করবে।
+
+> 💁 VS Code আপনার Functions ডিবাগ করতেও সমর্থন করে। আপনি প্রতিটি কোড লাইনের শুরুতে বর্ডারে ক্লিক করে ব্রেক পয়েন্ট সেট করতে পারেন, অথবা কোড লাইনে কার্সর রেখে *Run -> Toggle breakpoint* নির্বাচন করতে পারেন, অথবা `F9` চাপতে পারেন। আপনি *Run -> Start debugging* নির্বাচন করে, `F5` চাপ দিয়ে, অথবা *Run and debug* প্যান থেকে **Start debugging** বোতামটি নির্বাচন করে ডিবাগার চালু করতে পারেন। এটি করে আপনি প্রক্রিয়াকৃত ইভেন্টগুলির বিস্তারিত দেখতে পারবেন।
+
+#### সমস্যা সমাধান
+
+* যদি আপনি নিচের ত্রুটি পান:
+
+ ```output
+ The listener for function 'Functions.iot-hub-trigger' was unable to start. Microsoft.WindowsAzure.Storage: Connection refused. System.Net.Http: Connection refused. System.Private.CoreLib: Connection refused.
+ ```
+
+ নিশ্চিত করুন যে Azurite চালু রয়েছে এবং আপনি `local.settings.json` ফাইলে `AzureWebJobsStorage`-এ `UseDevelopmentStorage=true` সেট করেছেন।
+
+* যদি আপনি নিচের ত্রুটি পান:
+
+ ```output
+ System.Private.CoreLib: Exception while executing function: Functions.iot-hub-trigger. System.Private.CoreLib: Result: Failure Exception: AttributeError: 'list' object has no attribute 'get_body'
+ ```
+
+ নিশ্চিত করুন যে আপনি `function.json` ফাইলে `cardinality`-কে `one`-এ সেট করেছেন।
+
+* যদি আপনি নিচের ত্রুটি পান:
+
+ ```output
+ Azure.Messaging.EventHubs: The path to an Event Hub may be specified as part of the connection string or as a separate value, but not both. Please verify that your connection string does not have the `EntityPath` token if you are passing an explicit Event Hub name. (Parameter 'connectionString').
+ ```
+
+ নিশ্চিত করুন যে আপনি `function.json` ফাইলে `eventHubName`-কে একটি খালি স্ট্রিং-এ সেট করেছেন।
+
+## সার্ভারলেস কোড থেকে সরাসরি মেথড রিকোয়েস্ট পাঠান
+
+এখন পর্যন্ত আপনার Functions অ্যাপ IoT Hub থেকে Event Hub কম্প্যাটিবল এন্ডপয়েন্ট ব্যবহার করে বার্তা শুনছে। এখন আপনাকে IoT ডিভাইসে কমান্ড পাঠাতে হবে। এটি IoT Hub-এ একটি ভিন্ন সংযোগ ব্যবহার করে *Registry Manager*-এর মাধ্যমে করা হয়। Registry Manager একটি টুল যা আপনাকে IoT Hub-এ নিবন্ধিত ডিভাইসগুলি দেখতে এবং সেই ডিভাইসগুলির সাথে ক্লাউড থেকে ডিভাইসে বার্তা পাঠানো, সরাসরি মেথড রিকোয়েস্ট পাঠানো বা ডিভাইস টুইন আপডেট করার মাধ্যমে যোগাযোগ করতে দেয়। এটি IoT Hub থেকে ডিভাইস নিবন্ধন, আপডেট বা মুছে ফেলতেও ব্যবহার করা যায়।
+
+Registry Manager-এ সংযোগ করতে, আপনাকে একটি সংযোগ স্ট্রিং প্রয়োজন।
+
+### কাজ - Registry Manager সংযোগ স্ট্রিং পান
+
+1. সংযোগ স্ট্রিং পেতে, নিচের কমান্ডটি চালান:
+
+ ```sh
+ az iot hub connection-string show --policy-name service \
+ --output table \
+ --hub-name
+ ```
+
+ ``-এর জায়গায় আপনার IoT Hub-এর নাম দিন।
+
+ সংযোগ স্ট্রিংটি *ServiceConnect* পলিসির জন্য অনুরোধ করা হয় `--policy-name service` প্যারামিটার ব্যবহার করে। যখন আপনি একটি সংযোগ স্ট্রিং অনুরোধ করেন, আপনি নির্দিষ্ট করতে পারেন যে এই সংযোগ স্ট্রিংটি কী অনুমতি দেবে। ServiceConnect পলিসি আপনার কোডকে IoT ডিভাইসগুলিতে বার্তা পাঠানোর অনুমতি দেয়।
+
+ ✅ কিছু গবেষণা করুন: [IoT Hub permissions ডকুমেন্টেশনে](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security#iot-hub-permissions?WT.mc_id=academic-17441-jabenn) বিভিন্ন পলিসি সম্পর্কে পড়ুন।
+
+1. VS Code-এ `local.settings.json` ফাইলটি খুলুন। `Values` সেকশনের মধ্যে নিচের অতিরিক্ত মানটি যোগ করুন:
+
+ ```json
+ "REGISTRY_MANAGER_CONNECTION_STRING": ""
+ ```
+
+ ``-এর জায়গায় আগের ধাপে প্রাপ্ত মানটি দিন। এটি বৈধ JSON করতে উপরের লাইনের পরে একটি কমা যোগ করতে হবে।
+
+### কাজ - একটি ডিভাইসে সরাসরি মেথড রিকোয়েস্ট পাঠান
+
+1. Registry Manager-এর SDK একটি Pip প্যাকেজের মাধ্যমে উপলব্ধ। `requirements.txt` ফাইলে নিচের লাইনটি যোগ করুন এই প্যাকেজের উপর নির্ভরতা যোগ করতে:
+
+ ```sh
+ azure-iot-hub
+ ```
+
+1. নিশ্চিত করুন যে VS Code টার্মিনালে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় রয়েছে, এবং Pip প্যাকেজগুলি ইনস্টল করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ pip install -r requirements.txt
+ ```
+
+1. `__init__.py` ফাইলে নিচের ইমপোর্টগুলি যোগ করুন:
+
+ ```python
+ import json
+ import os
+ from azure.iot.hub import IoTHubRegistryManager
+ from azure.iot.hub.models import CloudToDeviceMethod
+ ```
+
+ এটি কিছু সিস্টেম লাইব্রেরি, Registry Manager-এর সাথে ইন্টারঅ্যাক্ট করার লাইব্রেরি এবং সরাসরি মেথড রিকোয়েস্ট পাঠানোর লাইব্রেরি ইমপোর্ট করে।
+
+1. `main` মেথডের ভিতরের কোডটি সরিয়ে ফেলুন, তবে মেথডটি রেখে দিন।
+
+1. `main` মেথডে নিচের কোডটি যোগ করুন:
+
+ ```python
+ body = json.loads(event.get_body().decode('utf-8'))
+ device_id = event.iothub_metadata['connection-device-id']
+
+ logging.info(f'Received message: {body} from {device_id}')
+ ```
+
+ এই কোডটি ইভেন্টের বডি থেকে IoT ডিভাইস দ্বারা পাঠানো JSON বার্তাটি বের করে।
+
+ এটি বার্তার সাথে পাঠানো অ্যানোটেশন থেকে ডিভাইস আইডি পায়। ইভেন্টের বডি টেলিমেট্রি হিসেবে পাঠানো বার্তাটি ধারণ করে, এবং `iothub_metadata` ডিকশনারি IoT Hub দ্বারা সেট করা প্রোপার্টি যেমন বার্তা প্রেরণকারী ডিভাইসের আইডি এবং বার্তা প্রেরণের সময় ধারণ করে।
+
+ এই তথ্যটি লগ করা হয়। Functions অ্যাপটি স্থানীয়ভাবে চালানোর সময় আপনি এই লগিংটি টার্মিনালে দেখতে পাবেন।
+
+1. এর নিচে নিচের কোডটি যোগ করুন:
+
+ ```python
+ soil_moisture = body['soil_moisture']
+
+ if soil_moisture > 450:
+ direct_method = CloudToDeviceMethod(method_name='relay_on', payload='{}')
+ else:
+ direct_method = CloudToDeviceMethod(method_name='relay_off', payload='{}')
+ ```
+
+ এই কোডটি বার্তা থেকে soil moisture বের করে। এটি তারপর soil moisture চেক করে এবং মানের উপর ভিত্তি করে `relay_on` বা `relay_off` সরাসরি মেথড রিকোয়েস্টের জন্য একটি হেল্পার ক্লাস তৈরি করে। মেথড রিকোয়েস্টে কোনো payload প্রয়োজন হয় না, তাই একটি খালি JSON ডকুমেন্ট পাঠানো হয়।
+
+1. এর নিচে নিচের কোডটি যোগ করুন:
+
+ ```python
+ logging.info(f'Sending direct method request for {direct_method.method_name} for device {device_id}')
+
+ registry_manager_connection_string = os.environ['REGISTRY_MANAGER_CONNECTION_STRING']
+ registry_manager = IoTHubRegistryManager(registry_manager_connection_string)
+ ```
+এই কোডটি `local.settings.json` ফাইল থেকে `REGISTRY_MANAGER_CONNECTION_STRING` লোড করে। এই ফাইলের মানগুলো পরিবেশ ভেরিয়েবল হিসেবে উপলব্ধ হয় এবং সেগুলো `os.environ` ফাংশন ব্যবহার করে পড়া যায়, যা সমস্ত পরিবেশ ভেরিয়েবলের একটি ডিকশনারি প্রদান করে।
+
+> 💁 যখন এই কোডটি ক্লাউডে ডিপ্লয় করা হয়, তখন `local.settings.json` ফাইলের মানগুলো *Application Settings* হিসেবে সেট করা হয় এবং সেগুলো পরিবেশ ভেরিয়েবল থেকে পড়া যায়।
+
+এরপর কোডটি সংযোগ স্ট্রিং ব্যবহার করে Registry Manager হেল্পার ক্লাসের একটি ইনস্ট্যান্স তৈরি করে।
+
+1. এর নিচে নিচের কোডটি যোগ করুন:
+
+ ```python
+ registry_manager.invoke_device_method(device_id, direct_method)
+
+ logging.info('Direct method request sent!')
+ ```
+
+ এই কোডটি রেজিস্ট্রি ম্যানেজারকে টেলিমেট্রি পাঠানো ডিভাইসটিতে সরাসরি মেথড রিকোয়েস্ট পাঠাতে বলে।
+
+ > 💁 পূর্ববর্তী পাঠে তৈরি করা অ্যাপের সংস্করণগুলোতে, যেখানে MQTT ব্যবহার করা হয়েছিল, রিলে নিয়ন্ত্রণ কমান্ডগুলো সব ডিভাইসে পাঠানো হতো। কোডটি ধরে নিত যে আপনার কেবল একটি ডিভাইস আছে। এই সংস্করণটি একটি নির্দিষ্ট ডিভাইসে মেথড রিকোয়েস্ট পাঠায়, তাই এটি একাধিক ময়েশ্চার সেন্সর এবং রিলে সেটআপ থাকলেও কাজ করবে, সঠিক ডিভাইসে সঠিক মেথড রিকোয়েস্ট পাঠাবে।
+
+1. Functions অ্যাপ চালান এবং নিশ্চিত করুন যে আপনার IoT ডিভাইস ডেটা পাঠাচ্ছে। আপনি বার্তাগুলো প্রক্রিয়াকৃত হতে এবং সরাসরি মেথড রিকোয়েস্ট পাঠানো হতে দেখবেন। মাটির ভেজা সেন্সরটি মাটির ভিতরে এবং বাইরে সরান এবং দেখুন মানগুলো পরিবর্তিত হচ্ছে এবং রিলে চালু ও বন্ধ হচ্ছে।
+
+> 💁 আপনি এই কোডটি [code/functions](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud/code/functions) ফোল্ডারে খুঁজে পেতে পারেন।
+
+## আপনার সার্ভারলেস কোড ক্লাউডে ডিপ্লয় করুন
+
+আপনার কোড এখন লোকালভাবে কাজ করছে, তাই পরবর্তী ধাপ হলো Functions অ্যাপটি ক্লাউডে ডিপ্লয় করা।
+
+### টাস্ক - ক্লাউড রিসোর্স তৈরি করুন
+
+আপনার Functions অ্যাপটি Azure-এ একটি Functions App রিসোর্সে ডিপ্লয় করতে হবে, যা আপনার IoT Hub-এর জন্য তৈরি করা Resource Group-এর ভিতরে থাকবে। এছাড়াও, Azure-এ একটি Storage Account তৈরি করতে হবে লোকাল এমুলেটেড স্টোরেজটি প্রতিস্থাপন করার জন্য।
+
+1. একটি স্টোরেজ অ্যাকাউন্ট তৈরি করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ az storage account create --resource-group soil-moisture-sensor \
+ --sku Standard_LRS \
+ --name
+ ```
+
+ ``-এর জায়গায় আপনার স্টোরেজ অ্যাকাউন্টের জন্য একটি নাম দিন। এটি গ্লোবালি ইউনিক হতে হবে কারণ এটি স্টোরেজ অ্যাকাউন্ট অ্যাক্সেস করার জন্য ব্যবহৃত URL-এর অংশ গঠন করে। এই নামের জন্য কেবল ছোট হাতের অক্ষর এবং সংখ্যা ব্যবহার করা যাবে, অন্য কোনো ক্যারেক্টার নয়, এবং এটি ২৪ ক্যারেক্টারে সীমাবদ্ধ। উদাহরণস্বরূপ, `sms` ব্যবহার করুন এবং শেষে একটি ইউনিক আইডেন্টিফায়ার যোগ করুন, যেমন কিছু র্যান্ডম শব্দ বা আপনার নাম।
+
+ `--sku Standard_LRS` প্রাইসিং টিয়ার নির্বাচন করে, যা সর্বনিম্ন খরচের জেনারেল-পারপাস অ্যাকাউন্ট নির্বাচন করে। স্টোরেজের কোনো ফ্রি টিয়ার নেই, এবং আপনি যা ব্যবহার করেন তার জন্যই খরচ হয়। খরচ তুলনামূলকভাবে কম, সবচেয়ে ব্যয়বহুল স্টোরেজ প্রতি গিগাবাইট সংরক্ষণের জন্য মাসে ০.০৫ মার্কিন ডলারের কম।
+
+ ✅ [Azure Storage Account pricing page](https://azure.microsoft.com/pricing/details/storage/?WT.mc_id=academic-17441-jabenn)-এ প্রাইসিং সম্পর্কে পড়ুন।
+
+1. একটি Function App তৈরি করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ az functionapp create --resource-group soil-moisture-sensor \
+ --runtime python \
+ --functions-version 3 \
+ --os-type Linux \
+ --consumption-plan-location \
+ --storage-account \
+ --name
+ ```
+
+ ``-এর জায়গায় পূর্ববর্তী পাঠে Resource Group তৈরি করার সময় ব্যবহৃত অবস্থানটি দিন।
+
+ ``-এর জায়গায় পূর্ববর্তী ধাপে তৈরি করা স্টোরেজ অ্যাকাউন্টের নাম দিন।
+
+ ``-এর জায়গায় আপনার Functions App-এর জন্য একটি ইউনিক নাম দিন। এটি গ্লোবালি ইউনিক হতে হবে কারণ এটি Functions App অ্যাক্সেস করার জন্য ব্যবহৃত URL-এর অংশ গঠন করে। উদাহরণস্বরূপ, `soil-moisture-sensor-` ব্যবহার করুন এবং শেষে একটি ইউনিক আইডেন্টিফায়ার যোগ করুন, যেমন কিছু র্যান্ডম শব্দ বা আপনার নাম।
+
+ `--functions-version 3` অপশনটি Azure Functions-এর সংস্করণ নির্ধারণ করে। সংস্করণ ৩ হলো সর্বশেষ সংস্করণ।
+
+ `--os-type Linux` Functions রানটাইমকে এই ফাংশনগুলো হোস্ট করার জন্য Linux ব্যবহার করতে বলে। Functions Linux বা Windows-এ হোস্ট করা যেতে পারে, ব্যবহৃত প্রোগ্রামিং ভাষার উপর নির্ভর করে। Python অ্যাপ কেবল Linux-এ সমর্থিত।
+
+### টাস্ক - আপনার অ্যাপ্লিকেশন সেটিংস আপলোড করুন
+
+আপনার Functions App ডেভেলপ করার সময়, আপনি IoT Hub-এর জন্য সংযোগ স্ট্রিং সংরক্ষণ করতে `local.settings.json` ফাইলে কিছু সেটিংস সংরক্ষণ করেছিলেন। এগুলো Azure-এ আপনার Function App-এর Application Settings-এ লিখতে হবে যাতে আপনার কোড এগুলো ব্যবহার করতে পারে।
+
+> 🎓 `local.settings.json` ফাইলটি কেবল লোকাল ডেভেলপমেন্ট সেটিংসের জন্য, এবং এগুলো সোর্স কোড কন্ট্রোলে (যেমন GitHub) চেক-ইন করা উচিত নয়। ক্লাউডে ডিপ্লয় করার সময়, Application Settings ব্যবহার করা হয়। Application Settings হলো ক্লাউডে হোস্ট করা কী/ভ্যালু পেয়ার, যা পরিবেশ ভেরিয়েবল থেকে আপনার কোডে বা রানটাইমে পড়া হয় যখন আপনার কোড IoT Hub-এর সাথে সংযুক্ত হয়।
+
+1. Functions App-এর Application Settings-এ `IOT_HUB_CONNECTION_STRING` সেটিং সেট করতে নিচের কমান্ডটি চালান:
+
+ ```sh
+ az functionapp config appsettings set --resource-group soil-moisture-sensor \
+ --name \
+ --settings "IOT_HUB_CONNECTION_STRING="
+ ```
+
+ ``-এর জায়গায় আপনার Functions App-এর জন্য ব্যবহৃত নাম দিন।
+
+ ``-এর জায়গায় আপনার `local.settings.json` ফাইল থেকে `IOT_HUB_CONNECTION_STRING`-এর মান দিন।
+
+1. উপরের ধাপটি পুনরাবৃত্তি করুন, তবে `REGISTRY_MANAGER_CONNECTION_STRING`-এর মান `local.settings.json` ফাইল থেকে সংশ্লিষ্ট মান দিয়ে সেট করুন।
+
+এই কমান্ডগুলো চালানোর সময়, এগুলো ফাংশন অ্যাপের সমস্ত Application Settings-এর একটি তালিকা আউটপুট করবে। আপনি এটি ব্যবহার করে নিশ্চিত করতে পারেন যে আপনার মানগুলো সঠিকভাবে সেট করা হয়েছে।
+
+> 💁 আপনি `AzureWebJobsStorage`-এর জন্য একটি মান ইতিমধ্যে সেট করা দেখতে পাবেন। আপনার `local.settings.json` ফাইলে এটি লোকাল স্টোরেজ এমুলেটর ব্যবহার করার জন্য একটি মানে সেট করা হয়েছিল। যখন আপনি Functions App তৈরি করেন, তখন স্টোরেজ অ্যাকাউন্ট একটি প্যারামিটার হিসেবে পাস করা হয়, এবং এটি স্বয়ংক্রিয়ভাবে এই সেটিংয়ে সেট হয়।
+
+### টাস্ক - আপনার Functions App ক্লাউডে ডিপ্লয় করুন
+
+এখন Functions App প্রস্তুত, আপনার কোড ডিপ্লয় করা যেতে পারে।
+
+1. VS Code টার্মিনাল থেকে নিচের কমান্ডটি চালান আপনার Functions App প্রকাশ করতে:
+
+ ```sh
+ func azure functionapp publish
+ ```
+
+ ``-এর জায়গায় আপনার Functions App-এর জন্য ব্যবহৃত নাম দিন।
+
+কোডটি প্যাকেজ করা হবে এবং Functions App-এ পাঠানো হবে, যেখানে এটি ডিপ্লয় এবং শুরু হবে। প্রচুর কনসোল আউটপুট থাকবে, যা ডিপ্লয়মেন্টের নিশ্চিতকরণ এবং ডিপ্লয় করা ফাংশনের একটি তালিকা দিয়ে শেষ হবে। এই ক্ষেত্রে তালিকায় কেবল ট্রিগার থাকবে।
+
+```output
+Deployment successful.
+Remote build succeeded!
+Syncing triggers...
+Functions in soil-moisture-sensor:
+ iot-hub-trigger - [eventHubTrigger]
+```
+
+আপনার IoT ডিভাইস চালু রাখুন। মাটির আর্দ্রতার মাত্রা পরিবর্তন করুন মাটির ভেজা সেন্সরটি সরিয়ে বা মাটির ভিতরে-বাইরে সরিয়ে। আপনি দেখতে পাবেন মাটির আর্দ্রতার পরিবর্তনের সাথে সাথে রিলে চালু এবং বন্ধ হচ্ছে।
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+পূর্ববর্তী পাঠে, আপনি রিলে টাইমিং পরিচালনা করেছিলেন MQTT বার্তা থেকে আনসাবস্ক্রাইব করে যখন রিলে চালু ছিল এবং এটি বন্ধ হওয়ার পর কিছু সময়ের জন্য। এখানে আপনি এই পদ্ধতি ব্যবহার করতে পারবেন না - আপনি আপনার IoT Hub ট্রিগার আনসাবস্ক্রাইব করতে পারবেন না।
+
+আপনার Functions App-এ এটি পরিচালনার জন্য বিভিন্ন উপায় নিয়ে ভাবুন।
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/18)
+
+## রিভিউ এবং সেলফ স্টাডি
+
+* [Serverless Computing page on Wikipedia](https://wikipedia.org/wiki/Serverless_computing)-এ সার্ভারলেস কম্পিউটিং সম্পর্কে পড়ুন।
+* Azure-এ সার্ভারলেস ব্যবহার এবং আরও কিছু উদাহরণ সম্পর্কে পড়ুন [Go serverless for your IoT needs Azure blog post](https://azure.microsoft.com/blog/go-serverless-for-your-iot-needs/?WT.mc_id=academic-17441-jabenn)।
+* Azure Functions সম্পর্কে আরও জানুন [Azure Functions YouTube channel](https://www.youtube.com/c/AzureFunctions)-এ।
+
+## অ্যাসাইনমেন্ট
+
+[ম্যানুয়াল রিলে নিয়ন্ত্রণ যোগ করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md b/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md
new file mode 100644
index 00000000..a4565298
--- /dev/null
+++ b/translations/bn/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md
@@ -0,0 +1,70 @@
+
+# ম্যানুয়াল রিলে নিয়ন্ত্রণ যোগ করুন
+
+## নির্দেশাবলী
+
+সার্ভারলেস কোড বিভিন্ন উপায়ে ট্রিগার হতে পারে, যার মধ্যে HTTP অনুরোধও অন্তর্ভুক্ত। আপনি HTTP ট্রিগার ব্যবহার করে আপনার রিলে নিয়ন্ত্রণে একটি ম্যানুয়াল ওভাররাইড যোগ করতে পারেন, যা কাউকে ওয়েব অনুরোধের মাধ্যমে রিলে চালু বা বন্ধ করার সুযোগ দেয়।
+
+এই অ্যাসাইনমেন্টের জন্য, আপনাকে আপনার Functions App-এ দুটি HTTP ট্রিগার যোগ করতে হবে, যা রিলে চালু এবং বন্ধ করবে। এই পাঠে যা শিখেছেন তা পুনরায় ব্যবহার করে ডিভাইসে কমান্ড পাঠানোর জন্য এগুলো ব্যবহার করুন।
+
+কিছু পরামর্শ:
+
+* আপনি নিম্নলিখিত কমান্ড ব্যবহার করে আপনার বিদ্যমান Functions App-এ একটি HTTP ট্রিগার যোগ করতে পারেন:
+
+ ```sh
+ func new --name --template "HTTP trigger"
+ ```
+
+ ``-এর জায়গায় আপনার HTTP ট্রিগারের নাম দিন। যেমন `relay_on` এবং `relay_off` ব্যবহার করুন।
+
+* HTTP ট্রিগারে অ্যাক্সেস নিয়ন্ত্রণ থাকতে পারে। ডিফল্টভাবে, এগুলো চালানোর জন্য URL-এর সাথে একটি ফাংশন-নির্দিষ্ট API কী পাস করতে হয়। এই অ্যাসাইনমেন্টের জন্য, আপনি এই সীমাবদ্ধতা সরিয়ে ফেলতে পারেন যাতে যে কেউ ফাংশনটি চালাতে পারে। এটি করতে, HTTP ট্রিগারের জন্য `function.json` ফাইলের `authLevel` সেটিং নিম্নলিখিতভাবে আপডেট করুন:
+
+ ```json
+ "authLevel": "anonymous"
+ ```
+
+ > 💁 এই অ্যাক্সেস নিয়ন্ত্রণ সম্পর্কে আরও জানতে, [Function access keys ডকুমেন্টেশন](https://docs.microsoft.com/azure/azure-functions/functions-bindings-http-webhook-trigger?WT.mc_id=academic-17441-jabenn#authorization-keys) পড়ুন।
+
+* HTTP ট্রিগার ডিফল্টভাবে GET এবং POST অনুরোধ সমর্থন করে। এর মানে আপনি এগুলো আপনার ওয়েব ব্রাউজার ব্যবহার করে কল করতে পারেন - ওয়েব ব্রাউজার GET অনুরোধ করে।
+
+ যখন আপনি আপনার Functions App লোকালভাবে চালান, তখন আপনি ট্রিগারের URL দেখতে পাবেন:
+
+ ```output
+ Functions:
+
+ relay_off: [GET,POST] http://localhost:7071/api/relay_off
+
+ relay_on: [GET,POST] http://localhost:7071/api/relay_on
+
+ iot-hub-trigger: eventHubTrigger
+ ```
+
+ URLটি আপনার ব্রাউজারে পেস্ট করুন এবং `return` চাপুন, অথবা টার্মিনাল উইন্ডোতে VS Code-এ লিঙ্কে `Ctrl+click` করুন (macOS-এ `Cmd+click`) এটি আপনার ডিফল্ট ব্রাউজারে খুলতে। এটি ট্রিগারটি চালাবে।
+
+ > 💁 লক্ষ্য করুন যে URL-এ `/api` রয়েছে - HTTP ট্রিগার ডিফল্টভাবে `api` সাবডোমেইনে থাকে।
+
+* যখন আপনি Functions App ডিপ্লয় করবেন, তখন HTTP ট্রিগারের URL হবে:
+
+ `https://.azurewebsites.net/api/`
+
+ যেখানে `` আপনার Functions App-এর নাম এবং `` আপনার ট্রিগারের নাম।
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| HTTP ট্রিগার তৈরি | রিলে চালু এবং বন্ধ করার জন্য যথাযথ নাম সহ ২টি ট্রিগার তৈরি করা হয়েছে | যথাযথ নাম সহ একটি ট্রিগার তৈরি করা হয়েছে | কোনো ট্রিগার তৈরি করতে ব্যর্থ |
+| HTTP ট্রিগার থেকে রিলে নিয়ন্ত্রণ | উভয় ট্রিগার IoT Hub-এর সাথে সংযুক্ত করতে এবং রিলে সঠিকভাবে নিয়ন্ত্রণ করতে সক্ষম হয়েছে | একটি ট্রিগার IoT Hub-এর সাথে সংযুক্ত করতে এবং রিলে সঠিকভাবে নিয়ন্ত্রণ করতে সক্ষম হয়েছে | ট্রিগারগুলো IoT Hub-এর সাথে সংযুক্ত করতে ব্যর্থ |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/README.md
new file mode 100644
index 00000000..2c2d40fe
--- /dev/null
+++ b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/README.md
@@ -0,0 +1,181 @@
+
+# আপনার গাছকে সুরক্ষিত রাখুন
+
+
+
+> স্কেচনোট করেছেন [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/19)
+
+## ভূমিকা
+
+গত কয়েকটি পাঠে আপনি একটি মাটি পর্যবেক্ষণকারী IoT ডিভাইস তৈরি করেছেন এবং এটি ক্লাউডের সাথে সংযুক্ত করেছেন। কিন্তু যদি প্রতিদ্বন্দ্বী কৃষকের হয়ে কাজ করা হ্যাকাররা আপনার IoT ডিভাইসগুলোর নিয়ন্ত্রণ নিয়ে নেয়? যদি তারা উচ্চ মাটির আর্দ্রতার পাঠায় এমন তথ্য পাঠায় যাতে আপনার গাছ কখনোই পানি না পায়, অথবা আপনার সেচ ব্যবস্থা সব সময় চালু রাখে, যার ফলে গাছ অতিরিক্ত পানিতে মারা যায় এবং আপনার প্রচুর পানির খরচ হয়?
+
+এই পাঠে আপনি IoT ডিভাইস সুরক্ষিত করার বিষয়ে শিখবেন। যেহেতু এটি এই প্রকল্পের শেষ পাঠ, আপনি ক্লাউড রিসোর্স পরিষ্কার করার পদ্ধতিও শিখবেন, যা সম্ভাব্য খরচ কমাতে সাহায্য করবে।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [কেন IoT ডিভাইস সুরক্ষিত করা প্রয়োজন?](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [ক্রিপ্টোগ্রাফি](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [আপনার IoT ডিভাইস সুরক্ষিত করুন](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [একটি X.509 সার্টিফিকেট তৈরি এবং ব্যবহার করুন](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+
+> 🗑 এটি এই প্রকল্পের শেষ পাঠ, তাই এই পাঠ এবং অ্যাসাইনমেন্ট শেষ করার পর, আপনার ক্লাউড পরিষেবাগুলো পরিষ্কার করতে ভুলবেন না। অ্যাসাইনমেন্ট সম্পন্ন করার জন্য পরিষেবাগুলো প্রয়োজন হবে, তাই প্রথমে এটি সম্পন্ন করুন।
+>
+> প্রয়োজনে নির্দেশনার জন্য [আপনার প্রকল্প পরিষ্কার করার গাইড](../../../clean-up.md) দেখুন।
+
+## কেন IoT ডিভাইস সুরক্ষিত করা প্রয়োজন?
+
+IoT নিরাপত্তা নিশ্চিত করে যে শুধুমাত্র প্রত্যাশিত ডিভাইসগুলো আপনার ক্লাউড IoT পরিষেবার সাথে সংযুক্ত হতে পারে এবং টেলিমেট্রি পাঠাতে পারে, এবং শুধুমাত্র আপনার ক্লাউড পরিষেবা ডিভাইসগুলোতে কমান্ড পাঠাতে পারে। IoT ডেটা ব্যক্তিগত হতে পারে, যেমন চিকিৎসা বা ব্যক্তিগত তথ্য, তাই আপনার পুরো অ্যাপ্লিকেশনকে এই ডেটা ফাঁস হওয়া থেকে রক্ষা করার জন্য নিরাপত্তা বিবেচনা করতে হবে।
+
+যদি আপনার IoT অ্যাপ্লিকেশন সুরক্ষিত না হয়, তাহলে বিভিন্ন ঝুঁকি রয়েছে:
+
+* একটি ভুয়া ডিভাইস ভুল ডেটা পাঠাতে পারে, যার ফলে আপনার অ্যাপ্লিকেশন ভুল প্রতিক্রিয়া জানাতে পারে। উদাহরণস্বরূপ, তারা ক্রমাগত উচ্চ মাটির আর্দ্রতার তথ্য পাঠাতে পারে, যার ফলে আপনার সেচ ব্যবস্থা কখনো চালু হবে না এবং আপনার গাছ পানির অভাবে মারা যাবে।
+* অননুমোদিত ব্যবহারকারীরা IoT ডিভাইস থেকে ডেটা পড়তে পারে, যার মধ্যে ব্যক্তিগত বা ব্যবসায়িক গুরুত্বপূর্ণ তথ্য থাকতে পারে।
+* হ্যাকাররা ডিভাইস বা সংযুক্ত হার্ডওয়্যারের ক্ষতি করতে পারে এমনভাবে ডিভাইস নিয়ন্ত্রণের জন্য কমান্ড পাঠাতে পারে।
+* IoT ডিভাইসে সংযোগ করে, হ্যাকাররা অতিরিক্ত নেটওয়ার্কে প্রবেশ করতে পারে এবং ব্যক্তিগত সিস্টেমে অ্যাক্সেস পেতে পারে।
+* দূষিত ব্যবহারকারীরা ব্যক্তিগত ডেটা অ্যাক্সেস করতে পারে এবং এটি ব্ল্যাকমেইলের জন্য ব্যবহার করতে পারে।
+
+এগুলো বাস্তব জীবনের পরিস্থিতি এবং প্রায়ই ঘটে। পূর্ববর্তী পাঠে কিছু উদাহরণ দেওয়া হয়েছিল, তবে এখানে আরও কিছু উদাহরণ রয়েছে:
+
+* ২০১৮ সালে, হ্যাকাররা একটি মাছের ট্যাংকের থার্মোস্ট্যাটের ওপেন ওয়াইফাই অ্যাক্সেস পয়েন্ট ব্যবহার করে একটি ক্যাসিনোর নেটওয়ার্কে প্রবেশ করে ডেটা চুরি করেছিল। [The Hacker News - ক্যাসিনো হ্যাকড হয় ইন্টারনেট-সংযুক্ত মাছের ট্যাংকের থার্মোমিটারের মাধ্যমে](https://thehackernews.com/2018/04/iot-hacking-thermometer.html)
+* ২০১৬ সালে, মিরাই বটনেট একটি ডিনায়াল অফ সার্ভিস আক্রমণ চালায় Dyn-এর বিরুদ্ধে, যা একটি ইন্টারনেট পরিষেবা প্রদানকারী, এবং ইন্টারনেটের বড় অংশগুলো বন্ধ করে দেয়। এই বটনেট ম্যালওয়্যার ব্যবহার করে IoT ডিভাইস যেমন DVR এবং ক্যামেরা সংযুক্ত করেছিল যেগুলো ডিফল্ট ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করত। [The Guardian - ডিডিওএস আক্রমণ যা ইন্টারনেটকে ব্যাহত করেছিল, এটি ইতিহাসের বৃহত্তম ছিল, বিশেষজ্ঞরা বলেন](https://www.theguardian.com/technology/2016/oct/26/ddos-attack-dyn-mirai-botnet)
+* স্পাইরাল টয়স তাদের CloudPets সংযুক্ত খেলনার ব্যবহারকারীদের একটি ডেটাবেস ইন্টারনেটে প্রকাশ্যে উপলব্ধ রেখেছিল। [Troy Hunt - CloudPets টেডি বিয়ার থেকে সংযুক্ত ডেটা ফাঁস এবং মুক্তিপণ দাবি করা হয়েছিল, শিশুদের ভয়েস বার্তা প্রকাশ করে](https://www.troyhunt.com/data-from-connected-cloudpets-teddy-bears-leaked-and-ransomed-exposing-kids-voice-messages/)।
+* স্ট্রাভা দৌড়বিদদের ট্যাগ করেছিল যাদের আপনি অতিক্রম করেছেন এবং তাদের রুট দেখিয়েছিল, যা অপরিচিতদের কার্যত আপনার বাসস্থান দেখতে দিত। [Kim Komando - ফিটনেস অ্যাপ একজন অপরিচিত ব্যক্তিকে সরাসরি আপনার বাড়িতে নিয়ে যেতে পারে — এই সেটিং পরিবর্তন করুন](https://www.komando.com/security-privacy/strava-fitness-app-privacy/755349/)।
+
+✅ গবেষণা করুন: IoT হ্যাক এবং IoT ডেটা লঙ্ঘনের আরও উদাহরণ অনুসন্ধান করুন, বিশেষ করে ইন্টারনেট সংযুক্ত টুথব্রাশ বা ওজন মাপার যন্ত্রের মতো ব্যক্তিগত আইটেমের ক্ষেত্রে। এই হ্যাকগুলো ভুক্তভোগী বা গ্রাহকদের উপর কী প্রভাব ফেলতে পারে তা নিয়ে ভাবুন।
+
+> 💁 নিরাপত্তা একটি বিশাল বিষয়, এবং এই পাঠে শুধুমাত্র ক্লাউডের সাথে ডিভাইস সংযোগের মৌলিক বিষয়গুলো নিয়ে আলোচনা করা হবে। অন্যান্য বিষয় যেমন ডেটা পরিবর্তনের পর্যবেক্ষণ, ডিভাইস হ্যাকিং, বা ডিভাইস কনফিগারেশনের পরিবর্তন এখানে আলোচনা করা হবে না। IoT হ্যাকিং এতটাই বড় হুমকি যে [Azure Defender for IoT](https://azure.microsoft.com/services/azure-defender-for-iot/?WT.mc_id=academic-17441-jabenn)-এর মতো সরঞ্জাম তৈরি করা হয়েছে। এই সরঞ্জামগুলো আপনার কম্পিউটারে থাকা অ্যান্টি-ভাইরাস এবং নিরাপত্তা সরঞ্জামের মতো, তবে ছোট, কম শক্তিশালী IoT ডিভাইসের জন্য ডিজাইন করা।
+
+## ক্রিপ্টোগ্রাফি
+
+যখন একটি ডিভাইস IoT পরিষেবার সাথে সংযুক্ত হয়, এটি নিজেকে শনাক্ত করার জন্য একটি আইডি ব্যবহার করে। সমস্যাটি হলো এই আইডি ক্লোন করা যেতে পারে - একজন হ্যাকার একটি ক্ষতিকারক ডিভাইস সেট আপ করতে পারে যা একটি আসল ডিভাইসের মতো একই আইডি ব্যবহার করে কিন্তু ভুয়া ডেটা পাঠায়।
+
+
+
+এর সমাধান হলো প্রেরিত ডেটাকে একটি স্ক্র্যাম্বলড ফরম্যাটে রূপান্তর করা, যা ডিভাইস এবং ক্লাউডের মধ্যে একটি গোপন মান ব্যবহার করে। এই প্রক্রিয়াকে *এনক্রিপশন* বলা হয়, এবং ডেটা এনক্রিপ্ট করতে ব্যবহৃত মানটিকে *এনক্রিপশন কী* বলা হয়।
+
+
+
+ক্লাউড পরিষেবা তখন ডেটাকে আবার পাঠযোগ্য ফরম্যাটে রূপান্তর করতে পারে, একটি প্রক্রিয়া ব্যবহার করে যাকে *ডিক্রিপশন* বলা হয়, যা হয় একই এনক্রিপশন কী বা একটি *ডিক্রিপশন কী* ব্যবহার করে। যদি এনক্রিপ্টেড বার্তাটি কী দ্বারা ডিক্রিপ্ট করা না যায়, তবে ডিভাইসটি হ্যাক হয়েছে এবং বার্তাটি প্রত্যাখ্যান করা হয়।
+
+এনক্রিপশন এবং ডিক্রিপশনের কৌশলকে *ক্রিপ্টোগ্রাফি* বলা হয়।
+
+### প্রাচীন ক্রিপ্টোগ্রাফি
+
+প্রাচীনতম ক্রিপ্টোগ্রাফির ধরন ছিল প্রতিস্থাপন সাইফার, যা ৩,৫০০ বছর আগের। প্রতিস্থাপন সাইফার একটি অক্ষরকে অন্য অক্ষর দিয়ে প্রতিস্থাপন করে। উদাহরণস্বরূপ, [Caesar cipher](https://wikipedia.org/wiki/Caesar_cipher) একটি নির্ধারিত পরিমাণে বর্ণমালাকে সরিয়ে দেয়, যেখানে শুধুমাত্র এনক্রিপ্টেড বার্তার প্রেরক এবং প্রাপকেরা জানে কতগুলো অক্ষর সরাতে হবে।
+
+[বাকি অংশ অনুবাদ করা হবে...]
+💁 আপনার IoT ডিভাইসের মেয়াদ শেষ হওয়ার সময়ের কারণে সঠিক সময় জানা প্রয়োজন, যা সাধারণত একটি [NTP](https://wikipedia.org/wiki/Network_Time_Protocol) সার্ভার থেকে পড়া হয়। যদি সময় সঠিক না হয়, সংযোগ ব্যর্থ হবে।
+সংযোগের পরে, ডিভাইস থেকে IoT Hub-এ বা IoT Hub থেকে ডিভাইসে পাঠানো সমস্ত ডেটা শেয়ার করা অ্যাক্সেস কী দিয়ে এনক্রিপ্ট করা হবে।
+
+✅ আপনার কী মনে হয় যদি একাধিক ডিভাইস একই সংযোগ স্ট্রিং শেয়ার করে তাহলে কী হবে?
+
+> 💁 কোডে এই কী সংরক্ষণ করা খারাপ নিরাপত্তা অভ্যাস। যদি কোনো হ্যাকার আপনার সোর্স কোড পায়, তারা আপনার কী পেতে পারে। কোড প্রকাশ করার সময় এটি আরও কঠিন হয়ে যায় কারণ প্রতিটি ডিভাইসের জন্য আপডেট করা কী দিয়ে পুনরায় কম্পাইল করতে হয়। এই কীটি হার্ডওয়্যার সিকিউরিটি মডিউল থেকে লোড করা ভালো - IoT ডিভাইসে থাকা একটি চিপ যা এনক্রিপ্ট করা মান সংরক্ষণ করে যা আপনার কোড দ্বারা পড়া যায়।
+>
+> IoT শেখার সময় কোডে কী রাখা সহজ হয়, যেমন আপনি আগের পাঠে করেছিলেন, তবে আপনাকে নিশ্চিত করতে হবে যে এই কীটি পাবলিক সোর্স কোড কন্ট্রোলে চেক করা হয় না।
+
+ডিভাইসগুলির ২টি কী এবং ২টি সংশ্লিষ্ট সংযোগ স্ট্রিং থাকে। এটি আপনাকে কী ঘোরানোর অনুমতি দেয় - অর্থাৎ প্রথমটি ক্ষতিগ্রস্ত হলে একটি কী থেকে অন্যটিতে স্যুইচ করা এবং প্রথম কীটি পুনরায় তৈরি করা।
+
+### X.509 সার্টিফিকেট
+
+যখন আপনি পাবলিক/প্রাইভেট কী জোড়া দিয়ে অসমমিত এনক্রিপশন ব্যবহার করছেন, তখন আপনাকে আপনার পাবলিক কীটি তাদের কাছে প্রদান করতে হবে যারা আপনাকে ডেটা পাঠাতে চায়। সমস্যা হলো, কীভাবে আপনার কী গ্রহণকারী নিশ্চিত হবে যে এটি আসলেই আপনার পাবলিক কী, অন্য কেউ আপনার পরিচয় নিয়ে ভান করছে না? একটি কী প্রদান করার পরিবর্তে, আপনি একটি সার্টিফিকেট প্রদান করতে পারেন যা আপনার পাবলিক কী ধারণ করে এবং একটি বিশ্বস্ত তৃতীয় পক্ষ দ্বারা যাচাই করা হয়েছে, যাকে X.509 সার্টিফিকেট বলা হয়।
+
+X.509 সার্টিফিকেট হলো ডিজিটাল ডকুমেন্ট যা পাবলিক/প্রাইভেট কী জোড়ার পাবলিক কী অংশ ধারণ করে। এগুলি সাধারণত [সার্টিফিকেশন অথরিটি](https://wikipedia.org/wiki/Certificate_authority) (CA) নামে পরিচিত একাধিক বিশ্বস্ত সংস্থা দ্বারা ইস্যু করা হয় এবং CA দ্বারা ডিজিটালভাবে স্বাক্ষরিত হয় যাতে কীটি বৈধ এবং আপনার কাছ থেকে এসেছে তা নির্দেশ করে। আপনি সার্টিফিকেট এবং পাবলিক কীটি বিশ্বাস করেন কারণ আপনি CA-কে বিশ্বাস করেন, যেমন আপনি একটি পাসপোর্ট বা ড্রাইভিং লাইসেন্স বিশ্বাস করবেন কারণ আপনি এটি ইস্যু করা দেশকে বিশ্বাস করেন। সার্টিফিকেটের জন্য অর্থ লাগে, তাই আপনি 'সেলফ-সাইন' করতে পারেন, অর্থাৎ পরীক্ষার উদ্দেশ্যে নিজে একটি সার্টিফিকেট তৈরি করতে পারেন যা আপনি নিজেই স্বাক্ষর করেছেন।
+
+> 💁 প্রোডাকশন রিলিজের জন্য কখনোই সেলফ-সাইন সার্টিফিকেট ব্যবহার করবেন না।
+
+এই সার্টিফিকেটগুলিতে অনেকগুলি ক্ষেত্র থাকে, যার মধ্যে রয়েছে পাবলিক কীটি কার কাছ থেকে এসেছে, CA-এর বিবরণ যিনি এটি ইস্যু করেছেন, এটি কতদিনের জন্য বৈধ, এবং পাবলিক কী নিজেই। একটি সার্টিফিকেট ব্যবহার করার আগে, এটি যাচাই করা ভালো অভ্যাস যে এটি মূল CA দ্বারা স্বাক্ষরিত হয়েছে।
+
+✅ সার্টিফিকেটের ক্ষেত্রগুলির সম্পূর্ণ তালিকা আপনি [Microsoft Understanding X.509 Public Key Certificates টিউটোরিয়াল](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-certificates?WT.mc_id=academic-17441-jabenn#certificate-fields) এ পড়তে পারেন।
+
+X.509 সার্টিফিকেট ব্যবহার করার সময়, প্রেরক এবং প্রাপক উভয়েরই নিজস্ব পাবলিক এবং প্রাইভেট কী থাকবে, পাশাপাশি উভয়েরই X.509 সার্টিফিকেট থাকবে যা পাবলিক কী ধারণ করে। তারা কোনোভাবে X.509 সার্টিফিকেট বিনিময় করে, একে অপরের পাবলিক কী ব্যবহার করে তারা পাঠানো ডেটা এনক্রিপ্ট করে এবং তাদের নিজস্ব প্রাইভেট কী ব্যবহার করে তারা প্রাপ্ত ডেটা ডিক্রিপ্ট করে।
+
+
+
+X.509 সার্টিফিকেট ব্যবহার করার একটি বড় সুবিধা হলো এগুলি ডিভাইসগুলির মধ্যে শেয়ার করা যেতে পারে। আপনি একটি সার্টিফিকেট তৈরি করতে পারেন, এটি IoT Hub-এ আপলোড করতে পারেন এবং এটি আপনার সমস্ত ডিভাইসের জন্য ব্যবহার করতে পারেন। প্রতিটি ডিভাইস তখন শুধুমাত্র প্রাইভেট কীটি জানতে হবে IoT Hub থেকে প্রাপ্ত বার্তাগুলি ডিক্রিপ্ট করার জন্য।
+
+আপনার ডিভাইস IoT Hub-এ পাঠানো বার্তাগুলি এনক্রিপ্ট করতে যে সার্টিফিকেটটি ব্যবহার করে তা Microsoft দ্বারা প্রকাশিত হয়। এটি একই সার্টিফিকেট যা অনেক Azure পরিষেবাগুলি ব্যবহার করে এবং কখনও কখনও SDK-তে অন্তর্ভুক্ত থাকে।
+
+> 💁 মনে রাখবেন, একটি পাবলিক কী ঠিক সেটাই - পাবলিক। Azure পাবলিক কী শুধুমাত্র Azure-এ পাঠানো ডেটা এনক্রিপ্ট করতে ব্যবহার করা যেতে পারে, ডিক্রিপ্ট করতে নয়, তাই এটি সর্বত্র শেয়ার করা যেতে পারে, এমনকি সোর্স কোডেও। উদাহরণস্বরূপ, আপনি এটি [Azure IoT C SDK সোর্স কোড](https://github.com/Azure/azure-iot-sdk-c/blob/master/certs/certs.c) এ দেখতে পারেন।
+
+✅ X.509 সার্টিফিকেট নিয়ে অনেক জটিল শব্দ রয়েছে। আপনি [The layman’s guide to X.509 certificate jargon](https://techcommunity.microsoft.com/t5/internet-of-things/the-layman-s-guide-to-x-509-certificate-jargon/ba-p/2203540?WT.mc_id=academic-17441-jabenn) এ কিছু শব্দের সংজ্ঞা পড়তে পারেন।
+
+## X.509 সার্টিফিকেট তৈরি এবং ব্যবহার করুন
+
+X.509 সার্টিফিকেট তৈরি করার ধাপগুলো হলো:
+
+1. একটি পাবলিক/প্রাইভেট কী জোড়া তৈরি করুন। পাবলিক/প্রাইভেট কী জোড়া তৈরি করার জন্য সবচেয়ে বেশি ব্যবহৃত অ্যালগরিদম হলো [Rivest–Shamir–Adleman](https://wikipedia.org/wiki/RSA_(cryptosystem))(RSA)।
+
+1. পাবলিক কীটি সংশ্লিষ্ট ডেটার সাথে স্বাক্ষরের জন্য জমা দিন, হয় CA দ্বারা, অথবা সেলফ-সাইনিং দ্বারা।
+
+Azure CLI-তে IoT Hub-এ একটি নতুন ডিভাইস আইডেন্টিটি তৈরি করার এবং স্বয়ংক্রিয়ভাবে পাবলিক/প্রাইভেট কী জোড়া তৈরি করার এবং একটি সেলফ-সাইন সার্টিফিকেট তৈরি করার কমান্ড রয়েছে।
+
+> 💁 আপনি যদি Azure CLI ব্যবহার না করে বিস্তারিত ধাপ দেখতে চান, আপনি এটি [Microsoft IoT Hub ডকুমেন্টেশনের Using OpenSSL to create self-signed certificates টিউটোরিয়াল](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-self-sign?WT.mc_id=academic-17441-jabenn) এ খুঁজে পেতে পারেন।
+
+### টাস্ক - X.509 সার্টিফিকেট ব্যবহার করে একটি ডিভাইস আইডেন্টিটি তৈরি করুন
+
+1. নতুন ডিভাইস আইডেন্টিটি নিবন্ধন করতে এবং স্বয়ংক্রিয়ভাবে কী এবং সার্টিফিকেট তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:
+
+ ```sh
+ az iot hub device-identity create --device-id soil-moisture-sensor-x509 \
+ --am x509_thumbprint \
+ --output-dir . \
+ --hub-name
+ ```
+
+ `` এর জায়গায় আপনার IoT Hub-এর নাম দিন।
+
+ এটি `soil-moisture-sensor-x509` নামে একটি ডিভাইস তৈরি করবে যা আপনি আগের পাঠে তৈরি করা ডিভাইস আইডেন্টিটি থেকে আলাদা। এই কমান্ডটি বর্তমান ডিরেক্টরিতে ২টি ফাইল তৈরি করবে:
+
+ * `soil-moisture-sensor-x509-key.pem` - এই ফাইলটি ডিভাইসের প্রাইভেট কী ধারণ করে।
+ * `soil-moisture-sensor-x509-cert.pem` - এটি ডিভাইসের X.509 সার্টিফিকেট ফাইল।
+
+ এই ফাইলগুলো নিরাপদে রাখুন! প্রাইভেট কী ফাইলটি পাবলিক সোর্স কোড কন্ট্রোলে চেক করা উচিত নয়।
+
+### টাস্ক - আপনার ডিভাইস কোডে X.509 সার্টিফিকেট ব্যবহার করুন
+
+X.509 সার্টিফিকেট ব্যবহার করে আপনার IoT ডিভাইসকে ক্লাউডের সাথে সংযুক্ত করার জন্য প্রাসঙ্গিক গাইডটি অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-x509.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-x509.md)
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+Resource Groups এবং IoT Hubs-এর মতো Azure পরিষেবাগুলি তৈরি, পরিচালনা এবং মুছে ফেলার একাধিক উপায় রয়েছে। একটি উপায় হলো [Azure Portal](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) - একটি ওয়েব-ভিত্তিক ইন্টারফেস যা আপনাকে Azure পরিষেবাগুলি পরিচালনা করার জন্য একটি GUI প্রদান করে।
+
+[portal.azure.com](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) এ যান এবং পোর্টালটি অন্বেষণ করুন। দেখুন আপনি পোর্টাল ব্যবহার করে একটি IoT Hub তৈরি করতে পারেন কিনা, তারপর এটি মুছে ফেলুন।
+
+**ইঙ্গিত** - পোর্টাল ব্যবহার করে পরিষেবা তৈরি করার সময়, আপনাকে আগে থেকে একটি Resource Group তৈরি করতে হবে না, পরিষেবা তৈরি করার সময় একটি তৈরি করা যেতে পারে। কাজ শেষ হলে এটি মুছে ফেলতে ভুলবেন না!
+
+Azure Portal সম্পর্কে প্রচুর ডকুমেন্টেশন, টিউটোরিয়াল এবং গাইড আপনি [Azure portal documentation](https://docs.microsoft.com/azure/azure-portal/?WT.mc_id=academic-17441-jabenn) এ খুঁজে পেতে পারেন।
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/20)
+
+## পর্যালোচনা এবং স্ব-অধ্যয়ন
+
+* [History of cryptography page on Wikipedia](https://wikipedia.org/wiki/History_of_cryptography) এ ক্রিপ্টোগ্রাফির ইতিহাস সম্পর্কে পড়ুন।
+* [X.509 page on Wikipedia](https://wikipedia.org/wiki/X.509) এ X.509 সার্টিফিকেট সম্পর্কে পড়ুন।
+
+## অ্যাসাইনমেন্ট
+
+[নতুন IoT ডিভাইস তৈরি করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/6-keep-your-plant-secure/assignment.md b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/assignment.md
new file mode 100644
index 00000000..5ef46cee
--- /dev/null
+++ b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/assignment.md
@@ -0,0 +1,29 @@
+
+# একটি নতুন IoT ডিভাইস তৈরি করুন
+
+## নির্দেশাবলী
+
+গত ৬টি পাঠে আপনি ডিজিটাল কৃষি এবং IoT ডিভাইস ব্যবহার করে কীভাবে ডেটা সংগ্রহ করা যায়, উদ্ভিদের বৃদ্ধি পূর্বাভাস দেওয়া যায় এবং মাটির আর্দ্রতার রিডিংয়ের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে পানি সরবরাহ করা যায় তা শিখেছেন।
+
+আপনার শেখা জ্ঞান ব্যবহার করে একটি নতুন IoT ডিভাইস তৈরি করুন, যেখানে একটি সেন্সর এবং অ্যাকচুয়েটর থাকবে। টেলিমেট্রি ডেটা একটি IoT হাবে পাঠান এবং সেটি ব্যবহার করে সার্ভারলেস কোডের মাধ্যমে অ্যাকচুয়েটর নিয়ন্ত্রণ করুন। আপনি এই প্রকল্প বা পূর্ববর্তী প্রকল্পে ব্যবহৃত সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করতে পারেন, অথবা যদি আপনার কাছে অন্য হার্ডওয়্যার থাকে তবে নতুন কিছু চেষ্টা করুন।
+
+## মূল্যায়ন মানদণ্ড
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করে একটি IoT ডিভাইস কোড করা | একটি IoT ডিভাইস কোড করা হয়েছে যা সেন্সর এবং অ্যাকচুয়েটরের সাথে কাজ করে | একটি IoT ডিভাইস কোড করা হয়েছে যা সেন্সর বা অ্যাকচুয়েটরের সাথে কাজ করে | একটি IoT ডিভাইস কোড করতে ব্যর্থ হয়েছে যা সেন্সর বা অ্যাকচুয়েটর ব্যবহার করে |
+| IoT ডিভাইসকে IoT হাবের সাথে সংযুক্ত করা | একটি IoT হাব স্থাপন করতে এবং টেলিমেট্রি পাঠাতে ও কমান্ড গ্রহণ করতে সক্ষম হয়েছে | একটি IoT হাব স্থাপন করতে এবং টেলিমেট্রি পাঠাতে বা কমান্ড গ্রহণ করতে সক্ষম হয়েছে | একটি IoT হাব স্থাপন করতে এবং IoT ডিভাইস থেকে যোগাযোগ করতে ব্যর্থ হয়েছে |
+| সার্ভারলেস কোড ব্যবহার করে অ্যাকচুয়েটর নিয়ন্ত্রণ করা | টেলিমেট্রি ইভেন্ট দ্বারা ট্রিগার হওয়া একটি Azure Function স্থাপন করে ডিভাইস নিয়ন্ত্রণ করতে সক্ষম হয়েছে | টেলিমেট্রি ইভেন্ট দ্বারা ট্রিগার হওয়া একটি Azure Function স্থাপন করতে সক্ষম হয়েছে কিন্তু অ্যাকচুয়েটর নিয়ন্ত্রণ করতে ব্যর্থ হয়েছে | একটি Azure Function স্থাপন করতে ব্যর্থ হয়েছে |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের ক্ষেত্রে, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md
new file mode 100644
index 00000000..5850a905
--- /dev/null
+++ b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md
@@ -0,0 +1,71 @@
+
+# আপনার ডিভাইস কোডে X.509 সার্টিফিকেট ব্যবহার করুন - ভার্চুয়াল IoT হার্ডওয়্যার এবং রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইস বা রাস্পবেরি পাই-কে X.509 সার্টিফিকেট ব্যবহার করে IoT হাবে সংযুক্ত করবেন।
+
+## আপনার ডিভাইসকে IoT হাবে সংযুক্ত করুন
+
+পরবর্তী ধাপে, X.509 সার্টিফিকেট ব্যবহার করে আপনার ডিভাইসকে IoT হাবে সংযুক্ত করুন।
+
+### কাজ - IoT হাবে সংযুক্ত করুন
+
+1. আপনার IoT ডিভাইস কোডের ফোল্ডারে কী এবং সার্টিফিকেট ফাইলগুলো কপি করুন। যদি আপনি VS Code Remote SSH এর মাধ্যমে রাস্পবেরি পাই ব্যবহার করেন এবং আপনার পিসি বা ম্যাক-এ কী তৈরি করেন, তাহলে ফাইলগুলোকে VS Code-এর এক্সপ্লোরারে ড্র্যাগ এবং ড্রপ করে কপি করতে পারেন।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. X.509 সার্টিফিকেট ব্যবহার করে সংযোগ করতে, IoT হাবের হোস্ট নাম এবং X.509 সার্টিফিকেট প্রয়োজন হবে। ডিভাইস ক্লায়েন্ট তৈরি করার আগে নিচের কোড যোগ করে একটি ভেরিয়েবল তৈরি করুন যাতে হোস্ট নাম থাকে:
+
+ ```python
+ host_name = ""
+ ```
+
+ ``-এর জায়গায় আপনার IoT হাবের হোস্ট নাম বসান। এটি `connection_string`-এর `HostName` সেকশন থেকে পাওয়া যাবে। এটি আপনার IoT হাবের নাম হবে, যা `.azure-devices.net` দিয়ে শেষ হবে।
+
+1. এর নিচে একটি ভেরিয়েবল ঘোষণা করুন যাতে ডিভাইস আইডি থাকবে:
+
+ ```python
+ device_id = "soil-moisture-sensor-x509"
+ ```
+
+1. X.509 ফাইলগুলো ধারণ করার জন্য `X509` ক্লাসের একটি ইনস্ট্যান্স প্রয়োজন হবে। `azure.iot.device` মডিউল থেকে আমদানি করা ক্লাসগুলোর তালিকায় `X509` যোগ করুন:
+
+ ```python
+ from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
+ ```
+
+1. আপনার সার্টিফিকেট এবং কী ফাইল ব্যবহার করে একটি `X509` ক্লাস ইনস্ট্যান্স তৈরি করুন। এটি `host_name` ঘোষণার নিচে যোগ করুন:
+
+ ```python
+ x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
+ ```
+
+ এটি `soil-moisture-sensor-x509-cert.pem` এবং `soil-moisture-sensor-x509-key.pem` ফাইলগুলো ব্যবহার করে `X509` ক্লাস তৈরি করবে, যা আগে তৈরি করা হয়েছিল।
+
+1. `connection_string` থেকে `device_client` তৈরি করার লাইনটি নিচের কোড দিয়ে প্রতিস্থাপন করুন:
+
+ ```python
+ device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
+ ```
+
+ এটি একটি সংযোগ স্ট্রিংয়ের পরিবর্তে X.509 সার্টিফিকেট ব্যবহার করে সংযোগ করবে।
+
+1. `connection_string` ভেরিয়েবল সহ লাইনটি মুছে ফেলুন।
+
+1. আপনার কোড চালান। IoT হাবে পাঠানো বার্তাগুলো পর্যবেক্ষণ করুন এবং আগের মতো সরাসরি মেথড অনুরোধ পাঠান। আপনি দেখতে পাবেন ডিভাইসটি সংযুক্ত হচ্ছে এবং মাটির আর্দ্রতার রিডিং পাঠাচ্ছে, পাশাপাশি সরাসরি মেথড অনুরোধ গ্রহণ করছে।
+
+> 💁 আপনি এই কোডটি [code/pi](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/pi) বা [code/virtual-device](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার মাটির আর্দ্রতা সেন্সর প্রোগ্রামটি X.509 সার্টিফিকেট ব্যবহার করে আপনার IoT হাবে সংযুক্ত হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md
new file mode 100644
index 00000000..d0c5290c
--- /dev/null
+++ b/translations/bn/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md
@@ -0,0 +1,17 @@
+
+# আপনার ডিভাইস কোডে X.509 সার্টিফিকেট ব্যবহার করুন - Wio Terminal
+
+এই লেখার সময়, Azure Arduino SDK X.509 সার্টিফিকেট সমর্থন করে না। যদি আপনি X.509 সার্টিফিকেট নিয়ে পরীক্ষা করতে চান, তাহলে আপনি [Python SDK ব্যবহার করে ভার্চুয়াল IoT ডিভাইস নির্দেশনা](single-board-computer-x509.md)-এর দিকে রেফার করতে পারেন।
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/README.md b/translations/bn/3-transport/README.md
new file mode 100644
index 00000000..09ad2728
--- /dev/null
+++ b/translations/bn/3-transport/README.md
@@ -0,0 +1,38 @@
+
+# খামার থেকে কারখানায় পরিবহন - খাদ্য সরবরাহ ট্র্যাক করতে IoT ব্যবহার
+
+অনেক কৃষক খাদ্য উৎপাদন করেন বিক্রির জন্য - হয় তারা বাণিজ্যিক কৃষক যারা তাদের উৎপাদিত সবকিছু বিক্রি করেন, অথবা তারা জীবিকা নির্বাহকারী কৃষক যারা তাদের অতিরিক্ত উৎপাদন বিক্রি করেন প্রয়োজনীয় জিনিসপত্র কেনার জন্য। কোনো না কোনোভাবে খাদ্যটি খামার থেকে ভোক্তার কাছে পৌঁছাতে হয়, এবং এটি সাধারণত খামার থেকে হাব বা প্রক্রিয়াকরণ কারখানা, তারপর দোকানে বাল্ক পরিবহনের উপর নির্ভর করে। উদাহরণস্বরূপ, একটি টমেটো চাষি টমেটো সংগ্রহ করবেন, সেগুলো বাক্সে প্যাক করবেন, বাক্সগুলো ট্রাকে লোড করবেন এবং তারপর প্রক্রিয়াকরণ কারখানায় সরবরাহ করবেন। টমেটোগুলো তারপর বাছাই করা হবে, এবং সেখান থেকে প্রক্রিয়াজাত খাদ্য, খুচরা বিক্রয়, বা রেস্তোরাঁয় ব্যবহারের জন্য ভোক্তাদের কাছে সরবরাহ করা হবে।
+
+IoT এই সরবরাহ চেইনকে সাহায্য করতে পারে পরিবহনকালে খাদ্য ট্র্যাক করে - নিশ্চিত করে যে চালকরা সঠিক পথে যাচ্ছেন, যানবাহনের অবস্থান পর্যবেক্ষণ করে, এবং যানবাহন পৌঁছানোর সময় সতর্কতা পাঠিয়ে যাতে খাদ্য যত দ্রুত সম্ভব আনলোড করে প্রক্রিয়াকরণের জন্য প্রস্তুত করা যায়।
+
+> 🎓 একটি *সরবরাহ চেইন* হলো কিছু তৈরি এবং সরবরাহ করার কার্যক্রমের ধারাবাহিকতা। উদাহরণস্বরূপ, টমেটো চাষে এটি বীজ, মাটি, সার এবং পানি সরবরাহ, টমেটো চাষ, টমেটো একটি কেন্দ্রীয় হাবে সরবরাহ, সেগুলো একটি সুপারমার্কেটের স্থানীয় হাবে পরিবহন, তারপর পৃথক সুপারমার্কেটে পরিবহন, প্রদর্শনের জন্য রাখা, তারপর ভোক্তার কাছে বিক্রি এবং বাড়িতে নিয়ে গিয়ে খাওয়ার প্রক্রিয়া পর্যন্ত অন্তর্ভুক্ত। প্রতিটি ধাপ একটি চেইনের লিঙ্কের মতো।
+
+> 🎓 সরবরাহ চেইনের পরিবহন অংশটি *লজিস্টিকস* নামে পরিচিত।
+
+এই ৪টি পাঠে, আপনি শিখবেন কীভাবে ইন্টারনেট অফ থিংস ব্যবহার করে সরবরাহ চেইন উন্নত করা যায়, খাদ্য একটি (ভার্চুয়াল) ট্রাকে লোড করার সময় তা পর্যবেক্ষণ করে, যা তার গন্তব্যে যাওয়ার সময় ট্র্যাক করা হয়। আপনি GPS ট্র্যাকিং, GPS ডেটা সংরক্ষণ এবং ভিজুয়ালাইজ করার পদ্ধতি, এবং একটি ট্রাক তার গন্তব্যে পৌঁছালে সতর্কতা পাওয়ার পদ্ধতি সম্পর্কে শিখবেন।
+
+> 💁 এই পাঠগুলোতে কিছু ক্লাউড রিসোর্স ব্যবহার করা হবে। যদি আপনি এই প্রকল্পের সব পাঠ সম্পন্ন না করেন, নিশ্চিত করুন যে আপনি [আপনার প্রকল্প পরিষ্কার করুন](../clean-up.md)।
+
+## বিষয়সমূহ
+
+1. [অবস্থান ট্র্যাকিং](lessons/1-location-tracking/README.md)
+1. [অবস্থান ডেটা সংরক্ষণ](lessons/2-store-location-data/README.md)
+1. [অবস্থান ডেটা ভিজুয়ালাইজ করা](lessons/3-visualize-location-data/README.md)
+1. [জিওফেন্স](lessons/4-geofences/README.md)
+
+## কৃতজ্ঞতা
+
+সব পাঠ ♥️ দিয়ে লিখেছেন [Jen Looper](https://github.com/jlooper) এবং [Jim Bennett](https://GitHub.com/JimBobBennett)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/README.md b/translations/bn/3-transport/lessons/1-location-tracking/README.md
new file mode 100644
index 00000000..fdc31cd5
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/README.md
@@ -0,0 +1,216 @@
+
+# অবস্থান ট্র্যাকিং
+
+
+
+> স্কেচনোট: [নিত্যা নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+## প্রাক-লেকচার কুইজ
+
+[প্রাক-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/21)
+
+## ভূমিকা
+
+কৃষকের কাছ থেকে ভোক্তার কাছে খাবার পৌঁছানোর প্রধান প্রক্রিয়াটি involves পণ্য বাক্সগুলো ট্রাক, জাহাজ, বিমান বা অন্যান্য বাণিজ্যিক পরিবহন যানবাহনে লোড করা এবং খাবার কোথাও সরবরাহ করা - হয় সরাসরি গ্রাহকের কাছে, অথবা প্রক্রিয়াকরণের জন্য একটি কেন্দ্রীয় হাব বা গুদামে। ফার্ম থেকে ভোক্তা পর্যন্ত পুরো প্রক্রিয়াটি *সরবরাহ শৃঙ্খল* নামে পরিচিত। অ্যারিজোনা স্টেট ইউনিভার্সিটির W. P. Carey School of Business-এর নিচের ভিডিওটি সরবরাহ শৃঙ্খল এবং এটি কীভাবে পরিচালিত হয় তা আরও বিস্তারিতভাবে আলোচনা করে।
+
+[](https://www.youtube.com/watch?v=Mi1QBxVjZAw)
+
+> 🎥 উপরের ছবিতে ক্লিক করে ভিডিওটি দেখুন
+
+IoT ডিভাইস যোগ করলে আপনার সরবরাহ শৃঙ্খলকে ব্যাপকভাবে উন্নত করা যায়, যা আপনাকে আইটেমগুলোর অবস্থান পরিচালনা করতে, পরিবহন এবং পণ্য পরিচালনা আরও ভালোভাবে পরিকল্পনা করতে এবং সমস্যার দ্রুত প্রতিক্রিয়া জানাতে সাহায্য করে।
+
+যখন ট্রাকের মতো যানবাহনের একটি বহর পরিচালনা করা হয়, তখন একটি নির্দিষ্ট সময়ে প্রতিটি যানবাহন কোথায় আছে তা জানা সহায়ক। যানবাহনগুলোতে GPS সেন্সর লাগানো যেতে পারে যা তাদের অবস্থান IoT সিস্টেমে পাঠায়, মালিকদের তাদের অবস্থান নির্ধারণ করতে, তারা কোন রুটে গেছে তা দেখতে এবং তারা গন্তব্যে কখন পৌঁছাবে তা জানতে সাহায্য করে। বেশিরভাগ যানবাহন WiFi কভারেজের বাইরে কাজ করে, তাই তারা এই ধরনের ডেটা পাঠানোর জন্য সেলুলার নেটওয়ার্ক ব্যবহার করে। কখনও কখনও GPS সেন্সর আরও জটিল IoT ডিভাইসের মধ্যে অন্তর্ভুক্ত থাকে, যেমন ইলেকট্রনিক লগ বই। এই ডিভাইসগুলো ট্রাক কতক্ষণ চলাচল করছে তা ট্র্যাক করে যাতে চালকরা কাজের সময় সংক্রান্ত স্থানীয় আইন মেনে চলছে কিনা তা নিশ্চিত করা যায়।
+
+এই পাঠে আপনি একটি গ্লোবাল পজিশনিং সিস্টেম (GPS) সেন্সর ব্যবহার করে যানবাহনের অবস্থান ট্র্যাক করতে শিখবেন।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [সংযুক্ত যানবাহন](../../../../../3-transport/lessons/1-location-tracking)
+* [ভৌগোলিক স্থানাঙ্ক](../../../../../3-transport/lessons/1-location-tracking)
+* [গ্লোবাল পজিশনিং সিস্টেম (GPS)](../../../../../3-transport/lessons/1-location-tracking)
+* [GPS সেন্সর ডেটা পড়া](../../../../../3-transport/lessons/1-location-tracking)
+* [NMEA GPS ডেটা](../../../../../3-transport/lessons/1-location-tracking)
+* [GPS সেন্সর ডেটা ডিকোড করা](../../../../../3-transport/lessons/1-location-tracking)
+
+## সংযুক্ত যানবাহন
+
+IoT পণ্য পরিবহনের পদ্ধতিকে রূপান্তরিত করছে *সংযুক্ত যানবাহন* তৈরি করে। এই যানবাহনগুলো কেন্দ্রীয় IT সিস্টেমের সাথে সংযুক্ত থাকে এবং তাদের অবস্থান ও অন্যান্য সেন্সর ডেটা রিপোর্ট করে। সংযুক্ত যানবাহনের একটি বহর থাকার অনেক সুবিধা রয়েছে:
+
+* অবস্থান ট্র্যাকিং - আপনি যেকোনো সময় একটি যানবাহন কোথায় আছে তা নির্ধারণ করতে পারেন, যা আপনাকে সাহায্য করে:
+
+ * যখন একটি যানবাহন গন্তব্যে পৌঁছানোর কাছাকাছি থাকে তখন ক্রু প্রস্তুত করার জন্য সতর্কতা পেতে
+ * চুরি হওয়া যানবাহন খুঁজে পেতে
+ * অবস্থান এবং রুট ডেটা ট্রাফিক সমস্যার সাথে একত্রিত করে যাত্রাপথে যানবাহন পুনঃরুট করতে
+ * কর মেনে চলতে। কিছু দেশে যানবাহনগুলোকে পাবলিক রাস্তায় চালিত মাইলেজের জন্য কর দিতে হয় (যেমন [নিউজিল্যান্ডের RUC](https://www.nzta.govt.nz/vehicles/licensing-rego/road-user-charges/)), তাই একটি যানবাহন পাবলিক রাস্তায় বনাম প্রাইভেট রাস্তায় আছে তা জানা কর গণনা সহজ করে তোলে।
+ * ব্রেকডাউনের ক্ষেত্রে রক্ষণাবেক্ষণ ক্রু কোথায় পাঠাতে হবে তা জানতে
+
+* চালকের টেলিমেট্রি - চালকরা গতি সীমা মেনে চলছে কিনা, উপযুক্ত গতিতে বাঁক নিচ্ছে কিনা, দ্রুত এবং দক্ষতার সাথে ব্রেক করছে কিনা এবং নিরাপদে গাড়ি চালাচ্ছে কিনা তা নিশ্চিত করতে সক্ষম হওয়া। সংযুক্ত যানবাহনে ক্যামেরাও থাকতে পারে যা ঘটনাগুলো রেকর্ড করে। এটি বীমার সাথে সংযুক্ত হতে পারে, ভালো চালকদের জন্য হ্রাসকৃত হার প্রদান করে।
+
+* চালকের সময়ের সাথে সামঞ্জস্যতা - চালকরা তাদের আইনত অনুমোদিত সময়ের মধ্যে গাড়ি চালাচ্ছে কিনা তা নিশ্চিত করা, যা ইঞ্জিন চালু এবং বন্ধ করার সময়ের উপর ভিত্তি করে।
+
+এই সুবিধাগুলো একত্রিত করা যেতে পারে - উদাহরণস্বরূপ, চালকের সময়ের সাথে সামঞ্জস্যতা এবং অবস্থান ট্র্যাকিং একত্রিত করে চালকদের পুনঃরুট করা যদি তারা তাদের অনুমোদিত ড্রাইভিং সময়ের মধ্যে গন্তব্যে পৌঁছাতে না পারে। এগুলো যানবাহন-নির্দিষ্ট অন্যান্য টেলিমেট্রির সাথে একত্রিত করা যেতে পারে, যেমন তাপমাত্রা-নিয়ন্ত্রিত ট্রাকের তাপমাত্রার ডেটা, যা যানবাহনগুলোকে পুনঃরুট করতে সাহায্য করে যদি তাদের বর্তমান রুটে পণ্যগুলো তাপমাত্রা বজায় রাখতে না পারে।
+
+> 🎓 লজিস্টিকস হলো একটি স্থান থেকে অন্য স্থানে পণ্য পরিবহনের প্রক্রিয়া, যেমন একটি ফার্ম থেকে একটি সুপারমার্কেটে এক বা একাধিক গুদামের মাধ্যমে। একজন কৃষক টমেটোর বাক্স প্যাক করেন যা একটি ট্রাকে লোড করা হয়, একটি কেন্দ্রীয় গুদামে সরবরাহ করা হয় এবং একটি দ্বিতীয় ট্রাকে রাখা হয় যা বিভিন্ন ধরনের পণ্যের মিশ্রণ থাকতে পারে, যা পরে একটি সুপারমার্কেটে সরবরাহ করা হয়।
+
+যানবাহন ট্র্যাকিংয়ের মূল উপাদান হলো GPS - সেন্সর যা পৃথিবীর যেকোনো স্থানে তাদের অবস্থান নির্ধারণ করতে পারে। এই পাঠে আপনি একটি GPS সেন্সর ব্যবহার করতে শিখবেন, শুরুতে পৃথিবীতে অবস্থান নির্ধারণ করার পদ্ধতি সম্পর্কে শিখে।
+
+## ভৌগোলিক স্থানাঙ্ক
+
+ভৌগোলিক স্থানাঙ্ক পৃথিবীর পৃষ্ঠে পয়েন্ট নির্ধারণ করতে ব্যবহৃত হয়, যেমন একটি কম্পিউটার স্ক্রিনে একটি পিক্সেলে আঁকতে বা ক্রস স্টিচে সেলাইয়ের অবস্থান নির্ধারণ করতে স্থানাঙ্ক ব্যবহার করা হয়। একটি একক পয়েন্টের জন্য, আপনার একটি স্থানাঙ্ক জোড়া থাকে। উদাহরণস্বরূপ, যুক্তরাষ্ট্রের ওয়াশিংটনের রেডমন্ডে মাইক্রোসফট ক্যাম্পাসের অবস্থান 47.6423109, -122.1390293।
+
+### অক্ষাংশ এবং দ্রাঘিমাংশ
+
+পৃথিবী একটি গোলক - একটি ত্রিমাত্রিক বৃত্ত। এই কারণে, পয়েন্টগুলো ৩৬০ ডিগ্রিতে ভাগ করে নির্ধারণ করা হয়, যা বৃত্তের জ্যামিতির মতো। অক্ষাংশ উত্তর থেকে দক্ষিণে ডিগ্রির সংখ্যা পরিমাপ করে, দ্রাঘিমাংশ পূর্ব থেকে পশ্চিমে ডিগ্রির সংখ্যা পরিমাপ করে।
+
+> 💁 বৃত্তগুলো কেন ৩৬০ ডিগ্রিতে ভাগ করা হয় তার আসল কারণ কেউ জানে না। [উইকিপিডিয়ার ডিগ্রি (কোণ) পৃষ্ঠা](https://wikipedia.org/wiki/Degree_(angle)) সম্ভাব্য কারণগুলো কভার করে।
+
+
+
+অক্ষাংশ নিরক্ষরেখার সমান্তরালভাবে পৃথিবীকে বৃত্তাকার রেখায় ভাগ করে পরিমাপ করা হয়, যা উত্তর এবং দক্ষিণ গোলার্ধকে প্রতিটি ৯০°-এ ভাগ করে। নিরক্ষরেখা ০°-এ, উত্তর মেরু ৯০°-এ, যা ৯০° উত্তর নামেও পরিচিত, এবং দক্ষিণ মেরু -৯০°-এ, বা ৯০° দক্ষিণ।
+
+দ্রাঘিমাংশ পূর্ব এবং পশ্চিমে পরিমাপ করা ডিগ্রির সংখ্যা। দ্রাঘিমাংশের ০° উৎসকে *প্রাইম মেরিডিয়ান* বলা হয়, যা ১৮৮৪ সালে সংজ্ঞায়িত করা হয়েছিল একটি রেখা হিসেবে যা উত্তর মেরু থেকে দক্ষিণ মেরু পর্যন্ত যায় এবং [গ্রিনউইচ, ইংল্যান্ডের ব্রিটিশ রয়্যাল অবজারভেটরি](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich)-এর মধ্য দিয়ে যায়।
+
+
+
+> 🎓 একটি মেরিডিয়ান হলো একটি কাল্পনিক সরলরেখা যা উত্তর মেরু থেকে দক্ষিণ মেরু পর্যন্ত যায় এবং একটি অর্ধবৃত্ত তৈরি করে।
+
+একটি পয়েন্টের দ্রাঘিমাংশ পরিমাপ করতে, আপনি প্রাইম মেরিডিয়ান থেকে নিরক্ষরেখা বরাবর একটি মেরিডিয়ান পর্যন্ত ডিগ্রির সংখ্যা পরিমাপ করেন যা সেই পয়েন্টের মধ্য দিয়ে যায়। দ্রাঘিমাংশ -১৮০°, বা ১৮০° পশ্চিম থেকে, প্রাইম মেরিডিয়ানে ০°, এবং ১৮০°, বা ১৮০° পূর্ব পর্যন্ত যায়। ১৮০° এবং -১৮০° একই পয়েন্টকে নির্দেশ করে, যা অ্যান্টিমেরিডিয়ান বা ১৮০তম মেরিডিয়ান নামে পরিচিত। এটি প্রাইম মেরিডিয়ানের বিপরীত দিকে পৃথিবীর একটি মেরিডিয়ান।
+
+> 💁 অ্যান্টিমেরিডিয়ানকে আন্তর্জাতিক তারিখ রেখার সাথে গুলিয়ে ফেলবেন না, যা প্রায় একই অবস্থানে থাকে, কিন্তু এটি একটি সরলরেখা নয় এবং ভূ-রাজনৈতিক সীমানার চারপাশে মানিয়ে চলে।
+
+✅ কিছু গবেষণা করুন: আপনার বর্তমান অবস্থানের অক্ষাংশ এবং দ্রাঘিমাংশ খুঁজে বের করার চেষ্টা করুন।
+
+### ডিগ্রি, মিনিট এবং সেকেন্ড বনাম দশমিক ডিগ্রি
+
+প্রথাগতভাবে, অক্ষাংশ এবং দ্রাঘিমাংশের ডিগ্রির পরিমাপ সেক্সাজেসিমাল সংখ্যা পদ্ধতি বা বেস-৬০ ব্যবহার করে করা হতো, যা প্রাচীন ব্যাবিলনীয়রা ব্যবহার করত যারা প্রথম সময় এবং দূরত্বের পরিমাপ ও রেকর্ড করেছিল। আপনি হয়তো প্রতিদিন সেক্সাজেসিমাল ব্যবহার করেন, তা বুঝতে না পেরেও - ঘন্টাকে ৬০ মিনিটে এবং মিনিটকে ৬০ সেকেন্ডে ভাগ করে।
+
+দ্রাঘিমাংশ এবং অক্ষাংশ ডিগ্রি, মিনিট এবং সেকেন্ডে পরিমাপ করা হয়, যেখানে এক মিনিট হলো ১/৬০ ডিগ্রি, এবং ১ সেকেন্ড হলো ১/৬০ মিনিট।
+
+উদাহরণস্বরূপ, নিরক্ষরেখায়:
+
+* ১° অক্ষাংশ হলো **১১১.৩ কিলোমিটার**
+* ১ মিনিট অক্ষাংশ হলো ১১১.৩/৬০ = **১.৮৫৫ কিলোমিটার**
+* ১ সেকেন্ড অক্ষাংশ হলো ১.৮৫৫/৬০ = **০.০৩১ কিলোমিটার**
+
+মিনিটের প্রতীক হলো একটি একক কোটেশন চিহ্ন, সেকেন্ডের জন্য এটি একটি দ্বিগুণ কোটেশন চিহ্ন। উদাহরণস্বরূপ, ২ ডিগ্রি, ১৭ মিনিট, এবং ৪৩ সেকেন্ড লেখা হবে ২°১৭'৪৩"। সেকেন্ডের অংশগুলো দশমিক হিসেবে দেওয়া হয়, যেমন অর্ধ সেকেন্ড হলো ০°০'০.৫"।
+
+কম্পিউটারগুলো বেস-৬০-এ কাজ করে না, তাই এই স্থানাঙ্কগুলো GPS ডেটায় বেশিরভাগ কম্পিউটার সিস্টেমে দশমিক ডিগ্রি হিসেবে দেওয়া হয়। উদাহরণস্বরূপ, ২°১৭'৪৩" হলো ২.২৯৫২৭৭। ডিগ্রি প্রতীক সাধারণত বাদ দেওয়া হয়।
+
+একটি পয়েন্টের স্থানাঙ্ক সবসময় `অক্ষাংশ, দ্রাঘিমাংশ` হিসেবে দেওয়া হয়, তাই আগের উদাহরণে মাইক্রোসফট ক্যাম্পাসের ৪৭.৬৪২৩১০৯,-১২২.১১৭১৯৮ এর:
+
+* অক্ষাংশ হলো ৪৭.৬৪২৩১০৯ (নিরক্ষরেখার উত্তরে ৪৭.৬৪২৩১০৯ ডিগ্রি)
+* দ্রাঘিমাংশ হলো -১২২.১৩৯০২৯৩ (প্রাইম মেরিডিয়ানের পশ্চিমে ১২২.১৩৯০২৯৩ ডিগ্রি)।
+
+
+
+## গ্লোবাল পজিশনিং সিস্টেম (GPS)
+
+GPS সিস্টেমগুলো পৃথিবীর চারপাশে প্রদক্ষিণরত একাধিক স্যাটেলাইট ব্যবহার করে আপনার অবস্থান নির্ধারণ করে। আপনি হয়তো GPS সিস্টেম ব্যবহার করেছেন তা না জেনেই - আপনার ফোনে অ্যাপল ম্যাপস বা গুগল ম্যাপসের মতো একটি ম্যাপিং অ্যাপে আপনার অবস্থান খুঁজে পেতে, বা উবার বা লিফটের মতো রাইড হেইলিং অ্যাপে আপনার রাইড কোথায় আছে তা দেখতে, অথবা আপনার গাড়িতে স্যাটেলাইট নেভিগেশন (স্যাট-নাভ) ব্যবহার করার সময়।
+
+> 🎓 'স্যাটেলাইট নেভিগেশন'-এর স্যাটেলাইটগুলো হলো GPS স্যাটেলাইট!
+
+GPS সিস্টেমগুলো কাজ করে একাধিক স্যাটেলাইটের মাধ্যমে, যা প্রতিটি স্যাটেলাইটের বর্তমান অবস্থান এবং একটি সঠিক টাইমস্ট্যাম্প সহ একটি সংকেত পাঠায়। এই সংকেতগুলো রেডিও তরঙ্গের মাধ্যমে পাঠানো হয় এবং GPS সেন্সরের একটি অ্যান্টেনা দ্বারা সনাক্ত করা হয়। একটি GPS সেন্সর এই সংকেতগুলো সনাক্ত করে এবং বর্তমান সময় ব্যবহার করে সংকেতটি স্যাটেলাইট থেকে সেন্সরে পৌঁছাতে কত সময় লেগেছে তা পরিমাপ করে। যেহেতু রেডিও তরঙ্গের গতি ধ্রুবক, GPS সেন্সরটি প্রেরিত টাইমস্ট্যাম্প ব্যবহার করে সেন্সরটি স্যাটেলাইট থেকে কত দূরে তা নির্ধারণ করতে পারে। কমপক্ষে ৩টি স্যাটেলাইটের ডেটা এবং প্রেরিত অবস্থানগুলো একত্রিত করে, GPS সেন্সরটি পৃথিবীতে তার অবস্থান নির্ধারণ করতে সক্ষম হয়।
+
+> 💁 GPS সেন্সরগুলো রেডিও তরঙ্গ সনাক্ত করতে অ্যান্টেনার প্রয়োজন। ট্রাক এবং গাড়িতে অন-বোর্ড GPS সহ নির্মিত অ্যান্টেনাগুলো সাধারণত উইন্ডশিল্ড বা ছাদে স্থাপন করা হয় যাতে ভালো সংকেত পাওয়া যায়। আপনি যদি একটি আলাদা GPS সিস্টেম ব্যবহার করেন, যেমন একটি স্মার্টফোন বা একটি IoT ডিভাইস, তবে আপনাকে নিশ্চিত করতে হবে যে GPS সিস্টেম বা ফোনে নির্মিত অ্যান্টেনার আকাশের একটি পরিষ্কার দৃশ্য আছে, যেমন উইন্ডশিল্ডে স্থাপন করা।
+
+
+
+GPS স্যাটেলাইটগুলো পৃথিবীর চারপাশে প্রদক্ষিণ করছে, সেন্সরের উপরে একটি নির্দিষ্ট স্থানে নয়, তাই অবস্থান ডেটায় সমুদ্রপৃষ্ঠ থেকে উচ্চতাও অন্তর্ভুক্ত থাকে, পাশাপাশি অক্ষাংশ এবং দ্রাঘিমাংশ।
+
+GPS-এ আগে মার্কিন সামরিক বাহিনী দ্বারা আরোপিত নির্ভুলতার সীমাবদ্ধতা ছিল, যা নির্ভুলতাকে প্রায় ৫ মিটারে সীমাবদ্ধ করেছিল। ২০০০ সালে এই সীমাবদ্ধতা সরিয়ে দেওয়া হয়, যা ৩০ সেন্টিমিটারের নির্ভুলতা সম্ভব করে। তবে, সংকেতের হস্তক্ষেপের কারণে এই নির্ভুলতা সবসময় পাওয়া সম্ভব নয়।
+
+✅ যদি আপনার একটি স্মার্টফোন থাকে, ম্যাপিং অ্যাপটি চালু করুন এবং দেখুন আপনার অবস্থান কতটা নির্ভুল। আপনার ফোনের একাধিক স্যাটেলাইট সনাক্ত করতে কিছুটা সময় লাগতে পারে যাতে আরও নির্ভুল অবস্থান পাওয়া যায়।
+💁 স্যাটেলাইটগুলিতে অত্যন্ত সঠিক পরমাণু ঘড়ি থাকে, কিন্তু এগুলি প্রতিদিন ৩৮ মাইক্রোসেকেন্ড (০.০০০০০৩৮ সেকেন্ড) পিছিয়ে যায় পৃথিবীর পরমাণু ঘড়ির তুলনায়। এর কারণ, আইনস্টাইনের বিশেষ এবং সাধারণ আপেক্ষিকতার তত্ত্ব অনুযায়ী, গতি বাড়ার সাথে সাথে সময় ধীর হয়ে যায় - স্যাটেলাইটগুলি পৃথিবীর ঘূর্ণনের চেয়ে দ্রুত গতিতে চলাচল করে। এই সময়ের পরিবর্তন বিশেষ এবং সাধারণ আপেক্ষিকতার পূর্বাভাস প্রমাণ করতে ব্যবহৃত হয়েছে এবং GPS সিস্টেমের নকশায় এটি সমন্বয় করতে হয়। আক্ষরিক অর্থে, GPS স্যাটেলাইটে সময় ধীর গতিতে চলে।
+GPS সিস্টেমগুলি বিভিন্ন দেশ এবং রাজনৈতিক ইউনিয়ন দ্বারা তৈরি এবং স্থাপন করা হয়েছে, যার মধ্যে রয়েছে যুক্তরাষ্ট্র, রাশিয়া, জাপান, ভারত, ইউরোপীয় ইউনিয়ন এবং চীন। আধুনিক GPS সেন্সর বেশিরভাগ সিস্টেমের সাথে সংযোগ স্থাপন করতে পারে, যা দ্রুত এবং আরও সঠিক অবস্থান নির্ধারণে সহায়তা করে।
+
+> 🎓 প্রতিটি স্থাপনার স্যাটেলাইটের দলকে "কনস্টেলেশন" বলা হয়।
+
+## GPS সেন্সর ডেটা পড়ুন
+
+বেশিরভাগ GPS সেন্সর UART এর মাধ্যমে GPS ডেটা পাঠায়।
+
+> ⚠️ UART [প্রজেক্ট ২, পাঠ ২](../../../2-farm/lessons/2-detect-soil-moisture/README.md#universal-asynchronous-receiver-transmitter-uart)-এ আলোচনা করা হয়েছে। প্রয়োজন হলে সেই পাঠে ফিরে যান।
+
+আপনার IoT ডিভাইসে GPS সেন্সর ব্যবহার করে GPS ডেটা সংগ্রহ করতে পারেন।
+
+### কাজ - GPS সেন্সর সংযুক্ত করুন এবং GPS ডেটা পড়ুন
+
+আপনার IoT ডিভাইস ব্যবহার করে GPS ডেটা পড়ার জন্য প্রাসঙ্গিক গাইড অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-gps-sensor.md)
+* [Single-board computer - Raspberry Pi](pi-gps-sensor.md)
+* [Single-board computer - Virtual device](virtual-device-gps-sensor.md)
+
+## NMEA GPS ডেটা
+
+আপনার কোড চালানোর সময়, আউটপুটে কিছু এলোমেলো লেখা দেখতে পারেন। এটি আসলে স্ট্যান্ডার্ড GPS ডেটা, এবং এর প্রতিটি অংশের অর্থ রয়েছে।
+
+GPS সেন্সর NMEA বার্তা ব্যবহার করে ডেটা পাঠায়, যা NMEA 0183 স্ট্যান্ডার্ড অনুসরণ করে। NMEA হলো [National Marine Electronics Association](https://www.nmea.org)-এর সংক্ষিপ্ত রূপ, একটি মার্কিন-ভিত্তিক বাণিজ্য সংগঠন যা সামুদ্রিক ইলেকট্রনিক্সের মধ্যে যোগাযোগের মান নির্ধারণ করে।
+
+> 💁 এই স্ট্যান্ডার্ডটি মালিকানাধীন এবং এর মূল্য কমপক্ষে US$2,000, তবে এর যথেষ্ট তথ্য জনসাধারণের ডোমেইনে রয়েছে, যা বেশিরভাগ স্ট্যান্ডার্ডকে রিভার্স ইঞ্জিনিয়ারিং করে ওপেন সোর্স এবং অন্যান্য অ-বাণিজ্যিক কোডে ব্যবহার করা যায়।
+
+এই বার্তাগুলি টেক্সট-ভিত্তিক। প্রতিটি বার্তা একটি *বাক্য* নিয়ে গঠিত যা `$` চিহ্ন দিয়ে শুরু হয়, তারপরে বার্তার উৎস নির্দেশ করতে ২টি অক্ষর (যেমন GP যুক্তরাষ্ট্রের GPS সিস্টেমের জন্য, GN রাশিয়ার GLONASS সিস্টেমের জন্য), এবং বার্তার প্রকার নির্দেশ করতে ৩টি অক্ষর। বার্তার বাকি অংশ কমা দিয়ে পৃথক করা ক্ষেত্র নিয়ে গঠিত, যা একটি নতুন লাইন চিহ্ন দিয়ে শেষ হয়।
+
+কিছু বার্তার প্রকার যা পাওয়া যেতে পারে:
+
+| প্রকার | বিবরণ |
+| ---- | ----------- |
+| GGA | GPS ফিক্স ডেটা, যার মধ্যে GPS সেন্সরের অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতা, এবং এই ফিক্স গণনা করতে দৃশ্যমান স্যাটেলাইটের সংখ্যা অন্তর্ভুক্ত। |
+| ZDA | বর্তমান তারিখ এবং সময়, স্থানীয় সময় অঞ্চল সহ |
+| GSV | দৃশ্যমান স্যাটেলাইটের বিবরণ - যা GPS সেন্সর সিগন্যাল সনাক্ত করতে পারে |
+
+> 💁 GPS ডেটায় টাইম স্ট্যাম্প অন্তর্ভুক্ত থাকে, তাই আপনার IoT ডিভাইস GPS সেন্সর থেকে সময় পেতে পারে, NTP সার্ভার বা অভ্যন্তরীণ রিয়েল-টাইম ক্লকের উপর নির্ভর না করে।
+
+GGA বার্তায় বর্তমান অবস্থান `(dd)dmm.mmmm` ফরম্যাটে থাকে, সাথে একটি একক অক্ষর যা দিক নির্দেশ করে। ফরম্যাটে `d` হলো ডিগ্রি, `m` হলো মিনিট, এবং সেকেন্ড মিনিটের দশমিক হিসেবে থাকে। উদাহরণস্বরূপ, 2°17'43" হবে 217.716666667 - 2 ডিগ্রি, 17.716666667 মিনিট।
+
+দিক নির্দেশক অক্ষর `N` বা `S` হতে পারে অক্ষাংশের জন্য, উত্তর বা দক্ষিণ নির্দেশ করতে, এবং `E` বা `W` হতে পারে দ্রাঘিমাংশের জন্য, পূর্ব বা পশ্চিম নির্দেশ করতে। উদাহরণস্বরূপ, 2°17'43" অক্ষাংশের দিক নির্দেশক হবে `N`, -2°17'43" হলে দিক নির্দেশক হবে `S`।
+
+উদাহরণ - NMEA বাক্য `$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67`
+
+* অক্ষাংশ অংশটি হলো `4738.538654,N`, যা দশমিক ডিগ্রিতে 47.6423109-এ রূপান্তরিত হয়। `4738.538654` হলো 47.6423109, এবং দিক হলো `N` (উত্তর), তাই এটি একটি ধনাত্মক অক্ষাংশ।
+
+* দ্রাঘিমাংশ অংশটি হলো `12208.341758,W`, যা দশমিক ডিগ্রিতে -122.1390293-এ রূপান্তরিত হয়। `12208.341758` হলো 122.1390293°, এবং দিক হলো `W` (পশ্চিম), তাই এটি একটি ঋণাত্মক দ্রাঘিমাংশ।
+
+## GPS সেন্সর ডেটা ডিকোড করুন
+
+কাঁচা NMEA ডেটা ব্যবহার করার পরিবর্তে, এটি একটি আরও কার্যকর ফরম্যাটে ডিকোড করা ভালো। কাঁচা NMEA বার্তা থেকে কার্যকর ডেটা বের করতে সাহায্য করার জন্য একাধিক ওপেন-সোর্স লাইব্রেরি রয়েছে।
+
+### কাজ - GPS সেন্সর ডেটা ডিকোড করুন
+
+আপনার IoT ডিভাইস ব্যবহার করে GPS সেন্সর ডেটা ডিকোড করার জন্য প্রাসঙ্গিক গাইড অনুসরণ করুন:
+
+* [Arduino - Wio Terminal](wio-terminal-gps-decode.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-gps-decode.md)
+
+---
+
+## 🚀 চ্যালেঞ্জ
+
+নিজস্ব NMEA ডিকোডার লিখুন! তৃতীয় পক্ষের লাইব্রেরির উপর নির্ভর না করে, NMEA বাক্য থেকে অক্ষাংশ এবং দ্রাঘিমাংশ বের করার জন্য কি আপনি নিজস্ব ডিকোডার লিখতে পারেন?
+
+## পোস্ট-লেকচার কুইজ
+
+[পোস্ট-লেকচার কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/22)
+
+## পর্যালোচনা এবং স্ব-অধ্যয়ন
+
+* Geospatial Coordinates সম্পর্কে আরও পড়ুন [Geographic coordinate system page on Wikipedia](https://wikipedia.org/wiki/Geographic_coordinate_system)।
+* পৃথিবী ছাড়া অন্যান্য গ্রহের Prime Meridians সম্পর্কে পড়ুন [Prime Meridian page on Wikipedia](https://wikipedia.org/wiki/Prime_meridian#Prime_meridian_on_other_planetary_bodies)।
+* EU, জাপান, রাশিয়া, ভারত এবং যুক্তরাষ্ট্রের মতো বিভিন্ন বিশ্ব সরকার এবং রাজনৈতিক ইউনিয়নের বিভিন্ন GPS সিস্টেম সম্পর্কে গবেষণা করুন।
+
+## অ্যাসাইনমেন্ট
+
+[অন্যান্য GPS ডেটা তদন্ত করুন](assignment.md)
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/assignment.md b/translations/bn/3-transport/lessons/1-location-tracking/assignment.md
new file mode 100644
index 00000000..d183be9a
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/assignment.md
@@ -0,0 +1,29 @@
+
+# অন্যান্য GPS ডেটা অনুসন্ধান করুন
+
+## নির্দেশাবলী
+
+আপনার GPS সেন্সর থেকে আসা NMEA বাক্যগুলোতে অবস্থান ছাড়াও অন্যান্য ডেটা থাকে। এই অতিরিক্ত ডেটা অনুসন্ধান করুন এবং এটি আপনার IoT ডিভাইসে ব্যবহার করুন।
+
+উদাহরণস্বরূপ - আপনি কি বর্তমান তারিখ এবং সময় পেতে পারেন? যদি আপনি একটি মাইক্রোকন্ট্রোলার ব্যবহার করেন, তাহলে কি GPS ডেটা ব্যবহার করে ঘড়ি সেট করতে পারেন, ঠিক যেমন আপনি আগের প্রকল্পে NTP সিগন্যাল ব্যবহার করে সেট করেছিলেন? আপনি কি উচ্চতা (সমুদ্রপৃষ্ঠের উপরে আপনার উচ্চতা) বা আপনার বর্তমান গতি পেতে পারেন?
+
+যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে আপনি কিছু ডেটা পেতে পারেন NMEA বাক্য পাঠিয়ে, যা [nmeagen.org](https://www.nmeagen.org) টুল ব্যবহার করে তৈরি করা হয়েছে।
+
+## মূল্যায়ন
+
+| মানদণ্ড | চমৎকার | পর্যাপ্ত | উন্নতির প্রয়োজন |
+| -------- | --------- | -------- | ----------------- |
+| আরও GPS ডেটা সংগ্রহ | আরও GPS ডেটা সংগ্রহ এবং তা টেলিমেট্রি হিসেবে বা IoT ডিভাইস সেটআপে ব্যবহার করতে সক্ষম | আরও GPS ডেটা সংগ্রহ করতে সক্ষম, কিন্তু তা ব্যবহার করতে অক্ষম | আরও GPS ডেটা সংগ্রহ করতে অক্ষম |
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/bn/3-transport/lessons/1-location-tracking/pi-gps-sensor.md
new file mode 100644
index 00000000..1e3f737a
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/pi-gps-sensor.md
@@ -0,0 +1,193 @@
+
+# র্যাস্পবেরি পাই দিয়ে জিপিএস ডেটা পড়া
+
+এই পাঠের এই অংশে, আপনি আপনার র্যাস্পবেরি পাই-তে একটি জিপিএস সেন্সর যোগ করবেন এবং এর থেকে ডেটা পড়বেন।
+
+## হার্ডওয়্যার
+
+র্যাস্পবেরি পাই-এর জন্য একটি জিপিএস সেন্সর প্রয়োজন।
+
+আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [Grove GPS Air530 সেন্সর](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html)। এই সেন্সরটি একাধিক জিপিএস সিস্টেমের সাথে সংযোগ স্থাপন করতে পারে দ্রুত এবং সঠিক ডেটা পাওয়ার জন্য। সেন্সরটি দুটি অংশে বিভক্ত - সেন্সরের মূল ইলেকট্রনিক্স এবং একটি বাহ্যিক অ্যান্টেনা যা স্যাটেলাইট থেকে রেডিও তরঙ্গ গ্রহণ করতে একটি পাতলা তারের মাধ্যমে সংযুক্ত।
+
+এটি একটি UART সেন্সর, তাই এটি UART এর মাধ্যমে জিপিএস ডেটা পাঠায়।
+
+## জিপিএস সেন্সর সংযুক্ত করা
+
+Grove GPS সেন্সরটি র্যাস্পবেরি পাই-এর সাথে সংযুক্ত করা যেতে পারে।
+
+### কাজ - জিপিএস সেন্সর সংযুক্ত করা
+
+জিপিএস সেন্সরটি সংযুক্ত করুন।
+
+
+
+1. Grove কেবলের এক প্রান্ত জিপিএস সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. র্যাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base হ্যাটের **UART** চিহ্নিত সকেটে সংযুক্ত করুন। এই সকেটটি মাঝের সারিতে, SD কার্ড স্লটের কাছাকাছি পাশে অবস্থিত, USB পোর্ট এবং ইথারনেট সকেটের বিপরীত দিকে।
+
+ 
+
+1. জিপিএস সেন্সরটি এমনভাবে স্থাপন করুন যাতে সংযুক্ত অ্যান্টেনাটি আকাশের দিকে দৃশ্যমান থাকে - আদর্শভাবে একটি খোলা জানালার পাশে বা বাইরে। অ্যান্টেনার সামনে কিছু না থাকলে পরিষ্কার সংকেত পাওয়া সহজ হয়।
+
+## জিপিএস সেন্সর প্রোগ্রাম করা
+
+এখন র্যাস্পবেরি পাই-কে সংযুক্ত জিপিএস সেন্সরটি ব্যবহার করার জন্য প্রোগ্রাম করা যাবে।
+
+### কাজ - জিপিএস সেন্সর প্রোগ্রাম করা
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. পাই চালু করুন এবং এটি বুট হওয়া পর্যন্ত অপেক্ষা করুন।
+
+1. জিপিএস সেন্সরের দুটি LED আছে - একটি নীল LED যা ডেটা প্রেরণের সময় ঝলকায় এবং একটি সবুজ LED যা স্যাটেলাইট থেকে ডেটা গ্রহণ করার সময় প্রতি সেকেন্ডে একবার ঝলকায়। পাই চালু করার সময় নিশ্চিত করুন যে নীল LED ঝলকাচ্ছে। কয়েক মিনিট পর সবুজ LED ঝলকাবে - যদি না ঝলকায়, তাহলে অ্যান্টেনার অবস্থান পরিবর্তন করতে হতে পারে।
+
+1. VS Code চালু করুন, হয় সরাসরি পাই-তে অথবা Remote SSH এক্সটেনশনের মাধ্যমে সংযোগ করে।
+
+ > ⚠️ [পাঠ ১-এ VS Code সেটআপ এবং চালু করার নির্দেশনা প্রয়োজন হলে এখানে দেখুন](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)।
+
+1. নতুন র্যাস্পবেরি পাই মডেলগুলোর ক্ষেত্রে, যেগুলো ব্লুটুথ সমর্থন করে, ব্লুটুথের জন্য ব্যবহৃত সিরিয়াল পোর্ট এবং Grove UART পোর্টের জন্য ব্যবহৃত সিরিয়াল পোর্টের মধ্যে একটি দ্বন্দ্ব রয়েছে। এটি ঠিক করতে নিম্নলিখিত কাজগুলো করুন:
+
+ 1. VS Code টার্মিনাল থেকে, `nano` ব্যবহার করে `/boot/config.txt` ফাইলটি সম্পাদনা করুন। এটি একটি বিল্ট-ইন টার্মিনাল টেক্সট এডিটর। কমান্ডটি হলো:
+
+ ```sh
+ sudo nano /boot/config.txt
+ ```
+
+ > এই ফাইলটি VS Code দিয়ে সম্পাদনা করা যাবে না কারণ এটি `sudo` অনুমতি, অর্থাৎ উচ্চতর অনুমতি, প্রয়োজন। VS Code এই অনুমতিতে চলে না।
+
+ 1. কার্সর কী ব্যবহার করে ফাইলের শেষে যান। তারপর নিচের কোডটি কপি করে ফাইলের শেষে পেস্ট করুন:
+
+ ```ini
+ dtoverlay=pi3-miniuart-bt
+ dtoverlay=pi3-disable-bt
+ enable_uart=1
+ ```
+
+ আপনার ডিভাইসের জন্য সাধারণ কিবোর্ড শর্টকাট ব্যবহার করে পেস্ট করুন (`Windows, Linux বা Raspberry Pi OS-এ Ctrl+v`, macOS-এ `Cmd+v`)।
+
+ 1. এই ফাইলটি সংরক্ষণ করুন এবং `Ctrl+x` চাপুন। পরিবর্তিত বাফার সংরক্ষণ করতে চাইলে `y` চাপুন, তারপর `/boot/config.txt` ওভাররাইট করতে নিশ্চিত করতে `enter` চাপুন।
+
+ > যদি কোনো ভুল করেন, তাহলে সংরক্ষণ না করেই বেরিয়ে আসুন এবং এই ধাপগুলো পুনরায় করুন।
+
+ 1. `nano` দিয়ে `/boot/cmdline.txt` ফাইলটি সম্পাদনা করুন। কমান্ডটি হলো:
+
+ ```sh
+ sudo nano /boot/cmdline.txt
+ ```
+
+ 1. এই ফাইলে স্পেস দিয়ে পৃথক করা অনেক কী/মান জোড়া রয়েছে। `console` কী-এর জন্য কোনো কী/মান জোড়া থাকলে সেগুলো মুছে ফেলুন। এগুলো সম্ভবত এরকম দেখাবে:
+
+ ```output
+ console=serial0,115200 console=tty1
+ ```
+
+ কার্সর কী ব্যবহার করে এই এন্ট্রিগুলোতে যান এবং `del` বা `backspace` কী ব্যবহার করে মুছে ফেলুন।
+
+ উদাহরণস্বরূপ, যদি আপনার মূল ফাইলটি এরকম দেখায়:
+
+ ```output
+ console=serial0,115200 console=tty1 root=PARTUUID=058e2867-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
+ ```
+
+ তাহলে নতুন সংস্করণটি হবে:
+
+ ```output
+ root=PARTUUID=058e2867-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
+ ```
+
+ 1. উপরের ধাপগুলো অনুসরণ করে এই ফাইলটি সংরক্ষণ করুন এবং `nano` থেকে বেরিয়ে আসুন।
+
+ 1. আপনার পাই রিবুট করুন, তারপর পাই রিবুট হওয়ার পর VS Code-এ পুনরায় সংযোগ করুন।
+
+1. টার্মিনাল থেকে, `pi` ব্যবহারকারীর হোম ডিরেক্টরিতে `gps-sensor` নামে একটি নতুন ফোল্ডার তৈরি করুন। এই ফোল্ডারে `app.py` নামে একটি ফাইল তৈরি করুন।
+
+1. এই ফোল্ডারটি VS Code-এ খুলুন।
+
+1. GPS মডিউলটি সিরিয়াল পোর্টের মাধ্যমে UART ডেটা পাঠায়। Python কোড থেকে সিরিয়াল পোর্টের সাথে যোগাযোগ করতে `pyserial` Pip প্যাকেজটি ইনস্টল করুন:
+
+ ```sh
+ pip3 install pyserial
+ ```
+
+1. আপনার `app.py` ফাইলে নিচের কোডটি যোগ করুন:
+
+ ```python
+ import time
+ import serial
+
+ serial = serial.Serial('/dev/ttyAMA0', 9600, timeout=1)
+ serial.reset_input_buffer()
+ serial.flush()
+
+ def print_gps_data(line):
+ print(line.rstrip())
+
+ while True:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data(line)
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+ এই কোডটি `pyserial` Pip প্যাকেজ থেকে `serial` মডিউলটি ইমপোর্ট করে। এটি `/dev/ttyAMA0` সিরিয়াল পোর্টের সাথে সংযোগ স্থাপন করে - এটি Grove Pi Base Hat-এর UART পোর্টের সিরিয়াল পোর্টের ঠিকানা। এটি এই সিরিয়াল সংযোগ থেকে বিদ্যমান ডেটা মুছে ফেলে।
+
+ এরপর একটি `print_gps_data` নামের ফাংশন সংজ্ঞায়িত করা হয় যা কনসোলে প্রাপ্ত লাইনের ডেটা প্রিন্ট করে।
+
+ এরপর কোডটি অনন্তকাল ধরে লুপ করে, প্রতিটি লুপে সিরিয়াল পোর্ট থেকে যতটা সম্ভব লাইন পড়ে। এটি প্রতিটি লাইনের জন্য `print_gps_data` ফাংশনটি কল করে।
+
+ সমস্ত ডেটা পড়ার পর, লুপটি ১ সেকেন্ডের জন্য ঘুমায়, তারপর আবার চেষ্টা করে।
+
+1. এই কোডটি চালান। আপনি জিপিএস সেন্সরের কাঁচা আউটপুট দেখতে পাবেন, যা এরকম কিছু হতে পারে:
+
+ ```output
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GPGSA,A,1,,,,,,,,,,,,,,,*1E
+ $BDGSA,A,1,,,,,,,,,,,,,,,*0F
+ $GPGSV,1,1,00*79
+ $BDGSV,1,1,00*68
+ ```
+
+ > যদি কোডটি বন্ধ করে পুনরায় চালানোর সময় নিচের যেকোনো ত্রুটি পান, তাহলে আপনার while লুপে একটি `try - except` ব্লক যোগ করুন।
+
+ ```output
+ UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position 0: invalid start byte
+ UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 0: invalid continuation byte
+ ```
+
+ ```python
+ while True:
+ try:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data()
+ line = serial.readline().decode('utf-8')
+
+ # There's a random chance the first byte being read is part way through a character.
+ # Read another full line and continue.
+
+ except UnicodeDecodeError:
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+> 💁 আপনি এই কোডটি [code-gps/pi](../../../../../3-transport/lessons/1-location-tracking/code-gps/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার জিপিএস সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md b/translations/bn/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md
new file mode 100644
index 00000000..9e9b2734
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md
@@ -0,0 +1,75 @@
+
+# জিপিএস ডেটা ডিকোড করা - ভার্চুয়াল IoT হার্ডওয়্যার এবং রাস্পবেরি পাই
+
+এই পাঠের এই অংশে, আপনি রাস্পবেরি পাই বা ভার্চুয়াল IoT ডিভাইস দ্বারা জিপিএস সেন্সর থেকে পড়া NMEA বার্তাগুলি ডিকোড করবেন এবং অক্ষাংশ ও দ্রাঘিমাংশ বের করবেন।
+
+## জিপিএস ডেটা ডিকোড করা
+
+যখন কাঁচা NMEA ডেটা সিরিয়াল পোর্ট থেকে পড়া হয়, তখন এটি একটি ওপেন সোর্স NMEA লাইব্রেরি ব্যবহার করে ডিকোড করা যেতে পারে।
+
+### কাজ - জিপিএস ডেটা ডিকোড করা
+
+ডিভাইসটি প্রোগ্রাম করুন যাতে এটি জিপিএস ডেটা ডিকোড করতে পারে।
+
+1. `gps-sensor` অ্যাপ প্রকল্পটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে।
+
+1. `pynmea2` পিপ প্যাকেজ ইনস্টল করুন। এই প্যাকেজে NMEA বার্তা ডিকোড করার কোড রয়েছে।
+
+ ```sh
+ pip3 install pynmea2
+ ```
+
+1. `app.py` ফাইলে নিম্নলিখিত কোডটি ইমপোর্টে যোগ করুন `pynmea2` মডিউল ইমপোর্ট করার জন্য:
+
+ ```python
+ import pynmea2
+ ```
+
+1. `print_gps_data` ফাংশনের বিষয়বস্তু নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
+
+ ```python
+ msg = pynmea2.parse(line)
+ if msg.sentence_type == 'GGA':
+ lat = pynmea2.dm_to_sd(msg.lat)
+ lon = pynmea2.dm_to_sd(msg.lon)
+
+ if msg.lat_dir == 'S':
+ lat = lat * -1
+
+ if msg.lon_dir == 'W':
+ lon = lon * -1
+
+ print(f'{lat},{lon} - from {msg.num_sats} satellites')
+ ```
+
+ এই কোডটি `pynmea2` লাইব্রেরি ব্যবহার করে UART সিরিয়াল পোর্ট থেকে পড়া লাইনটি পার্স করবে।
+
+ যদি বার্তার বাক্য প্রকার `GGA` হয়, তবে এটি একটি পজিশন ফিক্স বার্তা এবং এটি প্রক্রিয়াকৃত হয়। বার্তা থেকে অক্ষাংশ এবং দ্রাঘিমাংশের মানগুলি পড়া হয় এবং NMEA `(d)ddmm.mmmm` ফরম্যাট থেকে দশমিক ডিগ্রিতে রূপান্তরিত করা হয়। `dm_to_sd` ফাংশন এই রূপান্তরটি করে।
+
+ এরপর অক্ষাংশের দিকটি পরীক্ষা করা হয়, এবং যদি অক্ষাংশ দক্ষিণ হয়, তবে মানটি একটি ঋণাত্মক সংখ্যায় রূপান্তরিত হয়। একইভাবে, যদি দ্রাঘিমাংশ পশ্চিম হয়, তবে এটিও ঋণাত্মক সংখ্যায় রূপান্তরিত হয়।
+
+ অবশেষে, স্থানাঙ্কগুলি কনসোলে প্রিন্ট করা হয়, সাথে অবস্থান নির্ধারণে ব্যবহৃত স্যাটেলাইটের সংখ্যাও দেখানো হয়।
+
+1. কোডটি চালান। যদি আপনি একটি ভার্চুয়াল IoT ডিভাইস ব্যবহার করছেন, তবে নিশ্চিত করুন যে CounterFit অ্যাপটি চালু রয়েছে এবং জিপিএস ডেটা পাঠানো হচ্ছে।
+
+ ```output
+ pi@raspberrypi:~/gps-sensor $ python3 app.py
+ 47.6423109,-122.1390293 - from 3 satellites
+ ```
+
+> 💁 আপনি এই কোডটি [code-gps-decode/virtual-device](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/virtual-device) ফোল্ডারে বা [code-gps-decode/pi](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/pi) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার জিপিএস সেন্সর প্রোগ্রাম ডেটা ডিকোডিং সহ সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/bn/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md
new file mode 100644
index 00000000..011447be
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md
@@ -0,0 +1,144 @@
+
+# জিপিএস ডেটা পড়ুন - ভার্চুয়াল IoT হার্ডওয়্যার
+
+এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি জিপিএস সেন্সর যোগ করবেন এবং এর থেকে ডেটা পড়বেন।
+
+## ভার্চুয়াল হার্ডওয়্যার
+
+ভার্চুয়াল IoT ডিভাইস একটি সিমুলেটেড জিপিএস সেন্সর ব্যবহার করবে, যা সিরিয়াল পোর্টের মাধ্যমে UART-এ অ্যাক্সেসযোগ্য।
+
+একটি ফিজিক্যাল জিপিএস সেন্সরে একটি অ্যান্টেনা থাকবে যা জিপিএস স্যাটেলাইট থেকে রেডিও তরঙ্গ গ্রহণ করবে এবং জিপিএস সংকেতকে জিপিএস ডেটায় রূপান্তর করবে। ভার্চুয়াল সংস্করণটি এটি সিমুলেট করে, যা আপনাকে হয় একটি নির্দিষ্ট latitude এবং longitude সেট করতে, কাঁচা NMEA বাক্য পাঠাতে, অথবা একটি GPX ফাইল আপলোড করতে দেয়, যাতে একাধিক অবস্থান ধারাবাহিকভাবে ফেরত দেওয়া যায়।
+
+> 🎓 NMEA বাক্যগুলো এই পাঠে পরে আলোচনা করা হবে
+
+### CounterFit-এ সেন্সর যোগ করুন
+
+ভার্চুয়াল জিপিএস সেন্সর ব্যবহার করতে, আপনাকে এটি CounterFit অ্যাপে যোগ করতে হবে।
+
+#### কাজ - CounterFit-এ সেন্সর যোগ করুন
+
+CounterFit অ্যাপে জিপিএস সেন্সর যোগ করুন।
+
+1. আপনার কম্পিউটারে `gps-sensor` নামে একটি ফোল্ডারে একটি নতুন পাইথন অ্যাপ তৈরি করুন, যেখানে একটি মাত্র ফাইল থাকবে `app.py` নামে এবং একটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট থাকবে। CounterFit-এর pip প্যাকেজগুলো যোগ করুন।
+
+ > ⚠️ [CounterFit পাইথন প্রজেক্ট তৈরি এবং সেটআপ করার নির্দেশনা প্রথম পাঠে পাওয়া যাবে](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)।
+
+1. একটি অতিরিক্ত Pip প্যাকেজ ইনস্টল করুন, যা একটি CounterFit শিম ইনস্টল করবে, যা সিরিয়াল সংযোগের মাধ্যমে UART ভিত্তিক সেন্সরের সাথে কথা বলতে পারে। নিশ্চিত করুন যে আপনি এটি একটি টার্মিনাল থেকে ইনস্টল করছেন যেখানে ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় রয়েছে।
+
+ ```sh
+ pip install counterfit-shims-serial
+ ```
+
+1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি চালু রয়েছে।
+
+1. একটি জিপিএস সেন্সর তৈরি করুন:
+
+ 1. *Sensors* প্যানেলের *Create sensor* বক্সে যান, *Sensor type* ড্রপডাউন থেকে *UART GPS* নির্বাচন করুন।
+
+ 1. *Port* `/dev/ttyAMA0` এ সেট করুন।
+
+ 1. **Add** বোতামটি নির্বাচন করুন, যাতে `/dev/ttyAMA0` পোর্টে জিপিএস সেন্সর তৈরি হয়।
+
+ 
+
+ জিপিএস সেন্সর তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে।
+
+ 
+
+## জিপিএস সেন্সর প্রোগ্রাম করুন
+
+ভার্চুয়াল IoT ডিভাইস এখন ভার্চুয়াল জিপিএস সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - জিপিএস সেন্সর প্রোগ্রাম করুন
+
+জিপিএস সেন্সর অ্যাপ প্রোগ্রাম করুন।
+
+1. নিশ্চিত করুন যে `gps-sensor` অ্যাপটি VS Code-এ খোলা রয়েছে।
+
+1. `app.py` ফাইলটি খুলুন।
+
+1. CounterFit-এর সাথে অ্যাপটি সংযুক্ত করতে `app.py`-এর শীর্ষে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. এর নিচে কিছু প্রয়োজনীয় লাইব্রেরি আমদানি করতে এবং CounterFit সিরিয়াল পোর্ট লাইব্রেরি আমদানি করতে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ import time
+ import counterfit_shims_serial
+
+ serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
+ ```
+
+ এই কোডটি `counterfit_shims_serial` Pip প্যাকেজ থেকে `serial` মডিউল আমদানি করে। এটি `/dev/ttyAMA0` সিরিয়াল পোর্টে সংযোগ স্থাপন করে - এটি সেই সিরিয়াল পোর্টের ঠিকানা যা ভার্চুয়াল জিপিএস সেন্সর তার UART পোর্টের জন্য ব্যবহার করে।
+
+1. এর নিচে সিরিয়াল পোর্ট থেকে ডেটা পড়তে এবং কনসোলে প্রিন্ট করতে নিম্নলিখিত কোড যোগ করুন:
+
+ ```python
+ def print_gps_data(line):
+ print(line.rstrip())
+
+ while True:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data(line)
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+ একটি ফাংশন `print_gps_data` সংজ্ঞায়িত করা হয়েছে, যা কনসোলে প্রিন্ট করার জন্য পাস করা লাইনের ডেটা ব্যবহার করে।
+
+ এরপর কোডটি অনন্ত লুপে চলে, প্রতিটি লুপে সিরিয়াল পোর্ট থেকে যতগুলি সম্ভব টেক্সট লাইন পড়ে। এটি প্রতিটি লাইনের জন্য `print_gps_data` ফাংশন কল করে।
+
+ সমস্ত ডেটা পড়ার পর, লুপটি ১ সেকেন্ডের জন্য থামে এবং পুনরায় চেষ্টা করে।
+
+1. এই কোডটি চালান, নিশ্চিত করুন যে আপনি CounterFit অ্যাপ চালানোর জন্য ব্যবহৃত টার্মিনাল থেকে আলাদা একটি টার্মিনাল ব্যবহার করছেন, যাতে CounterFit অ্যাপ চালু থাকে।
+
+1. CounterFit অ্যাপ থেকে জিপিএস সেন্সরের মান পরিবর্তন করুন। এটি নিম্নলিখিত উপায়ে করা যেতে পারে:
+
+ * **Source**-কে `Lat/Lon`-এ সেট করুন এবং একটি নির্দিষ্ট latitude, longitude এবং স্যাটেলাইট সংখ্যা নির্ধারণ করুন। এই মানটি কেবল একবার পাঠানো হবে, তাই **Repeat** বক্স চেক করুন যাতে ডেটা প্রতি সেকেন্ডে পুনরাবৃত্তি হয়।
+
+ 
+
+ * **Source**-কে `NMEA`-তে সেট করুন এবং কিছু NMEA বাক্য টেক্সট বক্সে যোগ করুন। এই মানগুলো পাঠানো হবে, যেখানে প্রতিটি নতুন GGA (অবস্থান নির্ধারণ) বাক্য পাঠানোর আগে ১ সেকেন্ডের বিলম্ব থাকবে।
+
+ 
+
+ আপনি [nmeagen.org](https://www.nmeagen.org)-এর মতো একটি টুল ব্যবহার করে মানচিত্রে আঁকতে এই বাক্যগুলো তৈরি করতে পারেন। এই মানগুলো কেবল একবার পাঠানো হবে, তাই **Repeat** বক্স চেক করুন যাতে সমস্ত ডেটা পাঠানোর পর প্রতি সেকেন্ডে পুনরাবৃত্তি হয়।
+
+ * **Source**-কে GPX ফাইলে সেট করুন এবং একটি GPX ফাইল আপলোড করুন যেখানে ট্র্যাক অবস্থান রয়েছে। আপনি [AllTrails](https://www.alltrails.com/)-এর মতো জনপ্রিয় মানচিত্র এবং হাইকিং সাইট থেকে GPX ফাইল ডাউনলোড করতে পারেন। এই ফাইলগুলোতে একাধিক জিপিএস অবস্থান একটি ট্রেইল হিসেবে থাকে এবং জিপিএস সেন্সর প্রতি ১ সেকেন্ডে একটি নতুন অবস্থান ফেরত দেবে।
+
+ 
+
+ এই মানগুলো কেবল একবার পাঠানো হবে, তাই **Repeat** বক্স চেক করুন যাতে সমস্ত ডেটা পাঠানোর পর প্রতি সেকেন্ডে পুনরাবৃত্তি হয়।
+
+ একবার জিপিএস সেটিংস কনফিগার হয়ে গেলে, **Set** বোতামটি নির্বাচন করুন যাতে এই মানগুলো সেন্সরে প্রয়োগ হয়।
+
+1. আপনি জিপিএস সেন্সরের কাঁচা আউটপুট দেখতে পাবেন, যা নিম্নলিখিতর মতো হতে পারে:
+
+ ```output
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ ```
+
+> 💁 আপনি এই কোডটি [code-gps/virtual-device](../../../../../3-transport/lessons/1-location-tracking/code-gps/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার জিপিএস সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখুন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md b/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md
new file mode 100644
index 00000000..dc41f8ff
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md
@@ -0,0 +1,83 @@
+
+# জিপিএস ডেটা ডিকোড করুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি Wio Terminal দ্বারা জিপিএস সেন্সর থেকে পড়া NMEA বার্তাগুলি ডিকোড করবেন এবং অক্ষাংশ ও দ্রাঘিমাংশ বের করবেন।
+
+## জিপিএস ডেটা ডিকোড করুন
+
+যখন সিরিয়াল পোর্ট থেকে কাঁচা NMEA ডেটা পড়া হয়, তখন এটি একটি ওপেন সোর্স NMEA লাইব্রেরি ব্যবহার করে ডিকোড করা যেতে পারে।
+
+### কাজ - জিপিএস ডেটা ডিকোড করুন
+
+ডিভাইসটি প্রোগ্রাম করুন যাতে এটি জিপিএস ডেটা ডিকোড করতে পারে।
+
+1. যদি `gps-sensor` অ্যাপ প্রকল্পটি ইতিমধ্যে খোলা না থাকে, তাহলে এটি খুলুন।
+
+1. প্রকল্পের `platformio.ini` ফাইলে [TinyGPSPlus](https://github.com/mikalhart/TinyGPSPlus) লাইব্রেরির জন্য একটি লাইব্রেরি নির্ভরতা যোগ করুন। এই লাইব্রেরিতে NMEA ডেটা ডিকোড করার কোড রয়েছে।
+
+ ```ini
+ lib_deps =
+ mikalhart/TinyGPSPlus @ 1.0.2
+ ```
+
+1. `main.cpp` ফাইলে, TinyGPSPlus লাইব্রেরির জন্য একটি ইনক্লুড নির্দেশ যোগ করুন:
+
+ ```cpp
+ #include
+ ```
+
+1. `Serial3` ঘোষণার নিচে, NMEA বাক্য প্রক্রিয়াকরণের জন্য একটি TinyGPSPlus অবজেক্ট ঘোষণা করুন:
+
+ ```cpp
+ TinyGPSPlus gps;
+ ```
+
+1. `printGPSData` ফাংশনের বিষয়বস্তু পরিবর্তন করে নিচের কোডটি যোগ করুন:
+
+ ```cpp
+ if (gps.encode(Serial3.read()))
+ {
+ if (gps.location.isValid())
+ {
+ Serial.print(gps.location.lat(), 6);
+ Serial.print(F(","));
+ Serial.print(gps.location.lng(), 6);
+ Serial.print(" - from ");
+ Serial.print(gps.satellites.value());
+ Serial.println(" satellites");
+ }
+ }
+ ```
+
+ এই কোডটি UART সিরিয়াল পোর্ট থেকে পরবর্তী ক্যারেক্টারটি `gps` NMEA ডিকোডারে পড়ে। প্রতিটি ক্যারেক্টারের পরে, এটি পরীক্ষা করে যে ডিকোডারটি একটি বৈধ বাক্য পড়েছে কিনা, তারপর পরীক্ষা করে যে এটি একটি বৈধ অবস্থান পড়েছে কিনা। যদি অবস্থানটি বৈধ হয়, এটি সিরিয়াল মনিটরে পাঠায়, সেইসাথে এই ফিক্সে অবদান রাখা স্যাটেলাইটের সংখ্যা।
+
+1. কোডটি Wio Terminal-এ বিল্ড এবং আপলোড করুন।
+
+1. আপলোড করার পরে, আপনি সিরিয়াল মনিটর ব্যবহার করে জিপিএস অবস্থান ডেটা পর্যবেক্ষণ করতে পারবেন।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ 47.6423109,-122.1390293 - from 3 satellites
+ ```
+
+> 💁 আপনি এই কোডটি [code-gps-decode/wio-terminal](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার জিপিএস সেন্সর প্রোগ্রাম ডেটা ডিকোডিং সহ সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md
new file mode 100644
index 00000000..7f179a93
--- /dev/null
+++ b/translations/bn/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md
@@ -0,0 +1,154 @@
+
+# GPS ডেটা পড়ুন - Wio Terminal
+
+এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ একটি GPS সেন্সর যোগ করবেন এবং এর থেকে মান পড়বেন।
+
+## হার্ডওয়্যার
+
+Wio Terminal-এর জন্য একটি GPS সেন্সর প্রয়োজন।
+
+আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [Grove GPS Air530 সেন্সর](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html)। এই সেন্সরটি একাধিক GPS সিস্টেমের সাথে সংযোগ স্থাপন করতে পারে দ্রুত এবং সঠিক অবস্থান নির্ধারণের জন্য। সেন্সরটি দুটি অংশ নিয়ে গঠিত - সেন্সরের মূল ইলেকট্রনিক্স এবং একটি বাহ্যিক অ্যান্টেনা যা একটি পাতলা তারের মাধ্যমে সংযুক্ত থাকে, যা স্যাটেলাইট থেকে রেডিও তরঙ্গ গ্রহণ করে।
+
+এটি একটি UART সেন্সর, তাই এটি UART-এর মাধ্যমে GPS ডেটা পাঠায়।
+
+### GPS সেন্সর সংযুক্ত করুন
+
+Grove GPS সেন্সরটি Wio Terminal-এর সাথে সংযুক্ত করা যেতে পারে।
+
+#### কাজ - GPS সেন্সর সংযুক্ত করুন
+
+GPS সেন্সর সংযুক্ত করুন।
+
+
+
+1. Grove কেবলের এক প্রান্ত GPS সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে।
+
+1. Wio Terminal আপনার কম্পিউটার বা অন্য পাওয়ার সাপ্লাই থেকে সংযোগ বিচ্ছিন্ন অবস্থায়, Grove কেবলের অন্য প্রান্তটি Wio Terminal-এর স্ক্রিনের দিকে তাকালে বাম পাশের Grove সকেটে সংযুক্ত করুন। এটি পাওয়ার বোতামের সবচেয়ে কাছের সকেট।
+
+ 
+
+1. GPS সেন্সরটি এমনভাবে স্থাপন করুন যাতে সংযুক্ত অ্যান্টেনার আকাশের দিকে দৃশ্যমানতা থাকে - আদর্শভাবে একটি খোলা জানালার পাশে বা বাইরে। অ্যান্টেনার পথে কিছু না থাকলে পরিষ্কার সিগনাল পাওয়া সহজ হয়।
+
+1. এখন আপনি Wio Terminal-কে আপনার কম্পিউটারের সাথে সংযুক্ত করতে পারেন।
+
+1. GPS সেন্সরের দুটি LED রয়েছে - একটি নীল LED যা ডেটা প্রেরণের সময় ঝলকানি দেয় এবং একটি সবুজ LED যা স্যাটেলাইট থেকে ডেটা গ্রহণ করার সময় প্রতি সেকেন্ডে ঝলকানি দেয়। Wio Terminal চালু করার সময় নিশ্চিত করুন যে নীল LEDটি ঝলকানি দিচ্ছে। কয়েক মিনিট পর সবুজ LEDটি ঝলকানি দেবে - যদি না দেয়, তাহলে হয়তো অ্যান্টেনার অবস্থান পরিবর্তন করতে হতে পারে।
+
+## GPS সেন্সর প্রোগ্রাম করুন
+
+এখন Wio Terminal-কে সংযুক্ত GPS সেন্সর ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে।
+
+### কাজ - GPS সেন্সর প্রোগ্রাম করুন
+
+ডিভাইসটি প্রোগ্রাম করুন।
+
+1. PlatformIO ব্যবহার করে একটি নতুন Wio Terminal প্রকল্প তৈরি করুন। এই প্রকল্পটির নাম দিন `gps-sensor`। `setup` ফাংশনে সিরিয়াল পোর্ট কনফিগার করার জন্য কোড যোগ করুন।
+
+1. `main.cpp` ফাইলের শীর্ষে নিম্নলিখিত include নির্দেশনা যোগ করুন। এটি একটি হেডার ফাইল অন্তর্ভুক্ত করে যা বাম পাশের Grove পোর্টকে UART-এর জন্য কনফিগার করার ফাংশন সরবরাহ করে।
+
+ ```cpp
+ #include
+ ```
+
+1. এর নিচে, নিম্নলিখিত কোড যোগ করুন যা UART পোর্টের সাথে একটি সিরিয়াল পোর্ট সংযোগ ঘোষণা করে:
+
+ ```cpp
+ static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
+ ```
+
+1. কিছু অভ্যন্তরীণ সিগনাল হ্যান্ডলারকে এই সিরিয়াল পোর্টে পুনঃনির্দেশ করার জন্য কোড যোগ করতে হবে। `Serial3` ঘোষণার নিচে নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ void SERCOM3_0_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_1_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_2_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_3_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+ ```
+
+1. `setup` ফাংশনে যেখানে `Serial` পোর্ট কনফিগার করা হয়েছে তার নিচে, নিম্নলিখিত কোড ব্যবহার করে UART সিরিয়াল পোর্ট কনফিগার করুন:
+
+ ```cpp
+ Serial3.begin(9600);
+
+ while (!Serial3)
+ ; // Wait for Serial3 to be ready
+
+ delay(1000);
+ ```
+
+1. `setup` ফাংশনে এই কোডের নিচে, Grove পিনকে সিরিয়াল পোর্টের সাথে সংযুক্ত করার জন্য নিম্নলিখিত কোড যোগ করুন:
+
+ ```cpp
+ pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
+ ```
+
+1. `loop` ফাংশনের আগে নিম্নলিখিত ফাংশন যোগ করুন যা GPS ডেটা সিরিয়াল মনিটরে পাঠায়:
+
+ ```cpp
+ void printGPSData()
+ {
+ Serial.println(Serial3.readStringUntil('\n'));
+ }
+ ```
+
+1. `loop` ফাংশনে, নিম্নলিখিত কোড যোগ করুন যা UART সিরিয়াল পোর্ট থেকে পড়ে এবং সিরিয়াল মনিটরে আউটপুট প্রিন্ট করে:
+
+ ```cpp
+ while (Serial3.available() > 0)
+ {
+ printGPSData();
+ }
+
+ delay(1000);
+ ```
+
+ এই কোডটি UART সিরিয়াল পোর্ট থেকে পড়ে। `readStringUntil` ফাংশনটি একটি টার্মিনেটর ক্যারেক্টার পর্যন্ত পড়ে, এই ক্ষেত্রে একটি নতুন লাইন। এটি একটি সম্পূর্ণ NMEA বাক্য পড়বে (NMEA বাক্যগুলি একটি নতুন লাইন ক্যারেক্টার দিয়ে শেষ হয়)। যতক্ষণ না UART সিরিয়াল পোর্ট থেকে ডেটা পড়া যায়, এটি পড়া হয় এবং `printGPSData` ফাংশনের মাধ্যমে সিরিয়াল মনিটরে পাঠানো হয়। যখন আর ডেটা পড়া যায় না, তখন `loop` 1 সেকেন্ড (1,000ms) বিলম্ব করে।
+
+1. কোডটি Wio Terminal-এ বিল্ড এবং আপলোড করুন।
+
+1. আপলোড করার পর, আপনি সিরিয়াল মনিটর ব্যবহার করে GPS ডেটা পর্যবেক্ষণ করতে পারেন।
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GPGSA,A,1,,,,,,,,,,,,,,,*1E
+ $BDGSA,A,1,,,,,,,,,,,,,,,*0F
+ $GPGSV,1,1,00*79
+ $BDGSV,1,1,00*68
+ ```
+
+> 💁 আপনি এই কোডটি [code-gps/wio-terminal](../../../../../3-transport/lessons/1-location-tracking/code-gps/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন।
+
+😀 আপনার GPS সেন্সর প্রোগ্রাম সফল হয়েছে!
+
+---
+
+**অস্বীকৃতি**:
+এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/3-transport/lessons/2-store-location-data/README.md b/translations/bn/3-transport/lessons/2-store-location-data/README.md
new file mode 100644
index 00000000..cc15294e
--- /dev/null
+++ b/translations/bn/3-transport/lessons/2-store-location-data/README.md
@@ -0,0 +1,459 @@
+
+# স্টোর লোকেশন ডেটা
+
+
+
+> স্কেচনোট: [নিত্য নারাসিমহান](https://github.com/nitya)। বড় সংস্করণের জন্য ছবিতে ক্লিক করুন।
+
+## প্রাক-পাঠ কুইজ
+
+[প্রাক-পাঠ কুইজ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/23)
+
+## ভূমিকা
+
+গত পাঠে, আপনি শিখেছেন কীভাবে একটি GPS সেন্সর ব্যবহার করে লোকেশন ডেটা সংগ্রহ করতে হয়। এই ডেটা ব্যবহার করে একটি খাবার বোঝাই ট্রাকের অবস্থান এবং তার যাত্রা চিত্রিত করতে হলে, এটি ক্লাউডে একটি IoT সার্ভিসে পাঠাতে হবে এবং কোথাও সংরক্ষণ করতে হবে।
+
+এই পাঠে আপনি IoT ডেটা সংরক্ষণের বিভিন্ন পদ্ধতি সম্পর্কে শিখবেন এবং সার্ভারলেস কোড ব্যবহার করে আপনার IoT সার্ভিস থেকে ডেটা সংরক্ষণ করতে শিখবেন।
+
+এই পাঠে আমরা আলোচনা করব:
+
+* [স্ট্রাকচার্ড এবং আনস্ট্রাকচার্ড ডেটা](../../../../../3-transport/lessons/2-store-location-data)
+* [GPS ডেটা IoT হাবে পাঠানো](../../../../../3-transport/lessons/2-store-location-data)
+* [হট, ওয়ার্ম এবং কোল্ড পাথ](../../../../../3-transport/lessons/2-store-location-data)
+* [সার্ভারলেস কোড ব্যবহার করে GPS ইভেন্ট পরিচালনা](../../../../../3-transport/lessons/2-store-location-data)
+* [Azure স্টোরেজ অ্যাকাউন্ট](../../../../../3-transport/lessons/2-store-location-data)
+* [স্টোরেজের সাথে সার্ভারলেস কোড সংযোগ করা](../../../../../3-transport/lessons/2-store-location-data)
+
+## স্ট্রাকচার্ড এবং আনস্ট্রাকচার্ড ডেটা
+
+কম্পিউটার সিস্টেম ডেটা নিয়ে কাজ করে, এবং এই ডেটা বিভিন্ন আকার এবং প্রকৃতির হতে পারে। এটি একক সংখ্যা থেকে শুরু করে বড় পরিমাণের টেক্সট, ভিডিও এবং ছবি, এবং IoT ডেটা পর্যন্ত হতে পারে। সাধারণত ডেটাকে দুটি বিভাগে ভাগ করা যায় - *স্ট্রাকচার্ড* ডেটা এবং *আনস্ট্রাকচার্ড* ডেটা।
+
+* **স্ট্রাকচার্ড ডেটা** হলো এমন ডেটা যার একটি সুস্পষ্ট, কঠোর কাঠামো রয়েছে যা পরিবর্তন হয় না এবং সাধারণত টেবিলের ডেটার সাথে সম্পর্কিত থাকে। উদাহরণস্বরূপ, একজন ব্যক্তির নাম, জন্ম তারিখ এবং ঠিকানা।
+
+* **আনস্ট্রাকচার্ড ডেটা** হলো এমন ডেটা যার সুস্পষ্ট, কঠোর কাঠামো নেই এবং যা প্রায়ই কাঠামো পরিবর্তন করতে পারে। উদাহরণস্বরূপ, লিখিত ডকুমেন্ট বা স্প্রেডশিট।
+
+✅ গবেষণা করুন: আপনি কি স্ট্রাকচার্ড এবং আনস্ট্রাকচার্ড ডেটার আরও কিছু উদাহরণ ভাবতে পারেন?
+
+> 💁 এছাড়াও সেমি-স্ট্রাকচার্ড ডেটা রয়েছে যা কাঠামোগত কিন্তু নির্দিষ্ট টেবিলের মধ্যে ফিট হয় না।
+
+IoT ডেটা সাধারণত আনস্ট্রাকচার্ড ডেটা হিসেবে বিবেচিত হয়।
+
+ধরুন আপনি একটি বড় বাণিজ্যিক খামারের যানবাহনগুলিতে IoT ডিভাইস যোগ করছেন। আপনি বিভিন্ন ধরনের যানবাহনের জন্য বিভিন্ন ডিভাইস ব্যবহার করতে চাইতে পারেন। উদাহরণস্বরূপ:
+
+* খামারের যানবাহন যেমন ট্রাক্টরের জন্য আপনি GPS ডেটা চান যাতে তারা সঠিক মাঠে কাজ করছে তা নিশ্চিত করা যায়।
+* খাদ্য পরিবহনকারী ডেলিভারি ট্রাকের জন্য আপনি GPS ডেটা, গতি এবং ত্বরণ ডেটা চান যাতে চালক নিরাপদে চালাচ্ছে তা নিশ্চিত করা যায়, এবং চালকের পরিচয় ও স্টার্ট/স্টপ ডেটা চান যাতে স্থানীয় আইনের সাথে কাজের সময়ের সম্মতি নিশ্চিত করা যায়।
+* রেফ্রিজারেটেড ট্রাকের জন্য আপনি তাপমাত্রার ডেটা চান যাতে খাদ্য খুব গরম বা ঠান্ডা না হয় এবং পরিবহনে নষ্ট না হয়।
+
+এই ডেটা ক্রমাগত পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, যদি IoT ডিভাইসটি একটি ট্রাক ক্যাবে থাকে, তবে এটি যে ডেটা পাঠায় তা ট্রেলার পরিবর্তনের সাথে পরিবর্তিত হতে পারে, যেমন শুধুমাত্র রেফ্রিজারেটেড ট্রেলার ব্যবহৃত হলে তাপমাত্রার ডেটা পাঠানো।
+
+✅ আর কী ধরনের IoT ডেটা সংগ্রহ করা যেতে পারে? ট্রাকের বহনযোগ্য লোড এবং রক্ষণাবেক্ষণ ডেটা সম্পর্কে চিন্তা করুন।
+
+এই ডেটা যানবাহন থেকে যানবাহনে পরিবর্তিত হয়, তবে এটি সব একই IoT সার্ভিসে প্রক্রিয়াকরণের জন্য পাঠানো হয়। IoT সার্ভিসটি এই আনস্ট্রাকচার্ড ডেটা প্রক্রিয়াকরণ করতে সক্ষম হতে হবে, এটি এমনভাবে সংরক্ষণ করতে হবে যাতে এটি অনুসন্ধান বা বিশ্লেষণ করা যায়, তবে এই ডেটার বিভিন্ন কাঠামোর সাথে কাজ করতে পারে।
+
+### SQL বনাম NoSQL স্টোরেজ
+
+ডেটাবেস হলো এমন সার্ভিস যা আপনাকে ডেটা সংরক্ষণ এবং অনুসন্ধান করতে দেয়। ডেটাবেস দুটি প্রকারের হতে পারে - SQL এবং NoSQL।
+
+#### SQL ডেটাবেস
+
+প্রথম ডেটাবেস ছিল রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS), বা রিলেশনাল ডেটাবেস। এগুলো SQL ডেটাবেস নামে পরিচিত কারণ এগুলোতে স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ (SQL) ব্যবহার করা হয় ডেটা যোগ, অপসারণ, আপডেট বা অনুসন্ধান করতে। এই ডেটাবেসে একটি স্কিমা থাকে - একটি সুস্পষ্টভাবে সংজ্ঞায়িত টেবিলের সেট, যা স্প্রেডশিটের মতো।
+
+
+
+#### NoSQL ডেটাবেস
+
+NoSQL ডেটাবেসকে NoSQL বলা হয় কারণ এগুলো SQL ডেটাবেসের মতো কঠোর কাঠামো নেই। এগুলোকে ডকুমেন্ট ডেটাবেসও বলা হয় কারণ এগুলো আনস্ট্রাকচার্ড ডেটা যেমন ডকুমেন্ট সংরক্ষণ করতে পারে।
+
+> 💁 নামের সত্ত্বেও, কিছু NoSQL ডেটাবেস SQL ব্যবহার করে ডেটা অনুসন্ধান করতে দেয়।
+
+
+
+NoSQL ডেটাবেসে পূর্বনির্ধারিত স্কিমা নেই যা ডেটা সংরক্ষণ সীমাবদ্ধ করে, বরং আপনি JSON ডকুমেন্ট ব্যবহার করে যেকোনো আনস্ট্রাকচার্ড ডেটা সংরক্ষণ করতে পারেন।
+
+এই পাঠে, আপনি NoSQL স্টোরেজ ব্যবহার করে IoT ডেটা সংরক্ষণ করবেন।
+
+## GPS ডেটা IoT হাবে পাঠানো
+
+গত পাঠে আপনি GPS সেন্সর থেকে GPS ডেটা সংগ্রহ করেছিলেন। এই ডেটা ক্লাউডে সংরক্ষণ করতে হলে, এটি একটি IoT সার্ভিসে পাঠাতে হবে। আপনি আবার Azure IoT Hub ব্যবহার করবেন, যা আপনি আগের প্রকল্পে ব্যবহার করেছিলেন।
+
+
+
+### কাজ - GPS ডেটা IoT হাবে পাঠানো
+
+1. ফ্রি টিয়ার ব্যবহার করে একটি নতুন IoT Hub তৈরি করুন।
+
+ > ⚠️ [প্রকল্প ২, পাঠ ৪](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#create-an-iot-service-in-the-cloud) থেকে IoT Hub তৈরি করার নির্দেশনা প্রয়োজন হলে দেখুন।
+
+ একটি নতুন রিসোর্স গ্রুপ তৈরি করুন। নতুন রিসোর্স গ্রুপের নাম দিন `gps-sensor`, এবং নতুন IoT Hub এর নাম দিন `gps-sensor-<আপনার নাম>`।
+
+ > 💁 আগের প্রকল্প থেকে আপনার IoT Hub এখনও থাকলে, আপনি এটি পুনরায় ব্যবহার করতে পারেন। নতুন সার্ভিস তৈরি করার সময় এই IoT Hub এবং রিসোর্স গ্রুপের নাম ব্যবহার করুন।
+
+1. IoT Hub-এ একটি নতুন ডিভাইস যোগ করুন। এই ডিভাইসের নাম দিন `gps-sensor`। ডিভাইসের সংযোগ স্ট্রিং সংগ্রহ করুন।
+
+1. আপনার ডিভাইস কোড আপডেট করুন যাতে GPS ডেটা নতুন IoT Hub-এ পাঠানো যায়।
+
+ > ⚠️ [প্রকল্প ২, পাঠ ৪](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#connect-your-device-to-the-iot-service) থেকে ডিভাইসকে IoT সার্ভিসে সংযুক্ত করার নির্দেশনা প্রয়োজন হলে দেখুন।
+
+1. GPS ডেটা JSON ফরম্যাটে পাঠান:
+
+ ```json
+ {
+ "gps" :
+ {
+ "lat" : ,
+ "lon" :
+ }
+ }
+ ```
+
+1. প্রতিমিনিটে GPS ডেটা পাঠান যাতে দৈনিক বার্তা সীমা অতিক্রম না হয়।
+
+আপনি যদি Wio Terminal ব্যবহার করেন, তাহলে প্রয়োজনীয় সমস্ত লাইব্রেরি যোগ করুন এবং NTP সার্ভার ব্যবহার করে সময় সেট করুন। আপনার কোড নিশ্চিত করবে যে এটি সিরিয়াল পোর্ট থেকে সমস্ত ডেটা পড়েছে, তারপর GPS লোকেশন পাঠাবে। JSON ডকুমেন্ট তৈরি করতে নিম্নলিখিত কোড ব্যবহার করুন:
+
+```cpp
+DynamicJsonDocument doc(1024);
+doc["gps"]["lat"] = gps.location.lat();
+doc["gps"]["lon"] = gps.location.lng();
+```
+
+আপনি যদি ভার্চুয়াল IoT ডিভাইস ব্যবহার করেন, তাহলে ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করে প্রয়োজনীয় সমস্ত লাইব্রেরি ইনস্টল করুন।
+
+Raspberry Pi এবং ভার্চুয়াল IoT ডিভাইসের জন্য, গত পাঠের কোড ব্যবহার করে latitude এবং longitude মান সংগ্রহ করুন, তারপর সঠিক JSON ফরম্যাটে পাঠান:
+
+```python
+message_json = { "gps" : { "lat":lat, "lon":lon } }
+print("Sending telemetry", message_json)
+message = Message(json.dumps(message_json))
+```
+
+> 💁 এই কোডটি [code/wio-terminal](../../../../../3-transport/lessons/2-store-location-data/code/wio-terminal), [code/pi](../../../../../3-transport/lessons/2-store-location-data/code/pi) বা [code/virtual-device](../../../../../3-transport/lessons/2-store-location-data/code/virtual-device) ফোল্ডারে পাওয়া যাবে।
+
+আপনার ডিভাইস কোড চালান এবং নিশ্চিত করুন যে বার্তাগুলি IoT Hub-এ প্রবাহিত হচ্ছে `az iot hub monitor-events` CLI কমান্ড ব্যবহার করে।
+
+## হট, ওয়ার্ম এবং কোল্ড পাথ
+
+IoT ডিভাইস থেকে ক্লাউডে প্রবাহিত ডেটা সবসময় রিয়েল টাইমে প্রক্রিয়াকৃত হয় না। কিছু ডেটা রিয়েল টাইমে প্রক্রিয়াকৃত হওয়া প্রয়োজন, অন্য ডেটা কিছু সময় পরে প্রক্রিয়াকৃত হতে পারে, এবং অন্য ডেটা অনেক পরে প্রক্রিয়াকৃত হতে পারে। ডেটা বিভিন্ন সময়ে প্রক্রিয়াকরণের জন্য বিভিন্ন সার্ভিসে প্রবাহিত হওয়ার প্রক্রিয়াকে হট, ওয়ার্ম এবং কোল্ড পাথ বলা হয়।
+
+### হট পাথ
+
+হট পাথ হলো ডেটা যা রিয়েল টাইম বা প্রায় রিয়েল টাইমে প্রক্রিয়াকৃত হওয়া প্রয়োজন। উদাহরণস্বরূপ, একটি যানবাহন ডিপোর কাছে আসছে বা একটি রেফ্রিজারেটেড ট্রাকের তাপমাত্রা খুব বেশি হওয়ার সতর্কতা পাওয়ার জন্য হট পাথ ডেটা ব্যবহার করা হবে।
+
+### ওয়ার্ম পাথ
+
+ওয়ার্ম পাথ হলো ডেটা যা গ্রহণের কিছু সময় পরে প্রক্রিয়াকৃত হতে পারে, যেমন রিপোর্টিং বা স্বল্পমেয়াদী বিশ্লেষণের জন্য। উদাহরণস্বরূপ, আগের দিনের ডেটা ব্যবহার করে যানবাহনের দৈনিক মাইলেজ রিপোর্ট তৈরি করা।
+
+### কোল্ড পাথ
+
+কোল্ড পাথ হলো ঐতিহাসিক ডেটা, দীর্ঘমেয়াদী সংরক্ষণের জন্য যা প্রয়োজন হলে প্রক্রিয়াকৃত হতে পারে। উদাহরণস্বরূপ, যানবাহনের বার্ষিক মাইলেজ রিপোর্ট তৈরি করা বা জ্বালানি খরচ কমানোর জন্য রুট বিশ্লেষণ করা।
+
+✅ এই পাঠে আপনি যে ডেটা সংগ্রহ করেছেন তা হট, ওয়ার্ম বা কোল্ড পাথ ডেটা কি?
+
+## সার্ভারলেস কোড ব্যবহার করে GPS ইভেন্ট পরিচালনা
+
+যখন ডেটা IoT Hub-এ প্রবাহিত হয়, তখন আপনি কিছু সার্ভারলেস কোড লিখতে পারেন যা ইভেন্ট-হাব কম্প্যাটিবল এন্ডপয়েন্টে প্রকাশিত ইভেন্টগুলির জন্য শুনবে। এটি ওয়ার্ম পাথ - এই ডেটা সংরক্ষণ করা হবে এবং পরবর্তী পাঠে যাত্রার রিপোর্টিংয়ের জন্য ব্যবহার করা হবে।
+
+
+
+### কাজ - সার্ভারলেস কোড ব্যবহার করে GPS ইভেন্ট পরিচালনা
+
+1. Azure Functions CLI ব্যবহার করে একটি Azure Functions অ্যাপ তৈরি করুন। Python রানটাইম ব্যবহার করুন এবং এটি `gps-trigger` নামে একটি ফোল্ডারে তৈরি করুন। Functions App প্রকল্পের নামও `gps-trigger` দিন। নিশ্চিত করুন যে আপনি এটি ব্যবহারের জন্য একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করেছেন।
+> ⚠️ আপনি যদি প্রয়োজন মনে করেন, [Azure Functions প্রকল্প তৈরি করার নির্দেশনা প্রকল্প ২, পাঠ ৫](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-a-serverless-application) থেকে দেখতে পারেন।
+1. একটি IoT Hub ইভেন্ট ট্রিগার যোগ করুন যা IoT Hub-এর Event Hub সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট ব্যবহার করে।
+
+ > ⚠️ প্রয়োজনে [প্রজেক্ট ২, পাঠ ৫ থেকে IoT Hub ইভেন্ট ট্রিগার তৈরি করার নির্দেশনা](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-an-iot-hub-event-trigger) দেখতে পারেন।
+
+1. `local.settings.json` ফাইলে Event Hub সামঞ্জস্যপূর্ণ এন্ডপয়েন্টের সংযোগ স্ট্রিং সেট করুন এবং সেই এন্ট্রির কীটি `function.json` ফাইলে ব্যবহার করুন।
+
+1. Azurite অ্যাপটি স্থানীয় স্টোরেজ এমুলেটর হিসেবে ব্যবহার করুন।
+
+1. আপনার ফাংশন অ্যাপ চালান এবং নিশ্চিত করুন যে এটি আপনার GPS ডিভাইস থেকে ইভেন্ট গ্রহণ করছে। নিশ্চিত করুন যে আপনার IoT ডিভাইসও চালু আছে এবং GPS ডেটা পাঠাচ্ছে।
+
+ ```output
+ Python EventHub trigger processed an event: {"gps": {"lat": 47.73481, "lon": -122.25701}}
+ ```
+
+## Azure Storage Accounts
+
+
+
+Azure Storage Accounts একটি সাধারণ উদ্দেশ্য স্টোরেজ পরিষেবা যা বিভিন্ন উপায়ে ডেটা সংরক্ষণ করতে পারে। আপনি ব্লব, কিউ, টেবিল বা ফাইল আকারে ডেটা সংরক্ষণ করতে পারেন এবং একই সময়ে সবকিছু করতে পারেন।
+
+### Blob storage
+
+*Blob* শব্দটি বাইনারি বড় অবজেক্ট বোঝায়, তবে এটি এখন যেকোনো অগঠিত ডেটার জন্য ব্যবহৃত হয়। আপনি Blob স্টোরেজে যেকোনো ডেটা সংরক্ষণ করতে পারেন, যেমন IoT ডেটা সম্বলিত JSON ডকুমেন্ট, ছবি বা মুভি ফাইল। Blob স্টোরেজে *কন্টেইনার* ধারণা রয়েছে, যা নামকৃত বাক্স যেখানে আপনি ডেটা সংরক্ষণ করতে পারেন, এটি রিলেশনাল ডাটাবেসের টেবিলের মতো। এই কন্টেইনারগুলিতে এক বা একাধিক ফোল্ডার থাকতে পারে যেখানে ব্লব সংরক্ষণ করা হয়, এবং প্রতিটি ফোল্ডারে অন্যান্য ফোল্ডার থাকতে পারে, ঠিক যেমন আপনার কম্পিউটারের হার্ড ডিস্কে ফাইল সংরক্ষণ করা হয়।
+
+এই পাঠে আপনি IoT ডেটা সংরক্ষণের জন্য Blob স্টোরেজ ব্যবহার করবেন।
+
+✅ কিছু গবেষণা করুন: [Azure Blob Storage](https://docs.microsoft.com/azure/storage/blobs/storage-blobs-overview?WT.mc_id=academic-17441-jabenn) সম্পর্কে পড়ুন।
+
+### Table storage
+
+Table storage আপনাকে আধা-গঠিত ডেটা সংরক্ষণ করতে দেয়। Table storage আসলে একটি NoSQL ডাটাবেস, তাই এটি পূর্বে সংজ্ঞায়িত টেবিলের সেট প্রয়োজন হয় না, তবে এটি এক বা একাধিক টেবিলে ডেটা সংরক্ষণের জন্য ডিজাইন করা হয়েছে, যেখানে প্রতিটি সারি নির্ধারণের জন্য ইউনিক কী থাকে।
+
+✅ কিছু গবেষণা করুন: [Azure Table Storage](https://docs.microsoft.com/azure/storage/tables/table-storage-overview?WT.mc_id=academic-17441-jabenn) সম্পর্কে পড়ুন।
+
+### Queue storage
+
+Queue storage আপনাকে 64KB পর্যন্ত আকারের বার্তা একটি কিউতে সংরক্ষণ করতে দেয়। আপনি বার্তাগুলি কিউয়ের পিছনে যোগ করতে পারেন এবং সামনের দিক থেকে পড়তে পারেন। কিউ বার্তাগুলি অনির্দিষ্টকালের জন্য সংরক্ষণ করে যতক্ষণ পর্যন্ত স্টোরেজ স্পেস উপলব্ধ থাকে, তাই এটি বার্তাগুলি দীর্ঘমেয়াদে সংরক্ষণ করতে দেয় এবং প্রয়োজন হলে পড়া যায়। উদাহরণস্বরূপ, যদি আপনি GPS ডেটা প্রক্রিয়া করার জন্য একটি মাসিক কাজ চালাতে চান, আপনি প্রতিদিন একটি কিউতে বার্তা যোগ করতে পারেন এবং মাসের শেষে সমস্ত বার্তা প্রক্রিয়া করতে পারেন।
+
+✅ কিছু গবেষণা করুন: [Azure Queue Storage](https://docs.microsoft.com/azure/storage/queues/storage-queues-introduction?WT.mc_id=academic-17441-jabenn) সম্পর্কে পড়ুন।
+
+### File storage
+
+File storage হলো ক্লাউডে ফাইল সংরক্ষণ, এবং যেকোনো অ্যাপ বা ডিভাইস শিল্প মান প্রোটোকল ব্যবহার করে সংযোগ করতে পারে। আপনি ফাইল স্টোরেজে ফাইল লিখতে পারেন, তারপর এটি আপনার PC বা Mac-এ একটি ড্রাইভ হিসেবে মাউন্ট করতে পারেন।
+
+✅ কিছু গবেষণা করুন: [Azure File Storage](https://docs.microsoft.com/azure/storage/files/storage-files-introduction?WT.mc_id=academic-17441-jabenn) সম্পর্কে পড়ুন।
+
+## আপনার সার্ভারলেস কোডকে স্টোরেজের সাথে সংযুক্ত করুন
+
+আপনার ফাংশন অ্যাপ এখন Blob স্টোরেজের সাথে সংযুক্ত হতে হবে যাতে IoT Hub থেকে বার্তাগুলি সংরক্ষণ করা যায়। এটি করার দুটি উপায় রয়েছে:
+
+* ফাংশন কোডের ভিতরে Blob স্টোরেজের সাথে সংযোগ করুন এবং Blob স্টোরেজ Python SDK ব্যবহার করে ডেটা লিখুন।
+* একটি আউটপুট ফাংশন বাইন্ডিং ব্যবহার করুন যা ফাংশনের রিটার্ন ভ্যালুকে Blob স্টোরেজের সাথে বাইন্ড করে এবং Blob স্বয়ংক্রিয়ভাবে সংরক্ষণ করে।
+
+এই পাঠে, আপনি Blob স্টোরেজের সাথে কীভাবে ইন্টারঅ্যাক্ট করবেন তা দেখতে Python SDK ব্যবহার করবেন।
+
+
+
+ডেটা একটি JSON Blob হিসেবে নিম্নলিখিত ফরম্যাটে সংরক্ষণ করা হবে:
+
+```json
+{
+ "device_id": ,
+ "timestamp" :