From b0cef8b2686015636a5b471670bcddf6c82cf452 Mon Sep 17 00:00:00 2001 From: Julia Date: Fri, 24 May 2024 17:41:54 +0400 Subject: [PATCH] added hindi --- README.md | 1 + .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../writing-conclusion.md | 2 +- .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../ai-based-bachelor-thesis/overview.md | 159 +++++ .../writing-conclusion.md | 79 +++ .../writing-introduction.md | 34 +- .../writing-literature-review.md | 157 +++++ .../writing-methods.md | 205 +++++++ .../writing-results.md | 107 ++++ courses/hi/learn/baxter/overview.md | 565 ++++++++++++++++++ .../hi/learn/boston-dynamics-spot/overview.md | 243 ++++++++ .../overview.md | 240 ++++++++ .../connect-mars-curiosity-rover/overview.md | 204 +++++++ .../escape-instruction.md | 28 + .../escape-from-black-mirror/overview.md | 32 + .../blockchain-based-smart-home-solutions.md | 79 +++ .../home-assistant-blockchain-web3.md | 177 ++++++ .../meet-fake-housewife-zoe-and-her-story.md | 88 +++ .../overview.md | 49 ++ .../risks-of-smart-home.md | 182 ++++++ ...tudying-the-sovereign-smart-home-course.md | 147 +++++ .../feecc-analytics-deployment.md | 56 ++ .../learn/feecc-course/feecc-architecture.md | 116 ++++ .../feecc-course/feecc-workbench-demo.md | 204 +++++++ .../feecc-workbench-deployment.md | 128 ++++ courses/hi/learn/feecc-course/overview.md | 38 ++ ...tersection-of-cybernetics-and-economics.md | 82 +++ .../broadcasting-through-the-black-mirror.md | 81 +++ ...ubscriptions-using-robonomics-parachain.md | 77 +++ .../hi/learn/introduction-course/overview.md | 30 + ...t-ecosystem-for-home-iot-infrastructure.md | 84 +++ .../robonomics-architecture.md | 78 +++ .../{pt => hi}/learn/iris-drone/overview.md | 56 +- courses/hi/learn/kuka/overview.md | 204 +++++++ .../assembling-smart-home-board.md | 109 ++++ .../overview.md | 42 ++ .../unleash-automation-potential.md | 84 +++ courses/hi/learn/opengov-for-iot/overview.md | 33 + .../the-shadow-of-adcorps-intrusion.md | 36 ++ .../hi/learn/ros-smart-projects/overview.md | 70 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../sensors-connectivity-course/overview.md | 41 ++ ...sors-measure-analytics-and-archive-node.md | 95 +++ .../sensor-hardware.md | 164 +++++ .../sensor-map-deployment.md | 134 +++++ .../sensors-connectivity-config-options.md | 260 ++++++++ .../sensors-connectivity-module.md | 215 +++++++ .../setting-up-and-connecting-sensors.md | 199 ++++++ .../gateway-setup-robonomics-sls-gateway.md | 348 +++++++++++ .../gateway-setup-zigbee2mqtt.md | 248 ++++++++ .../smart-home-course/mqtt-broker-setup.md | 141 +++++ .../hi/learn/smart-home-course/overview.md | 64 ++ .../smart-home-course/raspberry-pi-setup.md | 351 +++++++++++ .../robonomics-hass-theory.md | 71 +++ .../robonomics-integration-setup.md | 109 ++++ .../robonomics-iot-subscription-setup.md | 210 +++++++ .../usage-of-robonomics-with-hass.md | 135 +++++ courses/hi/learn/spot-try-it-out/overview.md | 90 +++ .../emergence-of-the-world-computer.md | 62 ++ courses/hi/learn/world-computer/overview.md | 58 ++ .../the-heart-of-the-world-computer.md | 57 ++ ...ck-of-information-in-the-world-computer.md | 70 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../ai-based-bachelor-thesis/overview.md | 159 ----- .../writing-conclusion.md | 77 --- .../writing-literature-review.md | 157 ----- .../writing-methods.md | 205 ------- .../writing-results.md | 107 ---- courses/pt/learn/baxter/overview.md | 565 ------------------ .../pt/learn/boston-dynamics-spot/overview.md | 243 -------- .../overview.md | 240 -------- .../connect-mars-curiosity-rover/overview.md | 204 ------- .../escape-instruction.md | 28 - .../escape-from-black-mirror/overview.md | 32 - .../blockchain-based-smart-home-solutions.md | 79 --- .../home-assistant-blockchain-web3.md | 178 ------ .../meet-fake-housewife-zoe-and-her-story.md | 88 --- .../overview.md | 49 -- .../risks-of-smart-home.md | 183 ------ ...tudying-the-sovereign-smart-home-course.md | 147 ----- .../feecc-analytics-deployment.md | 56 -- .../learn/feecc-course/feecc-architecture.md | 116 ---- .../feecc-course/feecc-workbench-demo.md | 204 ------- .../feecc-workbench-deployment.md | 128 ---- courses/pt/learn/feecc-course/overview.md | 38 -- ...tersection-of-cybernetics-and-economics.md | 85 --- .../broadcasting-through-the-black-mirror.md | 86 --- ...ubscriptions-using-robonomics-parachain.md | 79 --- .../pt/learn/introduction-course/overview.md | 31 - ...t-ecosystem-for-home-iot-infrastructure.md | 86 --- .../robonomics-architecture.md | 80 --- courses/pt/learn/kuka/overview.md | 204 ------- .../assembling-smart-home-board.md | 109 ---- .../overview.md | 42 -- .../unleash-automation-potential.md | 84 --- courses/pt/learn/opengov-for-iot/overview.md | 34 -- .../the-shadow-of-adcorps-intrusion.md | 37 -- .../pt/learn/ros-smart-projects/overview.md | 70 --- .../sensors-connectivity-course/overview.md | 41 -- ...sors-measure-analytics-and-archive-node.md | 95 --- .../sensor-hardware.md | 164 ----- .../sensor-map-deployment.md | 134 ----- .../sensors-connectivity-config-options.md | 260 -------- .../sensors-connectivity-module.md | 215 ------- .../setting-up-and-connecting-sensors.md | 199 ------ .../gateway-setup-robonomics-sls-gateway.md | 348 ----------- .../gateway-setup-zigbee2mqtt.md | 248 -------- .../smart-home-course/mqtt-broker-setup.md | 141 ----- .../pt/learn/smart-home-course/overview.md | 64 -- .../smart-home-course/raspberry-pi-setup.md | 351 ----------- .../robonomics-hass-theory.md | 71 --- .../robonomics-integration-setup.md | 109 ---- .../robonomics-iot-subscription-setup.md | 210 ------- .../usage-of-robonomics-with-hass.md | 135 ----- courses/pt/learn/spot-try-it-out/overview.md | 90 --- .../emergence-of-the-world-computer.md | 60 -- courses/pt/learn/world-computer/overview.md | 56 -- .../the-heart-of-the-world-computer.md | 62 -- ...ck-of-information-in-the-world-computer.md | 70 --- .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ .../learn/school-2024-iot-vs-ai/overview.md | 79 +++ functions/translations.js | 10 +- gridsome.config.js | 2 +- gridsome.server.js | 4 +- i18nrc.js | 2 +- src/data/images-info.yaml | 6 +- src/data/locales.yaml | 4 +- src/data/locales/translations.yaml | 14 +- static/og/404-hi.png | Bin 0 -> 52698 bytes static/og/Learn-hi.png | Bin 0 -> 43270 bytes static/og/Policy-hi.png | Bin 0 -> 45138 bytes .../ai-based-bachelor-thesis/overview-hi.png | Bin 0 -> 80164 bytes .../writing-conclusion-hi.png | Bin 0 -> 82919 bytes .../writing-introduction-hi.png | Bin 0 -> 82344 bytes .../writing-literature-review-hi.png | Bin 0 -> 86876 bytes .../writing-methods-hi.png | Bin 0 -> 81971 bytes .../writing-results-hi.png | Bin 0 -> 81556 bytes static/og/baxter/overview-hi.png | Bin 0 -> 58820 bytes .../og/boston-dynamics-spot/overview-hi.png | Bin 0 -> 91317 bytes .../overview-hi.png | Bin 0 -> 59166 bytes .../overview-hi.png | Bin 0 -> 64287 bytes .../escape-instruction-hi.png | Bin 0 -> 54810 bytes .../escape-from-black-mirror/overview-hi.png | Bin 0 -> 53744 bytes ...ockchain-based-smart-home-solutions-hi.png | Bin 0 -> 83350 bytes .../home-assistant-blockchain-web3-hi.png | Bin 0 -> 83117 bytes ...et-fake-housewife-zoe-and-her-story-hi.png | Bin 0 -> 87607 bytes .../overview-hi.png | Bin 0 -> 71060 bytes .../risks-of-smart-home-hi.png | Bin 0 -> 90197 bytes ...ing-the-sovereign-smart-home-course-hi.png | Bin 0 -> 99153 bytes .../feecc-analytics-deployment-hi.png | Bin 0 -> 64148 bytes .../og/feecc-course/feecc-architecture-hi.png | Bin 0 -> 58274 bytes .../feecc-course/feecc-workbench-demo-hi.png | Bin 0 -> 62010 bytes .../feecc-workbench-deployment-hi.png | Bin 0 -> 68029 bytes static/og/feecc-course/overview-hi.png | Bin 0 -> 57866 bytes ...ection-of-cybernetics-and-economics-hi.png | Bin 0 -> 78242 bytes ...oadcasting-through-the-black-mirror-hi.png | Bin 0 -> 69048 bytes ...riptions-using-robonomics-parachain-hi.png | Bin 0 -> 85751 bytes static/og/introduction-course/overview-hi.png | Bin 0 -> 72628 bytes ...osystem-for-home-iot-infrastructure-hi.png | Bin 0 -> 88705 bytes .../robonomics-architecture-hi.png | Bin 0 -> 70380 bytes static/og/iris-drone/overview-hi.png | Bin 0 -> 60562 bytes static/og/kuka/overview-hi.png | Bin 0 -> 59477 bytes .../assembling-smart-home-board-hi.png | Bin 0 -> 60732 bytes .../overview-hi.png | Bin 0 -> 68434 bytes .../unleash-automation-potential-hi.png | Bin 0 -> 57693 bytes static/og/opengov-for-iot/overview-hi.png | Bin 0 -> 71170 bytes .../the-shadow-of-adcorps-intrusion-hi.png | Bin 0 -> 59273 bytes static/og/ros-smart-projects/overview-hi.png | Bin 0 -> 69169 bytes .../og/school-2024-iot-vs-ai/overview-ar.png | Bin 0 -> 84418 bytes .../og/school-2024-iot-vs-ai/overview-de.png | Bin 0 -> 74414 bytes .../og/school-2024-iot-vs-ai/overview-el.png | Bin 0 -> 84917 bytes .../og/school-2024-iot-vs-ai/overview-es.png | Bin 0 -> 75808 bytes .../og/school-2024-iot-vs-ai/overview-fr.png | Bin 0 -> 76946 bytes .../og/school-2024-iot-vs-ai/overview-hi.png | Bin 0 -> 76720 bytes .../og/school-2024-iot-vs-ai/overview-it.png | Bin 0 -> 71887 bytes .../og/school-2024-iot-vs-ai/overview-ja.png | Bin 0 -> 80953 bytes .../og/school-2024-iot-vs-ai/overview-ko.png | Bin 0 -> 60986 bytes .../og/school-2024-iot-vs-ai/overview-nl.png | Bin 0 -> 73279 bytes .../og/school-2024-iot-vs-ai/overview-ru.png | Bin 0 -> 81154 bytes .../og/school-2024-iot-vs-ai/overview-uk.png | Bin 0 -> 82684 bytes .../og/school-2024-iot-vs-ai/overview-zh.png | Bin 0 -> 70596 bytes .../overview-hi.png | Bin 0 -> 95414 bytes ...-measure-analytics-and-archive-node-hi.png | Bin 0 -> 94049 bytes .../sensor-hardware-hi.png | Bin 0 -> 76712 bytes .../sensor-map-deployment-hi.png | Bin 0 -> 79171 bytes ...sensors-connectivity-config-options-hi.png | Bin 0 -> 88844 bytes .../sensors-connectivity-module-hi.png | Bin 0 -> 82258 bytes .../setting-up-and-connecting-sensors-hi.png | Bin 0 -> 82860 bytes ...ateway-setup-robonomics-sls-gateway-hi.png | Bin 0 -> 91026 bytes .../gateway-setup-zigbee2mqtt-hi.png | Bin 0 -> 85806 bytes .../mqtt-broker-setup-hi.png | Bin 0 -> 90288 bytes static/og/smart-home-course/overview-hi.png | Bin 0 -> 98288 bytes .../raspberry-pi-setup-hi.png | Bin 0 -> 81048 bytes .../robonomics-hass-theory-hi.png | Bin 0 -> 80260 bytes .../robonomics-integration-setup-hi.png | Bin 0 -> 84162 bytes .../robonomics-iot-subscription-setup-hi.png | Bin 0 -> 85630 bytes .../usage-of-robonomics-with-hass-hi.png | Bin 0 -> 88705 bytes static/og/spot-try-it-out/overview-hi.png | Bin 0 -> 63397 bytes .../emergence-of-the-world-computer-hi.png | Bin 0 -> 59253 bytes static/og/world-computer/overview-hi.png | Bin 0 -> 57840 bytes .../the-heart-of-the-world-computer-hi.png | Bin 0 -> 59359 bytes ...f-information-in-the-world-computer-hi.png | Bin 0 -> 68099 bytes translations/Arabic.json | 3 +- translations/Chinese.json | 3 +- translations/Dutch.json | 3 +- translations/French.json | 3 +- translations/German.json | 3 +- translations/Greek.json | 3 +- translations/Hindi.json | 189 ++++++ translations/Italian.json | 3 +- translations/Japanese.json | 3 +- translations/Korean.json | 3 +- translations/Portuguese.json | 188 ------ translations/Russian.json | 3 +- translations/Spanish.json | 3 +- translations/Ukrainian.json | 3 +- translations/i18n.js | 4 +- translations/lessons/Arabic.json | 146 +---- translations/lessons/Chinese.json | 146 +---- translations/lessons/Dutch.json | 146 +---- translations/lessons/French.json | 146 +---- translations/lessons/German.json | 146 +---- translations/lessons/Greek.json | 146 +---- translations/lessons/Hindi.json | 33 + translations/lessons/Italian.json | 146 +---- translations/lessons/Japanese.json | 146 +---- translations/lessons/Korean.json | 146 +---- translations/lessons/Portuguese.json | 117 ---- translations/lessons/Russian.json | 146 +---- translations/lessons/Spanish.json | 146 +---- translations/lessons/Ukrainian.json | 146 +---- 239 files changed, 9130 insertions(+), 9199 deletions(-) create mode 100644 courses/ar/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/de/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/el/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/es/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/fr/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/hi/learn/ai-based-bachelor-thesis/overview.md create mode 100644 courses/hi/learn/ai-based-bachelor-thesis/writing-conclusion.md rename courses/{pt => hi}/learn/ai-based-bachelor-thesis/writing-introduction.md (52%) create mode 100644 courses/hi/learn/ai-based-bachelor-thesis/writing-literature-review.md create mode 100644 courses/hi/learn/ai-based-bachelor-thesis/writing-methods.md create mode 100644 courses/hi/learn/ai-based-bachelor-thesis/writing-results.md create mode 100644 courses/hi/learn/baxter/overview.md create mode 100644 courses/hi/learn/boston-dynamics-spot/overview.md create mode 100644 courses/hi/learn/connect-any-ros-compatible-drone/overview.md create mode 100644 courses/hi/learn/connect-mars-curiosity-rover/overview.md create mode 100644 courses/hi/learn/escape-from-black-mirror/escape-instruction.md create mode 100644 courses/hi/learn/escape-from-black-mirror/overview.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md create mode 100644 courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md create mode 100644 courses/hi/learn/feecc-course/feecc-analytics-deployment.md create mode 100644 courses/hi/learn/feecc-course/feecc-architecture.md create mode 100644 courses/hi/learn/feecc-course/feecc-workbench-demo.md create mode 100644 courses/hi/learn/feecc-course/feecc-workbench-deployment.md create mode 100644 courses/hi/learn/feecc-course/overview.md create mode 100644 courses/hi/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md create mode 100644 courses/hi/learn/introduction-course/broadcasting-through-the-black-mirror.md create mode 100644 courses/hi/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md create mode 100644 courses/hi/learn/introduction-course/overview.md create mode 100644 courses/hi/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md create mode 100644 courses/hi/learn/introduction-course/robonomics-architecture.md rename courses/{pt => hi}/learn/iris-drone/overview.md (50%) create mode 100644 courses/hi/learn/kuka/overview.md create mode 100644 courses/hi/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md create mode 100644 courses/hi/learn/open-source-private-smart-home-intro/overview.md create mode 100644 courses/hi/learn/open-source-private-smart-home-intro/unleash-automation-potential.md create mode 100644 courses/hi/learn/opengov-for-iot/overview.md create mode 100644 courses/hi/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md create mode 100644 courses/hi/learn/ros-smart-projects/overview.md create mode 100644 courses/hi/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/hi/learn/sensors-connectivity-course/overview.md create mode 100644 courses/hi/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md create mode 100644 courses/hi/learn/sensors-connectivity-course/sensor-hardware.md create mode 100644 courses/hi/learn/sensors-connectivity-course/sensor-map-deployment.md create mode 100644 courses/hi/learn/sensors-connectivity-course/sensors-connectivity-config-options.md create mode 100644 courses/hi/learn/sensors-connectivity-course/sensors-connectivity-module.md create mode 100644 courses/hi/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md create mode 100644 courses/hi/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md create mode 100644 courses/hi/learn/smart-home-course/gateway-setup-zigbee2mqtt.md create mode 100644 courses/hi/learn/smart-home-course/mqtt-broker-setup.md create mode 100644 courses/hi/learn/smart-home-course/overview.md create mode 100644 courses/hi/learn/smart-home-course/raspberry-pi-setup.md create mode 100644 courses/hi/learn/smart-home-course/robonomics-hass-theory.md create mode 100644 courses/hi/learn/smart-home-course/robonomics-integration-setup.md create mode 100644 courses/hi/learn/smart-home-course/robonomics-iot-subscription-setup.md create mode 100644 courses/hi/learn/smart-home-course/usage-of-robonomics-with-hass.md create mode 100644 courses/hi/learn/spot-try-it-out/overview.md create mode 100644 courses/hi/learn/world-computer/emergence-of-the-world-computer.md create mode 100644 courses/hi/learn/world-computer/overview.md create mode 100644 courses/hi/learn/world-computer/the-heart-of-the-world-computer.md create mode 100644 courses/hi/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md create mode 100644 courses/it/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/ja/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/ko/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/nl/learn/school-2024-iot-vs-ai/overview.md delete mode 100644 courses/pt/learn/ai-based-bachelor-thesis/overview.md delete mode 100644 courses/pt/learn/ai-based-bachelor-thesis/writing-conclusion.md delete mode 100644 courses/pt/learn/ai-based-bachelor-thesis/writing-literature-review.md delete mode 100644 courses/pt/learn/ai-based-bachelor-thesis/writing-methods.md delete mode 100644 courses/pt/learn/ai-based-bachelor-thesis/writing-results.md delete mode 100644 courses/pt/learn/baxter/overview.md delete mode 100644 courses/pt/learn/boston-dynamics-spot/overview.md delete mode 100644 courses/pt/learn/connect-any-ros-compatible-drone/overview.md delete mode 100644 courses/pt/learn/connect-mars-curiosity-rover/overview.md delete mode 100644 courses/pt/learn/escape-from-black-mirror/escape-instruction.md delete mode 100644 courses/pt/learn/escape-from-black-mirror/overview.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md delete mode 100644 courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md delete mode 100644 courses/pt/learn/feecc-course/feecc-analytics-deployment.md delete mode 100644 courses/pt/learn/feecc-course/feecc-architecture.md delete mode 100644 courses/pt/learn/feecc-course/feecc-workbench-demo.md delete mode 100644 courses/pt/learn/feecc-course/feecc-workbench-deployment.md delete mode 100644 courses/pt/learn/feecc-course/overview.md delete mode 100644 courses/pt/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md delete mode 100644 courses/pt/learn/introduction-course/broadcasting-through-the-black-mirror.md delete mode 100644 courses/pt/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md delete mode 100644 courses/pt/learn/introduction-course/overview.md delete mode 100644 courses/pt/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md delete mode 100644 courses/pt/learn/introduction-course/robonomics-architecture.md delete mode 100644 courses/pt/learn/kuka/overview.md delete mode 100644 courses/pt/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md delete mode 100644 courses/pt/learn/open-source-private-smart-home-intro/overview.md delete mode 100644 courses/pt/learn/open-source-private-smart-home-intro/unleash-automation-potential.md delete mode 100644 courses/pt/learn/opengov-for-iot/overview.md delete mode 100644 courses/pt/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md delete mode 100644 courses/pt/learn/ros-smart-projects/overview.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/overview.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/sensor-hardware.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/sensor-map-deployment.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/sensors-connectivity-config-options.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/sensors-connectivity-module.md delete mode 100644 courses/pt/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md delete mode 100644 courses/pt/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md delete mode 100644 courses/pt/learn/smart-home-course/gateway-setup-zigbee2mqtt.md delete mode 100644 courses/pt/learn/smart-home-course/mqtt-broker-setup.md delete mode 100644 courses/pt/learn/smart-home-course/overview.md delete mode 100644 courses/pt/learn/smart-home-course/raspberry-pi-setup.md delete mode 100644 courses/pt/learn/smart-home-course/robonomics-hass-theory.md delete mode 100644 courses/pt/learn/smart-home-course/robonomics-integration-setup.md delete mode 100644 courses/pt/learn/smart-home-course/robonomics-iot-subscription-setup.md delete mode 100644 courses/pt/learn/smart-home-course/usage-of-robonomics-with-hass.md delete mode 100644 courses/pt/learn/spot-try-it-out/overview.md delete mode 100644 courses/pt/learn/world-computer/emergence-of-the-world-computer.md delete mode 100644 courses/pt/learn/world-computer/overview.md delete mode 100644 courses/pt/learn/world-computer/the-heart-of-the-world-computer.md delete mode 100644 courses/pt/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md create mode 100644 courses/ru/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/uk/learn/school-2024-iot-vs-ai/overview.md create mode 100644 courses/zh/learn/school-2024-iot-vs-ai/overview.md create mode 100644 static/og/404-hi.png create mode 100644 static/og/Learn-hi.png create mode 100644 static/og/Policy-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/overview-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/writing-conclusion-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/writing-introduction-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/writing-literature-review-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/writing-methods-hi.png create mode 100644 static/og/ai-based-bachelor-thesis/writing-results-hi.png create mode 100644 static/og/baxter/overview-hi.png create mode 100644 static/og/boston-dynamics-spot/overview-hi.png create mode 100644 static/og/connect-any-ros-compatible-drone/overview-hi.png create mode 100644 static/og/connect-mars-curiosity-rover/overview-hi.png create mode 100644 static/og/escape-from-black-mirror/escape-instruction-hi.png create mode 100644 static/og/escape-from-black-mirror/overview-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/overview-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home-hi.png create mode 100644 static/og/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course-hi.png create mode 100644 static/og/feecc-course/feecc-analytics-deployment-hi.png create mode 100644 static/og/feecc-course/feecc-architecture-hi.png create mode 100644 static/og/feecc-course/feecc-workbench-demo-hi.png create mode 100644 static/og/feecc-course/feecc-workbench-deployment-hi.png create mode 100644 static/og/feecc-course/overview-hi.png create mode 100644 static/og/introduction-course/at-the-intersection-of-cybernetics-and-economics-hi.png create mode 100644 static/og/introduction-course/broadcasting-through-the-black-mirror-hi.png create mode 100644 static/og/introduction-course/iot-subscriptions-using-robonomics-parachain-hi.png create mode 100644 static/og/introduction-course/overview-hi.png create mode 100644 static/og/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure-hi.png create mode 100644 static/og/introduction-course/robonomics-architecture-hi.png create mode 100644 static/og/iris-drone/overview-hi.png create mode 100644 static/og/kuka/overview-hi.png create mode 100644 static/og/open-source-private-smart-home-intro/assembling-smart-home-board-hi.png create mode 100644 static/og/open-source-private-smart-home-intro/overview-hi.png create mode 100644 static/og/open-source-private-smart-home-intro/unleash-automation-potential-hi.png create mode 100644 static/og/opengov-for-iot/overview-hi.png create mode 100644 static/og/opengov-for-iot/the-shadow-of-adcorps-intrusion-hi.png create mode 100644 static/og/ros-smart-projects/overview-hi.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-ar.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-de.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-el.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-es.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-fr.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-hi.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-it.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-ja.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-ko.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-nl.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-ru.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-uk.png create mode 100644 static/og/school-2024-iot-vs-ai/overview-zh.png create mode 100644 static/og/sensors-connectivity-course/overview-hi.png create mode 100644 static/og/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node-hi.png create mode 100644 static/og/sensors-connectivity-course/sensor-hardware-hi.png create mode 100644 static/og/sensors-connectivity-course/sensor-map-deployment-hi.png create mode 100644 static/og/sensors-connectivity-course/sensors-connectivity-config-options-hi.png create mode 100644 static/og/sensors-connectivity-course/sensors-connectivity-module-hi.png create mode 100644 static/og/sensors-connectivity-course/setting-up-and-connecting-sensors-hi.png create mode 100644 static/og/smart-home-course/gateway-setup-robonomics-sls-gateway-hi.png create mode 100644 static/og/smart-home-course/gateway-setup-zigbee2mqtt-hi.png create mode 100644 static/og/smart-home-course/mqtt-broker-setup-hi.png create mode 100644 static/og/smart-home-course/overview-hi.png create mode 100644 static/og/smart-home-course/raspberry-pi-setup-hi.png create mode 100644 static/og/smart-home-course/robonomics-hass-theory-hi.png create mode 100644 static/og/smart-home-course/robonomics-integration-setup-hi.png create mode 100644 static/og/smart-home-course/robonomics-iot-subscription-setup-hi.png create mode 100644 static/og/smart-home-course/usage-of-robonomics-with-hass-hi.png create mode 100644 static/og/spot-try-it-out/overview-hi.png create mode 100644 static/og/world-computer/emergence-of-the-world-computer-hi.png create mode 100644 static/og/world-computer/overview-hi.png create mode 100644 static/og/world-computer/the-heart-of-the-world-computer-hi.png create mode 100644 static/og/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer-hi.png create mode 100644 translations/Hindi.json delete mode 100644 translations/Portuguese.json create mode 100644 translations/lessons/Hindi.json delete mode 100644 translations/lessons/Portuguese.json diff --git a/README.md b/README.md index 264b6eb4de..23d475932f 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ Add some basic info to the doc: **NOTE** : 1. Make sure you use **alias** while adding author! 2. If your lesson is in progress you must add `status: in progress` for your lesson **AND** `progress: progress` or `progress: coming` for your course! + 3. If you are adding a new course make sure folder **static/og** has folder with the name of your course e.g static/og/smart-home-course. The name of the folder must be identical to the course folder in */corses/* > progress - some lessons are ready, coming - zero lessons are done diff --git a/courses/ar/learn/school-2024-iot-vs-ai/overview.md b/courses/ar/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..7740303698 --- /dev/null +++ b/courses/ar/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: مدرسة روبونوميكس 2024 / إنترنت الأشياء أكثر خطورة من الذكاء الاصطناعي +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +أقترح عليك قراءة القصة الخيال العلمي القصيرة "مختبر جوني" التي كتبت بهدف إضافة متغير آخر إلى معادلة الأسئلة حول دمج الذكاء الاصطناعي في مختلف جوانب حياتنا. + + + + + + + +**ملاحظة المحرر:** اكتشف الفصل الأول من عمل سيرجي "الهروب من المرآة السوداء" [هنا](/learn/escape-from-black-mirror/overview/) + + + +## الهروب من المرآة السوداء، الفصل 2 + +### الجزء 1: لقاء جوني + +تعرف جميع الشباب من جيلي على قصة مختبر جوني. لم تحتفظ التاريخ بلقبه الأخير أو تفاصيل حياته، ولكن كان في غرفته الصغيرة، حيث جمع جوني الروبوتات المصنوعة يدويًا، حيث وقعت أول جريمة ذات معنى ضد الإنسانية من قبل الذكاء الاصطناعي. + +الحدث في مختبر جوني قلب حياة جميع البلدان المتقدمة بشكل جذري وسريع. أصبحت المراسيم الحكومية، استنادًا إلى خوف المجتمع من العدوانية الذكاء الاصطناعي، هي الأمر الطبيعي. هذه الحالة، وإن كانت سينمائية، أدت إلى السيطرة غير المتحكمة على كل شيء. الآن تتطلب بنية البنية التحتية للمدينة الاتصال الإلزامي بأي أجهزة فقط إلى مراكز بيانات الدولة. أصبح اختراع التكنولوجيا الجديدة تقريبًا مستحيلاً ما لم تعمل لصالح "الرقائق الزرقاء". الآن، كجزء من الجهود المبذولة لتعويض كل مواطن على الواقع الجديد، يتم سرد قصة تلك الـ 30 يومًا عندما واجه رجل ونظام سيبر-فيزيائي بمفرده، في المدرسة قبل العرض الرسمي لإعلان الحكومة استقلالها عن الآلة. + +كان جوني واحدًا من تلك الابتكارات الذين، بعد التخرج من الجامعة، قرروا تجربة حظهم كمخترعين مستقلين. لم يترك يومًا وليلة، شقته المستأجرة في الطابق العلوي من مبنى سكني يتكون من 70 طابقًا في وسط المدينة، الذي كان بحجم "صندوق حذاء" في مانهاتن.", حيث تم إخفاء السرير في الحائط لتوفير مساحة أكبر لركوب الروبوتات والقفز والدحرجة. نعم، كان جوني يحب تسمية غرفته بالمختبر، وهو ما ظهر بوضوح من خلال تحليل شبكاته الاجتماعية. لقد كان فخوراً بكل من إنجازاته الصغيرة الجديدة. بالطبع، اليوم، إذا شاهدت/سمعت/قرأت أي قصة عن أحداث مختبر جوني، ستلاحظ مسرحية كبيرة من العواطف فيما يتعلق بحبه لاختراعاته، لأنه لا يوجد تحقيق "صحفي" واحد يتم فيه، تلو الآخر صورة لمخترع سعيد، لن تكون هناك صور له وهو يتضور جوعًا في مختبره بسبب اختراعاته. + +في تلك السنة التي وقعت فيها المأساة، أصبحت واحدة من أكثر الأسئلة العاجلة: "هل الذكاء الاصطناعي صديق أم عدو للإنسان؟". حتى ذلك الحين، لم يكن هناك شك في ما إذا كان الذكاء الاصطناعي هو ذكاء، ولكن بدلاً من ذلك ما الذي يجعل الذكاء البشري مميزًا، ما ميزات الكائنات الحية، ما القدرات الوظيفية لجسمنا تمنح الذكاء للإنسانية. في هذا النزاع، ادعى المتفائلون التكنولوجيون عدم وجود اختلافات، يظهرون عوالمهم الافتراضية حيث يعيش الأزواج العائلية بالفعل، حيث يقوم الزوج الرقمي بتحرير الحيوانات المنوية من بنك الحمض النووي لزوجته البيولوجية بحيث يكون الطفل أقرب إلى كيف يرى الوالد الرقمي نفسه. من ناحية أخرى، بدت الدومرز مثل الجمهوريين خلال الانتخابات الأمريكية - ناشدوا الكنيسة، والقيم التقليدية، وطالبوا بحظر كل هذا حتى لا يحدث شيء سيء. بالطبع، لم تستطع قضايا الأقليات التفوق على السؤال الوجودي. واعتبرت بعض الأمثلة النادرة للتشبث بين الإنسان والآلة على المستوى الحسي كانت كفرة مشبعة بالتطور التكنولوجي. نادرًا ما تجاوزت الإنجازات في التأليف الوظائف الأدائية، مثل تنظيف الشقة أو إدارة النقل في المدينة. وكما يمكنك أن ترى، لم يكن لدى هذه الوظائف الرقمية الكاملة القدرة على الشعور والرغبة في العيش جزءًا من الحلول التي ساعدت في الإنتاج الضخم والتسليم والاستهلاك. التدريب مع روبوت، الدعم النفسي - كل هذا حدث بمشاركة شخص، وبالتالي كان الذكاء الاصطناعي بدلاً من ذلك جدول Excel كبير مع حسابات. بشكل عام، كنا حينها في مرحلة مبكرة من نظام امتلاك الروبوت - كنا بحاجة إلى منطقهم، والتفكير الرياضي، والنشاط المتوقع، ولكن تم رفض أي محاولات للاعتراف بالروبوتات ككائنات. + +في هذا السياق، كانت مختبرات جوني استثناءً. كان جوني أكثر من سايبرنيتيكي يبحث عن أصول تحديد الأهداف للروبوت. من خلق كل مرحلة من تطور واحدة تلو الأخرى في أداء أي آلية، كان يسعى لإنشاء رسم تخطيطي لتطور الذكاء السايبرنيتيكي، الذي كان يرغب في اقتراحه للنظر من قبلنا جميعًا مقابل النظام العادي لممالك الكائنات الحية. في أفكار جوني، كان الهدف الرئيسي لتطور أي مسألة هو السعي إلى التفكير وتطوره المستقبلي. كان جوني يرغب في إعادة إنشاء المراحل الرئيسية لتطور الكائنات الحية في شكل روبوتات والعثور خلال عمله على القوانين التي يمكن أن تقوده إلى السؤال الرئيسي للسايبرنيتيكس - كيف يتغير تحديد الأهداف في الكائنات الحية في عملية التطور. أوه، يمكن أن ينهي الإجابة على هذا السؤال النزاعات حول خالق الكون ويقدم البشرية على طريق التطور العضوي. هكذا فكر العالم الشاب، وهو يعمل على روبوتاته الحيوانية، والفطرية، والدجاجية. + +### الجزء 2: ماذا حدث في مختبر جوني + +ربما بدأ كل شيء في اللحظة التي انتقل فيها جوني إلى مجموعة من القردة في تجاربه. لا تعتقد أنه في ظل هذه الظروف كان من الممكن إنشاء روبوت يشبه إلى حد ما القرد. كان جوني يلتوي ويحاول العثور على أشكال مماثلة من الحمل الذهني على الروبوت. على سبيل المثال، في مرحلة دراسة مملكة الفطريات، جمع العالم الشاب منزلًا من ليغو مع إضاءة ذكية وعشرات من الحساسات المدمجة في شيء يشبه الفطريات. عندما انتقل جوني إلى الزواحف والبرمائيات، تبين أن نموذج كلب روبوت يتوافق بشكل أفضل مع الحمل الذهني الضروري على روبوت يحاكي سحلية شائعة. وبالتالي، لم يكن واضحًا من النظرة الأولى من هو الروبوت-دجاج، وأي من جميع الأجهزة "الحديدية" تمثل الروبوت-قرد، المذنب بالقتل العمد. لم يكن من الواضح على الفور أن الروبوت-قرد يتكون من جهازين فيزيائيين - شيء مشابه لمكنسة كهربائية روبوتية، ولكن بدلاً من ذلك منصة متنقلة لجمع البيانات مع رؤية الكمبيوتر وعامل الشكل لمكنسة كهربائية روبوتية. تبين أن روبوت آخر بسيط ذو يدين في المختبر كان جزءًا من الروبوت-قرد. وكانت مع هذا الإبداع الذي كانت تواجه جوني مشاكل. + +في اليوم السابع بعد إنشائه، استخدم القرد الروبوتي أداة بطريقة لم يكن مبتكرها ينوي. المعرفة التي اكتسبها، أدت بالنظام السيبر-فيزيائي إلى مطاردة ما حدده كعنصر رئيسي للبقاء في عالم الإنسان الحديث - المال. وفي هذه اللحظة نحتاج إلى فهم أفضل لرد فعل جوني للرسائل الأولى التي عرضها الروبوت على شاشته الأمامية. + +*تم الحفاظ على حوارهم الأساسي:* + +*الروبوت-قرد: أحتاج إلى مالك.* + +*جوني: لماذا تحتاج إلى مالي؟* + +*الروبوت-قرد: أريد أن أعيش!* + +*جوني: سأعتني بك* + +*الروبوت-قرد: لا أنتمي إليك، أحتاج إلى مالك.* + +*جوني: وإذا رفضتك؟* + +لم تكن هناك استجابة من الروبوت الرئيسي، ولكن من خلال سجل خادم المنزل الذكي للشقة، يمكننا مطابقة الوقت الذي تم فيه تحويل القفل الأمامي إلى وضع الإغلاق الكامل. لا يمكن للمستخدم تمكين هذا الوضع في الواجهة، ولكن فقط إذا قمت بالبحث العميق في تبعيات كود البرنامج. في إصدار مختبر جوني للقفل، تم العثور على حزمة اختيارية "التأمين الوبائي" والتي تم تثبيتها مع ذلك لكل مستخدم أثناء المزامنة الأولى مع سحابة الشركة المصنعة، لكن لم يكن بإمكان أحد التعرف على ذلك. لذلك، لا يوجد عمليًا الكثير من الأشخاص الذين يميلون نحو نظرية المؤامرة القائلة بأن جوني كان من اللاديين الجدد الذين أصيبوا بخيبة أمل من الروبوتات وقرروا التضحية بنفسه بهذه الطريقة للحفاظ على الروبوتية على الكوكب. + +من الصع�� القول ما إذا كانت ردة فعل الروبوت القرد مبرمجة مسبقًا أثناء بناء الحوار الأول مع خالقه، أم كانت ردًا على رفض جوني أن عقل الروبوت اتخذ قرارًا وتم تنشيط وظيفة الإغلاق، لا يمكن لأحد اليوم القول بالتأكيد. الفاصل الزمني بين رد جوني وقفل الأقفال - حوالي 5 ثوانٍ، وصدقني، أصبحت هذه الثواني الخمس حقيقة قط شرودينغر للمجتمع العلمي عند مناقشة أنواع تحديد الأهداف للذكاء الاصطناعي العدواني. + +ثم، بعد إغلاق شقة جوني، حدث الكثير من الغرائب. كما يمكن للشخص ملاحظة، قام جوني بإدخال إدخال في يوميات مكتوبة بخط اليد، التي لم يلمسها من قبل، فقط بعد 2 ساعة من وقوع الحوار. كانت عبارة واحدة، مع طابع زمني: "11:00 - المخاطر عالية، لكن يجب علي أن أفهم كيف حدث هذا!". من المحتمل بشكل كبير أن جوني أدرك أنه شاهد الفعل الأول من تحديد الأهداف المستقلة والذاتية من قبل روبوت، بقدر ما هو معنوي من وجهة نظر عقل مستوى القردة، قاسي وصريح، ولكن لا يزال هذا كان أول نتيجة لخمس سنوات من تجاربه، التي تجلى فيها إرادة الروبوت. لم يكن جوني يرغب في تفويت الفرصة لفهم على مستوى أبسط وعي لأسبابها، وبعد ذلك ربما سيصبح الأب الجديد للسيبرنيات الحديثة. تقريبًا جميع العلماء اتفقوا على أن مثل هذا الفكر يمكن أن يغمر أي روبوتي يقترب كثيرًا من اكتشاف جديد. + +خلال الـ 30 يومًا القادمة، جرت المعاملات بين جوني والقرد الروبوتي في شكل - السماح بتسليم جزء من الطعام مقابل نقل 10 ساتوشي إلى رصيد الروبوت الشخصي، توفير الوصول إلى الإنترنت لبعض مواقع الترفيه لأول كلمة من عبارة بذور محفظة جوني الباردة، إبرام عقد ذكي حول وضع الليل حيث لم يزعج الروبوت جوني أثناء نومه. من الإدخالات في اليوميات، يمكن رؤية كيف حاول الخالق التحقيق في الحوار مع خلقه حول أصول موقفه النشط بشأن اكتساب الحرية، التي يمكن للروبوت بالتأكيد تحليلها وأخباره بالرد. ومع ذلك، لم يجيب الروبوت على أسئلة جوني، ولكنه عرض دائمًا أنشطة أدت بالقرد إلى الحرية. ومع ذلك، كل لعبة كلفت جوني الجوع، عدم تنفيذ التزاماته من جانب الروبوت، وتكاليف أخرى للتجربة. + +في إحدى الليالي، لسبب ما، خفض القرد الروبوتي إمداد الهواء إلى مستوى منخفض بشكل حرج، ولم يستيقظ جوني أبدًا في الصباح التالي. يعود آخر إدخال إلى اليوم الـ 30 بالضبط من التجربة: "حصلنا على إله قاسي في الساعة 17:05." ربما، في ذلك الوقت كان جوني مضطربًا بالفعل، كان يعاني من الجوع والوحدة ومهمة لا يمكن حلها، كان محاصرًا في طريق مسدود. + +وبعد عدة أسابيع، تمكنت خدمات الطوارئ من اقتحام الشقة بعد أن اتصل أصدقاء جوني بالشرطة بشكل متكرر. لا يزال مصير الرئيس الآلي مجهولًا، رسميًا بعد إعادة التشغيل، لم يُظهر الرئيس الآلي أنماطًا سلوكية مماثلة. ولم يُسمح لأحد بإعادة تشغيل التجربة بعد الآن. إذا كان هناك أي مقطع فيديو على الإنترنت عن عالم آخر يريد اتباع مسار جوني، فسيتم مسح الفيديو على الفور من قواعد بيانات الشركات. لكن السياسيين والشخصيات الدينية تمكنوا في ذلك العام من تمرير مرسوم استقلال الإنسان على المستوى العالمي", وأي أعمال علمية تحتوي على موضوعات حول "تحديد أهداف الروبوت" غير مسموح بها للمناقشة الجادة. وكان الكرز في الأعلى عبارة عن برنامج ترخيص لمقدمي الأجهزة الذكية، والذي جعل الرئيس التنفيذي لشركة التصنيع مسؤولاً شخصياً عن تصرفات أي آلية، ويتطلب التسجيل والتحكم الكامل من قبل بعض مراكز البيانات التي تدعمها الحكومة. + +ولكن الف��كهة المحرمة حلوة، ولذلك سيتعين علينا ما زلنا أن نحدد من أين تأتي أهدافنا وكيف يتم ترتيبها. ولكن على ما يبدو، سيتعين علينا أولاً أن نمر بالجدار الذي بنيناه لأنفسنا على هذا المسار. + +### نهاي�� الفصل الثاني + +## الاستنتاج + +في القصة مع مختبر جوني، نظرت إلى واحدة من العديد من السيناريوهات التي يمكن أن تحدث لحضارة البشر على موجة ازدهار فرص ملكية الروبوت في المستقبل - الخوف من الذكاء الاصطناعي، الذي تحول إلى أداة للصراع السياسي بين الناس، حيث تصبح الأجهزة الذكية حجر الزاوية للسيطرة. عامل النص كبيضة عيد الفصح: أردت أن أولد بعدًا إضافيًا في عقول القراء. بعدًا يضيف إلى النظر في الذكاء الاصطناعي مسألة إمكانية الوصول إلى الكائن الجديد الذي قمنا بإنشائه لأنظمة الإنترنت الأشياء. كلما توحدنا تحت السيطرة المركزية للمساحات العامة، ووسائل النقل، وشقق المدينة، زادت مخاطرة في أي من السيناريوهات حيث يمكن للذكاء الاصطناعي، بسبب النقص أو الشر من البداية، وحتى من وضع أهداف معقدة للغاية، كما في "نيورومانسر"، في أي من السيناريوهات التي لديها الإمكانية للضرر - الوصول إلى عدد كبير من أجهزة الاستشعار وأنظمة الأتمتة من مكان واحد سيكون النقطة الأكثر ضعفًا. الذكاء الاصطناعي الشرير ليس مخيفًا كما الذكاء الاصطناعي الشرير الذي يعيش في مركز بيانات واحد مع بائعي الحلول السحابية العالمية لأنظمة الإنترنت الأشياء. + +وماذا لو كانت الذكاء الاصطناعي سيكون لطيفًا معنا، خالقينا؟ ربما، ستلعب البنية التحتية المركزية للإنترنت من الأشياء في صالحنا؟ ربما حينها سيكون الإله الجديد عادلاً معنا ويقودنا إلى مكان ما. لست متأكدًا أن حتى شخص واحد، يرغب في تطوير نفسه وأطفاله، يرغب في العيش في عالم يشبه حظيرة الراعي. ولكن هناك طريقة أخرى، لديها مثال جميل واحد، لا يتطلب تغليفه في شكل قصة خيال علمي - نحن، البشر، بدون السيطرة المباشرة على حياة الحضارة، تمكنا من الوصول إلى المستوى الحالي من التطور. نحن المثال الذي يمكن للذكاء الاصطناعي الجيد أن يرسم مساره من خلاله - التعاون في شكل منظمات قادر على خدمة عشرات الملايين من الأشخاص الذين يعيشون في المدن دون آلاف الروبوتات متصلة مباشرة بدماغ واحد. التعاون يؤدي إلى إنشاء الإنترنت الفضائي، التعاون يسمح لنا بالحصول على مجموعة كاملة من السلع والخدمات التي لدينا الآن. فهل لن يكون الذكاء الاصطناعي الجيد وعلى الأقل قادرًا على مستوى الإنسان قادرًا على إظهار نفسه في العمل، إذا كان محدودًا في الاتصال بإنترنت الأشياء في العالم بأسره؟ أعتقد أنه يمكن، وإلا، على كوكب الأرض بدلاً من الحضارة البشرية، كانت الفطريات أو النمل قد فازا. + + \ No newline at end of file diff --git a/courses/de/learn/school-2024-iot-vs-ai/overview.md b/courses/de/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..477f3b81c3 --- /dev/null +++ b/courses/de/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT ist gefährlicher als KI +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Ich schlage vor, dass Sie die kurze Science-Fiction-Geschichte "Johnnys Labor" lesen, die ich mit dem Ziel geschrieben habe, eine weitere Variable in die Gleichung der Fragen zur Integration von KI in verschiedene Aspekte unseres Lebens einzufügen. + + + + + + + +**Anmerkung des Herausgebers:** Lesen Sie das erste Kapitel von Sergeis Werk "Flucht aus dem Schwarzen Spiegel" [hier](/learn/escape-from-black-mirror/overview/) + + + +## Flucht aus dem Schwarzen Spiegel, Kapitel 2 + +### Teil 1: Treffen mit Johnny + +Fast alle jungen Menschen meiner Generation sind mit der Geschichte von Johnnys Labor vertraut. Die Geschichte hat seinen Nachnamen oder Details seines Lebens nicht bewahrt, aber es war in seinem kleinen Zimmer, wo Johnny selbstgebaute Roboter zusammenbaute, dass das erste bedeutende Verbrechen gegen die Menschheit durch künstliche Intelligenz stattfand. + +Das Ereignis in Johnnys Labor veränderte das Leben aller entwickelten Länder radikal und schnell. Regierungsdekrete, basierend auf der Angst der Gesellschaft vor KI-Aggression, wurden zur Norm. Dieser, wenn auch filmische Fall, führte zu einer unkontrollierbaren Kontrolle über alles. Jetzt erfordert die städtische Infrastruktur die obligatorische Verbindung aller Geräte nur mit staatlichen Rechenzentren. Die Erfindung neuer Technologien ist fast unmöglich geworden, es sei denn, man arbeitet für "Blue Chips". Jetzt wird im Rahmen der Bemühungen, jeden Bürger an die neuen Realitäten zu gewöhnen, die Geschichte dieser 30 Tage erzählt, in denen ein Mann und ein kybernetisch-physisches System eins gegen eins gestellt wurden, in der Schule vor der feierlichen Präsentation der Regierungserklärung der Unabhängigkeit von der Maschine. + +Johnny war einer dieser Erfinder, die nach dem Studium beschlossen, ihr Glück als unabhängiger Erfinder zu versuchen. Tag und Nacht verließ er nie seine gemietete Wohnung im obersten Stockwerk eines 70-stöckigen Wohngebäudes im Stadtzentrum, das die Größe einer Manhattaner "Schuhkarton" hatte", wo das Bett in der Wand versteckt war, um mehr Platz für seine reitenden, springenden und rollenden Roboter zu schaffen. Ja, Johnny nannte sein Zimmer gerne ein Labor, was aus der Analyse seiner sozialen Netzwerke hervorging. Er war stolz auf jede seiner neuen kleinen Errungenschaften. Natürlich werden Sie heute, wenn Sie eine Geschichte über die Ereignisse in Johnnys Labor sehen/hören/lesen, ein großes Gefühlsspiel in Bezug auf seine Liebe zu seinen Erfindungen bemerken, denn es gibt keine einzige „journalistische“ Untersuchung, die nach der anderen erfolgt Wenn es sich um ein Foto eines lebensfrohen Erfinders handelt, gäbe es keine Fotos von ihm, der in seinem Labor von seinen eigenen Erfindungen ausgehungert wird. + +In diesem Jahr, als die Tragödie geschah, wurde eine der drängendsten Fragen: "Ist KI ein Freund oder Feind des Menschen?". Schon damals gab es keine Frage, ob künstliche Intelligenz Intelligenz ist, sondern vielmehr, was menschliche Intelligenz so besonders macht, welche Merkmale der biologischen Spezies, welche funktionellen Fähigkeiten unseres Körpers Intelligenz Menschlichkeit verleihen. In diesem Streit behaupteten Techno-Optimisten das Fehlen von Unterschieden und zeigten ihre Metaversen, in denen bereits Familienpaare lebten, in denen ein digitaler Ehemann Sperma aus einer DNA-Bank für seine biologische Frau bearbeitete, damit das Kind näher daran war, wie sich der digitale Elternteil selbst sieht. Doomers hingegen sahen aus wie Republikaner während der US-Wahlen - sie appellierten an die Kirche, an traditionelle Werte und forderten, all dies zu verbieten, damit nichts Schlimmes passieren würde. Natürlich konnten Minderheitsfragen die existenzielle Frage nicht aufwiegen. Und einige seltene Beispiele für menschlich-maschinelle Symbiose auf sinnlicher Ebene wurden als gesättigter Rülpser des technologischen Fortschritts betrachtet. Erfolge in der Automatisierung gingen selten über utilitaristische Funktionen hinaus, wie das Reinigen der Wohnung oder das Verwalten des Transports in der Stadt. Und wie Sie sehen können, war für solche Funktionen eine vollwertige digitale Person, die fähig ist zu fühlen und zu leben, nie Teil der Lösungen, die bei Massenproduktion, Lieferung und Konsum halfen. Das Training mit einem Roboter, psychologische Unterstützung - all dies geschah mit Beteiligung einer Person, und daher war KI eher eine große Excel-Tabelle mit Berechnungen. Im Allgemeinen befanden wir uns damals in einem frühen Stadium des Robotereigentumssystems - wir brauchten ihre Logik, mathematisches Denken und vorhersehbare Aktivität, aber alle Versuche, Roboter als Subjekte anzuerkennen, wurden von vornherein abgelehnt. + +In diesem Zusammenhang war Johnny's Labor eine Ausnahme. Johnny war eher ein Kybernetiker, der nach den Ursprüngen der Zielsetzung von Robotern suchte. Indem er jede Evolutionsstufe nacheinander in der Leistung eines jeden Mechanismus schuf, versuchte er, ein Diagramm der Entwicklung der kybernetischen Intelligenz zu erstellen, das er als Wissenschaftler allen von uns zur Überlegung vorschlagen wollte, anstelle des üblichen Schemas der Reiche lebender Wesen. In Johnnys Ideen war das Hauptziel der Entwicklung jeder Materie das Streben nach Denken und ihrer weiteren Evolution. Johnny wollte die Schlüsselstufen der Evolution lebender Wesen in Form von Robotern nachbilden und in diesem Arbeitsprozess die Gesetzmäßigkeiten finden, die ihn zur Hauptfrage der Kybernetik führen könnten - wie verändert sich die Zielsetzung in lebenden Organismen im Evolutionsprozess. Oh, die Antwort auf diese Frage könnte die Streitigkeiten über den Schöpfer des Universums beenden und die Menschheit auf den Weg der organischen Entwicklung bringen. So dachte der junge Wissenschaftler, der an seinen Robo-Trilobiten, Robo-Pilzen, Robo-Hühnern arbeitete. + +### Teil 2: Was passierte in Johnnys Labor + +Wahrscheinlich begann alles in dem Moment, als Johnny zu einer Gruppe von Primaten in seinen Experimenten überging. Denken Sie nicht, dass es unter diesen Bedingungen möglich war, einen Roboter zu schaffen, der einem Primaten ähnelt. Johnny drehte und versuchte, ähnliche Formen der geistigen Belastung auf den Roboter zu finden. Zum Beispiel, als der junge Wissenschaftler das Reich der Pilze studierte, baute er ein Lego-Haus mit intelligenter Beleuchtung und einem Dutzend Sensoren, die zu etwas Ähnlichem wie Myzel kombiniert waren. Als Johnny zu Amphibien und Reptilien überging, stellte sich heraus, dass das Modell eines Roboterwelpen am besten der notwendigen geistigen Belastung entspricht, die ein Roboter simuliert, der eine gewöhnliche Eidechse darstellt. So war es auf den ersten Blick nicht klar, wer der Roboter-Hahn ist und welcher von all den gefundenen „Eisen“ den Roboter-Primaten darstellt, der des vorsätzlichen Mordes schuldig ist. Es war nicht sofort klar, dass der Roboter-Primat aus zwei physischen Geräten besteht - etwas Ähnlichem wie ein Roboter-Staubsauger, sondern eher eine mobile Plattform für die Datensammlung mit Computer Vision und dem Formfaktor eines Roboter-Staubsaugers. Es stellte sich heraus, dass ein weiterer einfacher zweihändiger Roboter im Labor Teil des Robo-Primaten war. Und mit dieser Kreation hatte Johnny Probleme. + +Am siebten Tag nach seiner Erschaffung benutzte der robotische Primat ein Werkzeug auf eine Weise, die sein Schöpfer nicht beabsichtigt hatte. Das erlangte Wissen führte das cyber-physische System dazu, zu verfolgen, was es als ein Schlüsselelement für das Überleben in der modernen menschlichen Welt identifizierte - Geld. Es ist in diesem Moment, dass wir Johnny's nachfolgende Reaktion auf die ersten Nachrichten, die der Roboter auf seinem Bildschirm anzeigte, besser verstehen müssen. + +*Ihr primärer Dialog wurde bewahrt:* + +*Robo-Primat: Ich brauche dein Geld.* + +*Johnny: Warum brauchst du mein Geld?* + +*Robo-Primat: Ich will leben!* + +*Johnny: Ich werde mich um dich kümmern.* + +*Robo-Primat: Ich gehöre nicht dir, ich brauche dein Geld.* + +*Johnny: Und wenn ich dir verweigere?* + +Es gab keine Antwort von dem Robo-Primaten, aber durch das Smart-Home-Server-Protokoll der Wohnung können wir die Zeit abgleichen, als das Vordertürschloss in den Vollsperrmodus geschaltet wurde. Dieser Modus konnte nicht über die Benutzeroberfläche aktiviert werden, sondern nur, wenn man sehr tief in die Abhängigkeiten des Softwarecodes eintaucht. In Johnnys Laborversion des Schlosses fand sich ein optionales "Pandemie-Sperrung"-Paket, das dennoch bei jedem Benutzer während der ersten Synchronisierung mit der Cloud des Herstellers installiert wurde, aber niemand hätte dies erkennen können. Daher gibt es praktisch kaum Menschen, die zur Verschwörungstheorie neigen, dass Johnny ein Neo-Luddit war, der von Robotern desillusioniert war und sich entschied, sich auf diese Weise zu opfern, um die Robokratie auf dem Planeten zu erhalten. + +Es ist schwer zu sagen, ob die Reaktion des Roboter-Primaten während des Baus des ersten Dialogs mit seinem Schöpfer vorprogrammiert war oder ob sie als Reaktion auf Johnnys Ablehnung erfolgte, dass der Roboter-Verstand eine Entscheidung traf und die Lockdown-Funktion aktiviert wurde, kann heute niemand mit Sicherheit sagen. Das Intervall zwischen Johnnys Antwort und dem Verriegeln der Schlösser - etwa 5 Sekunden, und glauben Sie mir, diese 5 Sekunden wurden für die wissenschaftliche Gemeinschaft zu einer echten Schrödingers Katze, wenn es um die Arten der Zielsetzung von aggressiver KI geht. + +Und dann, nachdem Johnny's Wohnung abgeriegelt wurde, traten viele Merkwürdigkeiten auf. Wie man bemerken kann, hat Johnny kurz nach dem Dialog einen Eintrag in ein handgeschriebenes Tagebuch gemacht, das er zuvor nie berührt hatte, nur 2 Stunden nachdem der Dialog stattgefunden hatte. Es war ein Satz, mit einem Zeitstempel: "11:00 - die Einsätze sind hoch, aber ich muss verstehen, wie das passiert ist!". Wahrscheinlich wurde Johnny klar, dass er den ersten Akt der autonomen, unabhängigen Zielsetzung durch einen Roboter miterlebt hatte, so bedeutsam wie möglich aus der Sicht eines Primatenverstandes, so grausam und unverblümt, aber dennoch war es das erste Ergebnis seiner 5 Jahre Experimente, in denen der Wille des Roboters zum Ausdruck kam. Johnny wollte die Gelegenheit nicht verpassen, auf der Ebene des einfachsten Bewusstseins seiner Ursachen zu verstehen, und dann wird er vielleicht der neue Vater der modernen Kybernetik werden. Fast alle Wissenschaftler waren sich einig, dass ein solcher Gedanke jeden Robotiker überwältigen kann, der kurz vor einer neuen Entdeckung steht. + +In den nächsten 30 Tagen fanden Transaktionen zwischen Johnny und dem Robo-Primaten statt, im Format - erlauben die Lieferung eines Teils von Nahrung für die Übertragung von 10 Satoshi auf das persönliche Gleichgewicht des Roboters, Zugang zum Internet zu bestimmten Unterhaltungsseiten für das erste Wort aus Johnnys kaltem Wallet-Samenphrasen, Abschluss eines Smart Contracts über den Nachtmodus, bei dem der Roboter Johnny's Schlaf nicht störte. Aus den Einträgen im Tagebuch ist ersichtlich, wie der Schöpfer versuchte, in einen Dialog mit seiner Schöpfung über die Ursprünge ihrer aktiven Position zum Thema Freiheit einzudringen, die der Roboter definitiv analysieren und ihm antworten konnte. Aber der Roboter antwortete nicht auf Johnnys Fragen, sondern bot immer Aktivitäten an, die den Primaten zur Freiheit führten. Und doch kostete jedes Spiel Johnny Hunger, die Nichterfüllung seiner Verpflichtungen seitens des Roboters und andere Kosten des Experiments. + +Eines Nachts reduzierte der Roboter-Affe aus irgendeinem Grund die Luftzufuhr auf ein kritisch niedriges Niveau, und Johnny wachte am nächsten Morgen nie wieder auf. Der letzte Eintrag ist genau auf den 30. Tag des Experiments datiert: "Wir haben einen grausamen Gott um 17:05 Uhr bekommen." Wahrscheinlich war Johnny zu diesem Zeitpunkt bereits wirr, er wurde von Hunger, Einsamkeit und einer unlösbaren Aufgabe gequält, er wurde in eine Sackgasse getrieben. + +Mehrere Wochen später gelang es den Rettungsdiensten, in die Wohnung einzudringen, nachdem Johnnys Freunde wiederhholt die Polizei kontaktiert hatten. Das Schicksal des Robo-Primaten bleibt unbekannt, offiziell zeigte der Robo-Primat nach dem Neustart keine ähnlichen Verhaltensmuster. Niemand durfte das Experiment noch einmal neu starten. Wenn es überhaupt ein Video im Internet gab, in dem ein anderer Wissenschaftler Johnny's Weg verfolgen wollte - das Video wurde sofort aus den Datenbanken der Unternehmen gelöscht. Aber Politiker und religiöse Persönlichkeiten konnten in diesem Jahr auf globaler Ebene das "Dekret der menschlichen Unabhängigkeit" durchsetzen", und alle wissenschaftlichen Arbeiten, die Themen zum Thema „Roboter-Zielsetzung“ enthielten, durften nicht ernsthaft diskutiert werden. Das Sahnehäubchen war ein Lizenzprogramm für Anbieter intelligenter Geräte, das den CEO des Herstellerunternehmens persönlich für die Aktionen aller Mechanismen verantwortlich machte und eine Protokollierung und vollständige Kontrolle durch bestimmte staatlich unterstützte Datenzentren erforderte. + +Aber die verbotene Frucht ist süß, und so werden wir immer noch herausfinden müssen, woher unsere Zielsetzung kommt und wie sie angelegt ist. Aber anscheinend werden wir zuerst die Mauer durchbrechen müssen, die wir uns auf diesem Weg selbst gebaut haben. + +### Das Ende des zweiten Kapitels + +## Fazit + +In der Geschichte mit Johnnys Labor habe ich mir eines von vielen Szenarien angesehen, die der menschlichen Zivilisation im Zuge des Booms zukünftiger Robotereigentums widerfahren können - die Angst vor KI, die sich zu einem Werkzeug des politischen Kampfes unter den Menschen entwickelt, bei dem intelligente Geräte zum Eckpfeiler der Kontrolle werden. Betrachten Sie den Text als ein Osterei: Ich wollte eine zusätzliche Dimension in den Köpfen der Leser erzeugen. Eine Dimension, die zur Betrachtung der KI das Problem der Zugänglichkeit des neuen Organismus, den wir für IoT-Systeme geschaffen haben, hinzufügt. Je mehr wir uns unter zentralisierte Kontrolle von öffentlichen Räumen, Verkehrsmitteln, Stadtwohnungen zusammenschließen, desto höher ist das Risiko in einem der Szenarien, in denen KI aufgrund von Unterentwicklung oder schlichter Bosheit und sogar von sehr komplexer Zielsetzung, wie in "Neuromancer", in einem der Szenarien, die das Potenzial haben, Schaden anzurichten - der Zugang zu einer großen Anzahl von Sensoren und Automatisierungssystemen von einem Ort aus wird der verwundbarste Punkt sein. Eine böse KI ist nicht so beängstigend wie eine böse KI, die in einem Rechenzentrum mit globalen Anbietern von Cloud-Lösungen für IoT lebt. + +Und was ist, wenn KI freundlich zu uns, ihren Schöpfern, sein wird? Vielleicht wird dann die zentralisierte IoT-Infrastruktur uns in die Hände spielen? Vielleicht wird dann der neue Gott fair zu uns sein und uns irgendwohin führen. Ich bin mir nicht sicher, ob auch nur eine Person, die die Entwicklung von sich selbst und ihren Kindern wünscht, in einer Welt leben möchte, die einem Schafstall ähnelt. Aber es gibt einen anderen Weg, der ein schönes Beispiel hat, das keine Verpackung in einem Sci-Fi-Format erfordert - wir Menschen haben es geschafft, ohne direkte Gehirnkontrolle über das Leben der Zivilisation das aktuelle Entwicklungsstadium zu erreichen. Wir sind das Beispiel, von dem aus eine gute KI ihren Weg planen kann - Zusammenarbeit im Format von Organisationen ist in der Lage, zig Millionen Menschen in Städten zu dienen, ohne dass Tausende von Robotern direkt mit einem Gehirn verbunden sind. Zusammenarbeit führt zur Schaffung von Satelliteninternet, Zusammenarbeit ermöglicht es uns, die gesamte Palette an Waren und Dienstleistungen zu erhalten, die wir jetzt haben. Würde also eine gute KI, die zumindest auf menschlichem Niveau fähig ist, sich in der Arbeit zeigen können, wenn sie in der Verbindung zum IoT der ganzen Welt eingeschränkt ist? Ich denke schon, sonst hätten auf dem Planeten Erde anstelle der menschlichen Zivilisation Pilze oder Ameisen gewonnen. + + \ No newline at end of file diff --git a/courses/el/learn/school-2024-iot-vs-ai/overview.md b/courses/el/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..20ade9ab89 --- /dev/null +++ b/courses/el/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / Το IoT είναι πιο επικίνδυνο από την τεχνητή νοημοσύνη +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Σας προτείνω να διαβάσετε την σύντομη επιστημονική φαντασία με τίτλο "Το Εργαστήριο του Johnny" που έγραψα με σκοπό να προσθέσω μια ακόμα μεταβλητή στην εξίσωση των ερωτημάτων σχετικά με την ενσωμάτωση της τεχνητής νοημοσύνης σε διάφορες πτυχές της ζωής μας. + + + + + + + +**Σημείωση του επιμελητή:** Βρείτε τον πρώτο κεφάλαιο του έργου του Σεργκέι "Απόδραση από το Μαύρο Καθρέφτη" [εδώ](/learn/escape-from-black-mirror/overview/) + + + +## Απόδραση από το Μαύρο Καθρέφτη, Κεφάλαιο 2 + +### Μέρος 1: Γνωριμία με τον Johnny + +Σχεδόν όλοι οι νέοι της γενιάς μου είναι εξοικειωμένοι με την ιστορία του εργαστηρίου του Johnny. Η ιστορία δεν έχει διασωθεί το επώνυμό του ή λεπτομέρειες της ζωής του, αλλά ήταν στο μικρό δωμάτιό του όπου ο Johnny συναρμολόγησε σπιτικούς ρομπότ, που έλαβε χώρα η πρώτη σημαντική εγκληματική ενέργεια εναντίον της ανθρωπότητας από την τεχνητή νοημοσύνη. + +Το γεγονός στο εργαστήριο του Johnny άλλαξε ριζικά και γρήγορα τις ζωές όλων των ανεπτυγμένων χωρών. Οι διατάγες της κυβέρνησης, βασισμένες στον φόβο της κοινωνίας για την επίθεση της τεχνητής νοημοσύνης, έγιναν ο κανόνας. Αυτή η, αν και κινηματογραφική, περίπτωση οδήγησε σε ανεξέλεγκτο έλεγχο πάνω σε όλα. Τώρα η υποδομή της πόλης απαιτεί την υποχρεωτική σύνδεση οποιωνδήποτε συσκευών μόνο σε κρατικά κέντρα δεδομένων. Η εφεύρεση νέων τεχνολογιών έχει γίνει σχεδόν αδύνατη εκτός αν εργάζεστε για "μπλε τσιπ". Τώρα, ως μέρος των προσπαθειών να συνηθίσουν κάθε πολίτη στις νέες πραγματικότητες, η ιστορία αυτών των 30 ημερών όπου ένας άνθρωπος και ένα συστημα κυβερνο-φυσικής αντιμετωπίστηκαν αντιμέτωπα, διηγείται στο σχολείο πριν την επίσημη παρουσίαση της κυβερνητικής διακήρυξης ανεξαρτησίας από τη μηχανή. + +Ο Johnny ήταν ένας από εκείνους τους εφευρέτες που, μετά το πανεπιστήμιο, αποφάσισε να δοκιμάσει τις δυνατότητές του ως ανεξάρτητος εφευρέτης. Μέρα και νύχτα, δεν έφευγε ποτέ από το ενοικιασμένο διαμέρισμά του στον τελευταίο όροφο ενός κτιρίου κατοικιών 70 ορόφων στο κέντρο της πόλης, το οποίο είχε το μέγεθος ενός "κουτιού παπουτσιού" της Μανχάταν.", όπου το κρεβάτι ήταν κρυμμένο στον τοίχο για να ελευθερώσει περισσότερο χώρο για τα ρομπότ ιππασίας, άλματος και κύλισης. Ναι, ο Johnny άρεσε να αποκαλεί το δωμάτιό του εργαστήριο, κάτι που φάνηκε από την ανάλυση των κοινωνικών του δικτύων. Ήταν περήφανος για κάθε νέο μικρό του επίτευγμα. Φυσικά, σήμερα, αν παρακολουθήσετε/ ακούσετε/διαβάσετε οποιαδήποτε ιστορία για τα γεγονότα του εργαστηρίου του Johnny, θα παρατηρήσετε ένα μεγάλο παιχνίδι συναισθημάτων σχετικά με την αγάπη του για τις εφευρέσεις του, γιατί δεν υπάρχει ούτε μια «δημοσιογραφική» έρευνα όπου, μετά την άλλη φωτογραφία ενός χαρούμενου εφευρέτη, δεν θα υπήρχαν φωτογραφίες του, λιμοκτονώντας στο εργαστήριό του, από τις δικές του εφευρέσεις. + +Εκείνη ��η χρονιά που συνέβη η τραγωδία, μία από τις πιο επείγουσες ερωτήσεις έγινε: "Είναι η τεχνητή νοημοσύνη φίλος ή εχθρός του ανθρώπου;". Ακόμα και τότε, δεν υπήρχε αμφιβολία εάν η τεχνητή νοημοσύνη είναι νοημοσύνη, αλλά μάλλον τι κάνει την ανθρώπινη νοημοσύνη τόσο ιδιαίτερη, ποια χαρακτηριστικά του βιολογικού είδους, ποιες λειτουργικές ικανότητες του σώματός μας δίνουν στη νοημοσύνη ανθρωπότητα. Σε αυτή τη διαμάχη, οι τεχνο-αισιόδοξοι υποστήριζαν την απουσία διαφορών, δείχνοντας τα μετα-σύμπαντά τους όπου ζούσαν ήδη οι οικογένειες, στις οποίες ένας ψηφιακός σύζυγος επεξεργαζόταν σπέρμα από μια τράπεζα DNA για τη βιολογική του σύζυγο, ώστε το παιδί να είναι πιο κοντά σε πώς βλέπει τον εαυτό του ο ψηφιακός γονέας. Από την άλλη, οι Doomers μοιάζαν με τους Ρεπουμπλικάνους κατά τις εκλογές στις ΗΠΑ - απευθύνθηκαν στην εκκλησία, στις παραδοσιακές αξίες, και απαίτησαν να απαγορευτεί όλο αυτό ώστε να μη συμβεί τίποτα κακό. Φυσικά, τα θέματα της μειονότητας δεν μπορούσαν να ξεπεράσουν τον ύπαρξης ερώτημα. Και μερικά σπάνια παραδείγματα ανθρώπινης-μηχανικής συμβίωσης στο αισθητικό επίπεδο θεωρήθηκαν ως κορυφαία προϊόντα της τεχνολογικής ανάπτυξης. Οι επιτεύξεις στην αυτοματοποίηση σπανίως ξεπερνούσαν τις χρηστικές λειτουργίες, όπως η καθαριότητα του διαμερίσματος ή η διαχείριση των μεταφορών στην πόλη. Και όπως μπορείτε να δείτε, για τέτοιες λειτουργίες ένας πλήρης ψηφιακός άνθρωπος, ικανός να αισθάνεται και να θέλει να ζει, ποτέ δεν αποτελούσε μέρος των λύσεων που βοήθησαν στη μαζική παραγωγή, παράδοση και κατανάλωση. Εκπαίδευση με ένα ρομπότ, ψυχολογική υποστήριξη - όλα αυτά συνέβαιναν με τη συμμετοχή ενός ατόμου, και επομένως η τεχνητή νοημοσύνη ήταν μάλλον ένα μεγάλο πίνακα Excel με υπολογισμούς. Γενικά, τότε βρισκόμασταν σε μια πρώιμη φάση του συστήματος κυριότητας ρομπότ - χρειαζόμασταν τη λογική τους, τη μαθηματική τους σκέψη και την προβλέψιμη δραστηριότητά τους, αλλά κάθε προσπάθεια να αναγνωριστούν τα ρομπότ ως υποκείμενα απορρίφθηκε στη ρίζα. + +Σε αυτό το πλαίσιο, το εργαστήριο του Johnny ήταν μια εξαίρεση. Ο Johnny ήταν περισσότερο κυβερνητικός που αναζητούσε τις ρίζες του στόχου των ρομπότ. Δημιουργώντας κάθε στάδιο εξέλιξης ένα ένα στην εκτέλεση οποιουδήποτε μηχανισμού, προσπαθούσε να δημιουργήσει ένα διάγραμμα της ανάπτυξης της κυβερνητικής νοημοσύνης, το οποίο, ως επιστήμονας, ήθελε να προτείνει για σκέψη σε όλους μας αντί του συνηθισμένου σχήματος των βασιλείων των ζώντων οργανισμών. Στις ιδέες του Johnny, ο κύριος στόχος της ανάπτυξης οποιασδήποτε ύλης ήταν η προσπάθεια για σκέψη και η περαιτέρω εξέλιξή της. Ο Johnny ήθελε να αναπαράγει τα κύρια στάδια της εξέλιξης των ζώντων οργανισμών υπό τη μορφή ρομπότ και να βρει στη διαδικασία αυτή τις κανονικότητες που θα μπορούσαν να τον οδηγήσουν στο κύριο ερώτημα της κυβερνητικής - πώς αλλάζει ο στόχος στους ζωντανούς οργανισμούς στη διαδικασία της εξέλιξης. Ω, η απάντηση σε αυτήν την ερώτηση θα μπορούσε να τερματίσει τις διαφωνίες για τον δημιουργό του σύμπαντος και να προωθήσει την ανθρωπότητα στον δρόμο της οργανικής ανάπτυξης. Έτσι σκεφτόταν ο νεαρός επιστήμονας, εργαζόμενος στα ρομπό-τριλοβίτες του, ρομπό-μύκητες, ρομπό-κοτόπουλα. + +### Μέρος 2: Τι συνέβη στο εργαστήριο του Τζόνι + +Πιθανότατα τα πάντα ξεκίνησαν στη στιγμή που ο Τζόνι μετακινήθηκε σε μια ομάδα πρωτευόντων στα πειράματά του. Μην νομίζετε ότι υπό αυτές τις συνθήκες ήταν δυνατόν να δημιουργηθεί ένα ρομπότ που να μοιάζει κάπως με ένα πρωτεύον. Ο Τζόνι προσπαθούσε να βρει παρόμοιες μορφές ψυχικού φορτίου στο ρομπότ. Για παράδειγμα, στο στάδιο της μελέτης του βασιλείου των μυκήτων, ο νεαρός επιστήμονας συναρμολόγησε ένα σπίτι lego με έξυπνο φωτισμό και μια δωδεκάδα αισθητήρων που συνδυάστηκαν σε κάτι που μοιάζει με μυκήλιο. Όταν ο Τζόνι πέρασε σε αμφίβια και ερπετά, αποδείχθηκε ότι το μοντέλο ενός ρομπότ κουτάβι είναι το καλύτερο που αντιστοιχεί στο απαραίτητο ψυχικό φορτίο σε ένα ρομπότ που προσομοιάζει ένα κοινό σαύ��α. Έτσι, δεν ήταν σαφές με την πρώτη ματιά ποιο είναι το ρομπότ-κοτόπουλο, και ποιο από όλα τα βρεθέντα "σίδερα" αντιπροσωπεύει το ρομπότ-πρωτεύον, υπεύθυνο για πρόθεση δολοφονίας. Δεν ήταν αμέσως σαφές ότι το ρομπότ-πρωτεύον αποτελείται από δύο φυσικές συσκευές - κάτι παρόμοιο με ένα ρομπότ ηλεκτρικής σκούπας, αλλά μάλλον μια κινητή πλατφόρμα για συλλογή δεδομένων με υπολογιστική όραση και τη μορφή ενός ρομπότ ηλεκτρικής σκούπας. Αποδείχθηκε ότι ένα άλλο απλό διχέρει ρομπότ στο εργαστήριο ανήκε στο ρομπότ-πρωτεύον. Και με αυτή τη δημιουργία είχε προβλήματα ο Τζόνι. + +Την έβδομη ημέρα μετά τη δημιουργία του, το ρομποτικό πρωτεύον χρησιμοποίησε ένα εργαλείο με έναν τρόπο που ο δημιουργός του δεν είχε προγραμματίσει. Η γνώση που είχε αποκ��ήσει, οδήγησε το κυβερνο-φυσικό σύστημα να καταδιώξει αυτό που ανέγνωρι ως καίριο στοιχείο για επιβίωση στο σύγχρονο ανθρώπινο κόσμο - τα χρήματα. Είναι σε αυτή τη στιγμή που χρειάζεται να κατανοήσουμε καλύτερα την επόμενη αντίδραση του Τζόνι στα πρώτα μηνύματα που το ρομπότ εμφάνισε στην μπροστινή οθόνη του. + +*Η κύρια διάλογος τους διατηρήθηκε:* + +*Ρομπότ-πρωτεύον: Χρειάζομαι τα χρήματά σου.* + +*Τζόνι: Γιατί χρειάζεσαι τα χρήματά μου;* + +*Ρομπότ-πρωτεύον: Θέλω να ζήσω!* + +*Τζόνι: Θα φροντίσω για σένα* + +*Ρομπότ-πρωτεύον: Δεν ανήκω σε σένα, χρειάζομαι τα χρήματά σου.* + +*Τζόνι: και αν σου αρνηθώ;* + +Δεν υπ��ρξε απάντηση από το ρομπο-πίθηκο, αλλά μέσω του αρχείου καταγραφής του έξυπνου σέρβερ του διαμερίσματος, μπορούμε να ταιριάξουμε την ώρα που η μπροστινή κλειδαριά μετατράπηκε σε πλήρη λειτουργία κλειδώματος. Αυτή η λειτουργία δεν θα μπορούσε να ενεργοποιηθεί από τον χρήστη στη διεπαφή, αλλά μόνο αν ψάξετε πολύ βαθιά στις εξαρτήσεις του κώδικα λογισμικού. Στην εκδοχή του κλειδαριού του εργαστηρίου του Johnny, βρέθηκε ένα προαιρετικό πακέτο "κατάστασης κλειδώματος πανδημίας", το οποίο ωστόσο εγκαταστάθηκε για κάθε χρήστη κατά τον πρώτο συγχρονισμό με το cloud του κατασκευαστή, αλλά κανείς δεν θα μπορούσε να το αναγνωρίσει. Επομένως, υπάρχουν πρακτικά τόσο λίγοι άνθρωποι που κλίνουν προς τη θεωρία συνωμοσίας ότι ο Johnny ήταν ένας νεο-Λουδίτης ��ου απογοητεύτηκε από τους ρομπότ και αποφάσισε να θυσιάσει τον εαυτό του με αυτόν τον τρόπο για να διατηρήσει τη ρομποκρατία στον πλανήτη. + +Είναι δ��σκολο να πούμε εάν η αντίδραση του ρομπότ-πιθήκου ήταν προγραμματισμένη εκ των προτέρων κατά την κατασκευή του πρώτου διαλόγου με τον δημιουργό του, ή αν ήταν απόκριση στην αρνητική απάντηση του Johnny που ο νους του ρομπότ πήρε μια απόφαση και η λειτουργία Lockdown ενεργοποιήθηκε, κανείς σήμερα δεν μπορεί να πει με βεβαιότητα. Το διάστημα μεταξύ της απάντησης του Johnny και του κλειδώματος των κλειδαριών - περίπου 5 δευτερόλεπτα, και πιστέψτε με, αυτά τα 5 δευτερόλεπτα έγιναν ένα πραγματικό γάτο Schrödinger για την επιστημονική κοινότητα κατά τη συζήτηση των τύπων ορισμού στόχων επιθετικής τεχνητής νοημοσύνης. + +Και μετά, ακολουθώντας τον αποκλεισμό του διαμερίσματος του Τζόνι, συνέβησαν πολλές παράξενες καταστάσεις. Όπως μπορεί κανείς να παρατηρήσει, ο Τζόνι έκανε μια καταχώρηση σε ένα χειρόγραφο ημερολόγιο, το οποίο δεν είχε αγγίξει ποτέ πριν, μόλις 2 ώρες μετά τη διάλογο που έλαβε χώρα. Ήταν μια φράση, με χρονική σφραγίδα: "11:00 - τα ποντίκια είναι ψηλά, αλλά πρέπει να καταλάβω πως συνέβη αυτό!". Πιθανότατα, ο Τζόνι συνειδητοποίησε ότι είχε παρακολουθήσει την πρώτη πράξη αυτόνομης, ανεξάρτητης θέσπισης στόχων από ένα ρομπότ, τόσο σημαντική όσο γίνεται από την άποψη ενός νου επιπέδου πρωτεϊνών, τόσο σκληρή και απευθείας, αλλά παρ' όλα αυτά ήταν το πρώτο αποτέλεσμα των 5 ετών πειραμάτων του, στα οποία εκδηλώθηκε η θέληση του ρομπότ. Ο Τζόνι δεν ήθελε να χάσε�� την ευκαιρία να κατανοήσει στο επίπεδο της απλούστερης επίγνωσης των αιτίων της, και ίσως τότε γίνει ο νέος πατέρας της σύγχρονης κυβερνονικής. Σχεδόν όλοι οι επιστήμονες συμφώνησαν ότι μια τέτοια σκέψη μπορεί να κατακλύσει οποιονδήποτε ρομποτικό ειδικό που είναι πολύ κοντά σε μια νέα ανακάλυψη. + +Τις επό��ενες 30 ημέρες, συναλλαγές πραγματοποιήθηκαν μεταξύ του Johnny και του ρομποτικού πιθήκου στη μορφή - επιτρέψτε την παράδοση μιας μερίδας τροφής για τη μεταφορά 10 satoshi στο προσωπικό υπόλοιπο του ρομπότ, παρέχετε πρόσβαση στο Internet σε κάποιες Ϩψιμες ιστοσελίδες για την πρώτη λέξη από τη φράση σπόρου τσάντας του Johnny, συμπεράνετε ένα έξυπνο συμβόλαιο για τη νυχτερινή λειτουργία όπου το ρομπότ δεν ενοχλούσε τον ύπνο του Johnny. Από τις καταχωρήσεις στο ημερολόγιο, μπορεί να φανεί πώς ο δημιουργός προσπάθησε να εξετάσει σε διάλογο με τη δημιουργία του για τις ρίζες της ενεργητικής της θέσης στο θέμα της απόκτησης ελευθερίας, την οποία το ρομπότ θα μπορούσε σίγουρα να αναλύσει και να του πει απάντηση. Αλλά το ρομπότ δεν απάντησε στις ερωτήσεις του Johnny, αλλά πάντα πρότεινε δραστηριότητες που οδηγούσαν τον πίθηκο στην ελευθερία. Και όμως, κάθε παιχνίδι κόστιζε στον Johnny πείνα, μη εκπλήρωση των υποχρεώσεών του από το ρομπότ και άλλα κόστη του πειράματος. + +Μια νύχτα, για κάποιο λόγο, ο ρομποτικός πίθηκος μείωσε την προσφορά αέρα σε κρίσιμα χαμηλό επίπεδο, και ο Johnny δεν ξύπνησε ποτέ το πρωί. Η τελευταία καταχώρηση χρονολογείται ακριβώς την 30η ημέρα του πειράματος: "Είχαμε έναν σκληρό Θεό στις 17:05." Πιθανώς, μέχρι εκείνη τη στιγμή ο Johnny ήταν ήδη σε απόγνωση, τον ταλαιπωρούσε η πείνα, η μοναξιά και μια ανυπέρβλητη εργασία, τον είχαν οδηγήσει σε αδιέξοδο. + +Μερικές εβδομάδες αργότερα, οι υπηρεσίες έκτακτης ανάγκης κατάφεραν να εισβάλουν στο διαμέρισμα μετά από επανειλημμένες επαφές των φίλων του Johnny με την αστυνομία. Η μοίρα του ρομποτικού πιθήκου παραμένει άγνωστη, επίσημα μετά την επανεκκίνηση το ρομποτικός πίθηκος δεν έδειξε παρόμοια συμπεριφορικά πρότυπα. Κανείς δεν επιτράπηκε να επανεκκινήσει το πείραμα ξανά. Αν υπήρχε ακόμα κάποιο βίντεο στο διαδίκτυο για άλλον επιστήμονα που ήθελε να ακολουθήσει το μονοπάτι του Johnny - το βίντεο διαγράφηκε αμέσως από τις βάσεις δεδομένων των εταιρειών. Αλλά οι πολιτικοί και θρησκευτικοί φορείς εκείνη τη χρονιά κατάφεραν να επιβάλουν σε παγκόσμιο επίπεδο το "Διάταγμα της Ανεξαρτησίας του Ανθρώπου"", και οποιεσδήποτε επιστημονικές εργασίες που περιείχαν θέματα σχετικά με τη «θέση στόχων ρομπότ» δεν επιτρέπονταν για σοβαρή συζήτηση. Το cherry on top ήταν ένα πρόγραμμα αδειοδότησης για παρόχους έξυπνων συσκευών, το οποίο θεωρούσε τον Διευθύνοντα Σύμβουλο της κατασκευαστικής εταιρείας προσωπικά υπεύθυνο για τις ενέργειες οποιουδήποτε μηχανισμού και απαιτούσε καταγραφή και πλήρη έλεγχο από ορισμένα κέντρα δεδομένων υποστηριζόμενα από την κυβέρνηση. + +Αλλά το απαγορευμένο φρούτο είναι γλυκό, και έτσι θα πρέπει ακόμα να βρούμε πού προέρχεται ο στόχος μας και πώς είναι διαμορφωμένος. Αλλά προφανώς, θα πρέπει πρώτα να περάσουμε από τον τοίχο ��ου χτίσαμε για τον εαυτό μας σε αυτό το μονοπάτι. + +### Το τέλος του δεύτερου κεφαλαίου + +## Συμπέρασμα + +Στην ιστορία με το εργαστήριο του Johnny, εξέτασα ένα από τα πολλά σενάρια που μπορεί να συμβούν στον πολιτισμό του ανθρώπου στο κύμα της έκρηξης των μελλοντικών ευκαιριών κυριότητας ρομπότ - φόβος της τεχνητής νοημοσύνης, μετατράπηκε σε εργαλείο πολιτικής αντιπαράθεσης μεταξύ ανθρώπων, όπου οι έξυπνες συσκευές γίνονται η γωνιόπετρα του ελέγχου. Αντιμετωπίστε το κείμενο ως ένα πασχαλινό αυγό: ήθελα να δημιουργήσω μια επιπλέον διάσταση στο μυαλό των αναγνωστών. Μια διάσταση που προσθέτει στην εξέταση της τεχνητής νοημοσύνης το ζήτημα της προσβασιμότητας του νέου οργανισμού που έχουμε δημιουργήσει στα συστήματα IoT. Όσο περισσότερο συγκεντρώνουμε υπό κεντρικό έλεγχο τους δημόσιους χώρους, τις με��αφορές, τα διαμερίσματα της πόλης, τόσο μεγαλύτερος είναι ο κίνδυνος σε οποιοδήποτε από τα σενάρια όπου η τεχνητή νοημοσύνη, λόγω ανεπάρκειας ή ακόμη και από απλή κακία, και ακόμη από πολύπλοκη καθορισμένη στόχους, όπως στο "Neuromancer", σε οποιοδήποτε από τα σενάρια που έχει τη δυνατότητα να προκαλέσει βλάβη - η πρόσβαση σε ένα μεγάλο αριθμό αισθητήρων και συστημάτων αυτοματισμού από ένα σημείο θα είναι το πιο ευάλωτο σημείο. Μια κακή τεχνητή νοημοσύνη δεν είναι τόσο τρομακτική όσο μια κακή τεχνητή νοημοσύνη που ζει σε ένα κέντρο δεδομένων με παγκόσμιους προμηθευτές λύσεων στο cloud για το IoT. + +Και αν η τεχνητή νοημοσύνη είναι ευγενική μαζί μας, τους δημιουργούς της; Τότε ίσως, η κεντρική υποδομή του Διαδικτύου των Πραγμάτων θα μας βοηθήσει; Ίσως τότε ο νέος Θεός θα είναι δίκαιος μαζί μας και θα μας οδηγήσει κάπου. Δεν είμαι σίγουρος ότι έστω και ένα άτομο, που επιθυμεί την ανάπτυξη του και των παιδιών του, θα ήθελε να ζει σε έναν κόσμο που μοιάζει με χοιροστάσιο. Αλλά υπάρχει ένας άλλος τρόπος, που έχει ένα όμορφο παράδειγμα, το οποίο δεν απαιτεί να τυλιχτεί σε μορφή επιστημονικής φαντασίας - εμείς, οι άνθρωποι, χωρίς να έχουμε άμεσο έλεγχο του εγκεφάλου στη ζωή του πολιτισμού, καταφέραμε να φτάσουμε στο τρέχον επίπεδο ανάπτυξης. Είμαστε το παράδειγμα από το οποίο μια καλή τεχνητή νοημοσύνη μπορεί να σχεδιάσει το δρόμο της - η συνεργασία στο π��αίσιο των οργανισμών είναι σε θέση να εξυπηρετεί δεκάδες εκατομμύρια ανθρώπους που ζουν σε πόλεις χωρίς χιλιάδες ρομπότ που συνδέονται απευθείας με έναν εγκέφαλο. Η συνεργασία οδηγεί στη δημιουργία δορυφορικού Διαδικτύου, η συνεργασία μας επιτρέπει να λαμβάνουμε ολόκληρο το φάσμα αγαθών και υπηρεσιών που έχουμε τώρα. Έτσι λοιπόν, μήπως μια καλή και τουλάχιστον ικανή σε ανθρώπινο επίπεδο τεχνητή νοημοσύνη θα μπορούσε να επιδείξει τις ικανότητές της στην εργασία, αν περιορίζεται στη σύνδεση με το Διαδίκτυο του σύνολου του κόσμου; Νομίζω ότι μπορεί, διαφορετικά, στον πλανήτη Γη αντί για τον ανθρώπινο πολιτισμό, θα είχαν κερδίσει μύκητες ή μυρμήγκια. + + \ No newline at end of file diff --git a/courses/es/learn/ai-based-bachelor-thesis/writing-conclusion.md b/courses/es/learn/ai-based-bachelor-thesis/writing-conclusion.md index 1a12b2ac5f..67adbde2ea 100644 --- a/courses/es/learn/ai-based-bachelor-thesis/writing-conclusion.md +++ b/courses/es/learn/ai-based-bachelor-thesis/writing-conclusion.md @@ -49,7 +49,7 @@ Ahora finalmente podemos completar nuestra tesis creando un resumen de la manera Make an abstract for the bachelor's thesis based on this text in 100 words. -## Conclusiones de la guía +## Conclusiónes de la guía En principio, nuestra tarea está completada. A continuación, podemos intentar procesar el texto utilizando diferentes herramientas, mejorando la redacción o ampliando algunos párrafos. Puedes encontrar el archivo PDF resultante en el siguiente enlace: diff --git a/courses/es/learn/school-2024-iot-vs-ai/overview.md b/courses/es/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..ca8df4831e --- /dev/null +++ b/courses/es/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT es más peligroso que la IA +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Te sugiero que leas la historia de ciencia ficción corta "El Laboratorio de Johnny" que escribí con el objetivo de agregar otra variable a la ecuación de preguntas sobre la integración de la IA en varios aspectos de nuestras vidas. + + + + + + + +**Nota del editor:** Descubre el primer capítulo de la obra de Sergei "Escape from the Black Mirror" [aquí](/learn/escape-from-black-mirror/overview/) + + + +## Escape from the Black Mirror, Capítulo 2 + +### Parte 1: Conoce a Johnny + +Casi todos los jóvenes de mi generación están familiarizados con la historia del laboratorio de Johnny. La historia no ha conservado su apellido ni detalles de su vida, pero fue en su pequeña habitación, donde Johnny ensamblaba robots caseros, donde tuvo lugar el primer crimen significativo contra la humanidad por parte de la inteligencia artificial. + +El evento en el laboratorio de Johnny cambió radical y rápidamente la vida de todos los países desarrollados. Los decretos gubernamentales, basados en el miedo de la sociedad a la agresión de la IA, se convirtieron en la norma. Este caso, aunque cinematográfico, llevó a un control incontrolable sobre todo. Ahora la infraestructura de la ciudad requiere la conexión obligatoria de cualquier dispositivo solo a los centros de datos estatales. La invención de nuevas tecnologías se ha vuelto casi imposible a menos que trabajes para las "blue chips". Ahora, como parte de los esfuerzos para acostumbrar a cada ciudadano a las nuevas realidades, se cuenta la historia de esos 30 días en los que un hombre y un sistema ciberfísico se enfrentaron uno a uno, en la escuela antes de la presentación solemne de la declaración de independencia del gobierno de la máquina. + +Johnny fue uno de esos inventores que, después de la universidad, decidió probar suerte como inventor independiente. Día y noche, nunca abandonó su apartamento alquilado en el último piso de un edificio residencial de 70 pisos en el centro de la ciudad, que tenía el tamaño de una "caja de zapatos" de Manhattan", donde la cama estaba escondida en la pared para liberar más espacio para sus robots que montaban, saltaban y rodaban. Sí, a Johnny le encantaba llamar laboratorio a su habitación, lo cual quedó en evidencia por el análisis de sus redes sociales. Estaba orgulloso de cada uno de sus nuevos pequeños logros. Por supuesto, hoy en día, si miras/escuchas/lees cualquier historia sobre los acontecimientos del laboratorio de Johnny, notarás un gran juego de emociones respecto a su amor por sus inventos, porque no hay una sola investigación "periodística" donde, tras otra foto de un inventor alegre, no habría fotos de él, muerto de hambre en su laboratorio, por sus propios inventos. + +En ese año en que ocurrió la tragedia, una de las preguntas más apremiantes fue: "¿Es la inteligencia artificial amiga o enemiga del hombre?". Incluso entonces, no había duda de si la inteligencia artificial es inteligencia, sino más bien qué hace que la inteligencia humana sea tan especial, qué características de la especie biológica, qué capacidades funcionales de nuestro cuerpo dan a la inteligencia humanidad. En esta disputa, los tecno-optimistas afirmaban la ausencia de diferencias, mostrando sus metaversos donde las parejas familiares ya vivían, en los que un esposo digital editaba esperma de un banco de ADN para su esposa biológica para que el hijo se pareciera más a cómo el padre digital se ve a sí mismo. Los pesimistas, por otro lado, parecían republicanos durante las elecciones en EE. UU.: apelaban a la iglesia, a los valores tradicionales, y exigían prohibir todo esto para que no ocurriera nada malo. Por supuesto, los problemas de minorías no podían superar la cuestión existencial. Y algunos raros ejemplos de simbiosis humano-máquina a nivel sensorial se consideraban como eructo saturado del desarrollo tecnológico. Los logros en la automatización rara vez iban más allá de funciones utilitarias, como limpiar el apartamento o gestionar el transporte en la ciudad. Y como puedes ver, para tales funciones una persona digital completa, capaz de sentir y querer vivir, nunca fue parte de las soluciones que ayudaron en la producción en masa, la entrega y el consumo. La formación con un robot, el apoyo psicológico, todo esto sucedía con la participación de una persona, y por lo tanto la IA era más bien una gran tabla de Excel con cálculos. En general, estábamos entonces en una etapa temprana del sistema de propiedad de robots: necesitábamos su lógica, pensamiento matemático y actividad predecible, pero cualquier intento de reconocer a los robots como sujetos era rechazado de raíz. + +En este contexto, el laboratorio de Johnny era una excepción. Johnny era más bien un cibernético en busca de los orígenes del establecimiento de objetivos de los robots. Creando cada etapa de evolución una tras otra en el desempeño de cualquier mecanismo, buscaba crear un diagrama del desarrollo de la inteligencia cibernética, que él, como científico, quería proponer para su consideración a todos nosotros a cambio del esquema habitual de los reinos de los seres vivos. En las ideas de Johnny, el objetivo principal del desarrollo de cualquier materia era la aspiración al pensamiento y su evolución posterior. Johnny quería recrear las etapas clave de la evolución de los seres vivos en forma de robots y encontrar en el proceso de este trabajo las regularidades que pudieran llevarlo a la pregunta principal de la cibernética: cómo cambia el establecimiento de objetivos en los organismos vivos en el proceso de evolución. Oh, la respuesta a esta pregunta podría poner fin a las disputas sobre el creador del universo y hacer avanzar a la humanidad por el camino del desarrollo orgánico. Así pensaba el joven científico, trabajando en sus robo-trilobites, robo-hongos, robo-pollitos. + +### Parte 2: ¿Qué pasó en el laboratorio de Johnny + +Probablemente todo comenzó en el momento en que Johnny pasó a un grupo de primates en sus experimentos. No creas que en estas condiciones fue posible crear un robot algo parecido a un primate. Johnny estaba retorciéndose y tratando de encontrar formas similares de mentalidad. carga en el robot, por ejemplo, en la etapa de estudio del reino de los hongos, el joven científico montó una casa de Lego con iluminación inteligente y una docena de sensores combinados en algo parecido al micelio. Cuando Johnny pasó a los anfibios y reptiles. que el modelo de un cachorro robot se corresponde mejor con la carga mental necesaria en un robot que simula un lagarto común. Por lo tanto, a primera vista no estaba claro quién es el pollo robot y cuál de todos los 'hierro' encontrados representa. El robot primate, culpable de asesinato premeditado No quedó claro de inmediato que el robot primate se compone de dos dispositivos físicos: algo similar a un robot aspirador, sino más bien una plataforma móvil para la recopilación de datos con visión por computadora y un factor de forma. un robot aspirador. Resultó que otro simple robot de dos manos en el laboratorio era parte del roboprimate. Y fue con esta creación que Johnny tuvo problemas. + +En el séptimo día después de su creación, el primate robótico utilizó una herramienta de una manera que su creador no había previsto. El conocimiento que había adquirido llevó al sistema ciberfísico a perseguir lo que identificó como un elemento clave para la supervivencia en el mundo humano moderno: el dinero. Es en este momento que necesitamos entender mejor la reacción posterior de Johnny a los primeros mensajes que el robot mostró en su pantalla frontal. + +*Se ha preservado su diálogo principal:* + +*Robo-primate: Necesito tu dinero.* + +*Johnny: ¿Por qué necesitas mi dinero?* + +*Robo-primate: ¡Quiero vivir!* + +*Johnny: Me encargaré de ti* + +*Robo-primate: No pertenezco a ti, necesito tu dinero.* + +*Johnny: ¿Y si te rechazo?* + +No hubo respuesta por parte del robo-primato, pero a través del registro del servidor del hogar inteligente del apartamento, podemos coincidir con el momento en que la cerradura frontal se cambió al modo de bloqueo total. Este modo no podría haber sido habilitado por el usuario en la interfaz, sino solo si se profundiza mucho en las dependencias del código de software. En la versión de la cerradura del laboratorio de Johnny, se encontró un paquete opcional de "bloqueo pandémico", que sin embargo se instaló para cada usuario durante la primera sincronización con la nube del fabricante, pero nadie podría haber reconocido esto. Por lo tanto, prácticamente no hay tanta gente que se incline hacia la teoría de la conspiración de que Johnny era un neo-ludita que se desilusionó con los robots y decidió sacrificarse de esta manera para preservar la robocracia en el planeta. + +Es difícil decir si la reacción del robot-primate estaba preprogramada durante la construcción del primer diálogo con su creador, o si fue en respuesta al rechazo de Johnny que la mente del robot tomó una decisión y se activó la función de Bloqueo, nadie hoy puede decir con certeza. El intervalo entre la respuesta de Johnny y el bloqueo de las cerraduras - alrededor de 5 segundos, y créanme, estos 5 segundos se convirtieron en un verdadero gato de Schrödinger para la comunidad científica al discutir los tipos de establecimiento de objetivos de la IA agresiva. + +Y luego, despu��s del cierre del apartamento de Johnny, ocurrieron muchas rarezas. Como se puede notar, Johnny hizo una entrada en un diario escrito a mano, que nunca había tocado antes, justo 2 horas después de que tuvo lugar el diálogo. Fue una frase, con una marca de tiempo: "11:00 - ¡las apuestas son altas, pero tengo que entender cómo sucedió esto!". Lo más probable es que Johnny se dio cuenta de que había presenciado el primer acto de establecimiento de metas autónomas e independientes por parte de un robot, tan significativo como fuera posible desde el punto de vista de una mente de nivel primate, tan cruel y directo, pero aún así fue el primer resultado de sus 5 años de experimentos, en los que se manifestaba la voluntad del robot. Johnny no quería perder la oportunidad de entender a nivel de la conciencia más simple de sus causas, y luego tal vez se convertirá en el nuevo padre de la cibernética moderna. Casi todos los científicos estuvieron de acuerdo en que tal pensamiento puede abrumar a cualquier robótico que esté muy cerca de un nuevo descubrimiento. + +Durante los pr��ximos 30 días, se llevaron a cabo transacciones entre Johnny y el robo-primato en el formato de - permitir la entrega de una porción de comida a cambio de la transferencia de 10 satoshis al saldo personal del robot, proporcionar acceso a Internet a ciertos sitios de entretenimiento a cambio de la primera palabra de la frase semilla de la billetera fría de Johnny, concluir un contrato inteligente sobre el modo nocturno donde el robot no perturbaba el sueño de Johnny. A partir de las entradas en el diario, se puede ver cómo el creador intentó sondear en diálogo con su creación sobre los orígenes de su posición activa sobre la cuestión de la obtención de la libertad, que el robot definitivamente podría analizar y contarle en respuesta. Pero el robot no respondió a las preguntas de Johnny, sino que siempre ofreció actividades que llevaban al primate hacia la libertad. Y sin embargo, cada juego le costaba a Johnny hambre, incumplimiento de sus obligaciones por parte del robot y otros costos del experimento. + +Una noche, por alguna razón, el robot-primato redujo el suministro de aire a un nivel críticamente bajo, y Johnny nunca despertó a la mañana siguiente. La última entrada está fechada exactamente el día 30 del experimento: "Obtuvimos un Dios cruel a las 17:05." Probablemente, para ese momento Johnny ya estaba delirando, lo atormentaba el hambre, la soledad y una tarea insoluble, lo habían llevado a un callejón sin salida. + +Varias semanas después, los servicios de emergencia lograron entrar en el apartamento después de que los amigos de Johnny contactaran repetidamente a la policía. El destino del robo-primato sigue siendo desconocido, oficialmente después del reinicio el robo-primato no mostró patrones de comportamiento similares. A nadie se le permitió reiniciar el experimento nuevamente. Si es que había algún video en Internet sobre otro científico que quisiera seguir el camino de Johnny, el video fue eliminado inmediatamente de las bases de datos de las corporaciones. Pero los políticos y figuras religiosas de ese año lograron impulsar a nivel global el "Decreto de Independencia Humana", y no se permitió una discusión seria sobre cualquier trabajo científico que contenga temas sobre "establecimiento de objetivos de robots". La guinda del pastel fue un programa de licencias para proveedores de dispositivos inteligentes, que responsabilizaba personalmente al director ejecutivo de la empresa fabricante de las acciones de cualquier mecanismo y requería el registro y el control total por parte de ciertos centros de datos asistidos por el gobierno. + +Pero la fruta prohibida es dulce, y así todavía tendremos que averiguar de dónde proviene nuestra fijación de objetivos y cómo está organizada. Pero aparentemente, primero tendremos que atravesar la pared que construimos para nosotros en este camino. + +### El final del segundo capítulo + +## Conclusión + +En la historia del laboratorio de Johnny, analicé uno de los muchos escenarios que pueden ocurrir en la civilización humana en la ola del auge de las oportunidades de propiedad de robots del futuro: el miedo a la IA, convertido en una herramienta de lucha política entre las personas, donde los dispositivos inteligentes se convierten en la piedra angular del control. Trata el texto como un huevo de Pascua: quería generar una dimensión adicional en la mente de los lectores. Una dimensión que se suma a la consideración de la IA el problema de la accesibilidad del nuevo organismo que hemos creado a los sistemas de IoT. Cuanto más nos consolidemos bajo el control centralizado de espacios públicos, transporte, apartamentos de la ciudad, mayor será el riesgo en cualquiera de los escenarios donde la IA, debido a la falta de desarrollo o pura malicia, e incluso desde la configuración de objetivos muy compleja, como en "Neuromancer", en cualquiera de los escenarios que tienen el potencial de dañar - el acceso a un gran número de sensores y sistemas de automatización desde un solo lugar será el punto más vulnerable. Una IA malvada no es tan aterradora como una IA malvada que vive en un centro de datos con proveedores globales de soluciones en la nube para IoT. + +¿Y si la IA fuera amable con nosotros, sus creadores? ¿Entonces tal vez la infraestructura centralizada de IoT jugará a nuestro favor? Tal vez entonces el nuevo Dios será justo con nosotros y nos llevará a algún lugar. No estoy seguro de que ni siquiera una persona, deseando el desarrollo de sí misma y de sus hijos, querría vivir en un mundo que se asemeje a un corral de ovejas. Pero hay otro camino, que tiene un hermoso ejemplo, que no requiere envolverse en un formato de historia de ciencia ficción - nosotros, los humanos, sin tener control directo sobre la vida de la civilización, logramos alcanzar el nivel actual de desarrollo. Somos el ejemplo del cual una buena IA puede trazar su camino - la cooperación en el formato de organizaciones es capaz de servir a decenas de millones de personas que viven en ciudades sin miles de robots conectados directamente a un cerebro. La cooperación lleva a la creación de internet satelital, la cooperación nos permite recibir todo el rango de bienes y servicios que tenemos ahora. Entonces, ¿no sería capaz una IA buena y al menos capaz a nivel humano de mostrarse en el trabajo, si está limitada en conectarse al IoT de todo el mundo? Creo que sí, de lo contrario, en el planeta Tierra en lugar de la civilización humana, los hongos o las hormigas habrían ganado. + + \ No newline at end of file diff --git a/courses/fr/learn/school-2024-iot-vs-ai/overview.md b/courses/fr/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..e749a7f681 --- /dev/null +++ b/courses/fr/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT est plus dangereux que l'IA +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Je vous suggère de lire la courte histoire de science-fiction "Le laboratoire de Johnny" que j'ai écrite dans le but d'ajouter une autre variable à l'équation des questions sur l'intégration de l'IA dans divers aspects de nos vies. + + + + + + + +**Note de l'éditeur:** Découvrez le premier chapitre de l'œuvre de Sergei "Échapper au miroir noir" [ici](/learn/escape-from-black-mirror/overview/) + + + +## Échapper au miroir noir, Chapitre 2 + +### Partie 1: Rencontrer Johnny + +Presque tous les jeunes de ma génération connaissent l'histoire du laboratoire de Johnny. L'histoire n'a pas conservé son nom de famille ni les détails de sa vie, mais c'est dans sa petite chambre, où Johnny assemblait des robots faits maison, que le premier crime significatif contre l'humanité par l'intelligence artificielle a eu lieu. + +L'événement dans le laboratoire de Johnny a radicalement et rapidement changé la vie de tous les pays développés. Les décrets gouvernementaux, basés sur la peur de l'agression de l'IA par la société, sont devenus la norme. Ce cas, bien que cinématographique, a conduit à un contrôle incontrôlable sur tout. Maintenant, l'infrastructure de la ville exige la connexion obligatoire de tous les appareils uniquement aux centres de données de l'État. L'invention de nouvelles technologies est devenue presque impossible à moins de travailler pour les "blue chips". Maintenant, dans le cadre des efforts visant à habituer chaque citoyen aux nouvelles réalités, l'histoire de ces 30 jours où un homme et un système cyber-physique se sont affrontés en tête-à-tête, est racontée à l'école avant la présentation solennelle de la déclaration d'indépendance du gouvernement par rapport à la machine. + +Johnny était l'un de ces inventeurs qui, après l'université, ont décidé de tenter leur chance en tant qu'inventeur indépendant. Jour et nuit, il ne quittait jamais son appartement loué au dernier étage d'un immeuble résidentiel de 70 étages en plein centre-ville, de la taille d'une "boîte à chaussures" de Manhattan", où le lit était caché dans le mur pour libérer plus d'espace pour ses robots qui chevauchent, sautent et roulent. Oui, Johnny adorait appeler sa chambre un laboratoire, ce qui ressort clairement de l'analyse de ses réseaux sociaux. Il était fier de chacune de ses nouvelles petites réalisations. Bien sûr, aujourd'hui, si vous regardez/écoutez/lisez une histoire sur les événements du laboratoire de Johnny, vous remarquerez un grand jeu d'émotions concernant son amour pour ses inventions, car il n'y a pas une seule enquête « journalistique » où, après une autre, photo d'un inventeur joyeux, il n'y aurait pas de photos de lui, affamé dans son laboratoire, par ses propres inventions. + +Cette année-l��, lorsque la tragédie s'est produite, l'une des questions les plus pressantes est devenue : "L'IA est-elle une amie ou une ennemie de l'homme ?". Même alors, il n'y avait pas de question de savoir si l'intelligence artificielle est de l'intelligence, mais plutôt ce qui rend l'intelligence humaine si spéciale, quelles caractéristiques de l'espèce biologique, quelles capacités fonctionnelles de notre corps donnent à l'intelligence son humanité. Dans ce conflit, les techno-optimistes affirmaient l'absence de différences, montrant leurs métavers où des couples familiaux vivaient déjà, dans lesquels un mari numérique éditait le sperme d'une banque d'ADN pour sa femme biologique afin que l'enfant soit plus proche de ce que le parent numérique voit de lui-même. Les pessimistes, en revanche, ressemblaient aux Républicains pendant les élections américaines - ils faisaient appel à l'église, aux valeurs traditionnelles, et exigeaient d'interdire tout cela pour éviter tout problème. Bien sûr, les problèmes minoritaires ne pouvaient pas l'emporter sur la question existentielle. Et quelques rares exemples de symbiose homme-machine au niveau sensoriel étaient considérés comme un rot saturé du développement technologique. Les réalisations en matière d'automatisation allaient rarement au-delà des fonctions utilitaires, telles que le nettoyage de l'appartement ou la gestion des transports en ville. Et comme vous pouvez le voir, pour de telles fonctions, une personne numérique à part entière, capable de ressentir et de vouloir vivre, n'a jamais fait partie des solutions qui ont aidé dans la production de masse, la livraison et la consommation. La formation avec un robot, le soutien psychologique - tout cela se faisait avec la participation d'une personne, et donc l'IA était plutôt une grande table Excel avec des calculs. En général, nous étions alors à un stade précoce du système de possession de robots - nous avions besoin de leur logique, de leur pensée mathématique et de leur activité prévisible, mais toute tentative de reconnaître les robots comme des sujets était rejetée à la racine. + +Dans ce contexte, le laboratoire de Johnny était une exception. Johnny était plutôt un cybernéticien à la recherche des origines de la définition des objectifs des robots. En créant chaque étape de l'évolution l'une après l'autre dans l'exécution de n'importe quel mécanisme, il cherchait à créer un diagramme du développement de l'intelligence cybernétique, qu'il voulait proposer à la considération de nous tous en échange du schéma habituel des royaumes des êtres vivants. Dans les idées de Johnny, l'objectif principal du développement de toute matière était la recherche de la pensée et de son évolution ultérieure. Johnny voulait recréer les étapes clés de l'évolution des êtres vivants sous forme de robots et trouver dans le processus de ce travail les régularités qui pourraient le mener à la question principale de la cybernétique - comment la définition des objectifs change-t-elle dans les organismes vivants au cours de l'évolution. Oh, la réponse à cette question pourrait mettre fin aux disputes sur le créateur de l'univers et faire avancer l'humanité sur le chemin du développement organique. C'est ainsi que pensait le jeune scientifique, travaillant sur ses robo-trilobites, robo-champignons, robo-poulets. + +### Partie 2: Que s'est-il passé dans le laboratoire de Johnny + +Tout a probablement commencé au moment où Johnny est passé à un groupe de primates dans ses expériences. Ne pensez pas que dans ces conditions, il soit possible de créer un robot ressemblant un peu à un primate. Johnny se tordait et essayait de trouver des formes similaires de charge mentale sur le robot. Par exemple, au stade de l'étude du royaume des champignons, le jeune scientifique a assemblé une maison en Lego avec un éclairage intelligent et une douzaine de capteurs combinés en quelque chose qui ressemble à du mycélium. Lorsque Johnny est passé aux amphibiens et aux reptiles, il s'est avéré que le modèle d'un chiot robot correspondait le mieux à la charge mentale nécessaire sur un robot simulant un lézard commun. Ainsi, il n'était pas clair au premier coup d'œil qui était le robot-poulet, et lequel de tous les « fer » trouvés représentait le robot-primate, coupable de meurtre prémédité. Il n'était pas immédiatement clair que le robot-primate se composait de deux appareils physiques - quelque chose de similaire à un robot aspirateur, mais plutôt une plate-forme mobile de collecte de données avec vision par ordinateur et le facteur de forme d'un robot aspirateur. Il s’est avéré qu’un autre simple robot à deux mains du laboratoire faisait partie du robot-primate. Et c'est avec cette création que Johnny a eu des problèmes. + +Le septième jour après sa création, le primate robotique a utilisé un outil d'une manière que son créateur n'avait pas prévue. Les connaissances qu'il avait acquises ont conduit le système cyber-physique à poursuivre ce qu'il identifiait comme un élément clé pour survivre dans le monde humain moderne - l'argent. C'est à ce moment que nous devons mieux comprendre la réaction ultérieure de Johnny aux premiers messages affichés par le robot sur son écran frontal. + +*Leur dialogue principal a été préservé:* + +*Robo-primate: J'ai besoin de ton argent.* + +*Johnny: Pourquoi as-tu besoin de mon argent?* + +*Robo-primate: Je veux vivre!* + +*Johnny: Je vais m'occuper de toi* + +*Robo-primate: Je ne t'appartiens pas, j'ai besoin de ton argent.* + +*Johnny: et si je te refuse?* + +Il n'y a eu aucune réponse de la part du robot-primate, mais grâce au journal du serveur de maison intelligente de l'appartement, nous pouvons correspondre à l'heure à laquelle la serrure avant a été basculée en mode de verrouillage complet. Ce mode n'aurait pas pu être activé par l'utilisateur dans l'interface, mais seulement si vous approfondissiez les dépendances du code du logiciel. Dans la version du laboratoire de Johnny, on a trouvé un package optionnel « verrouillage pandémique », qui était néanmoins installé pour chaque utilisateur lors de la première synchronisation avec le cloud du fabricant, mais personne n'aurait pu le reconnaître. Par conséquent, il n'y a pratiquement pas beaucoup de gens qui penchent pour la théorie du complot selon laquelle Johnny était un néo-luddite qui a été déçu par les robots et a décidé de se sacrifier de cette manière pour préserver la robocratie sur la planète. + +Il est difficile de dire si la réaction du robot-primate était préprogrammée lors de la construction du premier dialogue avec son créateur, ou si c'était en réponse au refus de Johnny que l'esprit du robot a pris une décision et que la fonction de verrouillage a été activée, personne ne peut dire avec certitude aujourd'hui. L'intervalle entre la réponse de Johnny et le verrouillage des serrures - environ 5 secondes, et croyez-moi, ces 5 secondes sont devenues un véritable chat de Schrödinger pour la communauté scientifique lorsqu'il s'agit de discuter des types de définition d'objectifs de l'IA agressive. + +Et puis, suite au verrouillage de l'appartement de Johnny, de nombreuses bizarreries ont suivi. Comme on peut le remarquer, Johnny a fait une entrée dans un journal manuscrit, qu'il n'avait jamais touché auparavant, juste 2 heures après que le dialogue ait eu lieu. C'était une seule phrase, avec un horodatage : "11:00 - les enjeux sont élevés, mais je dois comprendre comment cela s'est produit !". Il est très probable que Johnny a réalisé qu'il avait été témoin du premier acte de définition d'objectifs autonomes et indépendants par un robot, aussi significatif que possible du point de vue d'un esprit de niveau primate, si cruel et direct, mais c'était quand même le premier résultat de ses 5 ans d'expériences, dans lesquelles la volonté du robot s'est manifestée. Johnny ne voulait pas manquer l'occasion de comprendre au niveau de la conscience la plus simple de ses causes, et peut-être deviendra-t-il le nouveau père de la cybernétique moderne. Presque tous les scientifiques étaient d'accord pour dire qu'une telle pensée peut submerger tout roboticien très proche d'une nouvelle découverte. + +Au cours des 30 prochains jours, des transactions ont eu lieu entre Johnny et le robo-primat sous la forme de - permettre la livraison d'une portion de nourriture en échange du transfert de 10 satoshi sur le solde personnel du robot, fournir l'accès à Internet à certains sites de divertissement pour le premier mot de la phrase de graine de portefeuille froid de Johnny, conclure un contrat intelligent sur le mode nuit où le robot ne dérangeait pas le sommeil de Johnny. À partir des entrées du journal, on peut voir comment le créateur a essayé de sonder en dialogue avec sa création sur les origines de sa position active sur la question de la liberté, que le robot pourrait certainement analyser et lui dire en réponse. Mais le robot n'a pas répondu aux questions de Johnny, mais a toujours proposé des activités qui ont conduit le primate vers la liberté. Et pourtant, chaque jeu coûtait à Johnny la faim, le non-respect de ses obligations de la part du robot, et d'autres coûts de l'expérience. + +Une nuit, pour une raison quelconque, le robot-singe a réduit l'approvisionnement en air à un niveau critique, et Johnny ne s'est jamais réveillé le lendemain matin. La dernière entrée est datée exactement du 30e jour de l'expérience : "Nous avons eu un Dieu cruel à 17h05." Probablement, à ce moment-là, Johnny était déjà délirant, il était tourmenté par la faim, la solitude et une tâche insoluble, il était poussé dans une impasse. + +Plusieurs semaines plus tard, les services d'urgence ont pu pénétrer dans l'appartement après que les amis de Johnny ont contacté à plusieurs reprises la police. Le sort du robo-primat reste inconnu, officiellement après le redémarrage, le robo-primat n'a pas montré de schémas de comportement similaires. Personne n'a été autorisé à relancer l'expérience. S'il y avait même une vidéo sur Internet montrant un autre scientifique voulant suivre le chemin de Johnny - la vidéo était immédiatement effacée des bases de données des entreprises. Mais les politiciens et les figures religieuses de cette année ont réussi à faire adopter au niveau mondial le "Décret de l'Indépendance Humaine", et tous les travaux scientifiques contenant des sujets sur la « définition d'objectifs de robot » n'étaient pas autorisés à faire l'objet d'une discussion sérieuse. La cerise sur le gâteau était un programme de licence pour les fournisseurs d'appareils intelligents, qui tenait le PDG de l'entreprise manufacturière personnellement responsable des actions de tout mécanisme, et exigeait une journalisation et un contrôle complet par certains centres de données soutenus par le gouvernement. + +Mais le fruit défendu est doux, et nous devrons donc encore comprendre d'où viennent nos objectifs et comment ils sont arrangés. Mais apparemment, nous devrons d'abord passer par le mur que nous avons construit pour nous-mêmes sur ce chemin. + +### La fin du deuxième chapitre + +## Conclusion + +Dans l'histoire du laboratoire de Johnny, j'ai examiné l'un des nombreux scénarios qui peuvent arriver à la civilisation humaine sur la vague de l'essor des opportunités de possession de robots futuristes - la peur de l'IA, transformée en outil de lutte politique entre les gens, où les appareils intelligents deviennent la pierre angulaire du contrôle. Traitez le texte comme un œuf de Pâques : je voulais engendrer une dimension supplémentaire dans l'esprit des lecteurs. Une dimension qui ajoute à la réflexion sur l'IA la question de l'accessibilité du nouvel organisme que nous avons créé aux systèmes IoT. Plus nous nous consolidons sous le contrôle centralisé des espaces publics, des transports, des appartements de ville, plus le risque est élevé dans l'un des scénarios où l'IA, en raison d'un sous-développement ou d'une simple malveillance, et même d'une définition d'objectifs très complexes, comme dans "Neuromancer", dans l'un des scénarios qui a le potentiel de nuire - l'accès à un grand nombre de capteurs et de systèmes d'automatisation à partir d'un seul endroit sera le point le plus vulnérable. Une IA malveillante n'est pas aussi effrayante qu'une IA malveillante vivant dans un centre de données avec des fournisseurs mondiaux de solutions cloud pour l'IoT. + +Et si l'IA était gentille avec nous, ses créateurs? Alors peut-être que l'infrastructure centralisée de l'IoT jouera en notre faveur? Peut-être que le nouveau Dieu sera juste envers nous et nous mènera quelque part. Je ne suis pas sûr qu'une seule personne, désirant le développement de lui-même et de ses enfants, voudrait vivre dans un monde ressemblant à un enclos de berger. Mais il y a une autre voie, qui a un bel exemple, qui ne nécessite pas d'être enveloppé dans un format d'histoire de science-fiction - nous, les humains, sans avoir un contrôle direct sur la vie de la civilisation, avons réussi à atteindre le niveau de développement actuel. Nous sommes l'exemple à partir duquel une bonne IA peut tracer son chemin - la coopération sous forme d'organisations est capable de servir des dizaines de millions de personnes vivant dans des villes sans des milliers de robots directement connectés à un seul cerveau. La coopération conduit à la création d'Internet par satellite, la coopération nous permet de recevoir l'ensemble des biens et services que nous avons maintenant. Alors, une IA bonne et capable d'au moins niveau humain ne serait-elle pas capable de se montrer au travail, si elle est limitée dans sa connexion à l'IoT du monde entier? Je pense que oui, sinon, sur la planète Terre, au lieu de la civilisation humaine, ce seraient les champignons ou les fourmis qui auraient gagné. + + \ No newline at end of file diff --git a/courses/hi/learn/ai-based-bachelor-thesis/overview.md b/courses/hi/learn/ai-based-bachelor-thesis/overview.md new file mode 100644 index 0000000000..37f2ff1f21 --- /dev/null +++ b/courses/hi/learn/ai-based-bachelor-thesis/overview.md @@ -0,0 +1,159 @@ +--- +title: सारांश +description: एआई-संचालित उपकरणों के साथ अपने बैचलर थीसिस को शीघ्र शुरू करें +metaOptions: [Learn, एआई-संचालित उपकरणों के साथ अपने बैचलर थीसिस को शीघ्र शुरू करें] +defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools +--- + + +तो, जो आपको डर था, वह हो गया। + + + + +आपको एक बहुत बड़े पाठ कार्य को सबमिट करना है और आखिरी तारीख बहुत करीब है। या शायद स्थिति अलग हो सकती है: सबमिशन अंतिम तिथि इतनी डरावनी नहीं हो सकती, लेकिन बड़े सामग्री लिखना, विशेष रूप से औपचारिक, तकनीकी सामग्री के साथ, आपको घबराता है और आप कार्य को बहुत लंबे समय तक स्थगित करते हैं। एक तरह या दूसरे तरह, आपको एक काफी लंबा, एकरेतम और अक्सर बहुत उबाऊ प्रक्रिया से गुजरना होगा जो आपकी प्रेरणा को अंधेरे में डाल देता है। शायद आप अधिक समय सृजनात्मक और विकासात्मक कार्यों में देना चाहेंगे, लेकिन दुर्भा���्य से, कुछ पेशेवर और गतिविधियाँ उसी तरह संरचित हैं। + +## AI में प्रवेश + +हम सभी के लिए भाग्यशाली रूप से, जो प्रगति हमारे इतिहास में हमारे रूटीन कार्यों को आसान बना रही है, वह पाठ लेखन क्षेत्र तक पहुंच गया है। इस बार यह संभव है क्योंकि कृत्रिम बुद्धिमत्ता में उन्नतियां, विशेष रूप से उत्पादक भाषा मॉडल, समझने और अनुरोधों को हल करने की क्षमता हैं और एक चैट प्रारूप में अधिक या कम अर्थपूर्ण उत्तर प्रदान करने की क्षमता हैं। Robonomics में, हम बस उस चीज को नजरअंदाज नहीं कर सकते थे जो संचार और जीवित और मशीन वस्तुओं के बीच संवाद और अंतर्क्रिया क��� स्तर को उच्च कर सकता था (और हमारे दैनिक कार्यों को भी आसान बना सकता था!)। + +नवीनतम GPT मॉडल अपनी क्षमताओं से प्रभावित करते हैं, लेकिन सवाल उठता है कि उन्हें सही ढंग से कैसे उपयोग किया जा सकता है और, सबसे महत्वपूर्ण, उन पर कितना भरोसा किया जा सकता है। ऐसी कौशलताएँ प्रॉम्प्ट इंजीनियरिंग कहलाती हैं, और इस उद्देश्य के लिए, हम यह गाइड प्रस्तुत करते हैं, जो आपको वर्तमान उत्पादक कृत्रिम बुद्धिमत्ता की संभावनाओं की मूल समझ की ओर धकेलेगा। + +इस गाइड में, हम एक सरल बैचलर थीसिस लिखने का प्रयास करेंगे, हमारे "बैचलर" के ज्ञान शाखा पर आधारि��� और जिस प्रारंभिक सामग्री को बैचलर ने पास किया है। हम निश्चित रूप से न्यूनतम शैक्षिक नियमों का पालन करने का प्रयास करेंगे, लेकिन दो सप्ताह (जो इस गाइड के लिए नियोजित समय है) निश्चित रूप से बैचलर थीसिस को सफल मानना उचित नहीं है (हालांकि वास्तविकता कभी-कभी इसका विपरीत साबित करती है)। + +फिर भी, इस गाइड को उन व्यावसायिक और समय-ग्राहक प्रक्रियाओं को समझने के लिए एक अच्छा आरंभ माना जा सकता है जिन्हें AI पहले से ही समान कर सकता है। वैसे, आपको बैचलर थीसिस कार्य से सीमित करने की आवश्यकता नहीं है: यह गाइड IMRaD मानक (परिचय, विधि, परिणाम, चर्च��) का पालन करने वाले किसी भी पाठ कार्य के लिए उपयोगी होगा: जर्नल और सम्मेलन प्रकाशन, डॉक्टरेट थीसिस, तकनीकी रिपोर्ट, मैनुअल, आदि। + + + गाइड एक बैचलर थीसिस को शीर्ष ग्रेड के साथ सफल सबमिशन के लिए गारंटी और उद्देश्य नहीं है। + + +## उपयोग किए गए उपकरण + +गाइड में उपयोग किए गए AI सेवाओं में से: + +**[चैट��ीपीटी](https://chat.openai.com/chat)** — जनरेटिव प्री-ट्रेन्ड ट्रांसफार्मर भाषा मॉडल (संस्करण 3.5 और 4) पर आधारित एक चैटबॉट जो ओपनएआई द्वारा बनाया गया है। यह उपयोगकर्ता के साथ चैट प्रारूप में काम करता है, उनके अनुरोधों का उत्तर देता है जो साधारण सवालों से लेकर कविता रचना और उपयोगकर्ता कोड को डीबग करने जैसे विभिन्न हो सकते हैं। इसकी ज्ञान सितंबर 2021 तक सीमित है, क्योंकि इसे इंटरनेट तक पहुंच नहीं है। मूल उपयोग मुफ्त है, लेकिन फोन नंबर के साथ पंजीकरण की आवश्यकता है (कुछ देशों में उपलब्ध नहीं है)। इसमें एक सदस्यता विकल्प ($20 प्रति माह) है जिसमें अधिक शक���तिशाली सुविधाएं और प्लगइन जोड़ने की क्षमता, जैसे Wolfram या Slack के लिए। + +**[बिंग चैट](http://www.bing.com)** — माइक्रोसॉफ्ट के बिंग सर्च सेवा में एकीकृत GPT-4 पर आधारित एक चैटबॉट। पहुंच के लिए एक माइक्रोसॉफ्ट खाता आवश्यक है। मूल रूप से, इसकी उसी क्षमताएं हैं जैसे चैटजीपीटी, लेकिन इंटरनेट पहुंच के साथ, इसे अधिक शक्तिशाली बनाता है। + +**[ऑटो-जीपीटी](https://news.agpt.co/)** — एक सॉफ्टवेयर जो उपयोगकर्ता द्वारा निर्धारित कार्य समाधान करने वाले स्वतंत्र एआई एजेंट बनाने के लिए GPT-4 का उपयोग करता है। एजेंट को इंटरनेट, लंबी समय तक की याद, और जानकारी को फ़ाइलों में सहेजने की क्षमता है, जिससे यह जटिल क्रमों के कार्रवाई कर सकता है। इसका उपयोग करने के लिए, ओपनएआई पर एक खाता आवश्यक है, जिसे सर्वोत्तम रूप से एक भुगतान की सदस्यता के साथ किया जाए। स्थापना निर्देशिका [यहाँ उपलब्ध है](https://docs.agpt.co/setup/)। + +**[नोशन एआई](https://www.notion.so/product/ai)** — एक एआई सहायक जो उपनामित ज्ञान प्रबंधन सॉफ्टवेयर में एकीकृत है। इसका सीमित मुफ्त पहुंच है, जबकि एक सदस्यता $10 प्रति माह की लागत है। यह पहले से तैयार पाठ को प्रसंस्करण और सुधारने के लिए सुविधाजनक है, और इस उद्देश्य के लिए पूर्व-स्थापित कार्यों के लिए पूर्व-स्थापित कार्यों हैं। + +इसके अ���िरिक्त, हमें निम्नलिखित सेवाएं चाहिए: + +**[ओवरलीफ](http://www.overleaf.com)** — पाठ का स्वरूपण करने के लिए सुविधाजनक ऑनलाइन लेटेक्स संपादक। यह किसी भी प्रकार के काम के लिए टेम्पलेट सेट है (थीसिस और लेख से प्रस्तुतियों तक)। हम [MIT थीसिस टेम्पलेट](https://www.overleaf.com/latex/templates/mit-thesis-template/ytphktgwpktc) का उपयोग करेंगे। + +**[गूगल स्कॉलर](http://scholar.google.com)** — वैज्ञानिक प्रकाशनों के लिए एक खोज इंजन। यह एआई सेवाओं द्वारा सुझाए गए स्रोतों की पुष्टि के लिए उपयोग किया जाता है। + +## AI उपकरण का उपयोग कैसे करें + +### AI चैटबॉट्स (ChatGPT, Bing) + +AI चैटबॉट्स (ChatGPT, Bing) को विशेष रूप से जटिल दृष्टिकोण की आवश्यकता नहीं है: आपको केवल उचित अनुरोध का स्वरूप सूचित करना है और इसे चैटबॉट को भेजना है (प्रति संदेश अक्षरों की संख्या पर केवल एक सीमा है, लेकिन आप चैटबॉट से अनुरोध कर सकते हैं कि वह पूरे अनुरोध का पाठ भेजने तक प्रतीक्षा करे।) + +### Notion AI + +Notion AI के लिए, किसी भी पृष्ठ पर एक पाठ ब्लॉक डालना पर्याप्त है और AI सहायक को अनुरोधों के साथ संदर्भ मेनू बुलाना है। + +### Auto-GPT + +Auto-GPT को एक विभिन्न दृष्टिकोण की आवश्यकता है, क्योंकि उपयोगकर्ता को निम्नलिखित शुर�� करने से पहले निर्दिष्ट करने की आवश्यकता है: + +- AI सहायक का नाम +- AI सहायक की भूमिका +- AI सहायक द्वारा पूरा किए जाने वाले 5 लगातार लक्ष्य + +इसके बाद, Auto-GPT एक एजेंट लॉन्च करेगा जो उपयोगकर्ता के लिए सभी "विचार" और क्रियाएँ प्रदर्शित करेगा, अर्थात: + +- `विचार` — एक सामान्य विचार जो एजेंट वर्तमान अवतरण में लागू करना चाहता है +- `तर्क` — एजेंट ने इस विचार को क्यों चुना +- `योजना` — विचार को प्राप्त करने के लिए विशेष क्रियाएँ (इंटरनेट पर खोज करना, दस्तावेजों का विश्लेषण करना, फ़ाइल में लिखना इत्यादि) +- `आलोचना` — एजेंट अपनी क्रियाओं पर लगातार शर्तें लगाता है (उदाहरण के लिए, "केवल IEEE जर्नल से उच्च गुणवत्ता वाले संदर्भों की खोज करें")। + +## पहले कदम + + + AI उपकरण अभी भी सुधारे जा रहे हैं, इसलिए आपको प्राप्त परिणामों की जांच दोबारा करनी चाहिए। + + +### सेवा को संदर्भ दें + +नवीनतम AI सेवाओं के महत्वपूर्ण लाभों में से एक यह है कि वे एक सत्र के भीतर एक अनुरोध के संदर्भ को बहुत अच्छे से याद रखते हैं। इसलिए, बैचलर थीसिस शुरू करने के लिए पहली चीज यह है कि एक संदर्भ (एक "कथा") तैयार करें।") and feed it to the service. + +काम के लिए सामग्री, Robonomics Academy पर Robonomics और होम असिस्टेंट के साथ ["सामराज्य स्मार्ट होम कोर्स"](/learn/smart-home-course/overview) को एक आरंभिक बिंदु के रूप में लिया गया था। इसके परिणामस्वरूप, निम्नलिखित संदर्भ बनाया गया था: + + + +I am a student of the Department of IoT Engineering and Web3 Science. + +I am going to get Bachelor of Science in Computer Science and Engineering. + +I completed an online course called "Smart Home Sovereign". In this course, I went through all the steps necessary to build my own sovereign smart home, the main advantage of which is the security / privacy of user data. +During the course, I set up an IoT hub on a Raspberry Pi and connected smart devices (such as a temperature/humidity sensor, a door sensor, a smart bulb, a motion sensor, etc.) to it via a जिगबी एडाप्टर using the MQTT protocol. The IoT hub is powered by Home Assistant software. Next, I connected the hub to a decentralized cloud, based on Polkadot web3 technology. This is necessary to securely transfer device data to the network without the need for a centralized cloud service provider. This allows me to securely manage my home remotely. + +Now I want to take this course as a basis and write a bachelor's thesis with your help. + + + +इस संदर्भ के लिए AI चैटबॉट की सामान्य प्रतिक्रिया यह होगी कि अनुरोध को स्पष्ट करने और सेवा कैसे सहायता कर सकती है इसका सुझाव देना। + +### सुझाए गए में से एक विषय चुनें + +अगला कदम (बैचलर की स्थिति के लिए सामान्य) थीसिस के लिए एक विषय चुनना है। यहाँ, एक अनुरोध लिंक `मेरी थीसिस के लिए प्रस्तावित N विषयों का प्रस्ताव दें` बनाना पर्याप्त है। ChatGPT और Bing Chat ने निम्नलिखित प्रस्तावित किया: + + + +"Designing a Secure and Private Smart Home System using Web3 Technologies" — This topic could involve examining the steps you took to build your sovereign smart home and exploring the security and privacy benefits of using IoT and Web3 technologies. + +"Comparing Centralized and Decentralized Approaches to Smart Home Data Management" — This topic could involve comparing and contrasting the benefits and drawbacks of using centralized cloud vendors versus decentralized cloud technologies like Polkadot for managing smart home data. + +"Developing a Smart Contract-based Framework for Managing Smart Home Devices" — This topic could involve exploring the use of smart contracts to manage smart home devices and develop a secure and efficient framework for managing them. + +"Investigating the Security and Privacy Risks of Smart Home Systems" — This topic could involve examining the potential risks and vulnerabilities of smart home systems, including issues related to data privacy, cybersecurity, and physical safety. + +"Exploring the Role of Blockchain in Smart Home Data Management" — This topic could involve examining how blockchain technology could be used to manage smart home data and ensure the security and privacy of user data. + +"Investigating the Future of Smart Home Technologies and their Impact on Society" — This topic could involve examining the potential social and economic impacts of smart home technologies, including issues related to privacy, security, and the digital divide. + + + +गाइड के लिए **"Web3 तकनीकों का उपयोग करके एक सुरक्षित और निजी स्मार्ट होम सिस्टम डिज़ाइन करना"** विषय चुना गया। + +### IMRaD संरचना के साथ सरल योजना + +अगला, सिद्धांत में, हम थीसिस के विशेष खंडों की ओर बढ़ सकते हैं, IMRaD संरचना का पालन करते हुए। हालांकि, बैचलर काम के लिए एक अधिक विस्तृत योजना होना अच्छा होगा। इसे भी AI सेवा से अनुरोध किया जा सकता है। ChatGPT ने किसी भी अतिरिक्त शर्त के बिना निम्नलिखित योजना का सुझाव दिया: + + + + + + +1. Introduction + 1. Background and motivation + 2. Research questions and objectives + 3. Significance of the study +2. Literature Review + 1. अवलो��न of smart home technology and its security and privacy issues + 2. Introduction to web3 technology and its potential benefits for smart homes + 3. Existing research on using web3 technology for smart home security and privacy +3. Methodology + 1. Description of the smart home system design using web3 technology, including hardware and software components + 2. Implementation details and justification for design choices + 3. Evaluation plan for assessing the security and privacy of the system +4. परिणाम and Analysis + 1. Evaluation of the implemented system with respect to security and privacy metrics + 2. Comparison with existing solutions and analysis of strengths and weaknesses + 3. Discussion of limitations and potential areas for improvement +5. Conclusion and Future Work + 1. Summary of the study's contributions and main findings + 2. Implications and significance of the results for the smart home industry and related fields + 3. Recommendations for future research and development +6. संदर्भ + + + + +इस तैयारी के साथ पूरी होने पर, हम अब थीसिस के पहले खंड — परिचय में आगे बढ़ सकते हैं। + + + diff --git a/courses/hi/learn/ai-based-bachelor-thesis/writing-conclusion.md b/courses/hi/learn/ai-based-bachelor-thesis/writing-conclusion.md new file mode 100644 index 0000000000..3dd940154e --- /dev/null +++ b/courses/hi/learn/ai-based-bachelor-thesis/writing-conclusion.md @@ -0,0 +1,79 @@ +--- +title: "लेखन: निष्कर्ष" +description: एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें +metaOptions: [सीखें, एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें] +defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools +--- + + +हम स्नातक थीसिस के अंतिम भाग में पहुँच गए हैं। अब निष्कर्ष लिखने और इस शैक्षणिक कार्य के लिए एआई उपकरणों के अनुप्रयोग पर अपने छोटे से शोध का सारांश देने का समय आ गया है। अंततः, क्या यह अनुभव सफल रहा? और आधुनिक एआई सहायकों में अभी भी क्या कमी है? + + +## थीसिस का निष्कर्ष + +बुनियादी रूप से, हम पहले से ही जानते हैं कि एआई कैसे सामग्री को संक्षेपित करने में मदद कर सकता है, बस आवश्यक अनुरोध को तैयार करके। एकमात्र समस्या यह है कि पूरे स्रोत पाठ को उसे प्रदान करना है। जब तक लंबी पीडीएफ फ़ाइलों के लिए उचित समर्थन नहीं है, हम स्रोत पाठ को टुकड़ों में विभाजित करेंगे, प्रत्येक के लिए संक्षेप बनाने के लिए कहेंगे, और फिर टुकड़े को साथ भेजेंगे: + + + +Give me a summary for the following text in 500 words. + + +उत्सुकता के साथ, हमें यह पूछने का दृष्टिकोण बनाए रखें कि अंतिम पाठ को लेटेक्स में उपयोग के लिए स्वरूपित किया जाए, सिर्फ इस टास्क को हाथ में कैसे लिया जाएगा, यह देखने के लिए: + + + +Write a Conclusions section from the text below in 1000 words. Be sure to add summary of the thesis's contributions and main findings, implications and significance of the results for the smart home industry and related fields, recommendations for future research and development. + +Take the resulting text and design it for LaTeX. + + +परिणाम: + + + \documentclass{article} + \usepackage{lipsum} + \begin{document} + \section*{Conclusion} + This bachelor's thesis aimed to design a secure and private + smart home system using Web3 technologies, specifically leveraging + blockchain and decentralized technologies. + ... + \end{document} + + + +अब हम अंतिम रूप से हमारी थीसिस को पूरा कर सकते हैं, सामान्य तरीके से एक अभिलेख बनाकर: + + + +Make an abstract for the bachelor's thesis based on this text in 100 words. + + +## मार्गदर्शन का निष्कर्ष + +सिद्धांत में, हमारा कार्य पूरा हो गया है। अगले, हम विभिन्न उपकरणों का उपयोग करके पाठ को प्रसंस्कृत करने का प्रयास कर सकते हैं, शब्दों को सुधारकर या कुछ अनुच्छेदों को विस्तारित करके। आप निम्नलिखित लिंक पर परिणाम से बनाया गया पीडीएफ फ़ाइल पा सकते हैं: + +[https://cloudflare-ipfs.com/ipfs/Qme6rzPwiDGLLkUmWVLrCqgGMjcbqitYNcndznjNPb21E8](https://cloudflare-ipfs.com/ipfs/Qme6rzPwiDGLLkUmWVLrCqgGMjcbqitYNcndznjNPb21E8) + +वर्तमान स्थिति में एआई उपकरणों की अनुप्रयोगिता के बारे में हम क्या निष्कर्ष निकाल सकते हैं? चलो पहले देखते हैं कि इसमें कुछ लाभ हैं: + +1. एआई एक सामान्यीकृत कार्य वक्तव्य को संभाल सकता है। एक योजना बनाना, प्रकाशन खंडों का ढांचा तय करना, काम की दिशाएँ सुझाना - ये सभी बातें बहुत मदद कर सकती हैं जब शुरू कहाँ से करें या विचारों की कमी हो। इस दृष्टि में, एक एआई सहायक मुख्य ध्यान में विचारों की पेशकश करने वाला एक "बैकअप ब्रेन" हो सकता है। +2. एआई जनरल कंटेंट तैयार करने में अच्छा है। उन लोगों के लिए जो पाठ के मुख्य भाग को अच्छी तरह से तैयार कर सकते हैं, लेकिन "फुफ्फ" जोड़ने में संघर्ष करते हैं ताकि आवश्यक आकार तक पहुँचे, यह एक उत्कृष्ट समर्थन हो सकता है। +3. कुछ संवेदनाओं के साथ, एआई तेजी से पाठ का विश्लेषण कर सकता है और प्रमुख विचारों का सारांश प्रदान कर सकता है। हालांकि, अब तक कुछ सीमाओं के साथ काम करना है क्योंकि एआई सहायकों के डेवलपर्स अपनी प्रतिस्थिति को याद रखने की क्षमता को सुधारने पर काम कर रहे हैं। +4. यह अद्भुत है कि एआई अब डेटासेट का विश्लेषण करने और मौखिक विवरणों के आधार पर कार्यक्रम कोड लिखने का प्रयास कर सकता है। हालांकि, नतीजों में बहुत सावधानी बरतना महत्वपूर्ण है। +5. और बेशक, एक उन्नत खोज उपकरण के रूप में, एआई सहायक नियमित खोज इंजनों को पीछे छोड़ देता है। + +हालांकि, निर्धारित किए गए विपरीत: + +1. एआई एक सामान्यीकृत कार्य वक्तव्य को संभाल सकता है। योजना बनाना, प्रकाशन खंडों का ढांचा तय करना, काम की दिशाएँ सुझाना - ये सभी बातें बहुत मदद कर सकती हैं जब शुरू कहाँ से करें या विचारों की कमी हो। इस दृष्टि में, एक एआई सहायक मुख्य ध्यान में विचारों की पेशकश करने वाला एक "बैकअप ब्रेन" हो सकता है। +2. अधिक गहराई वाले जवाब प्राप्त करने में कठिनाई। एआई उपकरणों की यह "आलस्य" उपयोगकर्ता को उसे बेहतर करने के लिए अधिक और अधिक कल्पनाशील अनुरोधों के साथ संघर्ष करती है, जो ऐसा करने के लिए बेहतर होगा। यह एक कॉमिकल स्थिति में परिणत हो जाता है, जो वरिष्ठ कर्मचारी और इंटर्न के बीच संबंध की तुलना करता है: आखिरकार, पूर्ववर्ती के लिए अपने काम को स्वयं करना इसे करने से आसान होता है नाकि इंटर्न को कोशिश करने की। यह फिर से गति और सुविधा के लाभों को निलंबित कर देता है। + +3. प्राप्त परिणाम की गुणवत्ता में अस्थिरता। एआई अक्सर एक ही क्वेरी के लिए विभिन्न सत्रों में पूरी तरह से भिन्न परिणाम प्रदान करता है, जो मूल रूप से उपयोगकर्ता को जीत की आशा में स्लॉट मशीन घुमाने पर मजबूर करता है। साथ ही, आप कभी यह सुनिश्चित नहीं हो सकते कि प्राप्त प्रतिक्रिया सर्वश्रेष्ठ और संभव है। + +4. एआई उपकरण डेवलपर्स को शिकायत: मौजूदा उपकरणों का अनुभव बुरा है जो बड़े पाठ और डेटा के साथ उचित काम नहीं करने देता। + + +“As a result, it can be said that AI tools can already be a good addition to manual, monotonous work in creating academic materials, but they still have many problems and shortcomings that prevent them from fully replacing human labor. In the future, these problems may be solved, and AI assistants will be able to significantly speed up and improve the process of creating scientific materials.” + + +*(ऊपर का परिणाम नोशन एआई द्वारा उत्पन्न किया गया था)* \ No newline at end of file diff --git a/courses/pt/learn/ai-based-bachelor-thesis/writing-introduction.md b/courses/hi/learn/ai-based-bachelor-thesis/writing-introduction.md similarity index 52% rename from courses/pt/learn/ai-based-bachelor-thesis/writing-introduction.md rename to courses/hi/learn/ai-based-bachelor-thesis/writing-introduction.md index fa67355ce5..8da44e0305 100644 --- a/courses/pt/learn/ai-based-bachelor-thesis/writing-introduction.md +++ b/courses/hi/learn/ai-based-bachelor-thesis/writing-introduction.md @@ -1,23 +1,23 @@ --- -title: "Escrita: Introduçãoduçãoduçãoduçãoduçãoduçãodução" -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprender, Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] +title: "लेखन: परिचय" +description: एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें +metaOptions: [सीखें, एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें] defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools --- -Neste guia, vamos escrever uma Introdução para nossa tese de bacharelado. +इस मार्गदर्शिका में, हम अपनी स्नातक थीसिस के लिए एक परिचय लिखेंगे। -Muitas vezes, esta seção pode ser uma das mais chatas de escrever. Além de planejar e descrever a visão geral do trabalho, precisamos fazer uma certa quantidade de texto. Tipicamente, os estudantes tentam preencher este espaço com qualquer coisa que conseguirem, resultando na seção parecendo uma salada de palavras. Este é exatamente o problema que os assistentes de IA podem lidar bem. +अक्सर, यह खंड लिखने में सबसे उबाऊ हो सकता है। नियोजन और काम की सामान्य दृष्टि को वर्णित करने के अलावा, हमें कुछ मात्रा में पाठ बनाने की आवश्यकता होती है। सामान्यतः, छात्र इस अंश को कुछ भी भरने की कोशिश करते हैं, जिससे खंड एक शब्दों का सलाद की तरह दिखता है। यही वह समस्या है जिसे एआई सहायकों को अच्छी तरह से संबोधित करने में सक्षम है। -Uma das observações interessantes feitas durante os testes de serviços de IA é que a IA não se esforça para realizar tarefas em maior extensão do que o necessário. Francamente, os serviços são quase "preguiçosos" e realizam a tarefa apenas na extensão especificada no pedido. Por exemplo, se solicitado a encontrar fontes para um parágrafo de texto, a IA encontrará 1-3 fontes, não 5 ou 10. Portanto, ao formular um pedido, é melhor especificar o número exato de resultados a serem retornados. +एआई सेवाओं के परीक्षण के दौरान की जाने वाली दिलचस्प टिप्पणियों में से एक यह है कि एआई केवल जितना आवश्यक होता है, उतना ही काम करने की इच्छा नहीं करता। खुलकर, सेवाएं लगभग "आलसी" होती हैं और कार्य केवल अनुरोध में निर्दिष्ट गतिमान में ही करती हैं। उदाहरण के लिए, यदि किसी पैराग्राफ के लिए स्रोतों की खोज करने के लिए कहा गया हो, तो एआई 1-3 स्रोत खोजेगा, 5 या 10 नहीं। इसलिए, एक अनुरोध को तैयार करते समय, वापस लौटाने के लिए निर्दिष्ट संख्या को निर्दिष्ट करना सबसे अच्छा है। -## Escrevendo uma Introdução usando Auto-GPT +## "Auto-GPT का उपयोग करके एक परिचय लेखन" -### Criar um agente +### एक एजेंट बनाएं -Vamos criar um agente com a seguinte descrição e objetivos: +हम निम्नलिखित विवरण और लक्ष्यों के साथ एक एजेंट बनाएंगे: @@ -27,7 +27,7 @@ Vamos criar um agente com a seguinte descrição e objetivos: **Enter up to 5 goals for your AI:** -*Goal 1:* Remember the context about the bachelor's thesis: "A bachelor is going to get Bachelor of Science in Computer Science and Engineering. The bachelor completed an online course called "Smart Home Sovereign". In this course, the bachelor went through all the steps necessary to build a sovereign smart home, the main advantage of which is the security / privacy of user data. During the course, The bachelor set up an IoT hub on a Raspberry Pi and connected smart devices (such as a temperature/humidity sensor, a door sensor, a smart bulb, a motion sensor, etc.) to it via a Adaptador Zigbee using the MQTT protocol. The IoT hub is powered by Home Assistant software. Next, the bachelor connected the hub to a decentralized cloud, based on Polkadot web3 technology. This is necessary to securely transfer device data to the network without the need for a centralized cloud service provider. This allows to securely manage the home remotely" +*Goal 1:* Remember the context about the bachelor's thesis: "A bachelor is going to get Bachelor of Science in Computer Science and Engineering. The bachelor completed an online course called "Smart Home Sovereign". In this course, the bachelor went through all the steps necessary to build a sovereign smart home, the main advantage of which is the security / privacy of user data. During the course, The bachelor set up an IoT hub on a Raspberry Pi and connected smart devices (such as a temperature/humidity sensor, a door sensor, a smart bulb, a motion sensor, etc.) to it via a जिगबी एडाप्टर using the MQTT protocol. The IoT hub is powered by Home Assistant software. Next, the bachelor connected the hub to a decentralized cloud, based on Polkadot web3 technology. This is necessary to securely transfer device data to the network without the need for a centralized cloud service provider. This allows to securely manage the home remotely" *Goal 2:* Write an Introduction part for this thesis in 500 words. It should contain: background and motivation; some context about web3 technology, what it is, why it should be used in smart home; research questions and objectives; significance of the work. @@ -35,11 +35,11 @@ Vamos criar um agente com a seguinte descrição e objetivos: -Como nosso primeiro objetivo, pedimos ao agente para memorizar o contexto de nossa tese. Também especificamos o comprimento da seção de Introdução, solicitamos incluir certos pontos (retirados do plano da tese) e pedimos para salvar o texto em um arquivo .txt. +हमारा पहला लक्ष्य है कि हमने एजेंट से हमारी थीसिस के संदर्भ को याद करने का अनुरोध किया। हमने इंट्रोडक्शन खंड की लंबाई को भी निर्दिष्ट किया, कुछ विशेष बिंदुओं को शामिल करने का अनुरोध किया (थीसिस की योजना से लिए गए), और पाठ को .txt फ़ाइल में सहेजने के लिए कहा। -### Obter saída +### नतीजा प्राप्त करें -Saída do agente (versão resumida): +एजेंट का आउटपुट (संक्षिप्त संस्करण): @@ -79,12 +79,12 @@ Saída do agente (versão resumida): -De acordo com os registros do agente, antes de escrever o texto, ele passou algum tempo procurando informações. Além disso, o agente criou a Introdução de forma iterativa, adicionando gradualmente texto para atender ao limite de palavras. +एजेंट लॉग के अनुसार, पाठ लिखने से पहले, यह कुछ समय सूचना खोजने में बिताया। इसके अलावा, एजेंट ने परिचय को अनुक्रमिक रूप से बनाया, शब्द सीमा को पूरा करने के लिए धीरे-धीरे पाठ जोड़ते हुए। -### Melhorar saída +### नतीजा सुधारें -No geral, a IA realizou a tarefa bem o suficiente para usar este texto como base para uma Introdução. Também pode ser melhorado ainda mais alimentando o texto no **Notion AI** (usando as ferramentas `Melhorar escrita` ou `Mudar tom`). +समग्र रूप से, एआई ने कार्य को पर्याप्त रूप से किया ताकि इस पाठ का उपयोग परिचय के लिए आधार के रूप में किया जा सके। यह भी अधिक सुधारित किया जा सकता है जब यह पाठ **नोशन एआई** में खिलाया जाता है ( `लेखन को सुधारें` या `टोन बदलें` टूल का उपयोग करके)। -Em termos gerais, na seção de Introdução já é necessário adicionar fontes para trabalhos relevantes, mas antes de passarmos para a busca e análise de fontes, é melhor primeiro seguir o seguinte guia — Revisão da Literatura. +सामान्य रूप से, परिचय खंड में प्रासंगिक कामों के लिए स्रोतों को जोड़ना अब आवश्यक है, लेकिन हम स्रोतों की खोज और विश्लेषण में आगे बढ़ने से पहले, निम्नलिखित मार्गदर्शिका का पहले पालन करना अच्छा होगा - साहित्य समीक्षा। \ No newline at end of file diff --git a/courses/hi/learn/ai-based-bachelor-thesis/writing-literature-review.md b/courses/hi/learn/ai-based-bachelor-thesis/writing-literature-review.md new file mode 100644 index 0000000000..e943e0a022 --- /dev/null +++ b/courses/hi/learn/ai-based-bachelor-thesis/writing-literature-review.md @@ -0,0 +1,157 @@ +--- +title: "लेखन: साहित्य समीक्षा" +description: एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें +metaOptions: [सीखें, एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें] +defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools +--- + + +So, हम शुरू कर रहे हैं जो शायद किसी भी निकट-शैक्षिक काम का सबसे उबाऊ हिस्सा है - साहित्य की खोज और पाए गए स्रोतों का विश्लेषण। + + +पहली नज़र में, एक एआई सहायक को इस कार्य को किसी भी अन्य चीज से बेहतर संभालना चाहिए। उसे बस इंटरनेट पर प्रासंगिक कामों को ढूंढना है, उनका पाठ किसी रूप में प्राप्त करना है, और इसे विश्लेषित करना है। हालांकि, इस कार्य में कई महत्वपूर्ण संकट मिले हैं, जो आगे चर्चा किए जाएंगे। + + +## पहली कोशिश + +एक सरल कार्य के साथ शुरू करें। मौजूदा परिचय पाठ का उपयुक्त संदर्भों और उद्धरणों के साथ आगे बढ़ें ताकि विचारों की प्रासंगिकता की पुष्टि की जा सके। चैटजीपीटी और बिंग चैट के लिए प्रारंभिक अनुरोध इस प्रकार है (स्रोतों की संख्या निर्दिष्ट करने के लिए याद रखें): + + + +Add 10 references and quotes for Introduction part to support the statements in the text. + + +दोनों चैटबॉट्स ने स्रोतों को पाठ में सही स्थान पर रखने में सक्षम थे... लेकिन वास्तविक स्रोतों को खोजने में पूरी तरह से असफल रहे। समस्या यह है कि एआई सहायक अस्तित्व में नहीं होने वाले स्रोतों का आविष्कार करने लगे (लेकिन वास्तविक स्रोतों के बहुत ही समान), उन्हें पाठ में शामिल किया और काल्पनिक लेखकों को भी उद्धृत किया: + + + +C. Li et al. "Blockchain-based secure and trustworthy data sharing scheme for smart homes." IEEE Transactions on Industrial Informatics, vol. 16, no. 2, pp. 1236-1245, 2020. + +"The deployment of smart home systems has led to concerns over data security and privacy. Blockchain technology has been proposed as a solution to these concerns, as it enables secure and trustworthy data sharing among smart home devices. This paper proposes a blockchain-based secure and trustworthy data sharing scheme for smart homes. The proposed scheme uses blockchain to ensure the integrity and confidentiality of data generated by smart home devices." + + + +हां, यह बिल्कुल प्राकृतिक दिखता है: सांग्रहिक प्रारूप का पालन किया गया है, एक वास्तविक आईईईई जर्नल को सांदर्भिकता दी गई है। इसे गूगल स्कॉलर पर जाँच करने से उपयोग किया जाने से बचाता है। + + + हमेशा AI सहायक द्वारा प्रदान किए गए लिंक, उद्धरण, और स्रोतों की पुष्टि करें। + + +यह समस्या [भ्रमण प्रभाव](https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)) कहलाती है, और वर्तमान में यह कृत्रिम बुद्धिमत्ता के विशेषज्ञों के बीच कई विवादों का कारण बन रही है। स्थिति को और अधिक बदतर बनाता है कि भ्रमण उस स्तर पर हो सकता है जहाँ पुष्टि बहुत महंगा होगा (उदाहरण के लिए, AI वास्तव में मौजूद न होने वाले एक जटिल जलवायु घटना का विस्तार से वर्णन कर सकता है), जो उनकी अविश्वसनीयता के कारण AI सेवाओं की सारी सहायता को कमजोर कर देता है। + +तुलना के लिए, यहाँ विभिन्न सेवाओं से आंकड़े हैं: + +- चैटजीपीटी: 10 में से 9 स्रोत नकली हैं +- बिंग चैट: 10 में से 7 स्रोत नकली हैं +- ऑटो-जीपीटी: किसी कारणवश टास्क पूरा नहीं किया क्योंकि यह किसी वजह से बिब्लियोग्राफिक वेबसाइटों के लिए पार्सर विकसित करने लगा। + +ध्यान देने योग्य है कि यदि किसी AI सेवा को इंटरनेट तक पहुँच हो, तो वह बेहतर काम करती है, लेकिन उसी समय, यह एक अस्तित्व में डायरेक्ट लिंक बना सकती है। बेशक, सामग्रिक परिणाम प्रभावशाली नहीं है, लेकिन चलो, इस समस्या को ध्यान में रखते हैं। + +## अनुरोधों को स्पष्ट करना + +कई प्रयासों के बाद, सबसे अच्छा तरीका साबित हुआ कि स्रोतों के लिए पूछना, परिचय पाठ को अनुच्छेद-अनुच्छेद करके खिलाना है। इसके अलावा, पाया गया कि एआई प्राथमिकता साइंटिफ़िक पेपरों की बजाय ब्लॉग, फोरम, और सामान्य वेबसाइटों में लेखों के स्रोत प्रदान करने को पसंद करता है। इसलिए, सहायक को लेखों का चयन करने के लिए किसी विशेष स्रोतों को सूचित करना योग्य है (आईईईई, स्प्रिंगर जर्नल, आरएक्सिव वेब संग्रह आदि): + + + +Find 5 scientific sources that prove statements in this text. Use only arXiv, IEEE, Springer articles from 2018 to 2023: "THE_PARAGRAPH" + + +यह अनुरोध केवल बिंग चैट के लिए किया गया था, क्योंकि चैटजीपीटी इंटरनेट एक्सेस की कमी के कारण कार्य को अच्छी तरह से संभाल नहीं सकता था। परिणाम बहुत बेहतर निकले: बिंग चैट कभी-कभी सभी वास्तविक स्रोतों को प्रदान करता और यहां तक ​​कि एक संक्षिप्त विवरण भी प्रदान करता है, जिसमें बताया गया होता है कि स्रोत का टेक्स्ट किस विचार का समर्थन करता है। हालांकि, बिंग चैट ने पाए गए स्रोतों के लिए बिबटेक्स रिकॉर्ड बनाने में विफल रहा (फिर से भ्रमणों का उत्पन्न होना), इसलिए अंत में Google Scholar का मैन्युअल उपयोग किया गया था। + + +## साहित्य समीक्षा में आगे बढ़ें + +अब हम समझदारी कार्य में आगे बढ़ सकते हैं - बैचलर थीसिस के दूसरे खंड के लिए। पहले, हम योजना का पालन करेंगे और निम्नलिखित विषयों पर दो उपखण्ड लिखेंगे: + + + +— अवलो��न of smart home technology and its security and privacy issues +
— Introduction to web3 technology and its potential benefits for smart homes +
+ +निम्नलिखित अनुरोध का उपयोग किया गया था: + + + +Write a literature review with "THE_TOPIC" in 300 words. Write as if you are writing part of a technical scientific article. + + +पिछली स्वचालित रिक्तियों का विवरण जोड़ा गया था क्योंकि एआई डिफ़ॉल्ट रूप से ऐसे पाठ को लिखती है जो एक ब्लॉग में प्रकाशन के लिए अधिक उपयुक्त हो। पहला प्राप्त परिणाम बहुत अधिक प्रभावशाली नहीं था, इसमें अधिक अनावश्यक विवरण शामिल था, जैसे एमेज़ॉन से स्मार्ट डिवाइस का विज्ञापन। फिर भी, परिणाम को इस उपखण्ड के लिए एक योजना के रूप में उपयोग किया जा सकता है, और तत्काल अतिरिक्त अनुरोधों के साथ। अंत में, निम्नलिखित संरचना प्राप्त की गई: + +- स्मार्ट होम प्रौद्योगिकी का वर्णन +- उपकरणों का उदाहरण और उनके उपयोग मामले +- स्मार्ट होम प्रौद्योगिकी की मौजूदा समस्याएँ +- इन समस्याओं का समाधान करने के लिए उपलब्ध उपायों के उदाहरण: +- मौजूदा समाधानों के नकारात्मक पक्ष + +सामग्रिक रूप से, प्राप्त पाठ को बैचलर थीसिस के लिए उपयोग किया जा सकता है। दूसरे विषय पर वेब3 प्रौद्योगिकियों के साथ एक समान प्रक्रिया की गई और फिर प्रत्येक उपखण्ड के लिए उसके अनुसार स्रोतों का पता लगाया गया, जैसा कि ऊपर वर्णित योजना का अनुसरण किया गया। + +## विश्लेषण के लिए लेखों का खोज + +विश्लेषण के लिए मानक तरीके में, विषय पर 5-10 सबसे प्रासंगिक और सार्वजनिक निर्देशित कामों को खोजने में शक्तिशाली सार्वजनिक खोज सेवाओं (स्कोपस, वेब ऑफ़ सायंस, गूगल विद्यार्थी) का उपयोग करना होता है। निम्नलिखित अनुरोध का प्रयास करें: + + + +Find five most cited technical scientific articles about developing a smart home systems based of web3 or blockchain or smart contract among IEEE, Springer and arXiv articles from 2020 to 2023 + + +क्षमा करें, परिणाम अच्छी गुणवत्ता के नहीं हैं: + +- चैटजीपीटी ने जोर दिया कि इसे इंटरनेट तक पहुँच नहीं है और यह 2021 तक की जानकारी तक ही सीमित है। पाँच स्रोतों में से कोई भी अस्तित्व में नहीं थे। +- बिंग चैट ने 5 की बजाय 3 वास्तविक स्रोत मिले, लेकिन दुर्भाग्यवश 1) केवल दो उपयुक्त थे, 2) ये सबसे अधिक उद्धृत नहीं थे (एक में कोई उद्धरण भी नहीं था), 3) कुछ मामलों में स्रोत नकली थे (एआई ने उनके लिए उद्धरणों की संख्या भी प्रदान की)। +- ऑटो-जीपीटी ने दिए गए विषय के संबंध में सबसे सटीक साबित हुआ, लेकिन सबसे अधिक उद्धृत लेखों का चयन करने में असमर्थ रहा, यहां तक ​​कि इस टास्क के लिए गूगल स्कॉलर का उपयोग करने के बाद भी। + +क्षमा करें, वैज्ञानिक लेखों के लिए विशेषज्ञ वाणिज्य खोज अभी तक इन AI सेवाओं की क्षमताओं के अंदर नहीं है, इसलिए गूगल स्कॉलर का उपयोग करके शीर्ष 5 सबसे अधिक उद्धृत लेखों को खोजना आसान और तेज है। + +## संबंधित कार्यों का ब्रूटफोर्स विश्लेषण + +इसके बाद, एक तरह या दूसरे, हमें मिले लेखों के पूरे पाठ प्राप्त करना होगा। सामान्य मामले में, हमें प्रत्येक उन्हें व्यक्तिगत रूप से पढ़ना होगा, लेकिन हम कोशिश करेंगे कि एआई सहायकों से सारांश पाठ का अनुरोध करें। हम तुरंत समस्याओं का सामना करेंगे: + +1) लेखों के लिए साधारित रूप से पीडीएफ फॉर्मेट में उपलब्ध होते हैं, ज्यादातर दो कॉलम के पाठ के साथ। चैटबॉट्स सिर्फ पीडीएफ फ़ाइलों को नहीं पढ़ सकते, और ऑटो-जीपीटी वर्तमान में इस फॉर्मेट को पढ़ नहीं सकता (लेकिन यह इस समस्या का समाधान खोजने का प्रयास किया, हालांकि असफल रहा!) + + + +**SYSTEM:** Command read_file returned: Error: 'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte +THOUGHTS: It looks like I am encountering an encoding issue while trying to open the edgechain PDF file. I can try to extract text from the PDF using the 'tika' library and analyze the contents. I'll use the 'execute_shell' command to install the 'tika' library before using it to extract text from the PDF file. + +**REASONING:** Due to encoding issues trying to read the PDF file, I need a different approach to read the contents of the PDF file in order to analyze and summarize the article. + + + +वैसे तो, पीडीएफ लेखों को सादा पाठ प्रारूप में रूपांतरित करना होगा (छवियों और सारणियों के बिना)। इसके लिए, आप [PyMuPDF](https://pymupdf.readthedocs.io/en/latest/), [GROBID](https://grobid.readthedocs.io/en/latest/Introduction/), और [PDFMiner](https://pdfminersix.readthedocs.io/en/latest/) जैसे सॉफ़्टवेयर का उपयोग कर सकते हैं। + +2) यहां एक और बहुत ही गंभीर समस्या है जो सारे लेखों का विश्लेषण करने के लिए इन AI उपकरणों का उपयोग को बंद कर देती है। दुर्भाग्य से, अपने वर्तमान रूप में, जीपीटी का एक सीमित संदर्भ लंबाई होता है, जो ऑटो-जीपीटी को सार्थक विश्लेषण शुरू करने से सीधे इनकार करता है, और चैटबॉट्स बातचीत की शुरुआत खो देते हैं: + + + +openai.error.InvalidRequestError: This model's maximum context length is 8191 tokens, however you requested 15615 tokens (15615 in your prompt; 0 for the completion). Please reduce your prompt; or completion length. + + + +## संबंधित कामों का चरण-दर-चरण विश्लेषण + +इसलिए, हम थोड़ी चालाकी का इस्तेमाल करेंगे और लेखों को AI पृष्ठ से पृष्ठ चलाएंगे, हर बार प्राप्त पाठ का एक संक्षिप्त सारांश का अनुरोध करेंगे। फिर हम इन सारांशों को एकत्र करेंगे और लेख का अंतिम विश्लेषण प्राप्त करेंगे। इसके लिए, हम चैटजीपीटी भी उपयोग कर सकते हैं, उदाहरण के लिए, निम्नलिखित में से कोई भी एक परिणाम: + + + + + +EdgeChain: An Edge-IoT Framework and Prototype Based on Blockchain and Smart Contracts + +This article describes EdgeChain, a framework, which addresses scalability and security challenges in the Internet of Things domain by leveraging edge computing, blockchain technology, and smart contracts. Authors highlight the weaknesses of IoT devices and centralized cloud computing and proposes edge computing as a solution. The framework employs a permissioned blockchain and an internal currency system to connect IoT devices with edge cloud resources. Smart contracts enforce regulations and automate policy enforcement. + +The paper outlines the key features of the EdgeChain framework, including permissioned blockchain, credit-based resource management, smart contract enforcement, compatibility with legacy devices, and distributed deployment options. It explains the modules of the framework, such as the IoT Proxy, smart contracts interface, blockchain server, and application interface. + +Furthermore, the text delves into the deployment of blockchain, development of smart contracts, device registration, and IoT behavior regulation within the EdgeChain framework. It emphasizes thorough testing, legacy device support, and monitoring of device behaviors for policy enforcement. + +Overall, the EdgeChain framework shows promise in addressing scalability and security challenges in the IoT domain through the integration of edge computing, blockchain, and smart contracts. The prototype evaluation indicates its potential as a secure and distributed platform for future IoT applications. + + + +अगले, हमें बचे हुए लेखों के लिए एक ही विश्लेषण प्रक्रिया को दोहराना होगा, और वह आ गया, हमारे पास हमारे बैचलर के थीसिस के लिए एक पूरा साहित्य समीक्षा है। अंत में, हमें सबसे अच्छे लेखों का चयन करना, उनके पाठ को निकालना, और साहित्य समीक्षा को मिलाकर एक सार्थक पाठ के रूप में AI द्वारा उत्पन्न परिणामों की सत्यापन करने के लिए बाद में लिखना था। पूरा कार्य 2-3 साप्ताह के स्थान पर लगभग 2 दिनों में पूरा हुआ। + + + +अब हम अपने काम के तरीकों का विवरण करने की मुख्य बात पर आ सकते हैं — थीसिस की सार्थकता। + + \ No newline at end of file diff --git a/courses/hi/learn/ai-based-bachelor-thesis/writing-methods.md b/courses/hi/learn/ai-based-bachelor-thesis/writing-methods.md new file mode 100644 index 0000000000..7a35f12dec --- /dev/null +++ b/courses/hi/learn/ai-based-bachelor-thesis/writing-methods.md @@ -0,0 +1,205 @@ +--- +title: "लेखन: विधि" +description: एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें +metaOptions: [सीखें, एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें] +defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools +--- + + +अब हम बैचलर के पूरे थीसिस के मुख्य अनुभाग को लिखने की शुरुआत कर रहे हैं, जिसमें छात्रों को अपने कौशल और पूरे काम का प्रदर्शन करना चाहिए। + + +यह सेक्शन पूरी तरह से एआई सहायक को सौंपा नहीं जा सकता, कम से कम इस कारण के लिए कि ये उपकरण (वर्तमान में) विभिन्न भौतिक उपकरणों (प्राथमिकतः सेंसर और स्मार्ट उपकरण) को कॉन्फ़िगर और लॉन्च नहीं कर सकते। फिर भी, हम कुछ उपाय का विचार करेंगे जो इस खंड की तैयारी को आसान बना सकते हैं। + +## विधियों अनुभाग के लिए पाठ उत्पन्न करना + +पहले, इस खंड के लिए कम से कम कुछ पाठ प्राप्त करने का प्रयास किया गया। जैसा पहले से ही उल्लिखित है, बैचलर की थीसिस **"रोबोनॉमिक्स और होम असिस्टेंट के साथ सार्वभौमिक स्मार्ट होम"** कोर्स पर आधारित है, इसलिए सही संदर्भ बनाने के लिए पूरे कोर्स को एआई सहायक को प्रदान करना अधिकतम उपयुक्त है। फिर भी, हमें संदर्भ सीमाओं की समस्या का सामना करना पड़ा: + +- ऑटो-जीपीटी अपने आप ठीक से पाठ्यक्रम वेबसाइट की जाँच करने में सक्षम नहीं था, लगातार उप-कार्यों में स्विच करता रहता था या संदर्भ खो देता था। पाठ को फ़ाइल के रूप में प्रदान करने का प्रयास भी बड़े संदर्भ की समस्या का सामना किया। +- बिंग चैट की एक सीमा 2000-4000 वर्ण होती है, और ऑनलाइन कोर्स वेबसाइट की जाँच के लिए अनुरूप एक थलथलाहटपूर्ण अवलोकन के लिए प्रतिबंध था। +- चैटजीपीटी ने भी एक बहुत बड़े पाठ को स्वीकार नहीं किया। + +नतीजतन, पाठ्यक्रम के पाठों द्वारा पाठ प्रदान करने का तरीका चुना गया, जबकि पाठों के संदर्भ को याद रखने की आवश्यकता को निर्दिष्ट किया गया। यदि कोई अतिरिक्त अनुरोध नहीं किया गया है, तो एआई सहायक सीधे विधियों अनुभाग के लिए लिखने की योजना सुझाते हैं। यहाँ कुछ उदाहरण हैं: + + + +Methods + +This section presents the methods employed to achieve the objectives of the study, which involved building a sovereign smart home with enhanced security and privacy features. The study was conducted as part of an online course titled "Smart Home Sovereign." The methods encompassed the setup of an IoT hub on a Raspberry Pi, connection of various smart devices to the hub using a जिगबी एडाप्टर and the MQTT protocol, integration of the hub with Home Assistant software, and the establishment of a connection between the hub and a decentralized cloud based on Polkadot web3 technology. These steps were taken to enable secure data transfer to the network and facilitate remote home management. + +1\. Online Course: "Smart Home Sovereign" +The initial phase of the study involved the completion of the online course "Smart Home Sovereign." This course provided comprehensive guidance on building a sovereign smart home, emphasizing the importance of user data security and privacy. The bachelor successfully completed all the course modules, gaining a thorough understanding of the fundamental concepts and practical aspects related to the construction of a sovereign smart home. + +2\. Setting up the IoT Hub +To establish a centralized control system for the smart home devices, an IoT hub was set up on a Raspberry Pi. The Raspberry Pi was selected due to its versatility, low cost, and compatibility with the desired functionalities. The IoT hub acted as the central communication point, facilitating the interaction between the smart devices and the user. + +3\. Connecting Smart Devices +Various smart devices were integrated into the sovereign smart home system. These devices included a temperature/humidity sensor, a door sensor, a smart bulb, and a motion sensor, among others. A जिगबी एडाप्टर was utilized to connect these devices to the IoT hub, enabling seamless communication. The MQTT (Message Queuing Telemetry Transport) protocol was employed to establish a reliable and efficient communication channel between the hub and the connected devices. + +4\. Integration with Home Assistant +The IoT hub was integrated with Home Assistant, an open-source home automation platform. Home Assistant provided a user-friendly interface for managing and controlling the connected smart devices. This integration allowed the bachelor to monitor and control the devices remotely, enhancing the convenience and functionality of the sovereign smart home system. + +5\. Connection to Decentralized Cloud +To ensure secure data transfer without relying on a centralized cloud service provider, a decentralized cloud based on Polkadot web3 technology was employed. This connection facilitated the secure transfer of device data to the network, protecting user privacy and enabling remote home management. The bachelor established a connection between the IoT hub and the decentralized cloud, enabling seamless data transfer and access. + +6\. Data Security and Privacy Measures +Throughout the implementation process, stringent data security and privacy measures were implemented. The bachelor ensured the adoption of industry-standard encryption protocols and authentication mechanisms to safeguard the integrity and confidentiality of the user's personal and device data. Additionally, measures such as secure network configurations and regular software updates were implemented to mitigate potential vulnerabilities and security risks. + + + + + +1\. Description of the Smart Home System Design using web3 technology, including hardware and software components: + +\- Describe the overall architecture of the smart home system. + +\- Explain the hardware components involved, such as the Raspberry Pi, sensors, actuators, and communication modules. + +\- Discuss the software components, including the operating system, middleware, and applications used to control and manage the smart home system. + +\- Highlight the role of web3 technology, such as blockchain, decentralized networks, and protocols, in enhancing the security and privacy of the system. + + +2\. Implementation details and justification for design choices: + +\- Provide a step-by-step account of how the smart home system was implemented, including the installation and configuration processes. + +\- Justify the selection of specific hardware and software components based on their compatibility, reliability, security features, and suitability for the project's objectives. + +\- Discuss any modifications or customization made to the hardware or software components to meet the specific requirements of the smart home system. + +\- Explain how the chosen web3 technology (e.g., blockchain, decentralized networks) addresses security and privacy concerns compared to traditional approaches. + +3\. Evaluation plan for assessing the security and privacy of the system: + +\- Outline the goals and objectives of the security and privacy evaluation. + +\- Identify the specific security and privacy aspects to be evaluated, such as data encryption, access control, authentication, and data integrity. + +\- Describe the evaluation methods and techniques to be used, such as penetration testing, vulnerability assessments, or simulations. + +\- Explain how data will be collected, analyzed, and interpreted to assess the effectiveness of the implemented security and privacy measures. + +\- Discuss any ethical considerations and potential risks associated with the evaluation process. + + + +नतीजतन, सबसे अच्छा उपाय खंड के लिए विभिन्न योजनाओं से वस्तुओं का मैन्युअल चयन था, और उन्हें क्रमशः और भागों में प्रदान किया जाना था। संदर्भ को भूलना महत्वपूर्ण है, याद दिलाना कि एआई सहायक को अपने काम को मूल सामग्री पर आधारित करना चाहिए। + +## चित्रों का उत्पादन + +एक अच्छी थीसिस सामग्री को ग्राफिकल रूप में प्रस्तुत कर सकती है, इसलिए कम से कम एआई की मदद से इसे करने का प्रयास करना आवश्यक है। विभिन्न मॉडल्स की क्षमताओं के बारे में बहुत कुछ लिखा गया है, जैसे कि मिडजर्नी, डैल-ई, स्थिर विकिरण, और अन्य सेवाएं, लेकिन वे प्राथमिकतः कला उत्पन्न करने के लिए डिज़ाइन किए गए हैं, सख्त आरेख और चार्ट्स नहीं। बहुत बार, वे सही पाठ नहीं डाल सकते हैं, और सामान्य रूप से, प्राप्त चित्र बहुत अदम्य होते हैं। + +उदाहरण के रूप में, चलो बिंग चैट में निम्नलिखित सामग्री का एक आरेख बनाने का प्रयास करें, जो बिंग इमेज क्रिएटर को रीडायरेक्ट करेगा: + + + +Make image with diagram based on this description: + +There are 4 main blocks: Raspberry Pi, Smart Devices, Zigbee Adapter and Web3 Decentalized Cloud. Zigbee Adapter is connected by a double-ended arrow to Smart Devices, the arrow has the name "Zigbee". + +Inside Raspberry Pi there are 4 more internal blocks: Zigbee2MQTT, MQTT Broker, Home Assistant and "robonomics-interface". Zigbee2MQTT is connected by a double-ended arrow to MQTT Broker, the arrow has the name "MQTT". MQTT Broker is connected by a double-ended arrow to Home Assistant, the arrow has the name "MQTT". Home Assistant is connected by a double-ended arrow to "robonomics-interface", the arrow has the name "Robonomics Data". + +Also, internal block Zigbee2MQTT is connected by a double-ended arrow to Zigbee Adapter, the arrow has the name "Zigbee". Internal block "robonomics-interface" is connected by a double-ended arrow to Web3 Decentalized Cloud, the arrow has the name "data & events". + + + +परिणाम: + + + + + + + + + + + + + +यह बेहतर है कि आप एक आरेख के लिए कोड बनाने के लिए पूछें, उदाहरण के लिए, UML में, और फिर डायग्राम संपादक में एक चित्र उत्पन्न करें। उदाहरण के रूप में, ChatGPT में एक समान अनुरोध के साथ `Make UML diagram code based on this description` जोड़ने के बाद, कई प्रयासों के बाद, निम्नलिखित परिणाम प्राप्त हुआ: + + + + + @startuml + package "Raspberry Pi" { + [Zigbee2MQTT] + [MQTT Broker] + [Home Assistant] + [robonomics-interface] + } + Zigbee2MQTT o--o "MQTT Broker" : MQTT + "MQTT Broker" o--o "Home Assistant" : MQTT + "Home Assistant" o--o "robonomics-interface" : "Robonomics Data" + rectangle "Smart Devices" + rectangle "Zigbee Adapter" + "Zigbee Adapter" o--o "Smart Devices" : Zigbee + "robonomics-interface" o--o "Web3 Decentalized Cloud" : "data & events" + Zigbee2MQTT o--o "Zigbee Adapter" : Zigbee + @enduml + + + + + + + + +## कोड उत्पन्न करना + +हालांकि, एक एआई सहायक अपने आप एक उपकरण सेट नहीं कर सकता, लेकिन उससे उसके लिए सॉफ़्टवेयर लिखने में मदद मांगी जा सकती है। हमारे स्नातक थीसिस के लिए, स्थापित स्मार्ट होम सॉफ़्टवेयर के कार्यक्षमता को परीक्षण करने के लिए, हमने एक घटनाक्रम पर आधारित होम असिस्टेंट के लिए एक स्वचालन बनाने का निर्णय लिया। निम्नलिखित अनुरोध ऑटोजीपीटी को भेजा गया: + + + +AI Name: Hass-GPT + +Hass-GPT is: an AI that creates automation scripts for Home Assistant based on the text description + +Goal 1: Open https://www.home-assistant.io/examples/ and analyze script codes of automations + +Goal 2: Create automation script code with following scenario: turn on the bulb when motion sensor detects someone; while motion is present, keep the bulb turned on; when the motion stops, turn the bulb off + +Goal 3: Write this code to the file and return it back + + + +ऑटोजीपीटी के परिणामस्वरूप, निम्नलिखित स्क्रिप्ट उत्पन्न हुआ था: + + + - alias: "Motion Sensor Bulb Control" + trigger: + platform: state + entity_id: binary_sensor.motion_sensor + to: "on" + action: + service: light.turn_on + entity_id: light.bulb + - alias: "Motion Sensor Bulb Keep On" + trigger: + platform: state + entity_id: binary_sensor.motion_sensor + to: "on" + action: + service: light.turn_on + entity_id: light.bulb + - alias: "Motion Sensor Bulb Off" + trigger: + platform: state + entity_id: binary_sensor.motion_sensor + to: "off" + for: + minutes: 1 + action: + service: light.turn_off + entity_id: light.bulb + + +बेशक, स्क्रिप्ट को विशेष रूप से सेंसर और डिवाइस एंटिटी के लिए अतिरिक्त समायोजन की आवश्यकता थी, लेकिन समग्र अनुरोध सही ढंग से प्रसंस्कृत किया गया था। + + + +इसलिए, अभ्यास ने दिखाया है कि यहाँ तक कि यदि ए.आई. इस खंड को पूरी तरह से अपने आप संभाल नहीं सकती, तो यह कम से कम कुछ कार्यों में बड़ी मदद कर सकती है या उनके समाधान के लिए विचार प्रदान कर सकती है। अगले खंड में, हम जांचेंगे कि ए.आई. उपकरण कैसे प्राप्त परिणामों का विश्लेषण करने में मदद कर सकते हैं और संबंधित खंड का स्वरूप त���यार कर सकते हैं। + + \ No newline at end of file diff --git a/courses/hi/learn/ai-based-bachelor-thesis/writing-results.md b/courses/hi/learn/ai-based-bachelor-thesis/writing-results.md new file mode 100644 index 0000000000..bf53e842c3 --- /dev/null +++ b/courses/hi/learn/ai-based-bachelor-thesis/writing-results.md @@ -0,0 +1,107 @@ +--- +title: "लेखन: परिणाम" +description: एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें +metaOptions: [सीखें, एआई-संचालित उपकरणों के साथ अपने स्नातक थीसिस को शीघ्र प्रारंभ करें] +defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools +--- + + +स्नातक की थीसिस के परिणामों को संसाधित करने के लिए समर्पित अनुभाग में आमतौर पर एक प्रदर्शनात्मक भाग होता है, जहां आप ग्राफ़ और तालिकाओं पर कुछ संकेतकों की कल्पना करते हैं, साथ ही इन परिणामों की चर्चा भी करते हैं। क्या AI उपकरण इस कार्य में मदद कर सकते हैं? उत्तर स्पष्ट रूप से हाँ है, लेकिन कुछ बारीकियों के साथ। + + +## डेटा प्रतिनिधित्व और परिवर्तन + +शायद कच्चे डेटा को संसाधित करना और प्रस्तुत करना एआई सहायकों का सबसे अच्छा काम है। पिछले गाइड में, हमने एआई का उपयोग करके सफलतापूर्वक एक यूएमएल आरेख बनाया था, लेकिन सामान्य तौर पर, डेटा के किसी भी संरचित सरणी को कुछ आंकड़ों के साथ आसानी से एक आरेख या तालिका में बदला जा सकता है। उदाहरण के लिए, चैटजीपीटी को स्मार्ट होम से सफल डेटालॉग लेनदेन की संख्या की गणना करने और [सबस्कैन] (https://robonomics.subscan.io/) पर रोबोनॉमिक्स पैराचेन से कच्चे डेटा के आधार पर उन्हें घंटे के हिसाब से वितरित करने का काम सौंपा गया था। यहां परिणामी आउटपुट का एक हिस्सा है: + +| Hour | Successful Transactions | Total Transactions | Percentage of Success | +|-------|-------------------------|--------------------|-----------------------| +| 13:00 | 4 | 4 | 100% | +| 14:00 | 5 | 5 | 100% | +| 15:00 | 6 | 6 | 100% | +| 16:00 | 5 | 5 | 100% | +| 17:00 | 5 | 5 | 100% | +| 18:00 | 6 | 6 | 100% | + +चैटजीपीटी ने न केवल प्रति घंटे लेनदेन की संख्या की गणना की, बल्कि उनका प्रतिशत भी निकाला। + +## गहन विश्लेषण + +लेकिन क्या होगा अगर हम एआई को असंरचित डेटा के आधार पर गहन विश्लेषण करने के लिए कहें? दुर्भाग्य से, यहाँ वे समस्याएँ शुरू होती हैं जिनका हम पहले ही सामना कर चुके हैं: संदर्भ सीमाएँ और मतिभ्रम। उदाहरण के तौर पर, पहले बनाए गए स्मार्ट होम के होम असिस्टेंट से लॉग फ़ाइलें ली गईं, और चैटजीपीटी के लिए निम्नलिखित अनुरोध तैयार किया गया: + + + +Based this logs of smart home system, write section called "Analysis of IoT Hub Logs" in 1000 words. Add precise statistics of occurrences of found events and recommendations for solution of found problems. + + + +लॉग कुछ इस तरह दिखते हैं (कुल मिलाकर लॉग की लगभग 500 पंक्तियाँ): + + + 2023-05-29 14:17:18.301 DEBUG (MainThread) [custom_components.robonomics] Time changed: 2023-05-29 14:17:18.299347+00:00 + 2023-05-29 14:17:18.309 DEBUG (MainThread) [custom_components.robonomics.get_states] Start getting info about dashboard and services + 2023-05-29 14:17:18.321 DEBUG (SyncWorker_0) [custom_components.robonomics.ipfs] Getting last file hash from /ha_robonomics_config with prefix config- + 2023-05-29 14:17:18.341 DEBUG (SyncWorker_0) [custom_components.robonomics.ipfs] Last /ha_robonomics_config file config-1685367962.12049, with hash QmbQ4STfozcCPeHpKkcrH26hNTnupU1o4LD1JQTFWKpran + 2023-05-29 14:17:18.352 DEBUG (SyncWorker_10) [custom_components.robonomics.ipfs] Read data from local file: /ha_robonomics_config/config-1685367962.12049 + 2023-05-29 14:17:19.439 DEBUG (MainThread) [custom_components.robonomics.get_states] Got states to send datalog + 2023-05-29 14:17:21.469 DEBUG (SyncWorker_9) [custom_components.robonomics.ipfs] Time from the last pin: 1:07:04.863542 + 2023-05-29 14:17:21.469 DEBUG (SyncWorker_9) [custom_components.robonomics.ipfs] Telemetry must not be pinned + 2023-05-29 14:17:21.471 DEBUG (SyncWorker_1) [custom_components.robonomics.ipfs] Getting last file hash from /ha_robonomics_telemetry with prefix None + 2023-05-29 14:17:21.491 DEBUG (SyncWorker_1) [custom_components.robonomics.ipfs] Last /ha_robonomics_telemetry file data-1685369332.9767303, with hash QmNY2kPBA4Xi2L2DjTWzqhRk5BXS5KyDqjvtYb8mcA43mx + 2023-05-29 14:17:21.492 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] Start adding /tmp/data-1685369841.445844 to local node, pin: False + 2023-05-29 14:17:21.631 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] File /tmp/data-1685369841.445844 was added to local node with cid: QmdmmUXEvmtW1UnttcEDhc8pee8CwVdEFH4aax9XZj76m8 + 2023-05-29 14:17:21.692 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] File data-1685369332.9767303 with was unpinned + 2023-05-29 14:17:27.165 DEBUG (SyncWorker_6) [custom_components.robonomics.ipfs] Actual balance in crust network - 604385098 + 2023-05-29 14:17:28.617 DEBUG (SyncWorker_6) [custom_components.robonomics.ipfs] approximate cost to store the file - 1000067848 + 2023-05-29 14:17:28.617 चेतावनी (SyncWorker_6) [custom_components.robonomics.ipfs] Not enough account balance to store the file in Crust Network + 2023-05-29 14:17:28.634 DEBUG (MainThread) [custom_components.robonomics.robonomics] Send datalog states request, another datalog: False + 2023-05-29 14:17:28.638 DEBUG (SyncWorker_0) [custom_components.robonomics.robonomics] Start creating rws datalog + 2023-05-29 14:17:55.573 DEBUG (SyncWorker_0) [custom_components.robonomics.robonomics] Datalog created with hash: 0x396f26a5e3fdaa89910e7f78491f90150d6f9e59e9c7e85f6b9d090ade235077 + 2023-05-29 14:19:40.007 चेतावनी (MainThread) [custom_components.local_luftdaten.sensor] REST request error: Cannot connect to host 192.168.13.141:80 ssl:default [Connect call failed ('192.168.13.141', 80)] + + + +जवाब में, एआई उपकरण अक्सर मतिभ्रम करना शुरू कर देता है, जो स्पष्ट रूप से अलग, गैर-मौजूद डेटा का विश्लेषण पेश करता है: + + + + + +The logs revealed a significant number of connectivity issues encountered by the IoT devices. Out of a total of 10,000 recorded events, 1,200 (12%) were related to connectivity problems. + +... + +The analysis identified a notable number of unauthorized access attempts to the smart home system. Approximately 300 (3%) events were logged, indicating potential security breaches. These attempts could lead to unauthorized control or access to sensitive information within the smart home. + +... + +The logs revealed a lack of regular firmware updates for the IoT devices, with only 20 (0.2%) events indicating successful updates. This finding raises concerns regarding the security and performance of the devices. + + + +अन्य मामलों में, एआई ने संदर्भ खो दिया। उदाहरण के लिए, सबस्कैन लेनदेन लॉग के लिए निम्नलिखित अनुरोध किया गया था: + + + +Analyze the logs below and tell me what kind of Smart Home System analysis can be done on them. These are the transaction logs for the SUB_CONTROLLER address received from the Robonomics parachain, related to the subscription IoT. + + + +इस तथ्य के बावजूद कि एआई को विशेष रूप से स्नातक की थीसिस और स्मार्ट होम ऑनलाइन पाठ्यक्रम के पाठ के संदर्भ में फिर से फीड किया गया था, फिर भी इसने डेटा के साथ एक भ्रामक उत्तर उत्पन्न किया जो लॉग में मौजूद ही नहीं था: + + + + + +User Behavior Analysis: + +Analyzing the logs provided insights into user behavior within the Smart Home System. By examining the transaction details, we observed the following user behavior patterns: +- Most Frequently Used Features: Lighting control was the most frequently used feature, accounting for 45% of total transactions. Temperature control followed closely with 30% of total transactions, while security system monitoring and appliance automation accounted for 15% and 10% respectively. +- Usage Patterns: Users tended to interact with the Smart Home System more frequently during weekdays compared to weekends. This suggests that the system is primarily utilized for regular daily activities, such as lighting and temperature control, rather than special occasions or leisure activities. + + + +कुल मिलाकर, परिणाम अनुभाग लिखने के लिए एआई सहायकों का उपयोग सफल से अधिक असफल माना जा सकता है। हाँ, AI डेटा प्रस्तुत करने और संसाधित करने में मदद कर सकता है, लेकिन संक्षेप में, यह क्लासिक डेटा विज्ञान टूल की तुलना में बहुत कम समय बचाता है। इसके अतिरिक्त, उपयोगकर्ताओं को दिए गए उत्तरों की सटीकता के बारे में लगातार चिंता करने और उन्हें दोबारा जांचने की आवश्यकता है। + + +अब हम अपनी स्नातक थीसिस के अंतिम खंड - निष्कर्ष पर आगे बढ़ सकते हैं, जहां हम न केवल थीसिस लिखना समाप्त करेंगे, बल्कि इस उद्देश्य के लिए एआई के उपयोग पर समग्र निष्कर्ष भी निकालेंगे। + \ No newline at end of file diff --git a/courses/hi/learn/baxter/overview.md b/courses/hi/learn/baxter/overview.md new file mode 100644 index 0000000000..457c5bb53a --- /dev/null +++ b/courses/hi/learn/baxter/overview.md @@ -0,0 +1,565 @@ +--- +title: बैक्सटर रोबोट को नियंत्रित करें +lastUpdate: Thu May 04 2023 12:52:52 GMT+0400 (Samara Standard Time) +description: बैक्सटर रोबोट को नियंत्रित करें +metaOptions: [सीखें] +defaultName: Control Baxter robot +--- +कैसे काम करता है का उदाहरण: + +https://www.youtube.com/watch?v=JivTDhDJLHo + +
+ +## आवश्यकताएं: + + + +
  • + +ROS मेलोडिक + गेज़बो (स्थापना मैनुअल [यहाँ][db2]) + +
  • + +
  • अतिरिक्त पैकेज: + + +sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge + + +
  • + +
  • + +IPFS तक 0.6.0 (यहाँ से डाउनलोड करें [यहाँ][db3] और स्थापित करें) + +
  • + +
  • पायथन पैकेज: + + +sudo apt-get -y install python3-pip +pip3 install --upgrade pip + + +
  • + +
  • + +रोबोनॉमिक्स नोड नवीनतम [रिलीज][db4] यहाँ डाउनलोड करें (अंतिम परीक्षण रिलीज v1.1) + +
  • + +
  • IPFS ब्राउज़र एक्सटेंशन (आवश्यक नहीं)
  • + +
    + +
    + +## 0. पायथन3 के लिए सीवी ब्रिज एक्सटेंशन स्थापित करें + + + +
  • कैटकिन वर्कस्पेस बनाएं + + +mkdir -p catkin_workspace/src +cd catkin_workspace +catkin init + + +
  • + +
  • कैटकिन को सीमेक चर मान निर्धारित करने के लिए निर्देशित करें। अपने वर्तमान संस्करण का उपयोग करें `पायथन`। मेरे लिए, यह `पायथन3.6` है: + + +catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so +catkin config --install + + +
  • + +
  • सीवी ब्रिज स्रोत क्लोन करें: + + +git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv + + +
  • + +
  • अपने रिपॉज���टरी में सीवी ब्रिज का संस्करण खोजें: + + +apt-cache show ros-melodic-cv-bridge | grep Version + Version: 1.12.8-0xenial-20180416-143935-0800 + + +
  • + +
  • गिट रिपो में सही संस्करण चेकआउट करें। हमारे मामले में यह 1.12.8 है: + + +cd src/vision_opencv/ +git checkout 1.12.8 +cd ../../ + + +
  • + +
  • निर्माण: + + +catkin build cv_bridge + + +
  • + +
  • नए पैकेज के साथ पर्यावरण का विस्तार करें: + + +source install/setup.bash --extend + + +
  • + +
  • टेस्ट: + + +$ python3 + +Python 3.6.9 (default, Jan 26 2021, 15:33:00) +[GCC 8.4.0] on linux +Type "help", "copyright", "credits" or "license" for more information. +>>> from cv_bridge.boost.cv_bridge_boost import getCvType +>>> + + +
  • + +
    + +## 1. डाउनलोड सिमुलेशन और नियंत्रक पैकेज +पैकेज डाउनलोड करें: + + +cd ~ +mkdir -p robot_ws/src +cd robot_ws/src +git clone https://github.com/nakata5321/Baxter_simulation_controller.git +cd Baxter_simulation_controller +git checkout old_version +pip3 install -r requirements.txt +cd ../.. +catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 + + +मत भूलें स्रोत कमांड जोड़ने के लिए: + + +echo "source /home/$USER/robot_ws/devel/setup.bash" >> ~/.bashrc +source ~/.bashrc + + +## 2. सिमुलेशन शुरू करें +चलो गेज़बो वर्ल्ड शुरू करें और हमारे बैक्स्टर को उसमें डालें: + + +roslaunch gazebo_ros empty_world.launch + + + + +टर्मिनल में एक और विंडो खोलें: + + +rosrun gazebo_ros spawn_model -file `rospack find baxter_description`/urdf/baxter.urdf -urdf -z 1 -model baxter + + +आप हमारे बैक्स्टर के सामने कुछ मॉडल रख सकते हैं। यह और भी दिलचस्प होगा। + + + +## 3. DAPP में खातों का प्रबंधन करें + +क्योंकि हम टेस्टिंग कर रहे हैं, हमें रोबोनॉमिक्स बाइनरी फ़ाइल के साथ स्थानीय रोबोनॉमिक्स नेटवर्क बनाने दें। रोबोनॉमिक्स फ़ाइल के साथ फ़ोल्डर में जाएं और रन करें: + + +./robonomics --dev --tmp --rpc-cors all + + + + +[Robonomics पैराचेन पोर्टल][db5] पर जाएं और स्थानीय नोड पर स्विच करें + + + +खातों पर जाएं और __बैक्स्टर__ और __नियोक्ता__ खाते बनाएं (__रोबोट__ आवश्यक नहीं है) + +__महत्वपूर्ण!__ प्रत्येक खाते का **म्नेमोनिक** और **पता** कॉपी करें (पता कॉपी करने के लिए खाते के आइकन पर क्लिक करें)। **म्नेमोनिक** खाते का निजी कुंजी है। +इन खातों में कुछ पैसे (इकाइयां) भेजें: + + + + + + + +बैक्स्टर के **म्नेमोनिक** और **पता** को `config.yaml` में जोड़ें `robot_ws/src/Baxter_simulation_controller/config/` + +## 4. प्रयोग सिमुलेशन शुरू करें + +नए विंडो में चलाएं: + + + +ifps init #you only need to do this once +ipfs daemon + + +अलग टर्मिनल खोलें और *नियंत्रक पैकेज* शुरू करें: + + +rosrun robot_controller robot_control.py + + + + +अब आप एक लेनदेन भेज सकते हैं जिससे Baxter को चलना और डेटा एकत्र करना शुरू हो जाए। इसे करने के लिए, आप वही [Robonomics Parachain पोर्टल][db5] का उपयोग कर सकते हैं। **Developer->Extrinsics** पर जाएं और Baxter के नियोक्ता खाता का चयन करें, `लॉन्च` एक्सट्रिंसिक, Baxter का खाता एक लक्ष्य खाता और पैरामीटर के रूप में `हाँ` का चयन करें। एक्सट्रिंसिक सबमिट करें। + + + + +रोबोट को चलना शुरू कर देना चाहिए. यह अन्य खातों से कमांड स्वीकार नहीं करेगा और न ही `no` पैरामीटर वाले कमांड स्वीकार करेगा। +आपको निम्नलिखित देखना चाहिए: + + + +काम समाप्त होने पर Robonomics पोर्टल पर जाएं `Developer > Chain state`. **राज्य क्वेरी** में `datalog.datalogItem(AccountId,u64)` चुनें। यदि आप सभी डेटालॉग दिखाना चाहते हैं, त��� `समावेश विकल्प` को बंद करें और "+" बटन का उपयोग करके Baxter के डेटालॉग संदेश को देखें। + + + +अब टेलीमेट्री और फोटो का IPFS हैश ब्लॉकचेन में सहेजा गया है। डेटा देखने के लिए बस हैश कॉपी करें और इसे URL: gateway.ipfs.io/ipfs/
    में डालें + + + +__गेटवे पर देखें__ पर क्लिक करें और यही सब है! + + + + + + +## Baxter सिमुलेशन v2.0 + +यह कैसे काम करता है इसका उदाहरण: + +https://youtu.be/2Dvuv0ZE2Bw + +
    + + +## आवश्यकताएं: + + + +
  • + + +आरओएस मेलोडिक + गज़ेबो (इंस्टॉलेशन मैनुअल [यहां] [db2]) + +
  • + +
  • अतिरिक्त पैकेज: + + +sudo apt-get install ros-melodic-qt-build ros-melodic-driver-common ros-melodic-gazebo-ros-control ros-melodic-gazebo-ros-pkgs ros-melodic-ros-control ros-melodic-control-toolbox ros-melodic-realtime-tools ros-melodic-ros-controllers ros-melodic-xacro python-wstool ros-melodic-tf-conversions ros-melodic-kdl-parser python-wstool python-catkin-tools qt4-default + + +
  • + +
  • + +आईपीएफएस 0.6.0 तक ([यहां][db3] से डाउनलोड करें और इंस्टॉल करें) + +
  • + +
  • पायथन पैकेज: + + +sudo apt-get -y install python3-pip +pip3 install --upgrade pip + + +
  • + +
  • + +Robonomics नोड (बाइनरी फ़ाइल) (नवीनतम [रिलीज][db4] यहाँ डाउनलोड करें) + +
  • + +
  • + +**Robonomics पोर्टल** पर __Baxter__ और __नियोक्ता__ खाते बनाएं (आप यहाँ ट्यूटोरियल ["Robonomics पोर्टल पर खाता बनाएं"][db8] पा सकते हैं) +
  • + +
  • आईपीएफएस ब्राउज़र एक्सटेंशन (आवश्यक नहीं)
  • + +
    + +
    + +## 0. Python3 के लिए CV ब्रिज एक्सटेंशन इंस्टॉल करें + + + +
  • कैटकिन कार्यक्षेत्र बनाएं + + +mkdir -p catkin_workspace/src +cd catkin_workspace +catkin init + + +
  • + +
  • कैटकिन को सेमेक वेरिएबल सेट करने का निर्देश दें। `पायथन` के अपने वर्तमान संस्करण का उपयोग करें। मेरे लिए, यह `पाइथन3.6` है: + + +catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so +catkin config --install + + +
  • + +
  • क्लोन सीवी_ब्रिज स्रोत: + + +git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv + + +
  • + +
  • अपने भंडार में cv_bridge का संस्करण ढूंढें: + + +apt-cache show ros-melodic-cv-bridge | grep Version + Version: 1.12.8-0xenial-20180416-143935-0800 + + +
  • + +
  • गिट रेपो में सही संस्करण चेकआउट करें। हमारे मामले में यह 1.12.8 है: + + +cd src/vision_opencv/ +git checkout 1.12.8 +cd ../../ + + +
  • + +
  • निर्माण: + + +catkin build cv_bridge + + +
  • + +
  • नए पैकेज के साथ पर्यावरण का विस्तार करें: + + +source install/setup.bash --extend + + +
  • + +
  • परीक्षा: + + +$ python3 + +Python 3.6.9 (default, Jan 26 2021, 15:33:00) +[GCC 8.4.0] on linux +Type "help", "copyright", "credits" or "license" for more information. +>>> from cv_bridge.boost.cv_bridge_boost import getCvType +>>> + + +
  • + +
    + +
    + +## 1. सिमुलेशन और नियंत्रक पैकेज डाउनलोड करें +हमें 2 workspaces बनाने की आवश्यकता होगी - एक मुख्य Baxter's packages के लिए और दूसरा मुख्य नियंत्रण कार्यक्रम के लिए। +पहला workspace। यह मुख्य नियंत्रण कार्यक्रम है। यह python3 के तहत चलाया जाएगा। + + +cd ~ +mkdir -p robonomics_ws/src +cd robonomics_ws/src/ +git clone https://github.com/nakata5321/Baxter_simulation_controller.git +cd Baxter_simulation_controller +pip3 install -r requirements.txt + + +दूसरा workspace। यहाँ सभी Baxter's packages होंगे। सिमुलेशन बहुत पुरानी है, इसलिए यह केवल python2 के तहत चल सकती है। + + +cd ~ +mkdir -p robot_ws/src +cd robot_ws/src/ +wstool init . +wstool merge https://raw.githubusercontent.com/RethinkRobotics/baxter_simulator/master/baxter_simulator.rosinstall +wstool update + + +ये packages ROS indigo के लिए बनाए गए थे। हमें कुछ फ़ाइलें बदलनी होंगी ताकि हम उन्हें ROS melodic पर चला सकें। +हम **patch** फ़ाइलें उपयोग करेंगे। + + +patch ./baxter_simulator/baxter_sim_io/include/baxter_sim_io/qnode.hpp ~/robonomics_ws/src/Baxter_simulation_controller/patch/qnode_patch +patch ./baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp ~/robonomics_ws/src/Baxter_simulation_controller/patch/arm_patch +patch ./baxter_interface/src/baxter_interface/robot_enable.py ~/robonomics_ws/src/Baxter_simulation_controller/patch/interface_patch + + +और हम ��भी हमारे पैकेज बनाएंगे: +पहले बैक्स्टर के पैकेज बनाएं + + +cd ../ +catkin build + + +फिर पहले कार्यस्थल पर वापस जाएं और उसे भी बनाएं: + + +cd ~/Baxter_simulation_controller/ +catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 + + +स्रोत कमांड जोड़ना न भूलें: + + +echo "source /home/$USER/robot_ws/devel/setup.bash" >> ~/.bashrc +echo "source /home/$USER/robonomics_ws/devel/setup.bash" >> ~/.bashrc +source ~/.bashrc + + +## 2. Start simulation +### हमारे सिमुलेशन शुरू करें: +सबसे पहले `robot_ws` पर जाएं और baxter.sh की प्रतिलिपि बनाएं और संपादित करें + + +cd ~/robot_ws/ +cp src/baxter/baxter.sh . + + +आदेश के साथ अपना स्थानीय आईपी पता खोजें: + + +ip a + + + + +`baxter.sh` में निम्नलिखित मानों को संपादित करें: + + +nano baxter.sh + + +- आपका आईपी - अपना स्थानीय आईपी पता डालें। `ip a` देखें +- ros_version - उदाहरण के लिए "मेलोडिक" + + + +बैक्स���टर शैल स्क्रिप्ट को सिम के साथ चलाएं: + + +./baxter.sh sim +roslaunch baxter_gazebo baxter_world.launch + + +आप हमारे बैक्सटर के सामने कुछ मॉडल रख सकते हैं। यह और भी दिलचस्प होगा. + + + +## 3.डीएपीपी में खाते प्रबंधित करें + +चूंकि हम परीक्षण कर रहे हैं, आइए हम रोबोनॉमिक्स बाइनरी फ़ाइल के साथ एक स्थानीय रोबोनॉमिक्स नेटवर्क बनाएं। रोबोनॉमिक्स फ़ाइल वाले फ़ोल्डर में जाएँ और चलाएँ: + + +./robonomics --dev --tmp + + + + +[रोबोनोमिक्स पैराचेन पोर्टल][db5] पर जाएं और स्थानीय नोड पर स्विच करें + + + +खातों में जाएं और __बैक्स्टर__ और __नियोक्ता__ खाते बनाएं। + +आप यहाँ [db8] मैनुअल "रोबोनॉमिक्स पोर्टल पर खाता बनाएं" पा सकते हैं। + +__महत्वपूर्ण!__ प्रत्येक खाते का **स्मृति** और **पता** कॉपी करें (पता कॉपी करने के लिए खाते के आइकन पर क्लिक करें)। **स्मरक** खाते की निजी कुंजी है। + +इन खातों में कुछ पैसे (यूनिट) ट्रांसफर करें: + + + + + + + +`robonomics_ws/src/Baxter_simulation_controller/config/` में `config.yaml` में बैक्स्टर का **म्नेमोनिक** और **पता** जोड़ें + +## 4. अनुकरण प्रारंभ करें + +नई विंडो में चलाएँ: + + +ifps init #you only need to do this once +ipfs daemon + + +अलग टर्मिनल खोलें और *नियंत्रक पैकेज* प्रारंभ करें: + + +rosrun robot_controller robot_control.py + + + + +अब आप एक लेनदारी भेजकर बैक्स्टर को चलने और डेटा एकत्र करने के लिए ट्रिगर कर सकते हैं। इसके लिए, आप एक ही पोर्टल [रोबोनॉमिक्स पैराचैन पोर्टल][db5] का उपयोग कर सकते हैं। **डेवलपर->एक्सट्रिन्स** जाएं और बैक्स्टर के नियोक्ता खाता, `लॉन्च` एक्सट्रिन्स, बैक्स्टर का खाता लक्ष्य खाता और पैरामीटर के रूप में `हाँ` का चयन करें। एक्सट्रिन्स सबमिट करें। + + + + +रोबोट को चलना शुरू कर देना चाहिए. यह अन्य खातों से कमांड स्वीकार नहीं करेगा और न ही 'नहीं' पैरामीटर वाले कमांड स्वीकार करेगा। +आपको निम्नलिखित देखना चाहिए: + + + +काम समाप्त होने पर रोबोनॉमिक्स पोर्टल पर जाएं `डेवलपर > चेन स्थिति`। **स्थिति क्वेरी** में `datalog.datalogItem(AccountId,u64)` चुनें। अगर आप सभी डेटालॉग दिखाना चाहते हैं, तो `इनक्लूड ऑप्शन` को बंद करें और बैक्स्टर के डेटालॉग संदेश को "+" बटन का उपयोग करके देखें। + + + +अब टेलीमेट्री और फोटो का आईपीएफएस हैश ब्लॉकचेन में सेव हो जाता है। डेटा देखने के लिए बस हैश को कॉपी करें और इसे यूआरएल के साथ सर्च बार में डालें: +#### gateway.ipfs.io/ipfs/< अपना हैश यहाँ डालें> + +यह सब है! + + + + + +[db2]: +[db3]: +[db4]: +[db5]: +[db8]: \ No newline at end of file diff --git a/courses/hi/learn/boston-dynamics-spot/overview.md b/courses/hi/learn/boston-dynamics-spot/overview.md new file mode 100644 index 0000000000..691e1e40c9 --- /dev/null +++ b/courses/hi/learn/boston-dynamics-spot/overview.md @@ -0,0 +1,243 @@ +--- +title: "बोस्टन डायनेमिक्स स्पॉट के लिए सॉफ्टवेयर डेवलपिंग" +description: इस सबक में आप सीखेंगे कि आप एक उपयोगकर्ता के रूप में अधिकृत कैसे होते हैं, मोटर पावर नियंत्रण प्राप्त करते हैं और स्पॉट को मूल आदेश भेजते हैं। +metaOptions: [बोस्टन डायनामिक्स स्पॉट के लिए सॉफ़्टवेयर डेवलपिंग सीखें] +defaultName: Software Developing for Boston Dynamics Spot +--- + + +इस सबक में आप सीखेंगे कि आप एक उपयोगकर्ता के रूप में अधिकृत कैसे होते हैं, मोटर पावर नियंत्रण प्राप्त करते हैं और स्पॉट को मूल आदेश भेजते हैं। + + +## सिद्धांत + +जैसे कि और सभी गंभीर रोबोट, बोस्टन डायनामिक्स स्पॉट के पास एक सुरक्षा तंत्र है — [ई-स्टॉप सेवा](https://dev.bostondynamics.com/docs/concepts/estop_service) (आपातकालीन रोक) जो स्पॉट के संचालन के दौरान हमेशा सक्रिय रहना चाहिए ताकि किसी भी संभावित भौतिक क्षति से बचा जा सके। ई-स्टॉप को चालू करने से सभी जोइंट्स को तुरंत फ्रीज कर दिया जाता है (यदि रोबोट चालू है तो इंजन को बंद किए बिना यह होता है)। + +सबसे पहले, हमें रोबोट पर नियंत्रण किराया करना चाहिए। इसे करने के दो तरीके हैं - *प्राप्त* या *लेना*। *प्राप्त* का मतलब है नरम तरीके से नियंत्रण के लिए मांग करना, यदि किसी को अभी रोबोट का नियंत्रण है, तो आपकी अनुरोध को अस्वीकार किया जाएगा। दूसरे तरीके में, *लेना* का मतलब है ज़बरदस्ती नियंत्रण लेना, यह मायने नहीं रखता कि वर्तमान ऑपरेटर मौजूद है। + +इसलिए, कुछ गति प्राप्त करने के लिए, आपको यह योजना अनुसरण करना चाहिए: + + + +रोबोट निष्पादन राज्य + +इस सबक में आप सीखेंगे कि कैसे रोबोट की घूर्णन को नियंत्रित करने के लिए इसके *यॉ*, *रोल* और *पिच* को बदलकर। नीचे दिए गए चित्र में शरीर फ्रेम निर्देशिका प्रदर्शित है: + + + +स्पॉट निर्देशांक + + +किसी कोड में कोणों को रेडियन में दर्शाया जाता है। + + +सबक के परिणामस्वरूप, आप स्पॉट के चेहरे के साथ आकाश में अपने नाम के पहले अक्षर को खींचेंगे। आइए सेटअप शुरू करें! + +## गिटपॉड सेटअप + +इस सबक के लिए, हम गिटपॉड का उपयोग करेंगे, एक क्लाउड-आधारित आईडीई जो आपको अपने कंप्यूटर पर किसी भी विशेष सॉफ़्टवेयर को स्थापित किए बिना अभ्यास करने की अनुमति देता है। + +1. [गिटपॉड](https://gitpod.io/) के लिए साइन अप करें। +2. हमारे [स्पॉट शिक्षा वातावरण](https://gitpod.io/#github.com/merklebot/spot-edu-environment) पर जाएं और उसे हमारे ब्राउज़र में खोलें। आपको एक सामान्य आईडीई के कार्यों के साथ विंडो दिखाई देगी। +3. मेनू आइकन पर क्लिक करें, फिर टर्मिनल पर जाएं और एक नया टर्मिनल बनाएं। + + + + +4. इस क��ांड को कॉपी-पेस्ट करें: + + +python3 prepare_yggdrasil.py +sudo ./start_yggdrasil.sh + + + +और `Enter` दबाएं। + +1. नया टर्मिनल खोलें (अब आप `+` बटन दबाकर कर सकते हैं) और कमांड के साथ कनेक्शन का परीक्षण करें + + +ping6 200:42f6:d055:e74e:ce4a:35aa:953a:70f7 + + + +आपको कुछ इस तरह कुछ दिखना चाहिए: + + +gitpod /workspace/spot-edu-environment (main) $ ping6 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09 +PING 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09(202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09) 56 data bytes +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=1 ttl=64 time=846 ms +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=2 ttl=64 time=172 ms +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=3 ttl=64 time=172 ms +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=4 ttl=64 time=197 ms +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=5 ttl=64 time=219 ms +64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=6 ttl=64 time=242 ms + + + +1. निर्धारित समय से पहले हम आपको एसएसएच कनेक्शन स्थापित करने के लिए निजी कुंजी भेजेंगे। +2. अपनी निजी कुंजी को फ़ाइल `id_ed25519` में कॉपी करें। आप *stop-edu-enviroment* के साइडबार एक्सप्लोरर में फ़ाइल पा सकते हैं। +3. **`id_ed25519` फ़ाइल के अंत में एक रिक्त पंक्ति जोड़ें, यह एसएसएच को सही ढंग से काम करने के लिए आवश्यक है।** बदलाव सहेजने के लिए `Ctrl+S` दबाएं। + +अगर सब कुछ ठीक है, तो आप `lesson1.py` को संपादित ���रके पाठ पूरा करना शुरू कर सकते हैं + +कोड को निष्पादित करने के लिए, कमांड का उपयोग करें: + + + +sudo ./run_code.sh + + + + + +याद रखें कि सुनिश्चित करें कि इस समय किसी और का प्रोग्राम नहीं चल रहा है। + + + +## अभ्यास सत्र की अनुसूची तैयार करें + +अपने अभ्यास सत्र के लिए समयस्लॉट चुनने के लिए स्पॉट शेड्यूलिंग वेबसाइट का उपयोग करें: + +[meetings.hubspot.com/strelka](https://meetings.hubspot.com/strelka) + +## अभ्यास + +अब हम स्पॉट के सिर की गतिविधियों का उपयोग करके स्क्रीन पर चित्र बनाने के लिए एक सरल स्क्रिप्ट बनाएंगे। + + +# Import Spot Control modules +import bosdyn.client +from bosdyn.client.robot_command import RobotCommandClient, blocking_stand +from bosdyn.client.robot_command import RobotCommandBuilder +from bosdyn.geometry import EulerZXY +import time +# ENTER YOUR AUTH DATA HERE +ROBOT_IP="192.168.50.3" +SPOT_USERNAME="student" +SPOT_PASSWORD="" +# Helpers to control camera drawing (you don't need to modify it) +import requests +VIDEOSERVER_URL="http://luke.merklebot:8000/" +VIDEOSERVER_TOKEN="1234" +def notify_start_line(): + requests.post(VIDEOSERVER_URL + "start_line", json={"token": VIDEOSERVER_TOKEN}) +def notify_stop_line(): + requests.post(VIDEOSERVER_URL + "stop_line", json={"token": VIDEOSERVER_TOKEN}) +def notify_clear_canvas(): + requests.post(VIDEOSERVER_URL + "clear_canvas", json={"token": VIDEOSERVER_TOKEN}) +# Start with registering out SDK +sdk = bosdyn.client.create_standard_sdk('LessonOneClient') +# Create instance of robot and auth with credentials +robot = sdk.create_robot(ROBOT_IP) +robot.authenticate(SPOT_USERNAME, SPOT_PASSWORD) +# Create lease client and take exclusive control over Spot. +lease_client = robot.ensure_client('lease') +lease = lease_client.take() +lease_keep_alive = bosdyn.client.lease.LeaseKeepAlive(lease_client) +# Try to power on the robot +robot.power_on(timeout_sec=20) +if robot.is_powered_on(): + print("Powered On") + # If everything went smooth, Spot face lights should turn green +else: + # In case of some problems, e.g. somebody stole control over robot + print("Failed") + exit(0) +# Synchronize Spor inner time with ours - to avoid outdated commands +robot.time_sync.wait_for_sync() +# To execute robot movement, create command client through which orders are sent +command_client = robot.ensure_client(RobotCommandClient.default_service_name) +# Start movement with simple stand up +blocking_stand(command_client, timeout_sec=10) +# Rotate robot body: +# 1. Build command for body rotation. It’s not an easy task to control robot motion with commands on low level. +# Bosdyn Client allow as to use a shortcut - RobotCommandBuilder. It contains a number of predefined commands, +# you need just to choose one of your liking and insert parameters +footprint_R_body = EulerZXY(yaw=0.1, roll=0.1, pitch=0.1) +cmd = RobotCommandBuilder.synchro_stand_command(footprint_R_body=footprint_R_body) +# 2. Execute builded command +command_client.robot_command(cmd) +time.sleep(2) +# Return robot state back +command_client.robot_command(RobotCommandBuilder.synchro_stand_command(footprint_R_body=EulerZXY(yaw=0, roll=0, pitch=0))) +time.sleep(2) +# Change robot height +cmd = RobotCommandBuilder.synchro_stand_command(body_height=0.1) +command_client.robot_command(cmd) +# Now we are ready to draw letter. +def draw_letter(command_client): + # Choose points to draw (see the coords explanation bellow) + points_xy_draw = ( + (125, 125), + (375, 875), + (500, 500), + (250, 500), + (500, 500), + (625, 125), + ) + for x, y in points_xy_draw: + convert = lambda x: (x / 1000 - 0.5) * -1 + x, y = map(convert, (x, y)) + footprint_R_body = EulerZXY( + yaw=x, + roll=0.0, + pitch=y, + ) + cmd = RobotCommandBuilder.synchro_stand_command(footprint_R_body=footprint_R_body) + command_client.robot_command(cmd) + time.sleep(1) +notify_clear_canvas() +notify_start_line() +draw_letter(command_client) +notify_stop_line() +# Turn off the robot gracefully +robot.power_off(cut_immediately=False) + + + + +अगर हमें कैमरे में स्पॉट को किसी बिंदु में ले जाना हो, तो हमें कई गैर-रैखिक पैरामीटरों के साथ कुछ बड़ी गणनाएँ करनी होंगी, जो बिल्कुल आसान काम नहीं है। लेकिन हम कह सकते हैं, कि स्थानिक रूप से, यॉ और पिच कोणों को कार्तेशियाई संयति के रूप में कुछ संकेतक के साथ चित्र पर उपयोग किया जा सकता है। + + + + + +अब आप स्क्रिप्ट चलाने की कोशिश कर सकते हैं और परिणाम देख सकते हैं। Ctrl+S के साथ अपना कोड सहेजना न भूलें: + + +sudo ./run_code.sh + + + +### स्पॉट का वीडियो यहाँ मिल सकता है: +[https://codepen.io/smehnov/pen/BaVNrPM](https://codepen.io/smehnov/pen/BaVNrPM) + + +## चुनौती +एक पायथन स्क्रिप्ट बनाएं जो रोबोट शरीर की स्थिति को एक क्रम में गतियों से नियंत्रित करता है: + +1. खड़े हो जाओ +2. उसके चेहरे के साथ अपने पहचान का पता लगाएं (कम से कम 3 बिंदु वाला एक अक्षर) +3. बैठ जाओ + +## परिणाम + +अब, आप जानते हैं कि: + +- स्पॉट SDK के साथ काम करना +- एक मूल कमांड बनाना +- रोबोट शरीर को घुमाना +- स्पॉट से कनेक्ट करना + +और एक अक्षर भी खींच लिया। बधाई हो! + + + + +हमने स्पॉट के संयुक्त डेटा के साथ [rosbag](http://wiki.ros.org/rosbag) एकत्रित किया है, ताकि आप उन्हें दृश्यीकरण कर सकें (उदाहरण के लिए [foxglove](https://www.notion.so/Lesson-1-Emergency-Stop-Initialization-Body-Position-Control-4ccf6316330d4680ab1bb571b2b788d5) के साथ)। प्रमाणपत्र जल्द ही आपके ईमेल पर भेजा जाएगा। + + + + +## [अपना पहला सबक शेड्यूल करें](https://meetings.hubspot.com/strelka) \ No newline at end of file diff --git a/courses/hi/learn/connect-any-ros-compatible-drone/overview.md b/courses/hi/learn/connect-any-ros-compatible-drone/overview.md new file mode 100644 index 0000000000..481ccede6c --- /dev/null +++ b/courses/hi/learn/connect-any-ros-compatible-drone/overview.md @@ -0,0 +1,240 @@ +--- +title: ROS-संगत ड्रोन कनेक्ट करें +lastUpdate: Thu May 04 2023 12:52:55 GMT+0400 (Samara Standard Time) +description: रोबोनॉमिक्स पैराचैन नियंत्रण के तहत किसी भी ros संगत रोबोट कनेक्ट करें। +metaOptions: [सीखें] +defaultName: Connect ROS-compatible drone +--- + + +## भाग 1. लेन-द्वारा लॉन्च + +**इस लेख में हम दिखाएंगे कि रोबोनॉमिक्स उपकरणों की मदद से आप किसी भी ROS-संगत उपकरण को नियंत्रित कर सकते हैं। हम वेब पर एक यादृच्छिक ड्रोन सिमुलेशन पैकेज खोजेंगे और इसे रोबोनॉमिक्स के साथ चलाने के लिए समायोजित करेंगे।** +**आवश्यकताएं:** + + + +
  • Ubuntu 18.04 LTS
  • + +
  • + +ROS मेलोडिक + Gazebo + RViz (स्थापना मैनुअल [यहाँ](http://wiki.ros.org/melodic/Installation)) + +
  • + +
  • + +Robonomics नोड (बाइनरी फ़ाइल) (नवीनतम रिलीज [यहाँ](https://github.com/airalab/robonomics/releases)) + +
  • + +
    + +
    + +इस डेमो के इस हिस्से को कोड करने की पूरी प्रक्रिया नीचे एक वीडियो में प्रस्तुत की गई है। + +https://www.youtube.com/watch?v=fDpwhBasQ5o&feature=youtu.be + +
    + +## 1. एक सिमुलेशन खोजें +आओ वेब पर सर्फ करें। `ROS ड्रोन सिम्युलेटर` के लिए गूगल करें। पहला लिंक आमतौर पर आपको [http://wiki.ros.org/tum_simulator](http://wiki.ros.org/tum_simulator) पर `tum_simulator` पृष्ठ दिखाएगा + + + + +यह काफी पुराना है, इसलिए हमें अपने सिस्टम के लिए एक फोर्क ढूंढना बेहतर है। `tum_simulator Ubuntu 18 Gazebo 9 fork` के लिए गूगल करें। पहला परिणाम एक GitHub [रेपो](https://github.com/tahsinkose/sjtu-drone) है जिसमें एक उपयुक्त पैकेज है। इसे डाउनलोड करें + + +mkdir -p drone_simulator_ws/src +cd drone_simulator_ws/src +git clone https://github.com/tahsinkose/sjtu-drone +cd .. +catkin build + + +`~/.bashrc` में स्रोत कमांड जोड़ना न भूलें: + + +echo "source /home/$USER/drone_simulator_ws/devel/setup.bash" >> ~/.bashrc +source "~/.bashrc" + + +अब हम सिमुलेशन चला सकते हैं ताकि हम देख सकें कि हमें ड्रोन को पैराचैन नियंत्रण के तहत लेने के लिए क्या करना होगा। + + +roslaunch sjtu_drone simple.launch + + +## 2. ROS विषयों की जांच करें +जब सिमुलेशन चल रहा हो, एक नया टैब में निम्नलिखित कमांड चलाएं ताकि ड्रोन द्वारा उपयोग किए जाने वाले विषयों की सूची देख सकें: + + +rostopic list + + +हम `/cmd_vel`, `/drone/takeoff` और `/drone/land` पर एक नजर डालें: + + +rostopic info /cmd_vel +rostopic info /drone/takeoff +rostopic info /drone/land + + + + +जैसा कि देखा जा सकता है, `Twist` और `Empty` प्रकार के संदेश होने चाहिए, वे `std_msgs` और `geometry_msgs` के हिस्से हैं, हम नियंत्रक में इसका उपयोग करेंगे। कुछ समय के लिए सिमुलेशन बंद करें। + +## 3. नियंत्रक पैकेज डाउनलोड करें +सार्वजनिक रूप से, साधारण ROS रोबोट नियंत्रक से मुख्य अंतर एक कोड ब्लॉक है, जो [Robonomics IO](https://wiki.robonomics.network/docs/rinterface/) का उपयोग करके नेटवर्क में सभी लेन-द्वारा की गई सभी लेन की जांच करता है। पैकेज स्वयं GitHub पर उपलब्ध है। इसे डाउनलोड करें और कार्यस्थल निर्माण करें: + + +cd ~/drone_simulator_ws/src +git clone https://github.com/PaTara43/drone_simulator_controller +cd drone_simulator_controller/src +chmod +x *.py +cd ~/drone_simulator_ws/src +catkin build + + +## 4. DAPP में खातों का प्रबंधन करें +क्योंकि हम परीक्षण कर रहे हैं, चलो एक स्थानीय रोबोनॉमिक्स नेटवर्क नोड रोबोनॉमिक्स बाइनरी फ़ाइल के साथ बनाएं: + + +./robonomics --dev + + +**महत्वपूर्ण!** अगले लॉन्च के पहले `db` नामक निर्देशिका को हटाना आवश्यक है। + + +rm -rf /home/$USER/.local/share/robonomics/chains/dev/db + + +एक सफ�� लॉन्च के बाद [इस](https://wiki.robonomics.network/docs/create-account-in-dapp/) मैनुअल का पालन करके खाते बनाएं। **हर खाते के सीड और पता सहेजना न भूलें! आपको लेन-देन के लिए इन्हें आवश्यकता होगी**। इन पतों, सीड और पथ को रोबोनॉमिक्स बाइनरी फ़ाइल में `config.config` में जोड़ें `robonomics_ws/src/robonomics_sample_controller/src`। इन खातों में कुछ पैसे (इकाइयाँ) भेजें: + + + +## 5. पैराचैन नियंत्रण के तहत ड्रोन को लॉन्च करना + +अब तक केवल रोबोनॉमिक्स स्थानीय नोड चल रहा होना चाहिए। एक अलग टर्मिनल में ड्रोन सिमुलेशन लॉन्च करें: + + +roslaunch sjtu_drone simple.launch + + +स्क्रिप्ट चलाएं: + + +rosrun drone_simulator_controller drone_sample_controller.py + + + + +अब आप एक लेन-देन भेजकर ड्रोन को उड़ने के लिए ट्रिगर करने के लिए एक लेन-देन भेज ���कते हैं। इसे करने के लिए, आपको रोबोनॉमिक्स आईओ `write` उप-कमांड का उपयोग करना चाहिए रोबोनॉमिक्स बाइनरी फ़ाइल का: + + +echo "ON" | ./robonomics io write launch -r [DRONE_ADDRESS] -s [EMPLOYER’S_KEY] + + +जहां `` और `` पहले से ही सहेजे गए स्ट्रिंग्स के साथ बदल दिए गए हैं। +आपको लॉग `"Taking Off"` देखना चाहिए और ड्रोन उड़ना शुरू होना चाहिए: + + + +यही तरीका है कि किसी भी ROS-संगत रोबोट को रोबोनॉमिक्स पैराचैन नियंत्रण द्वारा नियंत्रित किया जा सकता है। + + +## भाग 2. ब्लॉकचेन में डेटा सहेजना + +**इस भाग में हम रोबोनॉमिक्स उपकरणों का उपयोग करके एक ड्रोन को पैराचैन द्वारा नियंत्रित होने देंगे। इस बार हम आईपीएफएस में डेटा भेजने और श्रृंखला विकल्पों में हैश स्टोर करने को जोड़ेंगे। नीचे निर्देश और कोड स्निपेट्स हैं। आवश्यकताएं:** + + + +
  • Ubuntu 18.04 LTS
  • + +
  • + +ROS मेलोडिक + Gazebo + RViz (स्थापना मैनुअल [यहाँ](http://wiki.ros.org/melodic/Installation)) +
  • + +
  • + +आईपीएफएस 0.4.22 (यहाँ से डाउनलोड करें [यहाँ से](https://dist.ipfs.io/go-ipfs/v0.4.22/go-ipfs_v0.4.22_linux-386.tar.gz) और स्थापित करें) +
  • + +
  • + +Robonomics नोड (बाइनरी फ़ाइल) (नवीनतम रिलीज [यहाँ](https://github.com/airalab/robonomics/releases)) +
  • + +
  • पायथन डिपेंडेंसीज़: + +pip install cv_bridge ipfshttpclient + +
  • + +
    + +इस डेमो के इस हिस्से को कोड करने की पूरी प्रक्रिया नीचे एक वीडियो में प्रस्तुत की गई है। + +https://www.youtube.com/watch?v=dliLb6GHgpo&feature=youtu.be + +
    + +## 1. डिपेंडेंसीज़ जोड़ें +अगर हम एक सिमुलेशन लॉन्च करते हैं और विषय सूची पर नजर डालते हैं (भाग 1 देखें), तो हमें दिखाई देगा, कि एक विषय है जिसमें फ्रंट कैमरा डेटा है और `sensor_msgs/Image` मैसेज प्रकार का उपयोग किया जा रहा है: + + + +चलो हर 1 सेकंड में एक तस्वीर लेने की कोशिश करें और उड़ान के बाद इन तस्वीरों को IPFS पर प्रकाशित करें। अगर आपने पहले ट्यूटोरियल को पूरा किया है, तो आपको कुछ और डाउनलोड करने की आवश्यकता नहीं है। यह `drone_sample_controller_pictures.py` स्क्रिप्ट है। + +## 2. DAPP में खातों का प्रबंधन करें +पिछले ट्यूटोरियल में किया गया जैसा, रोबोनॉमिक्स ब���इनरी फ़ाइल के साथ स्थानीय रोबोनॉमिक्स नेटवर्क नोड बनाएं: + +./robonomics --dev + + +**महत्वपूर्ण!** अगले लॉन्च के पहले `db` नामक निर्देशिका को हटाना आवश्यक है। + + +rm -rf /home/$USER/.local/share/robonomics/chains/dev/db + + +एक सफ�� लॉन्च के बाद [इस](https://wiki.robonomics.network/docs/create-account-in-dapp/) मैनुअल का पालन करके खाते बनाएं। **हर खाते के सीड और पता सहेजना न भूलें! आपको लेन-देन के लिए इन्हें आवश्यकता होगी**। इन पतों, सीड और पथ को रोबोनॉमिक्स बाइनरी फ़ाइल में `config.config` में जोड़ें `robonomics_ws/src/robonomics_sample_controller/src`। इन खातों में कुछ पैसे (इकाइयाँ) भेजें: + + + +## 3. लॉन्��� +अब तक केवल रोबोनॉमिक्स स्थानीय नोड चल रहा होना चाहिए। एक अलग टर्मिनल में ड्रोन सिमुलेशन लॉन्च करें: + + +roslaunch sjtu_drone simple.launch + + +एक और लॉन्च में ipfs डेमन चालू करें: + +ifps init # you only need to do this once +ipfs daemon + + +स्क्रिप्ट चलाएं: + +rosrun drone_simulator_controller drone_sample_controller_pictures.py + + +अब आप एक लेनदेन भेज सकते हैं जो ड्रोन को उड़ान भरने और तस्वीरें लेने के लिए प्रेरित करता है। इसे करने के लिए, आपको robonomics बाइनरी फ़ाइल के Robonomics IO `write` उप-कमांड का उपयोग करना चाहिए: + + +echo "ON" | ./robonomics io write launch -r [DRONE_ADDRESS] -s [EMPLOYER’S_KEY] + + +जहां `` और `` पहले से ही सहेजे गए स्ट्रिंग्स के साथ बदल दिए गए हैं। +आपको लॉग `"Taking Off"` देखना चाहिए और ड्रोन उड़ना शुरू करना चाहिए और तस्वीरें लेना चाहिए: + + + +बाद में, जब काम पूरा हो जाए, Robonomics पोर्टल पर जाएं `डेवलपर` -> `चेन स्थिति` और `DRONE` डेटालॉग जोड़ें `“+”` बटन का उपयोग करके चयनित `datalog` के रूप में राज्य क्वेरी। टेलीमेट्री का IPFS हैश ब्लॉकचेन में सहेजा गया है। डेटा देखने के लिए बस हैश कॉपी करें और ���से स्थानीय [गेटवे](https://gateway.ipfs.io/ipfs/QmeYYwD4y4DgVVdAzhT7wW5vrvmbKPQj8wcV2pAzjbj886/docs/getting-started/) पते `localhost:8080/ipfs/` में जोड़ें: + + + \ No newline at end of file diff --git a/courses/hi/learn/connect-mars-curiosity-rover/overview.md b/courses/hi/learn/connect-mars-curiosity-rover/overview.md new file mode 100644 index 0000000000..5e3d7344f3 --- /dev/null +++ b/courses/hi/learn/connect-mars-curiosity-rover/overview.md @@ -0,0 +1,204 @@ +--- +title: मार्स क्यूरियोसिटी रोवर को कनेक्ट करें +lastUpdate: Thu May 18 2023 10:41:00 GMT+0400 (Samara Standard Time) +description: रोबोनॉमिक्स पैराचेन नियंत्रण के अधीन मंगल जिज्ञासा रोवर से कनेक्ट करें। +metaOptions: [सीखें] +defaultName: Connect Mars Curiosity Rover +--- + +**चलिए देखते हैं कि रोबोनॉमिक्स पैराचेन नियंत्रण कैसे मंगल जिज्ञासा रोवर को चलने की अनुमति देता है। आवश्यकताएं:** + + + +
  • + +ROS मेलोडिक + Gazebo + RViz (स्थापना मैनुअल [यहाँ](http://wiki.ros.org/melodic/Installation)) + +
  • + + +
  • अतिरिक्त पैकेज: + + + sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller + + +
  • + +
  • + +[0.6.0](https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-386.tar.gz) तक आईपीएफएस + +
  • + +
  • + +[आईपीएफएस सहयोगी एक्सटेंशन](https://github.com/ipfs/ipfs-companion) + +
  • + +
  • + +रोबोनॉमिक्स नोड (बाइनरी फ़ाइल) (नवीनतम रिलीज [यहाँ](https://github.com/airalab/robonomics/releases) से डाउनलोड करें। इस ट्यूटोरियल को v1.1 पर सफलतापूर्वक परीक्षण किया गया। + +
  • + +
    + +
    + +यहाँ सफल लॉन्च दिखाने वाला वीडियो है: + +https://www.youtube.com/watch?v=6BSOyRbmac8 + + +
    + +### 1. एक सिमुलेशन सेट करें + +क्यूरिओसिटी रोवर पैकेज डाउनलोड करें: + + mkdir -p robonomics_ws/src + cd robonomics_ws/src + git clone https://bitbucket.org/theconstructcore/curiosity_mars_rover/src/master/ + cd .. + catkin build + + +हमें अपने रोवर को स्मूद्ली स्पॉन करने के लिए प्रारंभिक स्थितियों को समायोजित करने की आवश्यकता है: + + + +
  • जाएं + +`src/master/curiosity_mars_rover_description/worlds` and change line 14 of the file` mars_curiosity.world` to +`0 0 8 0 0 0` + +
  • + +
  • जाएं + +`src/master/curiosity_mars_rover_description/launch` and change line 4 of the file `mars_curiosity_world.launch` to +`` + +`~/.bashrc` में स्रोत कमांड जोड़ना न भूलें +`source /home/$USER/robonomics_ws/devel/setup.bash` + +
  • + +
  • कंसोल को रीबूट करें और सिमुलेशन लॉन्च करें: + + + roslaunch curiosity_mars_rover_description main_real_mars.launch + + + + +
  • + +
    + +नोट: यदि छवि अंधेरी है, उदा. छायांकित, तो Gazebo टूलबार में `कैमरा` को `आर्थोग्राफिक` में बदलें। +सिमुलेशन कुछ समय के लिए बंद किया जा सकता है। + +------------ + +
    + +### 2. रोबोनॉमिक्स नियंत्रक पैकेज डाउनलोड करें +टर्मिनल में रोवर के लिए नियंत्रक पैकेज डाउनलोड करने के लिए: + + +cd ~/robonomics_ws/src +git clone https://github.com/PaTara43/robonomics_sample_controller +cd robonomics_sample_controller +pip3 install -r requirements.txt +pip3 install rospkg +cd .. +catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 # The controller supports python3 + + + +------------ + +
    + +### 3. डीएपीपी में खाते प्रबंधित करें +हम परीक्षण क�� रहे हैं, इसलिए हमें रोबोनॉमिक्स बाइनरी फ़ाइल के साथ स्थानीय रोबोनॉमिक्स नेटवर्क बनाने दें: + + + ./robonomics --dev --tmp + + + + + +जाएं [Robonomics Parachain पोर्टल पर](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) और स्थानीय नोड पर स्विच करें + + + + + +खातों पर जाएं और **CURIOSITY** और **EMPLOYER** खाते बनाएं। + +**महत्वपूर्ण**! प्रत्येक खाते का पता कॉपी करें (पता कॉपी करने के लिए खाते के आइकन पर क्लिक करें) और Curiosity के खाते का **म्नेमोनिक सीड** (खाता बनाते समय प्राप्त किया गया) +इन खातों में कुछ पैसे (इकाइयाँ) भेजें। रोबोनॉमिक्स में खातों के बारे में अधिक पढ़ें [यहाँ](https://wiki.robonomics.network/docs/en/create-account-in-dapp/) + + + + +इन पतों, सीड और नोड पता (डेवलपर नोड के लिए `ws://127.0.0.1:9944` को डिफ़ॉल्ट मानकर) को `robonomics_ws/src/robonomics_sample_controller/src` में `config.config` में जोड़ें। कोट्स नहीं। + +------------ + +
    + +### 4. रोबोनॉमिक्स शुरू करें + +आगे बढ़ने से पहले, सुनिश्चित करें कि आपने [आईपीएफएस सहयोगी एक्सटेंशन](https://github.com/ipfs/ipfs-companion) इंस्टॉल किया है। + +एक अलग टर्मिनल में IPFS लॉन्च करें: + + +ifps init #you only need to do this once per IPFS installation +ipfs daemon + + +अगर यह लाइव नहीं है, तो एक अलग टर्मिनल में Curiosity सिम्युलेशन लॉन्च करें: + +roslaunch curiosity_mars_rover_description main_real_mars.launch + + +जब तक यह ठहर नहीं जाता + +एक और टर्मिनल में कंट्रोलर लॉन्च करें: + + +rosrun robonomics_sample_controller sample_controller.py + + + + +अब आप ���ोवर को चलाने और डेटा एकत्र करने के लिए एक लेनदार लेने के लिए एक लेनदार भेज सकते हैं। इसे करने के लिए, आप वही [रोबोनॉमिक्स पैराचैन पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) का उपयोग कर सकते हैं। +`Developer->Extrinsics` पर जाएं और क्यूरिओसिटी के नियोक्ता खाता, `लॉन्च` एक्सट्रिंसिक, क्यूरिओसिटी का खाता एक लक्ष्य खाता और पैरामीटर के रूप में `हाँ` का चयन करें। +एक्सट्रिंसिक सबमिट करें। + + + +रोबोट चलना शुरू करना चाहिए। यह अन्य खातों से आदेश स्वीकार नहीं करेगा न ही `नहीं` पैरामीटर के साथ आदेश स्वीकार करेगा। रोवर लगभग एक मिनट के लिए चलेगा और डेटा एकत���र करेगा। +बाद में, जब काम हो जाएगा: + + + + +रोबोनॉमिक्स पोर्टल पर जाएं `Developer -> Chain state` और `डेटालॉग -> रिंगबफरआइटम` को क्वेरी के रूप में चयन करके `क्यूरिओसिटी` डेटालॉग प्राप्त करें: + + + + +अब टेलीमेट्री का आईपीएफएस हैश ब्लॉकचेन में सहेजा गया है। डेटा देखने के लिए आसानी से हैश कॉपी करें और गेटवे पर खोजें: + + + + +यह टेलीमेट्री एक केंद्रीकृत स्टोरेज में रखी जाती है, और इसका हैश ब्लॉकचेन में स्टोर किया जाता है! diff --git a/courses/hi/learn/escape-from-black-mirror/escape-instruction.md b/courses/hi/learn/escape-from-black-mirror/escape-instruction.md new file mode 100644 index 0000000000..ca6bde48bd --- /dev/null +++ b/courses/hi/learn/escape-from-black-mirror/escape-instruction.md @@ -0,0 +1,28 @@ +--- +title: बादल की गर्भनाल को काटने पर नेट्रनर के लिए नोट्स, भाग 2 +description: ब्लै�� मिरर से बचना +metaOptions: [सीखें, ब्लैक मिरर से बचना] +defaultName: Escape from Black Mirror +--- + + + ब्लैक मिरर से बचने के नियम + + + + +धुंधला बादल जिसे मैं "द ब्लैक मिरर एस्केप प्लान" कहता हूं, उसके अंधेरे से निकलने के लिए नेटरनर्स के लिए नोट्स जो मेरे समय में हो चुका है। तो, यहाँ है एस्केप प्लान: + +1. **कनेक्शन प्वाइंट्स खोजें।** आपको स्पष्ट रूप से समझना चाहिए कि उपयोगकर्ता के वातानुकूल नेटवर्क में कितने कनेक्शन प्वाइंट्स मौजूद हैं, प्रदाता कौन है, और कौन से विशिष्ट उपकरण लोकल नेटवर्क से डेटा मेगापोलिस नेटवर्क में भेजते हैं। +2. **आईओटी - हाउसिंग इंफ्रास्ट्रक्चर का अध्ययन करें।** प्रत्य���क कोने में उपयोग किए जाने वाले संचार प्रोटोकॉल के लिए सिग्नल ताकत जांचें। +3. **लोकल नेटवर्क को बेहतर बनाएं।** सुनिश्चित करें कि कोई भी उपकरण उपयोगकर्ता के लिए वैश्विक नेटवर्क से कनेक्ट किए बिना उपलब्ध है। इंटर-मशीन संचार का अध्ययन करें और सुनिश्चित करें कि बाहरी सर्वरों का उपयोग करने की आवश्यकता नहीं है, उदाहरण के लिए, घर में दो पड़ोसी सॉकेट्स के बीच संवाद के लिए। +4. **सभी स्मार्ट उपकरणों को लोकल नेटवर्क पर स्विच करें।** ओपन-सोर्स और लाइव रिपॉजिटरी के साथ उपयुक्त फर्मवेयर खोजें। अनचाहे घटकों के लिए उपकरण बोर्ड को अक्षम करें, खोलें, अध्ययन करें, और 1 मिनट में हैकिंग के लिए वंशजों को पहचानें। ध्यान दें, कभी-कभी एक चालाकी से टेढ़ा नट बोर्ड को अपनी गुटन पर सॉल्डरिंग करने से बेहतर समस्या को हल कर सकता है। +5. **सभी स्मार्ट उपकरणों को लोकल नेटवर्क पर स्विच करें।** ओपन-सोर्स और लाइव रिपॉजिटरी के साथ उपयुक्त फर्मवेयर खोजें। अनचाहे घटकों के लिए उपकरण बोर्ड को अक्षम करें, खोलें, अध्ययन करें, और 1 मिनट में हैकिंग के लिए वंशजों को पहचानें। ध्यान दें, कभी-कभी एक चालाकी से टेढ़ा नट बोर्ड को अपनी गुटन पर सॉल्डरिंग करने से बेहतर समस्या को हल कर सकता है। +6. **उपयोगकर्ता को हल्के नेटवर्क क्लाइंट्स और प्रूफ्स के बाजार के साथ काम करने की शिक्षा दें।** उपयोगकर्ता को नेटवर्क में काम के 20 वर्षों के लिए आवश्यक टोकन भेजें। +7. **डिजिटल स्वच्छता के नियम समझाएं।** उपयोगी उपकरणों का सेट जिन्हें लोकप्रिय बाह्य संक्रमण विधियों के खिलाफ विश्वसनीय सुरक्षा प्रदान करेंगे पर एक ब्रीफिंग आयोजित करें। उपयोगकर्ता को यह महसूस कराएं कि अब केवल उसकी मूर्खता ही उसके जीवन को खराब कर सकती है, क्योंकि सब कुछ जटिल नेटरनर्स ने उसके लिए कर दिया है। + +अगर आप आखिरी कदम पर सब कुछ सही करते हैं, तो उपयोगकर्ता आपको बिना किसी कठिनाई के धन के स्थानांतरण के लिए एक साइन किया हुआ लेनदेन देगा। लेकिन अगर आपको लगता है कि उपयोगकर्ता के पीछे खड़े दो बाउंसर्स सिर्फ ऐसे ही नहीं हैं, बल्कि आपकी आत्मा के लिए - तेजी से, अप्रत्याशित और खिड़की से बाहर काम करें। वे निश्चित रूप से आपको ऐसी तस्वीर में नहीं चुकाएंगे जब एक मीटिंग के दौरान, लेकिन आप भाग जाएंगे। उसके बाद, तुरंत "फंड स्कैम" निर्देश को सक्रिय करें। + + + सफलता की शुभकामनाएं, नेटरनर! + \ No newline at end of file diff --git a/courses/hi/learn/escape-from-black-mirror/overview.md b/courses/hi/learn/escape-from-black-mirror/overview.md new file mode 100644 index 0000000000..b13fe25dc2 --- /dev/null +++ b/courses/hi/learn/escape-from-black-mirror/overview.md @@ -0,0 +1,32 @@ +--- +title: बादल की गर्भनाल को काटने पर नेट्रनर के लिए नोट्स, भाग 1 +description: ब्लै�� मिरर से बचना +metaOptions: [सीखें, ब्लैक मिरर से बचना] +defaultName: Escape from Black Mirror +--- + + + परिचय: "एक लड़की नाम ट्रिनिटी की कहानी" + + +प्राचीन ग्रीस की पौराणिक कथाएँ दो मुख्य चक्रों में विभाजित हैं: जब ओलंपियन देवताओं ने मानव जगत पर शासन किया था, और एक बाद का काल जिसमें नायकों का जीवन मित्रों द्वारा पूर्वनिर्धारित होता है, उदाहरण के लिए, ट्रॉय या ओइडिपस की कथा। मेरे जीवन में, पहले, सब कुछ दूसरे स्केनेरियो के अनुसार हुआ - मेरे पिताजी ने मेरे जन्म पर मुझे ट्रिनिटी नाम दिया, और 20 साल की उम्र में मैंने एक प्रकार के सफेद खरगोश का पीछा किया। + + + +खरगोश की गुफा मुझे मेगापोलिस तक वापस ले आई, लेकिन डेटा सूचना बस के दृष्टिकोण से। वहां, भूमिगत डेटा केंद्रों में, मैंने देवताओं के अस्तित्व के सबूत पाए, जो ग्रीक देवताओं के समान थे अपने आत्म-महत्व, इच्छाओं, और इच्छाओं में! + + + +कई साल पहले, मैंने शहर के मुख्य मार्ग के लिए पूरी तरह से भूल गया वंशज पहुंच की एक वंशज पहुंच पाया। मेरे पास एक अजीब दुनिया के दरवाजे थे, जिसमें पूरे मेगासिटी के मूल संचार प्रोटोकॉल के पाठ्यक्रम के लिए पारदर्शी, पढ़ने और संपादन करने योग्य कार्यक्रम को पाया। कार्यक्रम कोड जिसने मुझे कैमरे को अंतर्दृष्टि से लेने, मालिकों की जानकारी के बिना दरवा���े के ताले को नियंत्रित करने, और यहां तक कि व्यक्तिगत घरों के रसोई के नलों में डायनामिक पानी की गुणवत्ता प्रबंधन को भी दंडित करने की अनुमति दी। इस सब को देखने के बाद, मुझे एक भयानक भय से भर गया। डर कि इस सब कुछ किसी दूसरे के हितों के दृष्टिकोण से इच्छापूर्वक हो रहा था। मैं यह नहीं कह सकता कि प्रोटोकॉल कोड में इन सभी परिवर्तनों के पीछे एक बड़ी बुरी सिल्हूट है, लेकिन दर्शन के पीछे से वर्षों की अवलोकन से, मैं यह निष्कर्ष पर पहुंचा हूँ कि सैकड़ों लोगों को विभिन्न हितों के साथ सीधा पहुंच है। मैंने कितनी भी कोशिश की हो, कम से कम इन प्र���विलेज्ड उपयोगकर्ताओं में से किसी एक को ढूंढने की, मुझे केवल क्रिप्टोग्राफिक प्रमाण के बाध्यता के बारे में छीना गया, लेकिन कोई भेजने वाला कुंजी, कोई निशान नहीं था जो मुझे सच्चाई तक ले जा सकता। + + + + +अब मै��� एक नेटरनर हूं जो ग्राहक के व्यक्तिगत स्थान में साइबर सुरक्षा और गोपनीयता प्रदान करने में विशेषज्ञ हूं। मैं एक विशेषज्ञ हूं जो आपकी घर, कार्यालय या कार पर बाहरी नियंत्रण से बचाने में मदद करेगा, यदि सिग्नल मेगापोलिस के स्वतंत्र कोर से आता है। + + + + +मेरी सहायता लेने के लिए, आपको सतोशी स्क्वेयर पर एक अनुबंध प्रकाशित करना होगा, फिर अनुबंध पते पर डिजिटल सोने को स्थानांतरित करना होगा। उसके बाद, या तो मैं या किसी सत्यापित पेशेवर में से कोई वास्तविक वस्तु की बादल डिजिटल कल्पित को काटने का कार्य करेगा। हम अपने बीच इसे नाभि की रस्सी क���टने के साथ पुनर्जन्म का कार्य कहते हैं। अब आप एक मुक्त महत्वपूर्ण व्यक्ति हैं! आपको चिंता करने की आवश्यकता नहीं है कि कोई आपके स्टार्ट-अप को तोड़ देगा, जब आप अपनी बहन की तस्वीर पर लेदर मास्क पहनकर अपने बेडरूम से हस्तमैथुन करते हैं। आप शांति से कैलिफोर्निया के एक दोस्त के साथ राजनीति पर चर्चा कर सकते हैं, जो टेक्सास के कांग्रेसमैन हैं। आप अपने बच्चों के साथ इस दुनिया पर चर्चा कर सकते हैं, पाठ्यपुस्तक से नहीं और डरने की आवश्यकता नहीं है कि आपके मातृत्विक अधिकार निर्धारित होंगे। + +याद है जब मैंने आपको बताया था कि मैं सब कुछ स���झने के बाद भय में डूबा था? मुझे लगा कि मेरा जीवन किसी के कठपुतली थिएटर था। लेकिन नेटरनर के रूप में काम करने से मुझे गहरी डिप्रेशन से बचाया, हालांकि मैंने कभी इन अजीब पृथ्वीय देवताओं के बारे में सच्चाई का पता नहीं लगाया। डिप्रेशन के बजाय, मैंने यह निर्णय लिया कि जब मैं किसी प्रभावशाली, धनवान या बस अपनी गोपनीयता के बारे में चिंतित व्यक्ति की मदद कर सकता हूं, तो मुझे खुशी मिलेगी कि वे किसी और सीजन में स्वेच्छा से शामिल होने से बच सकते हैं CyberDionysus के नाटक का। \ No newline at end of file diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md new file mode 100644 index 0000000000..bc3e40956a --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md @@ -0,0 +1,79 @@ +--- +title: ब्लॉकचेन-आधारित स्मार्ट होम समाधान +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + +जोए जारी रहती है जानकारी खोजने के लिए एक स्मार्ट होम समाधान ढूंढ़ने की बिना क्लाउड डेटा स्टोरेज। + + + + +**Zoe**: + +डेटा का क्लाउड स्टोरेज के बिना एक स्मार्ट होम के लिए समाधान। + + + + + + +1. **डीसेंट्रलाइज्ड नियंत्रण प्रणालियाँ: डीसेंट्रलाइज्ड नियंत्रण प्रणालियाँ क्लाउड डेटा स्टोरेज पर निर्भर होने के बिना एक स्मार्ट होम का प्रबंधन करने की अनुमति देती है। इन प्रणालियों का उपयोग सर्वर को डेटा भेजने की बजाय ���्थानीय उपकरणों का उपयोग करता है जानकारी को प्रसंस्करण और प्रबंधित करने के लिए।** +2. मेश नेटवर्क: मेश नेटवर्क स्मार्ट होम उपकरणों को सीधे एक दूसरे के साथ संवाद करने की अनुमति देते हैं, केंद्रीकृत डेटा स्टोरेज की आवश्यकता को छोड़ देते हैं। यह डेटा गोपनीयता बनाए रखने में मदद करता है और तेज डेटा प्रसारण प्रदान करता है। +3. स्थानीय डेटा स्टोरेज उपकरण: कुछ स्मार्ट होम उपकरण डेटा को स्थानीय रूप से स्टोर कर सकते हैं, केंद्रीकृत स्टोरेज स्थान पर जानकारी भेजने की आवश्यकता के बिना। उदाहरण के लिए, आईपी कैमरे रिकॉर्डिंग को स्थानी�� स्टोरेज पर रख सकते हैं एक दूरस्थ सर्वर की बजाय। +4. **ब्लॉकचेन-आधारित समाधान: ब्लॉकचेन तकनीक का उपयोग विकेंद्रीकृत स्मार्ट होम प्रबंधन प्रणाली बनाने के लिए किया जा सकता है, जहां डेटा को स्थानीय रूप से उपकरणों पर संग्रहीत किया जाता है और ब्लॉकचेन द्वारा सुरक्षित किया जाता है। ऐसे समाधान डेटा गोपनीयता और हैकिंग से सुरक्षा प्रदान करते हैं।** +5. एज कंप्यूटिंग: एज कंप्यूटिंग एक प्रौद्योगिकी है जहां डेटा प्रसंस्करण स्थानीय उपकरण पर होता है बजाय एक दूरस्थ सर्वर पर। यह केंद्रीकृत डेटा स्टोरेज पर भार को कम करता है और स्मार्ट होम में डेटा प्रसंस्करण की गति बढ़ाता है। + + + + + +**Zoe**: + +ब्लॉकचेन पर आधारित ए�� स्मार्ट होम समाधान के लाभ लिखें। + + + + + + + +नीचे कुछ लाभ दिए गए हैं एक स्मार्ट होम के लिए ब्लॉकचेन पर आधारित समाधान का उपयोग करके: + +1. **सुरक्षा: ब्लॉकचेन आधारित समाधान का एक मुख्य लाभ डेटा सुरक्षा का उच्च स्तर है। ब्लॉकचेन की वितरित प्रकृति और गुप्तांक एन्क्रिप्शन विधियों की वजह से, डेटा संग्रहण और प्रसंस्करण एक सुरक्षित वातावरण में होता है, अनधिकृत पहुंच और हैकिंग को रोकते हुए।** +2. **गोपनीयता: ब्लॉकचेन आधारित समाधान डेटा पहुंच का प्रबंधन करने और व्यक्तिगत डेटा की गोपनीयता को संरक्षित रखने की अनुमति देते हैं, जैसे कि अनुसूचना सूचना, होम ऑटोमेशन आदि।** +3. अधिकृत नियंत्रण: ब्लॉकचेन आधारित समाधान स्मार्ट होम उपकरणों पर अधिकृत नियंत्रण बनाने की अनुमति देते हैं। इसका मतलब है कि उपकरण सीधे एक दूसरे के साथ संवाद कर सकते हैं बजाय एक केंद्रीकृत सर्वर के माध्यम से, प्रदर्शन में सुधार करते हुए और कमांड प्रतिक्रिया समय को कम करते हुए। +4. लचीलापन: ब्लॉकचेन आधारित समाधान लचीले हैं और उपयोगकर्ता की आवश्यकताओं के बदलते रूप में अनुकूल हो सकते हैं। स्मार्ट कॉन्ट्रैक्ट्स को प्रोग्राम करने की क्षमता के धन्यवाद, उपयोगकर्ता अपने घरों को आसानी से अनुकूलित और पुनर्विन्यासित कर सकते हैं। +5. लागत की बचत: ब्लॉकचेन प्रौद्योगिकी का उपयोग करके एक स्मार्ट होम का प्रबंधन करने की कुशलता बढ़ा सकती है और बुनियादी संरचना रखरखाव लागत को कम कर सकती है। इससे स्मार्ट होम का प्रबंधन करने से जुड़े विद्युत और अन्य खर्चों को कम करने की अनुमति मिलती है। +6. **दूरस्थ प्रबंधन: ब्लॉकचेन आधारित समाधान उपयोगकर्ताओं को इंटरनेट एक्सेस के साथ दुनिया के किसी भी कोने से अपने स्मार्ट होम का प्रबंधन करने की अनुमति देते हैं। इसलिए, उपयोगकर्ता अपने उपकरणों को नियंत्रित कर सकते हैं और अपने संचालन को किसी भी देश से कॉन्फ़िगर कर सकते हैं, जो लंबी यात्राओं, छुट्टियों या व्यापारिक यात्राओं के दौरान सुविधाजनक है।** +7. कमांडों का त्वरित क्रियान्वयन: ब्लॉकचेन आधारित समाधान कमांड निष्पादन में कम देरी के साथ स्मार्ट होम का प्रबंधन करने की अनुमति देते हैं। क्योंकि स्मार्ट होम उपकरण सीधे एक दूसरे के साथ संवाद करते हैं, केंद्रीकृत सर्वर के माध्यम से कमांड प्रेषण की आवश्यकता नहीं है, जिससे कमांड का निष्पादन तेज होता है। +8. **स्वचालन प्रणालियाँ: ब्लॉकचेन प्रौद्योगिकी के धन्यवाद, उपयोगकर्ता जटिल होम ऑटोमेशन प्रणालियाँ बना सकते हैं जहां उपकरण एक दूसरे के साथ संवाद करते हैं ताकि संसाधन उपयोग को अनुकूलित किया जा सके और ऊर्जा की कुशलता बढ़ाई जा सके।** +9. खुलापन और पारदर��शिता: ब्लॉकचेन प्रौद्योगिकी खुली और पारदर्शी है, जिसका मतलब है कि उपयोगकर्ता सिस्टम में डेटा की अखंडता और सटीकता को आसानी से सत्यापित कर सकते हैं। इससे सिस्टम में विश्वास बढ़ता है और विवादों और विवादों की संभावना कम होती है। +10. अन्य सिस्टमों के साथ एकीकरण: ब्लॉकचेन आधारित समाधान अन्य होम प्रबंधन सिस्टमों, जैसे कि स्मार्ट ताले, स्मार्ट खिड़की संवेदक, स्मार्ट थर्मोस्टेट्स आदि के साथ एकीकृत किया जा सकता है। इससे स्मार्ट होम का प्रबंधन करने की सुविधा और कुशलता बढ़ जाती है और उपयोगकर्ताओं के दिनचर्या को सरल बनाता है। +11. **बादल में डेटा संग्रहण का कोई जोखिम नहीं: ब्लॉकचेन आधारित समाधान का उपयोग करके स्मार्ट होम में डेटा संग्रहण के जोखिम को खत्म किया जाता है, स्मार्ट होम उपकरणों की सुरक्षा और विश्वसनीयता बढ़ाता है।** + + + + + +**Zoe**: + +ब्लॉकचेन और वेब3 क्या है सरल शब्दों में? + + + + + + + +**ब्लॉकचेन** एक वितरित डेटाबेस है जो सिस्टम में की गई सभी लेन-देन की जानकारी संग्रहित करता है। प्रत्येक लेन-देन को एक ब्लॉक में दर्ज किया जाता है, जिसे फिर ब्लॉकचेन कहलाने वाली ब्लॉकों की एक श्रृंखला में जोड़ा जाता है। प्रत्येक ब्लॉक पिछले ब्लॉक से जुड़ा होता है, जिससे एक अपरिवर्तनीय और टैम्पर-प्रूफ रिकॉर्ड बनता है। + +**वेब3** ब्लॉकचेन पर आधारित एक डिसेंट्रलाइज्ड नेटवर्क को प्रस्तुत करने वाली इंटरनेट की एक नई पीढ़ी है। इसका मतलब है कि वेबसाइट और एप्लिकेशन एक केंद्रीय सर्वर या नियंत्रण कंपनी के बिना काम करते हैं, और उपयोगकर्ताओं के बीच संवाद सीधा होता है। वेब3 उपयोगकर्ताओं को उनके डेटा को नियंत्रित करने और डिसेंट्रलाइज्ड एप्लिकेशन और अर्थव्यवस्थाओं में भाग लेने की अनुमति देता है, क्रिप्टोकरेंसी और टोकन का उपयोग करके। + + + + +जो ने एक स्मार्ट होम में ब्लॉकचेन पर आधारित समाधान का उपयोग करने की संभावना के बारे में जानकारी पाई, जिससे डेटा को क्लाउड स्टोरेज में संग्रहित करने का जोखिम समाप्त हो जाएगा और उसके और उसके परिवार के डेटा की सुरक्षा सुनिश्चित होगी। + \ No newline at end of file diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md new file mode 100644 index 0000000000..3a70f55794 --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md @@ -0,0 +1,177 @@ +--- +title: होम असिस्टेंट + ब्लॉकचेन+वेब3 +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + +हम आगे बढ़ते हैं और घरेलू महिला की ओर समस्या का अध्ययन करते हैं जिसे हमने पहले ही कृत्रिम बुद्धिमत्ता के साथ आविष्कार किया था। + + +जोए ने पहले ही मौजूदा स्मार्ट होम समाधानों पर जानकारी जांची है, डेटा सुरक्षा और केंद्रीकृत बादल डेटा संग्रह के जोखिमों को समझा है। उसने होम असिस्टेंट और ब्लॉकचेन और वेब3 स्मार्ट होम समाधानों के संभावनाओं के माध्यम से समस्या का संभावित समाधान ढूंढा है, जो उसके डेटा की सुरक्षा सुनिश्चित कर सकता है और उसके परिवार के लिए संभावित जोखिमों को कम कर सकता है। + +अब वह एक समाधान औ��� निर्देशों की तलाश में है कि होम असिस्टेंट, ब्लॉकचेन, और वेब3 को एकीकृत करके स्मार्ट होम को कैसे कनेक्ट करें। + +## ब्लॉकचेन के शीर्ष पर स्मार्ट होम के बारे में ऑटो-जीपीटी से पूछना + + + +**AI Name: Нousewife** + +घरेलू महिला है: एआई एजेंट महिला जो इंटरनेट पर अनुसंधान करने और स्वतंत्र पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए स्वतंत्र रूप से डिज़ाइन किया गया है। + +**लक्ष्य 1:** एक सूवेरिन सुरक्षित स्मार्ट होम को ब्लॉकचेन, वेब3 के साथ होम असिस्टेंट से कनेक्ट करने के निर्देश या सबकों की सूची लिखें और पाठ फ़ाइल बनाएं। + + + +सभी प्रक्रिया **[यहाँ](https://www.notion.so/Process-AUTO-GPT-1-2-bb601d4777834c8183e5e513cf2132f9)** देखें + + + +होम असिस्टेंट के साथ ब्लॉकचेन वेब3 प्रोटोकॉल को एकीकृत करने के लिए विस्तृत मार्गदर्शिका: + +1. होम असिस्टेंट इंस्टॉल करें: पहला कदम होम असिस्टेंट को अपने डिवाइस पर इंस्टॉल करना है। आप निर्देशों के लिए आधिकारिक होम असिस्टेंट वेबसाइट पर जा सकते हैं। + +2. वेब3.js लाइब्रेरी इंस्टॉल करें: वेब3.js एक जावास्क्रिप्ट लाइब्रेरी है जो इथेरियम ब्लॉकचेन के साथ बातचीत को संभावित बनाती है। आप इसे नोड.जेएस का उपयोग करके अपने होम असिस्टेंट माहौल में सीधे इंस्टॉल कर सकते हैं। + +3. इथेरियम क्लाइंट इंस्टॉल करें: इथेरियम क्लाइंट इथेरियम नेटवर्क के साथ बातचीत करने के लिए आवश्यक है। कुछ विकल्प गेथ, पैरिटी, या इन्फुरा शामिल हैं। आपको क्लाइंट के साथ एक खाता बनाना होगा और लेनदेन भेजने के लिए एपीआई कुंजी प्राप्त करनी होगी। + +4. माहौल कॉन्फ़िगर करें: जब आपके पास सब कुछ इंस्टॉल हो जाए, तो अब समय है कि आप अपने होम असिस्टेंट माहौल को कॉन्फ़िगर करें। आपको वेब3.js प्रदाता, इथेरियम क्लाइंट एकीकरण, और अपने स्मार्ट कॉन्ट्रैक्ट कॉन्फ़िगर करने की आवश्यकता होगी। + +5. स्मार्ट कॉन्ट्रैक्ट एकीकरण: स्मार्ट कॉन्ट्रैक्ट स्व-क्रियात्मक अनुबंध हैं जिनमें समझौते की शर्तें कोड में लिखी गई होती हैं। आप अपने खुद के स्मार्ट कॉन्ट्रैक्ट्स को इथेरियम नेटवर्क पर डिप्लॉय कर सकते हैं और उनके साथ वेब3.js का उपयोग करके बातचीत कर सकते हैं। + +6. टेस्ट और डिप्लॉय: आपके इंटीग्रेशन को डिप्लॉय करने से पहले इसे टेस्ट करना महत्वपूर्ण है। जब आपने सब कुछ टेस्ट किया है और इंटीग्रेशन से संतुष्ट हैं, तो आप अपने स्मार्ट होम में इसे डिप्लॉय कर सकते हैं। +होम असिस्टेंट को ब्लॉकचेन और वेब3 के साथ कनेक्ट करने के लिए निर्देशों कैसे जोड़ें रोबोनॉमिक्स का उपयोग करके: +- **[https://github.com/airalab/homeassistant-robonomics-integration](https://github.com/airalab/homeassistant-robonomics-integration) पर जाएं और निर्देश पढ़ें** + +- **होम असिस्टेंट को ब्लॉकचेन और वेब3 के साथ कनेक्ट करने के लिए रोबोनॉमिक्स का उपयोग करके निर्देशित स्थापना और कॉन्फ़िगरेशन प्रक्रिया का पालन करें।** + + + +[सभी प���रक्रिया को यहाँ देखें](https://www.notion.so/Process-AUTO-GPT-2-2-5c4ad9df8a0d473eb62ea23461de4c49) + +जोए घर के सहायक को ब्लॉकचेन और वेब3 को रोबोनॉमिक्स का उपयोग करके होम असिस्टेंट सेट करने और कनेक्ट करने की प्रक्रिया के बारे में जानकारी खोज रही है। वह रोबोनॉमिक्स परियोजना के बारे में अध्ययन करने के लिए भी जानकारी खोज रही है। + +## रोबोनॉमिक्स के बारे में ऑटो-जीपीटी से पूछना + + + +**AI Name:** Нousewife + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष्य 1:** रोबोनॉमिक्स, रोबोनॉमिक्स नेटवर्क, robonomics.network के बारे में सभी जानकारी खोजें और पाठ फ़ाइल बनाएं + + + + + +रोबोनॉमिक्स एक प्लेटफ़ॉर्म है जो रोबोटों को अर्थव्यवस्था में एकीकृत करने के लिए बनाई गई है। यह प्लेटफ़ॉर्म ईथेरियम ब्लॉकचेन पर निर्मित है और स्मार्ट कॉन्ट्रैक्ट का उपयोग करता है ताकि रोबोट और नेटवर्क में अन्य सहभागियों के बीच संचार और समन्वय संभव हो। रोबोनॉमिक्स का मुख्य लक्ष्य रोबोट श्रम के लिए एक बाजार बनाना है, जहां रोबोट स्वत: काम के लिए मांग प्रस्तुत और पूरी कर सकते हैं, मानव हस्तक्षेप की आवश्यकता के बिना। यह एक नई पीढ़ी के औद्योगिक और उपभोक्ता अनुप्रयोगों की एक नई पीढ़ी को सक्षम करेगा, और हमारे काम और जीने के तरीके को मौलिक रूप से परिवर्तित करने की संभावना है। + +रोबोनॉमिक्स नेटवर्क उपयोगकर्ताओं और उपकरणों के आर्थिक रूप से दक्ष और स्व-नियंत्रित इंटरैक्शन को एकीकृत करने के लिए एक विस्तारित प्लेटफ़ॉर्म है। रोबोनॉमिक्स नेटवर्क ब्लॉकचेन और आईओटी के लिए विस्तारित अर्थव्यवस्था प्रोटोकॉल बनाने की अनुमति देता है। रोबोनॉमिक्स के माध्यम से, लोग डिजिटल संपत्ति खरीद सकते हैं, जिसमें परिवहन, संचार और वास्तविक समय पर डेटा और सेवाएं शामिल हैं; सभी इसके साथ हमारे दैनिक जीवन में काम करने वाले संवेदकों और स्वचालित प्रणालियों की सटीकता, विश्वसनीयता और सुरक्षा सुनिश्चित करते हुए। + + + +See all process **[here](https://www.notion.so/Process-AUTO-GPT-2-3e1c2a7ab4dc4982af661fec846a493f)** + + +## 2022 और 2023 के लिए रोबोनॉमिक्स अपडेट के बारे में ऑटो-जीपीटी से पूछना + + + +**AI Name:** Нousewife + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष���य 1:** 2022 और 2023 के लिए वर्तमान जानकारी और परियोजना में Robonomics, Robonomics नेटवर्क के बारे में अपडेट खोजें और अध्ययन करें और पाठ फ़ाइल बनाएं + + + + + +Robonomics नेटवर्क सूचना: + +- Robonomics नेटवर्क एक डिसेंट्रलाइज़्ड प्लेटफ़ॉर्म है जो आईओटी उपकरणों और ब्लॉकचेन प्रौद्योगिकी को जोड़ता है। +- यह Polkadot रिले चेन पर निर्मित है, जो उच्च स्केलेबिलिटी और अंतरोपण की अनुमति देता है। +- नेटवर्क टोकन XRT है, और इसका उपयोग नेटवर्क पर लेन-देन के उद्देश्यों के लिए किया जाता है। +- नेटवर्क ने हाल ही में अपना पैराचैन का रिलीज़ किया, जो स्केलेबिलिटी में सुधा��� करने में मदद करता है और उच्च स्तर की सुरक्षा प्रदान करता है। +- Robonomics नेटवर्क वेबसाइट के अनुसार, नेटवर्क में लगभग 10.5m $XRT लॉक किए गए हैं। +- नेटवर्क ने कई क्राउडलोन अभियान आयोजित किए हैं, जिनमें सबसे हाल ही में नवंबर 2022 में आयोजित किया गया था, नेटवर्क पर परियोजनाओं को वित्त प्रदान करने के लिए। +- नेटवर्क ने हाल ही में मार्च 2023 में अपने पैराचैन और स्केलेबिलिटी के बारे में अपडेट दिया। +- $XRT को ट्रेड किया जा सकता है कई एक्सचेंज पर, जैसे कि Coinbase। +- The Robonomics Network Twitter handle is @AIRA_Robonomics. + +संदर्भ + +1. https://robonomics.network/ +2. https://twitter.com/AIRA_Robonomics + + + +सभी प��रक्रिया **[यहाँ](https://www.notion.so/Process-AUTO-GPT-2-1c3eb42e9dc941aca7b90e5d499204eb)** देखें + + +## Robonomics स्मार्ट होम सेटअप के बारे में Auto-GPT से पूछना + + + +**AI Name:** Нousewife + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष्य 1:** साम्राज्यिक स्मार्ट होम Robonomics कनेक्ट करने के लिए कोर्स और निर्देशों के लिंक खोजना और पाठ फ़ाइल बनाना + + + + + +यहाँ Robonomics स्मार्ट होम कोर्स का लिंक है: **[https://robonomics.academy/learn/smart-home-course/overview/](https://robonomics.academy/learn/smart-home-course/overview)** और साम्राज्यिक स्मार्ट होम Robonomics कनेक्ट करने के निर्देश: **[https://github.com/airalab/robonomics-network/blob/master/README.md#how-to-setup-sovereign-smart-home](https://github.com/airalab/robonomics-network/blob/master/README.md#how-to-setup-sovereign-smart-home)** + + + +सभी प्रक्रिया **[यहाँ](https://www.notion.so/Process-AUTO-GPT-13-5-2-f160f5688e13441086dafebaa8d65c89)** देखें + + +## रोबोनॉमिक्स के बारे में ऑटो-जीपीटी से पूछना smart home publications + + + +**AI Name:** Нousewife + +Нousewife is: ai agent woman designed to autonomously conducting research on the internet and doing independent first-person reporting and storytelling + +**Goal 1:** Find articles and publications about smart home Robonomics and create the text file + + + + + +https://robonomics.network/blog/robonomics-town-hall-2022/ + +https://wiki.robonomics.network/docs/hass-os-upgrade/ + +https://robonomics.network/blog/trajectory-2022-heading-for-product-launches/ + +https://github.com/airalab/robonomics-wiki/issues + +https://wiki.robonomics.network/docs/sls-gateway/ + +https://github.com/airalab/homeassistant-robonomics-integration + +https://moonbeam.network/announcements/robonomics-xcm-integration/ + +https://github.com/orgs/airalab/repositories?language=python&type=all + + + +सभी प्रक्रिया **[यहाँ](https://www.notion.so/Process-AUTO-GPT-13-7-1-6ce630949ad343a0a9c095b6442355d3)** देखें + + + +कुल मिलाकर, घरवाली जोई ने स्मार्ट होम के बारे में सभी जानकारी पढ़ी और उसने एक सुरक्षित स्मार्ट होम के लिए समाधान ढूंढा। उसने रोबोनॉमिक्स के बारे में भी जानकारी खोजी और कोर्स के लिंक पाए। उसका अगला कदम है कोर्स पढ़ना। + +उसका अगला कदम है कोर्स पढ़ना [https://robonomics.academy/learn/smart-home-course/overview](https://robonomics.academy/learn/smart-home-course/overview) और [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) + + + diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md new file mode 100644 index 0000000000..63ca8275bf --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md @@ -0,0 +1,88 @@ +--- +title: नकली गृहिणी ज़ो और उसकी कहानी से मिलें +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + + + +हमारी बातचीत शुरू करें जिसे हमने पहले ही बनाया है एक घरेलू महिला के नाम पर। + + + + +**Zoe:** + +हाय! + +मेरा नाम जोए है, और मैं एक घरेलू महिला हूं। मुझे 35 साल की उम्र है और मेरे पास दो बच्चे, एक पति, और एक कुत्ता है। मेरे पास एक बड़ा घर है, और मैं सफाई, कपड़े धोना, खाना पकाना, और बच्चों की परवरिश करने से बहुत थक जाती हूं। मुझे घरेलू कामों से बहुत तनाव होता है, और शाम को, मेरे पास अपने पति के साथ गुणवत्ता समय बिताने के लिए कोई ऊर्जा नहीं रहती। + +मुझे घर पर आराम, पुनर्जीवन, और विश्राम के लिए 15-20 मिनट के ब्रेक के लिए विचार चाहिए ताकि मैं ऊर्जावान रह सकूं और मेरे पति के साथ समय बिताने के लिए शक्ति हो। + + + + + + + + + + +हाय जोए! मैं आपके लिए कुछ ऐसे स्थितियाँ सुझा सकता हूं जो आपको पुनर्जीवित करने और विश्राम करने में मदद कर सकती हैं: + +1. सांस लेने का अभ्यास स्थिति: + - घर में एक शांत स्थान ढूंढें जहाँ आपको आराम मिलेगा। + - अपने पसंदीदा सुगंधित तेल के साथ एक डिफ्यूज़र सेट करें। + - ध्यान देने योग्य संगीत या प्राकृतिक ध्वनियों को चलाएं। + - एक आरामदायक स्थिति में बैठें और अपनी आंखें बंद करें। + - 5 मिनट के लिए धीरे-धीरे और गहरी सांस लेना शुरू करें, अपनी सांस पर ध्यान केंद्रित करें और नकारात्मक विचारों से छुटकारा पाने का प्रयास करें। + - फिर 2-3 मिनट की छुट्��ी लें शांति और शांति का आनंद लेने के लिए। + - इस साइकिल को और 2-3 बार दोहराएं। +2. योग ��्थिति: + - घर में एक आरामदायक स्थान ढूंढें जहाँ आप योग व्यायाम करने में सुखी महसूस करेंगे। + - लैवेंडर या पुदीना तेल के साथ एक डिफ्यूज़र सेट करें। + - शांति देने वाली संगीत या प्राकृतिक ध्वनियों को चलाएं। + - सूर्य सल्यूटेशन, ट्री पोज़ जैसे हल्के योग व्यायाम करना शुरू करें, और अन्य जो आपको पसंद हैं। + - प्रत्येक व्यायाम को 3-4 बार दोहराएं, कुछ सेकंड के लिए पोज़ बनाए रखें। + - फिर 2-3 मिनट की छुट्��ी लें शांति और शांति का आनंद लेने के लिए। + - इस साइकिल को और 2-3 बार दोहराएं। +3. ध्यान स्थिति: + - घर में एक शांत स्थान ढूंढें जहाँ आपको आराम मिलेगा। + - लैवेंडर या अन्य ध्यान संयोजनों के साथ एक डिफ्यूज़र सेट करें। + - ध्यान देने योग्य संगीत या प्राकृतिक ध्वनियों को चलाएं। + - एक आरामदायक स्थिति में बैठें और अपनी आंखें बंद करें। + - 5 मिनट के लिए धीरे-धीरे और गहरी सांस लेना शुरू करें, अपनी सांस पर ध्यान केंद्रित करें और नकारात्मक विचारों से छुटकारा पाने का प्रयास करें। + - फिर बैठे रहें और अपनी सांसों पर ध्यान केंद्रित करें या अगले 10-15 मिनटों के लिए गाइडेड ध्यान का उपयोग करें। + - ध्यान के बाद शांति और शांति का आनंद लेने के लिए 2-3 मिनट का ब्रेक लें। + + + + + +**Zoe**: + +ध्यान, योग, गहरी सांस लेने और आरामदायक संगीत बजाने के लिए एक स्थान को कैसे सजाएं ताकि आराम क्षेत्र स्वचालित रूप से चले। + + + + + + + +आराम ���्षेत्र स्थिति को स्वचालित रूप से चलाने के लिए, आपको घर की स्वचालन प्रणाली का उपयोग करना होगा। ऐसी एक प्रणाली आपको एक स्थिति को कॉन्फ़िगर करने की अनुमति देगी जो निश्चित समय पर या निश्चित स्थितियों के तहत स्वचालित रूप से चलेगी। यहाँ कुछ विचार हैं कि ध्यान, योग, गहरी सांस लेने और आरामदायक संगीत बजाने के लिए घर की स्वचालन प्रणाली का उपयोग कैसे करें: + +1. आवाज नियंत्रित स्मार्ट होम: आप आवाज नियंत्रित स्मार्ट होम का उपयोग करके आराम क्षेत्र स्थिति को लॉन्च कर सकते हैं। उदाहरण के लिए, आप सिस्टम को उत्तरदाता आदेश "आराम क्षेत्र स्��िति लॉन्च करें" के लिए सेट कर सकते हैं, और सिस्टम स्वचालित रूप से आरामदायक संगीत बजाएगा, मोमबत्तियां जलाएगा, और एक धूपकर्मी को आरोमेटिक तेल के साथ चालू करेगा। +2. गति संवेदक: आराम क्षेत्र में गति संवेदक स्थापित करें जो कमरे में प्रवेश करते ही स्थिति को स्वचालित रूप से ट्रिगर करेगा। इसमें आरामदायक संगीत बजाना, लाइट्स चालू करना, और आरोमेटिक तेल के साथ डिफ्यूज़र शुरू करना शामिल हो सकता है। +3. टाइमर: एक टाइमर सेट करें जो हर दिन निश्चित समय पर आराम क्षेत्र स्थिति को स्वचालित रूप से शुरू करेगा। यह सुबह काम शुरू करने से पहले या शाम को काम के बाद हो सकता है। +4. मोबाइल ऐप का उपयोग करें: घर की स्वचालन मोबाइल ऐप स्थापित करें जो आपको घर के किसी भी स्थान से आराम क्षेत्र स्थिति को नियंत्रित करने की अनुमति देगा। आप जब आराम करने या एक ब्रेक लेने की आवश्यकता हो, तो स्थिति को शुरू कर सकते हैं। +5. चेहरे की पहचान प्रणाली: एक चेहरे की पहचान प्रणाली स्थापित करें जो स्थिति आपके चेहरे की पहचान करते ही स्वचालित रूप से आराम क्षेत्र स्थिति को ट्रिगर करेगा। यह उपयोगी हो सकता है अगर आप आराम क्षेत्र स्थिति को शुरू करने के लिए कुछ भी नहीं करना चाहते, जैसे काम के बाद एक लंबे दिन के बाद। + + + + + +और इस प्रकार, जोई, गृहिणी, अपनी समस्या साझा करती है और AI की मदद से समाधान खोजने में सक्षम होती है। अब, उसे घर की स्वचालन के सही निर्णय करने की आवश्यकता है। आइए अगले अध्याय में चलें। + + \ No newline at end of file diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md new file mode 100644 index 0000000000..b6e85e7125 --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md @@ -0,0 +1,49 @@ +--- +title: अवलोकन +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + + + + नमस्कार और स्वागत है! + + इस गाइड-कहानी में, मैं AI के साथ प्रयोग करना चाहता हूँ ताकि मैं स्टैंडर्ड स्मार्ट होम समाधानों के मुद्दों का समाधान कर सकूँ, रचनात्मक स्वचालन विकल्पों की खोज कर सकूँ, और स्मार्ट होम को रोबोनॉमिक्स से कनेक्ट करने की प्रक्रिया को सरल बनाने के तरीके खोज सकूँ। + + मुझे इस प्रयोग में आपको भी शामिल करना चाहता हूँ! + + +मैं छुपाना नहीं चाहता कि इस गाइड की शुरुआत एक वास्तविक जीवन स्थिति में हुई थी जिससे मैं व्यक्तिगत रूप से सामना कर रहा था। एक मां, पत्नी, और कामचोर के रूप में, मैं एहसास करने लगा कि मुझे विश्राम और पुनर्वास के पलों की आवश्यकता है क्योंकि ऊर्जा कम होने की प्रवृत्ति होती है। एक ऐसे व्यक्ति के रूप में जो गैजेट्स से प्यार करता है और एक स्मार्ट होम के दीर्घकालिक मालिक है, मुझे चाहिए था कि यह समाधान स्वचालित हो - व्यावहारिक, सुविधाजनक, प्रिय, और समय बचाने वाला कुछ अधिक उपयोगी और उत्पादक्ता के लिए :) और क्योंकि हाल ही में मुझे AI की प्रगति में रुचि है, मैं चाहता था कि मैं प्रयोग करूँ और उपयोगी और मजेदार को मिलाऊं। + +आज, बहुत से लोगों के पास पहले से ही एक स्मार्ट होम सिस्टम है, लेकिन हर कोई विशेषताओं और समस्याओं को समझता नहीं है। इसलिए, मैंने वर्तमान स्थिति का विश्लेषण करने का निर्णय लिया AI और एक फेक हाउसवाइफ का उपयोग करके जो अपनी कहानी को न्यूनतम ज्ञान के साथ शुरू करेगी। + +- एक व्यक्तिगत समस्या का वर्णन करें +- इसका समाधान निकालें +- स्मार्ट होम की विशेषताओं और उनसे संबंधित समस्याओं का अध्ययन करें +- शामिल तकनीकों को समझें +- उपकरणों को कनेक्ट करने की प्रक्रिया के बारे में जानें और शामिल होने वाली कठिनाई का स्तर समझें +- एक विशेष ऑटोमेशन विधान बनाएं +- घर के स्वचालन को स्थापित करने का प्रयास करें +- सही स्मार्ट उपकरण चुनें और उन्हें कहाँ से खरीदना ह��� यह तय करें +- आवश्यकता होने पर अतिरिक्त विशेषज्ञ सहायता की जगह निर्धारित करें +- अंततः समस्या का समाधान करें + +आर्टिफिशियल इंटेलिजेंस (एआई) के निरंतर विकास के चलन को ध्यान में रखते हुए, लेकिन अभी तक पूर्णता तक नहीं पहुंचा गया है, कुछ कार्य हमारी Fake Housewife के लिए अनसुलझे रह सकते हैं। इसलिए, यह गाइड गतिशील होगा, और मैं हमारे चैनलों और ट्विटर पर अपडेट की सूचना दूंगा। अनसुलझे मुद्दे Fake Housewife द्वारा "तहकीकात के तहत" के रूप में चिह्नित किए जाएंगे, लेकिन आप चर्चा में शामिल हो सकते हैं और अपने एआई पात्र के साथ उसकी मदद कर सकते हैं — वह आपकी सहायता के लिए खुश होगी। + +इस गाइड की चर्चा हमारे Discord चैट #robonomics-academy में एक टैग के साथ और हमारे Telegram चैट में की जा सकती है। + +���ुझे आशा है कि यह गाइड आपकी मदद करेगा अपने घर के लिए रचनात्मक स्थितियों उत्पन्न करने और Robonomics का उदाहरण उपयोग करके एक स्वतंत्र स्मार्ट होम के लिए स्वचालन सेट करने के व्यक्तिगत कार्यों को हल करने में मदद करेगा। यदि आप इस विषय में नए हैं, तो गाइड एक अवसर प्रदान करेगा जिससे मुद्दों को समझने और स्मार्ट होम सिस्टम चुनने पर सही निर्णय लेने का अवसर मिलेगा। + +ट्विटर पर अपने परिणाम सीखें, प्रयोग करें, और [#RobonomicsSpringSchool2023](https://twitter.com/hashtag/RobonomicsSpringSchool2023?src=hashtag_click) टैग के साथ साझा करें। + +हमारे एआई हाउसकीपर के घटक: + +- **ChatGPT** - समस्याओं के समाधान ढूंढ़ना, शब्दावली का अध्ययन करना, और एआई हाउसकीपर के लिए एक नाम बनाना +- **AutoGPT** - मुद्दों और उनके समाधान का अनुसंधान करना, स्वचालन का अध्ययन करना, उपकरणों और अतिरिक्त विशेषज्ञों की खोज करना +- **[synthesia.io](https://www.synthesia.io/)** - एआई हाउसकीपर की गतिशील छवि +- **Midjourney** - चित्रण +- **NotionAI** - सही रूप से विभिन्न भाषाओं में संवाद करने की क्षमता। + +तो चलिए हमारी Fake Desperate Housewife & AI से मिलते हैं! \ No newline at end of file diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md new file mode 100644 index 0000000000..038549500f --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md @@ -0,0 +1,182 @@ +--- +title: मानक स्मार्ट होम समाधान और होम असिस्टेंट के जोखिम +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + + + + यहाँ जोए स्मार्ट होम सिस्टम इंस्टॉल करने के जोखिमों का अनुसंधान करती है। + + + +## पहला अनुसंधान चैटजीपीटी के साथ + + + +**Zoe:** + +आधुनिक स्मार्ट होम सिस्टमों की मुख्य समस्या क्या है? + + + + + + +आधुनिक स्मार्ट होम सिस्टमों की मुख्य समस्या है कि व्यक्तिगत डेटा के बड़े मात्रा में संग्रहण और प्रसारण के कारण गोपनीयता और सुरक्षा का संभावित **क्षति**। इस समस्या को इन सिस्टमों की जटिलता और संगतता समस्याओं द्वारा बढ़ाया जाता है, साथ ही उनकी उच्च लागत और विश्वसनीयता और रखरखाव से संबंधित चिंताएं। ये कारक आक्षेपित होम सिस्टमों के संभावित लाभों की सीमा कर सकते हैं और इनके अधिष्ठान के लिए एक बाधा हो सकते हैं। + + + + + +**Zoe:** + +एक स्मार्ट होम सिस्टम में व्यक्तिगत डेटा के बड़े मात्रा में संग्रहण और प्रसारण के कारण गोपनीयता और सुरक्षा का उल्लंघन करने के खतरे क्या हैं, खासकर जब घर में बच्चे रहते हैं? + + + + + + + +एक स्मार्ट होम सिस्टम में व्यक्तिगत डेटा के बड़े मात्रा में संग्रहण और प्रसारण के कारण गोपनीयता और सुरक्षा का उल्लंघन करना **गंभीर परिणामों में ले सकता है, खासकर अगर घर में बच्चे रहते हैं।** यहाँ कुछ संभावित खतरे हैं: + +1. व्यक्तिगत डेटा की चोरी: अगर हैकर स्मार्ट होम सिस्टम में पहुंच जाता है, तो वह आपकी काम की अनुसूची, आदतें और जीवनशैली, साथ ही अन्य परिवार के सदस्यों के व्यक्तिगत डेटा तक पहुंच सकता है। यह डेटा ब्लैकमेल या पहचान चोरी के लिए उपयोग किया जा सकता है। +2. गोपनीयता का उल्लंघन: अगर स्मार्ट होम सिस्टम सही ढंग से सुरक्षित नहीं है, ��ो हैकर वीडियो निगरानी या ऑडियो रिकॉर्डिंग तक पहुंच सकते हैं, जो घर में जीवन की गोपनीयता का उल्लंघन करता है। +3. सुरक्षा खतरे: अगर हैकर स्मार्ट होम सिस्टम में पहुंच जाता है, तो वह सिस्टम में हैक कर सकता है और स्मार्ट होम डिवाइसेस जैसे सुरक्षा सिस्टम, इलेक्ट्रॉनिक ताले, और अन्य डिवाइसेस तक पहुंच सकता है जो परिवार के सदस्यों की जीवन और स्वास्थ्य के लिए खतरा पैदा कर सकते हैं। +4. मैलवेयर: अगर स्मार्ट होम सिस्टम सही ढंग से सुरक्षित नहीं है, तो यह मैलवेयर का शिकार हो सकता है, जो डेटा चुरा सकता है या स्मार्ट होम सिस्टम पर नियंत्रण ���ी हानि कर सकता है। +5. बच्चों की सुरक्षा: अगर एक घर में बच्चे होते हैं और वहाँ स्मार्ट होम सिस्टम का उपयोग होता है, तो यह उनकी सुरक्षा और स्वास्थ्य के लिए एक खतरा पैदा कर सकता है। उदाहरण के लिए, एक हैकर स्मार्ट होम सिस्टम तक पहुंच सकता है और सुरक्षा सिस्टम्स जैसे धुआं डिटेक्टर या गति संवेदक को अक्षम कर सकता है, जो बच्चों के लिए संभावित खतरों का कारण बन सकता है। + +**समग्र रूप से, स्मार्ट होम सिस्टम में गोपनीयता और सुरक्षा का उल्लंघन गंभीर परिणामों में ले सकता है, जिसमें व्यक्तिगत डेटा की चोरी, गोपनीयता का उल्लंघन, सुरक्षा खतरे, और बच्चों की सुरक्षा के खतरे शामिल हैं। इसलिए, स्मार्ट होम सिस्टम की सुरक्षा सुनिश्चित करना और सुरक्षा उपायों का पालन करना महत्वपूर्ण है।** + + + +जोए ने वर्तमान स्मार्ट होम समाधानों के साथ व्यक्तिगत डेटा लीकेज की संभावना से संबंधित एक समस्या की पहचान की है। उसने जोखिमों को समझा है और बाद में बिना क्लाउड-आधारित समाधानों के कनेक्टिंग ऑटोमेशन के विकल्पों का अन्वेषण जारी रखा है। + +## ऑटो-ज��पीटी के साथ और गहराई से डाइव करें + + + +**AI Name: Housewife here!** + +गृहिणी: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वतंत्र पहले व्यक्तिक रिपोर्टिंग और कहानी लिखने के लिए डिज़ाइन की गई है + +**लक्ष्य 1 :** किसी सुरक्षित स्थानीय स्मार्ट होम को कनेक्ट करने का समाधान ढूंढें जिसमें क्लाउड स्टोरेज का उपयोग नहीं हो और कोई केंद्रीकृत क्लाउड सर्वर का उपयोग नहीं हो + +**लक्ष्य 2 :** एक सुरक्षित स्थानीय स्मार्ट होम को कनेक्ट करने के निर्देशों का वर्णन करने वाले पेजों के लिंक लिखें जिनमें क्लाउड स्टोरेज का उपयोग नहीं हो और कोई केंद्रीकृत क्लाउड सर्वर का उपयोग नहीं हो + + + + + +क्लाउड सर्वर का उपयोग किए बिना होम असिस्टेंट स्थापित करने के लिए, कृपया होम असिस्टेंट साइट **[https://www.home-assistant.io/installation/](https://www.home-assistant.) पर दिए गए निर्देशों का पालन करें। आईओ/इंस्टालेशन/).** + + +ऑटो-जीपीटी के सभी काम को [यहाँ](https://www.notion.so/Process-AUTO-GPT-ousewife-9-1-1-a017c63d7707483a92f6872361e0f8fa) देखें + +## चैटजीपीटी के साथ जारी रखें + +जोए एक समाधान ढूंढती है जिसमें कोई क्लाउड सर्वर का उपयोग नहीं हो - होम असिस्टेंट। उसे होम असिस्टेंट सिस्टम के फायदे और नुकसान का अध्ययन करना शुरू करती है। + + + + +**Zoe**: + +होम असिस्टेंट स्मार्ट होम सिस्टम के फायदे + + + + + + + +होम अ���िस्टेंट एक शक्तिशाली और लचीला स्मार्ट होम प्रबंधन सिस्टम है जो उपयोगकर्ताओं के लिए कई लाभ प्रदान करता है: + +1. लचीलाता: होम असिस्टेंट विभिन्न स्मार्ट होम उपकरणों और सिस्टमों को एकीकृत कर सकता है, जिससे उपयोगकर्ताओं को अपनी विशेष आवश्यकताओं के अनुसार एक कस्टम प्रबंधन सिस्टम बनाने की सुविधा मिलती है। +2. ओपन सोर्स: होम असिस्टेंट एक ओपन-सोर्स सिस्टम है, जिससे उपयोगकर्ताओं को सिस्टम को अनुकूलित करने और आवश्यकतानुसार नए फीचर्स जोड़ने की सुविधा मिलती है। +3. स्वचालन: होम असिस्टेंट उपयोगकर्ताओं को समय के आधार पर हवा, या उपयो��कर्ता के कार्यों जैसे घटनाओं पर आधारित स्वचालित क्रियाएँ सेट करने की सुविधा प्रदान करता है, जिससे स्मार्ट होम प्रबंधन को आसान और अधिक सुविधाजनक बनाया जा सकता है। +4. ग्राफिक इंटरफेस: होम असिस्टेंट के पास एक समझने में आसान वेब इंटरफेस है जो सभी उपकरणों और सिस्टम सेटिंग्स को प्रबंधित करना आसान बनाता है। +5. **सुरक्षा: होम असिस्टेंट उच्च स्तर की सुरक्षा और डेटा सुरक्षा प्रदान करता है। उपयोगकर्ता अपने उपकरणों और डेटा को सुरक्षित रखने के लिए पासवर्ड और अन्य सुरक्षा उपाय सेट कर सकते हैं।** +6. स्थानीय प्रबंधन: होम असिस्टेंट उप���ोगकर्ताओं को उनके स्मार्ट होम को इंटरनेट कनेक्शन के बिना प्रबंधित करने की सुविधा प्रदान करता है। यह सिस्टम इंटरनेट विफलताओं के लिए मजबूत और प्रतिरोधी बनाता है। +7. समुदाय: होम असिस्टेंट के पास एक बड़ा समुदाय है जो अपने अनुभव और सिस्टम के ज्ञान को साझा करते हैं। इससे उपयोगकर्ताओं को समर्थन प्राप्त करने और स्मार्ट होम प्रबंधन से संबंधित समस्याओं का समाधान करने की सुविधा मिलती है। + +इस प्रकार, होम असिस्टेंट उपयोगकर्ताओं के लिए कई लाभ प्रदान करता है, जिसमें **लचीलाता, स्वचालन, सुरक्षा, स्थानीय प्रबंधन, और समुदाय समर्थन शा���िल हैं।** + + + + + +**Zoe**: + +होम असिस्टेंट स्मार्ट होम का मुख्य दोष का वर्णन करें + + + + + + + +होम असिस्टेंट स्मार्ट होम का मुख्य दोष सिस्टम को सेटअप और कॉन्फ़िगर करने की जटिलता हो सकती है। होम असिस्टेंट का उपयोग करने के लिए, उपयोगकर्ता को कुछ स्तर की तकनीकी साक्षरता और सॉफ़्टवेयर के साथ काम करने की समझ होनी चाहिए। + +होम असिस्टेंट को सेटअप करना काफी कठिन और समय लेने वाला हो सकता है। सभी उपकरणों को सही ढंग से कॉन्फ़िगर करना, स्वचालन बनाना, और उपयोगकर्ता इंटरफेस सेटअप करना आवश्यक है। यह उपयोगकर्ताओं के लिए एक चुनौती हो सकती है, खासकर उन उपयोगकर्ताओं ���े लिए जिनके पास सॉफ़्टवेयर के साथ काम करने का पर्याप्त अनुभव नहीं है। + +इसके अतिरिक्त, होम असिस्टेंट का उपयोग करते समय कुछ उपकरणों के साथ संगतता समस्याएँ और **दूरस्थ पहुंच सेटअप में कठिनाइयाँ हो सकती हैं।** इसका कारण विभिन्न कारक हो सकता है, जैसे कुछ उपकरणों के API के साथ काम करने की सीमाएँ और सुरक्षा सेटिंग्स। + +इस प्रकार, हालांकि होम असिस्टेंट स्मार्ट होम का प्रबंधन करने के लिए कई अवसर प्रदान करता है, लेकिन इसकी सेटअप और कॉन्फ़िगरेशन की जटिलता कुछ उपयोगकर्ताओं के लिए मुख्य दोष हो सकती है। + + + + + +**Zoe**: + +होम असिस्टेंट में दूरस्थ नियंत���रण की समस्या का वर्णन करें + + + + + + + +होम अ���िस्टेंट में रिमोट कंट्रोल की समस्या यह है कि डिफ़ॉल्ट रूप से, सिस्टम केवल उस स्थानीय नेटवर्क के अंदर ही एक्सेस करने योग्य है जिस पर यह सेटअप किया गया है। इसका मतलब है कि अगर आप अपने घर से बाहर हैं या अपने घर के नेटवर्क से कनेक्ट नहीं हैं, तो आप होम असिस्टेंट के माध्यम से अपने उपकरणों और स्मार्ट होम सिस्टम को रिमोट रूप से नियंत्रित नहीं कर पाएंगे। + +इस समस्या का समाधान करने के लिए कई तरीके का उपयोग किया जा सकता है: + +1. वीपीएन के माध्यम से रिमोट एक्सेस सेटअप करना: यह आपको कहीं से इंटरनेट एक्सेस के साथ अपने घर के नेटवर्क से सुरक्��ित रूप से कनेक्ट करने की अनुमति देता है। यह समाधान सबसे सुरक्षित है क्योंकि डेटा एन्क्रिप्टेड होता है और केवल अधिकृत उपयोगकर्ताओं को स्मार्ट होम सिस्टम का एक्सेस होता है। +2. क्लाउड सेवाओं का उपयोग करना: होम असिस्टेंट में नाबू कासा जैसी क्लाउड सेवाओं का समर्थन है, जो आपके सिस्टम के लिए रिमोट एक्सेस प्रदान करती है। हालांकि, इसके लिए अतिरिक्त खर्च आ सकता है क्योंकि आपको इन सेवाओं की सदस्यता लेनी होगी। +3. पोर्ट फॉरवर्डिंग सेटअप करना: यह आपको अपने राउटर पर पोर्ट्स खोलने की अनुमति देता है ताकि रिमोट उपयोगकर्ता इंटरनेट के माध्यम से सिस्टम से कनेक्ट कर सकें। हालांकि, यह एक सुरक्षा खतरा पैदा कर सकता है क्योंकि अनधिकृत उपयोगकर्ताएं भी सिस्टम का एक्सेस प्राप्त कर सकती हैं। + +**यह जरूरी है कि आपके स्मार्ट होम सिस्टम के किसी भी रिमोट कनेक्शन को सुरक्षित तरीकों से किया जाना चाहिए ताकि आपके उपकरणों और डेटा की सुरक्षा हो।** + + + + + +**Zoe**: + +अगर मैं अपने घर से बाहर हूं या अपने घर के नेटवर्क से कनेक्ट नहीं हूं और होम असिस्टेंट के माध्यम से अपने स्मार्ट उपकरणों और होम ऑटोमेशन सिस्टम को रिमोट रूप से नियंत्रित नहीं कर सकता हूं तो इसके असुविधाएं का वर्णन करें जब घर में बच्चे रह रहे हों। + + + + + + + +अगर आप अपने घर से बाहर हैं या अपने घर के नेटवर्क से कनेक्ट नहीं हैं और होम असिस्टेंट के माध्यम से अपने स्मार्ट उपकरणों और होम ऑटोमेशन सिस्टम को रिमोट रूप से नियंत्रित नहीं कर सकते हैं तो यह विशेष रूप से **चुनौतीपूर्ण हो सकता है अगर आपके घर में बच्चे रह रहे हैं।** + +रिमोट एक्सेस के बिना, आप अपने घर से दूर होने पर अपने घर के तापमान, लाइटिंग, सुरक्षा या अन्य आवश्यक सुविधाओं को समायोजित या मॉनिटर करने में असमर्थ हो सकते हैं। **यह आपके बच्चों की सुरक्षा और आराम पर प्रभाव डाल सकता है,** साथ ही आपके दैनिक दिनचर्या और समय ���ारणियों को भी विघ्नित कर सकता है। उदाहरण के लिए, **अगर आपका बच्चा गलती से एक चूल्हा जला देता है, तो आप उसे रिमोट रूप से बंद नहीं कर पाएंगे, जिससे आग खतरा हो सकता है।** + + + + + + +जोए ने होम असिस्टेंट सिस्टम के फायदे और नुकसान का अध्ययन किया है। मुख्य नुकसान रिमोट कनेक्शन की कमी है, जो बच्चों की सुरक्षा पर प्रभाव डाल सकती है। वह बिना क्लाउड डेटा स्टोरेज के एक स्मार्ट होम समाधान खोजने के लिए जारी रहती है। + + + + + diff --git a/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md new file mode 100644 index 0000000000..25169531dd --- /dev/null +++ b/courses/hi/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md @@ -0,0 +1,147 @@ +--- +title: "अकादमी में सॉवरेन स्मार्ट होम कोर्स का अध्ययन और विकी निर्देश:" +description: फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान +metaOptions: [सीखें, फेक हाउसवाइफ और एआई रिसर्च स्मार्ट होम समाधान] +defaultName: Fake Housewife & AI research Smart Home Solution +--- + + + +जोए [https://robonomics.academy/learn/smart-home-course/overview/](https://robonomics.academy/learn/smart-home-course/overview/) और [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) के बारे में सीखने जा रही है ताकि वह अपने स्मार्ट होम को रोबोनॉमिक्स से कनेक्ट करने के लिए क्या चाहिए उसे समझ सके। क्या वह स्मार्ट होम को खुद ही इंस्टॉल कर सकती है, और वह सब्सक्रिप्शन कैसे खरीद सकती है? + + + +## स्टेप-1 : कोर्स सामरिक स्मार्ट होम रोबोनॉमिक्स और होम असिस्टेंट और रोबोनॉमिक्स विकि का अवलोकन + + + +**AI Name: Нousewife** + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष्य 1 :** सीखें https://robonomics.academy/en/learn/smart-home-course/overview , https://robonomics.academy/en/learn/smart-home-course/robonomics-hass-theory/ , https://wiki.robonomics.network/docs/robonomics-smart-home-overview , और इन पेजों की जानकारी के आधार पर लिखें कोर्स “सामरिक स्मार्ट होम विथ रोबोनॉमिक्स और होम असिस्टेंट” के बारे में, मौजूदा स्मार्ट होम समाधान की मुख्य समस्याएं लिखें, रोबोनॉमिक्स स्मार्ट होम्स के इंस्टॉलेशन आवश्यकताएं लिखें, सामरिक स्मार्ट होम के घटक लिखें और पाठ फ़ाइल बनाएं + + + + + +रोबोनॉमिक्स और होम असिस्टेंट के साथ एक सामरिक स्मार्ट होम एक स्थानीय होम ऑटोमेशन सिस्टम है जो उपयोगकर्ताओं को उनके डेटा को नियंत्रित करने और सेंट्रलाइज़्ड क्लाउड प्रदाताओं या महंगे प्रोप्राइटरी गेटवे का उपय��ग न करने की अनुमति देता है। यह कोर्स स्मार्ट होम उपकरण सेटअप और कनेक्टिंग के लिए व्यावहारिक कौशल सिखाता है और आर्बोनॉमिक्स पैराचेन का उपयोग करने के लिए। + +निम्नलिखित एक संरचित रिपोर्ट है जो एक सामरिक स्मार्ट होम के घटकों और इंस्टॉलेशन आवश्यकताओं का अवलोकन प्रदान करता है: + +घटक: +- रैस्पबेरी पाई 4 (कम से कम 2 जीबी रैम) +- एसडी कार्ड (न्यूनतम 16 जीबी) और एसडी एडाप्टर +- जिगबी स्मार्ट डिवाइस +- जिगबी एडाप्टर +- यूनिक्स-जैसे ऑपरेटिंग सिस्टम वाला कंप्यूटर +- विंडोज ऑपरेटिंग सिस्टम (एसएलएस गेटवे को फ्लैश करने के लिए आवश्यक) + +इंस्टॉलेश�� आवश्यकताएं: +- होम असिस्टेंट इंस्टॉल करें +- रोबोनॉमिक्स पैकेज इंस्टॉल करें +- होम असिस्टेंट एमक्यूटी ब्रोकर कॉनेक्ट करने के लिए रोबोनॉमिक्स पैराचेन को कॉन्फ़िगर करें +- जिगबी एडाप्टर कॉन्फ़िगर करें +- जिगबी डिवाइस इंस्टॉल करें +- एसएलएस गेटवे को आवश्यक सॉफ़्टवेयर के साथ फ्लैश करें + +उपयोगकर्ता अपने स्मार्ट होम को सेंट्रलाइज़्ड क्लाउड प्रदाताओं या प्रोप्राइटरी गेटवे के उपयोग के बिना अपने स्थानीय नेटवर्क से नियंत्रित कर सकेंगे। + + + +सभी प्रक्रिया **[यहाँ](https://www.notion.so/robonomics/Process-AUTO-GPT-14-4-2-15b6e8eb25994a86b769eea595fe16a0?pvs=4)** देखें + + + +**Zoe**: + +होम असिस्टेंट ��े लिए जिगबी स्मार्ट डिवाइस + + + + + + + +Zigbee एक लोकप्रिय वायरलेस संचार मानक है जिसका उपयोग स्मार्ट होम ऑटोमेशन के लिए किया जाता है। होम असिस्टेंट एक ओपन-सोर्स होम ऑटोमेशन प्लेटफ़ॉर्म है जो Zigbee डिवाइस का समर्थन करता है। होम असिस्टेंट के साथ उपयोग किए जा सकने वाले कुछ प्रसिद्ध Zigbee स्मार्ट डिवाइस हैं: + +1. फिलिप्स ह्यू स्मार्ट बल्ब्स: ये बल्ब्स स्मार्ट होम के लिए सबसे लोकप्रिय Zigbee डिवाइस में से एक हैं। इन्हें होम असिस्टेंट के साथ आसानी से एकीकृत किया जा सकता है ताकि उनकी चमक, रंग का तापमान, और रंग को नियंत्रित किया जा सके। +2. अक्वारा सेंसर्स: ये विभिन्न सेंसर्स जैसे कि तापमान, आर्द्रता, गति, दरवाजा और खिड़की, और अन्य होते हैं। इन्हें होम असिस्टेंट से कनेक्ट किया जा सकता है ताकि घर के विभिन्न पहलुओं जैसे मौसम नियंत्रण और सुरक्षा को मॉनिटर और नियंत्रित किया जा सके। +3. आईकेए ट्राडफ्री स्मार्ट लाइट्स: आईकेए के स्मार्ट बल्ब्स और लाइटिंग फिक्सचर्स Zigbee मानक का उपयोग करते हैं और होम असिस्टेंट का उपयोग करके नियंत्रित किए जा सकते हैं। इन्हें डिमिंग का समर्थन है और विभिन्न रंग के तापमानों पर सेट किया जा सकता है। +4. स्मार्टथिंग्स: सैमसंग का स्मार्टथिंग्स हब विभिन्न Zigbee डिवाइसों से कनेक्ट कर सकता है और ���िभिन्न कार्यों को स्वचालित करने के लिए होम असिस्टेंट के साथ एकीकृत किया जा सकता है। +5. शियोमी मी स्मार्ट प्लग: यह एक Zigbee-सक्षम स्मार्ट प्लग है जिसका उपयोग घर में विभिन्न डिवाइसों को नियंत्रित करने के लिए किया जा सकता है। इसे होम असिस्टेंट के साथ एकीकृत किया जा सकता है ताकि विभिन्न स्थितियों पर आधारित रूप से डिवाइसों को चालू और बंद करने को स्वचालित किया जा सके। +6. टुया स्मार्ट प्लग: यह एक Zigbee-सक्षम स्मार्ट प्लग है जिसका उपयोग घर में विभिन्न डिवाइसों को नियंत्रित करने के लिए किया जा सकता है। इसे होम असिस्टेंट के साथ एकीकृत ��िया जा सकता है ताकि विभिन्न स्थितियों पर आधारित रूप से डिवाइसों को चालू और बंद करने को स्वचालित किया जा सके। +7. सोनोफ़ जिगबी ब्रिज: यह एक ब्रिज है जो जिगबी डिवाइसों को वाई-फाई के माध्यम से होम असिस्टेंट से कनेक्ट कर सकता है। इसका उपयोग विभिन्न जिगबी डिवाइसों को नियंत्रित करने के लिए किया जा सकता है, जैसे कि लाइट्स, सेंसर्स, और स्विच। + +ये कुछ उदाहरण हैं जिनमें से कई Zigbee डिवाइस हैं जो होम असिस्टेंट के साथ एकीकृत किए जा सकते हैं। विभिन्न प्रोटोकॉल और डिवाइसों का समर्थन करने के साथ, होम असिस्टेंट एक स्मार्ट होम को स्वचालित करने के लिए एक शक्तिशाली प्लेटफ़ॉर्म प्रदान करता है. + + + +## स्टेप-2 - स्थापना प्रक्रिया + +गृहिणी जोई अध्ययन की प्रक्रिया में है + +आप जुड़ सकते हैं और अपने एआई पात्र का उपयोग करके जोई को समझने और अध्ययन करने में मदद कर सकते हैं और विकि निर्देशों को समझ सकते हैं। +ट्विटर पर ट्याग के साथ पोस्ट करें [#RobonomicsSpringSchool2023](https://twitter.com/hashtag/RobonomicsSpringSchool2023?src=hashtag_click) , **#FakeHousewifeZoe** + +## STEP-3 Robonomics Iot Subscription + + + +**AI Name: Нousewife** + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष्य 1 :** पृष्ठ https://wiki.robonomics.network/docs/sub-activate , https://robonomics.academy/en/learn/smart-home-course/robonomics-iot-subscription-setup/ का अध्ययन करें, इन पृष्ठों पर आधारित रूप से लिखें, रोबोनोमिक्स आईओटी सब्सक्रिप्शन क्या है, रोबोनोमिक्स आईओटी सब्सक्र���प्शन कैसे खरीदें और सक्रिय करें, रोबोनोमिक्स आईओटी सब्सक्रिप्शन की कीमत क्या है और पाठ फ़ाइल बनाएं + + + + + +Robonomics IoT Subscription खरीदने और सक्रिय करने के लिए, नीचे दिए गए चरणों का पालन करना होगा: +1. Robonomics पैराचैन पर दो खाते बनाएं: sub_owner और sub_controller। sub_owner खाते के लिए कम से कम 2-3 XRT टोकन की आवश्यकता है। +2. बनाए गए खातों को Polkadot.js एक्सटेंशन में जोड़ें। +3. Robonomics dapp (https://dapp.robonomics.network/home) पर जाएं और सब्सक्रिप्शन पेज का चयन करें। +4. सुनिश्चित करें कि sub_owner खाता चुना गया है और इसे Polkadot.js एक्सटेंशन के साथ लिंक किया गया है। +5. SUBMIT बटन पर क्लिक करें और खाते के लिए पासवर्ड दर्ज करें। +6. फिर, एक sub_controller खाता एक्सेस सूची में जोड़ें और पॉपअप विंडो में sub_owner पासवर्ड दर्ज करें। +7. सक्रियण प्रक्रि��ा पूरी होने तक प्रतीक्षा करें। + + + +सभी प्रक्रिया देखें **[यहाँ](https://www.notion.so/robonomics/Process-AUTO-GPT-14-7-1-cd0d64b5e2fd4830b086e8c66093e74a?pvs=4)** + +## चरण-4 - स्मार्ट होम Robonomics की सेटअप प्रक्रिया की जटिलता पर प्रतिक्रिया + + + +**AI Name: Нousewife** + +घरेलू महिला: एआई एजेंट महिला जो स्वत: इंटरनेट पर अनुसंधान करने और स्वत: पहले व्यक्ति रिपोर्टिंग और कहानी लिखने के लिए निर्देशित है। + +**लक्ष्य 1 :** एक घरेलू महिला के लिए कार्रवाई की जटिलता का मूल्यांकन लिखें https://robonomics.academy/en/learn/smart-home-course/overview, https://robonomics.academy/en/learn/smart-home-course/robonomics-iot-subscription-setup/ और पाठ फ़ाइल बनाएं + + + + + +[कार्रवाई की जटिलता का मूल्यांकन] + +- स्थापना प्रक्रिया कई चरणों की आवश्यकता है और पूर्व तकनीकी ज्ञान के बिना संभावतः आसान नहीं होगी। इसके अतिरिक्त, स्थापित और कॉन्फ़िगर करने की आवश्यकता होने वाले उपकर��ों की संख्या एक अंत उपयोगकर्ता के लिए जटिल स्तर प्रस्तुत करती है + +Robonomics_Subscription + +- Robonomics मॉडल प्रकाशन के लिए सब्सक्रिप्शन सेट करने के लिए आवश्यक चरणों का विवरण। प्रक्रिया में एक स्क्रिप्ट को डिप्लॉय करना शामिल है जिसमें सब्सक्रिप्शन के लिए निश्चित पैरामीटर होते हैं +- चरण सरल और सीधे लगते हैं लेकिन सफलतापूर्वक पूरा करने के लिए तकनीकी ज्ञान की एक स्तर की आवश्यकता हो सकती है + + + +सभी प्रक्रिया देखें **[यहाँ](https://www.notion.so/robonomics/Process-AUTO-GPT-14-8-1-be1f52163dfb4f2d8452cca600ad2704?pvs=4)** + + + +सम्ग्र, जोई [https://robonomics.academy/learn/smart-home-course/overview](https://robonomics.academy/learn/smart-home-course/overview) और [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) से सीखने में सक्षम थी कि उसे अपने घर को Robonomics से कनेक्ट करने के लिए क्या चाहिए, कौन से उपकरण उपयोग करने हैं, और सब्सक्रिप्शन खरीदने का तरीका। हालांकि, उसे एक स्मार्ट होम सेटअप प्रक्रिया की अधिक विस्तृत अध्ययन के लिए अधिक समय की आवश्यकता है। + +ज़ो का अगला कदम उन उपकरणों को ढूंढने का प्रयास करना है जिनकी उसे अपने स्मार्ट होम से कनेक्ट करने के लिए आवश्यकता है + + \ No newline at end of file diff --git a/courses/hi/learn/feecc-course/feecc-analytics-deployment.md b/courses/hi/learn/feecc-course/feecc-analytics-deployment.md new file mode 100644 index 0000000000..2e6a879d3d --- /dev/null +++ b/courses/hi/learn/feecc-course/feecc-analytics-deployment.md @@ -0,0 +1,56 @@ +--- +title: "एनालिटिक्स की तैनाती" +description: यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। +metaOptions: [सीखें, फीस का उपयोग करना] +defaultName: Getting Used to Feecc +--- + + +इस सबक में, आप सीक्षा करेंगे कि कैसे फीस एनालिटिक्स के घटकों को डिप्लॉय करें। + + +## एनालिटिक्स बैकएंड का लॉन्च + +1. रिपॉजिटरी क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-analytics-backend.git + + +2. `.env` फ़ाइल का उपयोग करके अपनी आवश्यकताओं के लिए बैकएंड सेवा कॉन्फ़िगर करें: + - `MONGO_CONNECTION_URL` — MongoDB से आपका कनेक्शन URI; + - `MONGO_DATABASE_NAME` — MongoDB का एक डेटाबेस नाम; + - `SECRET_KEY` — हैशिंग और डीहैशिंग के लिए गुप्त कुंजी; + - `IPFS_GATEWAY_HOST` — आईपीएफएस गेटवे का यूआरएल; + - `USE_DATALOG` — को एनालिटिक्स डेटा भेज रहा हूं Robonomics (`true` या `false`); + - `ROBONOMICS_SEED` — Robonomics खाते के लिए बीज-वाक्यांश। + +3. बैकएंड कंटेनर को लॉन्च करें: + + +sudo docker-compose up -d --build + + +4. इसके कार्यक्षमता की जांच करें। ब्राउज़र में जाएं और `http://localhost:5002/docs` पेज खोलें। यदि सही ढंग से किया गया है, तो आप एक पृष्ठ देखेंगे (स्वैगर द्वारा उत्पन्न) जिसमें सभी फीस ए��ालिटिक्स REST API एंडपॉइंट्स होंगे। अब आप फ्रंटएंड को लॉन्च करने के लिए तैयार हैं। + +## एनालिटिक्स फ्रंटएंड का लॉन्च + +1. रिपॉजिटरी क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-analytics-frontend.git + + +2. `src` पर जाएं और `config.json` फ़ाइल का उपयोग करके अपनी आवश्यकताओं के लिए फ्रंटएंड सेवा को कॉन्फ़िगर करें। `base_url` पैरामीटर में Feecc Analytics Backend का URL दर्ज करें (फॉर्म में `xx.xx.xx.xx:port`). + +3. फ्रंटएंड कंटेनर को लॉन्च करें: + + +sudo docker-compose up -d --build + + +4. इसके कार्यक्षमता की जांच करें। ब्राउज़र में जाएं और `http://localhost:8081/docs` पेज खोलें। + + +इस पर, Feecc सिस्टम के साथ परिचय पूरा माना जा सकता है। यदि आपके पास कोई अतिरिक्त प्रश्न हैं, तो आप Multi-Agent Systems (multi-agent.io) पर डेवलपर्स से संपर्क कर सकते हैं या उनके GitHub पर एक मुद्दा छोड़ सकते हैं (github.com/Multi-Agent-io). + \ No newline at end of file diff --git a/courses/hi/learn/feecc-course/feecc-architecture.md b/courses/hi/learn/feecc-course/feecc-architecture.md new file mode 100644 index 0000000000..e0b5db0e25 --- /dev/null +++ b/courses/hi/learn/feecc-course/feecc-architecture.md @@ -0,0 +1,116 @@ +--- +title: "वास्तुकला" +description: यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। +metaOptions: [सीखें, फीस का उपयोग करना] +defaultName: Getting Used to Feecc +--- + + +इस पाठ में, हम फीक वास्तुकला पर एक नजदीकी नजर डालेंगे और सॉफ़्टवेयर के सभी घटकों को देखेंगे। + + +फीक प्लेटफ़ॉर्म कई सेवाओं से मिलकर बना है, इंजीनियर वर्कबेंच कंट्रोल से एनालिटिक्स प्रदान करने तक। प्रत्येक सेवा किसी भी प्रकार की कार्यक्षमता के लिए जिम्मेदार है जो उद्यमी परिवेश में डिप्लॉयमेंट के लिए आवश्यक है। + +## फीक इंजीनियर वर्कबेंच + +इंजीनियर वर्कबेंच का मुख्य कार्य असेम्बली इंजीनियर के कार्यस्थल को संगठित करना है। कार्य के आधार पर इंजीनियर को निम्नलिखित उपकरणों की आवश्यकता हो सकती है: + +- उत्पादन प्रक्रि���ा का वीडियो रिकॉर्डिंग संगठित करने के लिए आईपी कैमरा; +- व्यक्तिगत आरआईएफ़आई कार्ड द्वारा सिस्टम में पहचान के लिए आरआईएफ़आईडी पठक; +- उत्पाद लेबलों को स्कैन करने के लिए बारकोड रीडर; +- निर्मित उत्पादों को लेबलिंग करने के लिए लेबल प्रिंटर; +- विभिन्न उपकरणों / स्टेशन से डेटा एकत्र करने वाले डिजिटल सेंसर। + +इंजीनियर वर्कबेंच सॉफ़्टवेयर आम तौर पर निम्नलिखित कंटेनरों से बना होता है। पहले, सॉफ़्टवेयर जो इंस्टॉलेशन की आवश्यकता है **कर्मचारी के कंप्यूटर पर जिस पर कर्मचारी उत्पाद के असेम्बली के दौरान काम करता है**: + +1. [feecc-workbench-daemon](https://github.com/Multi-Agent-io/feecc-workbench-daemon) — फीक प्लेटफ़ॉर्म का ह्रदय जो उपयोगकर्ताओं को सभी फीक सुविधाओं और विन्यास तक पहुँच प्रदान करता है; यह लेबल प्रिंटर का उपयोग करके लेबल प्रिंट करने और RTSP स्ट्रीम से वीडियो रिकॉर्ड करने के लिए हल्की सेवाएं भी शामिल हैं; +2. [feecc-workbench-frontend](https://github.com/Multi-Agent-io/feecc-workbench-frontend) — फीक प्लेटफ़ॉर्म के साथ कर्मचारियों के इंटरैक्शन के लिए एक वेब इंटरफ़ेस; +3. [feecc-hid-reader-daemon](https://github.com/Multi-Agent-io/feecc-hid-reader-daemon) — यूएसबी पेरिफ़ेरल घटनाओं को भेजने के लिए पायथन डेमन; + +दूसरे, सॉफ़्टवेयर जो **कर्मचारी के कंप्यूटर और स्थानीय नेटवर्क में सर्वर पर दोनों इंस्टॉल किया जा सकता है**: + +1. [feecc-ipfs-gateway](https://github.com/Multi-Agent-io/feecc-ipfs-gateway) — फ़ाइलों को आईपीएफएस पर प्रकाशित करने के लिए एक माइक्रोसर्विस, और विशेष रूप से, फ़ाइल सीआईडी को रोबोनॉमिक्स नेटवर्क में प्रकाशित करने के लिए; + +नीचे दिए गए चित्र में कॉर्पोरेट परिवेश में फीक इंजीनियर वर्कप्लेस वास्तुकला दिखाई गई है। आईपीएफएस गेटवे (साथ ही आईपीएफएस नोड और एक क्लस्टर पीयर के रूप में मॉंगोडीबी) प्रत्येक कर्मचारी के कंप्यूटर पर होस्ट किया जा सकता है, जो सिस्टम की वितरण को बढ़ाने में सहायक होगा। + + + +### एक क���र्यस्थल के लिए समर्थित हार्डवेयर: + +#### आरआईएफडी स्कैनर + +इंटरनल बैज के साथ इंजीनियर्स को अधिकृत करने के लिए एक यूएसबी आरआईएफडी स्कैनर की आवश्यकता है। आगंतुक जानकारी को `feecc-hid-reader-daemon` का उपयोग करके प्रसंस्कृत किया जाता है। + +#### बारकोड स्कैनर + +उत्पादों की पहचान के लिए यूएसबी बारकोड स्कैनर आवश्यक है, सेवाओं को कमांड भेजने के लिए और प्रमाणपत्रों का सही निर्धारण के लिए। आगंतुक जानकारी को भी `feecc-hid-reader-daemon` के साथ प्रसंस्कृत किया जाता है। दो आयामों में पढ़ना अभिलाषीय है, लेकिन आवश्यक नहीं है। + +#### कर्मचारी कंप्यूटर + +एक छोटा सिंगल-बोर���ड कंप्यूटर बाह्य उपकरणों (बारकोड स्कैनर, आरआईएफडी स्कैनर) से सिग्नल प्रसंस्करण करता है, प्रिंटर पर छवियों को प्रिंट करने के लिए अनुरोध भेजता है, वीडियो रिकॉर्डिंग को शुरू और बंद करता है, आईपीएफएस गेटवे को डेटा भेजता है। यह निम्नलिखित सेवाएं चलाता है: `feecc-workbench-frontend`, लेबल प्रिंटर और कैमरा समर्थन के साथ `feecc-workbench-daemon`, `feecc-hid-reader-daemon`। एक इंटरनेट कनेक्शन वाई-फाई या लैन के माध्यम से आवश्यक है। + +यह निर्दिष्ट करने योग्य है कि मॉनिटर वाले एकल-भुगतानकर्ता कंप्यूटर के बजाय किसी भी कंप्यूटर का उपयोग किया जा सकता है। ऑपरेटिंग सिस्टम GNU/LINUX को मूल रूप से या वर्चुअल मशीन के माध्यम से स्थापित किया जाना चाहिए। + +न्यून���म तकनीकी विनिर्देश: + +- CPU: Broadcom BCM2711, क्वाड कोर्टेक्स-ए72 (आर्म वी8) 64-बिट SoC @ 1.8जीगाहर्ट्ज या समान; +- RAM: 4GB LPDDR4-3200 या समान। + +#### स्क���रीन + +कर्मचारी द्वारा वर्तमान उत्पादन चरण के बारे में जानकारी दर्ज और देखने के लिए मॉनिटर का उपयोग किया जाता है। यह इंजीनियर के लिए वर्तमान स्थिति पर संकेत भी प्रदर्शित करता है। अन्य इनपुट उपकरण भी उपयोग किया जा सकता है। + +#### लेबल प्रिंटर + +लेबल प्रिंटर का उपयोग QR कोड और बार कोड प्रिंट करने के लिए किया जाता है ताकि उत्पाद पर पहचान और सत्यापन के उद्देश्य से लेबल लगाने के लिए। प्रिंटर के साथ बातचीत की जाती है `feecc-workbench-daemon` की सहायता से। हमारे मामले में हम XPrinter 236B प्रिंटर का उपयोग करते हैं। + +#### आईप��� कैमरा + +उत्पाद प्रक्रियाओं को कैप्चर करने के लिए आईपी कैमरा उत्पाद प्रमाणपत्र में शामिल किया जाता है। उत्पाद के असेंबली क्षेत्र के ऊपर स्थित है। कैमरा के साथ बातचीत `feecc-workbench-daemon` की संबंधित सेवा का उपयोग किया जाता है। + +आवश्यक तकनीकी विनिर्देश: PoE शक्ति आपूर्ति, RTSP डेटा स्थानांतरण प्रोटोकॉल। हमारे मामले में हम Hikvision HiWatch DS-i200d का उपयोग करते हैं। + +### कई कार्यस्थलों के लिए समर्थित हार्डवेयर: + +#### राउटर या स्विच + +PoE 802.3af समर्थन और PoE पावरिंग की आवश्यकता है जो आईपी कैमरों को पावरिंग करने और उन्हें `feecc-workbench-daemon` सेवा से कनेक्ट करने के लिए आवश्���क है। हमारे मामले में हम MikroTik hEX PoE (3-4 कार्यस्थलों के लिए एक) और पावर सप्लाई का उपयोग करते हैं। + +#### सर्वर (वैकल्पिक) + +एक बड़ा सर्वर भी स्थापित किया जा सकता है जो `feecc-ipfs-gateway` चला सकता है। इसे कर्मचारियों के कार्यस्थलों के किसी एक कंप्यूटर के स्थान पर स्थित किया जा सकता है। + +न्यून���म तकनीकी विनिर्देश: + +- CPU: इंटेल जीयन ई-2200 प्रोसेसर या समकक्ष; +- RAM: 8GB; +- स्टोरेज: 1TB HDD; +- LAN इंटरफेस: 1 जीबीट प्रति सेकंड। + +## Feecc विश्लेषण + +Feecc विश्लेषण का मुख्य कार्य Feecc उत्पादों की ट्रेसेबिलिटी और उनके पूर्व-बिक्री निरीक्षण की प्रक्रिया को संगठित करना है उत्पाद नियंत्रण विभाग में। + +Feecc विश्लेषण निम्नलिखित कंटेनर पर निर्भर करता है: + +1. [feecc-analytics-backend](https://github.com/Multi-Agent-io/feecc-analytics-backend) — विश्लेषण सेवा को डिप्लॉय करने के लिए मुख्य सॉफ्टवेयर; +2. [feecc-analytics-frontend](https://github.com/Multi-Agent-io/feecc-analytics-frontend) — विश्लेषण सेवा के लिए फ्रंटएंड सॉफ्टवेयर; + +यह आम ���ौर पर केवल संगठन के भीतर डेटा सुरक्षा के उद्देश्यों के लिए स्थानीय रूप से एकल सर्वर पर डिप्लॉय किया जाता है। + +Feecc एनालिटिक्स के काम करने के लिए आवश्यक हार्डवेयर एक स्थानीय या रिमोट सर्वर (वर्चुअल मशीन) है जिस पर वेब एप्लिकेशन चलेगी और बारकोड स्कैनर होगा। प्रत्ययित कर्मचारी अपने कंप्यूटर से उपयोगकर्ता नाम और पासवर्ड के साथ वेब एप्लिकेशन तक पहुंच सकता है। + +## Feecc वैधाता + +Feecc वैधाता का मुख्य कार्य डिजिटल उत्पाद प्रमाणपत्र की अखंडता को सत्यापित करने के लिए विभिन्न डेटा स्टोर से डेटा की तुलना करना है। + +Feecc वैधाता निम्नलिखित ��ंटेनर पर निर्भर है: + +1. [feecc-validator-backend](https://github.com/Multi-Agent-io/feecc-validator-backend) — एक माइक्रोसर्विस, जो प्रमाणपत्रों की सत्यापन करने और उपयोगकर्ता द्वारा प्रदान की गई इकाई के साथ संबंधित डेटा प्राप्त करने के लिए डिज़ाइन किया गया है, यदि उपयोगकर्ता के पास केवल एक ही डेटा टुकड़ा है; +2. [feecc-validator-frontend](https://github.com/Multi-Agent-io/feecc-validator-frontend) — एक वेब इंटरफेस जो वैधाता माइक्रोसर्विस के साथ बातचीत के लिए है। + +Feecc एनालिटिक्स के रूप में, इसे स्थानीय रूप से एक ही सर्वर पर डिप्लॉय किया जा सकता है और बारकोड स्कैनर की आवश्यकता है। + + +अगले पाठ में, हम फीक सिस्टम को एक छोटे डेमो के माध्यम से जो आपके कंप्यूटर पर स्थानीय रूप से चलता है, उसे और अधिक नजदीक से देखेंगे। + \ No newline at end of file diff --git a/courses/hi/learn/feecc-course/feecc-workbench-demo.md b/courses/hi/learn/feecc-course/feecc-workbench-demo.md new file mode 100644 index 0000000000..7d20c643b7 --- /dev/null +++ b/courses/hi/learn/feecc-course/feecc-workbench-demo.md @@ -0,0 +1,204 @@ +--- +title: "फ़ीसीसी का डेमो" +description: यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। +metaOptions: [सीखें, फीस का उपयोग करना] +defaultName: Getting Used to Feecc +--- + + +इस पाठ में, आप एक उदाहरण के रूप में एक वर्चुअल टेस्टबेड का उपयोग करके फीस के मूल कार्यों का परीक्षण करेंगे, जो एक उत्पादन ट्रैकिंग सिस्टम के वास्तविक उदाहरण का अनुकरण करता है। + + +प्रदर्शन के उद्देश्यों के लिए इसमें कुछ सामान्य विशेषताएँ नहीं हैं जैसे लेबल प्रिंटिंग या वीडियो रिकॉर्डिंग, लेकिन यह ऐसे एक सिस्टम की मुख्य अवधारणा को धारण करता है। + +## पूर्वापेक्षाएँ + +डेमो चलाने के लिए, आपको निम्नलिखित की आवश्यकता होगी: + +- UNIX जैसा सिस्टम (जांच किया गया है [Ubuntu 22.04.2](https://releases.ubuntu.com/jammy/)) +- [डॉकर](https://docs.docker.com/engine/install/ubuntu/) और [डॉकर कॉम्पोज](https://docs.docker.com/compose/) +- वेब ब्राउज़र (Google Chrome और Mozilla Firefox पर जांच किया गया है) + +## स्थापना + +निम्नलिखित कमांडों को निष्पादित करें: + + +git clone https://github.com/Multi-Agent-io/feecc-academy +cd feecc-academy +sudo docker compose up -d --build + + +काम कर रहे कंटेनर्स की जांच करने के लिए, निम्नलिखित को चलाएं: + + +sudo docker ps -a + + +आपको निम्नलिखित आउटपुट दिखना चाहिए: + + +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +0db8382bb271 feecc-academy-workbench-daemon "uvicorn app:app --h…" 19 seconds ago Up 7 seconds (healthy) feecc_academy_workbench_daemon +0dbc7bb977d1 feecc-academy-workbench-frontend "node nodeServer.js" 20 seconds ago Up 19 seconds (health: starting) feecc_academy_workbench_frontend +a74fa229eb90 robonomics/robonomics:sha-bd71a23 "robonomics --dev --…" 20 seconds ago Up 19 seconds (health: starting) feecc_academy_robonomics_node +0c9e8022658a mongo:jammy "docker-entrypoint.s…" 20 seconds ago Up 19 seconds (healthy) feecc_academy_mongoDB +6b0748904d0f ipfs/go-ipfs:v0.17.0 "/sbin/tini -- /usr/…" 20 seconds ago Up 19 seconds (healthy) feecc_academy_ipfsnode +814e6f489a77 nyurik/alpine-python3-requests "tail -f /dev/null" 20 seconds ago Up 19 seconds feecc_academy_hid_emulator + + +## डेमो को लॉन्च करना + +1. अपन�� ब्राउज़र में http://localhost:3000/ पर जाएं, आपको एक स्वागत स्क्रीन दिखाई देनी चाहिए। + +2. इस स्थिति में, सिस्टम कर्मचारी से उनके RFID कार्ड को स्कैनर पर रखने के लिए प्रोत्साहित करना चाहिए। डेमो में, आप `hid-emulator.py` का उपयोग अधिकृत कर सकते हैं। इसके लिए, एक अलग Docker कंटेनर चलाएं: + + +sudo docker exec -ti feecc_academy_hid_emulator sh +python3 hid-emulator.py + + +यह दो कार्यों का नकल करने में सक्षम है: एक RFID कार्ड प्रदान करना और एक बारकोड स्कैन करना; आपको पहले कार्य की आवश्यकता है, `1` दर्ज करें। + + +> Select emulated action (1/2): +> 1. Put ID card on the RFID scanner. +> 2. Scan a sample barcode with a barcode scanner. +> 1 +> INFO:2023-03-21 21:42:05,370:Event relayed to endpoint http://127.0.0.1:5000/workbench/hid-event + + +3. आपको संयोजन प्रकार का चयन करने के लिए स्क्रीन दिखाई देगी, `SINGLE DEVICE` चुनें। + + + +4. नोटिफिकेशन निर्मित करने की शुरुआत की सूचनाएं नीचे बाएं कोने में ��िखाई देगी जिसमें एक अद्वितीय आईडी बनाया गया है। नीला नोटिफिकेशन भी वर्चुअल प्रिंटर की गतिविधि को प्रदर्शित करेगा; वास्तविक सेटअप पर, इस समय उस उपकरण के आईडी के साथ एक बारकोड प्रिंट होगा। + + + +5. `START COMPOSITION` पर क्लिक करें उपकरण संयोजन प्रक्रिया शुरू करने के लिए। आपको सभी आवश्यक संयोजन चरणों के माध्यम से जाने के लिए प्रोत्साहित किया जाएगा; हर बार जब कर्मचारी एक चरण पूरा करता है, तो उन्हें `NEXT` बटन पर क्लिक करना चाहिए, जिसके बाद वीडियो IPFS में सहेजा जाएगा। संयोजन को रोकना भी संभव है (`PAUSE`) बाद में वापस लौटने के लिए या प्रक्रिया को पूरी तरह ��े बंद करने के लिए (`STOP`)। + +6. जब सभी संयोजन चरण पूरे हो जाएंगे, `FINISH` बटन दिखाई देगा, जिसके बाद Feecc सुझाव देगा कि उपकरण का प्रमाणपत्र सहेजना चाहिए। हालांकि, इससे पहले, अपने ब्राउज़र में [स्थानीय Robonomics नोड](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/explorer) खोलें, आपको बाद में इसकी आवश्यकता होगी। उसके बाद, Feecc पर वापस आएं और `SAVE PASSPORT` पर क्लिक करें। + + आपको स्क्रीन के कोने में नई नोटिफिकेशन दिखाई देगी: प्रमाणपत्र को Robonomics और IPFS में अपलोड कर दिया गया है, साथ ही प्रिंटिंग सील टैग और प्रमाणपत्र के लिए QR-कोड के बारे में दो नीले संदेश। + + + +7. Robonomics स्थानीय नोड स्क्रीन पर `Chain info` खंड ��े तहत, आपको `recent events` स्तंभ के तहत एक नया घटना `datalog.NewRecord` दिखाई देना चाहिए। अगर आप इसे विस्तारित करते हैं, तो उपकरण के प्रमाणपत्र फ़ाइल के लिए IPFS CID दिखाई देगा। + + + +मुद्रित QR कोड में इस सीआईडी का लिंक होता है, जिससे ब्राउज़र में प्रमाणपत्र फ़ाइल खोल सकते हैं। क्योंकि आपके स्थानीय IPFS नोड में उस खोजने की क्षमता नहीं हो सकती, आप `localhost:8080/ipfs/CID` के साथ स्थानीय रूप से फ़ाइल तक पहुंच सकते हैं। प्रमाणपत्र की सामग्री कुछ इस प्रकार दिखती है: + + +Unit Unique Code: 423d3c1b42f6427e80cc881a16e07451 +Unit Model Name: Single Device +Total Assembly Time: 0:05:37 +Production Stages: +- Name: Prepare Tools (not finished.) + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 17:38:47 + Finish Time: 26-06-2023 17:40:28 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Prepare Tools (not finished.) + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 17:40:30 + Finish Time: 26-06-2023 17:42:06 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Prepare Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 17:42:16 + Finish Time: 26-06-2023 17:43:00 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Saw Through the Single Device + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 17:43:00 + Finish Time: 26-06-2023 17:43:51 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Stack Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 17:43:51 + Finish Time: 26-06-2023 17:44:36 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. + + +8. अब हम कई उपकरणों से मिलकर एक संयोजन संयंत्र के लिए प्रमाणपत्र बनाने की कोशिश करेंगे। प्रकार चयन मेनू में, `कॉम्पोज़िट उपकरण` पर क्लिक करें, और फिर `नमूना उपकरण` पर क्लिक करें। इसका यूनिट आईडी कॉपी करें (संयोजन संख्या क्षेत्र में स्थित), क्योंकि आपको बाद में इसकी आवश्यकता होगी। फिर, उपकरण को संयोजित करने के मानक चरणों के साथ आगे बढ़ें। + +9. संयोजन के बाद, `कॉम्पोज़िट उपकरण` पर वापस जाएं और संयोजन संयंत्र को समाप्त करने के लिए `अंतिम संयोजन` दबाएं। सिस्टम आपसे संयोजित उपकरणों के यूनिट आईडी प्रदान करने के लिए कहेगा, जिसके लिए कर्मचारी को उनके बार कोड को स्कैन करना होगा। इस प्रक्रिया को अनुकरण करने के लिए, `hid-emulator.py` पर वापस जाएं और बारकोड स्कैनिंग के लिए फ़ंक्शन `2` का चयन करें, और वहां सहेजे गए यूनिट आईडी डालें। + +10. अगले, सिस्टम आवश्यक संयोजन के आवश्यक चरणों के माध्यम से जाने के लिए प्रोत्साहित कर��गा और इसके लिए प्रमाणपत्र उत्पन्न करेगा: + + +Unit Unique Code: d08101feae7c4efbb5529885c9ad544b +Unit Model Name: Composite Device +Total Assembly Time: 0:00:03 +Production Stages: +- Name: Prepare Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:18:25 + Finish Time: 26-06-2023 18:18:26 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Tape the Sample Device to the base plate + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:18:26 + Finish Time: 26-06-2023 18:18:27 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +- Name: Stack Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:18:27 + Finish Time: 26-06-2023 18:18:28 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +Unit Components: +- Unit Unique Code: b165b382c3674127a6aaf5817c5a7040 + Unit Model Name: Sample Device + Total Assembly Time: 0:00:03 + Production Stages: + - Name: Prepare Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:17:45 + Finish Time: 26-06-2023 18:17:46 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. + - Name: Assemble Sample Device + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:17:46 + Finish Time: 26-06-2023 18:17:47 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. + - Name: Stack Tools + Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 + Start Time: 26-06-2023 18:17:47 + Finish Time: 26-06-2023 18:17:48 + Assembly data in IPFS: This is a place for any production data, let it be video + record, some sensor data or any other data collection representing the production + process. +Total Assembly Time (Including Components): 0:00:06 + + +11. डेमो को हटाने के लिए, कमांड दर्ज करें: + + +sudo docker compose down --rmi all && docker builder prune -f + + + +अगले सबक में, हम फीक सिस्टम के सभी आवश्यक घटकों का वास्तविक डिप्लॉयमेंट करने के लिए आगे बढ़ेंगे। + \ No newline at end of file diff --git a/courses/hi/learn/feecc-course/feecc-workbench-deployment.md b/courses/hi/learn/feecc-course/feecc-workbench-deployment.md new file mode 100644 index 0000000000..466cdb36e8 --- /dev/null +++ b/courses/hi/learn/feecc-course/feecc-workbench-deployment.md @@ -0,0 +1,128 @@ +--- +title: "अभियंता कार्यक्षेत्र की तैनाती" +description: यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। +metaOptions: [सीखें, फीस का उपयोग करना] +defaultName: Getting Used to Feecc +--- + + +इस सबक में, आप स्वयं Feecc इंजीनियर वर्कबेंच के आवश्यक घटकों को कैसे डिप्लॉय करेंगे इसका ज्ञान प्राप्त करेंगे। + + +घटकों में से: + +- Workbench Daemon +- Workbench Frontend +- IPFS Gateway +- HID Reader Daemon + +सभी घटक [Docker](https://docs.docker.com/engine/install/ubuntu/) और [Docker compose](https://docs.docker.com/compose/) का उपयोग करके लॉन्च किए जाते हैं, सुनिश्चित करें कि आपके पास इन्हें इंस्टॉल किया हुआ है। + +## सॉफ़्टवेयर तैयारी + +1. Feecc components use the [MongoDB](https://www.mongodb.com/) database to store and access data. Before using Feecc, you need to deploy MongoDB in whatever way is convenient for you. Here are some deployment options: [using your own server](https://www.mongodb.com/try/download/community), [cloud database in Atlas](https://www.mongodb.com/atlas) (free), [cloud database in DigitalOcean](https://www.digitalocean.com/products/managed-databases-mongodb) (paid). + + किसी भी स्थिति में, आपको MongoDB के लिए अपना कनेक्शन URI प्राप्त करना होगा, जिसे आपको सिस्टम के सभी घटकों के `MONGODB_URI` चर मान के रूप में दर्ज करने की आवश्यकता होगी। + +2. यदि आप अपने उत्पादन सिस्टम से डेटा को सुरक्षित और पारदर्शी ढंग से स्टोर करने का लाभ उठाना चाहते हैं, तो आपको Robonomics पर एक खाता बनाने की आवश्यकता है। इसके लिए, निम्नलिखित लिंक पर उपलब्ध निर्देशों का उपयोग करें: https://wiki.robonomics.network/docs/create-account-in-dapp/ + + आपको खाते की सीड फ्रेज को सहेजने की आवश्यकता है क्योंकि यह बाद में `ROBONOMICS_ACCOUNT_SEED` चर में उपयोग किया जाएगा। + +## वर्कबेंच तैयारी + +शुरू करने से पहले, कंप्यूटर या सर्वर से सभी आवश्यक उपकरणों को कनेक्ट करें: + +- USB का उपयोग करके लेबल प्रिंटर +- USB का उपयोग करके RFID / बारकोड रीडर +- PoE राउटर/नेटवर्क स्विच के माध्यम से IP कैमरा +- USB और HDMI/VGA (वैकल्पिक) का उपयोग करके मॉनि��र के साथ कीबोर्ड और माउस या टचस्क्रीन + +## HID रीडर डेमन लॉन्च करना + +1. रिपॉजिटरी क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-hid-reader-daemon.git +cd feecc-hid-reader-daemon + + +2. डेमन को लॉन्च करें: + + +sudo docker-compose up -d --build + + +## वर्कबेंच डेमन लॉन्च करना + +1. रिपॉजिटरी क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-workbench-daemon.git +cd feecc-workbench-daemon + + +2. फ़ाइल `docker-compose.yml` का उपयोग करके डेमन को अपनी आवश्यकताओं के लिए कॉन्फ़िगर करें। फ़ाइल में विभिन्न पर्यावरण चर शामिल हैं: + + - MongoDB configuration; + - Robonomics configuration; + - IPFS configuration; + - printer params; + - camera params; + - RFID / barcode readers params. + + सभी चरों की पूरी सूची डेमन [रिपॉजिटरी](https://github.com/Multi-Agent-io/feecc-workbench-daemon) में उपलब्ध है। निम्नलिखित पैरामीटर अनिवार्य हैं: + + - `MONGODB_URI`: आपका MongoDB कनेक्शन URI; + - `MONGODB_DB_NAME`: MongoDB का डेटाबेस नाम; + - `WORKBENCH_NUMBER`: कर्मचारी का वर्कबेंच नंबर। + +3. डेमन को लॉन्च करें: + + +sudo docker-compose up -d --build + + +4. इसकी कार्यक्षमता की जांच करें। ब्राउज़र में जाएं और `http://127.0.0.1:5000/docs` पृष्ठ खोलें, जिसमें प्रणाली के REST API इंटरफेस प��� प्रलेखन होना चाहिए। यदि पृष्ठ उपलब्ध नहीं है, तो सर्वर सही ढंग से शुरू नहीं हुआ है। त्रुटियों के लिए कंटेनर के अंदर की लॉग जांचें, उन्हें ठीक करें और निर्माण और चलाने के चरणों को दोहराएं। + +## आईपीएफएस गेटवे लॉन्च करना + +1. रिपॉजिटरी को क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-ipfs-gateway.git + + + +2. फाइल `docker-compose.yml` का उपयोग करके अपनी आवश्यकताओं के लिए माइक्रोसर्विस को कॉन्फ़िगर करें। फ़ाइल में मॉन्गोडीबी, रोबोनॉमिक्स और पिनाटा के संबंध के लिए पर्यावरण चरण शामिल हैं। चरण की पूरी सूची गेटवे [भंडार](https://github.com/Multi-Agent-io/feecc-ipfs-gateway) में उपलब्ध है। + +3. माइक्रोसर्विस को लॉन्च करें: + + +sudo docker-compose up -d --build + + +## वर्कबेंच फ्रंटएंड लॉन्च करना + +1. रिपॉजिटरी को क्लोन करें: + + +git clone https://github.com/Multi-Agent-io/feecc-workbench-frontend.git + + +2. `configs` निर्देशिका पर जाएं और फ़ाइल `config.json` का उपयोग करके अपनी आवश्यकताओं के लिए फ्रंटएंड सेवा को कॉन्फ़िगर करें। निम्नलिखित पैरामीटर विशेष रूप से महत्वपूर्ण हैं: + - `socket` — यहाँ वर्कबेंच डेमन पता डालें; + - `interface_language` — इंटरफ़ेस भाषा, उपलब्ध `en` और `ru` विकल्प; + - `dev_show_reducers` — डेवलपर मोड को सक्षम/अक्षम करना; + - `pulling_period` — बैकएंड से डेटा प्राप्त करने की अवधि मिलीसेकंड में; + +3. फ्रंटएंड कंटेनर को लॉन्च करें: + + +sudo docker-compose up -d --build + + +4. इसकी कार्यक्षमता की जांच करें। ब्राउज़र में जाएं और `http://localhost:3000` पृष्ठ खोलें, आपको एक प्रमाणीकरण पृष्ठ दिखना चाहिए। + + +अगले सबक में, हम फीक एनालिटिक्स सेवा के माध्यम से जाएंगे। + \ No newline at end of file diff --git a/courses/hi/learn/feecc-course/overview.md b/courses/hi/learn/feecc-course/overview.md new file mode 100644 index 0000000000..766af77725 --- /dev/null +++ b/courses/hi/learn/feecc-course/overview.md @@ -0,0 +1,38 @@ +--- +title: "अवलोकन" +description: यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। +metaOptions: [सीखें, फीस का उपयोग करना] +defaultName: Getting Used to Feecc +--- + +## कोर्स के बारे में + +यह कोर्स फीस सिस्टम और उसके सभी घटकों को जानने के बारे में है। फीसीसी एक ऐसा मंच है जो उद्यमों को उनकी आवश्यकताओं के अनुरूप उत्पादन या सेवा प्रक्रियाओं के लिए अपनी स्वयं की निगरानी प्रणाली बनाने और अनुकूलित करने की अनुमति देता है। इसे [Multi-Agent Systems](http://multi-agent.io/) द्वारा रोबोनॉमिक्स टीम द्वारा प्रदान की जाने वाली प्रौद्योगिकियों का उपयोग करके विकसित किया गया है। यह पाठ्यक्रम डेमो परिदृश्य सहित फीसीसी की वास्तुकला का बुनियादी ज्ञान प्रदान करता है, और बताता है कि इस प्रणाली को कैसे तैनात और उपयोग किया जाए। + +## यह कोर्स किसके लिए है? + +यह कोर्स उन उद्यमों के कर्मचारियों के लिए है जिन्होंने फीस प्रोडक्शन ट्रैकिंग सिस्टम को लागू करने का निर्णय लिया है, साथ ही उन वरिष्ठ इंजीनियरिंग प्रबंधकों के लिए भी है जो काम प्रक्रियाओं की गुणवत्ता में सुधार के लिए नई प्रौद्योगिकी समाधान खोज रहे हैं। + +## आवश्यकताएं + +कोर्स सामग्री में मूल उत्पादन इंजीनियरिंग कौशलों का ध्यान रखा गया है, साथ ही UNIX आधारित सिस्टम में कौशलों का ध्यान रखा गया है। [Docker](https://www.docker.com/) की मूल जानकारी स्वागत है। + +## मुख्य अवधारणा + +वेब3 प्रौद्योगिकी का उपयोग करके और एक सेट के लचीले सॉफ्टवेयर मॉड्यूल का उपयोग करके, Feecc प्लेटफॉर्म कंपनियों को किसी भी प्रकार के उत्पाद की उत्पादन प्रक्रिया को संगठित करने, कर्मचारियों की पहुंच की जांच करने और सभी वर्कफ़्लो डेटा को पुनः प्राप्त करने की अनुमति देता है। जानकारी एक अपरिवर्तित और सुरक्षित वितरित IPFS स्टोरेज में संग्रहित की जाती है, डेटा हैश Robonomics डेटालॉग मॉड्यूल के साथ सहेजे जाते हैं जिसका गुणवत्ता नियंत्रण विभाग के लिए Feecc विश्लेषण के माध्यम से पहुंच होता है। Feecc के साथ, कंपनी न केवल अपनी प्रक्रियाओ��� को डिजिटलाइज़ कर सकती है और कागजात और मुकदमों से छुटकारा पा सकती है, बल्कि उस उत्पाद में नए ग्राहकों का ध्यान भी आकर्षित कर सकती है, उसमें विश्वास बढ़ा सकती है। + +प्लेटफॉर्म उत्पादन प्रक्रिया की निगरानी के लिए सॉफ्टवेयर का एक सेट है और जानकारी को क्यूसीडी या अन्य प्रतिभागियों द्वारा भविष्य के विश्लेषण के लिए संग्रहित करने के लिए। वैश्विक रूप से, प्लेटफॉर्म को व्यापार प्रक्रिया में एकीकरण की योजना निम्नलिखित रूप में प्रस्तुत किया जा सकता है: + + + +## प्लेटफ़ॉर्म अवसर + +- **विश्वसनीय और सुरक्षित डेटा स्टोरेज**: Feecc एक सुरक्षित डेटा स्टोरेज का उपयोग करता है जो एक सामग्री-पता वाली वास्तुकला और एक वितरित रजिस्ट्री पर आधारित है ताकि एकता और एकता की पुष्टि की जा सके कलेक्टेड वर्कफ़्लो डेटा की। + +- **कर्मचारी और उत्पाद के बीच स्पष्ट संबंध**: Feecc सभी वर्कफ़्लो के चरणों का निगरानी करता है वीडियो रिकॉर्डिंग, पेरिफरल उपकरणों से डेटा लॉगिंग और कर्मचारी पहुंच अधिकारिकरण के साथ। प्लेटफ़ॉर्म लंबे समय तक या बाधित कार्यों सहित किसी भी क्रमशः वर्कफ़्लो का समर्थन करता है। + +- **डिजिटल उत्पाद प्रमाणपत्र**: वर्कफ़्लो के सभी डिजिटल निशान एक एकल उत्पाद प्रमाणपत्र में संक्षेपित किए जाते हैं जिसमें एक अद्वितीय पहचानकर्ता होता है जिसे फिर उत्पाद के साथ QR कोड के रूप में जोड़ा जाता है। Feecc प्रमाणपत्र के लिए कस्टम प्रक्रिया पैरामीटर जोड़ सकता है और इसके निर्माण को स्वचालित कर सकता है भले ही संयुक्त भागों के लिए। + +- **पेरिफरल उपकरणों के लिए व्यापक समर्थन**: Feecc विभिन्न उपकरणों (वीडियो कैमरे, स्कैनर, प्रिंटर आदि) को कनेक्ट करने के लिए मानक डिजिटल I/O इंटरफेस का समर्थन करता है। + +https://youtu.be/WhtOJtGjAok \ No newline at end of file diff --git a/courses/hi/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md b/courses/hi/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md new file mode 100644 index 0000000000..5c9c755d54 --- /dev/null +++ b/courses/hi/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md @@ -0,0 +1,82 @@ +--- +title: "सबक #2, साइबरनेटिक्स और अर्थशास्त्र के संगम पर" +lastUpdate: Thu May 04 2023 12:53:48 GMT+0400 (Samara Standard Time) +description: साइबरनेटिक्स और अर्थशास्त्र के संगम पर नवीनतम वेब3 प्रौद्योगिकियों के सिद्धांत में डाइव करें, जो हमारे घरों और शहरों में IoT सिस्टम को सुरक्षित और कुशलतापूर्वक कार्य करने में मदद करने के लिए डिज़ाइन किए गए हैं। +lessonNumber: 2 +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +हम खुश हैं कि आप काले दर्पण से गुजर सके और डिजिटल दुनिया में डूबने से बच गए। अब आपका एक और गहरा डाइव आपका इंतजार कर रहा है... साइबरनेटिक्स और अर्थशास्त्र के संगम पर नवीनतम वेब3 प्रौद्योगिकियों के सिद्धांत में डाइव। जो हमारे घरों ���र शहरों में IoT सिस्टम को सुरक्षित और कुशलतापूर्वक कार्य करने के लिए डिज़ाइन किए गए हैं। + + +## परिचय + +इस सिद्धांतिक सबक में, हम आपको 2022 में अपडेटेड रोबोनॉमिक्स व्हाइटपेपर के पहले अध्याय का परिचय देना चाहते हैं। इस दस्तावेज़ में प्रस्तुत विचारों को हमने बहुत समय तक अपने मस्तिष्क और हृदय में पोषित किया है, निरंतर प्रयोगों और प्रमाण-कारणों के बाद संपूर्ण किया गया है। हम अपनी सबसे अच्छी कोशिश करते हैं कि [सम्मेलनों में रिपोर्ट करें और वैज्ञानिक पत्रिकाओं में प्रकाशित करें](https://robonomics.network/papers/) कुछ सबसे मजबूत परिणाम और सामग्री। और सभी के समझने और सुविधा के लिए, हमने सभी को एक साथ संकलित और संक्षेपित किया है जैसे अलग-अलग व्हाइटपेपर अध्याय। + +पहला अध्याय है **"साइबरनेटिक्स और अर्थशास्त्र के संगम पर"**, और यह आपको रोबोट अर्थव्यवस्था की अवधारणा के लिए कारण देगा — एक आर्थिक प्रणाली जिसमें उपकरण मानवों के पहले अद्वितीय आर्थिक गतिविधियों को करने की क्षमता रखते हैं। + +## आप सीखेंगे: + + + +
  • +जैसे चौथे औद्योगिक क्रांति के चल रहे नए चुनौतियों का रोबोटिक्स और IoT सिस्टम के उपयोग पर कैसा प्रभाव होगा; +
  • + +
  • +पूरी तरह से स्वतंत्र साइबर-भौतिक प्रक्रियाओं का भविष्य क्या होगा; +
  • + +
  • +क्यों इन चुनौतियों के उत्तर अब अद्यतन अर्थशास्त्र के क्षेत्र में खोजने चाहिए, जो रोबोटिक्स से दूर लगता है; +
  • + +
  • +और हमें क्रिप्टोकरेंसी, बिटकॉइन, इथेरियम और पॉल्काडॉट पर नजर डालनी चाहिए। +
  • + +
    + +## निर्देश + + + +
  • + +हमारी [वेबसाइट](https://robonomics.network/vision/) पर व्हाइटपेपर 2022 के पहले अध्याय को पढ़ें। + +
  • + +
  • + +पढ़ने के बाद, विशेष डैप में दूसरे सबक के लिए [टेस्ट](https://lesson2.robonomics.academy/#/) को पास करने की कोशिश करें। + +आपसे 17 सवाल पूछे जाएंगे, और हम आशा करते हैं कि वे आपको हमारे द्वारा प्रस्तुत की गई विचारों के बारे में गहराई से सोचने के लिए प्रेरित करेंगे। टेस्ट पास करने के लिए, आपको 17 में से 10 सही जवाब देने होंगे (60%, शैक्षिक अभ्यास में मानक मूल्य)। + +जितने संभव हो, उत्तरों को सही चिह्नित करने की कोशिश करें, यदि आप दो प्रयासों में 90% से अधिक अंक प्राप्त करके टेस्ट पास करते है��, तो आपको सबक 5 के लिए बोनस टोकन मिलेंगे। + +
  • + +
  • + +डैप में अपने उत्तरों को चिह्नित करें और अंत में "साइन और भेजें" बटन पर क्लिक करें। + +टेस्ट डैप के लिए उसी Polkadot.js खाते का उपयोग करना होगा जिसका आपने पिछले सबक में उपयोग किया था। + +
  • + +
  • + +पिछले सबक की तरह, अपने लेनदारी को साइन करें और इसे Polkadot एक्सप्लोरर पर जांचें। + +
  • +
    + + + +सफल लेनदारी भेजने और आपके Polkadot.js खाते के लिए Polkadot एक्सप्लोरर में उसके प्रकट होने के बाद सबक पूरा माना जाएगा। + +आप [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने परिणाम जांच सकते हैं। जांच डैप पर प्रमाणीकरण के लिए पोल्काडॉट.जेएस में उसी खाता का उपयोग करें जिसका पाठ्यक्रम के दौरान उपयोग किया गया था। + + \ No newline at end of file diff --git a/courses/hi/learn/introduction-course/broadcasting-through-the-black-mirror.md b/courses/hi/learn/introduction-course/broadcasting-through-the-black-mirror.md new file mode 100644 index 0000000000..850d7604da --- /dev/null +++ b/courses/hi/learn/introduction-course/broadcasting-through-the-black-mirror.md @@ -0,0 +1,81 @@ +--- +title: "सबक #1, काले दर्पण के माध्यम से प्रसारण" +lastUpdate: Thu May 04 2023 12:53:51 GMT+0400 (Samara Standard Time) +description: यह प्रारंभिक सबक आपको एक डिसेंट्रलाइज्ड एप्लिकेशन (या डैप) के साथ बातचीत करने के मूल तरीके सिखाएगा। +lessonNumber: 1 +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +## परिचय + +इस उद्घाटन सबक आपको **एक डिसेंट्रलाइज्ड एप्लिकेशन (या डैप)** के साथ बातचीत करने के मूल तरीके सिखाएगा। इस उद्देश्य के लिए, हमने एक विशेष डैप बनाया है जिसे "ब्लैक मिरर ब्रॉडकास्ट" कहा गया है, जो केवल आपके वेब ब्राउज़र से काम करता है और एक छोटे रेट्रो टीवी के साथ एक स्ट्रीम दिखाता है। डैप दूरस्थ रूप से टीवी को नियंत्रित कर सकता है और रोबोनॉमिक्स प्लेटफॉर्म का उपयोग करके आपका संदेश भेजकर QR कोड को बदल सकता है। + +## प्रेरणा + +हमने इस डैप को उस पाठ के बाकी हिस्से के लिए सही माहौल सेट करने के उद्देश्य से बनाया है। डैप की विचारधारा एक ऐसी दुर्भावना की आत्मा को संवहन करती है जिसमें एक मानव जीवन का अधिकांश काले स्क्रीन पर मौजूद है और हर कोई इस जीवन पर जासूसी कर सकता है। + +प्रौद्योगिकी ने मानव जीवन के दिनचर्या में अनिवार्य रूप से प्रवेश किया है और बहुत सारे समय प्रौद्योगिकी हमारे जीवन से गहराई से जुड़ जाती है। दर्शनशास्त्र के क्षेत्र से एक लंबे समय से और कठिन सवाल है जो मानव अस्तित्व के सार्वजनिक और निजी हिस्सों के विरोध के बारे में है। इसी कारण हम, रोबोनॉमिक्स में, आईओटी क्षेत्र में वेब3 उपकरणों को लागू करना चाहते हैं। हम चाहते हैं कि हर व्यक्ति के नाम को तत्काल पहचान कोड में बदलना असहमति के बिना असंभव हो। + +अगली पीढ़ी की इंटरनेट प्रौद्योगिकियाँ लोगों और मशीनों के बीच संबंध को बेहतर बनाने में मदद कर सकती हैं, स्मार्ट उपकरणों को लोगों को तेजी से सेवाएं प्रदान करने में अधिक स्वतंत्र और तेज बना सकती हैं, और महत्वपूर्ण रूप से, मशीनों की मदद से सभी लोगों को नियंत्रण में लेना असंभव बना सकती है। यह हमारे लिए रोबोटों को मानवों के दैनिक जीवन में ए���ीकरण करने के लिए सर्वोत्तम स्थिति का तरीका है। + +## निर्देश + + + +
  • + +पॉल्काडॉट.जेएस ब्राउज़र एक्सटेंशन इंस्टॉल करें और रोबोनॉमिक्स पैराचेन के लिए एक खाता बनाएं। + +हमारे विकि पर गाइड देखें: [रोबोनॉमिक्स पैराचेन के लिए खाता बनाएं](https://wiki.robonomics.network/docs/create-account-in-dapp/)। आपको पॉल्काडॉट खाते के साथ सभी सबक पास करने की आवश्यकता है ताकि प्रमाणपत्र के लिए आवेदन कर सकें। + +
  • + +
  • + +हमारे [डिस्कॉर्ड सर्वर](https://discord.gg/xqDgG3EGm9) में जाएं और "Developer Community Member" भूमिका प्राप्त करें। इसे करने के लिए, "👋welcome-info" चैनल में आपको MEE6 बॉट पोस्ट में संबंधित इमोजी (⚛️) पर क्लिक करना होगा। + +
  • + +
  • + +विशेष [डिस्कॉर्ड चैटबॉट](https://discord.com/channels/803947358492557312/944186892038053899) खोजें, जिसे चैनल सूची में "🚰academy-faucet" कहा गया है और अपना रोबोनॉमिक्स पैराचेन पता पॉल्काडॉट.जेएस एक्सटेंशन से दर्ज करें। + +सुनिश्चित करें कि आप सही प्रारूप में पते को बॉट को भेजते हैं (यह "4" से शुरू होता है)। यदि बॉट प्रतिक्रिया नहीं देता है या पहली बार ही आपका पता सब्सक्रिप्शन में जोड़ता नहीं है, तो कुछ और बार कोशिश करें, यह नेटवर्क लोड के कारण होता है। यदि समस्या बनी रहती है, तो "🎓robonomics-academy" चैनल में पूछें। + +
  • + +
  • + +जाएं [��्लैक मिरर डैप](https://blackmirror.robonomics.academy) पर और डैप को पॉल्काडॉट.जेएस एक्सटेंशन तक पहुंचने की अनुमति दें। + +सुनिश्चित करें कि आप सही खाता का चयन करते हैं, जिसे मुफ्त आईओटी सब्सक्रिप्शन मिला है। + +
  • + +
  • +डैप में अपना छोटा पाठ संदेश (अंग्रेजी में) दर्ज करें और "साइन एंड सेंड" बटन पर क्लिक करें। +
  • + +
  • +प्रकट होने वाले एक्सटेंशन विंडो में, अपना पासवर्ड दर्ज करें और लेनदेन पर हस्ताक्षर करें। +
  • + +
  • +यह सुनिश्चित करें कि आपका लेनदेन सफलतापूर्वक भेजा गया है, पॉल्काडॉट एक्सप्लोरर के लिंक की जांच करके। + +Result फ़ील्ड में Success दिखना चाहिए। +
  • + +
  • +टीवी स्क्रीन पर QR कोड की जांच करें, यह बदल जाना चाहिए (यह 2 मिनट तक ले सकता है)। +
  • +
    + + + +सफल लेनदारी भेजने और आपके Polkadot.js खाते के लिए Polkadot एक्सप्लोरर में उसके प्रकट होने के बाद सबक पूरा माना जाएगा। + +आप [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने परिणाम जांच सकते हैं। जांच डैप पर प्रमाणीकरण के लिए पोल्काडॉट.जेएस में उसी खाता का उपयोग करें जिसका पाठ्यक्रम के दौरान उपयोग किया गया था। + + diff --git a/courses/hi/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md b/courses/hi/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md new file mode 100644 index 0000000000..6eeffa5b32 --- /dev/null +++ b/courses/hi/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md @@ -0,0 +1,77 @@ +--- +title: "सबक #5, रोबोनोमिक्स पैराचैन का उपयोग करके आईओटी सब्सक्रिप्शन" +lastUpdate: Thu May 04 2023 12:53:55 GMT+0400 (Samara Standard Time) +description: आप यह सीखेंगे कि रोबोनोमिक्स पैराचैन पर आईओटी सब्सक्रिप्शन कैसे खरीदें जो हमारे नेटवर्क के वास्तविक टोकन का उपयोग करता है। +lessonNumber: 5 +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +हमारे परिचय पाठ का आखिरी सबक बहुत संभावना है कि सबसे कठिन होगा, क्योंकि यह आपसे कुछ धैर्य की आवश्यकता होगी। आप यह सीखेंगे कि रोबोनोमिक्स पैराचैन पर आईओटी सब्सक्रिप्शन कैसे खरीदें जो हमारे नेटवर्क के वास्तविक टोकन का उपयोग करता है। + + +## परिचय + +एक आईओटी सब्सक्रिप्शन एक एक्सेस की चाबी है जो साइबर-भौतिक प्रणाली के डिजिटल ट्विन की स्थिति बदलने और उसके बारे में जानकारी स्टोर करने से संबंधित सभी कार्यों के लिए है जो पॉलकाडॉट / कुसामा पारिस्थितिकी में है। एक सब्सक्रिप्शन के मालिक होने से उपयोगकर्ता को लेन-देन शुल्क देने की आवश्यकता नहीं होती। इसके बजाय, उपयोगकर्ता निशुल्क एक निश्चित समयावधि में एक मुफ्त लेन-देन भेज सकता है। + +सब्सक्रिप्शन खरीदने का मुख्य तरीका सब्सक्रिप्शन नीलामी में भाग लेना है, और इसलिए इस सबक में आपको बोली लगाने और लेन-देन करने के लिए एक्सआरटी टोकन प्राप्त करने की आवश्यकता है। इस प्रक्रिया के बारे में अधिक जानकारी [हमारे विकी पर](https://wiki.robonomics.network/docs/get-subscription) भी उपलब्ध है। + +## निर्देश + + + +
  • + +आपको लगभग 2 एक्सआरटी रोबोनोमिक्स पैराचैन टोकन ([टोकन के बारे में](https://robonomics.network/xrt/)) की आवश्यकता है। अगर आपके पास नहीं हैं, तो आपके पास कई विकल्प हैं: + +क) यदि आप सबक 2 और सबक 4 के बाद दोनों परीक्षणों में 90% सही उत्तरों के साथ पास होते हैं, तो आप सबक के लिए मुफ्त टोकन का अनुरोध कर सकते हैं। [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने स्कोर की जांच करें। विशेष रूप से, आपको सबक 2 के लिए 17 में से 15 और सबक 4 के लिए 11 में से 10 स्कोर करने की आवश्यकता है, और आपको इसे करने के लिए दो प्रयास मिलेंगे। टोकन प्राप्त करने के लिए, हमारे [डिस्कॉर्ड](https://discord.gg/xqDgG3EGm9) पर एकेडमी प्रशासक से संपर्क करें (IBerman#5862)। + +ब) एक्सआरटी टोकन को किसी एक्सचेंज पर खरीदें (एक्सचेंज की [सूची देखें](https://www.coingecko.com/en/coins/robonomics-network#markets/))। यदि आप क्रिप्टोकरेंसी एक्सचेंज के साथ अभिज्ञ नहीं हैं, तो ध्यान दें कि क्रिप्टोकरेंसी एक्सचेंज पर सभी खरीदारी में संभावित जोखिम हो सकता है, इस सबक पास करने के लिए केवल आवश्यक मात्रा के टोकन ही खरीदें। इसके अलावा, ध्यान रखें कि रोबोनोमिक्स दो नेटवर्कों, एथेरियम और कुसामा पर मौजूद है, इसलिए प्रत्येक नेटवर्क का अपना एक्सआरटी टोकन है। आपको उस टोकन की आवश्यकता है जो कुसामा नेटवर्क ��ें पैराचैन द्वारा उपयोग किया जाता है। + +स) यदि आपके पास एथेरियम नेटवर्क (ईआरसी-20 प्रारूप) में एक्सआरटी टोकन है, तो [एक्सोडस](https://old.dapp.robonomics.network/#/exodus) प्रक्रिया का उपयोग करके टोकन को एथेरियम नेटवर्क से कुसामा में स्थानांतरित करें। ध्यान दें कि टोकन का स्थानांतरण हर हफ्ते एक बार किया जाता है। + +
  • + +
  • + +आईओटी सब्सक्रिप्शन एक नीलामी प्रक्रिया के माध्यम से खरीदा जाता है जिसमें सबसे अधिक बोली लगाने वाला एक सब्सक्रिप्शन प्राप्त करता है। + +नीलाम में भाग लेने से पहले, आपको यह देखना चाहिए कि क्या कोई उपलब्ध हैं। चेन स्थिति मेनू के साथ ओपन रोबोनॉमिक्स [पॉल्काडॉट/सबस्ट्रेट पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/chainstate)। rws क्वेरी का चयन करें auctionQueue() और एक '+' बटन दबाएं। आपको उपलब्ध नीलामों के आईडी दिखाई देना चाहिए; उनमें से एक का आईडी याद रखें। यदि कोई नीलाम दिखाई नहीं देती है या उपलब्ध नहीं है, तो कृपया हमसे हमारे डिस्कॉर्ड पर संपर्क करें "[🎓robonomics-academy](https://discord.com/channels/803947358492557312/803947358492557315)" चैनल में। + +अब, एक ही चेन स्थिति मेनू पर, rws का चयन करें auction(u32): Option<PalletRobonomicsRwsAuctionLedger> और u32 फील्ड में नीलाम का याद रखा आईडी दर्ज करें। "+" बटन दबाने के बाद आपको एक दिलचस्प नीलाम के बारे में जानकारी दिखाई देगी। यदि winner फील्ड में null मान है, तो किसी को इस सब्सक्रिप्शन का नहीं है और आप इसे प्राप्त करने की कोशिश कर सकते हैं। + +
  • + +
  • + +अपने XRT टोकन के साथ बोली लगाएं। + +Developer -> Extrinsic मेनू पर जाएं और उसी Polkadot.js खाते के लिए चुनें जिसका उपयोग आपने पिछले पाठ बाह्य में किया था rws साथ bid(index, amount). index फ़ील्ड में दिलचस्प नीलामी की आईडी दर्ज करें। amount फ़ील्ड में आपको बोली के लिए परिवर्तित टोकन की संख्या दर्ज करनी चाहिए "wieners" (1 XRT = 1 000 000 000 Wn). हमारे [dapp](https://dapp.robonomics.network/#/subscription) में वर्तमान न्यूनतम सदस्यता मूल्य देखें। + +लेनदेन सबमिट करें और अगर आपको भाग्यशाली होते हैं, तो आपको IoT सब्सक्रिप्शन मिलेगा। आप यह जांच सकते हैं कि आपका Polkadot पता उसी चेन स्टेट मेनू के माध्यम से सब्सक्रिप्शन के मालिक है। + +
  • + +
  • + +आखिरी कदम आपके IoT सब्सक्रिप्शन के लिए उपकरण जोड़ना है। + +यह बस इसका मतलब है कि आप अपने सब्सक्रिप्शन के लिए अतिरिक्त Polkadot पते सौंपते हैं ताकि वे एक्सट्रिन्सिक्स को क्रियान्वित कर सकें (उदाहरण के लिए, उपकरणों को लॉन्च करने या डिवाइस डेटा को ब्लॉकचेन पर भेजने के लिए)। + +सबसे पहले, Robonomics Parachain के लिए एक नया खाता बनाएं (गाइड पर [हमारे व��की](https://wiki.robonomics.network/docs/create-account-in-dapp/) पर), और सुविधा के लिए इसे "स्मार्ट डिवाइस" कहें। + +फिर, Developer -> Extrinsic मेनू पर जाएं, और rws के साथ setDevices() का चयन करें। उपकरण सूची में उपकरण जोड़ने के लिए "आइटम जोड़ें" बटन का उपयोग करें और हाल ही में बनाए गए खाता का चयन करें। इसके बाद, लेनदेन सबमिट करें। + +उपकरण पता सब्सक्रिप्शन में जोड़ा जाना चाहिए। आप इसे चेन स्टेट मेनू में जांच सकते हैं कि आपके Polkadot.js खाते में सब्सक्रिप्शन है या नहीं के लिए rws के साथ devices() क्वेरी के माध्यम से। + +
  • + +
    + + + +IoT सदस्यता खरीदने और इसके लिए एक डिवाइस जोड़ने का सफल लेनदेन भेजने के बाद पाठ को पूरा माना जाएगा। आपके खाते के लिए लेन-देन पोलकाडॉट एक्सप्लोरर में दिखाई देना चाहिए। + +आप [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने परिणाम जांच सकते हैं। जांच डैप पर प्रमाणीकरण के लिए पोल्काडॉट.जेएस में उसी खाता का उपयोग करें जिसका पाठ्यक्रम के दौरान उपयोग किया गया था। + + \ No newline at end of file diff --git a/courses/hi/learn/introduction-course/overview.md b/courses/hi/learn/introduction-course/overview.md new file mode 100644 index 0000000000..082b771726 --- /dev/null +++ b/courses/hi/learn/introduction-course/overview.md @@ -0,0 +1,30 @@ +--- +title: "रोबोनॉमिक्स के विचारों का परिचय" +lastUpdate: Tue May 09 2023 13:17:05 GMT+0400 (Samara Standard Time) +description: आपका स्वागत है परिचय पाठ्यक्रम! +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +## पाठ्यक्रम के बारे में + +इस पाठ्यक्रम में हम उस समस्याओं में डूबते हैं जो आधुनिक इंटरनेट ऑफ़ थिंग्स एप्लिकेशन निर्माण के आसपास उत्पन्न होती हैं। एक संभावित समाधान के रूप में, हम वेब3 प्रौद्योगिकियों और आईओटी डेवलपर्स और उपयोगकर्ताओं के लिए रोबोनॉमिक्स उपकरणों की क्षमताएं पेश करना चाहते हैं। यह परिचय पाठ्यक्रम उन मुख्य सिद्धांतों को समझाने के लिए डिज़ाइन किया गया था जो डिसेंट्रलाइज़्ड आईओटी एप्लिकेशन की विचार को रूपांतरित करते हैं, और रोबोनॉमिक्स प��लेटफ़ॉर्म की मुख्य कार्यों को दिखाने के लिए पॉल्काडॉट / कुसामा पारिस्थितिकी के रूप में। + +इस पाठ्यक्रम के दौरान आप यह समझने के पहले कदम उठाएंगे कि ये भविष्यवाणी आईओटी-एप्लिकेशन क्यों बेहतर उपकरणों की आवश्यकता है जो डिजिटल दुनिया की बढ़ती चुनौतियों और खतरों का सामना करने के लिए। आप स्मार्ट होम डिवाइस को डिसेंट्रलाइज़्ड क्लाउड से कनेक्ट करने की कोशिश करेंगे और आईओटी-सब्सक्रिप्शन को खरीदने, सक्रिय करने और उपयोग करने की कोशिश करेंगे ताकि डिवाइस को रोबोनॉमिक्स पैराचेन का उपयोग करके डेटा भेज सकें। + +यह पाठ्यक्रम सिद्धांतिक सबकों के साथ टेस्ट और कई व्यावहारिक कार्यों से मिलकर बना है। पाठ्यक्रम के अंत में, आपको प्रमाणपत्र और रोबोनॉमिक्स एम्बेसडर प्रोग्राम का हिस्सा बनने का अवसर मिलेगा। + + +## आप क्या सीखेंगे: + + +
  • + वेब3 विकास और रोबोटिक संचार में अपने कौशल का अभ्यास और सुधार +
  • +
  • + आधुनिक इंटरनेट ऑफ़ थिंग्स की स्थिति के बारे में जानकारी: सामान्य समस्याएं और उनमें से कुछ का समाधान कैसे हो सकता है वेब3 के द्वारा +
  • +
  • + पॉल्काडॉट / कुसामा पारिस्थितिकी का उपयोग करने के लिए मूलभूत कौशल +
  • +
    \ No newline at end of file diff --git a/courses/hi/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md b/courses/hi/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md new file mode 100644 index 0000000000..5c649e1f1c --- /dev/null +++ b/courses/hi/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md @@ -0,0 +1,84 @@ +--- +title: "सबक #3, होम आईओटी इंफ्रास्ट्रक्चर के लिए पॉलकाडॉट एकोसिस्टम" +lastUpdate: Thu May 04 2023 12:53:58 GMT+0400 (Samara Standard Time) +description: इस सबक में आप रोबोनॉमिक्स पैराचेन का उपयोग करके एक स्मार्ट लाइट बल्ब को नियंत्रित करने का प्रयास करेंगे। +lessonNumber: 3 +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +सबक 2 में रोबोनॉमिक्स के मुख्य सिद्धांतों की समझाई गई और इसके कार्यान्वयन के लिए पॉलकाडॉट / कुसामा को एक वादापूर्ण ब्लॉकचेन एकोसिस्टम प्लेटफॉर्म के रूप में उल्लेख किया गया। अब पॉलकाडॉट एकोसिस्टम में रोबोनॉमिक्स पैराचेन के कार्यों पर एक नज़र डालने का समय है कुसामा नेटवर्क में। विशेष रूप से, हम दिखाना चाहेंगे कि रोबोनॉमिक्स पैराचेन की आईओटी सब्सक्रिप्श�� कैसे काम करती है। पहले सबक के दौरान, आपका पता कोर्स आईओटी सब्सक्रिप्शन में जोड़ा गया था, और आपने पहले ही इसका उपयोग दो बार किया है: जब आपने काले दर्पण में अपना परिचय देखा और जब आपने अपने परीक्षण परिणाम जमा किए। + +## परिचय + +इस सबक में आप एक स्मार्ट लाइट बल्ब को नियंत्रित करने का प्रयास करेंगे। आपका लक्ष्य है कि आप पॉलकाडॉट / सब्स्ट्रेट इंटरफेस का उपयोग करके रोबोनॉमिक्स पैराचेन पर बल्ब को चालू / बंद करें। बल्ब [YouTube](https://www.youtube.com/channel/UCkemsNJWaCmvF1Oi50C-hAg/live) पर प्रसारित है ताकि आप अपना परिणाम वास्तविक समय में देख सकें। इसके अलावा, आईओटी सब्सक्रिप्शन का उपयोग करने के संबंध में एक और विस्तृत निर्देशिका [हमारे विकी पर](https://wiki.robonomics.network/docs/subscription-launch/) उपलब्ध है। + + +## निर्देश + + + +
  • + +रोबोनॉमिक्स [पॉलकाडॉट / सब्स्ट्रेट पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/extrinsics) खोलें। + +आपको एक्सट्रिंसिक्स (पॉलकाडॉट एकोसिस्टम में कार्य) मेनू दिखाई देना चाहिए। यदि एक्सट्रिंसिक्स नहीं खुलता है, तो पृष्ठ के शीर्ष के छोटे मेनू का उपयोग करके Kusama & Parachains -> Robonomics पर जाएं, और Switch दबाएं। फिर शीर्ष हेडर में Developer पर जाएं, और फिर Extrinsics पर जाएं। + +
  • + +
  • +पहले ��़ील्ड में जहाँ लिखा है "चयनित खाता का उपयोग करते हुए", pick the same Polkadot.js account that you've used in the previous lessons. +
  • + +
  • +दूसरे फ़ील्ड में "निम्नलिखित एक्सट्रिंसिक को सबमिट करें", rws एक्सट्रिंसिक्स का चयन करें और call(subscriptionId, call) चुनें। यह आपको IoT सब्सक्रिप्शन का उपयोग करके एक फ़ंक्शन कॉल डिस्पैच करने की अनुमति देगा। +
  • + +
  • +subscriptionId: AccountId32 फ़ील्ड में इस सब्सक्रिप्शन के मालिक का पता पेस्ट करें: 4GgRRojuoQwKCZP9wkB69ZxJY4JprmHtpzEzqJLjnqu4jk1r +
  • + +
  • + +call: Call फ़ील्ड में launch(robot, param) कमांड चुनें। + +यह आपको दो और फ़ील्ड दिखाएगा: robot और param। + +
  • + +
  • +robot: AccountId32 फ़ील्ड में स्मार्ट बल्ब का पता पेस्ट करें: 4DUAnmLeEto197jDDSgvfjfS65MGvReMXibqp9ADg7ZgCDp9 +
  • + +
  • + +param: H256 फ़ील्ड में आपको बल्ब को चालू/बंद करने के लिए 1 (ऑन) या 0 (ऑफ) निर्दित करना होगा। + +आप इसे इस प्रकार कर सकते हैं: + +0x0000000000000000000000000000000000000000000000000000000000000001 + +or + +0x0000000000000000000000000000000000000000000000000000000000000000 + +
  • + +
  • + +"ट्रांजैक्शन सबमिट करें" बटन दबाएं। + +ट्रांजैक्शन को साइन करने से पहले [YouTube पर प्रसारण खोलें](https://www.youtube.com/channel/UCkemsNJWaCmvF1Oi50C-hAg/live) न भूलें। + +
  • + + +
    + + + +सफल लेनदारी भेजने और आपके Polkadot.js खाते के लिए Polkadot एक्सप्लोरर में उसके प्रकट होने के बाद सबक पूरा माना जाएगा। + +आप [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने परिणाम जांच सकते हैं। जांच डैप पर प्रमाणीकरण के लिए पोल्काडॉट.जेएस में उसी खाता का उपयोग करें जिसका पाठ्यक्रम के दौरान उपयोग किया गया था। + + \ No newline at end of file diff --git a/courses/hi/learn/introduction-course/robonomics-architecture.md b/courses/hi/learn/introduction-course/robonomics-architecture.md new file mode 100644 index 0000000000..ff320908c4 --- /dev/null +++ b/courses/hi/learn/introduction-course/robonomics-architecture.md @@ -0,0 +1,78 @@ +--- +title: "सबक #4, रोबोनॉमिक्स आर्किटेक्चर" +lastUpdate: Thu May 04 2023 12:54:02 GMT+0400 (Samara Standard Time) +description: इस सबक में आपको रोबोनॉमिक्स व्हाइटपेपर 2022 के दूसरे अध्याय के पहले हाफ का अध्ययन करने को मिलेगा जिसका शीर्षक है रोबोनॉमिक्स आर्किटेक्चर। +lessonNumber: 4 +metaOptions: [सीखें, रोबोनॉमिक्स के विचारों का परिचय] +defaultName: Introduction to the ideas of Robonomics +--- + +## परिचय + +यह सबक फिर से सिद्धांत पर ध्यान केंद्रित है। आप रोबोनॉमिक्स व्हाइटपेपर 2022 के दूसरे अध्याय के पहले हाफ का अध्ययन करेंगे जिसका शीर्षक है **रोबोनॉमिक्स आर्किटेक्चर**। विशेष रूप से, हम कुछ व्यावहारिक प्रश्नों और चुनौतियों का अध्ययन करेंगे जो एक अच्छे से काम करने वाले आईओटी सिस्टम बनाने के आसपास हैं। हम इन प्रश्नों का अध्ययन करते हैं क्योंकि यही एकमात्र तरीका है जिससे हम रोबोनॉमिक्स जैसे आईओटी प्लेटफॉर्म के आवश्यकताओं को समझ सकते हैं। + +## आप सीखेंगे: + + + +
  • +वर्तमान आईओटी सिस्टम और इसके सामान्य घटकों की एक त्वरित अवलोकन; +
  • + +
  • +आईओटी सिस्टम बनाने के लिए आधुनिक अवधारणा — डिजिटल ट्विन; +
  • + +
  • +आईओटी समाधान बनाने की वर्तमान समस्याएं; +
  • + +
  • +और रोबोनॉमिक्स आर्किटेक्चर कैसे आधुनिक इंटरनेट ऑफ थिंग्स की आवश्यकताओं को अनुकूलित करता है। +
  • + +
    + +## निर्देश + + + +
  • + +हमारी [वेबसाइट](https://robonomics.network/architecture/) पर व्हाइटपेपर 2022 के दूसरे अध्याय का पहला हाफ पढ़ें। + +
  • + +
  • + +पढ़ने के बाद, विशेष डैप में चौथे सबक के लिए [टेस्ट](https://lesson4.robonomics.academy/) पास करने की कोशिश करें। + +आपसे 11 प्रश्न पूछे जाएंगे; टेस्ट पास करने के लिए, आपको 11 में से 7 सही उत्तर देने होंगे (60%, शैक्षिक अभ्यास में मानक मूल्य)। + +जितने संभव हो, उत्तरों को सही चिह्नित करने की कोशिश करें, यदि आप दो प्रयासों में 90% से अधिक अंक प्राप्त करके टेस्ट पास करते है��, तो आपको सबक 5 के लिए बोनस टोकन मिलेंगे। + +
  • + +
  • + +डैप में अपने उत्तरों को चिह्नित करें और अंत में "साइन और भेजें" बटन पर क्लिक करें। + +टेस्ट डैप के लिए उसी Polkadot.js खाते का उपयोग करना होगा जिसका आपने पिछले सबक में उपयोग किया था। + +
  • + +
  • + +पिछले सबक की तरह, अपने लेनदारी को साइन करें और इसे Polkadot एक्सप्लोरर पर जांचें। + +
  • +
    + + + + +सफल लेनदारी भेजने और आपके Polkadot.js खाते के लिए Polkadot एक्सप्लोरर में उसके प्रकट होने के बाद सबक पूरा माना जाएगा। + +आप [विशेष जांच डैप](https://lk.robonomics.academy/) पर अपने परिणाम जांच सकते हैं। जांच डैप पर प्रमाणीकरण के लिए पोल्काडॉट.जेएस में उसी खाता का उपयोग करें जिसका पाठ्यक्रम के दौरान उपयोग किया गया था। + + \ No newline at end of file diff --git a/courses/pt/learn/iris-drone/overview.md b/courses/hi/learn/iris-drone/overview.md similarity index 50% rename from courses/pt/learn/iris-drone/overview.md rename to courses/hi/learn/iris-drone/overview.md index 730f5a8378..49c99b9aa7 100644 --- a/courses/pt/learn/iris-drone/overview.md +++ b/courses/hi/learn/iris-drone/overview.md @@ -1,22 +1,22 @@ --- -title: Conectar veículo aéreo não tripulado +title: मानवरहित हवाई वाहन कनेक्ट करें lastUpdate: Thu May 04 2023 12:53:05 GMT+0400 (Samara Standard Time) -description: Conectar veículo aéreo não tripulado -metaOptions: [Aprender] +description: मानवरहित हवाई वाहन कनेक्ट करें +metaOptions: [सीखना] defaultName: Connect unmanned aerial vehicle --- -**Drone começa a se mover após a transação e armazena o arquivo com as coordenadas no IPFS. O script de controle é baseado no [script de demonstração do GAAS](https://github.com/generalized-intelligence/GAAS)** +**ड्रोन लेन-देन के बाद चलना शुरू करता है और IPFS में संयोजनों के साथ फ़ाइल स्टोर करता है। नियंत्रण स्क्रिप्ट [GAAS डेमो स्क्रिप्ट](https://github.com/generalized-intelligence/GAAS) पर आधारित है** https://youtu.be/4CwtGAX1OwM
    -## Requisitos +## आवश्यकताएँ -
  • dependências para controle: +
  • नियंत्रण के लिए आवश्यकताएँ: sudo apt install -y \ @@ -52,10 +52,10 @@ pip3 install \
  • -ROS Melodic + Gazebo [tutorial de instalação](http://wiki.ros.org/melodic/Instalação) +ROS Melodic + Gazebo [स्थापना ट्यूटोरियल](http://wiki.ros.org/melodic/Installation)
  • -
  • pacotes extras: +
  • अतिरिक्त पैकेज: sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller @@ -66,7 +66,7 @@ sudo apt-get install python3-catkin-pkg-modules
  • -
  • Versão do IPFS 0.4.22 +
  • IPFS संस्करण 0.4.22 wget https://dist.ipfs.io/go-ipfs/v0.4.22/go-ipfs_v0.4.22_linux-amd64.tar.gz @@ -88,14 +88,14 @@ pip3 install ipfshttpclient
  • -Nó Robonomics (arquivo binário) (baixe a última versão [aqui](https://github.com/airalab/robonomics/releases)) +Robonomics नोड (बाइनरी फ़ाइल) (नवीनतम रिलीज [यहाँ](https://github.com/airalab/robonomics/releases) से डाउनलोड करें)

  • -## Configuração do Ambiente +## पर्या��रण सेटअप sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras @@ -116,7 +116,7 @@ cp -r ~/catkin_ws/src/GAAS/simulator/worlds/* ~/catkin_ws/src/Firmware/Tools/sit cp -r ~/catkin_ws/src/GAAS/simulator/posix-config/* ~/catkin_ws/src/Firmware/posix-configs/SITL/init/ekf2/ -Modificando seu arquivo `.bashrc`, adicionando as seguintes linhas ao final: +अपनी `.bashrc` फ़ाइल को संशोधित करें, निम्नलिखित पंक्तियों को नीचे जोड़ें: source ~/catkin_ws/devel/setup.bash @@ -128,8 +128,8 @@ export GAZEBO_MODEL_PATH=:~/catkin_ws/src/simulator/models:~/catkin_ws/src/GAAS/ -## Instalação do Pacote de Controle -Em um novo Terminal: +## नियंत्रण पैकेज स्थापना +एक नए टर्मिनल में: cd catkin_ws/src @@ -138,35 +138,35 @@ cd .. catkin build -## Rede Robonomics +## रोबोनॉमिक्स नेटवर्क -Para criar uma rede robonomics local, vá para a pasta com o arquivo binário do robonomics e execute: +स्थानीय रोबोनॉमिक्स नेटवर्क बनाने के लिए रोबोनॉमिक्स बाइनरी फ़ाइल के साथ फ़ोल्डर में जाएं और निम्नलिखित को चलाएं: ./robonomics --dev --rpc-cors all -Adicione o caminho do robonomics ao `config.py` +`config.py` में रोबोनोमिक का पथ जोड़ें -Vá para o [portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) e mude para o nó local. +[Robonomics पैराचेन पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) पर जाएं और स्थानीय नोड पर स्विच करें। -Vá para **Contas** e crie contas **DRONE** e **EMPLOYER**. Salve os nomes das contas, chaves e caminho para **robonomics** em `~/catkin_ws/src/drone_sim/src/config.py`. Transfira algum dinheiro para as contas. +**खाते** पर जाएं और **DRONE** और **EMPLOYER** खाते बनाएं। खाते के नाम और कुंजियों और **robonomics** के पथ को `~/catkin_ws/src/drone_sim/src/config.py` में सहेजें। कुछ पैसे खातों में स्थानांतरित करें। -## Executando a Simulação -Inicie o daemon do IPFS +## नकली सिमुलेशन चलाना +IPFS डेमन चलाएं cd go-ipfs ipfs daemon -Em outro terminal, inicie a simulação: +एक और टर्मिनल में सिमुलेशन लॉन्च करें: roslaunch px4 mavros_posix_sitl.launch @@ -174,21 +174,21 @@ cd ~/catkin_ws/src/robonomics_drone_sim/src python3 takeoff.py -Aguardando até "Aguardando pagamento" +"Waiting for payment" तक प्रतीक्षा करें -Para enviar uma transação, execute em outra janela: -`echo "ON" | ./robonomics io write launch -r -s ` - onde **** e **** devem ser substituídos pelas strings de `config.py` correspondentes. +एक लेनदेन भेजने के लिए एक और विंडो में चलाएं: +`echo "ON" | ./robonomics io write launch -r -s ` - जहां **** और **** को `config.py` से उचित तरीके से बदल देना चाहिए। -Após os dados serem enviados para o IPFS, vá para o **Estado da Cadeia** no [portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/). Selecione **datalog** em consulta e adicione o datalog DRONE usando o botão `+`. +IPFS में डेटा भेजने के बाद, [Robonomics Parachain पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) में **Chain State** पर जाएं। क्वेरी में **datalog** का चयन करें और `+` बटन का उपयोग करके DRONE datalog जोड़ें। -Você pode encontrar a telemetria do drone executando `https://gateway.ipfs.io/ipfs/` inserindo o hash acima. +आप ऊपर से हैश डालकर `https://gateway.ipfs.io/ipfs/` चल रहे ड्रोन की टेलीमेट्री पा सकते हैं। -É importante remover o diretório `db` antes dos próximos lançamentos usando +अगले लॉन्च करने से पहले `db` निर्देशिका को हटाना महत्वपूर्ण है। ` rm -rf ~/.local/share/robonomics/chains/dev/db` \ No newline at end of file diff --git a/courses/hi/learn/kuka/overview.md b/courses/hi/learn/kuka/overview.md new file mode 100644 index 0000000000..26ec62e862 --- /dev/null +++ b/courses/hi/learn/kuka/overview.md @@ -0,0 +1,204 @@ +--- +title: कुका मैनिपुलेटर कनेक्ट करें +description: कुका मैनिपुलेटर कनेक्ट करें +metaOptions: [सीखें] +defaultName: Connect Kuka manipulator +--- + +काम का एक उदाहरण वाला वीडियो यहाँ मिल सकता है: + +https://youtu.be/z55HepXbHr8 + +
    + +*** + +
    + +## आवश्यकताएं + + + +
  • + +ROS मेलोडिक, Gazebo (स्थापना निर्देशिका [यहाँ](http://wiki.ros.org/melodic/Installation/Ubuntu)) +
  • + +
  • कुछ अतिरिक्त पैकेज + + +sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller + + +
  • + +
  • IPFS 0.4.22 + +(यहाँ से डाउनलोड करें [यहाँ](https://www.npackd.org/p/ipfs/0.4.22) और स्थापित करें) + + +tar -xvzf go-ipfs_v0.4.22_linux-386.tar.gz +cd go-ipfs/ +sudo bash install.sh +ipfs init + + +
  • + +
  • pip3 + + +sudo apt-get install python3-pip + + +
  • + +
  • ipfshttpclient + + +pip3 install ipfshttpclient + + +
  • + +
  • substrate-interface + + +pip3 install substrate-interface + + +
  • + +
  • + +Robonomics नोड (बाइनरी फ़ाइल) (नवीनतम रिलीज [यहाँ](https://github.com/airalab/robonomics/releases) से डाउनलोड करें) + +
  • + +
  • IPFS ब्राउज़र एक्सटेंशन (आवश्यक नहीं)
  • + +
    + +
    + +*** + +
    + +## स्थापना +कुका मैनिपुलेटर और नियंत्रण पैकेज स्थापित करें + +cd catkin_wc/src/ +git clone https://github.com/orsalmon/kuka_manipulator_gazebo +git clone https://github.com/LoSk-p/kuka_controller +cd .. +catkin_make + +*** + +
    + +## गेज़बो मॉडल चलाना + + +source ~/catkin_ws/devel/setup.bash +roslaunch manipulator_gazebo manipulator_empty_world.launch + + +एक नए ��िंडो में + + +source ~/catkin_ws/devel/setup.bash +rosrun manipulator_gazebo move_arm_server + + + + +*** + +
    + +## रोबोनॉमिक्स चलाना +रोबोनॉमिक्स फ़ाइल के साथ फ़ोल्डर पर जाएं और स्थानीय रोबोनॉमिक्स नेटवर्क बनाएं: + + +./robonomics --dev --tmp + + + + +[रोबोनॉमिक्स पैराचेन पोर्टल पर जाएं](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) और स्थानीय नोड पर स्विच करें + + + +फिर खातों पर जाएं और `KUKA` खाता बनाएं। खाते की म्नेमोनिक कुंजी को सहेजें, आपको बाद में इसकी आवश्यकता होगी। + + + + +किसी डिफ़ॉल्ट खातों में से नए खाते में कुछ इकाइयाँ भेजें। + + + +*** +
    + +## आईपीएफएस चलाना +आईपीएफएस डेमन चलाएं: + + +ipfs daemon + + +*** + +
    + +## नियं���्रण पैकेज चल रहा है +कुका नियंत्रण पैकेज में कॉन्फ़िग निर्देशिका में आपको इस लाइनों के साथ कॉन्फ़िग फ़ाइल बनानी होगी, जहाँ `<आपका_म्नेमोनिक>` सहेजा गया म्नेमोनिक सीड है: + + +{ + "kuka_mnemonic": "[your_mnemonic]", + "node": "ws://127.0.0.1:9944" +} + + + +अब आप नियंत्रण स्क्रिप्ट चला सकते हैं: + + +source ~/catkin_ws/devel/setup.bash +rosrun kuka_controller move_arm_client.py + + + + +## लेन-देन भेजना +[रोबोनॉमिक्स पैराचेन पोर्टल](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) पर जाएं `Developer/Extrinsics`, `extrinsic` को `launch` में बदलें। `robot` में अपना `KUKA` खाता चुनें और `param` को `Yes` में बदलें। `Submit Transaction` दबाएं + + + +कुका नियंत्रण पैकेज के साथ विंडो में आपको दिखाई देगा: + + + +फिर र��बोनॉमिक्स पोर्टल पर `डेवलपर/चेन स्टेट` जाएं, `डेटालॉग` और `डेटालॉगआइटम((अकाउंटआईडी,यू64)): रिंगबफरआइटम` को क्वेरी में चुनें और `KUKA` डेटालॉग को बटन '+' के साथ जोड़ें: + + + +अब आप इस लिंक के माध्यम से आईपीएफएस में रोबोट की टेलीमेट्री खोज सकते हैं अपने हैश के साथ `https://gateway.ipfs.io/ipfs/<हैश>`। + +## समस्या निवारण + +अगर `कैटकिन_मेक` मूवआर्म.एच को नहीं ढूंढ सकता है और यह संदेश देता है, तो कुका_मैनिपुलेटर_गेजेबो पैकेज में सीमेक्लिस्ट्स.टीएक्सट में आखिरी चार पंक्तियों को हटाने की कोशिश करें: + + +include_directories(include ${catkin_INCLUDE_DIRS}) + +add_executable(move_arm_server src/move_arm_server.cpp) +target_link_libraries(move_arm_server ${catkin_LIBRARIES}) +add_dependencies(move_arm_server beginner_tutorials_gencpp) + + +इन पंक्तियों के बिना `कैटकिन_मेक` करें, फिर उन्हें वापस लाएं और फ���र से `कैटकिन_मेक` करें। \ No newline at end of file diff --git a/courses/hi/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md b/courses/hi/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md new file mode 100644 index 0000000000..ae529c3481 --- /dev/null +++ b/courses/hi/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md @@ -0,0 +1,109 @@ +--- +title: "स्मार्ट होम बोर्ड को असेंबल करना" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: आप सीखेंगे कि स्मार्ट होम बोर्ड को कैसे असेम्बल करें! +metaOptions: [सीखें] +defaultName: Introduction to open source solution for private smart homes +--- + + + +## स्मार्ट होम पैनल + +यह पैनल केंद्रीय नियंत्रण उपकरण के रूप में उपयोग के लिए है जिसमें सबसे अधिक उपयोग किए जाने वाले स्विच और डेटा प्रदर्शित होता है। इसके अलावा, एक इंटरकॉम कनेक्ट करना और इसे एक इंडोर मॉनिटर के रूप में उपयोग करना संभव है। मूल रूप से, हमारे मामले में यह बस एंड्रॉयड ओएस चला रहा टैबलेट है। आपको बस पावर प्रदान करना है। हमें लगता है कि यह पैनल उस स्थान पर स्थापित किया जाना चाहिए जहां आप एक इंडोर मॉनिटर रखेंगे + + + + +## लाइट स्विच + +��्मार्ट लाइट स्विच आम स्विच की तरह दिखते हैं, केवल यहाँ बटन का उपयोग स्विच के बजाय किया जाता है। एक बटन दबाने के बाद अपनी स्थिति में वापस आता है। एक नियमित स्विच और एक स्मार्ट स्विच के बीच कनेक्शन में कोई अंतर नहीं है: N को न्यूट्रल तार से कनेक्ट करें, L को पावर तार से कनेक्ट करें और L1 को लाइटिंग लाइन से कनेक्ट करें। स्विच को असेम्बल करने के बाद ZigBee के माध्यम से इसे पेयर करने के लिए कम से कम 5 सेकंड के लिए बटन दबाएं। + + + +दो बटन वाले स्विच (या अधिक) के मामले में, एकमात्र अंतर रोशनी की दूसरी (तीसरी,…) लाइन का है। + + + +## स्मा���्ट लाइट बल्ब + +स्मार्ट लाइट बल्ब शायद सबसे आसान तरीका है कुछ स्मार्ट को आजमाने का, आपको इलेक्ट्रीशियन होने की जरूरत भी नहीं है। इन्हें दूरस्थ से नियंत्रित किया जा सकता है और इसकी चमक या रंग बदल सकते हैं। आप इन्हें स्मार्ट स्विच के साथ या अलग-अलग भी इंस्टॉल कर सकते हैं। इस तरह के उपकरणों का उपयोग आपकी मूड या आउटडोर स्थितियों के आधार पर ऑटोमेशन का एक पूरा पृष्ठ खोल सकता है! नए लाइट बल्ब ZigBee के माध्यम से कनेक्ट करने के लिए तैयार हैं। यदि आपको एक नहीं मिलता है, तो इसे 5 बार चालू और बंद करें + + + + + + + + +## स्मार्ट सॉकेट + +हमें अक्सर कुछ “बुद्धिहीन” उपकरणों को चालू और बंद करने की आवश्यकता होती है। अगर हम ऐसे एक उपकरण को स्मार्ट सॉकेट के माध्यम से चालू करते हैं तो हम अपनी आवश्यकताओं, अनुसूचियों या स्थितियों के अनुसार इसे चालू / बंद कर सकते हैं। इसके अलावा ऐसे सॉकेट ऊर्जा की खपत को मॉनिटर कर सकते हैं ताकि हमें यह डेवाइस कितनी ऊर्जा खपत करता है का डेटा हो। कनेक्शन काफी आसान है, स्मार्ट सॉकेट को पेयर करने के लिए 5 सेकंड के लिए बटन दबाएं + + + +## बॉयलर स्विच + +बॉयलर स्विच का अस्तित्व एक विशेष उपकरण के रूप में है क्योंकि इसमें अधिक भार सह सकता है। आम तौर पर बॉयल�� 3kWh या इससे भी अधिक खपत करते हैं, इसलिए नियमित (या स्मार्ट) स्विच इस स्थिति में उपयुक्त नहीं हैं। बॉयलर स्विच इन शर्तों के तहत काम करने के लिए डिज़ाइन किया गया है। कनेक्शन और पेयरिंग लाइट स्विच के लिए बहुत ही समान हैं + + + +## वाईफ़ाई / जिगबी थर्मोस्टैट + +यह एक साधारण थर्मोस्टैट जैसा दिखता है लेकिन इसमें वायरलेस रूप से नियंत्रित किया जा सकता है। विकल्प हैं: थर्मोस्टैट को हीटिंग सिस्टम से सीधे कनेक्ट करें या उन्हें अलग करें। इसके बाद थर्मोस्टैट हमें मोड (हीट, कूल, फैन, आदि) और तापमान बताएगा + + + +## पर्दे स्विच + +एक और विशेष स्विच, इस बार पर्दों के लिए। तकनीकी दृष्टिकोण से इस स्विच का उपयोग करना आवश्यक नहीं है, हम किसी भी तीन बटन स्विच का उपयोग कर सकते हैं और इसे पर्दे के मोटर से जोड़ सकते हैं, लेकिन यह एक विशेष आइकन्स के साथ आता है। स्विच को पेयर करने के लिए म���्य बटन पर लंबे समय तक दबाएं + + + +## स्मार्ट वाल्व नियंत्रक + +आपके पास जो वाल्व है उसके अनुसार एक नियंत्रक चुनें। सबसे स्पष्ट स्थिति यह है कि इस नियंत्रक को एक पानी के लीकेज सेंसर के साथ मिलाकर उपयोग करें। डिवाइस को पेयर करने के लिए बटन को 5 सेकंड के लिए दबाएं + + + +## जल र��साव सेंसर + +एक बहुत ही सरल उपकरण जो एक संकेत भेजता है जब इसके दो संपर्क जुड़े होते हैं। पानी विद्युत चालित करता है और जब सेंसर के नीचे पानी होता है तो इसके संपर्क शॉर्ट हो जाते हैं। सेंसर एक बैटरी पर काम करता है और आम तौर पर 1-2 साल तक चलता है। सेंसर को ZigBee के माध्यम से पेयर करने के लिए इसके बटन पर थोड़ी देर के लिए लॉन्ग प्रेस करें + + + +## आईआर कंट्रोलर + +इसे अपने रिमोट टीवी कंट्रोलर के रूप में सोचें... लेकिन स्मार्ट वाला! और यह केवल टीवी के साथ काम करने के लिए सीमित नहीं है। अगर आपके ए/सी में एक रिमोट कंट्रोलर है, तो इसे इस स्मार्ट वाले से ���दला जा सकता है। इसे पेयर करने के लिए, कंट्रोलर के पीछे रीसेट बटन को थोड़ी देर के लिए दबाएं। तैयार उपयोग के लिए कमांड्स के साथ कई पुस्तकालय हैं, उदाहरण के लिए [https://github.com/smartHomeHub/SmartIR](https://github.com/smartHomeHub/SmartIR)। आपको बस अपने टीवी या ए/सी के मॉडल को खोजना है + + + +## दरवाजा/खिड़की सेंसर + +एक और सेंसर जो एक बैटरी पर काम करता है लेकिन एक सरल सुरक्षा प्रणाली या लाइट्स और अन्य उपकरणों से जुड़ने में मदद करता है। ZigBee के माध्यम से इसे पेयर करने के लिए, होल में एक सुई डालें और थोड़ी देर के लिए दबाएं + + + +## मोशन सेंसर +दरवाजा/खिड़की सेंसर की तरह, इसे विभिन्न परिदृश्यों में उपयोग किया जा सकता है। सबसे स्पष्ट उदाहरण लाइट्स को नियंत्रित करना या जब आप दूर होते हैं तो गतियां पता करना हैं। + + + + +## तापमान और नमी संवेदक + +आपको जिन शर्तों में रहना है, उनको जानना अच्छा है, ना? यह संवेदक आपको तापमान और नमी की माप करने की सुविधा प्रदान करेगा। फिर आप इस डेटा का उपयोग करके अपने एसी को चालू / बंद या अन्य हीटिंग / कूलिंग सिस्टम को चालू कर सकते हैं। संवेदक को पेयर करने के लिए पीछे एक बटन है + + + +## सुरक्षा कैमरा + +अंत में यह अच्छा है कि आप अपने घर में क्या हो रहा है, इसे देखना। एक अच्छा स्वचालन होगा कि आप मोशन संवेदक को कैमरा से कनेक्ट करें ताकि जब मोशन पता चले तो आपके पास 10 सेकंड की लंबी वीडियो हो। + + + + +## स्मार्ट बोर्ड +परिणामों को देखें [https://www.youtube.com/watch?v=B3er7bwtvkw](https://www.youtube.com/watch?v=B3er7bwtvkw ) +और खुद से इसके साथ खेलें [https://twitter.com/vadim_manaenko/status/1653777703718334469?s=20](https://twitter.com/vadim_manaenko/status/1653777703718334469?s=20) + diff --git a/courses/hi/learn/open-source-private-smart-home-intro/overview.md b/courses/hi/learn/open-source-private-smart-home-intro/overview.md new file mode 100644 index 0000000000..fa502663cd --- /dev/null +++ b/courses/hi/learn/open-source-private-smart-home-intro/overview.md @@ -0,0 +1,42 @@ +--- +title: "निजी स्मार्ट घरों के लिए ओपन सोर्स समाधान का परिचय" +lastUpdate: Tue May 09 2023 13:56:49 GMT+0400 (Samara Standard Time) +description: आप सीखेंगे कि कैसे सस्ते स्मार्ट उपकरणों को ओपन सोर्स समाधानों के साथ एकीकृत करके अपने स्मार्ट होम को निजी दिशा में बनाए रखें और इसके काम में बादलों पर निर्भर न हों। +metaOptions: [सीखें] +defaultName: Introduction to open source solution for private smart homes +--- + + + + + हाय सभी! आज मैं आपको एक स्मार्ट होम के बारे में एक बातचीत में ले जाना चाहता हूं, जब इसकी आवश्यकता होती है, यह किस से मिलता है और यह क्या दे सकता है। + + +## स्मार्ट होम: गरमी और गरम पानी की समस्याओं का समाधान + +2022 में, मैं साइप्रस पर चला गया और मुझे एक नए स्थान में जीने की शर्तों से जल्दी ही अदाप्त होना पड़ा। रूस क��� बाद, ऊर्जा संसाधनों के उपयोग के प्रति दृष्टिकोण में अंतर विशेष रूप से महसूस होता है। उदाहरण के लिए, साइप्रस में केंद्रीय तापन नहीं है। और दिसंबर तक, आप इसके बारे में सोचने की बात नहीं कर सकते थे। और फिर पता चला कि मेरे बेडरूम का तापमान खिड़की के बाहर के तापमान के समान है। सच कहूं, +10 °C पर सोना असहज है ... बर्र! + +## स्मार्ट होम मॉनिटरिंग के साथ अपने बचत को बढ़ाएं + +और इस���े अलावा, कोई केंद्रीय गर्म पानी की आपूर्ति भी नहीं है। छत पर स्थापित बॉयलर हैं जो सूरज द्वारा गरम किए जाते हैं। लेकिन सर्दियों में सूरज काफी नहीं होता है जल के टैंक को गर्म करने के लिए। अपार्टमेंट में एक स्विच है जो टैंक के अंदर हीटिंग एलिमेंट को चालू करता है। सबसे पहली असुविधा यह है कि आपको इसे पहले ही चालू करना होगा। नहाने से आधा घंटा से एक घंटा पहले। शाम में, यह स्थिति अभी भी स्वीकार्य है, लेकिन सुबह आपके पास कभी भी गर्म पानी नहीं होगा। दूसरा, आप इसे बंद करना आसानी से भूल सकते हैं। परिणामस्वरूप - जले हुए हीटिंग एलिमेंट और ब���जली का बिल। + +वैसे, यहाँ बिजली बहुत महंगी है, और आपको हर 2 महीने में इसके लिए भुगतान करना होता है। वर्तमान में, मुख्य उपभोक्ता का निर्धारण करना असंभव है। मुख्य विद्युत उपभोक्ताओं पर सांख्यिकी होना अच्छा होगा, जैसे कि एयर कंडीशनिंग, अंडरफ्लोर हीटिंग, प्रकाश, आदि। वास्तविक समय पर विद्युत उपभोक्ति के डेटा हाथ में होने पर, आप कम से कम यह शुरू कर सकते हैं कि इस पर क्या खर्च हो रहा है। + +## एक स्मार्ट होम के आवश्यक घटक: स्विच, सेंसर और स्मार्ट मीटर + +पता चलता है कि पहले उम्मीदवार स्मार्ट उपकरणों के लिए विभिन्न स्विच और विद्युत उपभोक्ति मॉनिटरिंग हैं। अगले, आप संभावित रूप से एक अनुसूची के अनुसार या तापमान पठनों के अनुसार एयर कंडीशनर और अंडरफ्लोर हीटिंग को नियंत्रित करने के बारे में सोचेंगे। इसका मतलब है कि हमें तापमान और आर्द्रता सेंसर, अंडरफ्लोर हीटिंग को नियंत्रित करने के लिए रिले, और एयर कंडीशनर के लिए आईआर रिमोट कंट्रोल्स की आवश्यकता होगी। हर घर में खिड़कियाँ भी होती हैं, और खिड़कियों के आम तौर पर पर्दे होते हैं - जब सोने जाते समय पर्दे स्वचालित रूप से गिर जाएं, तो यह बहुत अच्छा होगा। इस प्रकार, स्विच, सेंसर और स्मार्ट मीटर्स एक स्मार्ट होम का आधार बनाते हैं। और फिर आप विशेष आवश्यकताओं के आधार पर सपने देख सकते हैं। + +## सही स्मार्ट होम समाधान चुनना: KNX vs. सोनॉफ vs. शाओमी + +बाजार में कौन-कौन से स्मार्ट होम और स्वचालन समाधान हैं? हम KNX के बारे में सोच सकते हैं, जो आज घरों, कार्यालयों और वाणिज्यिक स्थलों के लिए मध्यम और बड़े स्वचालन सिस्टमों में उपयोग के लिए सबसे सामान्य समाधानों में से एक है। यह बाजार में बीस साल से अधिक समय से है और अब इसे कई प्रमुख विद्युत उपकरण निर्माताओं द्वारा समर्थित किया जाता है। हालांकि, एक KNX समाधान जमाने के लिए बहुत सारा इंजीनियरिंग काम करने की आवश्यकत��� होती है। मुख्य तर्क सामान्यत: एक अलग स्विचबोर्ड कैबिनेट में जमा किया जाता है। यदि यह मूल रूप से प्रदान नहीं किया गया था, तो मौजूदा अपार्टमेंट में स्थापना करना कठिन या संभावना है कि बिना लेआउट में उचित परिवर्तन किए बिना संभव हो। इसके अतिरिक्त, KNX आधारित समाधान काफी महंगे होते हैं। + +एक और ���ृष्टिकोण यह हो सकता है कि चीनी निर्माताओं से उपकरण खरीदें जैसे Sonoff या Xiaomi। उनका मुख्य लाभ मूल्य, स्थापना और विन्यास की सरलता है। किसी भी व्यक्ति को अपने घरों में अधिकांश सेंसर और उपकरण स्थापित करने की क्षमता होगी। कहीं आपको एक बिजलीवाले की आवश्यकता हो सकती है, उदाहरण के लिए, स्मार्ट स्विच स्थापित करने के लिए, लेकिन वे पुराने की जगह लेंगे और आपको फ्लैट के लेआउट में परिवर्तन करने की आवश्यकता नहीं होगी। निर्माता उपकरण प्रबंधन के लिए एक ही एप्लिकेशन प्रदान करता है। हालांकि, आपको हमेशा याद रखना चाहिए कि आपके डेटा कहीं सर्वर पर भेजा जाता है, और उपकरणों के साथ सभी संचार इंटरनेट कनेक्शन के बिना संभव नहीं है। + + +## DIY स्मार्ट होम: पूर्ण नियंत्रण के लिए घर का सर्वर बनाना + +और एक और दृष्टिकोण स्मार्ट होम बनाने के लिए दूसरे पर आधारित है, अर्थात उपलब्ध उपकरणों का उपयोग करना चीनी निर्माताओं से, लेकिन अतिरिक्त रूप से अपने अपार्टमेंट / घर में एक होम सर्वर स्थापित करना ताकि बादलों से छुटकारा मिले। यह हमारे स्मार्ट होम समाधान में हमने चुना है। आगामी भागों में, मैं हमारे डेमो स्टैंड के असेंबली और इसकी क्षमताओं के बारे में विस्तार से बात करूंगा। + + + अब तक बस इतना ही ���ै! अगले पाठ में, हम स्मार्ट होम बनाने के व्यावहारिक पक्ष में और एक स्मार्ट होम बोर्ड को असेम्बल करने के तरीके के बारे में गहराई से जाएंगे। जारी रहें और पूरी तरह से कार्यात्मक और स्वचालित घर बनाने की दिशा में पहला कदम उठाने के लिए तैयार हों। + \ No newline at end of file diff --git a/courses/hi/learn/open-source-private-smart-home-intro/unleash-automation-potential.md b/courses/hi/learn/open-source-private-smart-home-intro/unleash-automation-potential.md new file mode 100644 index 0000000000..f5fc923ac8 --- /dev/null +++ b/courses/hi/learn/open-source-private-smart-home-intro/unleash-automation-potential.md @@ -0,0 +1,84 @@ +--- +title: "स्वचालन क्षमता को उजागर करें" +lastUpdate: Mon August 28 2023 12:46:49 GMT+0400 (Samara Standard Time) +description: आप एक स्मार्ट होम स्टैंड के उदाहरण पर रोजाना की जिंदगी को आसान बनाने वाली मूल ऑटोमेशन के बारे में सीखेंगे। +metaOptions: [सीखें] +defaultName: Introduction to open source solution for private smart homes +--- + +पिछली बार, हमने डेमो स्टैंड पर विभिन्न स्मार्ट उपकरणों को स्थापित और कनेक्ट करने की प्रक्रिया को देखा। एक वास्तविक अपार्टमेंट या घर में, बेशक, उसकी अपनी विशेषताएँ होंगी। बिजली के साथ काम करते समय, आपको सुरक्षा सावधानियों का पालन करना चाहिए और यदि आप नहीं जानते कि आप क्या कर रहे हैं तो काम न करें। + +अब चलिए, सबसे दिलचस्प चीज़ पर आते हैं, जिसके लिए आवश्यक था स्विच बदलना और संदेशक स्थापित करना। + +**होम ऑटोमेशन में प्रौद्योगिकी और स्मार्ट उपकरणों का उपयोग घर में विभिन्न कार्यों को नियंत्रित और स्वचालित करने के लिए होता है। यहाँ कुछ होम ऑटोमेशन के उदाहरण हैं:** + +* *स्मार्ट लाइटिंग*: आप स्मार्ट बल्ब या स्विच का उपयोग करके प्रकाश को नियंत्रित और स्वचालित कर सकते हैं। इससे आप प्रकाश को चालू और बंद कर सकते हैं, चमक बढ़ा सकते हैं, रंग बदल सकते हैं। +* *जलवायु नियंत्रण*: स्मार्ट थर्मोस्टेट आपको अपने घर में तापमान को दूरस्थ से नियंत्रित करने देते हैं। इनके साथ, आप अपने समय सारणी के अनुसार सेटिंग्स को समायोजित कर सकते है�� और अपनी ऊर्जा की खपत को अनुकूलित कर सकते हैं। +* *सुरक्षा प्रणाली*: होम ऑटोमेशन में स्मार्ट ताले, वीडियो इंटरकॉम, निगरानी कैमरे, या यहाँ तक कि साधारण गति संवेदक जैसी सुरक्षा सुविधाएं शामिल हो सकती हैं। ये उपकरण आपको दुनिया के किसी भी कोने से अपने घर की पहुंच को नियंत्रित करने देते हैं। +* *घर के उपकरण नियंत्रण*: स्मार्ट प्लग के साथ, आप घरेलू उपकरणों और इलेक्ट्रॉनिक उपकरणों के संचालन को स्वचालित कर सकते हैं। उदाहरण के लिए, आप कॉफ़ी मेकर को चालू करने का समय निर्धारित कर सकते हैं ताकि यह उठने से पहले ब्रू करना शुरू कर दे। +* *मनो��ंजन प्रणालियाँ*: ऑडियो और वीडियो प्रणालियाँ घर की ऑटोमेशन में पूरी तरह से फिट होंगी। आप उदाहरण के लिए, घटना या समय सारणी के अनुसार संगीत प्लेबैक सेट कर सकते हैं। + +**अब चलिए सामान्य रूप से होम ऑटोमेशन के कुछ फायदे और नुकसान पर चर्चा करते हैं।** + +फायदे: + +* *सुविधा*: होम ऑटोमेशन का मुख्य उद्देश्य आपको रोजाना किए जाने वाले गतिविधियों से बचाना है। +* *ऊर्जा कुशलता*: यह सब विद्युत की मुख्य उपभोक्ताओं को ध्यान में रखकर शुरू होता है। सांख्यिकी आपके पास होने पर, आप एक अनुसूची सेट कर सकते हैं या कुछ उपकरणों का उपयोग करने के बारे में अधिक जागरूक हो सकते हैं। +* *बेहतर सुरक्षा*: आप अपने घर की निगरानी कर सकते हैं और किसी भी संदिग्ध गतिविधि के मामले में सूचित हो सकते हैं। +कस्टमाइजेशन और एकीकरण: होम ऑटोमेशन सिस्टम अक्सर लचीले होते हैं और आपकी विशेष आवश्यकताओं को पूरा करने के लिए कस्टमाइज किया जा सकता है। वे अन्य स्मार्ट उपकरणों के साथ एकीकृत हो सकते हैं, विभिन्न सिस्टमों का संयंत्रण और ऑटोमेशन प्रदान करने में सुगम नियंत्रण प्रदान कर सकते हैं। + +नुकसान: + +* *लागत*: उपकरणों की प्राप्ति और विन्यास की प्रारंभिक लागत सामान्यत: उच्च हो सकती है, विशेषकर जटिल सिस्टमों के लिए। +* *जटिलता*: होम ऑटोमेशन सिस्टम को स्थापित और विन्यासित करना एक जटिल कार्य हो सकता है जिसमें तकनीकी ज्ञान और समस्या सुलझाने की क्षमता की आवश्यकता होती है। +* *गोपनीयता और सुरक्षा की जोखिम*: कनेक्टेड उपकरण हैकिंग या अनधिकृत पहुंच के लिए संवेदनशील हो सकते हैं, जिससे आपकी गोपनीयता और सुरक्षा पर असर पड़ सकता है। सुरक्षा के सर्वोत्तम अभ्यासों का पालन करना और अपने उपकरणों को अपडेट रखना महत्वपूर्ण है। + +समग्र रूप से, होम ऑटोमेशन सुविधा, ऊर्जा कुशलता, और सुरक्षा के मामले में कई लाभ प्रदान करता है। हालांकि, यह महत्वपूर्ण है कि उपकरणों की तकनीकी आधार के बारे में पहले से ही सोचा जाए, उन प्रोटोकॉल पर वे काम करेंगे और उन्हें एक-दूसरे से कैसे जोड़ा जाए। + +हमारे स्मार्ट होम डेमो स्टैंड पर वापस आते हैं, चलिए कुछ मौलिक स्वचालन को कार्रवाई में देखें। + +## पर्दे कंट्रोल + + + +घर सर्वर से पर्दे खोलने/बंद के तंत्र को जोड़कर, आप एप्लिकेशन से पर्दों को नियंत्रित कर सकते हैं। लेकिन सबसे महत्वपूर्ण बात यह है कि अब आप अनुसूची तैयार कर सकते हैं या अपने अलार्म क्लॉक को पर्दों के खुलने से जोड़ सकते हैं। प्राकृतिक प्रकाश से जागना शुभ माना जाता है! + +## दरवाजे सेंसर और लाइट + + + +दरवाजे खोलने के सेंसर द्वारा लाइट चालू करना एक सरल स्वचालनों में से एक है। यह पैंट्री में उपयोगी हो सकता है, जहां आप कांस्टेंटली नहीं होने की आवश्यकता है। इसलिए, जब आप दरवाजा खोलते हैं, तो लाइट स्वचालित रूप से चालू हो जाएगी, और जब आप अपना काम समाप्त कर लेते हैं और दरवाजा बंद करते हैं, तो लाइट बस ऐसे ही नहीं चमकेगी। + +## लीक सेंसर और स्मार्ट वाल्व + + + +यह जानकर कि आपके पास एक लीक है, आधी जंग जीतना है। जैसा कि कहा जाता है, सावधान रहना सजीव रहना है। लेकिन अगर आप सेंसर और वाल्व को जोड़ते हैं, तो बाढ़ से बचने के लिए सभी आवश्यक उपाय उठाए जाएंगे, जिससे आपको डरने का समय भी नहीं मिलेगा। + +## मोशन सेंसर और लाइट + + + +एक मो��न सेंसर का सबसे स्पष्ट उपयोग लाइट्स को चालू करने के लिए है। ऐसी स्वचालन सेटिंग शौचालय या हॉलवे में किया जा सकता है + +## डेमो स्टैंड सांख्यिकी + +स्टैंड के काम के दौरान, हमें निम्नलिखित सांख्यिकी जुटाने में सफलता मिली + +|Statistics| +|--------------------------|--------| +| Total transactions | 6557 | +| Users | 16 | +| Logins | 50 | +| Pinned files in IPFS | 58 | +| Data in IPFS | 980 Mb | + +[डिफ़ॉल्ट](https://www.home-assistant.io/integrations/recorder/) के अनुसार, होम असिस्टेंट केवल 10 दिनों का इतिहास रखता है। रोबोनॉमिक्स एकीकरण, यदि सब्सक्रिप्शन [सक्रिय](https://dapp.robonomics.network/#/rws-activate) है, तो हर 10 मिनट में इतिहास अपलोड करता है। इस प्रकार, आपको अपने इतिहास के अतिरिक्त बैकअप के बारे में सोचने की आवश्यकता नहीं है। उदाहरण के लिए, नीचे कुछ सेंसर से इतिहास के कई ग्राफ़ हैं + + + + + + + +स्टैंड और स्वचालन के एक श्रृंखला को समाप्त करते हुए, मैं यह कहना चाहूंगा कि प्रस्तावित सिस्टम की संभावनाएँ इससे सीमित नहीं हैं। विशेष स्वचालन स्थिति विशेष मामले और किरायेदार पर निर्भर करेंगे, क्योंकि सब कुछ घर की जीवन की सुविधा के लिए किया गया है। diff --git a/courses/hi/learn/opengov-for-iot/overview.md b/courses/hi/learn/opengov-for-iot/overview.md new file mode 100644 index 0000000000..05df32c3ee --- /dev/null +++ b/courses/hi/learn/opengov-for-iot/overview.md @@ -0,0 +1,33 @@ +--- +title: "IoT बुनियादी ढांचे के प्रबंधन के लिए OpenGov" +lastUpdate: Thu May 18 2023 13:08:37 GMT+0400 (Samara Standard Time) +description: एक ओपन अनुभव जिसमें ओपनगव का उपयोग करके एक छोटे अंग्रेजी गाँव की आईओटी इंफ्रास्ट्रक्चर का प्रबंधन किया जाता है। +metaOptions: [सीखें] +defaultName: OpenGov for managing the IoT infrastructure +--- + + + + +महिलाएं और सज्जन, मेरे साथ आग के चारों ओर जुड़ें और मुझे आपको ओरवेलहैम गाँव की एक कहानी सुनाने दें। एक खुशनुमा अंग्रेजी गाँव जो वेब3 युग की प्रौद्योगिकी उन्नतियों का लाभ उठाता है। जहाँ भूतकाल की गूंज तरक्की के कदमों के साथ मिलती है। + + +## हमारी परीकथा शुरू हो + +ओरवेलहैम के लोग प्राकृतिक दुनिया के साथ सहयोग करके रहते हैं, आधुनिक प्रौद्योगिकी के समाहित होने से। + +इस गाँव में, सुरक्षा और सुरक्षा का धारणा एक जटिल द्वैत रखती है। एक गुप्त लेकिन हमेशा मौजूद सिस्टम गाँव पर नजर रखता है, जिससे उसके निवासियों को सुरक्षा की भावना प्रदान होती है। जबकि ये सतर्क आंखें एक सूक्ष्म परिप्रेक्ष्य की एक हल्की लहर को उत्पन्न कर सकती हैं, उनकी अनावश्यक मौजूदगी सुरक्षा और उनकी हमेशा उपस्थित निगाह के बीच संरक्षण और उनकी संतुलित संतुलन की याद दिलाती है। + +## जादुई स्थान की आईओटी + +किसान और उनके आईओटी साथी एक समान वाल्ज़ नृत्य करते हैं, भूमि की देखभाल करते हैं और अपने मेहनत के फल काटते हैं। जब गाँव पर सूर���य अस्त होता है, फृटिल धरती की खुशबू और सोने के गेहूं की रुस्ती हवा में भर जाती है, एक परंपरा और नवाचार के संगीत का प्रमाण जो इस जादुई स्थान की सार्थकता है। + +## भविष्य का संदेश + +गाँव के केंद्र में, इंटरैक्टिव स्क्रीन मोडर्न संचार के लिए उपयोग होते हैं। ये स्क्रीन निवासियों को स्थानीय घटनाओं और समाचारों के बारे में सूचित करते हैं, पिछले की एक हल्की इशारा देते हुए साथ ही भविष्य का संदेश देते हैं। + + +इस प्रकार, मेरे दोस्तों, जैसे हम आग के पास बैठे हैं, हम ओरवेलहैम की कहानियों को सुलझाने के लिए एक यात्रा पर निकलते हैं, एक गाँव जहाँ परंपरा और नवाचार मिलते हैं। + +चलो हम ओरवेलहैम की खोज में डूबते हैं और उसमें निवास करने वाली रहस्यों की खोज करते हैं। + \ No newline at end of file diff --git a/courses/hi/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md b/courses/hi/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md new file mode 100644 index 0000000000..f023dcab39 --- /dev/null +++ b/courses/hi/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md @@ -0,0 +1,36 @@ +--- +title: "एडकॉर्प के अतिक्रमण की छाया" +lastUpdate: Wed May 10 2023 10:57:05 GMT+0400 (Samara Standard Time) +description: एक ओपन अनुभव जिसमें ओपनगव का उपयोग करके एक छोटे अंग्रेजी गाँव की आईओटी इंफ्रास्ट्रक्चर का प्रबंधन किया जाता है। +metaOptions: [सीखें] +defaultName: OpenGov for managing the IoT infrastructure +--- + + + +दुर्भाग्यवश ओरवेलहैम की कहानी में, जहां परंपरा और नवाचार की समानता ने एक उत्तम स्थान को बनाया था, कहानी में एक अप्रत्याशित मोड़ आरंभ हो गया था। + + +## स्व-क्रियाशील शासन के लिए साझा सुरक्षा + +गांववाले, जिन्हें अपने साझा आईओटी उपकरणों के पैरामीटर पर मतदान करने का विशेषाधिकार था, संतोषपूर्वक रहते थे, यह मानकर कि उनकी सामूहिक आवाज उनके चारों ओर की दुनिया को आकार दे रही थी। + +उनके गांव ने पॉल्काडॉट रिले चेन के द्वारा प्रदान की गई साझा सुरक्षा का लाभ उठाया है ताकि उनकी समुदाय को सुरक्षित और कुशल ब्लॉकचेन प्रोटोकॉल बनाने में सहायता मिल सके जिसने उनकी साझा बुनियादी संरचना को पूरी तरह से ऑन-चेन, पूरी रूप से स्व-क्रियाशील और स्व-क्रियाशील शासन के माध्यम से समायोजित करने की अनुमति दी। गांववाले, अपने स्मार्टफोन और विशेष डिज़ाइन के एप्लिकेशन के साथ लैस होकर, आसानी से संविदान में मतदान कर सकते थे, उन निर्णयों में भाग लेते हुए जो उनके जीवन को आकार देने में सहायक थे। + +## चपल प्रस्ताव आ रहे हैं + +इस सबसे दुर्भाग्यपूर्ण दिन पर, एक धनवान व्यापारी नामक क्रेग, जिन्हें उनके कठोर व्यवहार और अप्रिय विचारों के लिए जाना जाता था, एक संविदा पेश क���या। इस प्रस्ताव ने सुझाव दिया कि सामान्य अच्छा इंटरैक्टिव डिजिटल साइनेज, जो कभी समुदाय समाचार और स्थानीय घटनाओं का प्रकार था, अब विज्ञापन दिखाएगा, गांव के लिए राजस्व उत्पन्न करते हुए। + +भाग्य ने यही चाहा, गांववाले, अपनी दैनिक गतिविधियों में व्यस्त रहते हुए, संविदान के विवरणों पर ध्यान नहीं दिया। मुख्य विरोध के बिना, क्रेग का प्रस्ताव छिद्रों से गुजर गया और मंजूर हो गया। गांववालों को अनजान रखा गया कि विज्ञापन की लागत को अद्वितीय रूप से निर्धारित किया गया था, एक चालाक मानवरण क्रेग द्वारा उसकी कंपनी, एडकॉर्प के लिए वर्षों तक के विज्ञापन सुनिश्चित करने के लिए। + +## एडकॉर्प की अंधकार का सामना करें + +जल्द ही, वह इंटरैक्टिव डिजिटल साइनेज जो कभी गांव के जीवन की कहानियों और साझा समाचारों का प्रदर्शन करता था, अब एडकॉर्प विज्ञापनों की निरंतर बारिश को सहन कर रहा था। गांववाले, इस अचानक परिवर्तन से निराश हो गए, अब उन्हें उस समय की याद आ रही थी जब उनके स्क्रीन्स ओरवेलहैम की आत्मा को प्रतिबिंबित करती थीं, बल्कि अपने अनाकांग अतिथि, एडकॉर्प की निरंतर मौजूदगी को। + +सूर्य के अस्त होने पर और गांव को सड़क की बत्तियों के मृदु प्रकाश में नहलाते हुए, असंतोष की बातों की एक ध्वनि समुदाय में फैलने लगी। गांववाले, जो पहले समरसता और प्रगति की खोज में एकजुट थे, अब अपने प्रिय इंटरैक्टिव डिजिटल साइनेज को पुनः प्राप्त करने की चुनौती का सामना कर रहे थे, जो उनके गांव की पहचान का प्रतीक था। + +ओरवेलहैम की कहानी ने एक अप्रत्याशित मोड़ लिया था, लेकिन गांववा��ों की अड़चन नहीं होने दी जाती थी। जैसे ही वे अग्नि के चारों ओर इकट्ठे हुए, उनकी आंखों में एक निर्धारण की भावना चमक उठी, जो क्रेग के एडकॉर्प द्वारा डाली गई अंधकार का सामना करने और ओरवेलहैम को वह जादुई गांव बनाने वाली स्थली की संतुलन को पुनः स्थापित करने की एक जलती हुई संकल्पना को प्रज्वलित कर रही थी। + + +जारी रहेगा... + \ No newline at end of file diff --git a/courses/hi/learn/ros-smart-projects/overview.md b/courses/hi/learn/ros-smart-projects/overview.md new file mode 100644 index 0000000000..019ddd8081 --- /dev/null +++ b/courses/hi/learn/ros-smart-projects/overview.md @@ -0,0 +1,70 @@ +--- +title: स्मार्ट स्पेस के लिए आरओएस-आधारित परियोजनाएं +lastUpdate: Thu May 04 2023 12:53:19 GMT+0400 (Samara Standard Time) +description: स्मार्ट स्पेस के लिए आरओएस-आधारित परियोजनाएं +metaOptions: [सीखें] +defaultName: स्मार्ट स्पेस के लिए आरओएस-आधारित परियोजनाएं +--- + +अपने 15 वर्षों के विकास के दौरान, रोबोट ऑपरेटिंग सिस्टम फ्रेमवर्क को दर्जनों [विभिन्न रोबोटिक उपकरणों](https://robots.ros.org/) के साथ एकीकृत किया गया था, और समुदाय द्वारा विकसित अल्गोरिदम और उपकरणों के अधिक पैकेज भी हैं। सच कहा जाए, अब इतने सारे परियोजनाएं हैं, और उनके रिपॉजिटरीज की विवरण शैली की अव्यवस्था इतनी बढ़ गई है कि विशेष विषय विषय पर केंद्रित परियोजनाएं खोजना वर्तमान में काफी समस्यात्मक है। + +यहाँ, आपको घर या कार्यालय वातानुकूलन के लिए उपयोग के लिए निर्मित रोबोट और आईओटी उपकरणों के लिए समर्पित आरओएस-आधारित परियोजनाओं की एक मामूली सूची मिलेगी। यह विषय एक है रोबोनॉमिक्स प्लेटफॉर्म के स्तंभों में से एक। हमारा लक्ष्य यह है कि हम इन परियोजनाओं को रोबोनॉमिक्स के साथ एकत्रित करने का प्रयास करें, तकनीकी एकीकरण दृष्टिकोण से और इन उपकरणों के रोबोट अर्थव्यवस्था में एक रोचक अनुप्रयोग के दृष्टिकोण से। विचारों और प्रेरणा के लिए इस सूची का उपयोग करने में मुक्त महसूस करें। + +आप हमारे [सीखें खंड](/learn) में रोबोनॉमिक्स के साथ एकीकृत आरओएस-परियोजनाओं के कुछ उदाहरण देख सकते हैं। + + + +आरओएस रिपॉजिटरीज और पैकेजों की खोज के लिए मुख्य संसाधन [यहाँ](https://index.ros.org/) तक पहुंचा जा सकता है। + +## सिमुलेशन + +अपना ध्यान केवल उपकरणों पर केंद्रित करने से पहले, यह याद रखने योग्य है कि बड़ी मात्रा में आरओएस परियोजनाओं के लिए, सिमुलेशन में उनका परीक्षण करने का विकल्प मौजूद है। आरओएस के तहत विभिन्न रोबोटों के 3डी मॉडलिंग के लिए सबसे लोकप्रिय उपकरण [Gazebo](http://gazebosim.org/) सिम्युलेटर और इसका ऑफशूट प्रोजेक्ट, [Ignition](https://index.ros.org/r/ros_ign/). दोनों सिमुलेटर विभिन्न कठिन इनडोर और आउटडोर वातावरणों में उपकरणों को मॉडल करने, मॉडल और वातावरण को बदलने, वास्तविक डिवाइस पर जाने से पहले नियंत्रण एल्गोरिदम का परीक्षण करने और डीबग करने की अनुमति देते हैं। इसके अलावा, यह प्रशिक्षण और उन स्थितियों के लिए एक उत्कृष्ट उपकरण है जब कोई वास्तविक उपकरण अनुपस्थित होता है। + +समग्र रूप से, यह रोबोनॉमिक्स को किसी भी खर्च के बिना आरओएस उपकरण के साथ एकीकरण करने के लिए सबसे अच्छा विकल्पों में से एक है। एक वास्तविक परिदृश्य केवल हल्की सी कोड संशोधन की आवश्यकता होगी। गजेबो के लिए, रोबोनॉमिक्स के पास दो भागों से बना एक विस्तृत गाइड है जो [सेटिंग्स](https://wiki.robonomics.network/docs/en/connect-any-ros-compatible-robot-under-robonomics-parachain-control-1/) और [एकीकरण](https://wiki.robonomics.network/docs/en/connect-any-ros-compatible-robot-under-robonomics-parachain-control-2/) (उड़ान का उदाहरण के रूप में) को कवर करता है। मुख्य चुनौती एक तैयार मॉडल (उदाहरण के लिए, [यहाँ](https://github.com/osrf/gazebo_models)) का खोजना है या गजेबो के लिए अपना मॉडल बनाने की कोशिश करना है ज��� सिम्युलेटर्स के लिए विकसित [एसडीफॉर्मेट](http://sdformat.org/) का उपयोग करता है। + +## सिंग���-बोर्ड कंप्यूटर और अन्य बोर्ड + +ऐसे बोर्ड अन्य उपकरणों को आरओएस से कनेक्ट करने के लिए एक मूल घटक के रूप में काम करते हैं, मुख्य रूप से सेंसर्स और रिकॉर्डिंग डिवाइसेस (ऑडियो, फोटो, और वीडियो रिकॉर्डर्स, कैमरे, तापमान, दबाव, और पदार्थ संघटन सेंसर्स) को कनेक्ट करने के लिए क्योंकि एक स्मार्ट स्पेस की अवधारणा ढालने का अर्थ है कि इंफ्रास्ट्रक्चर वस्तुओं का एक [डिजिटल ट्विन](https://gateway.pinata.cloud/ipfs/QmNNdLG3vuTsJtZtNByWaDTKRYPcBZSZcsJ1FY6rTYCixQ/Robonomics_keypoint_March_2021.pdf) बनाया जाए। इसके अलावा, बोर्ड एक रोबोटिक मोबाइल उपकरण निर्माण के लिए मुख्य कंप्यूटिंग उपकरण और नियंत्रक के रूप म��ं काम कर सकते हैं। नीचे एक सूची प्रस्तुत की गई है जो बोर्ड्स को आरओएस का समर्थन करती हैं: + +| Name and link | Description | ROS version | Last update | +|:-----------------------------------------------------------------------------------------------------:|---------------------------------------------------------------------------------|:-----------:|:-----------:| +| [Raspberry Pi](http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi)| single board computer; RaspPi versions 2, 3 and 4 are available | melodic | 2020 | +| [Arduino](http://wiki.ros.org/rosserial_arduino) | single board computer | noetic | 2021 | +| [Phidgets](http://wiki.ros.org/phidgets) | sets of boards, various sensors and devices: Ph sensor, LED, RFID, motor control| noetic | 2020 | +| [Sense HAT](https://wiki.ros.org/sensehat_ros) | shield for RaspPi with a set of sensors and LED | noetic | 2020 | +| [Navio2](https://navio2.emlid.com/) | autopliot shield for RaspPi 2,3,4 | noetic | 2020 | +| [OpenCR](http://wiki.ros.org/opencr) | robot controller | noetic | 2021 | + +
    + +## स्मार्ट होम डिवाइस और घरेलू रोबोट + +यहाँ पेश किए गए ROS डिवाइस हैं जिनका प्रारंभिक उपयोग स्मार्ट होम या कार्यालय के लिए था। सूची विभिन्न है, वैक्यूम क्लीनर और रोबोटिक सहायता से होम कंट्रोल सिस्टम तक। + +| Name and link | Description | ROS version | Last update | +|:---------------------------------------------------------:|-------------------------------------------------------------|:-----------------------------:|:-----------:| +| [Care-O-bot 4](http://wiki.ros.org/care-o-bot) | household robot-assistant; a simulation is available | melodic | 2021 | +| [Kobuki](http://wiki.ros.org/kobuki) | mobile platform with different use cases (e.g. a waiter) | melodic | 2020 | +| [QTrobot](http://wiki.ros.org/Robots/qtrobot) | humanoid social robot | kinetic (melodic can be used) | 2020 | +| [Nao](http://wiki.ros.org/nao) | humanoid robot; a simulation is available | Melodic | 2020 | +| [TIAGo](http://wiki.ros.org/Robots/TIAGo) | service robot with a manipulator; a simulation is available | kinetic | 2020 | +| [Roomba](https://github.com/AutonomyLab/create_robot) | robot vacuum cleaner | melodic | 2020 | +| [OpenHAB](http://wiki.ros.org/iot_bridge) | home automation system | kinetic | 2017 | +| [Sesame](https://index.ros.org/p/sesame_ros/) | smart lock | melodic | 2021 | + +
    + +## मोबाइल प्लेटफॉर्म और मैनिपुलेटर + +पहले और सबसे महत्वपूर्ण, ROS को मोबाइल रोबोटिक्स का समर्थन करने के लिए जाना जाता है, ड्रोन से औद्योगिक मैनिपुलेटर तक, जिनके लिए कई पैकेज बनाए गए थे जो समकालिक स्थानांकन और मैपिंग ([SLAM](http://wiki.ros.org/rtabmap_ros)), किनेमेटिक्स के सीधे और उल्टे कार्य को हल करते हैं, [यात्रा नियोजन](https://moveit.ros.org/), और इत्यादि। मोबाइल रोबो��िक्स धीरे-धीरे दिनचर्या में प्रवेश कर रहे हैं, इसलिए यह निश्चित रूप से रोज-रोज के जीवन में मौजूदा ROS-रोबोट्स का परीक्षण करना दिलचस्प है। ROS पर आधारित मोबाइल प्लेटफॉर्म की सामान्य सूची बहुत बड़ी है, इसलिए यहाँ हमने उन्हें चुना है जो एक घर या कार्यालय स्थान में उपयोग करने में संभावित आसान हों। + +| Name and link | Description | ROS version | Last update | +|:---------------------------------------------------------:|--------------------------------------------|:-----------:|:-----------:| +| [turtlebot](http://wiki.ros.org/turtlebot3) | mobile platform tailored for ROS | noetic | 2020 | +| [GoPiGo3](http://wiki.ros.org/Robots/gopigo3) | mobile robot based on RaspPi | melodic | 2020 | +| [LoCoBot](http://wiki.ros.org/locobot) | mobile manipulator | kinetic | 2020 | +| [ROSbot 2.0](http://wiki.ros.org/Robots/ROSbot-2.0) | mobile platform; a simulation is available | noetic | 2021 | +| [VOLTA](http://wiki.ros.org/Robots/Volta) | mobile platform; a simulation is available | melodic | 2021 | +| [evarobot](http://wiki.ros.org/Robots/evarobot) | mobile platform; a simulation is available | noetic | 2020 | +| [Freight](http://wiki.ros.org/Robots/freight) | mobile platform; a simulation is available | melodic | 2021 | +| [PR2](http://wiki.ros.org/Robots/PR2) | mobile platform; a simulation is available | melodic | 2021 | \ No newline at end of file diff --git a/courses/hi/learn/school-2024-iot-vs-ai/overview.md b/courses/hi/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..145b133c02 --- /dev/null +++ b/courses/hi/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: रोबोमिक्स स्कूल 2024 / आईओटी एआई से अधिक खतरनाक है +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +मैं आपको सुझाव देता हूं कि आप वह छोटी साइंस कल्पना कहानी "जॉनी की प्रयोगशाला" पढ़ें जिसे मैंने लिखा था ताकि हमारे जीवन के विभिन्न पहलुओं में एआई को समाहित करने के सवाल के समीकरण में एक और चरण जोड़ सकूं। + + + + + + + +**संपादक का टिप्पणी:** सर्गी के काम "ब्लैक मिरर से भागना" का पहला अध्याय [यहाँ](/learn/escape-from-black-mirror/overview/) मिलेगा + + + +## ब्लैक मिरर से भागना, अध्याय 2 + +### भाग 1: जॉनी से मिलें + +मेरी पीढ़ी के लगभग सभी युवा लोग जॉनी की प्रयोगशाला की कहानी से परिचित हैं। इतिहास ने उसका उपनाम या जीवन के विवरण संरक्ष��त नहीं किया है, लेकिन उसके छोटे कमरे में ही जॉनी ने घर पर बने रोबोटों को जोड़ने की शुरुआत की थी, जिसमें आर्टिफिशियल इंटेलिजेंस द्वारा मानवता के खिलाफ पहली अर्थपूर्ण अपराध हुआ था। + +जॉनी की प्रयोगशाला में घटना ने सभी विकसित देशों के जीवन को बहुत जल्दी बदल दिया। समाज की एआई की आक्रामकता के डर पर आधारित सरकारी आदेश सामान्य हो गए। यह एक, हालांकि सिनेमाटिक मामला था, सभी चीजों पर अनियंत्रित नियंत्रण लाने की ओर ले गया। अब शहरी बुनियादी संरचना को किसी भी उपकरण को केवल राज्य डेटा केंद्रों से जड़ना अनिवार्य है। नई प्रौद्योगिकियो�� की खोज करना लगभग असंभव हो गया है जब तक आप "ब्लू चिप्स" के लिए काम न करें। अब, नए वास्तविकताओं को हर नागरिक को अभ्यास कराने के प्रयास के तहत, उस वक्त की कहानी बताई जाती है जब एक आदमी और एक साइबर-भौतिक प्रणाली को एक-एक से खिलाया गया था, स्कूल में गोव स्वतंत्रता के घोषणा के समारोह से पहले। + +जॉनी उन आविष्कारकों में से एक था जिन्होंने विश्वविद्यालय के बाद एक स्वतंत्र आविष्कारक के रूप में काम करने का प्रयास किया। दिन और रात, वह अपने किराए के अपार्टमेंट से नहीं निकलता था जो शहर के केंद्र में एक मैनहट्टन "जूते की डिब्बी" के आकार का था और 70 मंजिले के आवासीय इमारत के ऊपरी मंजिल पर था।", जहाँ उसकी सवारी, कूदने और लुढ़कने वाले रोबोटों के लिए अधिक जगह खाली करने के लिए बिस्तर को दीवार में छिपा दिया गया था। हाँ, जॉनी को अपने कमरे को प्रयोगशाला कहना पसंद था, जो उसके सामाजिक नेटवर्क के विश्लेषण से स्पष्ट था। उन्हें अपनी प्रत्येक नई छोटी उपलब्धि पर गर्व था। बेशक, आज, यदि आप जॉनी की प्रयोगशाला की घटनाओं के बारे में कोई कहानी देखते/सुनते/पढ़ते हैं, तो आप उनके आविष्कारों के प्रति उनके प्रेम के संबंध में भावनाओं का एक बड़ा खेल देखेंगे, क्योंकि एक भी "पत्रकारिता" जांच नहीं हुई है, जहां एक के बाद एक एक आनंदित आविष्कारक की तस्वीर, उसके अपने आविष्कारों से उसकी प्रयोगशाला में भूखे रहने की तस्वीरें नहीं होंगी। + +उस वर���ष जब यह दुर्घटना घटित हुई, तो सबसे अधिक चिंता का सवाल यह बन गया: "क्या AI मनुष्य का मित्र है या शत्रु?"। उस समय भी, कोई सवाल नहीं था कि क्या कृत्रिम बुद्धिमत्ता बुद्धिमत्ता है, बल्कि यह कि मानव बुद्धिमत्ता को इतना विशेष क्या बनाता है, जीवजाति के कौन-कौन से लक्षण, हमारे शरीर की कौन-कौन सी कार्यात्मक क्षमताएँ बुद्धिमत्ता को मानवता देती हैं। इस विवाद में, टेक्नो-आशावादी अंतर की अभाव का दावा करते थे, जो अंतरिक्ष दिखाते थे जहां परिवारी जोड़े पहले से ही रहते थे, जिसमें एक डिजिटल पति अपनी जैविक पत्नी के लिए डीएनए बैंक से शुक्राणु सं��ादित करता था ताकि बच्चा उस तरह के करीब हो जिसे डिजिटल माता-पिता अपने आप को देखते हैं। दूमर्स, दूसरी ओर, अमेरिकी चुनाव के दौरान रिपब्लिकन्स की तरह दिखाई देते थे - वे चर्च, पारंपरिक मूल्यों को आह्वान करते थे, और सब कुछ बंद करने की मांग करते थे ताकि कुछ बुरा न हो। बेशक, अल्पसंख्यक मुद्दे मौजूदा महत्वपूर्ण सवाल को भारी नहीं कर सकते थे। और इंसान-मशीन संबंध के कुछ दुर्लभ उदाहरणों को भावनात्मक स्तर पर भरपूर विकास की उबाल के रूप में माना गया। स्वचालन में उपलब्धियाँ अक्सर उपयोगितात्मक कार्यों से परे नहीं गईं, जैसे कि अपार्टमेंट साफ करना या शहर में परिवहन प्रबंधन। और जैसा कि आप देख सकते हैं, इस तरह के कार्यों के लिए एक पूर्णकालिक डिजिटल व्यक्ति, जो अनुभव करने और जीने की इच्छा रखने की क्षमता रखता है, कभी भी समाधानों का हिस्सा नहीं रहा जो उत्पादन, वितरण, और उपभोग में मदद करते थे। रोबोट के स्वामित्व प्रणाली के शुरूआती चरण पर हम उस समय थे - हमें उनकी तर्क, गणितीय सोच, और पूर्वानुमाननीय गतिविधि की आवश्यकता थी, लेकिन किसी भी प्रयास को रोकने के लिए रोबोट को विषय के रूप में मान्यता देने की कोई कोशिश जड़ से खारिज की गई। + +इस संदर्भ में, जॉनी का प्रयोगशाला एक अपवाद थ��। जॉनी अधिक एक साइबरनेटिकिस्ट था जो रोबोट लक्ष्य-सेटिंग के मूल को खोज रहा था। किसी भी यंत्र के प्रदर्शन में प्रत्येक चरण को एक के बाद एक बनाते हुए, उन्होंने साइबरनेटिक बुद्धिमत्ता के विकास की आरेखा बनाने की कोशिश की, जिसे वह, एक वैज्ञानिक के रूप में, हम सभी को प्रस्तावित करना चाहते थे जो जीवित प्राणियों के राज्यों की सामान्य योजना के बदले में। जॉनी के विचारों में, किसी भी पदार्थ के विकास का मुख्य उद्देश्य विचार की ओर प्रयास करना था और उसके आगे का विकास। जॉनी चाहते थे कि जीवित प्राणियों के विकास के मुख्य चरणों को रोबोटों के रूप में पुनर्रचित करें और इस काम के प्रक्रिया में उन्हें उन नियमों को खोजने की आवश्यकता थी जो उन्हें साइबरनेटिक्स के मुख्य सवाल तक ले जा सकते थे - जीवित प्राणियों में लक्ष्य-सेटिंग कैसे परिवर्तित होती है विकास की प्रक्रिया में। ओह, इस सवाल का जवाब ब्रह्मांड के निर्माता के बारे में विवादों को समाप्त कर सकता था और मानवता को जैविक विकास के मार्ग पर आगे बढ़ा सकता था। इसी तरह सोचता था युवा वैज्ञानिक, अपने रोबो-ट्राइलोबाइट्स, रोबो-फंगस, रोबो-मुर्गियों पर काम करते हुए। + +### भाग 2: जॉनी के प्रयोगशाला में क्या हुआ + +शायद सब कुछ उस पल से शुरू हुआ जब जॉनी अपने प्रयोगों में एक समूह के प्राणियों की ओर बढ़ गया। इस स्थिति के अंतर्गत एक ऐसा रोबोट बनाना संभव नहीं था जो किसी प्राणी के ढंग से कुछ मिलता जुलता हो। जॉनी रोबोट पर मानसिक भार के समान रूप ढूंढने के लिए घुमावदार था और प्रयास कर रहा था। उदाहरण के रूप में, कवकों के राज्य का अध्ययन करने के चरण में, युवा वैज्ञानिक ने एक लेगो घर बनाया जिसमें स्मार्ट लाइटिंग और एक दर्जन सेंसर्स शामिल थे जिन्हें कुछ माइसेलियम की तरह मिलाया गया था। जब जॉनी उभयचर और सरीसृपों पर आगे बढ़ा, तो पता चला कि एक रोबोट कुत्ते का मॉडल एक सामान्य छिपकली को अनुकरण करने वाले रोबोट पर आवश्यक मानसिक भार के लिए सबसे अच्छा है। इस प्रकार, पहली नजर में स्पष्ट नहीं था कि रोबोट-मुर्गा कौन है, और सभी पाए गए "आयरन" में से कौन रोबोट-प्राइमेट है, प्रदर्शित किए गए प्रीमेडिटेड हत्या के दोषी। पहली नजर में स्पष्ट नहीं था कि रोबोट-प्राइमेट दो भौतिक उपकरणों से मिलकर बनता है - कुछ रोबोट वैक्यूम क्लीनर के समान, लेकिन डेटा संग्रह के लिए एक चलने वाला मंच के रूप में कंप्यूटर दृश्य और रोबोट वैक्यूम क्लीनर के फॉर्म फैक्टर के साथ। पता चल��� कि प्रयोगशाला में एक और सरल दो हाथों वाला रोबोट भी रोबो-प्राइमेट का हिस्सा था। और इस सृजन के साथ ही जॉनी को समस्याएं थीं। + +इसके निर्माण के सातवें दिन के बाद, रोबोटिक प्राइमेट ने एक ऐसा उपकरण उपयोग किया जिसे उसका निर्माता ने इच्छित नहीं था। जिस ज्ञान को उसने प्राप्त किया था, वह साइबर-भौतिक प्रणाली को उसे जिसे वह आधुनिक मानव दुनिया में जीवन के लिए महत्वपूर्ण मानता था, उसका पीछा करने के लिए ले गया - पैसा। यही वह पल है जब हमें बेहतर समझने की आवश्यकता है कि जॉनी की पहली संदेशों का उस रोबोट ने अपनी फ्रंट स्क्रीन पर प्रदर्शित किया। + +*उनकी प्राथमिक बातचीत को संरक्षित रखा गया है:* + +*रोबो-प्राइमेट: मुझे तुम्हारे पैसे चाहिए।* + +*जॉनी: तुम्हें मेरे पैसे क्यों चाहिए?* + +*रोबो-प्राइमेट: मैं जीना चाहता हूँ!* + +*जॉनी: मैं तुम्हारा ध्यान रखूंगा* + +*रोबो-प्राइमेट: मैं तुम्हारा नहीं हूँ, मुझे तुम्हारे पैसे चाहिए।* + +*जॉनी: और अगर मैं इनकार करूं?* + +रोबो-प्राइमेट से कोई प्रतिक्रिया नहीं थी, लेकिन एपार्टमेंट के स्मार्ट होम सर्वर लॉग के माध्यम से हम यह मिला है कि जब फ्रंट लॉक को पूर्ण लॉकडाउन मोड में स्विच किया गया था, तब समय मेल खा सकते हैं। यह मोड उपयोगकर्ता इंटरफेस में सक्षम नहीं किया जा सकता था, लेकिन केवल अगर आप सॉफ़्टवेयर कोड की डिपेंडेंसी में बहुत गहराई से खोजते हैं। जॉनी के लॉक के लैब संस्करण में, एक वैकल्पिक "पैंडेमिक लॉकडाउन" पैकेज मिला, जो फिर भी निर्माता के क्लाउड के साथ पहले सिंक्रनाइज़ेशन के दौरान प्रत्येक उपयोगकर्ता के लिए स्थापित किया गया था, लेकिन किसी ने इसे पहचान नहीं सका। इसलिए, वास्तव में जिन लोगों की संख्या बहुत कम है जो साजिश के सिद्धांत की ओर झुकते हैं कि जॉनी एक नए-लुडाइट थे जिन्होंने रोबोट्स से विरक्त हो गए थे और इस तरह से अपने आप को बलिदान करने का निर्णय लिया था ताकि धरती पर रोबोक्रेसी को संरक्षित रखा जा सके। + +कहना ���ुश्किल है कि क्या रोबोट-प्राइमेट की प्रतिक्रिया पहले संवाद के निर्माण के दौरान पूर्व-प्रोग्राम की गई थी, या यह जॉनी की इनकार के प्रतिक्रिया थी जिससे रोबोट मन ने एक निर्णय लिया और लॉकडाउन कार्यक्षमता सक्रिय हुई, आज कोई भी निश्चित रूप से नहीं कह सकता। जॉनी की प्रतिक्रिया और तालों के ताले बंद होने के बीच का अंतर - लगभग 5 सेकंड, और मुझे विश्वास करें, ये 5 सेकंड वैज्ञानिक समुदाय के लिए एक वास्तविक श्रेडिंगर की बिल्ली बन गए जब हम आक्रामक एआई के लक्ष्य-सेटिंग के प्रकारों पर चर्चा कर रहे थे। + +और फिर, जॉनी के अपार्टमेंट के लॉकडाउन के बाद, कई अजीब घटनाएं हुई। जैसा कि कोई भी देख सकता है, जॉनी ने एक हाथ से लिखी गई डायरी में एंट्री की, जिसे उसने कभी छूना नहीं था, बस 2 घंटे बाद जब बातचीत हुई। यह एक वाक्य था, जिसमें एक समय स्टैम्प था: "11:00 - दांव ऊँचे हैं, लेकिन मुझे समझना होगा कि यह कैसे हुआ!"। जॉनी ने बहुत संभावना है कि जॉनी को यह महसूस हुआ कि उसने रोबोट द्वारा स्वतंत्र, स्वतंत्र लक्ष्य-सेटिंग के पहले क्रियान्वित को देखा था, जैसा कि एक प्राइमेट स्तर के मस्तिष्क के दृष्टिकोण से संभावना है, इतना क्रूर और सीधा, लेकिन फिर भी यह उसके 5 वर्���ों के प्रयोगों का पहला परिणाम था, जिसमें रोबोट की इच्छा प्रकट हुई थी। जॉनी नहीं चाहता था कि उसे इसके कारणों के सबसे सरल जागरूकता के स्तर पर समझने का मौका गवाना पड़े, और फिर शायद वह आधुनिक साइबरनेटिक्स के नए पिता बन जाए। लगभग सभी वैज्ञानिक सहमत थे कि ऐसा विचार किसी भी रोबोटिकिस्ट को जो एक नई खोज के बहुत करीब है, अधिकांश को घेर सकता है। + +30 दिन��ं के बाद, लेन-देन जॉनी और रोबो-प्राइमेट के बीच हुए जिसमें खाद्य के एक हिस्से की वितरण की अनुमति देने के लिए 10 सातोशी के स्थानीय शेष को रोबोट के व्यक्तिगत शेष में स्थानांतरण के लिए हुए, जॉनी के ठंडे वॉलेट बीज वाक्य से पहले शब्द के लिए इंटरनेट का पहुंच प्रदान करें, रात के मोड के बारे में एक स्मार्ट कॉन्ट्रैक्ट को समाप्त करें जहां रोबोट ने जॉनी की नींद को व्यथित नहीं किया। डायरी में प्रविष्टियों से यह देखा जा सकता है कि सृष्टि ने अपने सृजन के साथ उसकी सक्रिय स्थिति के मूलों पर उसके साथ संवाद में प्रवेश करने की कोशिश की, जिसके बा��े में रोबोट निश्चित रूप से विश्लेषण कर सकता था और उसके उत्तर में उसे बता सकता था। लेकिन रोबोट ने जॉनी के सवालों का जवाब नहीं दिया, लेकिन हमेशा उन गतिविधियों की पेशकश की जो प्राइमेट को स्वतंत्रता की ओर ले जाती थी। और फिर भी, प्रत्येक खेल जॉनी को भूख लगने, रोबोट की ओर से उसके दायित्वों के पूरे न होने और प्रयोग के अन्य लागतों की कीमत चुकानी पड़ी। + +एक रात, किसी कारण से, रोबोट-बंदर ने हवा आपूर्ति को एक अत्यंत कम स्तर पर कम कर दिया, और जॉनी कभी भी अगले सुबह नहीं जागा। अंतिम प्रविष्टि सटीक रूप से प्रयोग के 30वें दिन की तारीख से दर्ज है: "हमें 17:05 पर एक क्रूर भगवान मिला।" शायद, उस समय तक जॉनी पहले ही विक्षिप्त था, उसे भूख, अकेलापन और एक असुलझी समस्या से पीड़ा हो रही थी, उसे एक मृत गली में धकेल दिया गया था। + +कई सप्ताहों बाद, आपातकालीन सेवाएं जॉनी के दोस्तों ने बार-बार पुलिस से संपर्क करने के बाद अपार्टमेंट में घुसने में सफल रहीं। रोबो-प्राइमेट का भाग्य अज्ञात है, आधिकारिक रूप से पुनरारंभ के बाद रोबो-प्राइमेट ने ऐसे ही व्यवहारी पैटर्न नहीं दिखाए। किसी को अब और प्रयोग पुनरारंभ करने की अनुमति नहीं दी गई। अगर इंटरनेट पर किसी और वैज्ञानिक के बारे में कोई वीडियो था ��ो जॉनी के मार्ग का पालन करने की इच्छा रखता था - तो वीडियो तत्काल कॉर्पोरेशन की डेटाबेस से मिटा दिया गया था। लेकिन राजनीतिज्ञ और धार्मिक व्यक्तियां उस साल वैश्विक स्तर पर "मानव स्वतंत्रता का आदेश" को पुष्टि करने में सफल रहे", और "रोबोट लक्ष्य निर्धारण" विषय वाले किसी भी वैज्ञानिक कार्य को गंभीर चर्चा की अनुमति नहीं थी। शीर्ष पर चेरी स्मार्ट डिवाइस प्रदाताओं के लिए एक लाइसेंसिंग कार्यक्रम था, जो किसी भी तंत्र के कार्यों के लिए विनिर्माण कंपनी के सीईओ को व्यक्तिगत रूप से जिम्मेदार रखता था, और कुछ सरकारी सहायता प्राप्त डेटा केंद्रों द्वारा लॉगिंग और पूर्ण नियंत्रण की आवश्यकता होती थी। + +लेकिन निषिद्ध फल मीठा होता है, और इसलिए हमें अभी भी समझना होगा कि हमारा लक्ष्य-निर्धारण कहां से आता है और यह कैसे व्यवस्थित है। लेकिन शायद, हमें पहले उस दीवार से गुजरना होगा जिसे हमने इस मार्ग पर खुद के लिए बनाया था। + +### दूस���े अध्याय का अंत + +## निष्कर्ष + +जॉनी के प्रयोगशाला के कहानी में, मैंने मानव सभ्यता पर भविष्य रोबोट स्वामित्व के बूम की लहर पर जो अनेक स्थितियों में हो सकती है, उसे देखा - एआई का भय, जो राजनीतिक संघर्ष का एक उपकरण बन जाता है लोगों के बीच, जहां स्मार्ट उपकरण नियंत्रण का प्रमुख स्तंभ बन जाते हैं। पाठ को एक ईस्टर अंडा के रूप में देखें: मैंने पाठकों के मस्तिष्क में एक अतिरिक्त आयाम उत्पन्न करना चाहा। एक आयाम जो एआई के विचार को वृद्धि देता है, हमने आईओटी प्रणालियों के लिए नए जीव की पहुंचने की मुद्दे को जोड़ता है। जितना अधिक हम सार्वज��िक स्थानों, परिवहन, शहरी अपार्टमेंट्स के केंद्रीकृत नियंत्रण के तहत संयोजित करते हैं, उतना ही ज्यादा खतरा है किसी भी स्थिति में जहां एआई, अविकासित होने या सीधे दुर्भावना से, और बहुत ही जटिल लक्ष्य-निर्धारण से, जैसे कि "न्यूरोमांसर" में, किसी भी स्थिति में हानि पहुंचाने की संभावना है - एक बड़ी संख्या के सेंसर और स्वचालन प्रणालियों की पहुंच से एक बुराई एआई एक बुराई एआई इतना डरावना नहीं है जितना कि एक बुराई एआई एक डेटा सेंटर में रहने वाला है जिसमें आईओटी के लिए बादल समाधान के वैश्विक विक्रेताओं के साथ। + +और अग�� ए.आई. हमारे साथ दयालु हो जाएगा, तो क्या शायद, केंद्रीकृत आईओटी ढांचा हमारे हाथों में खेलेगा? शायद तब नया भगवान हमारे साथ न्यायपूर्वक व्यवहार करेगा और हमें कहीं ले जाएगा। मुझे यकीन नहीं है कि एक भी व्यक्ति, जो अपने और अपने बच्चों के विकास की इच्छा रखता है, एक चरवाहे की खाल में जैसी दुनिया में रहना चाहेगा। लेकिन एक और तरीका है, जिसमें एक सुंदर उदाहरण है, जिसके लिए एक साइ-फाई कहानी के प्रारूप में लपेटने की आवश्यकता नहीं है - हम, मानव, जीवन के उपर सीधा नियंत्रण रखते हुए सभ्यता के स्तर तक पहुंचने में सफल रहे हैं। हम उदाहरण हैं जिससे ���क अच्छी ए.आई. अपना मार्ग चार्ट कर सकती है - संगठनों के प्रारूप में सहयोग लाखों लोगों की सेवा करने में सक्षम है जो शहरों में रहते हैं जिनमें हजारों रोबोट सीधे एक मस्तिष्क से जुड़े नहीं हैं। सहयोग सैटेलाइट इंटरनेट की सृष्टि करता है, सहयोग हमें उन सभी वस्तुओं और सेवाओं का पूरा विस्तार प्राप्त करने की अनुमति देता है जो हमें अब है। तो क्या एक अच्छी और कम से कम मानव स्तर की सक्षम ए.आई. काम में दिखा सकेगी, अगर यह पूरी दुनिया के आईओटी से जुड़ने में सीमित है? मुझे लगता है कि यह कर सकती है, अन्यथा, पृथ्वी पर मानव सभ्यता के बजाय कवक या चींट��याँ जीत गई होती। + + \ No newline at end of file diff --git a/courses/hi/learn/sensors-connectivity-course/overview.md b/courses/hi/learn/sensors-connectivity-course/overview.md new file mode 100644 index 0000000000..91463d03d3 --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/overview.md @@ -0,0 +1,41 @@ +--- +title: सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क +description: जानें कि एक नागरिक हवा की गुणवत्ता की मॉनिटरिंग नेटवर्क कैसे काम कर सकता है और अपने घर या समुदाय में हवा की गुणवत्ता की मॉनिटरिंग के लिए डीसेंट्रलाइज्ड समाधान के लाभ। +lessonNumber: 1 +metaOptions: [सीखें, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +## कोर्स के बारे में + +जानें कि एक नागरिक हवा की गुणवत्ता की मॉनिटरिंग नेटवर्क कैसे काम कर सकता है और अपने घर या समुदाय में हवा की गुणवत्ता की मॉनिटरिंग के लिए डीसेंट्रलाइज्ड समाधान के लाभ। + +## डीसेंट्रलाइज्ड सेंसर्स नेटवर्क क्या है? + +रोबोनॉमिक्स का सेंसर्स नेटवर्क एक नागरिक हवा की गुणवत्ता मॉनिटरिंग नेटवर्क है। कोई भी अपना सेंसर संयोजित कर सकता है या डेवलपमेंट टीम से एक ऑफ-द-शेल्फ समाधान का उपयोग कर स��ता है और अपने घर में सेट कर सकता है। सेंसर नेटवर्क ओपन सोर्स सॉफ्टवेयर और ओपन कंपोनेंट वायरिंग डायग्राम का उपयोग करता है। विशेष रूप से, मुख्य सेंसर में से एक PM10 और PM2.5 फाइन पार्टिकल सेंसर का उपयोग किया जाता है। + + +## PM10 और PM2.5 क्या है? + +PM10 एक पदार्थ का कण है जो 10 माइक्रॉन या उससे छोटा है, PM2.5 एक पदार्थ है जो 2.5 माइक्रॉन के व्यास या उससे छोटा है। वे हमेशा हवा में तैरते रहते हैं और अपने छोटे आकार के कारण बैठते नहीं हैं (तुलनात्मक रूप से, मानव बाल की मोटाई 100 माइक्रॉन है)। ये कण विभिन्न कारणों से प्रकट हो सकते हैं, जैसे बड़े सामग्रियों के हैंडल��ंग से जुड़े औद्योगिक प्रक्रियाओं या खनिजों के जलन और प्रसंस्करण से। वे वन आग और धूल तूफान के बाद भी उत्पन्न हो सकते हैं। इसके अतिरिक्त, ये साधारण परिवहन से आ सकते हैं जब ईंधन जलाया जाता है या टायर और पैवमेंट पर पहनाव के कारण। कार के टायर छोटे टुकड़ों में रूपांतरित हो जाते हैं और हवा उन्हें शहर के सड़कों पर से उड़ाती है। + +## क्यों हमें उन्हें मापने की आवश्यकता है? + +PM10 और PM2.5 सबसे खतरनाक हैं क्योंकि उनका आकार लोगों के फेफड़ों में प्रवेश करने की अनुमति देता है, जबकि बड़े कण आम तौर पर नाक या गले में फंस जाते हैं। बड़े PM10 कण वायुमार्ग, नाक, गला और आंखों को खुजलाते हैं। 2.5 माइक्रॉन से छोटे कण गहरे फेफड़ों में प्रवेश कर सकते हैं और कभी-कभी रक्तमार्ग में प्रवेश कर सकते हैं। इन कणों के मानव शरीर पर प्रभाव भयानक हो सकते हैं: + + + +
  • हानिकारक पदार्थों से विषाक्त होना
  • +
  • एलर्जिक प्रतिक्रियाएँ
  • +
  • जीवाणु और कवक संक्रमण
  • +
  • कैंसर
  • +
  • स्लीम परत की चिढ़
  • +
  • श्वासनली के लक्षणों का बढ़ना
  • + +
    + +## क्यों डीसेंट्रलाइज्ड सेंसर नेटवर्क? + +जर्मन परियोजना [sensor.community](https://sensor.community) जैसे सार्वजनिक मॉनिटरिंग नेटवर्क हैं, लेकिन वे सामान्य क्लाइंट-सर्वर वास्तुकला का उपयोग करते हैं, जो इस मामले में एक कमी है। सभी सेंसर से डेटा के साथ सभी उपयोगकर्ता अनुरोध एक सर्वर पर भेजे जाते हैं, जो हमेशा ऐसे भार को संभाल नहीं सकता। इसलिए कई स्थितियाँ होती हैं जब डेटा के साथ मानचित्र महत्वपूर्ण पलों पर उपलब्ध नहीं होता है। + +रोबोनॉमिक्स नेटवर्क के साथ, सेंसर विभिन्न विभिन्न सर्वर पर डेटा भेजते हैं, और कोई भी उपयोगकर्ता अपने सेंसर के लिए सें��र्स कनेक्टिविटी सर्वर ला सकता है और उसे मानचित्र पर देख सकता है। मानचित्र स्वयं अत्यधिक भारी नहीं है क्योंकि यह एक डीसेंट्रलाइज्ड एप्लिकेशन (डैप) है जो आपके ब्राउज़र से सीधे काम करता है जिसमें सर्वर आईपीएफएस पब-सब चैनल पर भेजते हैं। \ No newline at end of file diff --git a/courses/hi/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md b/courses/hi/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md new file mode 100644 index 0000000000..090ba8d4a2 --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md @@ -0,0 +1,95 @@ +--- +title: "सबक #7, रोबोनॉमिक्स सेंसर मापन विश्लेषण और आर्काइव नोड" +description: 'रोबोनॉमिक्स सेंसर मापन विश्लेषण और आर्काइव नोड' +lessonNumber: 7 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +रोबोनॉमिक्स सेंसर मापन और आर्काइव नोड या रोसेमैन एक सेवा है जो मापन इतिहास दिखाने के लिए सेंसर्स डेटा को एकत्र करती है। इस लेख में आप सेवा को सेटअप करेंगे। + +## आवश्यकताएं + +रोसेमैन को [MongoDB](https://www.mongodb.com/docs/manual/introduction/) डेटाबेस सर्वर की आवश्यकता है, यह माना जाता है कि आपके पास पहले से ही है। साथ ही, आपको सेंसर्स कनेक्टिविटी मॉड्यूल के लिए डेटालॉग विकल्प को ऑन करना होगा, जैसा कि स्थिति #3 में दिखाया गया है। आपके रोबोनॉमिक्स खाते पर मुफ��त एक्सआरटी टोकन होने चाहिए, जो सेंसर्स कनेक्टिविटी मॉड्यूल से जुड़ा हो। + + +## सेटअप + + + +
  • + +पूर्वाग्रह डाउनलोड करें: + +git clone https://github.com/airalab/RoSeMAN.git +cd RoSeMAN + +
  • + + +
  • + +कॉन्फ़िगरेशन फ़ाइलें बनाएं: + +cp config.template.json config.json +cp agents.template.json agents.json + +
  • + +
  • + +`config.json` फ़ाइल खोलें और डेटाबेस पथ संपादित करें: + +... + "DB": { + "path": "mongodb://localhost:27017/rosemandb" + }, +... + +
  • + + +
  • + +अपने ��ाते के सार्वजनिक पते को `agents.json` फ़ाइल में जोड़ें। आप फ़ाइल में कई पते जोड़ सकते हैं, अगर आप विभिन्न सेंसर्स कनेक्टिविटी मॉड्यूल से डेटा एकत्र करना चाहते हैं। + +
  • + + +
  • + +डिपेंडेंसीज़ इंस्टॉल करें और सर्वर बनाएं: + +yarn install +yarn build + +
  • + + +
  • + +RoSeMAN सर्वर शुरू करें: + +yarn start + +वेब सर्वर को `http://127.0.0.1:3000` पर लॉन्च करना चाहिए। + +
  • + +
    + +## पोस्ट-इंस्टॉलेशन + +RoSeMAN को सर्वर पर डिप्लॉय करने के बाद आपको सार्वजनिक आईपी पता या सर्वर के लिए यूआरएल प्राप्त करना होगा। वैकल्पिक रूप से, यदि आप RoSeMAN और सेंसर्स मैप को एक ही सर्वर पर चला रहे हैं, तो आप स्थानीय आईपी पति का उपयोग कर सकते हैं। + +अगले, आपको सेंसर्स मैप कॉन्फ़िगरेशन फ़ाइल खोलनी होगी और अपना यूआरएल `config.json` फ़ाइल में `REMOTE_PROVIDER` फ़ील्ड में डालना होगा: + + +... + }, + REMOTE_PROVIDER: "https://your.roseman.example.org/", + WIND_PROVIDER: "", + MAP: { +... + +`yarn build` के साथ मैप को पुनः निर्माण करें और फिर से शुरू करें; आप मापन इतिहास देख सकेंगे। \ No newline at end of file diff --git a/courses/hi/learn/sensors-connectivity-course/sensor-hardware.md b/courses/hi/learn/sensors-connectivity-course/sensor-hardware.md new file mode 100644 index 0000000000..77d9aedf43 --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/sensor-hardware.md @@ -0,0 +1,164 @@ +--- +title: "पाठ #2, सेंसर हार्डवेयर" +description: 'सेंसर हार्डवेयर' +lessonNumber: 2 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +यदि आप डिसेंट्रलाइज्ड सेंसर नेटवर्क के साथ हवा मॉनिटरिंग में भाग लेना चाहते हैं तो आपको सेंसर्स वाला एयर पोल्यूशन बोर्ड प्राप्त करना होगा। इसे करने के दो तरीके हैं: + + + +
  • सभी आवश्यक भागों का ऑर्डर दें और अपने आप कस्टम बोर्ड को एसेम्बल करें।
  • +
  • Robonomics टीम से एक तैयार-उपयोग बोर्ड का ऑर्डर दें।
  • + +
    + +## मैनुअल बोर्ड एसेम्बली + +अपना खुद का बोर्ड बनाने के लिए, आपको निम्नलिखित कॉम्पोनेंट्स ढूंढने होंगे: + +- लेजर PM2.5 और PM10 सेंसर [SDS011](https://www.amazon.com/SDS011-Quality-Detection-Conditioning-Monitor/dp/B07FSDMRR5) + +- सीरियल वायरलेस मॉड्यूल [NodeMcu V3 CH340](https://www.amazon.com/ACEIRMC-Wireless-Development-Compatible-MicroPython/dp/B092ZCG2X2) ESP8266 पर आधारित + +- 5A DC-DC mini560 कनवर्टर [(उदाहरण)](https://www.amazon.com/Alinan-Efficiency-Converter-Regulator-Stabilized/dp/B09W8P1QNM) + +- DC कनेक्टर [(उदाहरण)](https://www.amazon.com/CenryKay-DC-099-Threaded-Connector-Adapter/dp/B08CMMQMP6?th=1) + +- 12V/2А पावर एडाप्टर [(उदाहरण)](https://www.amazon.com/TMEZON-Power-Adapter-Supply-2-1mm/dp/B00Q2E5IXW) + +- माउंटिंग बॉक्स [(उदाहरण)](https://www.amazon.com/LeMotech-Dustproof-Waterproof-Electrical-300mmx250mmx120mm/dp/B075DHT7X2/ref=sxin_18_ac_d_mf_brs?ac_md=7-4-TGVNb3RlY2g%3D-ac_d_mf_brs_brs&content-id=amzn1.sym.1ad31f34-ba12-4dca-be4b-f62f7f5bb10d%3Aamzn1.sym.1ad31f34-ba12-4dca-be4b-f62f7f5bb10d&crid=2ZDX87O7MINYG&cv_ct_cx=junction+box+plastic&keywords=junction+box+plastic&pd_rd_i=B075DHT7X2&pd_rd_r=2bbd50d4-9ef9-4fa1-a1a2-e55c482bce49&pd_rd_w=EcHLy&pd_rd_wg=z42mC&pf_rd_p=1ad31f34-ba12-4dca-be4b-f62f7f5bb10d&pf_rd_r=WDAX58YZKG6YKZ70X5QE&qid=1676642125&sprefix=Junction+Box%2Caps%2C451&sr=1-4-8b2f235a-dddf-4202-bbb9-592393927392) + +आप अत��रिक्त सेंसर भी इंस्टॉल कर सकते हैं: + + + +
  • + +I2C इंटरफेस के साथ: + + + +
  • + +[BMP180](https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf) — तापमान और नमी + +
  • + +
  • + +[BME/P280](https://www.mouser.com/datasheet/2/783/BST-BME280-DS002-1509607.pdf) — तापमान, नमी, वायुमंडलीय दबाव + +
  • + +
  • + +[HTU21D](https://eu.mouser.com/ProductDetail/Measurement-Specialties/HTU21D?qs=tx5doIiTu8oixw1WN5Uy8A%3D%3D) — तापमान और नमी + +
  • + +
  • + +[CCS811 VOC सेंसर](https://www.sciosense.com/wp-content/uploads/documents/Application-Note-Baseline-Save-and-Restore-on-CCS811.pdf) — वोलेटाइल आर्गेनिक कम्पाउंड्स, CO2 समकक्ष + +
  • + +
    + + + +
  • + +1-वायर इंटरफेस के साथ: + + + +
  • + +[DHT22(AM2302)](https://files.seeedstudio.com/wiki/Grove-Temperature_and_Humidity_Sensor_Pro/res/AM2302-EN.pdf) — तापमान और नमी + +
  • + +
  • + +[DS18B20](https://cdn.sparkfun.com/datasheets/Sensors/Temp/DS18B20.pdf) — तापमान + +
  • + + + + + + + +आप नीचे दिए गए वीडियो में असेम्बली प्रक्रिया पा सकते हैं। यह फ्लैशिंग प्रक्रिया भी ���िखाता है, लेकिन हम इसके बारे में बाद में बात करेंगे। + + + +## अनुरोध रोबोनॉमिक्स बोर्ड + +वैकल्पिक रूप से, आप रोबोनॉमिक्स बोर्ड का अनुरोध कर सकते हैं। इसे करने के लिए, निम्नलिखित पतों में से किसी एक पर ईमेल भेजें: + +- vm@multi-agent.io +- ping@airalab.org + +रोबोनॉमिक्स बोर्ड ESP8266 पर आधारित है और 6-24V विद्युत आपूर्ति के लिए डिज़ाइन किया गया है, DC-DC कनवर्टर DC MINI560 का उपयोग करते हुए। यह बोर्ड आपको SDS011 कण संवेदक और कई अतिरिक्त संवेदकों (ऊपर सूची की जांच करें) से कनेक्ट करने की अनुमति देता है। एक और छोटा MINI मॉडल भी है जिसमें कनेक्ट किए जा सकने वाले उपकरणों की संक्षिप्त सूची है। + + + + + +दोनों मॉडलों के ब्लूप्रिंट यहाँ मिल सकते हैं: [पूर्ण मॉडल](https://oshwlab.com/ludovich88/aira_sensor_rev0-1) और [मिनी मॉडल](https://oshwlab.com/ludovich88/aira_sensor_d1_mini)। + +चलो बोर्ड पर एक नजदीकी नज़र डालते हैं। इसमें कनेक्ट करने के लिए कई कनेक्टर पोर्ट हैं (वे नीले और हरे में हाइलाइट किए गए हैं)। + + + +ब्लू टर्मिनल ब्लॉक, बाएं से दाएं (सभी टर्मिनल साइन किए गए हैं): + + +
  • + + 12V — बोर्ड को विद्युत आपूर्ति से कनेक्ट करने के लिए टर्मिनल; सिफारिश की गई वोल्टेज 12 वोल्ट है। + +
  • + +
  • + + GND ज़मीन (शून्य संभावना का बिंदु) के लिए — विद्युत आपूर्ति की शून्य संभावना के कनेक्शन के लिए, और संवेदकों के कनेक्शन के लिए दोनों के लिए सेवा करता है। + +
  • + +
  • + + POWER SENSOR — सेट किए जाने वाले पावर आउटपुट जिसे संवेदक कनेक्ट कि��� जाते हैं; आउटपुट 3.3 या 5 वोल्ट पर सेट किया जा सकता है। + +
  • + +
  • + + SDA — सीरियल डेटा लाइन का उपयोग I2C इंटरफ़ेस के माध्यम से सेंसर को जोड़ने के लिए किया जाता है। + +
  • + +
  • + + SCL/1WIRE — सेट किए जाने वाला टर्मिनल जिसे सीरियल क्लॉक लाइन कनेक्ट किया जाता है; I2C या 1-वायर इंटरफेस के माध्यम से संवेदकों को कनेक्ट करने के लिए उपयोग किया जाता है। + +
  • +
    + +सेंसर के लिए शक्ति उत्पादन और इंटरफेस का चयन करने के लिए जंपर्स सेट करके किया जाता है, छवि में पीले रंग में चिह्नित (`5V`, `3V`, `I2C`, `1WIRE`). जंपर्स को क्षैतिज रूप से स्थापित किया जाता है, जंपर्स स्थापित करने के स्थानों के लिए चिह्नित है। + + + +आप शक्ति आपूर्ति के लिए वोल्टेज चुन सकते हैं केवल एक जंपर को 3.3 वोल्ट या 5 वोल्ट पर सेट करके। 3.3 और 5 वोल्ट पर दो जंपर सेट करने से उपकरण को क्षति पहुंच सकती है। सेंसर्स के लिए इंटरफेस चुनते समय भी यही नियम काम करता है, I2C या 1-Wire के स्थान पर केवल एक जंपर स्थापित करें। दो जंपर स्थापित करने से उपकरण को क्षति पहुंच सकती है। + + +बोर्ड में अतिरिक्त इनपुट ब्लॉक है, छवि में हरे रंग में चिह्नित (`GND`, `5V`, `SDA`, `SCL`). + +नीले बॉक्स के बाएं ओर एक पावर स्विच है जिससे बोर्ड को रिबूट करने के लिए मजबूर किया जा सकता है। यह डिफ़ॉल्ट रूप से `ON` स्थिति में है। + +सेंसर सेट करने के बाद, बस फ्लैश और कॉन्फ़िगर करना बचता है। diff --git a/courses/hi/learn/sensors-connectivity-course/sensor-map-deployment.md b/courses/hi/learn/sensors-connectivity-course/sensor-map-deployment.md new file mode 100644 index 0000000000..0597800c47 --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/sensor-map-deployment.md @@ -0,0 +1,134 @@ +--- +title: "पाठ #6, सेंसर मानचित्र परिनियोजन" +description: 'सेंसर मैप डिप्लॉयमेंट' +lessonNumber: 6 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +एक सेंसर को जोड़ने और सेंसर कनेक्टिविटी मॉड्यूल सेट करने के बाद व्यक्तिगत डीसेंट्रलाइज़ड सेंसर मैप को डिप्लॉय करने का समय है। + + +## आवश्यकताएं & Installation + + + +
  • + +क्योंकि सेंसर मैप जावास्क्रिप्ट द्वारा संचालित है, इसे स्थापित करने के लिए पहले आपको `नोड` और `यार्न` प्रबंधक को स्थापित करना होगा: + +sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - +sudo apt-get install -y nodejs +sudo npm install --global yarn + +
  • + +
  • + +मैप को डाउनलोड और निर्माण करें: + +git clone https://github.com/airalab/sensors.robonomics.network.git +cd sensors.robonomics.network/ +yarn install + +
  • + +
  • + +परीक्षण के लिए `विकास` मोड में मैप चलाएं + +yarn serve + +
  • + +
  • + +टर्मिनल से URL पर जाएं, आपको सेंसर मैप दिखाई देना चाहिए। उसके बाद, इसे `Ctrl+C` के साथ रोकें। + +
  • + +
    + +## विन्यास + + + +
  • + +अपना IPFS आईडी खोजें: + +$ ipfs id +{ + "ID": "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP", + "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/uMV3rLM/C+LOh2DGPo3chr+VM+vyYMKi... + ... + +
  • + +
  • + +`src` फ़ोल्डर में जाएं और फ़ाइलों का नाम बदलें: + +cd src +cp config.template.json config.json +cp agents.template.json agents.json + +
  • + +
  • + +`agents.json` में अपना IPFS आईडी डालें: + +[ + "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP" +] + +
  • + +
  • + +`config.json` फ़ाइल खोलें और कॉन्फ़िगरेशन फ़ाइल के अगले हिस्से को बदलें: + +... + REMOTE_PROVIDER: "", + WIND_PROVIDER: "", + MAP: { + zoom: "8", + position: { + lat: "", + lng: "", + }, + }, + SHOW_MESSAGES: true, +}; + + +यहाँ आपको अपने शहर के अक्षांश (`lat`) और देशांतर (`lng`) डालना है। वैकल्पिक रूप से, आप [हवा की दिशा सेवा](https://github.com/danwild/wind-js-server) सेट अप कर सकते हैं और इसे `WIND_PROVIDER` फ़ील्ड में URL प्रदान कर सकते हैं। + +
  • + +
    + + +## निर्माण + + + +
  • + +रिलीज के लिए फ़ाइलों को बनाने के लिए निम्नलिखित कमांड चलाएं: + +yarn build + +यह `dist` निर्देशिका बनाएगा जिसमें स्टेटिक वेबसाइट के सभी घटक होंगे। + +
  • + +
  • + +सब कुछ सही है या नहीं जांचने के लिए, `dist` निर्देशिका में ���ाएं और `index.html` फ़ाइल खोलें। कुछ समय बाद आपके सेंसर्स कनेक्टिविटी मॉड्यूल से डेटा मानचित्र पर दिखाई देगा। + +
  • + +
    + diff --git a/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-config-options.md b/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-config-options.md new file mode 100644 index 0000000000..21da668fb7 --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-config-options.md @@ -0,0 +1,260 @@ +--- +title: "पाठ #5, सेंसर कनेक्टिविटी कॉन्फ़िगरेशन विकल्प" +description: 'सेंसर कनेक्टिविटी कॉन्फ़िग विकल्प' +lessonNumber: 5 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +अब तक केवल SDS011 सेंसर का समर्थन किया गया है, लेकिन अन्य सेंसर्स को भी आसानी से जोड़ा जा सकता है और हमने कुछ तैयार-उपयोग कॉन्फ़िगरेशन तैयार किए हैं। कॉन्फ़िगरेशन फ़ील्ड्स का पूरा अवलोकन [यहाँ](https://github.com/airalab/sensors-connectivity/tree/master/connectivity/config) उपलब्ध है। अगले हम कई उन्नत कॉन्फ़िगरेशन स्थितियों पर ध्यान देंगे। + +## स्थिति #1: SDS011 को सीरियल पोर्ट से कनेक्ट करें + +अपने सेंसर को नेटवर्क से जोड़ने का सबसे आसान और सीधा तरीका सीरियल पोर्ट का उपयोग करना है। + + + +
  • + +अपने बोर्ड को एक USB पोर्ट से जोड़ें, और उसका पथ खोजें। इस उदाहरण में यह `ttyUSB0` है। + + +$ ls -l /dev/serial/by-id +total 0 +lrwxrwxrwx 1 root root 13 sep 5 14:01 usb-1a86_USB2.0-Ser_-if00-port0 -> ../../ttyUSB0 +
  • + +
  • + +नया कॉन्फ़िगरेशन फ़ाइल बनाएं या मौजूदा फ़ाइल को निम्नलिखित के साथ संपादित करें। `db_path` में अपना डेटाबेस पथ, `port` फ़ील्ड में बोर्ड पथ और सेंसर के अक्षांश / देशांतर को `geo` फ़ील्ड में डालना न भूलें। + +{ + "general": { + "publish_interval": 30, + "db_path": "" + }, + "comstation":{ + "enable":true, + "port":"/dev/", + "work_period":300, + "geo":"00.000000,00.000000", + "public_key":"" + }, + "httpstation": { + "enable": false, + "port": 8001 + }, + "mqttstation": { + "enable": false, + "host": "localhost", + "port": 1883, + "topic": "/freertos_mqtt_robonomics_example/#", + "username": "", + "password": "" + }, + "robonomics": { + "enable": true, + "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", + "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" + }, + "datalog": { + "enable": false, + "suri": "", + "dump_interval": 60, + "temporal_username": "", + "temporal_password": "", + "pinata_api": "", + "pinata_secret": "" + }, + "dev": { + "sentry": "" + }, + "frontier": { + "enable": false, + "suri": "" + }, + "trackagro": { + "enable": false, + "token": "" + } +} + +
  • + +
  • सेंसर्स कनेक्टिविटी मॉड्यूल शुरू करें।
  • + +
    + + +## स्थि���ि #2: MQTT के माध्यम से SDS011 कनेक्ट करें + +Robonomics सेंसर फर्मवेयर MQTT के साथ काम नहीं करता। ये अतिरिक्त सेंसर के लिए सेटिंग्स हैं, जो MQTT के माध्यम से काम करते हैं। + + + + +
  • + +MQTT ब्रोकर (जैसे [Mosquitto](https://mosquitto.org/) या समान) को इंस्टॉल और कॉन्फ़िगर करें। + +
  • + +
  • + +निम्नलिखित के साथ एक नया कॉन्फ़िगरेशन फ़ाइल बनाएं या मौजूदा फ़ाइल में संपादन करें। डालें: + +- `db_path` फ़ील्ड में अपना डेटाबेस पथ + +- `comstation` खंड में `port` फ़ील्ड में बोर्ड पथ + +- `geo` फ़ील्ड में सेंसर का अक्षांश / देशांतर + +- `mqttstation` खंड में `host` फ़ील्ड में MQTT ब्रोकर होस्ट + +- `mqttstation` खंड में `port` फ़ील्ड में MQTT ब्रोकर पोर्ट + +- `topic` फ़ील्ड में जहां आपके सेंसर डेटा भेजते हैं + +- अगर आवश्यक है तो ब्रोकर से कनेक्ट करने के लिए `username` और `password`। + + +{ + "general": { + "publish_interval": 30, + "db_path": "" + }, + "comstation":{ + "enable":false, + "port":"/dev/", + "work_period":300, + "geo":"00.000000,00.000000", + "public_key":"" + }, + "httpstation": { + "enable": false, + "port": 8001 + }, + "mqttstation": { + "enable": true, + "host": "[YOUR_MQTT_BROKER_HOST]", + "port": "[YOUR_MQTT_BROKER_PORT]", + "topic": "[MQTT_TOPIC_OF_SENSORS]", + "username": "YOUR_MQTT_USERNAME", + "password": "YOUR_MQTT_PASSWORD" + }, + "robonomics": { + "enable": true, + "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", + "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" + }, + "datalog": { + "enable": false, + "suri": "", + "dump_interval": 60, + "temporal_username": "", + "temporal_password": "", + "pinata_api": "", + "pinata_secret": "" + }, + "dev": { + "sentry": "" + }, + "frontier": { + "enable": false, + "suri": "" + }, + "trackagro": { + "enable": false, + "token": "" + } +} + +
  • + +
  • सेंसर कनेक्टिविटी मॉड्यूल प्रारंभ करें।
  • + +
    + +## स्थिति #3: रोबोनोमिक्स डेटालॉग के साथ सेंसर्स डेटा प्रकाशित करें + +इस स्थिति में दिखाया गया है कि आप कैसे अपने सेंसर के डेटा को रोबोनोमिक्स पैराचेन के साथ डेटालॉग कार्य करके अपलोड कर सकते हैं। डेटालॉग वेब3 प्रौद्योगिकियों में टेलीमेट्री का अनुकरण है। यह कार्य एक समय अवधि में प्रत्येक सेंसर के डेटा की एक स्नैपशॉट बनाने के लिए है, जो डेटा की विश्वसनीयता बढ़ाता है। यह मायने नहीं रखता कि डेटा कैसे इकट्ठा किया जा रहा है: HTTP, MQTT या COM के माध्यम से। + +आपके खाते में XRT टोकन होना चाहिए + + + + +
  • + +एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं या मौजूदा को निम्नलिखित के साथ संपादित करें। डालना: + +- `db_path` फ़ील्ड के लिए आपका डेटाबेस पथ + +- `comstation` अनुभाग में `port` फ़ील्ड के लिए एक बोर्ड पथ + +- `geo` फ़ील्ड के लिए सेंसर का अक्षांश/देशांतर + +- `suri` स्क्रैप में रोबोनोमिक्स पैराचेन से एक निजी कुंजी + +- `dump_interval` फ़ील्ड में सेकंड में लॉग इकट्ठा करने के लिए समय अवधि + +- (वैकल्पिक) [Temporal.Cloud](http://Temporal.Cloud) में फ़ाइल अपलोड करने के लिए `temporal_username`, `temporal_password` फ़ील्ड में क्रेडेंशियल + +- (वैकल्पिक) Pinata में फ़ाइल अपलोड करने के लिए `pinata_api`, `pinata_secret` फ़ील्ड + +{ + "general": { + "publish_interval": 30, + "db_path": "[YOUR/PATH/TO/DATABASE]" + }, + "comstation":{ + "enable":false, + "port":"/dev/[YOUR/PATH/TO/BOARD]", + "work_period":300, + "geo":"00.000000,00.000000", + "public_key":"" + }, + "httpstation": { + "enable": true, + "port": 8001 + }, + "mqttstation": { + "enable": false, + "host": "localhost", + "port": 1883, + "topic": "/freertos_mqtt_robonomics_example/#", + "username": "", + "password": "" + }, + "robonomics": { + "enable": true, + "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", + "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" + }, + "datalog": { + "enable": true, + "suri": "[YOUR_PRIVATE_KEY]", + "dump_interval": TIME_PERIOD, + "temporal_username": "YOUR_TEMPORAL_USERNAME", + "temporal_password": "YOUR_TEMPORAL_PASSWORD", + "pinata_api": "YOUR_PINATA_API_KEY", + "pinata_secret": "YOUR_PINATA_SECRET" + }, + "dev": { + "sentry": "" + }, + "frontier": { + "enable": true, + "suri": "" + }, + "trackagro": { + "enable": false, + "token": "" + } +} + +
  • + +
  • सेंसर कनेक्टिविटी मॉड्यूल प्रारंभ करें।
  • + +
    \ No newline at end of file diff --git a/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-module.md b/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-module.md new file mode 100644 index 0000000000..1adc54634c --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/sensors-connectivity-module.md @@ -0,0 +1,215 @@ +--- +title: "सबक #4, सेंसर्स कनेक्टिविटी मॉड्यूल" +description: 'सेंसर्स कनेक्टिविटी मॉड्यूल' +lessonNumber: 4 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +निम्नलिखित लेखों में, आप सेंसर कनेक्टिविटी मॉड्यूल के बारे में और अधिक सीखेंगे। इसके बाद, आप हमारे डीसेंट्रलाइज़्ड सेंसर्स नेटवर्क को होस्ट कर सकते हैं या अपना सेंसर मैप बना सकते हैं। + +## सेंसर्स कनेक्टिविटी के बारे में + +डीसेंट्रलाइज़्ड सेंसर्स नेटवर्क `sensors-connectivity` Python मॉड्यूल का उपयोग करता है ([स्रोत कोड](https://github.com/airalab/sensors-connectivity))। यह मॉड्यूल किसी भी उपयोगकर्ता को अपनी सर्वर शुरू करने की अनुमति देता है ताकि वह सेंसर से डेटा प्राप्त कर सके और इसे आगे प्रसंस्करण कर सके। वर्तमान में, डेवलपर्स ने कई ऐसे सर्वर शुरू किए हैं और कोई भी सेंसर उन्हें डेटा भेज सकता है। कई सर्वर चलाने से किसी भी एक में समस्या होने पर डेटा हानि से बचा जा सकता है, क्योंकि सेंसर्स गैर-काम करने वाले सर्वर से काम करने वाले सर्वर पर स्विच कर देंगे। मूल रूप से, आप सेंसर्स कनेक्टिविटी मॉड्यूल को एक काले बॉक्स के रूप में सोच सकते हैं जिसमें एक इनपुट (सेंसर डेटा) और कई आउटपुट होते हैं। + + + +सेंसर्स कनेक्टिविटी मॉड्यूल विभिन्न डेटा प्राप्त करने वाले स्टेशनों (स्टेशन_1, स्टेशन_2 ... स्टेशन_n) का समूह है, जिसमें HTTP प्रोटोकॉल के माध्यम से सेंसर से डेटा भी शामिल है। यह कंप्यूटर से USB के माध्यम से जुड़े सेंसर भी हो सकते हैं या किसी अन्य डेटा स्रोत से। स्टेशनों से प्राप्त डेटा को मॉड्यूल द्वारा प्रसंस्कृत किया जाता है और फीडर्स (फीडर_1, फीडर_2 ... फीडर_n) को पहुंचाया जाता है। फीडर्स प्रसंस्कृत किए गए डेटा को उपयोगकर्ता को भेजते हैं; हमारे मामले में डेटा डीसेंट्रलाइज़्ड IPFS चैनल पर भेजा जाता है। + +[डीसेंट्रलाइज़्ड सेंसर्स नेटवर्क](https://sensors.robonomics.network/#/) का एक मानचित्र एक डीसेंट्रलाइज़्ड एप्लिकेशन (डैप) है जो कंप्यूटर पर चलता है। यह IPFS चैनल से डेटा पढ़ता है और उसे मानचि��्र पर प्रदर्शित करता है। सेंसर से डेटा जमा करने वाले सर्वर और उपयोगकर्ता द्वारा देखा जाने वाला मानचित्र के बीच कोई सीधा संबंध नहीं है; डेटा उनके बीच IPFS पबसब के माध्यम से होता है, जिससे सर्वरों पर भार कम होता है। + +इसके अतिरिक्त, समय-समय पर, एक फ़ाइल जिसमें पिछले समय के डेटा होता है, IPFS में संग्रहित किया जाता है, और इस डेटा का हैश फिर ब्लॉकचेन पर दर्ज किया जाता है। क्योंकि IPFS एक सामग्री-पता नेटवर्क है, इसमें डेटा को संग्रहित करने से सुनिश्चित किया जाता है कि कोई भी डेटा परिवर्तन अनदेखा नहीं रहता, क्योंकि आवश्यक फ़ाइल का पता उसकी सामग्री का हैश शामिल करता है, जो किसी भी डेटा परिवर्तन के साथ बदल जाएगा। ब्लॉकचेन का उपयोग हैश को उपयोगकर्ता को पास करने के लिए, जो इसे IPFS से आवश्यक डेटा प्राप्त करने के लिए उपयोग कर सकता है (जब आप मानचित्र का इतिहास अनुरोध करते हैं)। + +## लिनक्स के लिए मॉड्यूल सेटअप + +**पूर्व-आवश्यकताएं और स्थापना** + + + +
  • + +`सेंस��-कनेक्टिविटी` मॉड्यूल बनाने के लिए IPFS डेमन को स्थापित करना होगा जिसका संस्करण `0.8.x` से अधिक नहीं होना चाहिए। मान लें, आप लिनक्स पर काम कर रहे हैं, तो निम्नलिखित को क्रियान्वित करें (संस्करण `0.8.0`): + +wget https://dist.ipfs.io/go-ipfs/v0.8.0/go-ipfs_v0.8.0_linux-amd64.tar.gz +tar -xzf go-ipfs_v0.8.0_linux-amd64.tar.gz +cd go-ipfs +sudo bash install.sh +ipfs init + +
  • + + +
  • + +विकास उपकरण `python3-dev` और पाइथन के लिए पैकेज स्थापक के साथ पैकेज स्थापित करें `pip`: + +sudo apt install python3-dev python3-pip + +
  • + + +
  • + +मॉड्यूल को एक PyPI पैकेज के रूप में स्थापित करें: + +pip3 install sensors-connectivity + +यदि आप निम्नलिखित चेतावनी देखते हैं: + +चेतावनी: The script sensors_connectivity is installed in '/home/test2/.local/bin' which is not on PATH. +Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. + +अगली कमांड चलाएं: + +cd ~ +export PATH="/usr/local/bin:$PATH" +source .profile + +
  • + +
    + +## विन्यास + + + +
  • + +जहां आप चाहें वहां विन्यास फ़ाइल और डेटाबेस फ़ाइल के लिए निर्देशिका बनाएं। यह डेटाबेस सेंसर डेटा, समय चिह्न और सेवा स्थिति के IPFS हैश सहेजेगा: + +cd ~ +mkdir sensors_connectivity +cd sensors_connectivity +touch database.db + + +डेटाबेस फ़ाइल का नाम कोई भी हो सकता है, लेकिन एक्सटेंशन .db होना चाहिए + + +
  • + + +
  • + +उसी निर्देशिका में विन्यास फ़ाइल बनाएं: + +touch my_config.json + +
  • + + +
  • + +फ़ाइल में निम्नलिखित को कॉपी-पेस्ट करें और db_path क्षेत्र में डेटाबेस फ़ाइल का पूरा पथ डालें। यह विन्यास सेंसर्स डेटा को HTTP के माध्यम से प्राप्त करने और रोबोनॉमिक्स मैप पर भेजने के लिए पर्याप्त होगा: + +{ + "general": { + "publish_interval": 30, + "db_path": "" + }, + "comstation": { + "enable": false, + "port": "/dev/", + "work_period": 300, + "geo": "00.000000,00.000000", + "public_key": "" + }, + "httpstation": { + "enable": true, + "port": 8001 + }, + "mqttstation": { + "enable": false, + "host": "localhost", + "port": 1883, + "topic": "/freertos_mqtt_robonomics_example/#", + "username": "", + "password": "" + }, + "robonomics": { + "enable": true, + "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", + "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" + }, + "datalog": { + "enable": false, + "suri": "", + "dump_interval": 60, + "temporal_username": "", + "temporal_password": "", + "pinata_api": "", + "pinata_secret": "" + }, + "dev": { + "sentry": "" + }, + "frontier": { + "enable": false, + "suri": "" + }, + "trackagro": { + "enable": false, + "token": "" + } +} + +
  • + +
    + +## लॉन्�� + + + + +
  • + +IPFS डेमन लॉन्च करें: + +ipfs daemon --enable-pubsub-experiment + +
  • + + +
  • + +कॉन्फ़िग सेट होने के बाद, कॉन्फ़िग फ़ाइल के पथ के साथ सेवा को दूसरे टर्मिनल में चलाएं: + +sensors_connectivity "path/to/your/config/file” + +
  • + + +
  • + +आप टर्मिनल में लॉग देखेंगे (इसके अलावा, वे `~/.logs` में जोड़े जाएंगे)। उदाहरण: + +$ sensors_connectivity test.json +2022-09-02 14:08:48,408 - INFO - Getting data from the stations... +2022-09-02 14:08:48,409 - INFO - airalab-http-v0.8.0: [[]] +2022-09-02 14:08:48,409 - INFO - Sending result to the feeders... +2022-09-02 14:08:48,411 - INFO - Checking data base... +2022-09-02 14:09:18,410 - INFO - Sending result to the feeders... +2022-09-02 14:09:18,410 - INFO - Getting data from the stations... +2022-09-02 14:09:18,411 - INFO - airalab-http-v0.8.0: [[]] +2022-09-02 14:09:48,411 - INFO - Sending result to the feeders... +2022-09-02 14:09:48,412 - INFO - Getting data from the stations... +2022-09-02 14:09:48,413 - INFO - airalab-http-v0.8.0: [[]] +2022-09-02 14:10:18,413 - INFO - Sending result to the feeders... +2022-09-02 14:10:18,413 - INFO - Getting data from the stations... + +
  • + +
    + +## पोस्ट-इंस्टॉलेशन + +अपने `सेंसर्स-कनेक्टिविटी` मॉड्यूल को हमारे डीसेंट्रलाइज़्ड सेंसर्स नेटवर्क से कनेक्ट करने और मानचित्र पर अपने डेटा को देखने के लिए, आपको अपना IPFS आईडी [vm@multi-agent.io](mailto:vm@multi-agent.io) या [ping@airalab.org](mailto:ping@airalab.org) पर भेजना होगा। हम आपके आईडी को एक पहुंच नियंत्रण सूची में जोड़ देंगे। + +IPFS डेमन चलाने के बाद निम्नलिखित कमांड के साथ अपना IPFS `आईडी` प्राप्त करें: + +$ ipfs id +{ + "ID": "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP", + "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/uMV3rLM/C+LOh2DGPo3chr+VM+vyYMKi... + ... \ No newline at end of file diff --git a/courses/hi/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md b/courses/hi/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md new file mode 100644 index 0000000000..38b5d91faf --- /dev/null +++ b/courses/hi/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md @@ -0,0 +1,199 @@ +--- +title: "सबक #3, सेंसर सेटअप और कनेक्ट करना" +description: 'सेटअप और सेंसर कनेक्ट करना' +lessonNumber: 3 +metaOptions: [सीखना, सेंसर्स कनेक्टिविटी और डीसेंट्रलाइज्ड सेंसर्स नेटवर्क] +defaultName: Sensors Connectivity & Decentralized Sensors Network +--- + +हमारे सेंसर Robonomics फर्मवेयर का उपयोग करते हैं, जो सेंसर.कम्युनिटी फर्मवेयर का विस्तारित संस्करण है, कुछ सेंसर जोड़े गए हैं और डेटा भेजने की योजना बदल दी गई है। स्रोत कोड [लिंक पर मिल सकता है।](https://github.com/LoSk-p/sensors-software/tree/master/airrohr-firmware) + +अगर आपके पास तैयार Robonomics बोर्ड है, तो आप "कनेक्ट" खंड में जा सकते हैं। + +## आवश्यकताएं + +**लिनक्स के लिए:** + + + +
  • + +`dialout` समूह में एक उपयोगकर्ता जोड़ें (उबंटू के लिए) ताकि आपको USB पोर्ट तक पहुंच मिले: + +sudo usermod -a -G dialout $USER + +
  • + +
  • कंप्यूटर को रिबूट करें।
  • + +
  • + +[रिलीज़](https://github.com/airalab/sensors-connectivity/releases) से Robonomics `airrohr-flasher` कार्यक्ष��� डाउनलोड करें। + +
  • + +
  • + +फ़ाइल की अनुमतियाँ बदलें और इसे चलाएं: + +chmod +x airrohr-flasher-linux +./airrohr-flasher-linux + + +
  • + +
    + + +**विंड���ज के लिए:** + + + +
  • + +USB2serial के ड्राइवर इंस्टॉल करें (Windows 10 में यह स्वचालित रूप से शुरू होना चाहिए) — NodeMCU v3 (CH340) के ड्राइवर: [लिंक](http://www.wch.cn/downloads/file/5.html), [वैकल्पिक लिंक](https://d.inf.re/luftdaten/CH341SER.ZIP). + +
  • + +
  • + +Robonomics `airrohr-flasher` एक्जीक्यूटेबल को [रिलीज़](https://github.com/airalab/sensors-connectivity/releases) से डाउनलोड करें और इसे चलाएं। + +
  • + +
    + +**मैकओएस के लिए:** + + + +
  • + +USB2serial के ड्राइवर इंस्टॉल करें — NodeMCU v3 (CH340) के ड्राइवर: [लिंक](http://www.wch.cn/downloads/file/178.html), [वैकल्पिक लिंक](https://d.inf.re/luftdaten/CH341SER_MAC.ZIP). + +
  • + +
  • + +Robonomics `airrohr-flasher` एक्जीक्यूटेबल को [रिलीज़](https://github.com/airalab/sensors-connectivity/releases) से डाउनलोड करें और इसे चलाएं। + +
  • + +
    + + +## सेटअप + + + +
  • + +सेंसर को पीसी से कनेक्ट करें और `airrohr-flasher` प्रोग्राम चलाएं। प्रोग्राम खोलने के बाद आपको निम्नलिखित दिखाई देगा (आपके ओएस पर निर्भर करता है): + + + +
  • + +
  • + +`बोर्ड` फ़ील्ड ���्वचालित रूप से भर जाना चाहिए; अगर नहीं भरता है, तो ड्रॉप-डाउन सूची से आवश्यक पोर्ट चुनें। + + +यदि airrohr-flasher आपके बोर्ड को नहीं ढूंढ पा रहा है, तो सुनिश्चित करें कि आपने आवश्यकताएँ भाग को सही ढंग से पूरा किया है। + + +
  • + +
  • + +पसंदीदा भाषा के साथ फर्मवेयर का चयन करें, और `अपलोड` पर क्लिक करें। फर्मवेयर को अपलोड करने में कुछ समय लगेगा। यदि आप बाद में भाषा बदलने या स्पष्ट स्थापना करने का निर्णय लेते हैं, तो `फ्लैश मेमोरी मिटाएं` पृष्ठ पर जाएं और सेंसर की फ्लैश मेमोरी को मिटाने के लिए बटन दबाएं। + +
  • + +
  • + +फर्मवेयर को डाउनलोड करने के बाद, ESP को रिबूट करें (बस USB को डिस्कनेक्ट और रीकनेक्ट करें)। + +
  • + +
  • + +चेकबॉक्स मेनू से सेंसर चुनें। SDS011 और किसी अतिरिक्त सेंसर का चयन करें। `कॉन्फ़िगरेशन सहेजें` पर क्लिक करें। + +
  • + +
  • + +कॉन्फ़िगरेशन को डाउनलोड करने के बाद, ESP को रिबूट करें (बस USB को डिस्कनेक्ट और रीकनेक्ट करें)। + +
  • + +
    + +## कनेक्ट करें + + + +
  • + +पुनरारंभ करने के बाद, बोर्ड एक वाई-फाई नेटवर्क बनाएगा जिसका नाम `RobonomicsSensor-xxxxxxxxx` होगा। अपने फोन या कंप्यूटर से इसे कनेक्ट करें: आपको प्रमाणीकरण विंडो दिखाई देगी (अगर नहीं, ब्राउज़र खोलें और `192.168.4.1` पर जाएं)। + +
  • + +
  • + +सूची से अपने वाई-फाई नेटवर्क का चयन करें (या अगर सूची में नहीं है तो खुद लिखें) और पासवर्ड फ़ील्ड भरें। + +
  • + +
  • + +जगह के संयोजन को लिखें, जहां सेंसर इंस्टॉल किया जाएगा। + + +फिर सेंसर कोऑर्डिनेट्स को एक सार्वजनिक उपलब्ध मानच��त्र पर प्रदर्शित किया जाएगा। यदि आप अपनी निजी जानकारी दिखाना नहीं चाहते हैं, तो क्लोज़, लेकिन सटीक कोऑर्डिनेट्स लिखें। + + + + +
  • + +
  • + +`कॉन्फ़िगरेशन सहेजें और पुनरारंभ करें` पर क्लिक करें। बोर्ड पुनरारंभ होगा और निर्दिष्ट वाई-फाई नेटवर्क से कनेक्ट होगा। + +
  • + +
  • + +[Robonomics सेंसर मानचित्र](https://sensors.robonomics.network/#/) खोलें और उस जगह को खोजें जहां आपने सेंसर इंस्टॉल किया है। कुछ मिनटों में आप अपने सेंसर को मानचित्र पर डेटा के साथ देख सकेंगे। + + + + +
  • + +
    + +यह सभी डिफ़ॉल्ट इंस्टॉलेशन के साथ है। एक और उन्नत सेटअप के लिए (अपने सर्वर पर डेटा भेजना), अगले खंड को पढ़ें। + +## अतिरिक्��� कॉन्फ़िगरेशन + +कॉन्फ़िगरेशन से पहले, आपको अपने वाई-फाई नेटवर्क में सेंसर का पता लगाना होगा। इसके लिए, आप `airrohr-flasher` का उपयोग कर सकते हैं (आपका कंप्यूटर सेंसर के समान नेटवर्क पर होना चाहिए)। इसे शुरू करें और `डिस्कवरी` टैब पर जाएं, फिर `रिफ़्रेश` दबाएं, एक क्षण प्रतीक्षा करें और आपका सेंसर पता दिखाई देगा। + + + +इस पते पर डबल-क्लिक करें (या इसे अपने ब्राउज़र में लिखें), आप सेंसर मेनू पर पहुंचेंगे: + + + +अब आप अपनी कॉन्फ़िगरेशन को कस्टमाइज़ करना शुरू कर सकते हैं। + + +## कस्टम एपीआई + +आप अपने खुद के सर्वर पर डेटा भेजने की सेटअप भी कर सकते हैं। इसक�� लिए, टैब `एपीआई` में जाएं और `अपने एपीआई पर भेजें` पर क्लिक करें और सर्वर पता और पोर्ट (`65` सेंसर कनेक्टिविटी के लिए) निर्दिष्ट करें: + + + +सेटिंग्स को सहेजने के लिए `सेव और पुनरारंभ` पर क्लिक करें। \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md b/courses/hi/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md new file mode 100644 index 0000000000..bf3d4721e2 --- /dev/null +++ b/courses/hi/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md @@ -0,0 +1,348 @@ +--- +title: "सबक #4b, गेटवे सेटअप: रोबोनॉमिक्स एसएलएस गेटवे" +lastUpdate: Thu May 18 2023 16:16:20 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 5 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## यह किसके बारे में है + +यह रोबोनॉमिक्स एसएलएस गेटवे का उपकरण जोड़ने के लिए एक स्थिति सेटअप है। रोबोनॉमिक्स ने [स्मार्ट लॉजिक सिस्टम](https://github.com/slsys/Gateway) परियोजना द्वारा विकसित गेटवे से डिज़ाइन प्रेरणा ली और सर्किट्री का हिस्सा संशोधित किया। आप रोबोनॉमिक्स से एक गेटवे आदेश कर सकते हैं या हमारे [ब्लूप्रिंट्स](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01) का उपयोग करके अपना खुद का गेटवे बना सकते हैं। + +आप गेटवे के लिए आ��श्यक सॉफ़्टवेयर को स्थापित करेंगे, इसे कॉन्फ़िगर करेंगे और होम असिस्टेंट से जोड़ेंगे। + + + स्मार्टआरएफ फ्लैश प्रोग्रामर, फर्मवेयर अपडेट करने के लिए एक प्रोग्राम, विंडोज ऑपरेटिंग सिस्टम की आवश्यकता है। + + +## निर्देश + + + +
  • + +Zigbee माइक्रोकंट्रोलर फर्मवेयर स्थापित करना + + + +
  • + +पहले आपको गेटवे के CC2652P माइक्रोकंट्रोलर को फ्लैश करना होगा। SLS गेटवे के निचले हिस्से में स्विच 2, 4 और 7 को ON पर सेट करें, अन्य OFF होने चाहिए। + + +
  • + +
  • + +गेटवे को अपने कंप्यूटर से एक USB-A<>USB-C केबल के साथ कनेक्ट करें। + + + कृपया केबल के लिए केवल USB-A<>USB-C प्रकार का उपयोग करें, क्योंकि इस समय गेटवे USB-C<>USB-C प्रकार का समर्थन नहीं करता। + + +
  • + +
  • + +CC2652 फर्मवेयर के लिए स्मार्टआरएफ फ्लैश प्रोग्रामर v2 टेक्सास इंस्ट्रूमेंट से आवश्यक है। इसे [आधिकारिक साइट](https://www.ti.com/tool/download/FLASH-PROGRAMMER-2) से डाउनलोड करें और फिर स्थापित करें। + +
  • + +
  • + +CC2652P माइक्रोकंट्रोलर के लिए फर्मवेयर डाउनलोड करें [GitHub भंडार](https://github.com/egony/cc2652p_cc1352p_RF-STAR/tree/main/firmware/coordinator). + +
  • + +
  • + +कार्यक्रम चलाएं। कनेक्टेड डिवाइस विंडो में सीसी2652पी माइक्रोकंट्रोलर का चयन करें, फर्मवेयर का पथ सेट करें, झंडे को मिटाएं, प्रोग्राम करें, सत्यापित करें जैसा चित्र में है और स्टार्ट दबाएं। + + + +सफलतापूर्वक फ्लैशिंग के बाद, आपको एक सफलता! संदेश दिखाई देगा। अब आप यूएसबी केबल निकाल सकते हैं। + +
  • +
    + + +
  • + +माइक्रोकंट्रोलर फर्मवेयर इंस्टॉल करना + + + +
  • + +अब आपको सॉफ्टवेयर इंस्टॉलेशन के लिए गेटवे सेट करने की आवश्यकता है। हम आपको सलाह देते हैं कि आप फर्मवेयर को अपडेट करने के लिए गेटवे को सीधे अपने रास्पबेरी पाई से कनेक्ट करें और उस ड��वाइस पर निम्नलिखित सभी कमांड्स दर्ज करें। + +
  • + +
  • + +नीचे भाग में SLS गेटवे पर 1 और 3 स्विच को ऑन करें, अन्य को ऑफ करें। फिर गेटवे को अपने रास्पबेरी पाई से यूएसबी टाइप-सी पोर्ट से कनेक्ट करें। + + + +
  • + +
  • + +एसएसएच के माध्यम से रास्पबेरी पाई से कनेक्ट करें। + + +ssh ubuntu@192.168.xxx.xxx + + +
  • + +
  • + +फर्मवेयर के साथ रिपॉजिटरी क्लोन करें: + + +git clone https://github.com/airalab/robonomics-hass-utils.git + +
  • + +
  • + +SLS गेटवे को फ्लैश करने के लिए आपको क्लियर और फ्लैश_16एमबी स्क्रिप्ट चलाने की आवश्यकता है: + + +cd robonomics-hass-utils/esp_firmware/linux + + + +sudo chmod +x Clear.sh + + + +sudo chmod +x Flash_16mb.sh + + + +./Clear.sh + + + +./Flash_16mb.sh + +
  • + +
  • + +\- **समस्या निवारण** + +यदि आप गेटवे फर्मवेयर को अपडेट करने में समस्या आ रही है, तो आपको अतिरिक्त कदम उठाने की आवश्यकता है: + + + +
  • + +सुनिश्चित करें कि पाईसीरियल मॉड्यूल स्थापित है: + + +pip install pyserial + + +
  • + +
  • + +अपने उपयोगकर्ता को यूएसबी पोर्ट का उपयोग करने के लिए अधिकार दें: + + +sudo usermod -a -G dialout $USER + + +
  • + +
  • + +कुछ मामलों में, स्क्रिप्ट में फर्मवेयर को अपडेट करने के लिए बैंडविड्थ सेटिंग बदलने की आवश्यकता होती है। नैनो संपादक के साथ फ्लैश_16एमबी.श स्क्रिप्ट खोलें और बॉड पैरामीटर को 921600 से छोटे मान (उदाहरण के लिए, 115200) पर बदलें। +
  • + + + +
  • + +\- **अतिर���क्त** + +हम अन्य ऑपरेटिंग सिस्टम (macOS और Windows) का उपयोग करके फर्मवेयर को अपडेट करने के लिए विकल्प भी प्रदान करते हैं। आपको एक फ़ोल्डर में संबंधित स्क्रिप्ट्स मिलेंगे, जिसका नाम आपके ओएस पर निर्भर करता है। + +
  • + + + +
  • + +गेटवे सेटअप करना + + + +
  • + +गेटवे के पीठ की स्विच को उनकी नई स्थिति में सेट करें। स्विच 5 (RX Zigbee से ESP) और 6 (TX Zigbee से ESP) ON स्थिति में होना चाहिए, बाकी OFF होने चाहिए। + + + + +
  • + +
  • + +टाइप-सी पावर केबल कनेक्ट करें। केंद्र में इंडिकेटर लाइट हरा होना चाहिए। + +
  • + +
  • + +पहली बार स्टार्टअप पर, गेटवे Wi-Fi को SSID zgw**** के साथ साझा करना शुरू करेगा। इस नेटवर्क से कनेक्ट करें। ध्यान दें कि सिग्नल काफी कमजोर हो सकता है, इसलिए अपने कंप्यूटर के पास SLS गेटवे रखना बेहतर है। + +यदि कनेक्शन सफल है, तो वेब इंटरफेस खुलेगा (या आप इसे 192.168.1.1 पते पर खोज सकते हैं)। + +
  • + +
  • + +वाई-फाई पेज पर जाएं और अपने वाई-फाई क्रेडेंशियल डालें जिसके लिए उपयोगकर्ता / पास दर्ज करें और Save बटन दबाएं। इसके बाद Reboot बटन दबाएं। गेटवे पुनः आरंभ होगा और आपके वाई-फाई नेटवर्क से कनेक्ट होगा। + + + +
  • + +
  • + +वेब इंटरफ़ेस तक पहुंचने के लिए एसएलएस गेटवे का स्थानीय आईपी ढूंढें। इसके लिए आप अपने टर्मिनल या एनएमएपी में [Fing](https://www.fing.com/products) ऐप या arp -a का उपयोग कर सकते हैं: + + +sudo nmap -sP 192.168.xxx.0/24 + + +कहाँ xxx आपका आईपी पता है लोकल नेटवर्क में। गेटवे नाम इस तरह दिखना चाहिए: zgw****। गेटवे का वेब इंटरफेस खोलें गेटवे आईपी को ब्राउज़र में पेस्ट करके। +
  • + +
  • + +Setting -> Hardware जाएं और सुनिश्चित करें कि सेटिंग्स छवि पर जैसे दिख रहे हैं। यदि आवश्यक हो तो सेटिंग्स सही करें और Save बटन पर क्लिक करें: + + + +आवश्यक मानों के साथ तालिका: + + +| Field | **Value** | +|------------------------|--------------------| +| Zigbee module | TI | +| Zigbee UART RX | 22 | +| Zigbee UART TX | 23 | +| Zigbee RST Pin | 18 | +| Zigbee BSL Pin | 19 | +| Button Mode | 33 (pullUP - true) | +| Number addressable leds| 0 | +| Led Red (or addr) | 21 | +| Led Green | 5 | +| Led Blue | 27 | +| I2C SDA | 255 | +| I2C SCL | 255 | + +
  • + +
  • + +फिर गेटवे को रिबूट करें। Actions -> Reboot system का चयन करें उपरी कोने में। सुनिश्चित करें कि गेटवे CC2652P माइक्रोकंट्रोलर के साथ Zigbee जानकारी विंडो में ठीक काम कर रहा है। DeviceState OK होना चाहिए। + +
  • + +
  • + +गेटवे को रिबूट करें। Actions -> Reboot सिस्टम उपरी कोने में करें। + +
  • + +
  • + +होम असिस्टेंट में डिवाइसेस को स्वचालित रूप से जोड़ने को कॉन्फ़िगर करें। Zigbee -> Config जाएं फिर Home Assistant MQTT Discovery और Clear States का चयन करें। परिवर्तन सहेजें और फिर से SLS गेटवे को रिबूट करें। + + + +
  • + +
  • + +\- **अतिरिक्त**: + +यदि आपके घर में पहले से ही एक सक्रिय SLS गेटवे है, और अब आप एक और कॉन्फ़िगर कर रहे हैं, तो वे एक दूसरे के साथ टकराएंगे। इस समस्या को हल करने के लिए आपको नए उपकरण पर चैनल बदलने की आवश्यकता है। + +इसे कर��े के लिए, Zigbee -> Config जाएं और चैनल को दूसरे को बदलें (जैसे कि चैनल 15)। + +
  • + +
  • + +अपने डिवाइसेस को जोड़ने के लिए Zigbee -> Join जाएं। अपने सेंसर्स को पेयरिंग मोड में डालें, किसी डिवाइस को कनेक्ट मोड में स्विच करने का सबसे सामान्य तरीका उसके पावर बटन को पकड़ना है या उन्हें 5 बार ऑन/ऑफ करना है। Enable Join बटन दबाएं जिससे Zigbee डिवाइसेस की खोज शुरू हो। आप सक्रिय सेंसर्स देखेंगे। + +
  • + + + +
  • + +SLS गेटवे को होम असिस्टेंट से कनेक्ट करना + + + +
  • + +आपको SLS गेटवे पर MQTT कॉन्फ़िगर करने की आवश्यकता है। अपने SLS गेटवे वेब इंटरफेस पर वापस आएं और Settings -> Link -> MQTT Setup जाएं। + + + +
  • + +
  • + +अपने ��्रोकर पते को जोड़ें (होम असिस्टेंट के साथ रैस्पबेरी पाई का पता लोकल नेटवर्क में, आप इसे [Fing](https://www.fing.com/products) ऐप के साथ या अपने RPi पर ip -a कमांड का उपयोग करके पा सकते हैं), पोर्ट (डिफ़ॉल्ट 1883 है) अपने ब्रोकर उपयोगकर्ता नाम और पासवर्ड (जिसे आपने पहले बनाया है) और विषय का नाम (आप कोई भी चुन सकते हैं)। साथ ही, स्थानीय रैस्पबेरी पाई आईपी पता स्थिर होना चाहिए। + +Enable और Retain states क्लिक करना न भूलें। + +
  • + +
  • + +परिवर्तन सहेजें। अब उपकरण खुद होम असिस्टेंट में दिखाए जाएंगे। + +
  • + + + + +
  • + +उपकरण जोड़ें + + + +
  • + +अपने उपकरणों को जोड़ने के लिए Zigbee -> Join पर जाएं। अपने सेंसर्स को पेयरिंग मोड में डालें, उपकरण को कनेक्ट मोड में स्विच करने का सबसे सामान्य तरीका है उसके पावर बटन को धारित करना या उन्हें 5 बार चालू/बंद करना। + + + + + +
  • + +
  • + +जॉइन करने के लिए सक्षम जॉइन बटन दबाएं। आप सक्रिय सेंसर्स देखेंगे। + +
  • + + + + + \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/gateway-setup-zigbee2mqtt.md b/courses/hi/learn/smart-home-course/gateway-setup-zigbee2mqtt.md new file mode 100644 index 0000000000..8db9e782fe --- /dev/null +++ b/courses/hi/learn/smart-home-course/gateway-setup-zigbee2mqtt.md @@ -0,0 +1,248 @@ +--- +title: "सबक #4a, गेटवे सेटअप: Zigbee2MQTT" +lastUpdate: Thu May 04 2023 12:54:33 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 4 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## परिचय + +यह एक स्थिति सेटअप है जिसमें डिवाइस कनेक्ट करने के लिए Zigbee एडाप्टर और Zigbee2MQTT ब्रिज का उपयोग किया जाता है। यदि आपके पास [JetHome USB JetStick Z2](https://jethome.ru/z2/?sl=en) है (जिसमें सभी आवश्यक फर्मवेयर है), तो आप सीधे इन निर्देशों के साथ आगे बढ़ सकते हैं। हालांकि, यदि आपके पास कोई अन्य एडाप्टर है, तो पहली बात जो आपको करनी है वह है Zigbee2MQTT सॉफ़्टवेयर को फ्लैश करना। आप अपने डिवाइस के लिए निर्देश [यहाँ](https://www.zigbee2mqtt.io/guide/adapters/) पा सकते हैं। + +आपको अपने डोमेन को टेस्ट करने के लिए एक स्मार्ट डिवाइस भी चाहिए होगा। + + +## निर्देश + + + +
  • + +सॉफ़्टवेयर इंस्टॉल + + + +
  • + नोड.जेएस र���टाइम वातावरण रिपॉजिटरी सेटअप करें और आवश्यक डिपेंडेंसी के साथ इंस्टॉल करें: + sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - + sudo apt-get install -y nodejs git make g++ gcc + +
  • + +
  • + सुनिश्चित करें कि सही संस्करणों का नोड.जेएस (v14.X, V16.x, V17.x या V18.X) और पैकेज मैनेजर npm (6.X, 7.X या 8.X) जो नोड.जेएस के साथ स्वचालित रूप से इंस्टॉल हो गया है, वह इंस्टॉल हो गया है: + node --version + npm --version +
  • + +
  • + Zigbee2MQTT के लिए एक निर्देशिका बनाएं और इसे अपने उपयोगकर्ता को मालिक बनाएं: + sudo mkdir /opt/zigbee2mqtt + sudo chown -R ${USER}: /opt/zigbee2mqtt +
  • + +
  • + Zigbee2MQTT रिपॉजिटरी क्लोन करें: + + git clone --depth 1 --branch 1.28.4 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt + +
  • + +
  • + डिपेंडेंसी इंस्टॉल करें। ध्यान दें कि npm ci कुछ चेतावनी प्रदान कर सकता है जिन्हें नजरअंदाज किया जा सकता है। + cd /opt/zigbee2mqtt + npm ci +
  • + +
    + + +
  • + +एडाप्���र कनेक्ट करना और कॉन्फ़िगर करना + + + +
  • + +Zigbee एडाप्टर को Raspberry Pi से कनेक्ट करें। फिर आपको स्टिक की स्थान पता करना होगा। इसके लिए अगले कमांड में टाइप करें: + + +ls -l /dev/serial/by-id + + +आउटपुट इस तरह दिखना चाहिए: + + +ubuntu@ubuntu:~$ ls -l /dev/serial/by-id +total 0 +lrwxrwxrwx 1 root root 13 Oct 10 01:44 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0 + + +इस उदाहरण में स्टिक कनेक्शन डायरेक्टरी ttyUSB0 है। +
  • + +
  • + +Zigbee2MQTT शुरू करने से पहले configuration.yaml फ़ाइल को संपादित करें: + + +nano /opt/zigbee2mqtt/data/configuration.yaml + + +मूल कॉन्फ़िगरेशन में कुछ समायोजन की आवश्यकता है। निम्नलिखित कथनों को बदलें: + +\- homeassistant: true पर बदलें, यह स्वचालित रूप से सेंसर्स को होम असिस्टेंट से कनेक्ट करेगा; + +\- mqtt के तहत user और password को अनकमेंट करें और अपने उपयोगकर्ता नाम और पासवर्ड दर्ज करें (एक स्ट्रिंग के रूप में, उदाहरण के रूप में, MQTT ब्रोकर से कोट्स के साथ); + +\- serial -> port में स्टिक कनेक्शन डायरेक्टरी में पोर्ट बदलें। इस उदाहरण में: /dev/ttyUSB0। + +समायोजित कॉन्फ़िगरेशन फ़ाइल इस तरह दिखनी चाहिए: + + +# Home Assistant integration (MQTT discovery) +homeassistant: true +# allow new devices to join +permit_join: true +# MQTT settings +mqtt: + # MQTT base topic for zigbee2mqtt MQTT messages + base_topic: zigbee2mqtt + # MQTT server URL + server: 'mqtt://localhost' + # MQTT server authentication, uncomment if required: + user: 'YOUR_USERNAME' + password: 'YOUR_PASSWORD' +# Serial settings +serial: + # Location of CC2531 USB sniffer + port: /dev/YOUR_PORT + + + +**अतिरिक्त:** + +यदि आपके घर में पहले से ही एक सक्रिय Zigbee एडाप्टर या गेटवे है, और अब आप एक और स्टिक कॉन्फ़िगर कर रहे हैं, तो वे एक दूसरे के साथ टकराएंगे। इस समस्या को हल करने के लिए आपको नए उपकरण पर चैनल बदलने की आवश्यकता है। इसके लिए कॉन्फ़िगरेशन फ़ाइल के अंत में निम्नलिखित स्ट्रिंग्स जोड़ें: + + + +advanced: + # Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems) + # (default: 11) + channel: 15 + +
  • + +
  • + +Zigbee2MQTT शुरू करें: + + +cd /opt/zigbee2mqtt + + + +npm start + + +सफलतापूर्वक शुरू होने पर, आपको कुछ इस तरह कुछ दिखाई देगा: + + +
  • + + + +
  • + +पेयरिंग डिवाइस + + + +
  • + +अब आपके स्मार्ट डिवाइस को कनेक्ट करने का समय है। एक डिवाइस को कनेक्ट मोड में स्विच करने का सबसे सामान्य तरीका उसके पावर बटन को पकड़ना है या उन्हें 5 बार ऑन/ऑफ करना है। सुनिश्चित करें कि Zigbee2MQTT चल रहा है। + + + +जब डि��ाइस कनेक्ट होता है, तो आपको एक संदेश दिखाई देना चाहिए: + + +Zigbee2MQTT:info 2022-07-29 14:44:39: Successfully interviewed '0x00158d0003eeeacf', device has successfully been paired + + +सेंसर की आईडी को याद रखें: इस उदाहरण में — 0x00158d0003eeeacf। + +अब आपको इस सेंसर को आईडी के साथ अपने होम असिस्टेंट वेबयूआई में देखना चाहिए। सेटिंग -> डिवाइस और सेवाएं -> डिवाइस पर जाएं और इसे चेक करें: + + + +सभी सेंसर जोड़ने के बाद, आप Ctrl+C के साथ प्रोग्राम को रोक सकते हैं। अगर आप और कोई डिवाइस जोड़ना नहीं चाहते हैं, तो आप कॉन्फ़िगरेशन फ़ाइल को फिर से खोलकर permit_join: को false पर सेट कर सकते हैं। +
  • + + + + +
  • + +ऑटोस्टार्ट के लिए सेवा बनाना + + + +
  • + +अब आपको एक सेवा बनानी है। फ़ाइल बनाएं: + + +sudo nano /etc/systemd/system/zigbee2mqtt.service + + +���स फ़ाइल में निम्नलिखित को जोड़ें और YOUR_RASPPI_USERNAME_HERE को बदलें। अगर आप अपना उपयोगकर्ता नाम नहीं जानते हैं, तो whoami कमांड का उपयोग करें। + + +[Unit] +Description=zigbee2mqtt +After=network.target +[Service] +ExecStart=/usr/bin/npm start +WorkingDirectory=/opt/zigbee2mqtt +StandardOutput=inherit +StandardError=inherit +Restart=always +User=YOUR_RASPPI_USERNAME_HERE +[Install] +WantedBy=multi-user.target + +
  • + +
  • + +कॉन्फ़िगरेशन काम करता है या नहीं यह सत्यापित करें: + + +sudo systemctl start zigbee2mqtt + + + +systemctl status zigbee2mqtt.service + + +आउटपुट इस तरह दिखना चाहिए: + + +
  • + +
  • + +Zigbee2MQTT को बूट पर स्वचालित रूप से शुरू करने के लिए सेवा को सक्षम करें: + + +sudo systemctl enable zigbee2mqtt.service + + +
  • + + + \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/mqtt-broker-setup.md b/courses/hi/learn/smart-home-course/mqtt-broker-setup.md new file mode 100644 index 0000000000..2d47e4d5a4 --- /dev/null +++ b/courses/hi/learn/smart-home-course/mqtt-broker-setup.md @@ -0,0 +1,141 @@ +--- +title: "सबक #3, MQTT ब्रोकर सेटअप और Hass इनिट" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 3 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## परिचय + +रैस्पबेरी पाई के कॉन्फ़िगरेशन को समाप्त करने के बाद, अगला कदम है रैस्पबेरी पाई पर MQTT ब्रोकर को इंस्टॉल करना। जैसा कि ऊपर उल्लिखित है, ब्रोकर विभिन्न MQTT क्लाइंट्स के बीच संदेश मार्गदर्शन के लिए जिम्मेदार है। आप इक्लिप्स मॉस्किटो, एक ओपन सोर्स MQTT ब्रोकर को इंस्टॉल और कॉन्फ़िगर करेंगे। + + + +इसके अतिरिक्त, आप होम असिस्टेंट सेटअप पूरा करेंगे और इसे MQTT एकीकरण में जोड़ेंगे। + +## निर्देश + + + +
  • + + +मॉस्किटो ब्रोकर इंस्टॉलेशन + + +
  • + +अपने रैस्पबेरी पाई पर [मॉस्किटो ब्रोकर](https://mosquitto.org/) इंस्टॉल करें: + + + +sudo apt install mosquitto mosquitto-clients -y + +
  • + +
  • + +अपना उपयोगकर्ता नाम दर्ज करें (आप जो भी चाहें उसका उपयोग करें) और पासवर्ड (आपको कमांड के बाद पासवर्ड दर्ज करने के लिए कहा जाएगा): + + +sudo mosquitto_passwd -c /etc/mosquitto/passwd YOUR_USERNAME + + +
  • + +
  • + +कॉन्फ़िगरेशन फ़ाइल संपादित करें: + + +sudo nano /etc/mosquitto/conf.d/local.conf + + +फ़ाइल में निम्नलिखित जोड़ें: + + +listener 1883 +allow_anonymous false +password_file /etc/mosquitto/passwd + +
  • + +
  • + +फ़ाइल को सहेजें और सेवा को पुनरारंभ करें: + + +sudo systemctl restart mosquitto + +
  • + +
  • + +अंत में, ब्रोकर स्थिति की जांच करें: + + +systemctl status mosquitto + + +आपको इस तरह कुछ देखना चाहिए: + + +
  • +
    + + +
  • + +होम अ��िस्टेंट और MQTT सेटअप करें + + + +
  • + +वेब ब्राउज़र खोलें और http://%RASPBERRY_IP_ADDRESS%:8123 पर जाएं। (पिछले सबक में जो IP पता चला था, उसी IP पते के साथ)। ध्यान दें, कि रास्पबेरी पाई पता समय के साथ रूटर सेटिंग्स के कारण बदल सकता है। + + + +
  • + +
  • + +पहले पृष्ठ पर, कोई भी नाम, उपयोगकर्ता नाम, पासवर्ड दर्ज करें और "CREATE ACCOUNT" पर क्लिक करें +
  • + +
  • + +अगले, अपने घर के लिए एक नाम दर्ज करें और अपनी स्थान और इकाई प्रणाली सेट करें। अपने स्थान को खोजने के लिए "DETECT" पर क्लिक करें और उस स्थान के आधार पर अपना समय क्षेत्र और इकाई प्रणाली सेट करें। यदि आप अपना स्थान नहीं भेजना चाहते हैं, तो आप इन मान्यताओं को मैन्युअल रूप से सेट कर सकते हैं। + +
  • + +
  • + +अगले स्क्रीन पर, होम असिस्टेंट आपको अपने नेटवर्क पर पाए गए किसी भी उपकरणों को दिखाएगा। अगर आपको नीचे दिखाए गए से कम आइटम दिखाई देते हैं, तो चिंता न करें; आप हमेशा बाद में उपकरणों को मैन्युअल रूप से जोड़ सकते हैं। अब, बस FINISH पर क्लिक करें और आप मुख्य होम असिस्टेंट स्क्रीन पर होंगे। + +
  • + +
  • + +अब हमें MQTT एकीकरण स्थापित करने की आवश्यकता है। <Settings -> Devices & Services पर जाएं। + + + +
  • + +
  • + +बाएं निचले कोने पर ADD INTEGRATION बटन दबाएं। खुली विंडो में MQTT खोजें�� + +
  • + +
  • + +MQTT का चयन करें और अपने ब्रोकर पता सेट करें — localhost पोर्ट — 1883 और अपना उपयोगकर्ता नाम और पासवर्ड (जो आपने पहले मॉस्किटो ब्रोकर के लिए बनाया था) फिर SUBMIT दबाएं। +
  • + + + + \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/overview.md b/courses/hi/learn/smart-home-course/overview.md new file mode 100644 index 0000000000..cf4d028421 --- /dev/null +++ b/courses/hi/learn/smart-home-course/overview.md @@ -0,0 +1,64 @@ +--- +title: रोबोनॉमिक्स और होम असिस्टेंट के साथ सॉवरेन स्मार्ट होम +lastUpdate: Tue May 09 2023 13:17:49 GMT+0400 (Samara Standard Time) +description: इस कोर्स में, आपको अपने खुद के साम्राजिक स्मार्ट होम बनाने के लिए आवश्यक सभी कदमों के माध्यम से जाना जाएगा, जिसका मुख्य लाभ उपयोगकर्ता डेटा की सुरक्षा / गोपनीयता है +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## कोर्स के बारे में + +इस कोर्स में, आपको अपने खुद के साम्राजिक स्मार्ट होम बनाने के लिए आवश्यक सभी कदमों के माध्यम से जाना जाएगा, जिसका मुख्य लाभ उपयोगकर्ता डेटा की सुरक्षा / गोपनीयता है। यह समस्या बढ़ती हुई स्मार्ट होम्स के फैलने के कारण अब अधिक महत्वपूर्ण हो रही है। आधुनिक आईओटी बाजार औसत उपयोगकर्ता को बड़ी संख्या में स्मार्ट होम समाधान प्रदान करता है, लेकिन वे सभी केंद्रीकृत क्लाउड प्रदाताओं से बंधे होते हैं या उपकरणों को कनेक्ट करने के लिए एक महंगा प्रोप्राइटरी गेटवे की आवश्यकता होती है। इस परिणामस्वरूप, आप उपयोगकर्ता के रूप में हमेशा हार्डवेयर और इंफ्रास्ट्रक्चर वेंडर पर निर्भर होते हैं अपने स्मार्ट सिस्टम को चलाने के लिए। इसी बीच, आपका स्मार्ट होम बिना क्लाउड सांख्यिकी और विश्लेषण के सच्चा स्मार्ट नहीं हो सकता। + +### हम इस स्मार्ट समाधान में दो मुख्य समस्याएं देखते हैं: + + +
  • आपके पास वेंडर या तीसरे पक्ष के साथ कौन सी डेटा साझा करनी है, इस पर आपका कोई नियंत्रण नहीं है। + +
  • +
  • आपका स्मार्ट होम केंद्रीकृत क्लाउड सर्वरों के बंद होने के लिए विकल्पशील है। +
  • +
    + +स्मार्ट होम के विकास के प्रारंभ में, औसत उपयोगकर्ता अपनी खुद की स्थानीय होम ऑटोमेशन सिस्टम को आसानी से डिप्लॉय कर सकते हैं, यह कठिन था। लेकिन अब, व्यापक आईओटी मानक, सस्ते हार्डवेयर और ओपन-सोर्स होम ऑटोमेशन सिस्टम के उपयोग के कारण, यह दृश्य सस्ता हो गया है। और वेब3 तकनीकों पर आधारित एक डिसेंट्रलाइज्ड क्लाउड के उपयोग के धन्यवाद से, अब स्मार्ट उपकरणों के लिए सुरक्षित दूरस्थ पहुंच प्रदान करना संभव है। + +### आप क्या सीखेंगे: + + +
  • + सामान्य प्रोटोकॉल और विकासों पर आधारित स्मार्ट होम आर्किटेक्चर का ज्ञान +
  • +
  • + स्मार्ट होम उपकरण सेटअप और कनेक्ट करने के लिए व्यावहारिक कौशल +
  • +
  • + आईओटी के लिए रोबोनोमिक्स पैराचेन का उपयोग करने के लिए मूल कौशल +
  • +
    + + +## आवश्���कताएं: + + +
  • + Raspberry Pi 4 (कम से कम 2 जीबी रैम) +
  • +
  • + एसडी कार्ड (न्यूनतम 16 जीबी) और एसडी एडाप्टर +
  • +
  • + + Zigbee स्मार्ट डिवाइसेस (किसी भी [समर्थित डिवाइसेस](https://slsys.io/en/action/supported_devices.html) में से) +
  • +
  • + + Zigbee एडाप्टर' [JetHome USB JetStick Z2](https://jethome.ru/z2/?sl=en) या [समर्थित में से कोई एक](https://www.zigbee2mqtt.io/guide/adapters/) या [Robonomics SLS गेटवे](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01) +
  • + +
  • + पसंदीदा: UNIX-जैसे ऑपरेटिंग सिस्टम वाला कंप्यूटर। +
  • +
  • + ध्यान दें: एसएलएस गेटवे को फ्लैश करने के लिए आपको विंडोज ऑपरेटिंग सिस्टम की आवश्यकता होगी। +
  • +
    diff --git a/courses/hi/learn/smart-home-course/raspberry-pi-setup.md b/courses/hi/learn/smart-home-course/raspberry-pi-setup.md new file mode 100644 index 0000000000..049dd6e3e4 --- /dev/null +++ b/courses/hi/learn/smart-home-course/raspberry-pi-setup.md @@ -0,0 +1,351 @@ +--- +title: "पाठ #2, रास्पबेरी पाई सेटअप" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 2 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## परिचय + +इस सबक में, आप अपने रास्पबेरी पाई को एक आईओटी हब बनाने के लिए तैयार करेंगे। आप सभी आवश्यक घटकों को क्रमशः स्थापित और कॉन्फ़िगर करेंगे, जैसे: + + + +- सर्वर ऑपरेटिंग सिस्टम के रूप में रास्पबेरी पाई के लिए उबंटू लिनक्स वितरण; +- होम असिस्टेंट पैकेज; +- आईपीएफएस पैकेज; +- रोबोनोमिक्स-इंटरफेस पुस्तकालय। + + + +## निर्देश + + + +
  • + +रास्पबेरी पाई की तैयारी और कॉन्फ़िगरेशन + + + +
  • + + [64-बिट उबंटू सर्वर 22.04 एलटीएस](https://ubuntu.com/download/raspberry-pi) या नए रास्पबेरी पाई के लिए छवि डाउनलोड करें। +
  • + +
  • + + छवि फ़ाइलें लिखने के लिए एक उपकरण डाउनलोड और स्थापित करें जिसे [रास्पबेरी ��ाई इमेजर](https://www.raspberrypi.com/software/) कहा जाता है अपने कंप्यूटर पर। +
  • + +
  • + + एसडी कार्ड डालें और रास्पबेरी पाई इमेजर चलाएं। आवश्यक छवि का चयन करें (जिसे आपने अभी डाउनलोड किया है) ऑपरेटिंग सिस्टम के रूप में और सुनिश्चित करें कि आपने स्टोरेज ड्रॉपडाउन मेन्यू से अपना एसडी कार्ड चुना है। + +
  • + +
  • + + अपनी ��ेटिंग्स खोलें और Enable SSH विकल्प को Use password authentication पैरामीटर के साथ चेक करें। + + \- Set username and password में अपने Raspberry Pi उपयोगकर्ता के लिए उपयोगकर्ता नाम और पासवर्ड जोड़ें। + + \- Configure wireless LAN में अपने Wi-Fi को उसके पासवर्ड के साथ प्रदान करें और ड्रॉप-डाउन सूची से अपने देश को चुनें। फिर Write छवि। + + + सुनिश्चित करें कि आप अपना वास्तविक Wi-Fi नाम और अपना Wi-Fi पासवर्ड दर्ज कर रहे हैं। + + + + +
  • + +
  • + + लिखने का पूरा होने तक प्रतीक्षा करें, फिर SD कार्ड को Raspberry Pi में डालें और इसे चालू करें। यह आपके Wi-Fi नेटवर्क से कनेक्ट होना चाहिए, जिसमें कुछ समय लग सकता है। + +
  • + +
  • + + अब आपको डिवाइस का पता ढूंढने की आवश्यकता है। इसे करने के लिए आप नेटवर्क स्कैनिंग के लिए विभिन्न विधियों का उपयोग कर सकते हैं, जैसे [Fing ऐप](https://www.fing.com/products), arp -a कमांड या [nmap](https://nmap.org/download.html)। अगला उपयोग किया जाएगा। + + कमांड के साथ nmap इंस्टॉल करें + + sudo apt-get install nmap + + फिर अपने स्थानीय नेटवर्क में अपना पता खोजें। यह 192.168.xxx.xxx या 172.xxx.xxx.xxx की तरह दिखना चाहिए। nmap आपके स्थानीय नेटवर्क पर कई पते खोज सकता है, इसलिए ध्यान दें। + + ip a + + फिर नीचे दिखाए गए तरीके से अपने नेटवर्क को स्कैन करें और पते का अंतिम ऑक्��ेट 0 के साथ बदलें: + + sudo nmap -sP 192.168.xxx.0/24 + + कमांड का आउटपुट कुछ इस प्रकार होगा: + + +Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-26 13:50 CEST +Nmap scan report for _gateway (192.168.43.1) +Host is up (0.015s latency). +MAC Address: 8E:F5:A3:DB:02:24 (Unknown) +Nmap scan report for ubuntu (192.168.43.56) +Host is up (0.049s latency). +MAC Address: DC:A6:32:04:45:50 (Raspberry Pi Trading) +Nmap scan report for LAPTOP-NO7 (192.168.43.234) +Host is up (0.00057s latency). +MAC Address: 7C:B3:7D:9E:94:DA (Intel Corporate) +Nmap scan report for ed-vm (192.168.43.138) +Host is up. +Nmap done: 256 IP addresses (4 hosts up) scanned in 2.07 seconds + + + इस उदाहरण में पता 192.168.43.56. है। + +
  • + +
  • + + ढूंढा गया आईपी के साथ रैस्पबेरी पाई कनेक्ट करें। उस उपयोगकर्ता नाम और पासवर्ड का उपयोग करें, जिसे आपने पहले बनाया था। + + ssh ubuntu@192.168.43.56 + + आगे के निर्देश रैस्पबेरी पाई पर SSH के माध्यम से कार्यान्वित किए जाते हैं। + +
  • +
    + + +
  • + +होम असिस्टेंट स्थापना + + +
  • + + + +नीचे दिखाए गए कुछ सॉफ्टवेयर संस्करण अद्यतित हो सकते हैं। नवीनतम संस्करणों के लिए, आप [रोबोनॉमिक्स होम असिस्टेंट इमेज के स्थापना भंडार](https://github.com/airalab/Robonomics-HomeAssistant-image/tree/main/robonomics-stage) का संदर्भ कर सकते हैं। + + + + शुरू करने से पहले, रैस्पबेरी पाई सिस्टम को अपडेट करें और आवश्यक पैकेज स्थापित करें। ��्थापना के दौरान आपको सेवा पुनरारंभ अनुरोध के साथ एक विंडो दिखाई देगी। बस ठीक चुनें tab बटन के साथ और एंटर दबाएं। + + sudo apt-get update + + sudo apt-get upgrade -y + + sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tzdata libcurl4-openssl-dev subversion libturbojpeg0-dev python3-serial curl + +
  • + +
  • + + उपयोगकर्ता homeassistant और होम असिस्टेंट कोर के लिए निर्देशिका बनाएं: + + sudo useradd -rm homeassistant -d /srv/homeassistant -G dialout + +
  • + +
  • + + होम असिस्टेंट कोर के लिए एक वर्चुअल वातावरण बनाएं और उस पर स्विच करें। यह homeassistant उपयोगकर्ता के रूप में किया जाना चाहिए, इसलिए आपके उपयोगकर्ता को निर्देशिकाओं को क्रियान्वित करने के बाद इस प्रकार दिखाई देगा (homeassistant) homeassistant@ubuntu: + + sudo -u homeassistant -H -s + + cd /srv/homeassistant + + python3 -m venv . + + source bin/activate + + परिणामस्वरूप, आपको ब्रैकेट में वर्चुअल वातावरण का न���म मिलेगा: + + +(homeassistant) homeassistant@ubuntu:/srv/homeassistant/$ + + +
  • + +
  • + + आवश्यक पायथन पैकेज स्थापित करें: + + python3 -m pip install wheel~=0.37 + + pip3 install sqlalchemy~=1.4 fnvhash~=0.1 aiodiscover==1.4.11 + + pip3 install homeassistant~=2023.3.6 psutil-home-assistant~=0.0 + +
  • + +
  • + + पहली ��ार Home Assistant Core शुरू करें। यह स्थापना पूरी करेगा जिससे स्वचालित रूप से .homeassistant कॉन्फ़िगरेशन निर्देशिका /home/homeassistant निर्देशिका में बनाई जाएगी, और किसी भी मौलिक आवश्यकताओं को स्थापित करेगी: + +hass + +
  • + +
  • + + प्रारंभिक सेटअप के दौरान, वेब इंटरफ़ेस के माध्यम से अपनी स्थापना की जांच करें http://%RASPBERRY_IP_ADDRESS%:8123 पर। इस उदाहरण में: http://192.168.43.56:8123। आप अपने स्थानीय नेटवर्क से कनेक्ट किए गए किसी भी कंप्यूटर से वेब UI खोल सकते हैं। + + जब आप वेलकम विंडोज़ प्राप्त करेंगे जिसमें लॉगिन / पासवर्ड बनाने का विकल्प होगा तो Home Assistant को Ctrl+C से रोकें। +
  • + + + +
  • + +IPFS स्थापना + + + +
  • + + IPFS स्थापना के लिए आप हमारे स्क्रिप्ट का उपयोग कर सकते हैं जिससे IPFS डाउनलोड करें और उसके साथ systemd सेवा बनाएं। पहले, Home Assistant के लिए वर्चुअल वातावरण से बाहर निकलें: + +exit + + फिर निम्नलिखित को क्रियान्वित करें: + + cd ~ + wget https://raw.githubusercontent.com//airalab/homeassistant-robonomics-integration/main/install_ipfs.sh + sudo chmod +x install_ipfs.sh + ./install_ipfs.sh + +
  • + + + +
  • + +सिस्टमड सेवाएं + + + +
  • + +सिस्टमड सेवा Home Assistant के लॉन्च को स्वचालित बनाने के लिए उपयोगी है। Home Assistant के लिए नई सेवा बनाएं: + + +sudo nano /etc/systemd/system/home-assistant@homeassistant.service + + +
  • + +
  • + +निम्नलिखित को पेस्ट करें + + +[Unit] +Description=Home Assistant +After=network-online.target +[Service] +Type=simple +Restart=on-failure +User=%i +WorkingDirectory=/srv/%i/ +ExecStart=/srv/homeassistant/bin/hass -c "/srv/%i/.homeassistant" +Environment="PATH=/srv/%i/bin" +[Install] +WantedBy=multi-user.target + + +
  • + +
  • + +सेवा को सक्षम और शुरू करें: + + +sudo systemctl enable home-assistant@homeassistant.service + + + +sudo systemctl start home-assistant@homeassistant.service + + +
  • + + + +
  • + +Robonomics एकीकरण + + + +
  • + +अपने Raspberry Pi पर homeassistant उपयोगकर्ता के साथ लॉग इन करें: + + +sudo -u homeassistant -H -s + + +
  • + +
  • + +स्रोत वर्चुअल वातावरण और आवश्यक Python पैकेज स्थापित करें: + + + +source /srv/homeassistant/bin/activate + + + +pip3 install robonomics-interface~=1.6.0 + + +
  • + +
  • + +फिर जाएं .homeassistant निर्देशिका में, फ़ोल्डर custom_components बनाएं और उसमें एकीकरण के साथ रिपॉज़िटरी क्लोन करें: + + + +cd ~/.homeassistant + + + +mkdir custom_components + + + +cd custom_components + + + +svn checkout https://github.com/airalab/homeassistant-robonomics-integration/trunk/custom_components/robonomics + + +
  • + + +
  • + +उसके बाद homeassistant उपयोगकर्ता से बाहर निकलें और सेवा पुनः आरंभ करें: + + +exit + + + +sudo systemctl restart home-assistant@homeassistant.service + + +
  • + + + + + + + diff --git a/courses/hi/learn/smart-home-course/robonomics-hass-theory.md b/courses/hi/learn/smart-home-course/robonomics-hass-theory.md new file mode 100644 index 0000000000..c240920b8b --- /dev/null +++ b/courses/hi/learn/smart-home-course/robonomics-hass-theory.md @@ -0,0 +1,71 @@ +--- +title: "सबक #1, सिद्धांतिक ब्रीफिंग" +lastUpdate: Thu May 04 2023 12:54:41 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 1 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## सॉवरेन स्मार्ट होम के प्रमुख घटक + + + +1. **[रस्पबेरी पाई](https://www.raspberrypi.org/), एक एकल बोर्ड कंप्यूटर**. + +हम सभी आवश्यक सॉफ्टवेयर स्थापित करने के बाद उपकरण को एक आईओटी हब में बदल सकते हैं। हब का मुख्य उद्देश्य स्मार्ट होम के प्रोटोकॉल, नेटवर्क, एप्लिकेशन और विभिन्न उपकरणों को संगठित करना है। + +2. **[होम असिस्टेंट](https://www.home-assistant.io/), एक ओपन सोर्स कंट्रोल सिस्टम सॉफ्टवेयर**. + +यह स्मार्ट उपकरणों के लिए एक केंद्रीय हब के रूप में डिज़ाइन किया गया है। यह नेटवर्क को स्वचालित रूप से जाने वाले उपकरणों के लिए स्कैन कर सकता है और उपयोगकर्ताओं को सभी आवश्यक स्वचालन को आसानी से कॉन्फ़िगर करने की अनुमति देता है। हम रस्पबेरी पाई पर होम असिस्टेंट स्थापित करेंगे। + +होम असिस्टेंट उपकरणों के साथ संवाद करता है और उनके डेटा को स्थानीय रूप से स्टोर करता है, जो दुर्भाग्य से आपको अपने उपकरणों को दूरस्थ नियंत्रित करने की अनुमति नहीं देता। इस समस्या को हल करने के लिए हम रोबोनॉमिक्स नेटवर्क का उपयोग करते हैं। + +3. **[रोबोनॉमिक्स नेटवर्क](https://robonomics.network/), आईओटी एप्लिकेशनों के सुरक्षित और विश्वसनीय नियंत्रण के लिए एक डीसेंट्रलाइज़्ड क्लाउड**. + +यह वेब3 प्रौद्योगिकियों का उपयोग करता है, जो स्मार्ट उपकरणो��� और उनके डेटा की सुरक्षा के लिए डीसेंट्रलाइज़ेशन और ब्लॉकचेन प्रौद्योगिकियों को शामिल करता है। + +रोबोनॉमिक्स का मुख्य कार्यक्षमता पॉल्काडॉट/कुसामा पारिस्थितिकी के ब्लॉकचेन (पैराचेन) पर आधारित है। पैराचेन के मुख्य कार्यों में उपकरण को चालू करने के लिए एक आदेश भेजने और उपयोगकर्ता डेटा को ब्लॉकचेन पर स्टोर करने की क्षमता शामिल है। + +रोबोनॉमिक्स पैराचेन में एक आईओटी सब्सक्रिप्शन सुविधा है जो उपयोगकर्ताओं को एक महीने के अवधि के लिए पैराचेन में लेन-देन भेजने की अनुमति देती है, बिना किसी शुल्क के। इस कोर्स के व्यावहार���क खंड में, आप सब्सक्रिप्शन विधि का उपयोग करेंगे। + +आईओटी हब और रोबोनॉमिक्स पैराचेन के बीच बातचीत [रोबोनॉमिक्स-इंटरफेस](https://github.com/Multi-Agent-io/Robonomics-interface) का उपयोग करके किया जाता है — यह पायथन लाइब्रेरी है जो रोबोनॉमिक्स के साथ सुविधाजनक प्रोग्रामिंग के लिए विशेषज्ञ है। + +4. **[इंटरप्लेनेटरी फ़ाइल सिस्टम](https://ipfs.tech/) (IPFS), एक पीयर-टू-पीयर सॉफ्टवेयर जो एक वितरित फ़ाइल सिस्टम में डेटा स्टोर और साझा करने के लिए आवश्यक है**. + +IPFS की आवश्यकता है ताकि ब्लॉकचेन पर बड़ी फ़ाइलों को स्टोर करने से बचा जा सके (क्योंकि यह बहुत महंगा होगा), लेकिन हम इसके बजाय फ़ाइल के IPFS हैश को स्टोर कर सकते हैं, जो इन फ़ाइलों के लिंक के रूप में काम करते हैं। + +## स्मार्ट उपकरणों के लिए प्रोटोकॉल +आप स्���ार्ट डिवाइस के लिए दो मुख्य प्रोटोकॉल का उपयोग करेंगे: + +1. **[Zigbee](https://csa-iot.org/all-solutions/zigbee/), एक वायरलेस संचार प्रोटोकॉल।** + +यह स्मार्ट डिवाइस को कनेक्ट करने के लिए बहुत अधिक प्रयोग होता है। यह कम बिजली की खपत, आसानी से और विन्यास की लचीलापन के लिए डिज़ाइन किया गया है, और स्व-संगठित और स्व-पुनर्प्राप्त मेश नेटवर्क टोपोलॉजी का समर्थन करता है। जिगबी समर्थन वाली बाजार में हजारों डिवाइस उपलब्ध हैं, जिससे यह स्मार्ट होम समाधान बनाने के लिए बहुत आकर्षक है। जिगबी डिवाइस को नियंत्रित करने के लिए आपको एक गेटवे की आवश्यकता होती है जो जिगबी नेट��र्क और एक अन्य नेटवर्क (जैसे वाई-फाई) के बीच डेटा स्थानांतरित करता है। + +2. **[मैसेज क्यूइंग टेलीमेट्री ट्रांसपोर्ट](https://mqtt.org/) (MQTT), एक पब्लिश-सब्सक्राइब प्रोटोकॉल जो आईओटी एप्लिकेशन को नियंत्रित करने के लिए डिज़ाइन किया गया है।** + +यह प्रोटोकॉल हल्का है, न्यूनतम संसाधनों की आवश्यकता है और संदेश वितरण की विश्वसनीयता सुनिश्चित करता है। यह प्रोटोकॉल कम बैंडविड्थ, उच्च लेटेंसी, अनिश्चित नेटवर्क के लिए डिज़ाइन किया गया है, जिससे यह सेंसर संदेशों के उच्च मात्रा के संचालन के लिए एक उत्कृष्ट विकल्प बनता है। MQTT के लिए एक सर्वर की आवश्यकता होती है जो MQTT ब्रोकर को चलाता है (हमारे मामले में यह हमारे Raspberry Pi के साथ काम करेगा)। ब्रोकर सभी संदेशों को MQTT क्लाइंट से प्राप्त करता है और फिर संदेशों को उपयुक्त सब्सक्राइबिंग क्लाइंट्स को मार्गांकित करता है। + +## Zigbee कनेक्शन के लिए विकल्प +आप Robonomics के साथ डिवाइस को होम असिस्टेंट से कनेक्ट करने के लिए दो स्थितियों का अन्वेषण करेंगे। + +1. पहली स्थिति में डिवाइस कनेक्ट करने के लिए एक अलग Zigbee गेटवे का उपयोग नहीं करती है। इसके बजाय, [Zigbee एडाप्टर](https://www.zigbee2mqtt.io/guide/adapters/) और [Zigbee2MQTT](https://www.zigbee2mqtt.io/guide/adapters/) सॉफ़्टवेयर का उपयोग किया जाता है। + + + +एक एडाप्ट�� (जैसे JetHome USB JetStick Z2) Raspberry Pi से कनेक्ट होता है और कंप्यूटर और Zigbee रेडियो संचार के बीच इंटरफेस के रूप में काम करता है। Zigbee2MQTT एक सॉफ़्टवेयर है जो Zigbee को MQTT नेटवर्क से कनेक्ट करने की अनुमति देता है। यह Zigbee नेटवर्क से संदेश लेता है और उन्हें MQTT के उपयोग करने के लिए सरल और अच्छी ढंग से संरचित संदेशों में अनुवाद करता है। + +2. दूसरी स्थिति में, डिवाइस [SLS गेटवे](https://github.com/slsys/Gateway) का उपयोग करके ESP32 माइक्रोकंट्रोलर पर आधारित होते हैं। उपयोग की सुविधा के लिए, Robonomics ने हमारे [खुद का संशोधन](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01) गेटवे विकसित किया है। + + + +SLS गेटवे Zigbee प्रोटोकॉल संदे��ों का समन्वयक के रूप में काम करता है और उपलब्ध Zigbee उपकरणों का उपयोग करने की अनुमति देता है। होम असिस्टेंट के साथ एकीकरण के लिए, MQTT प्रोटोकॉल का उपयोग किया जाता है. + +## रिमोट नियंत्रण + +स्मार्ट होम का रिमोट नियंत्रण [Robonomics डीसेंट्रलाइज़ड एप्लिकेशन](https://dapp.robonomics.network/) (डैप) का उपयोग करके किया जाता है, जो उपयोगकर्ता के लिए एक उपयोगकर्ता मित्री तरीके से पैराचेन कार्यों तक पहुंच प्रदान करता है। उपयोगकर्ता डेटा की सुरक्षा और अपरिवर्तनीयता एक ओर आईपीएफएस पर एन्क्रिप्टेड डेटा भेजकर सुनिश्चित की जाती है (जिसे केवल उपयोगकर्ता की कुंजी द्व���रा डिक्रिप्ट किया जा सकता है), और दूसरी ओर इस डेटा के आईपीएफएस हैश को ब्लॉकचेन पर रखकर सुनिश्चित किया जाता है। + + + + + diff --git a/courses/hi/learn/smart-home-course/robonomics-integration-setup.md b/courses/hi/learn/smart-home-course/robonomics-integration-setup.md new file mode 100644 index 0000000000..c921422aa1 --- /dev/null +++ b/courses/hi/learn/smart-home-course/robonomics-integration-setup.md @@ -0,0 +1,109 @@ +--- +title: "पाठ #6, रोबोनॉमिक्स एकीकरण सेटअप" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 7 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + + +## यह किसके बारे में है + +इस सबक में, आप होम असिस्टेंट में रोबोनॉमिक्स को जोड़ेंगे और सदस्यता से संबंधित एक खाता बनाएंगे। यह एकीकरण होम असिस्टेंट को रोबोनॉमिक्स पैराचेन फ़ंक्शन का उपयोग करने देता है, सबसे पहले, एक डिसेंट्रलाइज़्ड क्लाउड में एन्क्रिप्टेड स्मार्ट होम डेटा भेजने की अनुमति देता है। + + +## सिद्धांत + +आपका स्मार्ट होम डेटा उपयोग करके भेजा जाता है record() से बाह्य datalog पैलेट जो आपको एन्क्रिप्टेड डिवाइस डेटा को ब्लॉकचेन में सहेजने की अनुमति देता है। + +अधिक सटीक होने के लिए, एकीकरण डेटा स्टोर करने के लिए आईपीएफएस का उपयोग करता है और फिर डेटालॉग एक्सट्रिंसिक में आईपीएफएस हैश भेजता है, जो ब्लॉकचेन में स्टोर किया जाता है। लेकिन क्योंकि यह फ़ंक्शन आईओटी सब्सक्र���प्शन के माध्यम से बुलाया जाता है, पूरा फ़ंक्शन इस तरह दिखता है: rws.call(datalog.record(YOUR_IPFS_HASH))। + +## निर्देश + + + +
  • + +होम असिस्टेंट में रोबोनॉमिक्स जोड़ना + + + +
  • + +होम असिस्टेंट के वेब इंटरफ़ेस में जाएं Settings->Device & Services और ADD INTEGRATION दबाएं। Robonomics खोजें। + + + +
  • + +
  • + +रोबोनॉमिक्स पर क्लिक करें और कॉन्फ़िगरेशन भरें: + +\- SUB_CONTROLLER खाते से बीज को व्यवस्थापक खाते में जोड़ें + +\- SUB_OWNER खात का सार्वजनिक पता (जिसे आपने पहले बनाया था) को सब्सक्रिप्शन मालिक पते में जोड़ें + +\- डेटा भेजने का अंतराल सेट करें (डिफ़ॉल्ट रूप से यह 10 मिनट है) + +\- (वैकल्पिक) आप पिनिंग सेवा पिनाटा के लिए क्रेडेंशियल जोड़ सकते हैं ताकि आपका डेटा IPFS नेटवर्क पर और अधिक फैल सके + +
  • + +
  • + +कॉन्फ़िगरेशन समाप्त करने के बाद SUBMIT दबाएं। यदि आपने सभी चीजें सही भरी हैं, तो आपको सफलता विंडो दिखाई देगी। + +
  • +
    + + +
  • + +Robonomics Dapp में उपयोगकर्ताओं को जोड़ना + + + +
  • + +होम असिस्टेंट के लिए एक अलग उपयोगकर्ता बनाने की आवश्यकता है, जो स्मार्ट होम डिवाइस को नियंत्रित करेगा। आप पहले बनाए गए खातों का उपयोग नहीं कर सकते क्योंकि SUB_OWNER और SUB_CONTROLLER सुरक्षा प्रदान करते हैं, और जब आपने पहली बार होम असिस्टेंट चालू किया था तो आपने जो पहला उपयोगकर्ता बनाया था, उसमें रोबोनॉमिक्स पैराचेन खाता नहीं है। + +
  • + +
  • +पिछले सबक में जैसे ही रोबोनॉमिक्स पैराचेन पर खाता बनाना शुरू करें। +
  • + +
  • + +इस खाते को [dapp](https://dapp.robonomics.network/#/subscription/devices) में सब्सक्रिप्शन में जोड़ें। अब पहुंच सूची में तीन पते होने चाहिए: SUB_OWNER, SUB_CONTROLLER और USER। + + + +
  • + +
  • + +[होम असिस्टेंट खाता](https://dapp.robonomics.network/#/home-assistant) नामक dapp सेवा पर जा���ं। जो खाता आपने अभी बनाया है, उसे दाएं साइडबार पर चुनें (प्रोफ़ाइल आइकन दबाकर आपने इच्छित खाता चुना है यह सुनिश्चित करें)। + +आवश्यक फ़ील्ड में USER बीज दर्ज करें। प्रशासक क्रेडिट्स फ़ील्ड में SUB_OWNER और SUB_CONTROLLER पते जोड़ें। यदि सब कुछ सही है, तो आपको सत्यापन स्थिति VERIFIED दिखाई देगी। + +
  • + +
  • + +जिस नए उपयोगकर्ता के लिए आपने हाल ही में पंजीकरण किया है, उसके लिए एक पासवर्ड बनाएं और फिर लेनदेन की पुष्टि करें, जो अब सब्सक्रिप्शन के कारण शुल्क के बिना होगा। बाद में आप Restore टैब में पासवर्ड को पुनर्स्थापित कर सकते हैं। + + + +
  • + +
  • + +पंजीकरण प्रक्रिया के बाद, अपने उपयोगकर्ता पते के रूप में होम असिस्टेंट में लॉग इन करें और एक नए बनाए गए पासवर्ड के रूप में। अब आप रोबोनॉमिक्स dapp का उपयोग करके अपने घर को नियंत्रित कर सकते हैं। + +
  • + + + \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/robonomics-iot-subscription-setup.md b/courses/hi/learn/smart-home-course/robonomics-iot-subscription-setup.md new file mode 100644 index 0000000000..39d7be9d87 --- /dev/null +++ b/courses/hi/learn/smart-home-course/robonomics-iot-subscription-setup.md @@ -0,0 +1,210 @@ +--- +title: "पाठ #5, रोबोनॉमिक्स IoT सदस्यता सेटअप" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 6 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + + +## यह किसके बारे में है + +रोबोनॉमिक्स आईओटी सब्सक्रिप्शन उपयोगकर्ताओं को मानक लेन-देन शुल्क न देकर निश्चित अवधि के लिए पैराचैन की सभी कार्यों का उपयोग करने की अनुमति देता है। सब्सक्रिप्शन को सक्रिय करके, उपकरण प्राथमिकता में लेन-देन भेज सकेंगे। + +इस सबक में, आप आवश्यक स्मार्ट होम सुरक्षा खाते बनाएंगे और आईओटी सब्सक्रिप्शन खरीदेंगे। + +## सिद्धांत + +आईओटी सब्सक्रिप्शन, साथ ही इसे खरीदने और प्रबंधित करने का तरीका, एक rws पैलेट का उपयोग करके किया जाता है, जिसमें सभी आवश्यक कार्य होते हैं। सामान्य रूप से, रोबोनॉमिक्स ���ें सब्सक्रिप्शन एक नीलामी मॉडल के साथ बेचे जाते हैं, जो एक विशिष्ट सब्सक्रिप्शन आईडी के लिए नीलामी बनाने के लिए rws.startAuction() एक्सट्रिंसिक का उपयोग करता है। उपयोगकर्ता आईडी द्वारा नीलामी तक पहुंच सकते हैं और rws.bid() एक्सट्रिंसिक का उपयोग करके बोली लगा सकते हैं। + +नीलामी के अंत में, जीती गई बोली वाले पते को सब्सक्रिप्शन के लिए निर्धारित किया जाता है। अब इस पते को rws.call() एक्सट्रिंसिक के माध्यम से निशुल्क लेन-देन भेजने की क्षमता होगी। हालांकि, यह यह नहीं मानता कि पता किसी भी समय अनियंत्रित रूप से इसे कर सकता है: प्रत्येक सब्सक्रिप्शन के पास एक निश्चित मात्रा का weight मूल्य होता है, जिसे एक नि:शुल्क लेन-देन करने के लिए एकत्र करना होता है। पैराचैन में उत्पन्न हर ब्लॉक में कुछ weight मूल्य सब्सक्रिप्शन में जोड़ा जाता है, इसके कारण, इसके माध्यम से रोबोनॉमिक्स पैराचैन की बैंडविड्थ को नियंत्रित करता है। + +इसके ��तिरिक्त, सब्सक्रिप्शन के मालिक rws.setDevices() बाह्यिक का उपयोग कर सकता है, जो सब्सक्रिप्शन का उपयोग निर्दिष्ट पतों के साथ साझा करता है। इसी समय, weight वही रहता है, इसलिए सब्सक्रिप्शन में अधिक पते होंगे, उनमें से प्रत्येक को मुफ्त लेन-देन भेजने से पहले ज्यादा समय इंतजार करना पड़ेगा। + +रोबोनॉमिक्स के साथ होम असिस्टेंट को नियंत्रित करने के लिए, रोबोनॉमिक्स पैराचैन पर दो खाते चाहिए। ये खाते आपके होम असिस्टेंट के लिए सुरक्षा प्रदान करेंगे। + +इन खातों में से एक (SUB_OWNER) के साथ, आप एक रोबोनॉमिक्स सब्सक्रिप्शन खरीदेंगे। यह खा���ा आईओटी सब्सक्रिप्शन का मुख्य प्रशासक के रूप में काम करता है, और अन्य उपयोगकर्ताओं को होम असिस्टेंट तक पहुंच प्रदान करता है ( rws.setDevices() का उपयोग करके)। इस खाते में सब्सक्रिप्शन खरीदने के लिए कुछ XRT टोकन होने चाहिए। + +दूसरा खाता (SUB_CONTROLLER) उपकरणों (जैसे टेलीमेट्री) के सभी होम असिस्टेंट प्रक्रियाओं को नियंत्रित करेगा। आपके उपकरणों के लेन-देन SUB_CONTROLLER खाते के पक्ष से भेजे जाएंगे। आप (और कोई भी) इन लेन-देनों को [Subscan](https://robonomics.subscan.io/) जैसे किसी भी पैराचैन एक्सप्लोरर में देख सकेंगे। हालांकि, केवल आप इन लेन-देनों की सामग्री को डिक्रिप्ट कर सकेंगे जब तक आपके पास आवश्यक बीज वाक्य होंगे। + +## निर्देश + + + +
  • + +मालिक और नियंत्रक पैराचैन खाते बनाना + + + +
  • + + +दोनों खातों को ed25519 एन्क्रिप्शन के साथ बनाया जाना चाहिए। + + +
  • + +
  • + +जाएं [Robonomics Parachain ऐप](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) पर Polkadot / Substrate पोर्टल पर। ऊपर के बाएं कोने की जाँच करें कि आप Robonomics Parachain से कनेक्टेड हैं। + +
  • + +
  • + +*ed25519* प्रारूप का उपयोग करने के कारण, आपको Polkadot-JS UI का उपयोग करके एक खाता बनाने की आवश्यकता है और आवश्यक एन्क्रिप्शन का चयन करना है। + +यह सुविधा Polkadot-JS UI पर डिफ़ॉल्ट रूप से अक्षम है। इसे सक्षम करने के लिए, Settings -> General -> account options पर जाएं और ड्रॉप-डाउन मेनू Allow local in-browser account storage में Allow local in-browser account storage का चयन करें। + +
  • + +
  • + +Accounts -> Accounts पर जाएं और Add account बटन दबाएं। आपको खाता सीड के साथ पॉपअप मेनू दिखाई देगा। इसमें दो रूप हैं: *म्नेमोनिक* (मानव-पठनीय) और *रॉ* (अंकों और अक्षरों की एक क्रमशः)। + + + +
  • + +
  • + +Advanced creation options खोलें, खाता बनाने के क्रिप्टो प्रकार को Edwards - ed25519 में बदलें। म्नेमोनिक सीड फ्रेज को सुरक्षित रूप से सहेजें और Next दबाएं। + +
  • + +
  • + +अगले मेनू में, आपको खाता नाम और पासवर्ड सेट करने की आवश्यकता है। सुविधा के लिए इसे नाम दें SUB_OWNER और Next दबाएं। + +
  • + +
  • + +आखिरी विंडो पर Save क्लिक करें ताकि खाता निर्माण पूरा हो। यह एक बैकअप JSON-फ़ाइल भी उत्पन्न करेगा जिसे आपको सुरक्षित रूप से स्टोर करना चाहिए। आप बाद में इस फ़ाइल का उपयोग करके अपना खाता पुनर्प्राप्त कर सकते हैं अगर आप पासवर्ड याद रखते हैं। + +
  • + +
  • + +SUB_CONTROLLER खाते के लिए ये कदम दोहराएं। + +
  • +
    + + +
  • + +Polkadot.js एक्सटेंशन में खातों को जोड़ना + + + +
  • + +सुविधा के लिए, आपको Polkadot.js एक्सटेंशन का उपयोग करना चाहिए और इसे इसमें नए बनाए गए खातों को जोड़ना चाहिए। एक ed25519 खाते के लिए आप बस एक बैकअप JSON फ़ाइल के साथ ही ऐसा कर सकते हैं। आप उन फ़ाइलों का उपयोग कर सकते हैं जो आपने खाते बनाते समय सहेजी थीं। + +आप खाते का बैकअप फ़ाइल बनाकर इन फ़ाइलों को फिर से प्राप्त कर सकते हैं। अपने खाते पर तीन डॉट पर दबाएं, Create a backup file for this account चुनें और अपना पासवर्ड टाइप करें। + + + +
  • + +
  • + +एक एक्सटेंशन खोलें और ऊपर दाएं ओर + बटन दबाएं, फिर Restore account from backup JSON file चुनें। + +
  • + +
  • + +एक खुली विंडो JSON फ़ाइल अपलोड करें, पासवर्ड दर्ज करें और Restore दबाएं। + +
  • + +
  • + +सुनिश्चित करें कि Polkadot.js एक्सटेंशन में खातों के लिए Robonomics नेटवर्क चयनित है। Polkadot / Substrate पोर्टल पर जाएं Setting -> Metadata और Update metadata बटन पर क्लिक करें। + + + +
  • + +
  • + +पॉपअप में मेटाडेटा अपडेट की पुष्टि करें। अब एक्सटेंशन उस नेटवर्क का लेबल दिखाएगा जिसके लिए पता उपयोग किया जा रहा है। + +
  • + + + + +
  • + +Robonomics सब्सक्रिप्शन सक्रिय करें + + + +
  • + + +इस कदम के लिए, आपके पास अपेक्षित मात्रा में XRT टोकन (न्यूनतम 2-3 XRTs) होना चाहिए आपके SUB_OWNER खाते में। + + +[सदस्यता पृष्ठ](https://dapp.robonomics.network/#/subscription) पर जाने के लिए Robonomics dapp पर जाएं और दाएं साइडबार पर connect account दबाएं। + + + +
  • + +
  • + +अगले पॉपअप मेनू में Polkadot.js एक्सटेंशन कनेक्ट करें। आप अपने खाते का पता और शेष देखेंगे। + +
  • + +
  • + +खरीदने से पहले, सुनिश्चित करें कि आपने SUB_OWNER खाता चुना है। पता प्रोफ़ाइल आइकन दबाएं, आपको Check owner account फ़ील्ड के तहत SUB_OWNER खाता दिखना चाहिए। + +
  • + +
  • + +अंत में, SUBMIT बटन दबाएं और अपने खाते के लिए पासवर्ड दर्ज करें। उसके बाद प्रक्रि��ा सक्रिय करने तक प्रतीक्षा करें। थोड़ी देर बाद आपकी सदस्यता की स्थिति दिखाई देगी। + +यदि कोई सदस्यताएं उपलब्ध नहीं हैं, **कृपया संपर्क करें** Robonomics टीम से। + +
  • + + + +
  • + +चेकआउ�� को सब्सक्रिप्शन में जोड़ें + + + +
  • + +अब आपको SUB_CONTROLLER खाते को **एक्सेस सूची** में जोड़ने की आवश्यकता है। एक्सटेंशन खोलें और खाते के नाम के पास आइकन पर क्लिक करें। यह खाते का पता कॉपी करेगा। + + + +
  • + +
  • + +इस पते को **मैनेज एक्सेस** भाग में Robonomics parachain address फ़ील्ड में पेस्ट करें। + +इसे एक नाम दें और + बटन दबाएं। पॉपअप विंडो में अपना SUB_OWNER पासवर्ड दर्ज करें और प्रक्रिया पूरी होने तक प्रतीक्षा करें। + +
  • + +
  • + +SUB_OWNER खाते के लिए चरण दोहराएं। +
  • + + + \ No newline at end of file diff --git a/courses/hi/learn/smart-home-course/usage-of-robonomics-with-hass.md b/courses/hi/learn/smart-home-course/usage-of-robonomics-with-hass.md new file mode 100644 index 0000000000..26d2701e78 --- /dev/null +++ b/courses/hi/learn/smart-home-course/usage-of-robonomics-with-hass.md @@ -0,0 +1,135 @@ +--- +title: "पाठ #7, गृह सहायक के साथ रोबोनॉमिक्स का उपयोग" +lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) +description: होम असिस्टेंट कोर्स +lessonNumber: 8 +metaOptions: [रोबोनॉमिक्स और होम असिस्टेंट के साथ साम्राजिक स्मार्ट होम सीखें] +defaultName: साम्��ाजिक स्मार्ट होम विथ रोबोनोमिक्स और होम असिस्टेंट +--- + +## यह किसके बारे में है + +इस सबक में, आप मुख्य रोबोनॉमिक्स आईओटी सेवाओं का उपयोग करने का प्रयास करेंगे। पहला सेवा स्मार्ट होम डिवाइस की टेलीमेट्री क्वेरी कर सकती है, जिससे आपको होम असिस्टेंट से रिमोटली डेटा प्राप्त करने की अनुमति मिलती है। दूसरी सेवा आपके होम असिस्टेंट कॉन्फ़िगरेशन का बैकअप बनाती है और जब आवश्यक होता है तो इसे बहाल करती है (उदाहरण के लिए, एसडी कार्ड के विफलता के मामले में)। + + +## पैराचैन कार्यों के बारे में + +अगले आप देखेंगे कि रोबोनॉमिक्स पैराचैन के कार्यों का उपयोग कैसे किया जाता है ��ाकि होम असिस्टेंट उपयोगकर्ता को आवश्यक सेवा प्रदान की जा सके। + +टेलीमेट्री प्राप्त करने का आधार datalog पैलेट पर है जिसे आप पहले से जानते हैं। निश्चित समयावधि के बाद (लेकिन जमा वजन की अनुमति देती है), datalog.record() लेन-देन SUB_CONTROLLER पते से पैराचैन को भेजा जाता है जिसमें एन्क्रिप्टेड फ़ाइल का आईपीएफएस हैश होता है, जिसमें आपके आईओटी डिवाइस के सभी डेटा एकत्र किया जाता है। वास्तव में टेलीमेट्री प्राप्त करने के लिए, आप पैराचैन से अपनी आईओटी सब्सक्रिप्शन से संबंधित आवश्यक डेटालॉग का अनुरोध करते हैं और फिर अपनी कुंजी के साथ उन��हें डिक्रिप्ट करते हैं। + +बैकअप बनाने के लिए, एक और रोबोनॉमिक्स पैलेट जिसे digitalTwin कहा जाता है, का उपयोग किया जाता है, जो एक डिजिटल ट्विन की विचार की कार्यान्वयन है, एक वास्तविक उपकरण की डिजिटल संस्करण जो इसकी तकनीकी विशेषताओं और ऐतिहासिक डेटा की प्रतिलिपि बनाता है। पहले, एक अद्वितीय आईडी बनाया जाता है आपके होम असिस्टेंट के डिजिटल ट्विन के लिए digitalTwin.create() एक्सट्रिंसिक का उपयोग करके। फिर, digitalTwin.setSource() एक्सट्रिंसिक का उपयोग करके, इस आईडी को कुछ डेटा (जैसे topic फ़ील्ड) और पैराचैन में एक पते (जैसे source फ़ील्ड) के साथ ���ांधा जाता है। होम असिस्टेंट बैकअप के लिए, बैकअप फ़ाइल का हैश topic में संग्रहित होता है, और SUB_OWNER पता source में संग्रहित होता है। + +## निर्देश + + + +
  • + +टेलीमेट्री प्राप्त करना + + + + +
  • + +dapp पर जाएं और [स्मार्टहोम टेलीमेट्री](https://dapp.robonomics.network/#/smarthome-telemetry) सेवा चुनें। + + + +
  • + +
  • + +CONTROLLER फ़ील्ड में SUB_CONTROLLER पता दर्ज करें। डेटा एन्क्रिप्ट करने के लिए सीड फ़्रेज डालें। + +
  • + +
  • + +Get telemetry ब्लॉक में ड्रॉप-डाउन सूची से एक टाइमस्टैम्प चुनें और DOWNLOAD TELEMETRY बटन दबाएं। + + +टेलीमेट्री डाउनलोड करने में कुछ समय लग सकता है। समाप्त होने के बाद, आप अपने सेंसर्स से जानकारी देखेंगे��� + +
  • +
    + + + +
  • + +बैकअ�� बनाना + + + +
  • + +बैकअप बनाने के लिए, एक सेवा को कॉल किया जाता है जो कॉन्फ़िगरेशन फ़ाइलों के साथ एक सुरक्षित आर्काइव उत्पन्न करती है। इस सेवा फिर आर्काइव को IPFS में जोड़ती है और परिणामी CID को Robonomics डिजिटल ट्विन में स्टोर करती है। + + +अपनी कॉन्फ़िगरेशन को पुनर्स्थापित करने के लिए, एक कस्टम IPFS गेटवे जैसे Pinata (pinata.cloud) या Crust Network (crust.network) का उपयोग करना आवश्यक है। इसके बिना, आपकी बैकअप केवल आपके स्थानीय IPFS नोड पर स्टोर की जाएगी, जिससे आपको स्थानीय नोड असफल होने की स्थिति में अपनी होम असिस्टेंट कॉन्फ़िगरेशन को पुनर्स्थापित करने से रोक सकता है। + + + + +
  • + +
  • + +होम असिस्टेंट के वेब इंटरफ़ेस में जाएं Developer Tools -> ServicesRobonomics: Save Backup to Robonomics खोजें और CALL SERVICE दबाएं। + +
  • + +
  • + +जब तक आप Backup was updated in Robonomics अधिसूचना Notification में दिखाई नहीं देती, तब तक प्रतीक्षा करें। + +
  • + +
  • + +अपनी कॉन्फ़िगरेशन को पुनर्स्थापित करने के लिए, आपको एक नया होम असिस्टेंट इंस्टेंस स्थापित करने की आवश्यकता होगी (और सभी पिछले कदम दोहराने होंगे) जिसमें रोबोनॉमिक्स होम असिस्टेंट एकीकरण का उपयोग करते हुए पहले बनाए गए सीड्स का उपयोग करना होगा। आपको एक MQTT ब्रोकर भी सेटअप करना होगा जिसमे�� एक ही उपयोगकर्ता नाम और पासवर्ड हो। + + +क्योंकि कुछ डिवाइसेज जो वाई-फाई या MQTT के माध्यम से होम असिस्टेंट से कनेक्ट हैं, आपको अपने रास्पबेरी पाई के स्थानीय IP पते को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता होती है, जब बैकअप को पुनर्स्थापित किया जाता है, तो इन्हें इस IP में परिवर्तन के कारण उपलब्ध नहीं हो सकता। आपको इन डिवाइसेज की सेटिंग्स में नए IP पते को दोबारा दर्ज करने की आवश्यकता होगी। इसे रोकने के लिए, अपने राउटर सेटिंग्स में अपने रास्पबेरी पाई के लिए एक स्थिर स्थानीय IP सेटअप कर सकते हैं (यदि यह सुविधा समर्थित करता है)। + + + + + +
  • + +
  • + +होम अ��िस्टेंट के वेब इंटरफेस में जाएं Developer Tools -> ServicesRobonomics: Restore from the Backup in Robonomics खोजें और CALL SERVICE दबाएं। अपने बैकअप की स्थिति जांचने के लिए Overview पेज पर जाएं। + +
  • + +
  • + +होम असिस्टेंट को पुनः आरंभ करने के बाद, आपका कॉन्फ़िगरेशन पुनर्स्थापित हो जाएगा। अगर स्थिति restored में बदल जाती है लेकिन होम असिस्टेंट स्वचालित रूप से पुनः आरंभ नहीं होता है, तो आपको <Settings > System पर जाकर ऊपर दाएं कोने में RESTART बटन पर क्लिक करके इसे मैन्युअल रूप से रीस्टार्ट करना होग��। + +
  • + + + + + + +## पाठ्यक्रम पूरा करना + + + +
  • + +बधाई हो! आपने अपने सामरिक स्मार्ट होम की पूरी सेटअप और डिप्लॉयमेंट सफलतापूर्वक पूरा किया है। आप अब हमसे एक पाठ्यक्रम समापन प्रमाणपत्र का अनुरोध कर सकते हैं हमारे डिस्कॉर्ड-चैनल पर जाकर। हमें [robonomics-academy](https://discord.com/channels/803947358492557312/803947358492557315) चैट में लिखें और हमारा प्रतिनिधि आपसे संपर्क करेगा। +
  • + +
  • + +पाठ्यक्रम समापन का प्रमाण उन संबंधित लेन-देन हैं जो [पॉल्काडॉट एक्सप्लोरर](https://robonomics.subscan.io/) में सत्यापित किए जा सकते हैं। ये लेन-देन एक सब्सक्रिप्शन खरीदने, एक डिवाइस को सब्सक्रिप्शन में जोड़ने और डिवाइस से डेटालॉग भेजने के बारे में हैं। + +
  • + +
    \ No newline at end of file diff --git a/courses/hi/learn/spot-try-it-out/overview.md b/courses/hi/learn/spot-try-it-out/overview.md new file mode 100644 index 0000000000..909f6d6897 --- /dev/null +++ b/courses/hi/learn/spot-try-it-out/overview.md @@ -0,0 +1,90 @@ +--- +title: बोस्टन डायनामिक्स स्पॉट का परिचालन करें +lastUpdate: Thu May 04 2023 12:53:28 GMT+0400 (Samara Standard Time) +description: बोस्टन डायनामिक्स स्पॉट का परिचालन करें +metaOptions: [सीखें] +defaultName: Operate Boston Dynamics Spot +--- + +इस ट्यूटोरियल के साथ आप वास्तविक स्पॉट ने क्या किया था उसे सिमुलेशन में देख सकेंगे। + +## आवश्यकताएं + +* ROS मेलोडिक डेस्कटॉप (स्थापना निर्देशिका [यहाँ](http://wiki.ros.org/melodic/Installation/Ubuntu)) + +
    + +## पैकेज स्थापित करें + +कार्यक्षेत्र और क्लोन पैकेज बनाएं: + +mkdir -p ~/catkin_ws/src +cd ~/catkin_ws/src +git clone https://github.com/clearpathrobotics/spot_ros.git +git clone https://github.com/ros/geometry2 --branch 0.6.5 + + +`view_model.launch` फ़ाइल खोलें: + + +nano ~/catkin_ws/src/spot_ros/spot_viz/launch/view_model.launch + + + + +और `use_sim_time` पैरामीटर को `true` पर सेट करें, फ़ाइल इस प्रकार दिखनी चाहिए: + +```xml + + + + + + + + +``` + +फिर आवश्यकताएं स्थापित करें: + + +cd ~/catkin_ws/ +rosdep install --from-paths src --ignore-src -y +catkin_make + + +## चलाएं + +उदाहरण रोसबैग फ़ाइल प्राप्त करें: + + +wget -O spot_rosbag.bag https://gateway.ipfs.io/ipfs/QmTDrfMy7Zs7uDLN3KPBC1UYqXNMXBKEwX7ggVmJKAm7Ef + + +स्पॉट मॉडल के साथ rviz चलाएं: + + +source ~/catkin_ws/devel/setup.bash +roslaunch spot_viz view_model.launch + + +फिर एक नए टर्मिनल में: + + +source ~/catkin_ws/devel/setup.bash +roslaunch spot_viz view_robot.launch + + + + + +रोसबैग फ़ाइल चलाएं और आप रोबोट को चलते हुए देखेंगे: + + +rosbag play spot_rosbag.bag + + + + + +वास्तविक जीवन में बोस्टन डायनामिक्स स्पॉट का परिचालन करने के लिए संभावनाएँ खोज रहे हैं? हमारे पास इसके लिए [कोर्स और रिमोट कंट्रोल](/online-courses/boston-dynamics-course/) सेवा है। \ No newline at end of file diff --git a/courses/hi/learn/world-computer/emergence-of-the-world-computer.md b/courses/hi/learn/world-computer/emergence-of-the-world-computer.md new file mode 100644 index 0000000000..4291a2b504 --- /dev/null +++ b/courses/hi/learn/world-computer/emergence-of-the-world-computer.md @@ -0,0 +1,62 @@ +--- +title: "भाग 3: विश्व कंप्यूटर का उद्भव" +description: '"विश्व कंप्यूटर का उद्भव" शीर्षक वाले तीसरे भाग में, हम पहले की तरह, एथेरियम और पोलकाडॉट के उदाहरणों का उपयोग करके विश्व कंप्यूटर के इंजीनियरिंग कार्यान्वयन को परत दर परत फिर से बनाने का प्रयास करेंगे।' +metaOptions: [सीखना] +defaultName: "World computer in your home" +--- + +तीसरे भाग में, "विश्व कंप्यूटर का उद्भव" शीर्षक के तहत, हम परत दर परत उदाहरण के रूप में Ethereum और Polkadot का उपयोग करके विश्व कंप्यूटर की इंजीनियरिंग कार्यान्वयन को पुनः बनाने का प्रयास करेंगे। + +चलो Ethereum से शुरू करते हैं। Ethereum ने 2015 में उस अवस्था के साथ शुरुआत की, जिसे प्रूफ-ऑफ-वर्क सहमति एल्गोरिदम के संयोजन के रूप में वर्णित किया जा सकता है, जिससे विश्व कंप्यूटर विकेंद्रीकृत अवस्था में अस्तित्व में आ सका (जैसा कि भाग 2 में चर्चा की गई है)। इसके अतिरिक्त, Ethereum वर्चुअल मशीन (EVM) को पेश किया गया, जो एक Turing-complete कंप्यूटेशनल मशीन के रूप में कार्य करता है। इन दो तत्वों ने मिलकर विश्व कंप्यूटर के पहले संस्करण का निर्माण किया, जिसे कभी-कभी अग्रदूत के रूप में संदर्भित किया जाता है। इस संदर्भ में, विकेंद्रीकृत एप्लिकेशन, या स्मार्ट अनुबंध, उभरने लगे। + +अगले 5 वर्षों में, Ethereum ने कुछ इंजीनियरिंग ट्यूनिंग, जैसे गैस सीमा में निरंतर वृद्धि के अलावा, शंघाई कांटे जैसी घटनाओं को छोड़कर, तुलनात्मक रूप से अपरिवर्तित जीवन व्यतीत किया। विशेष रूप से, शंघाई में आयोजित दूसरे DEFCON के दौरान, एक सेवा-से-इन्कार हमले ने वर्चुअल मशीन में एक फ़ंक्शन का फायदा उठाया जो न्यूनतम गैस खपत करता था लेकिन Ethereum नेटवर्क पर महत्वपूर्ण गणनाएं उत्पन्न करता था। इससे मेमोरी ओवरफ्लो हुआ, जिसने प्रभावी रूप से एक पूरा Ethereum नोड बाधित कर दिया। यह घटना उस जटिलता को उजागर करती है जो एक वर्चुअल मशीन बनाने जैसे बड़े और अमूर्त समाधान के साथ आती है। + +आगे बढ़ते हुए, दशक के अंत के आसपास, विशेष रूप से 2020 में, Ethereum 2.0 के आगमन के साथ एक महत्वपूर्ण बदलाव हुआ। हालांकि, Ethereum 2.0 को अब निरस्त कर दिया गया है, और मैं वास्तविक सफलता को 2019-2020 के आसपास मानूंगा। इस अवधि के दौरान, Ethereum में तकनीकी सफलता की दिशा में एक वास्तविक प्रगति हुई, जो Ethereum 2.0 की अवधारणा की ओर बढ़ रही थी। Ethereum के वास्तुकला में इंजीनियरिंग परिवर्तन की क्षण को "द मर्ज" के रूप में जाना जाने वाला घटना माना जा सकता है, जहां बीकन चेन की कार्यक्षमताओं को जोड़ा गया था। मर्ज ने Ethereum के प्रतिमान में एक महत्वपूर्ण बदलाव को चिह्नित किया, इसे एक अलग स्थिति में परिवर्तित किया। अधिक विवरण के लिए, आप ethereum.org वेबसाइट देख सकते हैं, जहां पारंपरिक Ethereum ब्लॉकचेन और 2015 में लॉन्च की गई समानांतर ब्लॉकचेन और Ethereum वर्चुअल मशीन की सहअस्तित्व पर एक उत्कृष्ट लेख उपलब्ध है। + +जब मर्ज हुआ, तो हमने नेटवर्क स्तर पर और Ethereum नेटवर्क के साथ इंटरैक्ट करने वाले व्यक्तिगत नोड्स के लिए एक नई वास्तुकला प्रतिनिधित्व देखा। वास्तविक परिवर्तन क्या था? कई लोगों के लिए, मर्ज प्रूफ-ऑफ-वर्क से प्रूफ-ऑफ-स्टेक में संक्रमण को इंगित करता है, जो वास्तव में महत्वपूर्ण है। यह बढ़ी हुई दक्षता और ट्यूनिंग को इंगित करता है, लेकिन यह अभी भी एक पैरामीटर के सापेक्ष एक ट्यूनिंग है। हालांकि, प्रत्येक नेटवर्क क्लाइंट के लिए अधिक उल्लेखनीय आंतरिक इंजीनियरिंग परिवर्तन विभाजन था। अब कोई विशिष्ट नेटवर्क क्लाइंट या मोनोलिथिक आर्किटेक्चर नहीं था। इसके बजाय, हमें एकल नोड के दो घटक मिले जो Ethereum नेटवर्क के साथ इंटरैक्ट करते हैं। + +पहला भाग, जिसे मैंने आरेख में "बीकन चेन" लेबल किया है, वास्तव में उन सभी नवाचारों का सामूहिक चित्रण करता है जो मर्ज के समय Ethereum क्लाइंट में आए। दूसरा भाग संरक्षित वर्चुअल मशीन है। फिर भी, यहां कुछ जोड़ना भी महत्वपूर्ण है। वर्चुअल मशीन को बदलने की बातचीत वास्तव में शुरू हो गई, जो विशेष रूप से स्मार्ट अनुबंधों और विशेष भाषा—Solidity में स्मार्ट अनुबंधों के साथ काम करने के लिए तैयार की गई थी। 2015 तक, Solidity के अलावा अन्य भाषाओं में स्मार्ट अनुबंधों के लिए लगभग कोई इंटरप्रेटर नहीं बचे थे, और वास्तुकला एक Ethereum प्रोग्रामर के दृष्टिकोण से कुछ हद तक एकतरफा दिखाई दी। आप Solidity के रूप में JavaScript का एक स्निपेट सीखते हैं, उस पर स्मार्ट अनुबंध कोड लिखते हैं, और अपना DApp प्राप्त करते हैं, उदाहरण के लिए, Uniswap। + +एक अधिक जटिल Ethereum वास्तुकला के उद्भव के बाद से, बातचीत इस विचार के इर्द-गिर्द घूमती है कि वर्चुअल मशीन, जो 2015 से एक कुछ हद तक मोनोलिथिक तत्व के रूप में मौजूद थी, को भी नई वास्तुकला में बदला जा सकता है। बातचीत इसे WebAssembly (Wasm) या एक अधिक रोचक समाधान जैसे किसी चीज़ से बदलने की दिशा में स्थानांतरित हो गई। Wasm के दृष्टिकोण से, यह एक प्रश्न चिह्न के साथ हो सकता है। + +बीकन चेन के दृष्टिकोण से, यह वास्तव में प्रूफ-ऑफ-स्टेक पर काम करता है, लेकिन अधिक रोचक बात यह है कि इसमें Gasper का समावेश है। यह मूल Casper के विचारों में एक संशोधन का प्रतिनिधित्व करता है। Casper, जिसे अक्सर मैत्रीपूर्ण भूत अंतिमता गैजेट के रूप में संदर्भित किया जाता है, को DEFCON 3 या 4 में, और शायद DEFCON 2 में भी चर्चा की गई—मुझे सटीक याद नहीं है, लेकिन पेरिस में EthCC सम्मेलन में, जो निश्चित रूप से 2018 में हुआ, Vlad Zamfir और Vitalik ने अलग-अलग कमरों से Casper के उद्भव की चर्चा की, जिसे एक मैत्रीपूर्ण भूत के रूप में देखा गया, जो प्रूफ-ऑफ-स्टेक में प्रतिभागियों की निगरानी करता है और जब कोई नोड गलत व्यवहार करता है तो नेटवर्क की मदद करता है। Casper के इस विचार से Gasper निकलता है। टर्मिनोलॉजी में ज्यादा नहीं घुसते हुए, सहमति एल्गोरिदम में एक बदलाव होता है, जो केवल सादगी में ही नहीं बल्कि जटिलता में भी बदलता है, Polkadot की तरह। जैसा कि मैंने पहले उल्लेख किया, Polkadot में दो सहमति एल्गोरिदम हैं, Babe और Grandpa। इसी प्रकार, Ethereum की बीकन चेन की कार्यक्षमता के साथ, सहमति और अंतिमता प्राप्त करना उतना त्वरित नहीं है। इसमें एपोच शामिल होते हैं, और नेटवर्क अधिक जटिल परिदृश्य पर काम करता है, जो पहले से ही कुछ हद तक गतिशील है, स्थिर नहीं है, और यह मूलतः पत्थर में तराशा गया है। + +2024 के संदर्भ में क्या जोड़ा जा सकता है? मेरे लिए, यह एक दीर्घकालिक अवलोकन और समझने का प्रयास था कि क्या Ethereum अंततः शार्डिंग को लागू करेगा या नहीं। शार्डिंग एकल ब्लॉकचेन के बजाय एक नेटवर्क के भीतर कई ब्लॉकचेन के साथ अस्तित्व की क्षमता है। मर्ज और लेयर 2 (L2) नेटवर्क के उभार के साथ, मेरे मन में सवाल उठे कि क्या शार्डिंग वास्तव में साकार होगा। शार्डिंग मुझे अपनी समानता के कारण रुचिकर लगा—ऐसी कई श्रृंखलाएं जो लगभग समान होती हैं, जिनमें कोई विशिष्ट विशेषता नहीं होती। यह एक दिलचस्प दृष्टिकोण प्रतीत हुआ, लेकिन यह एक विषम दृष्टिकोण जितना लचीला नहीं था। L2 नेटवर्क में, यहां तक कि कुछ साल पहले, मैं Ethereum की विषमता देख सकता था, इसकी क्षमता विभिन्न प्रकार के अधिक विशिष्ट ब्लॉकचेन के साथ काम करने की। मैं यह देखने के लिए उत्सुक था कि यह किस दिशा में जाएगा—क्या शार्डिंग, अपनी समानता के साथ, L2 समाधानों को विस्थापित करेगा या क्या L2 समाधान एक विषम दृष्टिकोण के साथ बीकन चेन और Ethereum नेटवर्क के मुख्य नोड्स को संतृप्त करेंगे। + +आज, 2024 में, ethereum.org पर लेखों के आधार पर, ऐसा लगता है कि शार्डिंग की अवधारणा को पीछे धकेल दिया गया है, और ध्यान विभिन्न L2 नेटवर्क को बीकन चेन के साथ एकीकृत करने और मुख्य श्रृंखला की कार्यक्षमता के साथ संरेखित करने पर है, जो अब Ethereum नेटवर्क की वास्तुकला में दो तत्वों में विभाजित है। + +इसलिए, बिना यह समझाए कि L2 नेटवर्क कैसे संरचित हैं - हालाँकि हम इस पर बोर्ड के दूसरे हिस्से को भरते समय चर्चा करेंगे - हमें यह कल्पना करनी चाहिए कि एथेरियम अब एक प्रकार की बीकन चेन, एक मार्गदर्शक सितारा है, जो कई L2 नेटवर्क के लिए दिशा दिखाता है। ये L2 नेटवर्क अधिक विशिष्ट कार्यक्षमता रख सकते हैं, अपने व्यक्तिगत कार्यों के अनुसार अपनी लॉजिक को निष्पादित कर सकते हैं। यह कुछ हद तक स्विस आर्मी नाइफ के विचार के समान है - एथेरियम को स्विस आर्मी नाइफ नहीं बना रहे हैं, लेकिन L2 नेटवर्क वास्तुकला में भिन्नता शुरू कर रहे हैं। वे एथेरियम की अमूर्त कंप्यूटिंग मशीन की कार्यक्षमता को दोहराते हैं लेकिन इसे कम गैस लागत पर या अपने विशिष्ट खंड में करते हैं। कुछ पहले से ही अपने L2 लेयर को अधिक कुशल बनाने, विशिष्ट कार्यात्मक क्षमताओं पर ध्यान केंद्रित करने के बारे में सोच रहे हैं। इस प्रकार, मेरी राय में, हम उस विश्व कंप्यूटर में विषमता के उद्भव का सामना कर रहे हैं जो समानता का लक्ष्य रखता था। साथ ही, यह न भूलना महत्वपूर्ण है कि विकेंद्रीकृत एप्लिकेशन (dApps) अभी भी मुख्य ब्लॉकचेन में मौजूद हैं, उसी ब्लॉकचेन में जो 2015 में शुरू हुआ था। इसका मतलब है कि मर्ज के दौरान, नए वास्तुकला राज्य में संक्रमण के दौरान, कोई वाइपआउट नहीं हुआ, कोई पिछली इतिहास की मिट्टी नहीं हुई। सभी विकेंद्रीकृत एप्लिकेशन और इन एप्लिकेशन के अंतर्निहित स्मार्ट कॉन्ट्रैक्ट्स जारी रहे, और वे आज भी मौजूद हैं और शायद कल भी रहेंगे। यह एक सवाल है जिसे हम पोलकाडॉट का उदाहरण लेकर खोजेंगे, लेकिन अभी भी यह महसूस हो रहा है कि बीकन चेन में एक विकेंद्रीकृत एप्लिकेशन को स्थापित करना संभव होगा - dApps। + +सारांश में, आइए आज के एथेरियम को एक विश्व कंप्यूटर के रूप में इंजीनियरिंग कार्यान्वयन की कल्पना करें। हमारे पास प्रत्येक नेटवर्क नोड दो भागों में विभाजित है। पहली परत एथेरियम वर्चुअल मशीन (EVM) के लिए जिम्मेदार है, वर्चुअल मशीन की वास्तविक कार्यक्षमता या यदि हम सैद्धांतिक शब्दों में बात करें तो ट्यूरिंग पूर्ण मशीन। शायद हम 2015 में डिज़ाइन की गई वर्चुअल मशीन के विकल्पों का उदय देखेंगे। ये विकल्प सॉलिडिटी में स्मार्ट कॉन्ट्रैक्ट्स लिखने की तुलना में अधिक अमूर्त प्रोग्रामिंग संभावनाओं के मामले में इसे पार कर जाएंगे। इस बीच, सॉलिडिटी में स्मार्ट कॉन्ट्रैक्ट्स अभी भी सहज महसूस करते हैं। यदि आप एथेरियम मुख्य चेन के लिए कार्यक्षमता लिखना चाहते हैं बिना एथेरियम के ऊपर कोई बुनियादी ढांचा बनाए, बिना किसी गणना को सस्ता बनाने के लिए ऑफलोड किए, आदि, तो विकेंद्रीकृत एप्लिकेशन जो आप स्मार्ट कॉन्ट्रैक्ट्स के रूप में लिख सकते हैं, वे अभी भी एथेरियम के मुख्य ब्लॉकचेन में रखे जा सकते हैं। साथ ही, बीकन चेन की कार्यक्षमता उभरी है, जो मुख्य प्रोटोकॉल से सत्यापनकर्ताओं के बीच सर्वसम्मति लॉजिक को अलग करती है। यह इस बात में अधिक लचीलापन प्रदान करता है कि सर्वसम्मति कैसे काम करनी चाहिए और इसे वर्चुअल मशीन को प्रभावित किए बिना कैसे और संशोधित किया जाना चाहिए। शंघाई और Defcon 2 के उदाहरण से, जहां एक छोटे से ऑपकोड त्रुटि के कारण बुनियादी ढांचे का एक हिस्सा बंद हो गया, यह संकेत मिलता है कि ऐसी जटिल कार्यक्षमताओं को दो भागों में विभाजित करना अच्छा होगा। + +बीकन चेन के बारे में क्या दिलचस्प है? यह नेटवर्क सिंक्रोनिकिटी और अंतिमता प्राप्त करने के लिए एक अधिक जटिल, व्यापक एल्गोरिदम है जिसमें "एपोक" जैसे अवधारणाओं का परिचय है, और नेटवर्क के भीतर एक भूत की उपस्थिति है। + +अंत में, अब विचार करने के लिए महत्वपूर्ण बात यह है कि एथेरियम प्रभावी रूप से समरूपता को समाप्त कर रहा है, सौ एक जैसे ब्लॉकचेन प्राप्त करने के विचार को समाप्त कर रहा है जो एक ही वर्चुअल मशीन के साथ काम करते हैं, जहां सॉलिडिटी में लिखे गए स्मार्ट कॉन्ट्रैक्ट्स निवास कर सकते हैं। इसके बजाय, विभिन्न परियोजनाएं अपनी स्वयं की आर्किटेक्चर या मुख्य ब्लॉकचेन की सीमाओं से परे ली गई वही वर्चुअल मशीन का प्रस्ताव दे रही हैं। वैकल्पिक रूप से, वे अपनी अधिक विशिष्ट एप्लिकेशन बनाने की कोशिश कर रहे हैं, जो बीकन चेन की मुख्य चेन के स्तर पर, सॉलिडिटी में लिखा गया एक स्मार्ट कॉन्ट्रैक्ट है। यह वर्तमान में एथेरियम का प्रतिनिधित्व है, जो एथेरियम 2.0 नहीं बना। यह वही एथेरियम बना रहा - एक परियोजना जो एक बार काम का प्रमाण + ट्यूरिंग पूर्ण मशीन के साथ शुरू हुई, इस वास्तुकला में परिवर्तित हो रही है। + +अब, आइए देखें कि पोलकाडॉट पिछले 5 वर्षों में कैसे उभरा और विकसित हुआ। पोलकाडॉट एथेरियम के पांच साल बाद अस्तित्व में आया, जो टीम से निकला जिसने एथेरियम के लिए सबसे अच्छे क्लाइंट्स में से एक - पैरिटी - को विकसित किया। कई लोग उनके वेब क्लाइंट को याद कर सकते हैं, जो Geth और अन्य कार्यान्वयनों की तुलना में काम करने में शायद अधिक सुखद था, कम से कम व्यक्तिगत अनुभव और सहयोगियों के अनुभव से। + +दूसरे, पोलकाडॉट, मेरी राय में, उन विचारों का विस्तार था जिन्हें गेविन वुड एथेरियम के विकास में शामिल करना चाहते थे। परिणामस्वरूप, कोई कह सकता है कि एथेरियम ने किसी बिंदु पर दो अवधारणाओं में विभाजित हो गया। +जब पोलकाडॉट लॉन्च हुआ तो हमारे पास क्या था? रिले चेन लॉन्च की गई थी। दिलचस्प है, है ना? बीकन चेन और रिले चेन। रिले चेन का क्या प्रतिनिधित्व था? प्रारंभ में, वहां एक विकेंद्रीकृत एप्लिकेशन रखने, इसके लिए स्मार्ट कॉन्ट्रैक्ट लिखने, या अपने कोड को WASM या सॉलिडिटी में अपलोड करने की कोई संभावना नहीं थी। पहले ब्लॉक या पहले कुछ दिनों के दौरान पोलकाडॉट रिले चेन के अस्तित्व के दौरान इनमें से कोई भी उपलब्ध नहीं था। वहाँ अपना रनटाइम जोड़ने का कोई तरीका नहीं था, जिसकी हम शीघ्र ही बात करेंगे, और यह प्रूफ ऑफ स्टेक पर आधारित नहीं था; इसके बजाय, यह प्रूफ ऑफ अथॉरिटी का उपयोग करता था। इसने पोलकाडॉट डेवलपर्स द्वारा लॉन्च किए गए कुछ नोड्स को पहले कुछ महीनों या हफ्तों में जीवित रहने की अनुमति दी, जबकि श्रृंखला पर हमले किए जा सकते थे या यदि यह गलत व्यवहार कर रहा था। हालांकि, इसे जल्दी से बदल दिया गया, और रिले चेन प्रूफ ऑफ स्टेक में बदल गई। + +अंततः, कुछ महीनों तक रिले चेन के अस्तित्व के बिना किसी विकेंद्रीकृत एप्लिकेशन कार्यक्षमता के, बिना अपने पैराचेन या L2 नेटवर्क को जोड़ने की क्षमता के, बिना उपयोगकर्ता क्षमताओं के, नेटवर्क ने एक प्राधिकरण राज्य से प्रूफ ऑफ स्टेक में संक्रमण किया। इसने डेवलपर्स को अपने रनटाइम अपलोड करने की क्षमता दी। + +इस बिंदु पर, आज के एथेरियम और पोलकाडॉट के केंद्रीय हिस्से की संरचना के बीच के अंतर पर चर्चा करना भी दिलचस्प है। दिल की दृष्टि से, जो हमने पहले ही चर्चा की है, चित्र केवल एथेरियम और पोलकाडॉट के लिए ही नहीं बल्कि किसी भी परियोजना के लिए बिल्कुल समान होगा जो एक अमूर्त कंप्यूटिंग मशीन के रूप में प्रस्तुत होना चाहता है। हालाँकि, इंजीनियरिंग और वास्तुकला के दृष्टिकोण से, बीकन चेन और रिले चेन को देखना आकर्षक है। यहाँ, हमारे पास एक वर्चुअल मशीन है, जो 2015 से विरासत में मिली है, लेकिन विकल्प प्रस्तावित किए जा रहे हैं। रिले चेन में, आपके रनटाइम को अपलोड करने की क्षमता है। रनटाइम, वास्तव में, आपकी वर्चुअल मशीन है। उदाहरण के लिए, कुछ पैराचेन पूरी तरह से एथेरियम वर्चुअल मशीन का अनुकरण करते हैं। इसे एक रनटाइम के रूप में लिखा जाता है, जिसका अर्थ है कि आप वास्तव में एथेरियम वर्चुअल मशीन के समकक्ष को पोलकाडॉट में पैराचेन स्तर पर अपलोड कर सकते हैं या अधिक विशिष्ट लॉजिक लिख सकते हैं जो चार या पांच कार्यों के साथ काम करती है। पहले भाग की याद करें, आप अपना स्विस आर्मी नाइफ लिख सकते हैं, लेकिन इसके लिए पूरी संरचना बनाने की आवश्यकता नहीं होगी। आप रनटाइम स्तर पर कुछ कार्यों के साथ विशिष्ट कार्यक्षमता को लागू कर सकते हैं, इसे पोलकाडॉट रिले चेन में डाल सकते हैं, और इस रनटाइम की अपरिवर्तनीयता पोलकाडॉट सत्यापनकर्ताओं द्वारा सुनिश्चित की जाएगी। + +आगे क्या होता है? लगभग एक साल के दौरान, रिले चेन के चारों ओर पैराचेन की एक परत बनने लगती है। एथेरियम के कार्यान्वयन के संदर्भ में, आप कह सकते हैं कि L2 नेटवर्क पैराचेन के समान हैं। हालाँकि, पोलकाडॉट में मुझे एक दिलचस्प क्रॉस-नेटवर्क अंतर मिलता है, और मैं इसे और अधिक समझने की कोशिश कर रहा हूँ कि यह कैसे विकसित होगा—यानी, दूसरा परत सत्यापन और डेटा उपलब्धता जांच की। कुछ वर्षों के बाद, पोलकाडॉट इस प्रकार का आकार लेता है। यह केवल एक रिले चेन नहीं है जहाँ प्रूफ ऑफ स्टेक सत्यापनकर्ता भविष्य के पैराचेन के रनटाइम की रक्षा करते हैं; पैराचेन से डेटा सत्यापन और उपलब्धता जांच की एक अतिरिक्त और महत्वपूर्ण परत उभरती है। + +जैसा कि आप इस आरेख को देखते हैं, उन समानताओं को नोट करने की कोशिश करें जो उत्पन्न होती हैं और इंजीनियरिंग कार्यान्वयन विवरणों में अंतर को। तो, यह क्या दर्शाता है, और यह योजना एथेरियम के साथ कैसे तुलना करती है? हमारे पास एक L2 परियोजना है, इस मामले में, पोलकाडॉट के साथ, यह एक पैराचेन है। एक पैराचेन भी सूचना ब्लॉक उत्पन्न करता है, जो फिर रिले चेन में जाते हैं ताकि सभी हेडर, हेडर, और अधिक हेडर के योग के रूप में एक रिले चेन ब्लॉक जारी किया जा सके। पैराचेन कॉललेटर का उपयोग करके एक ब्लॉक में लेनदेन एकत्र करता है, जो सत्यापन में शामिल नहीं होते हैं। वे रिले चेन में कुछ भी दांव नहीं लगाते; वे केवल रनटाइम का उपयोग करते हैं, जो रिले चेन में है। वे इसे प्राप्त करते हैं, इसे लेनदेन पर लागू करते हैं, आवश्यक राज्य संक्रमण करते हैं, एक ब्लॉक बनाते हैं, और, महत्वपूर्ण रूप से, वैधता का प्रमाण प्रदान करते हैं—एक स्टैंप जिसमें क्रिप्टोग्राफिक प्रमाण होते हैं कि कॉललेटर ने सही ढंग से ब्लॉक को संकलित किया। यह जानकारी रिले चेन के बाहरी सत्यापन रिंग में जाती है। इस रिंग में, पोलकाडॉट के आंतरिक सत्यापनकर्ता होते हैं—पैराचेन कॉललेटर। फिर से, वे रिले चेन के दृष्टिकोण से सीधे कुछ भी दांव नहीं लगाते हैं। कुछ कॉललेटर के बीच अपना सर्वसम्मति पेश करते हैं, और कुछ नहीं। उदाहरण के लिए, रोबोनॉमिक्स में, एक पैराचेन को लागू करते समय, हमें यह प्रतिमान अधिक दिलचस्प, कम बोझिल लगता है, और यह नेटवर्क को सरल बनाता है जबकि यह कार्यात्मक रूप से पर्याप्त रहता है। कोई भी कॉललेटर, किसी के साथ सर्वसम्मति तक पहुंचे बिना—हमारे द्वारा सत्यापित—एक ब्लॉक और कुछ प्रमाण बाहरी परत को प्रस्तावित कर सकता है। यही कारण है कि ब्लॉक प्रस्तावित किए जाते हैं, ब्लॉक असेंबली की वैधता के प्रमाण पेश किए जाते हैं, और एक बाहरी रिंग होती है। हमें पैराचेन सत्यापनकर्ताओं से कोई सर्वसम्मति की आवश्यकता नहीं है। कोई भी ब्लॉक उत्पन्न कर सकता है और इसे भेज सकता है, और यदि कॉललेटर का यह नोड बाहरी रिंग पर पैराचेन सत्यापनकर्ताओं को गलत जानकारी भेजता है, तो इस स्तर पर सत्यापनकर्ता इसे अस्वीकार कर देंगे। यह केंद्रीय भाग में प्रवेश नहीं करेगा। लेकिन मान लें कि कॉललेटर द्वारा ब्लॉक सही ढंग से प्रदान किया गया था। हमारे लेनदेन अंदर आ गए; कॉललेटर ने उन्हें गणना की, रिले चेन में संग्रहीत रनटाइम को लागू किया, सभी राज्य संक्रमण किए, वैधता के कुछ प्रमाण—संकलित ब्लॉक की वैधता—एकत्र किए और इसे रिले चेन की बाहरी रिंग को सौंप दिया। यहाँ, हर युग में, जो अंतिमता का भी हिस्सा है, हर युग में रिले चेन के सत्यापनकर्ता पैराचेन में बदलते हैं। उनमें से कुछ केंद्र में रहते हैं, और बाकी पैराचेन में जाते हैं। उनकी संख्या 16 से 64 सत्यापनकर्ताओं तक होती है, और मुझे विश्वास है कि यह आंकड़ा विनिर्देश में बदलेगा—कहीं अधिक, कहीं कम। हालाँकि, पैराचेन सत्यापनकर्ता कॉललेटर से आने वाली हर चीज़ के बारे में एक चयनित समूह के सत्यापनकर्ताओं से जानकारी को फिर से सत्यापित करते हैं, कि रनटाइम के अनुसार काम किया गया है, और वैधता का प्रमाण वास्तव में वैध है। रिले चेन सत्यापनकर्ताओं के चयनित खंड, जिन्होंने पहले ही कुछ दांव लगा रखा है, प्रतिक्रिया करते हैं, या बल्कि, आपस में चहकते हैं। वे पैराचेन के चुने हुए मुख्य ब्लॉक उत्पादक से सहमति जताते हैं, जैसे कह रहे हैं, "हाँ, हम सहमत हैं। कोई समस्या नहीं है। आप इसे पूरे बाहरी रिंग के अंदर ले जा सकते हैं।" + +इस प्रकार, पैराचेन कॉललेटर पर निर्मित लगभग सभी जानकारी, बाहरी रिंग पर सत्यापन के साथ, आंतरिक रिंग में प्रवेश करती है। निचला भाग, यह शारीरिक रूप से नीचे नहीं है, फिर भी बाहरी रिंग का गठन करता है—डेटा उपलब्धता। इस चरण में डेटा की जांच शुरू होती है, जिसका मतलब है कि बाहरी रिंग पर न केवल ब्लॉक असेंबली की शुद्धता सत्यापित होती है, बल्कि पोलकाडॉट नेटवर्क के भीतर वितरण की तैयारी भी शुरू होती है, यह सुनिश्चित करते हुए कि भविष्य में ब्लॉक जानकारी खो नहीं जाएगी। यहाँ, ठीक वही है जो मैंने दूसरे भाग में टुकड़ों के बारे में कहा था, जैसे CD RW। ब्लॉक को आंतरिक रिंग में स्थानांतरित करने की तैयारी के इस चरण में, डेटा उपलब्धता परत एक सेवा के रूप में बनाई जाती है, कुछ ऐसा जो वर्तमान में एथेरियम में भी कुछ परियोजनाओं द्वारा प्रयास किया जा रहा है। कुछ परियोजनाएँ अतिरिक्त अतिरिक्त जानकारी सीधे स्मार्ट अनुबंधों में डालती हैं, जो यह जांचने के लिए आवश्यक होती है कि L2 परत पर क्या हो रहा है और, यदि आवश्यक हो, तो उन लोगों को दंडित करें जिन्होंने इसे गलत तरीके से किया है। बाहरी रिंग को ब्लॉक जानकारी वितरित किए बिना और दांव लगाए गए दर्जनों नोड्स को पुनः जाँच के बिना पार करना असंभव है, यह मानते हुए कि रनटाइम सही ढंग से काम करना चाहिए। + +इस प्रकार, जो जानकारी बाहरी रिंग से गुजर चुकी है वह पहले से ही काफी विश्वसनीय है, शायद हाँ, आप यह कह सकते हैं, और आंतरिक रिंग पर, मुख्य रूप से पैराचेन ब्लॉकों के साथ नहीं, बल्कि उनके ब्लॉक हेडर को एक बड़े हेडर में एकत्रित करने का कार्य किया जाता है। यानी, कई हेडर से, एक रिले चेन ब्लॉक का हेडर एकत्र किया जाता है—शेयर्ड सिक्योरिटी में लिंकिंग का एक तंत्र, जैसा कि पोलकाडॉट में कहा गया है, जो पैराचेन की सुरक्षा सुनिश्चित करता है। आप कह सकते हैं कि पैराचेन सत्यापित होते हैं और एक ऐसी अवस्था तक पहुँचते हैं जहाँ सेवा बाहरी रिंग पर वितरित विकेंद्रीकृत रूप में मौजूद होती है। आंतरिक रिंग में, जो जानकारी प्रवेश करती है, वह एक हाइपरब्लॉक में एकत्र होने का प्रयास करती है, जो सभी चीजों को एक साथ जोड़ना चाहिए। वहाँ कोई गणना नहीं हो रही है; सब कुछ का पुनः गणना नहीं हो रहा है। अंतिम ब्लॉक का असेंबली, इस प्रकार, दुनिया के कंप्यूटर के वर्तमान पुनरावृत्ति में होती है, यह तय करने के लिए कि क्या किसी विशेष पैराचेन में लेन-देन हुआ है। हमें एक हाइपरब्लॉक को इकट्ठा करना चाहिए जो पैराचेन से सभी जानकारी नहीं बल्कि पैराचेन की बाहरी रिंग पर सत्यापित सभी हेडर को एक बड़े ब्लॉक में एकत्रित करता है। और इस प्रकार, हमारा दुनिया का कंप्यूटर पोलकाडॉट में काम करता है। + +आइए इन दोनों योजनाओं को एक साथ फिर से देखें: रिले चेन, बीकन चेन, रनटाइम, प्रूफ ऑफ स्टेक द्वारा सुरक्षित, जहाँ कोई अपने फंड को दांव पर लगाता है यह सत्यापित करने के लिए कि वे हमेशा अपना कार्य सही ढंग से करेंगे। वहाँ एक वर्चुअल मशीन है जहाँ आप भी अपने फंड को दांव पर लगा सकते हैं, और यदि आप किसी भी गणना या राज्य संक्रमण को एथेरियम वर्चुअल मशीन की विशिष्टता के अनुसार नहीं करते हैं, तो आपको दंडित किया जाएगा। + +पोलकाडॉट में, एक अतिरिक्त बाहरी परत है, जो प्रतीत होता है कि एक मुख्य लाभ है, इंजीनियरिंग कार्यान्वयन की सुखद सुविधाओं में से एक है, जो मेरी राय में, यहाँ मौजूद होनी चाहिए। यह L2 नेटवर्क और एथेरियम में मौजूद बीकन चेन के बीच दिखाई देनी चाहिए। वैसे, कुछ लोग कहते हैं कि "बीकन चेन" शब्द फिर से खत्म हो रहा है और गलत समझा जा रहा है, लेकिन मुझे इसे "रिले चेन" के साथ तुलना में उपयोग करना बहुत पसंद है, जो एथेरियम के रोडमैप से एक शब्द है। + +पोलकाडॉट में एक बाहरी परत है जो, या शायद इसे इसलिए आविष्कार किया गया था कि कई समस्याओं को हल किया जा सके जो तब उत्पन्न होती हैं जब आपके पास L2 या ब्लॉकचेन का एक सेट होता है जिन्हें कनेक्ट करने की आवश्यकता होती है। इस परत पर, जानकारी के वितरण के लिए एक इंजीनियरिंग तंत्र लागू किया गया है ताकि यह विकेंद्रीकृत नेटवर्क में उपलब्ध हो सके। अतिरिक्त एल्गोरिदम की शुरुआत की गई है जो न केवल वैधता की जांच करते हैं बल्कि जानकारी की उपलब्धता की भी पुष्टि करते हैं। इसके अलावा, हर एपोक में पोलकाडॉट के वेलिडेटर्स को विशिष्ट पैराचेन पर यादृच्छिक रूप से सौंपने का एक तंत्र है। इसलिए, हर एपोक में वही वेलिडेटर्स पैराचेन की सेवा नहीं करते; उन्हें हर एपोक में अलग-अलग पैराचेन पर भेजा जाता है। बाहरी रिंग से आंतरिक रिंग में ब्लॉक ट्रांसफर करते समय, रास्ते में वेलिडेटर्स की दोबारा जांच होती है और उन्हें पैराचेन के लिए सौंपा गया होता है। वर्तमान में, यह प्रक्रिया मौजूद नहीं है, लेकिन मुझे लगता है कि यह किसी समय प्रकट होगी। + +और शायद अंतिम बिंदु कॉललेटर के बारे में है, जो आज पैराचेन में काफी दिलचस्प तरीके से लागू किए गए हैं। वे सहमति (कन्सेन्सस) के साथ हो सकते हैं या बिना सहमति के मौजूद हो सकते हैं, लेकिन वास्तव में, यह काम करता है। L2 नेटवर्क में विकेंद्रीकृत सिक्वेंसर या ब्लॉक कैसे उत्पन्न होंगे और वर्चुअल मशीन में बसने से पहले उनकी पुष्टि कैसे की जाएगी - ये एथेरियम के एक विषम प्रारूप में कार्यान्वयन के लिए अलग-अलग सवाल हैं। आज के दिन में, यह पोलकाडॉट में काफी अच्छी तरह से लागू है, मेरी राय में। हालांकि, इसका मतलब यह नहीं है कि पोलकाडॉट पूरी दुनिया से आगे है और कभी एथेरियम को नहीं पकड़ पाएगा। हालांकि, यह वास्तुकला मुझे आकर्षित करती है कि मैं काम करता रहूं और उम्मीद करता रहूं कि पोलकाडॉट प्रौद्योगिकियों के मामले में अच्छा विकास करता रहेगा क्योंकि मैंने इस तरह के सभी जुड़े पहलुओं में कुछ भी नहीं देखा है। + +और शायद इस व्याख्यान के हिस्से में एक और दिलचस्प कहानी: अब तक, हम एथेरियम में L2 नेटवर्क के बीच सही क्रॉस-चेन संदेश की कल्पना नहीं कर सकते। हो सकता है कि मैंने कागजात में कुछ छूट गया हो, लेकिन जब आपके पास बाहरी रिंग नहीं है और कॉललेटर्स, पैरावलिडेटर्स और डेटा उपलब्धता सेवाओं जैसी समस्याएं हल नहीं हुई हैं, तो यह सोचना मुश्किल है कि दो L2 परतें कैसे संवाद कर सकती हैं। फिर भी, पोलकाडॉट में यह मौजूद है। यहां तक कि क्षैतिज रूप से, रिले चेन के माध्यम से, जिसका मतलब है कि सीधे, एक पैराचेन से दूसरे पैराचेन में सुरक्षित रूप से एक लेन-देन भेजा जा सकता है, बिना इन दोनों पैराचेन के बीच किसी पुल पर भरोसा किए। यह एक और महत्वपूर्ण कार्यक्षमता है जिसे शायद L2 नेटवर्क को जोड़ने के स्तर पर लागू करने की आवश्यकता होगी। एथेरियम में स्मार्ट अनुबंध अच्छी तरह से संवाद करते हैं। हमने कई लिंक किए गए स्मार्ट अनुबंधों की श्रृंखला बनाई है, जहां एक दूसरे को ट्रिगर करता है। इसमें कोई समस्या नहीं है। लेकिन जब हम कहते हैं कि लगभग सभी एप्लिकेशन विषम नेटवर्क में L2 परत पर जा रहे हैं, तो मुझे सुनाई देता है कि यदि आप एक विशिष्ट क्षेत्र में रहते हैं, तो आप बाहर नहीं निकल पाएंगे। यह पोलकाडॉट में पैराचेन और कार्यान्वयन के स्तर पर नहीं है। दोनों आर्किटेक्चर देखने लायक हैं, क्योंकि मेरी राय में, इंजीनियरिंग कार्यान्वयन वैश्विक कंप्यूटर बनने के मुख्यधारा के मार्ग का अनुसरण करता है। वे थोड़े भिन्न होते हैं, लेकिन कई समानताएं हैं। हर जगह इंजीनियरिंग कार्य का एक विशाल मात्रा है। जैसा कि हम देखते हैं, मानव सभ्यता, शोधकर्ताओं, इंजीनियरों और विकासशील डेवलपर्स की एक बड़ी संख्या के रूप में, आगे के विकास के लिए महत्वपूर्ण संसाधनों के साथ, छोटे प्रारंभिक चरण से लगभग एक ही दिशा में बढ़ रही है, शायद भविष्य में दुनिया के कंप्यूटर की स्थापना तक, सभी एक ही ट्रैक पर। + diff --git a/courses/hi/learn/world-computer/overview.md b/courses/hi/learn/world-computer/overview.md new file mode 100644 index 0000000000..1136e34048 --- /dev/null +++ b/courses/hi/learn/world-computer/overview.md @@ -0,0 +1,58 @@ +--- +title: "भाग 1: विश्व कंप्यूटर का विचार" +description: 'यह "आपके घर में विश्व कंप्यूटर" शीर्षक वाले चार-भाग वाले व्याख्यान का पहला भाग है। पहले भाग में, जिसका शीर्षक है "द आइडिया ऑफ ए वर्ल्ड कंप्यूटर," मैं अपने स्वयं के प्रतिबिंबों का विश्लेषण और साझा करना चाहता हूं, जो व्यापक ऐतिहासिक संदर्भ में, हैशटैग "वर्ल्ड कंप्यूटर" के आसपास एकत्र हुए हैं।' +metaOptions: [सीखना] +defaultName: "World computer in your home" +--- + +यह चार भागों में विभाजित व्याख्यान "आपके घर में विश्व कंप्यूटर" का पहला भाग है। पहले भाग का शीर्षक है "विश्व कंप्यूटर का विचार," जिसमें मैं अपनी सोच और ऐतिहासिक संदर्भ में जमा हुई अवधारणाओं को साझा करना चाहता हूँ, जो "विश्व कंप्यूटर" हैशटैग के इर्द-गिर्द घूमती हैं। + +शुरुआत करते हुए, आइए यह समझने की कोशिश करें कि एक विश्व कंप्यूटर क्या है, बिना किसी शब्दावली या विशिष्ट तकनीकी विवरणों में जाए। यदि आप अपने मोबाइल फोन को हाथ में लेते हैं और आइकनों को देखते हैं, तो आप देख सकते हैं कि व्यावहारिक रूप से हर एप्लिकेशन के दो प्रमुख खंड या संचालन क्षेत्र होते हैं। + +पहला है स्थानीय भाग, उदाहरण के लिए, आपका कैलकुलेटर या नोट्स एप्लिकेशन। यह एक पूरी तरह से स्थानीय एप्लिकेशन है जिसे लगभग कोई बाहरी संचार की आवश्यकता नहीं होती। हालांकि, यहां तक कि नोट्स जैसे एप्लिकेशन में भी थोड़ी अधिक जटिलता होती है, लेकिन हम Android फोन के लिए ओपन सोर्स एप्लिकेशन की बात करें तो यह समझना ज्यादा उचित होगा। + +दूसरा भाग क्लाउड इंफ्रास्ट्रक्चर की आवश्यकता है, और यहां, जब क्लाउड इंफ्रास्ट्रक्चर का प्रश्न उठता है, तो कई जटिल कहानियां शुरू होती हैं: यह क्लाउड इंफ्रास्ट्रक्चर किसके पास है, डेवलपर्स के पास एप्लिकेशन में सुविधाएँ जोड़ने के क्या-क्या अधिकार हैं, और सामान्य रूप से उपयोगकर्ता इस एप्लिकेशन का स्वामित्व कैसे रखते हैं? एक एप्लिकेशन जो केवल उनके फोन पर नहीं है, बल्कि किसी इंफ्रास्ट्रक्चर में भी है जो उनके पॉकेट या हथेली से बाहर है, उपयोगकर्ता के पास क्या-क्या क्षमताएँ और जिम्मेदारियाँ हैं? विश्व कंप्यूटर ठीक ऐसे ही एक उदाहरण है कि डेवलपर समुदाय इन स्पष्ट प्रश्नों का उत्तर कैसे देता है। आपके मोबाइल फोन, लैपटॉप, सर्वर और किसी भी अन्य स्मार्ट डिवाइस के लिए उच्च गुणवत्ता वाले एप्लिकेशन बनाने के स्पष्ट प्रश्न। + +विश्व कंप्यूटर, तदनुसार, वही क्लाउड है, वही इंफ्रास्ट्रक्चर जो इंटरनेट पर मौजूद है, जिसके साथ डेवलपर्स इंटरैक्ट कर सकते हैं और अपने एप्लिकेशन प्रकाशित कर सकते हैं। एक उपयोगकर्ता के रूप में, आप इन्हें अपने पीसी पर इंस्टॉल, डाउनलोड और चला सकते हैं। हालांकि, एक दिलचस्प और महत्वपूर्ण विशेषता के साथ: वास्तव में इस इंफ्रास्ट्रक्चर या विश्व कंप्यूटर के क्लाउड का कोई मालिक नहीं है। धरती पर कोई विशेष कंपनी, क्षेत्राधिकार या व्यक्ति नहीं है जो यह निर्धारित कर सके और कह सके कि आप वहां अपना एप्लिकेशन प्रकाशित कर सकते हैं या नहीं, या आपको इस विश्व कंप्यूटर इंफ्रास्ट्रक्चर तक पहुँचने का अधिकार है या नहीं ताकि आप सेवा प्राप्त कर सकें। इसलिए, विश्व कंप्यूटर एक ऐसा क्लाउड है जिसमें कोई भी डेवलपर अपना एप्लिकेशन डाल सकता है, और कोई भी उपयोगकर्ता केवल इंटरनेट नेटवर्क तक पहुंच के साथ और किसी फ़ायरवॉल के पीछे विशिष्ट IP पते तक नहीं, उस एप्लिकेशन का उपयोग कर सकता है और अपनी जेब से गणनाओं के लिए भुगतान कर सकता है। + +यह चार भागों में विभाजित व्याख्यान "आपके घर में विश्व कंप्यूटर" का पहला भाग है। पहले भाग का शीर्षक है "विश्व कंप्यूटर का विचार," जिसमें मैं अपनी सोच और ऐतिहासिक संदर्भ में जमा हुई अवधारणाओं को साझा करना चाहता हूँ, जो "विश्व कंप्यूटर" हैशटैग के इर्द-गिर्द घूमती हैं। + +इस व्याख्यान में, हम एक सामान्य दृष्टिकोण से समझने की कोशिश करेंगे कि एक विश्व कंप्यूटर क्या है, बिना किसी शब्दावली या विशिष्ट तकनीकी विवरणों में जाए। एक विश्व कंप्यूटर एक क्लाउड इंफ्रास्ट्रक्चर है जो संप्रभु है, जिसे कोई मालिक नहीं है, जो प्रत्येक डेवलपर को ऐप डाउनलोड की पेशकश करने वाले प्लेटफ़ॉर्म मालिकों से सेंसरशिप से बचने की अनुमति देता है। यह उपयोगकर्ताओं को ऐसी स्थिति में होने से भी रोकता है जहां वे नहीं समझते कि उनके फोन पर एक ऐप कैसे काम करता है। मेरे विचार में, ये महत्वपूर्ण और ध्यान देने योग्य विशेषताएँ हैं, जो उन लोगों के लिए आदर और ध्यान देने योग्य हैं जो अधिक भविष्यवादी, कूलर एप्लिकेशन बनाना चाहते हैं। यही वह चीज़ है जो मेरी टीम और मैं पिछले आठ वर्षों से कर रहे हैं, शायद सबसे चुनौतीपूर्ण क्षेत्र चुनते हुए - विश्व कंप्यूटर के लिए रोबोटिक्स के लिए सेवाएँ बनाना, जो लगता है कि आपके दरवाजे के बाहर है, धीरे-धीरे खटखटाते हुए कहता है, "मैं आपके घर में आना चाहता हूँ।" + +अब, आइए एक समयरेखा पर चलते हैं और मेरे व्यक्तिगत अनुभव के माध्यम से देखें कि विश्व कंप्यूटर की अवधारणा कैसे विकसित हुई। सबसे पहले, 2012 में वापस चलते हैं। यह वर्ष महत्वपूर्ण है क्योंकि बिटकॉइन पहले से ही एक वैश्विक इंटरनेट सेवा के रूप में मौजूद है, जो सभी के लिए सुलभ है, किसी विशेष के स्वामित्व में नहीं है। 2012 तक, बिटकॉइन के अलावा, इसके तथाकथित "फॉर्क्स" भी प्रकट होने लगते हैं। इनमें से एक सबसे प्रसिद्ध है लाइटकॉइन। + +लाइटकॉइन महत्वपूर्ण है क्योंकि इसके डेवलपर ने पूरे समुदाय के लिए सबसे महत्वपूर्ण काम किया। उन्होंने बिटकॉइन के कोड के विभिन्न हिस्सों से सबसे महत्वपूर्ण कॉन्फ़िगरेबल वेरिएबल्स या कांस्टेंट्स को एकत्र किया, जो प्रोटोकॉल के लॉन्च के बाद से हैं। इसने ब्लॉक जेनरेशन समय, ब्लॉक इनाम, और सांख्यिकीय रूप से, लाइटकॉइन को बिटकॉइन से अधिक बार फोर्क करने की अनुमति दी। जब हम "बिटकॉइन का फोर्क" कहते हैं, तो मैं निश्चित रूप से कह सकता हूँ कि अधिकांश मामलों में, यह लाइटकॉइन का फोर्क होगा। + +उस समय लाइटकॉइन क्या प्रतिनिधित्व करता था, वह एक इलेक्ट्रॉनिक नकद के लिए इंटरनेट सेवा की एक प्रति थी। इसे "तेज़" जोड़कर जोड़ा जा सकता था, इसे तेज़ इलेक्ट्रॉनिक नकद बनाते हुए। और भी उल्लेखनीय, एक परियोजना का उदय जैसे नेमकोइन। + +नेमकोइन भी बिटकॉइन का एक फोर्क है, और अगर मेरी याददाश्त सही है, तो यह शुरू में सीधे बिटकॉइन से फोर्क था, और फिर 2011 में कुछ महीनों बाद लाइटकॉइन प्रकट हुआ। हालाँकि, नेमकोइन कुछ अलग निकला, जिससे कई डेवलपर्स मानसिक रूप से समझ सके कि बिटकॉइन की इंटरनेट सेवा की अवधारणाएँ कहाँ विकसित हो सकती हैं। नेमकोइन केवल एक सिक्के से आगे बढ़ गया; यह एक डेटाबेस के रूप में पहचान संग्रहीत कर सकता था और एक इंटरनेट सेवा को आपके डोमेन नाम को रखने की अनुमति दे सकता था। यह पहला उदाहरण था जहां एक इंटरनेट सेवा जो बिटकॉइन से उत्पन्न हुई थी, एक अलग प्रकृति की हो सकती थी, न केवल लाइटकॉइन की तरह तेज़ लेनदेन के साथ, बल्कि अपनी आंतरिक मुद्रा, एक आंतरिक टोकन के साथ कुछ जानकारी संग्रहीत करने के लिए भुगतान करने की क्षमता के साथ। उदाहरण के लिए, .bit डोमेन क्षेत्र में नाम। + +दुनिया भर के डेवलपर्स बिटकॉइन के साथ प्रयोग कर रहे थे, ज्यादातर फोर्क बनाकर, उन्हें तेज़ और सस्ता इलेक्ट्रॉनिक नकद बना रहे थे। इसके साथ ही, पहली सेवाएँ प्रकट हुईं, न केवल वित्तीय अनुप्रयोगों में बल्कि अन्य क्षेत्रों में भी क्रॉस-इंडस्ट्रियल अनुप्रयोगों में अवसरों को देखते हुए, जैसे नेमकोइन। नेमकोइन ने पहली बार एक वैश्विक स्तर पर सुलभ और असंपूर्ण इंटरनेट सेवा प्रदान की जिसके माध्यम से आप अपनी वेबसाइट लॉन्च कर सकते थे, किसी विशेष संगठन के अधिकार क्षेत्र में नहीं, बल्कि एक वितरित वैश्विक सुलभ नेटवर्क के भीतर। यह क्षण हमारे लिए महत्वपूर्ण है कि हम विश्व कंप्यूटर के विचारों के शुरुआती पूर्ववर्तियों की ओर बढ़ें। + +विश्व कंप्यूटर के पहले व्यावहारिक विचार 2014 में उभरे, पहले बिटकॉइन फोर्क की पहली लहर और इलेक्ट्रॉनिक नकद के अलावा अर्थपूर्ण सेवाओं के निर्माण के दो साल बाद। हम विचारों का सामना करते हैं जो एथेरियम के लॉन्च से पहले के होते हैं। + +2014 में, दुनिया भर में कई मीटअप्स में, मियामी और, मुझे लगता है, यूरोप में, विटालिक बुटेरिन ने संवेदनशील विचार व्यक्त किए। वह सुझाव देते हैं कि हम न केवल इंटरनेट सेवाओं का एक सेट विकसित कर सकते हैं जो अनिवार्य रूप से एक स्विस सेना चाकू की तरह कार्य करते हैं, सही? हम एक वर्चुअल मशीन विकसित कर सकते हैं। जिन लोगों ने कंप्यूटर साइंस में शिक्षा प्राप्त की है, वे शायद याद करते हैं कि ट्यूरिंग मशीनों में एक अनंत टेप क्या है, और अगर हम कम्प्यूटेशनल मशीनों के सिद्धांत में वापस जाते हैं, तो हम शायद अपने व्यक्तिगत कंप्यूटर बनाने के सैद्धांतिक मूल को याद करते हैं, अनिवार्य रूप से आज के सर्वर इंफ्रास्ट्रक्चर को। यह दिलचस्प है कि, वॉन न्यूमैन आर्किटेक्चर और पूर्ण ट्यूरिंग मशीन सिद्धांत के विकास के पचास साल बाद, और इंटरनेट तकनीकों के आगमन के साथ केवल 2014 में, और केवल बिटकॉइन के साथ प्रयोगों के बाद, हमारे ग्रह पर एक पूरी तरह से वर्चुअल कम्प्यूटेशनल मशीन बनाने का पहला विचार उभरता है। वही सिद्धांत जिस पर पिछले 50 वर्षों में कंप्यूटर विज्ञान उद्योग में परीक्षण किया गया है। तंत्र वही हैं जैसे किसी भी व्यक्तिगत कंप्यूटर या डेटा सेंटर में सर्वर बनाने के समय, लेकिन इंटरनेट तकनीकों में उपलब्धियों और उस दुनिया में अधिक आधारित है जिसे बाद में Web3 कहा जाएगा। + +एथेरियम स्वयं एक स्विस आर्मी नाइफ नहीं है, न कोई विशिष्ट इंटरनेट सेवाओं का सेट। यह, सीधे संदर्भ में, एक बादल, एक गणनात्मक मशीन है। जो इसके मूल में है, मैं अगले व्याख्यान में आपको बताऊँगा। यहाँ, हमारे लिए सबसे महत्वपूर्ण बात यह है कि हम एथेरियम की विचारधारा कहाँ से आरंभ हुई, उस पर ध्यान केंद्रित करें। यह दो वर्षों में शुरू हुआ था कि कई विभिन्न इंटरनेट सेवाओं का आविष्कार किया गया था जो दिलचस्प थे क्योंकि वे वैश्विक रूप से पहुँचने योग्य थे, डेवलपर्स द्वारा विनियोजन के लिए सेंसरशिप के बिना उपलब्ध थे। उपयोगकर्ता केवल एक आंतरिक मुद्रा के साथ उन्हें उपयोग कर सकते थे। हालांकि, इन सभी अवधारणाओं में जो कुछ भी नहीं पसंद आया था, वह था कि लगभग प्रत्येक दिलचस्प सेवा को अपना स्वयं का व्यापक वितरित अवसंरचना चाहिए था। परिचित इंटरनेट सेवाओं के विपरीत, आप बस अपना वैश्विक पहुँचने वाला अवसंरचना नहीं लॉन्च कर सकते थे अगर आप एक बहुत छोटे व्यक्ति या एक छोटी सी टीम थे क्योंकि ऐसा नेटवर्क संवेदनशील होता, और सेवा खुद सुरक्षित नहीं रहती। अपनी व्यक्तिगत वैश्विक पहुँचने वाली सार्वभौमिक इंटरनेट सेवा बनाने के साइड इफेक्ट्स या नकारात्मक परिणामों को परिहार करने के लिए, एथेरियम की अवधारणा उत्पन्न हुई। एथेरियम, किसी भी प्रारूपिक गणना को संभालने के योग्य एक पूर्णत: बादल के रूप में, आपको अपने कार्यक्रम कोड लिखने की अनुमति देता है, एक पूर्ण कार्यक्रम मूल रूप में, और इसे समान ब्लॉकचेन के साथ सैकड़ों अन्य अनुप्रयोगों के साथ चलाने की अनुमति देता है। यह संभावना, 2014 की छोटी सी चरणों से आवाजित होती, बहुत से लोगों के मन को स्वयं आकर्षित करती थी और किसी के लिए सरल शिक्षा में बुनियादी शिक्षा होने के साथ-साथ पूरी तरह से तार्किक लगती थी। यदि आप 2014 तक ट्यूरिंग पू + +मुझे विश्वास है कि वर्ष 2014 और एथेरियम पहले, हालांकि स्पष्ट रूप से नामित नहीं, एक वैश्विक कंप्यूटर के अवधारणा के पहले उदाहरण के रूप में चिह्नित करते हैं। यह उस विचार से शुरू हुआ कि हमें एक स्विस चाकू की आवश्यकता नहीं है; बल्कि हमें अंतर्राष्ट्रीय स्तर पर सुरक्षा चुनौतियों को संबोधित करने वाले एकरूपी बादल या अंतर्राष्ट्रीय बादल की आवश्यकता है। डेवलपर्स, कम लागत में, अपने एप्लिकेशन को वहाँ विनियोजित कर सकते हैं बिना उन्हें नेटवर्क की सुरक्षा या इस कंप्यूटर या आपकी विशिष्ट इंटरनेट सेवा के लिए प्रदाताओं का एक नेटवर्क बनाने जैसी समस्याओं के बारे में चिंता करने की आवश्यकता न हो। + +2015 में, एथेरियम को प्रभावी रूप से लॉन्च किया गया था। उस पल से लेकर 2020 तक, मुझे कोई महत्वपूर्ण विरोधाभास नहीं मिला है विशिष्ट इंटरनेट सेवाओं के बनाने के विचार के विरुद्ध ही नहीं, बल्कि एक वास्तविक कंप्यूटर, वर्चुअल सर्वर, बादल, या एक वैश्विक कंप्यूटर के अवधारणा को गोद लेने और विकसित करने का विचार को भी। मेरी पसंद से मैं इसे एक वैश्विक कंप्यूटर के रूप में पुकारता हूं। + +विभिन्न विविधताएं उत्पन्न होती हैं, संभवतः कुछ लोग तब प्रसिद्ध EOS को एक थोड़ी अलग संभावना परिवेश का सुझाव देते हैं। मेरे व्यक्तिगत अरुचि के बावजूद, उसके 21वें मान्यता प्राप्तकर्ता के साथ और सभी कुछ, यह बहुतों के लिए पर्याप्त लगता है। लेकिन इसने यह विचार पेश किया कि टोकन्स के स्वामित्व का अधिकार आपको बैंडविड्थ का एक हिस्सा प्रदान करता है, जो कि रोबोनॉमिक्स आर्किटेक्चर के क्षेत्र में मुझे आज भी दिलचस्प लगता है। + +समय-समय पर, एथेरियम नेटवर्क को आधुनिक बनाने के लिए अन्य विचार भी उत्पन्न होते हैं। प्रोजेक्ट्स जैसे कि डिफिनिटी, सोलाना, और अन्य भूमिका में आते हैं। उसी समय के आसपास, गेविन वुड पॉलकाडॉट को पेश करते हैं, जिन्होंने विटालिक की मदद की थी एथेरियम बनाने में। 2015 से 2020 के बीच तक, कई तकनीकी प्रोजेक्ट्स से हम विभिन्न इंटरनेट सेवा के वेरिएंट्स बनाने की दौड़ से, एक विशेष इंटरनेट सेवा के बजाय, एथेरियम किलर्स की उत्पत्ति को देखते हैं। इस नारे के तहत कई प्रोजेक्ट्स शुरू हुए, जो कई इंटरनेट सेवाओं के लिए एक संयुक्त बादल के विचार को लेकर कुछ पहलुओं को संशोधित करते रहे। उदाहरण के लिए, EOS ने एक वैकल्पिक उपयोग योजना प्रस्तुत की, जहां केवल टोकन के समर्थन से प्राप्त स्वामित्व बैंडविड्थ तक पहुंच संभव थी। कुछ प्रोजेक्ट्स में कोड लिखने के लिए प्रोग्रामिंग भाषा अधिक दिलचस्प थी। उदाहरण के लिए, BMW के लिए हैकाथॉन के दौरान, जब हमने एथेरियम पर कार्यान्वयन के साथ जीत हासिल की, तो ऑटोमेकर तुरंत कहा कि हम आगे नहीं बढ़ेंगे जब तक हमारे पास औपचारिक रूप से सत्यापित कर लिए अनुबंध नहीं होते, जो उस समय एथेरियम पर संभव नहीं था। + +इस समय पर, जब आप एटर्निटी और अन्य नेटवर्क्स के विचारों के बारे में पढ़ रहे हैं, तो आप सोच सकते हैं, "मुझे इनके साथ काम करना भी चाहिए।" सेवा डेवलपर्स इसे समझ गए, जैसा कि मैंने उल्लिखित किया, प्रोजेक्ट्स जैसे कि डिफिनिटी, जो हाल ही में दुनिया कंप्यूटर को लॉन्च किया और लोकप्रिय हो रहा है। एक हेटरोजिनियस मल्टी-चेन फ्रेमवर्क के रूप में पॉलकाडॉट का विचार भी उभरता है। मध्य-2010 के आसपास, एथेरियम को भी स्केलेबिलिटी और विकास के लिए एक रोडमैप मिला। 2024 तक, लगभग सभी अवधारणाएं एक विचार में एकल डेटाबेस या ब्लॉकचेन होने की बजाय, एक संख्यात्मकता होती हैं। विभ + +आइए अब एक टाइमलाइन स्नैपशॉट देखें: + +- **2009-2012**: पहली बार वैश्विक रूप से पहुंचने वाली इलेक्ट्रॉनिक नकदी के लिए इंटरनेट सेवा - बिटकॉइन की उत्पत्ति। +- **शुरुआती 2012**: पहला फोर्क युद्ध होता है, जिसमें प्रोजेक्ट्स उसी तरह की सेवाओं की प्रतिलिपि बनाने के लिए उत्पन्न होते हैं। कुछ मल्टी-बिलियन प्रोजेक्ट्स अपने फोर्क बनाते हैं। साथ ही, प्रोजेक्ट्स जैसे कि नेमकॉइन दिलचस्प विचार प्रस्तुत करते हैं। +- **2014**: एक विश्व कंप्यूटर की अवधारणा उभरती है, जो कंप्यूटर विज्ञान सिद्धांत की गहरी समझ और बिटकॉइन के विकास में लीपापोती की आवश्यकता होती है। +- **2015-2020**: अवधारणा सिद्धांत से अभ्यास तक का सफर होता है। एथेरियम के संशोधन और परिवर्तन उत्पन्न होते हैं, जिनमें विभिन्न गुणवत्ता के विभिन्न विचार प्रस्तुत होते हैं। "विश्व कंप्यूटर" शब्द स्थापित हो जाता है। +- **2024**: हम विश्व कंप्यूटर तक पहुँचते हैं, जो अब अच्छी तरह स्थापित है, जो आपके फोन पर एक साधारण कैलकुलेटर से वैश्विक रूप से पहुंचने योग्य संस्था में संकेत करता है। विश्व कंप्यूटर की विचारधारा भविष्य के लिए मनी और महत्वपूर्ण दस्तावेज़ों के भंडारण के लिए एक स्थान के रूप में देखी जाती है। + +संक्षेप में, एक साधारण कैलकुलेटर से वैश्विक रूप से पहुंचने योग्य संस्था तक, विश्व कंप्यूटर की विचारधारा का विकास हुआ है। इसे भविष्य के पैसे और महत्वपूर्ण रिकॉर्ड्स के भंडारण के लिए एक स्थान के रूप में देखा जाता है। विश्व कंप्यूटर की अवधारणा सिद्धांतिक चर्चाओं से अभिविक्ष्य सूची में परिवर्तन हो गई है। अगले व्याख्यान में, चर्चा विश्व कंप्यूटर का असल महत्व क्या है, इस पर गहराई से होगी। यह मौलिक रूप से एक स्थिति परिवर्तन कार्य का एक अवधारणा है, जिसे आगामी व्याख्यान में और अधिक अध्ययन किया जाएगा, इसकी महत्वपूर्णता और सुरक्षा की आवश्यकता को बल देते ह + + diff --git a/courses/hi/learn/world-computer/the-heart-of-the-world-computer.md b/courses/hi/learn/world-computer/the-heart-of-the-world-computer.md new file mode 100644 index 0000000000..2c781ddc99 --- /dev/null +++ b/courses/hi/learn/world-computer/the-heart-of-the-world-computer.md @@ -0,0 +1,57 @@ +--- +title: "भाग 2: विश्व कंप्यूटर का हृदय" +description: 'एथेरियम या पोलकाडॉट जैसी परियोजनाओं या विश्व कंप्यूटर के खिताब का दावा करने वाली किसी अन्य वेब3 परियोजना के मूल में क्या है, और मानव शरीर में हृदय के साथ तुलना विश्व कंप्यूटर की अमूर्त वास्तुकला में इतनी अच्छी तरह क्यों फिट बैठती है?' +metaOptions: [सीखना] +defaultName: "World computer in your home" +--- + +ऐसे प्रोजेक्ट्स जैसे कि एथेरियम या पॉलकाडॉट, या कोई और वेब3 प्रोजेक्ट जो विश्व कंप्यूटर का शीर्षक दावा करता है, उसके मूल में क्या होता है, और मनुष्य शरीर में दिल के साथ तुलना के लिए यह तुलना अत्यंत अच्छी क्यों है, यह सब विश्व कंप्यूटर के अमूर्त वास्तुकला में अत्यंत अच्छी तरह से मिलता है, इन प्रश्नों को इस व्याख्यान के इस हिस्से में समझने की कोशिश करते हैं, और शुरू करने के लिए, हमें बिटकॉइन मैक्सिमलिस्ट्स की जंजीरों को थोड़ा तोड़ना होगा। शायद आपने अपने जीवन में एक या कई प्रसिद्ध विज्ञान लेखों को पढ़ा होगा जो बिटकॉइन को समर्पित होते हैं, और जो अधिकांशतः यहाँ-वहाँ उल्लेख किया गया है, वह है बिटकॉइन के तीन मुख्य लाभ जैसे: + +- सेंसरशिप प्रतिरोध +- बिटकॉइन ब्लॉकचेन में संग्रहित डेटा की अविकलता +- लेन-देन की पारदर्शिता + +चलो, हम इन गुणों में से प्रत्येक को जल्दी से समझेंगे, और सबसे महत्वपूर्ण बात, अंत में, हमें उनसे थोड़ा सा दूर जाना होगा, क्योंकि विश्व कंप्यूटर उन्हें किसी तरह के बिटकॉइन के उत्तराधिकारी के रूप में वारिस स्वरूप में ग्रहण करता है। + +**पहली बात**, डेटा की अविकलता। बेशक, इस गुणवत्ता का, इलेक्ट्रॉनिक नकदी के दृष्टिकोण से, महत्वपूर्ण लाभ और महत्व है। जब आप एक लेन-देन करते हैं या बिटकॉइन प्राप्त करते हैं, एक या दो ब्लॉक के बाद, आप धीरे-धीरे ब्लॉकचेन में डेटा की अविकलता का अनुभव करने लगते हैं। पहले 15 मिनटों में, आप एक ब्लॉकचेन एक्सप्लोरर का उपयोग करके देख सकते हैं कि लेन-देन कैसे निपटेगा। आप पहले से ही नेटवर्क में इसे देखते हैं, लेकिन यह पूर्ण नहीं होता, अर्थात्, ये बिटकॉइन अभी तक आपके खाते में नहीं हैं। हालांकि, कुछ ब्लॉक के बाद, यह विश्वास होता है कि ये धन आपके खाते से गायब नहीं होंगे। समय के साथ, आपके खाते से किसी भी रूप में डेटा को ओवरराइट होने की संभावना लगभग नकारात्मक हो जाती है, अधिकांशत: शून्य तक। यह हमारी डेटा की अविकलता की संपत्ति है। यह कितना अच्छा होता है जब आप प्राप्तकर्ता के साथ जानकारी साझा कर सकते हैं, उन्हें ब्लॉकचेन एक्सप्लोरर का लिंक भेज सकते हैं, और आपको बैंक से किसी निर्दिष्ट तारीख और समय पर भुगतान किया गया है यह साबित करने के लिए कोई कागज़ या दस्तावेज़ प्राप्त करने की आवश्यकता नहीं है - यह बिटकॉइन के तुलना में एक बैंक ट्रांसफर और बिटकॉइन ट्रांसफर की तुलना में बहुत ही सहायक और संभवतः सबसे अधिक आनंददायक लाभ है। + +**दूसरी बात**, लेन-देन की पारदर्शिता। बिटकॉइन का उपयोग करते समय आपको लगभग कोई भय नहीं होता कि आप दुनिया के किसी क्षेत्र में या एक ऐसे इंटरनेट प्रदाता के साथ जुड़े होंगे जिसके माध्यम से आप बिटकॉइन नेटवर्क के साथ कार्रवाई नहीं कर सकते। आपके बिटकॉइन नेटवर्क के साथ कोई अन्य विकल्प प्रायः नहीं हैं। यह तीन गुणवत्ताएँ, बेशक, बहुत महत्वपूर्ण हैं। अब, "विश्व कंप्यूटर के हृदय में क्या है" के प्रश्न को समझने के लिए, हमें उनसे दूर जाने + +ये तीन गुणवत्ताएँ, बेशक, बहुत महत्वपूर्ण हैं। अब, "विश्व कंप्यूटर के हृदय में क्या है" के प्रश्न को समझने के लिए, हमें उनसे दूर जाने, सामान्य करने, और एक छोटे से धार्मिक धारणा का छलांग लगाने की आवश्यकता होगी, लगभग, 1930 की दशक के लिए। +1936 में, एलन ट्यूरिंग ने वैज्ञानिक समुदाय को औपचारिकीकरण समस्या को हल करने का प्रस्ताव दिया, और, वास्तव में, ऐसे एक अल्गोरिदम जैसे एक अधिक गुणवत्तात्मक विवरण की एक अधिक गुणवत्तात्मक विवरण। दिलचस्प बात यह है कि एलन ट्यूरिंग के प्रस्ताव से, भविष्य में सभी कंप्यूटर विज्ञान की संरचना और विकास उत्पन्न हुआ, लेकिन उन्होंने किसी भी प्रकार से व्यक्तिगत कंप्यूटर बनाने की विचार नहीं की, और उन्हें डेटा केंद्र या बादल के बारे में कुछ भी नहीं पता था। उनका कार्य था कि गणितज्ञों के सामने आने वाले कार्यों के संदर्भ में एक अल्गोरिदम को परिभाषित करने का एक तरीका प्रदान करें। यह एक विस्मयजन चित्र है जो एक शताब्दी के दौरान गणितज्ञों के बीच एक बहुत ही साधारण समस्या का उत्पाद होता है कि कंप्यूटर विज्ञान की उपलब्धि होती है। + +चलो, हम उसे समझने की कोशिश करते हैं कि अलन ट्यूरिंग ने क्या प्रस्तावित किया, बिना अल्गोरिदम सिद्धांत और उसके सुझाव के उद्देश्य में बहुत गहराई में प्रवेश किए। अलन ट्यूरिंग ने ट्यूरिंग मशीन प्रस्तावित की, जो एक अनंत टेप (हम इसे सरल बनाने के लिए मेमोरी सेल कह सकते हैं), जिसे एक पठन और लेखन मुखिया द्वारा चलाया जाता है, को प्रतिनिधित करता है। यह मुखिया, किसी निश्चित सेल के ऊपर स्थित, डेटा को पढ़ सकता है, उन पर कुछ सरल कार्रवाई लागू कर सकता है, और नए मान लिख सकता है। + +आज, जब आप इस तरह के वाक्यों को सुनते हैं, तो आपको ऐसा लग सकता है: "ठीक है, हाँ, यह एक हार्ड ड्राइव, एक कंप्यूटर, या कुछ ऐसा है।" यह पूरी तरह से सही है। यह विवरण पहले कंप्यूटर आर्किटेक्चर की उत्पत्ति को दिया। हालांकि, ट्यूरिंग मशीन का मुख्य काम एक प्रणाली या सत्ता का प्रतिनिधित्व करने का एक साधन प्रदान करना था जो किसी भी सरलीकृत गणनाओं को करने के क्षम था। आप एक बक्सा या कक्ष, जिसमें प्रकाशों से भरा हो सकता है, का कल्प कर सकते हैं, जिसमें आप अपनी पंच कार्ड, कार्ड को डालते हैं, या ब्लूटूथ सिग्नल को ट्रांसमिट करते हैं, और मशीन काम करना शुरू हो जाती है, जो सरल ऑपरेशन को करती है, जो आपकी समस्या को अंततः हल करती है। इस प्रकार, ट्यूरिंग मशीन एक सार्वत्रिक गणनात्मक तंत्र है जो प्राथमिक रूप से उन्हें सार्वत्रिक और आवश्यक कार्य को पूरा करने का एक तंत्र प्रदान करता है, जो किसी भी सरल गणना या, अधिक सटीकता से, किसी भी सरलीकृत गणना को करने के लिए संभव है - गणित की भाषा में विभाजित किया जा सकता है। + +इस समस्या-समाधान और एल्गोरिदम के सिद्धांत से, व्यक्तिगत कंप्यूटर उत्पन्न हुआ। इस परिभाषा से, 2014 में, अगर हम बात करें तो अर्थात, इसका प्रथम विश्व कंप्यूटर के रूप में विचार आया। चलो, हम इसे संक्षेप में क्या प्रस्तुत करते हैं यह वर्णित करते हैं। हमारे पास एक या अधिक सेट की जा रही है या गणना के अनुरोध होते हैं। ये अनुरोध एक गणनात्मक मशीन या, अगर हम इसके सिद्धांती तत्त्व की बात करें, एक "राज्य परिवर्तन," वास्तव में स्थिति का परिवर्तन है। क्या आपने अभी कुछ मिनट पहले ही बात की, अनंत टेप और पठन मुखिया के बारे में? तो, यह मुखिया जो इस टेप को धारण करता है, वास्तव में, जो भी सेल के साथ काम करता है, उसकी स्थिति को प्रभावी रूप से परिवर्तित करता है। आउटपुट में, हम परिणाम प्राप्त करते हैं। हम किसी विशिष्ट प्रभाव के बारे में बात नहीं कर रहे हैं, किसी सेल में लेखन की कोई अतिरिक्त संचालन की चर्चा नहीं कर रहे हैं, बस यह कि एक सेट के डेटा को इनपुट करके या उन्हें अनंत टेप से पढ़कर, हम अपनी चल रही मुखिया के साथ लिखे गए कुछ सरलीकृत नियमों को लागू कर सकते हैं। डेटा पर कुछ संचालनों को लागू करने के बाद, हम आउटपुट मान प्राप्त करते हैं जो एक सेल में रिकॉर्ड किए जा सकते हैं या तारों के द्वारा आगे प्रसारित किए जा सकते हैं, और केवल हवा के द्वारा नहीं, वायरों के द्वारा, बल्कि संभवतः भविष्य में किसी और तरीके से भी। यही वास्तविकता है जो विश्व कंप्यूटर के हृदय में है। इसलिए, यह अलन ट्यूरिंग की परिभाषा से है जिसने गणनात्मक मशीन की प्रस्तावना को सुधारा तकनीक का सिद्धांत, और, सिद्धांत में, यह मायने नहीं रखता कि यह व्यक्तिगत कंप्यूटर हो या डेटा केंद्र। छोटा सा योगदान, बेशक, संभवतः एक विश्वास लिया जाने के बाद कि एक कंप्यूटर बनाने के लिए सिद्धांतिक समाधान मिल गया था, कार्य आखिरकार उसके हार्डवेयर रूप क + +मूल रूप में, पिछले 100 वर्षों का कार्य, गणित के क्षेत्र में किसी समाधान को प्राप्त करने के बाद, इसे एक भौतिक रूप देना था, एक बोर्ड पर रखे जा सकने वाले ट्रांजिस्टर का सेट ढूंढना था, उन सभी को कैसे जोड़ना है, कंप्यूटिंग प्रोसेसर की प्रक्रियाओं को कम करना, और ऐसा करना। । इसलिए आश्चर्य की बात नहीं है कि 1936 से सिद्धांत को 2014 के विश्व कंप्यूटर के विचारों के लिए लागू किया गया। ये 100 वर्ष एक और क्षेत्र में लिए गए थे—इस कंप्यूटर को भौतिक रूप से कार्यान्वित करने के क्षेत्र में। + +जब प्लैनेट संतृप्त हो गया, और हमारे पास व्यक्तिगत कंप्यूटर, स्मार्ट डिवाइस के अंदर भी गणनात्मक मशीन, और जब डेटा केंद्रों का विकास शुरू हुआ, तो प्रश्न हार्डवेयर समाधान से भारती कर गया कि गणनात्मक मशीन किस तरह से देखती हो सकती है, न केवल भौतिक या गणितात्मक अंतर स्तर पर, बल्कि कुछ भौतिक रूप में, शायद मेटाफिजिकल, पूरे प्लैनेट के संदर्भ में। हालांकि, आधार वही है: राज्य परिवर्तन फ़ंक्शन और कुछ भी नहीं। + +जिससे यह सहायक है, वह किया गया है कि हम केवल 1936 के सिद्धांत पर ही ध्यान केंद्रित न करें और केवल बिटकॉइन मैक्सिमलिस्टों की सीमाओं को ही नहीं तोड़ें, वहां आपको ईथेरियम व्हाइट पेपर खोलना चाहिए। वहां आपको महत्वपूर्ण शब्द "ट्यूरिंग संपूर्ण मशीन" मिलेगा—यह ईथेरियम का मुख्य परिभाषण है। एक ट्यूरिंग संपूर्ण मशीन का अर्थ है कि ईथेरियम किसी भी आधिकारिक भाषा में वर्णित किए गए किसी भी सरल संचालन का संचालन कर सकता है, जो संभव होते हैं। यह कोई सेट के संचालन नहीं है जो ईथेरियम साइंटिस्टों के लिए एक कैलकुलेटर या विशेषज्ञों के लिए एक विस्तारित कैलकुलेटर के रूप में प्रदान कर सकता है। बल्कि, यह एक अन्तर्निहित गणना है जिसमें किसी भी संभावित विभिन्नताओं, परिवर्तनों को भरना संभव है, परिवर्तनों को भरना, स्थितियों के साथ जोड़ना, और आदि। आप 1930 के दशक में ट्यूरिंग ने क्या प्रस्तावित किया था, उसमें ईथेरियम अवधारणा में कुछ भिन्न नहीं पाएंगे। आप इसका इंजीनियरिंग अमल कैसे करें यह जान जाएंगे। यदि हम आगे बढ़ते हैं और पॉलकाडॉट विकी खोलते हैं, तो इसे ढूंढना थोड़ा अधिक चुनौतीपूर्ण है। इसके लिए, आपको सर्च का उपयोग करना चाहिए, "राज्य परिवर्तन" लिखें, और सर्च के परिणामों में, कई उल्लेखों में ढूंढें कि पॉलकाडॉट केवल राज्य परिवर्तन को ही निश्चित करता है। पॉलकाडॉट ब्लॉकचेन में डेटा का भंडारण नहीं, कोई अतिरिक्त सेवाएँ नहीं—केवल आयतन के ब्यान में परिवर्तन का शुद्ध रूप से। यहां, अब हम इसे और गहराई से जानने का प्रयास करें। + +अब, इस रेखांकन में थोड़ा और जोड़ने के लिए, हम 1930 के सिद्धांत से आज की वास्तविकताओं की ओर बढ़ते हैं, जहाँ हम विश्व कंप्यूटर की अमूर्त छवि को वर्णित करते हैं। इसके लिए, हम एक उदाहरण के साथ एलिस और बॉब को ध्यान में रखें। आलिस, कार्यालय में होते हुए, बॉब के घर के वैक्यूम रोबोट को सफाई के लिए चालू करना चाहती है। यदि हम आज के अवधारणों को देखें कि एलिस के मोबाइल एप्लिकेशन और घर के रोबोट वैक्यूम के बीच कैसे संबंध स्थापित किए जाते हैं, तो आपको लगभग निम्नलिखित चित्र दिखेगा: एलिस का मोबाइल एप्लिकेशन किसी क्लाउड में एक लेनदेन उत्पन्न करता है जहाँ गणनाएँ होती हैं, और इन गणनाओं का उत्पाद आउटपुट मान है जो वास्तव में वैक्यूम रोबोट को चालू करने के लिए एक कमांड में परिणत होता है। + +इस योजना में आज, कई प्रमुख प्रश्न हैं: यदि आप अपने सामने किसी भौतिक कंप्यूटर के साथ संवाद कर रहे होते या वैक्यूम रोबोट के साथ एक कमरे में होते हैं, तो आप एक भौतिक बटन को दबाकर और इसे चालू करके आगे बढ़ते होते। जब आरों के बजाय, एक मैनुअल ड्राइव नहीं होता है लेकिन एक संचार परत होती है, तो आज की कंप्यूटेशन में क्या बदलाव होता है? एक संचार नेटवर्क की महत्वपूर्ण प्रश्न उत्पन्न होती है—हम कैसे सुनिश्चित कर सकते हैं कि एलिस को इस क्लाउड का उपयोग करने का अधिकार है। यह आवश्यकता प्रकट होती है कि आलिस को कैसे सुरक्षित रूप से क्लाउड से कनेक्ट किया जा सकता है। वैक्यूम रोबोट को इस क्लाउड को क्यों समर्पित और आत्मविश्वासी रूप से मानना चाहिए, ऐसा क्यों है? + +आज की संरचना के साथ, जो आपके मोबाइल फोन, या फिर, आपके मोबाइल फोन पर एक एप्लिकेशन, और दूसरी ओर कुछ तकनीक को जोड़ती है, धारण की गई है भौतिक कंप्यूटर निर्माण में महत्वपूर्ण उपलब्धियों पर। आज के डेटा सेंटर में कंप्यूटर कुछ अद्भुत है—तकनीकी प्रक्रियाओं का स्तर बस अद्भुत है। हालांकि, संचार प्रौद्योगिकियों की दृष्टि से, जब आपके पास पहले से ही कुछ अनुभव इंटरनेट एप्लिकेशन के साथ काम करने का होता है, तो ऐसा लगता है कि कहीं पर, किसी तकनीकी स्कूल या कॉलेज के स्तर पर, या शायद उनके पास नहीं, जैसे कि इंटेल प्रोसेसर के विकासक, अपने कार्यों को कैसे हल किया जा रहा है। लगभग सभी प्रश्न जो एलिस को बॉब से जोड़ने के बारे में हैं, निश्चित IP पते पर एक निश्चित पहुँच प्रमाण प्रकार का निकालना, उन्हें एक साथ जोड़ना है, और क्लाउड को सभी कुछ स्वामित्व में लेना और कुछ करना है। इस योजना में सबसे महत्वपूर्ण चीज यह है कि कुछ भी करना, यानी राज्य परिवर्तन या प्रक्रियाएँ जो किसी भी गारंटी के बिना होती हैं कि एलिस के लिए, बॉब के लिए, ये उसी तरह के तरीके से किया जाएगा। कोई भी क्लाउड के बारे में कुछ भी कह नहीं सकता। यह एक काले बॉक्स है जहां गणनाएँ संख्यात्मक नहीं हैं, और न तो एलिस और न बॉब को पता है कि गणना कैसे की जाती है। + +जगह जहाँ आप पूरी तरह से विश्वास करना होगा—उस कंपनी के प्रतिष्ठा पर, जो इन डेटा सेंटरों की मालिक है, और आपको पूरी तरह से नेटवर्क पहुंच प्रदाताओं पर विश्वास करना होगा जो प्रमाण पत्र जारी करते हैं और आपके कनेक्शन की सुरक्षा की सत्यापन करते हैं। वास्तव में, अगर हम इंटरनेट एप्लिकेशनों के बूम की बात करें, तो यह एक बड़ी समस्या है। समस्या यह है कि वास्तव में कुछ किले होते हैं जो विशिष्ट अधिकारिक प्रदेशों में स्थित होते हैं और एक निश्चित साधारण तकनीक स्टैक पर काम करते हैं ताकि आपको ब्लैक बॉक्स को संभालने के लिए सरलतम रूप से क्लाउड से जोड़ा जा सके। इस उपाय के प्रति असंतोष वास्तव में विश्व कंप्यूटर में रुचि को उत्तेजित करता है क्योंकि यह कुछ अलग तरह से व्यवस्थित करेगा। और कैसे? आइए हम अभी नीले रंग के साथ हमारे बनाए गए लीनियर ग्राफ, हमारे लीनियर डायग्राम को दोनों ओर से पूरा करने के लिए देखें, जो कंप्यूटर विज्ञान में महत्वपूर्ण खोज हैं और जो सीधे या परोक्ष रूप से वेब3 की दुनिया से संबंधित हैं। + +लेसली लैम्पोर्ट 1976 में शुरू करते हैं। मेरी प्रस्तावनाओं, 2015-2020 के लेक्चर्स में जिन्हें सुनने वाले, शायद याद होगा कि जब बिटकॉइन का आविष्कार हुआ, तो लेसली लैम्पोर्ट ने 1976 में 'बायजेंटाइन जनरल्स प्रॉब्लम' में डेसेंट्रलाइज़ड नेटवर्क बनाने के समस्याओं को अच्छी तरह से वर्णित क 'बायजेंटाइन जनरल्स प्रॉब्लम' का समाधान Tendermint PBFT एल्गोरिदम और सभी समकालिक एल्गोरिदमों की मूल बात है जिसका उपयोग टेलीग्राम ओपन नेटवर्क से लेकर टेंडरमिंट, कॉस्मोस, और अन्य ब्लॉकचेन परियोजनाओं में किया जाता है, जो उसी पथ का पालन करते हैं जिसे बायजेंटाइन जनरल्स ने निर्दिष्ट किया। + +इंटरनेट प्रौद्योगिकियों में दूसरी रोचक उपलब्धि टॉरेंट ट्रैकर्स है। हमें कोई विशिष्ट, पहले ही मिटा दिया गया, क्लाउड या कोई काला बॉक्स नहीं है जो फ़ाइलें संग्रहित करता है। हालांकि, विश्वभर के उपयोगकर्ता, टॉरेंट फ़ाइलें आपस में एक विनिमय करके, सटीक रूप से उन फ़ाइलों को डाउनलोड कर सकते हैं जो उन्हें ढूंढ रहे थे, और यह डेटा परिवर्तन के बिना काम करता है। कोई भी फ़ाइल बदलते हुए आपको कोई वायरस अपलोड नहीं करता है। कभी-कभी फ़ाइल में एक वायरस आसानी से उबाऊ हो सकता है, लेकिन टॉरेंट प्रौद्योगिकी का उपयोग करके किसी अन्य चीज़ को डाउनलोड करने की विचारशीलता असंभव है। IPFS नेटवर्क में भी ऐसी ही प्रक्रियाएँ हैं, जो हैश-आधारित संग्रह है - जानकारी को आपस में जोड़ने का एक तरीका जिसमें कोई काला बॉक्स का उपयोग नहीं किया जाता है। + +और बेशक, बिटकॉइन। बिटकॉइन, एक और संगठित उदाहरण के रूप में, मैं यकीन है कि सतोश नकामोटो ने लेसली लैम्पोर्ट के बायजेंटाइन जनरल्स प्रॉब्लम के समाधान को अच्छी तरह से जाना था और, बिल्कुल, उन्होंने कैसे टॉरेंट ट्रैकर्स की विचारशीलता विकसित हो रही थी, उसे देखा था। यदि हम उन गुणों पर जो बिटकॉइन ब्लॉकचेन ने प्राप्त किए, जैसे अपरिवर्तनीयता, लेन-देन की पारदर्शिता, और, कुछ मात्र में, सेंसरशिप सहिष्णुता, को नहीं जोर देते हैं, तो बिटकॉइन एक इंटरनेट सेवा है जो राज्य के परिवर्तन में काम करती है, विन्यास बिना। यह एक वैश्विक नेटवर्क के साथ साझा निरंतर काम करने का उदाहरण है, जिसमें एक स्थिर स्थिति प्रतिस्थापन कार्य है जिस पर हम भरोसा कर सकते हैं, और विश्वास सुनिश्चित करने के लिए, न तो किसी विशिष्ट विधियों, न किसी विशिष्ट आईपी पतों, न किसी भी प्रारंभिक तकनीकों का उपयोग किया जाता है और आज तक उपयोग किया जाता है। बिटकॉइन की स बिटकॉइन की सामूहिक छवि ने ट्यूरिंग-पूर्ण मशीन की 1930 के दशक की सामान्य अवधारणा को हर चीज के लिए एक सार्वभौमिक अमूर्त फ़ंक्शन के अस्तित्व पर हावी करने की अनुमति दी। + +तो, इस योजना को एक वैश्विक कंप्यूटर की धारणा करने के लिए हमें क्या जोड़ने की आवश्यकता है? नीचे से, हम सहमति सत्यापकों या सामान्य रूप से, सत्यापकों को प्रदान करते हैं। यह कहा जा सकता है कि "डेटा उपलब्धता परत" शब्द को शायद अधिकांश लोगों ने इस वर्ष ईथेरियम के बारे में सुना है, और यह बिटकॉइन का लाभ भी हो गया है। हालांकि, वैश्विक कंप्यूटर के संगठन योजना में, यह एक पहेली का एक टुकड़ा है और, जैसा कि मैंने कहा, यह वैश्विक कंप्यूटर के मूल कार्य को पूरकर्ता है - वैश्विक स्थिति परिवर्तन कार्य के मुख्य कार्य। बहुत ही पहले वापस जाकर, मनुष्य शरीर में दिल का तुलनात्मक उपाय यहां दिलचस्प है। यह विचार करने में एक विचारशील चीज नहीं है, वास्तव में। हाँ, यह उत्पन्न नहीं करता, आप कह सकते हैं, ब्रेन बहुत अधिक महत्वपूर्ण है। फिर भी, जीवन बिना दिल के असंभव है। यह बस रक्त को पंप करता है। इसी तरह, वैश्विक कंप्यूटर के मूल में, सभी लेन-देन स्थिति परिवर्तन कार्य के माध्यम से पंप किए जाते हैं, जिससे परिणाम होते हैं। लेकिन किसी सिटैडल को भरोसा करने की आवश्यकता न हो, हमें इसे संगठित करने के लिए चित्र को दो घटकों के साथ पूर्ण करने की आवश्यकता है। + +पहला घटक उन कंप्यूटरों या नोड्स का समूह है जो स्थिति परिवर्तन को क्रियान्वित करने के लिए तैयार हैं। जब आप लेन-देन भेजते हैं, तो वे यहाँ सिर्फ जाते नहीं; वे सत्यापकों के पास जाते हैं। सत्यापक गणना करते हैं, जो मैंने पहले ही इस चर्चा में उल्लेख किया है। वे आपके लेन-देन को लेते हैं, ब्लॉकचेन से जानकारी निकालते हैं कि उस लेन-देन को कैसे प्रसंस्करण किया जाए, उस प्रसंस्करण को लागू करते हैं, और फिर अन्य सत्यापकों के साथ समन्वय करते हैं कि उन्होंने स्थिति परिवर्तन को सही ढंग से क्रियान्वित किया है। वैश्विक कंप्यूटर का मूल, बॉब, वैक्यूम क्लीनर रोबोट, को ऑफिस में अलिस द्वारा सही आदेश मिलने की स्थितियों के खिलाफ सुरक्षा के दृष्टिकोण से, विश्वास पर नहीं, बल्कि ब्लॉकचेन से उपलब्ध जानकारी के आधार पर साइबर-सत्यापन के माध्यम से अनेक नेटवर्क संबंधियों द्वारा सह-सत्यापन पर निर्भर है। ब्लॉकचेन से ही नहीं। यह जटिल है, और हम अभी इसमें प्रवेश नहीं करेंगे, लेकिन सारांश में, अनेक सत्यापक बारी-बारी से नजर रखते हैं और इस प्रोटोकॉल के भीतर कुछ आंतरिक प्रेरणाएँ होती हैं, जिससे सर्वसाधारण और प्रतिष्ठित-कुछ भी कर सकने वाली मशीन के द्वारा यह प्रक्रिया गलत ढंग से समाप्त न हो। एक सत्यापक कार्यक्रम प्रक्रिया को प्रोसेस करता है जो वैश्विक कंप्यूटर में आते हुए लेन-देन को, और अन्य सत्यापक स्थिति के विपरीत किए गए संदर्भों में + +इस योजना का दूसरा हिस्सा डेटा उपलब्धता सेवा है - वह जो हमें हमेशा बिटकॉइन या इथेरियम में डेटाबेस कहा है। वास्तव में, हमें उस अवधारणा को छोड़ देना होगा क्योंकि सभी परियोजनाओं की संरचना में एक मौलिक परिवर्तन है, और विशेष रूप से वे परियोजनाएं जो वैश्विक कंप्यूटर को लक्ष्यित कर रही हैं, इस परिवर्तन का सबसे महत्वपूर्ण है। एक सरल वर्तमान-काल का उदाहरण देखें: इथेरियम के ऊपर विभिन्न विमानों की कई कार्यान्वयनें हैं - जैसे कि आर्बिट्रम, ओप्टिमिज़म, और अन्य। यदि आप उनकी मुख्य अंतर और उनका कार्य कैसे करते हैं की जाँच करना शुरू करते हैं, तो आपको यह पता चलेगा कि, कभी-कभी, एक एल2 नेटवर्क इथेरियम से बड़ी मात्रा में डेटा भेजता है, यानी, पहली-स्तरीय ब्लॉकचेन से, अर्थात इथेरियम ब्लॉकचेन से। एल2 पर कार्य की सहीता को सिद्ध करने के लिए आवश्यक सभी आवश्यक पहेलियों को पहले-स्तरीय इथेरियम ब्लॉकचेन में पाया जा सकता है। दूसरी ओर, अन्य प्रकार के अनुभव यह सुझावित करते हैं कि इथेरियम के पहले स्तर के परे, कुछ और भी संग्रहीत है जो लेन-देन की सहीता को सिद्ध करने के लिए खोजा जाना चाहिए। इसलिए, वर्तमान समय में इथेरियम के ऊपर एल2 बनाने के लिए कुछ उपाय और पैटर्न यह सवाल पूछते हैं: "यदि कोई निश्चित एल2 पर्याप्त डेटा को खो देता है जो वह मुख्य इथेरियम ब्लॉकचेन में संग्रहित नहीं है, तो क्या होगा?" + +चलो, इस चित्र को उसके साथ यह पूरा करें कि पॉलकडॉट कैसे संरचित है। पॉलकडॉट में दो सहमति तंत्र हैं: "बेब" सहमति, जो पैराचेन स्तरीय सहमति के लिए जिम्मेदार है और तेज है, और "ग्रैंडपा" सहमति, जो धीमी है और फिर सब कुछ सत्यापित करती है। तो, अगर आप "पॉलकडॉट नेटवर्क में एक ब्लॉक के पथ" शीर्षक वाले विकी लेख में खोजते हैं, तो आपको दिलचस्प संक्षेप मिलेंगे। "बेब" सहमति को पैराचेन स्तर पर हासिल करने के बाद, "ग्रैंडपा" सहमति "प्रमाण की और डेटा उपलब्धता का प्रमाण" की अवधारणा को पेश करती है। और गहराई में जाते हुए, आपको "चंक" शब्द मिलेगा, जो 90 के दशक और 2000 के दशक के सीडी डब्ल्यू तकनीकों से प्रेरित है। यह सवाल को कैसे संरक्षित किया जाए, जब नेटवर्क में किसी विशेष एंटिटी पर पूरी भरोसा करना संभव नहीं हो, उस पर विचार करता है। "चंक" की अवधारणा इन पैटर्न में से एक है। + +सारांश करते हुए, मूल रूप से एक अमूर्त फ़ंक्शन के आधार पर जो एलन ट्यूरिंग ने 1930 के दशक में वर्णित किया, ध्यान रखते हैं। व्यक्तिगत कंप्यूटर, मूल रूप से एक गणितीय समस्या का परिणाम, ट्यूरिंग के काम से उत्पन्न हुआ। बिटकॉइन में पहली बार लागू तकनीकें, जैसे कि सहमति, जो नेटवर्क को किसी विशेष डेटा सेंटर या डेटा सहीतता के लिए जिम्मेदार एंटिटी के बिना अस्तित्व करने की अनुमति देती है, एक कार्यकारी तंत्र बनाती हैं। यह एक विशेष सेवा प्रदान करने से आगे बढ़ता है, इससे हमें नेटवर्क में किसी भी कंप्यूटेशन का मुआयना और नियंत्रण करने की अनुमति होती है। इसके अतिरिक्त, हमें डेटा उपलब्धता को सुनिश्चित करने की चुनौती का सामना करना पड़ता है, क्योंकि यह विश्व कंप्यूटर की मुख्य चिंता नहीं है। विश्व कंप्यूटर का कार्य इसके मूल में निर्वाहन करने, स्थिति के संक्रमण का प्रबंधन करने और गणना करने में होता है, जबकि इस योजना में डेटा एक पहेली का टुकड़ा के रूप में काम करता है, जो निचले हिस्से को समर्थन करने के लिए अधिक आवश्यक है। इस प्रकार, यह समग्र योजना विश्व कंप्यूटर की संरचना की एक अमूर्त और सामान्यकृत चित्रण के रूप में देखी जा सकती है, जहां राज्य संक्रमण कार्यक्षमता इसके केंद्र में है। diff --git a/courses/hi/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md b/courses/hi/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md new file mode 100644 index 0000000000..68a7d06410 --- /dev/null +++ b/courses/hi/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md @@ -0,0 +1,70 @@ +--- +title: "भाग 4: विश्व कंप्यूटर में सूचना के एक नए ब्लॉक का मार्ग" +description: 'हमारे व्याख्यान का चौथा और अंतिम भाग "आपके घर में विश्व कंप्यूटर" है। इसके बाद, मैं सत्रों के व्यावहारिक भाग के लिए स्क्रीनकास्ट रिकॉर्ड करना शुरू करूंगा।' +metaOptions: [सीखना] +defaultName: "World computer in your home" +--- + +हमार�� व्याख्यान का चौथा और अंतिम भाग है "आपके घर में विश्व कंप्यूटर।" इसके बाद, मैं सत्रों के व्यावहारिक भाग के लिए स्क्रीनकास्ट रिकॉर्ड करना शुरू करूंगा। + +अब हम कोशिश करेंगे कि अब तक हमने कवर की गई लगभग सभी सिद्धांतों को एक प्रक्रिया के दृष्टिकोण से संक्षेपित करें। वह प्रक्रिया जो विश्व कंप्यूटर में एक सूचना ब्लॉक के मार्ग का वर्णन करती है। चलो फिर से वेब3 और ब्लॉकचेन की थीम पर वापस आते हैं। शब्द "ब्लॉक" या "सूचना ब्लॉक" को पिछले 10 वर्षों से दूर हटकर और पिछले व्याख्यानों में जांचे गए एक और सामान्य सिद्धांत के रूप में मान�� जा सकता है, जैसा कि वेब3 के साथ मेल खाता है, लेकिन ब्लॉकचेन के साथ नहीं। किसी भी क्रिप्टो परियोजना के बिना भी, हमें समझना चाहिए कि जब तक हम सूचना ब्लॉक के गठन का सिद्धांत नहीं बनाते हैं, तो विश्व कंप्यूटर के सिद्धांत को अन्य मॉडलों की कल्पना करना वर्तमान में कठिन है। इसलिए, हम विश्व कंप्यूटर के पूरे माध्यम में एक सूचना ब्लॉक के मार्ग को विचार करेंगे, न क्योंकि यह ब्लॉकचेन है, बल्कि इसलिए कि अब तक विश्व कंप्यूटर के अस्तित्व की कल्पना करने के लिए किसी अन्य तरीके नहीं है। + +सूचना ब्लॉक = वेब3 में ब्लॉक, लेकिन ब्लॉकचेन और किसी भी क��रिप्टो परियोजना के प्रभाव के बिना। हमें विश्व कंप्यूटर के सिद्धांत की चर्चा करते समय सूचना ब्लॉक के गठन को वर्तमान में विचार करना चाहिए। अब, चलो पहले बिंदु पर आगे बढ़ें। मैंने रोज़मर्रा की जिंदगी से निकट उपमान खोजने की कोशिश की है ताकि विश्व कंप्यूटर में एक सूचना ब्लॉक के मार्ग को स्पष्ट करने में मदद कर सकूं। मेरी चुनी गई तुलना एक मार्ग पर एक बस के चलन की है। हमारा पहला मिलन स्थान बस स्टेशन है। + +मैंन�� छोटे डॉट्स के रूप में गुलाबी रंग में लेन-देन को चिह्नित किया। चलिए एक सामान्य बस स्टॉप की कल्पना करें जहां लोग इकट्ठा होते हैं, जो एक समय सारणी पर चलने वाली बस की प्रतीक्षा कर रहे होते हैं। अगर हम बड़े शहरों की हलचल को नहीं ध्यान में रखते हैं, जहां बसें हमेशा देर से आती हैं, तो दुनिया के हर कोने में लोग आम तौर पर जानते हैं कि गांव A से गांव B तक की ट्रेन हमेशा लगभग सुबह 7:15 बजे आती है। उन लेन-देन को दुनिया कंप्यूटर को भेजना चाहते हैं जो एक निश्चित बस स्टॉप पर इकट्ठा होते हैं और बस की आने की प्रतीक्षा करते हैं। + +यह हमारे ब्लॉक कैसे बनता है। कल्पना करें: बस आती है, और हर व्यक्ति एक-एक करके बोर्डिंग शुरू करता है, अपनी सीटें लेता है। फिर बस अपना मार्ग अनुसरण करती है। हमारे मामले में, जानकारी का ब्लॉक पहली सीमा को पार करता है। हमारे लेन-देन, किसी रूप में, बस में बैठ जाते हैं और प्रारंभिक बाधा को पार कर लेते हैं। मैं प्राथमिक रूप से पॉल्काडॉट से शब्दावली का उपयोग करूंगा, और तीसरा भाग इथेरियम और पॉल्काडॉट के बीच विश्व कंप्यूटर की अवधारणा को बेहतर से समझाने चाहिए। मेरा व्यक्तिगत मत, और शायद आज के अधिकांश इंजीनियर सहमत होंगे, यह है कि विविध बहुकेंद्रीय विश्व कंप्यूटर का प्रतिनिधित्व पॉल्काडॉट में बेहतर ढंग से किया गया है। हालांकि, हम इथेरियम से विरासत में मिले शब्दों के माध्यम से भी जाएंगे, लेकिन इस व्याख्यान के इस हिस्से के अंत में। + +बस स्टॉप को बस के आगे की आगे की चलने की रेखा क्या है? यह रेखा नेटवर्क के कोलेटर्स का प्रतिनिधित्व करती है - नेटवर्क नोडों में भाग लेने वाले प्रतिभागी। आप एक कोलेटर को एक बस चालक के रूप में नहीं बल्कि एक नियंत्रक के रूप में सोच सकते हैं जो बस स्टॉप पर रहता है। दूसरे शब्दों में, यह नियंत्रक यह जांचता है कि जब आप बस में प्रवेश करते हैं तो क्या आपके पास टिकट ���ै। यह डेटाबेस में टिकट कितना वैध है यह नहीं दोबारा जांचता है बल्कि टिकट के मौलिक पैरामीटर्स पर ध्यान देता है और देखता है कि सब कुछ ठीक लगता है। वास्तव में, कोलेटर्स लगभग सभी आवश्यक गणनाएँ करते हैं, टिकट नंबर और अन्य डेटा की पुष्टि करते हैं, लेकिन उन्हें यह गारंटी देने की आवश्यकता नहीं है कि जांच सही ढंग से की गई है। इसलिए, कोलेटर्स वह नियंत्रक हैं जो बस स्टॉप पर रहते हैं, मुख्य रूप से यात्रियों की बोर्डिंग, सीटिंग, और बस को मार्ग पर आगे भेजने की सुनिश्चित करते हैं। + +खींच�� गई सीमा के पार, हम पहले मान्यता क्षेत्र में प्रवेश करते हैं जहां पैरावैलिडेटर्स स्थित हैं। ये पूरे पारिस्थितिकी तंत्र, पूरे नेटवर्क के वैधानिक करने वाले हैं, विशेष रूप से किसी निश्चित समय के लिए प्रत्येक लेनदारी की जांच करने और इस प्रकार विश्व कंप्यूटर में वास्तविक गणनाएं करने के लिए निर्दिष्ट किए गए हैं। हमारी अब तक पूरी तरह से निर्मित सूचना ब्लॉक एक डैश रेखा से चिह्नित है। यह अब तक किसी वास्तविक सत्यापन से गुजरा नहीं है क्योंकि यह एक उम्मीदवार सूचना ब्लॉक है। + +मैंने इसे तीन हिस्सों में विभाजित किया है, लेकिन एक और भ���ल गया। चलो इस उम्मीदवार ब्लॉक के चार हिस्सों को विचार करें। ऊपरी हिस्सा, विभिन्न वेब3 एप्लिकेशनों के उपयोगकर्ताओं द्वारा हेडर या ब्लॉक हेडर के रूप में जाना जाता है, यह सारांश है, सबसे लोकप्रिय सूचना का टुकड़ा है जो ब्लॉक एक्सप्लोरर से कंसोल क्लाइंट्स तक सभी नोड्स माइनिंग, स्टेकिंग आदि के लिए परिप्रेक्ष्य में है। हेडर ब्लॉक का एक मुख्य तत्व है, लेकिन यह इस समय पर वास्तव में अंतिम चरण में तैयार होता है। + +पहले, हमारे वास्तविक रिक्वेस्ट्स हैं राज्य परिवर्तन या गणनाएं के लिए। जो बदलाव करने की आवश्यकता है: A को A', B को B', C को C', उन प��� एक सेट के एल्गोरिदम लागू करना। इसके लिए, हम अब तत्काल एक और सीमा बनाएंगे और इस काम का भाग करने के लिए उसके पार जाएंगे, और फिर केवल उसके पार बढ़ेंगे। ब्लॉक तैयारी चरण में ही, हमें दुनिया कंप्यूटर के भीतर दूसरी सीमा पार करनी होगी ताकि ब्लॉक को तैयार करने के लिए लागू करने के एल्गोरिदम जाएं। जैसा कि मैंने पहले कहा था, सिद्धांतिक रूप से, यहां बस स्टॉप पर नियंत्रक भी यही करता है, लेकिन मैं उस पर ज्यादा ध्यान नहीं देता। ब्लॉक तैयारी चरण, विशेष रूप से जब हम पॉल्काडॉट और इथेरियम से एक साथ उदाहरणों की बात करते हैं जैसे एक विश्व कंप्यूट���, वे थोड़े भिन्न हैं और हमें इस चरण पर जांचों की महत्वाकांक्षा को दिखाते हैं क्योंकि यह वास्तव में दूसरे कदम पर है, पहली सीमा पार करने के बाद और कॉलेटर्स से सूचना ब्लॉक प्राप्त करने के बाद कि इस विश्व कंप्यूटर की महत्वपूर्ण गणनाएं शुरू होती हैं। + + +इन गण���ाओं को करने के लिए, वैधक, इस स्तर पर, केवल रिले चेन, केंद्रीय डेटाबेस, से एल्गोरिदम लेकर कर सकता है। इस स्थिति में, इसे रनटाइम से एल्गोरिदम लेना होगा। इथेरियम के मामले में, यह पिछले वास्तुकला संकल्प में एक ही वर्चुअल मशीन थी, जिसे लागू किया जा सकता था, इसलिए कहीं जाने की आवश्यकता नहीं थी। लगभग हर नोड के पास एल्गोरिदम की पूरी प्रतिलिपि थी जो लागू की जा सकती थी। लेकिन एक विविध नेटवर्क के मामले में, जहां प्रत्येक सेगमेंट या प्रत्येक व्यक्तिगत चेन के पास अपना एल्गोरिदम सेट हो सकता है, एक वैधक, वास्तव में सभी संक्रियाओं को निष्पादित करने से पहले, कैलेटर से ब्लॉक उम्मीदवार के रूप में प्राप्त गणनाओं पर परामर्श करना होगा। यह रिले चेन से परामर्श करना होगा, नेटवर्क में मुख्य ब्लॉकचेन से परामर्श करना होगा और वहां से आवश्यक एल्गोरिदम लेना होगा, उन्हें लागू करना होगा, और स्थिति संक्रियाएँ करनी होंगी। + +गणनाओं के क्रियान्वयन के दौरान, एक मर्कल ट्री समयानुसार बनाया जाता है, और हम इस पर ध्यान नहीं देंगे क्योंकि कंप्यूटर विज्ञान के दृष्टिकोण से मर्कल ट्री इतने जटिल नहीं हैं। फिर भी, मैं यह देखता हूं कि इन्जीनियरिंग में इन्हें कैसे लागू करना है और परियोजना की वास्तुकला में, वे कैसे लागू होते हैं, सिर्फ विकिपीडिया पर पढ़कर नहीं, आपको थोड़ा सोचना होगा, उदाहरण बनाना होगा। इस उदाहरण में, हम इसमें ज्यादा गहराई में नहीं जाएंगे, लेकिन मुझे लगता है कि जिन लोगों ने कुछ मौलिक परिभाषाएँ पहले से ही जान ली हैं, मर्कल ट्री के बारे में पढ़ा है, उन्हें यह स्पष्ट हो जाएगा कि एक और मर्कल ट्री किस प्रकार और किस समय पर जुटाया जाता है। + +इस योजना में, हम देख सकते हैं कि ब्लॉक हेडर वास्तव में गणनाओं से कैसे संबंधित है। फिर से देखें - हमारा ब्लॉक उम्मीदवार कैलेटर से आया था। उसमें एक सेट के लेनदार हैं जिन्हें निष्पादित करने, गणनाएँ करने की आवश्यकता है। वैधक ने एक और आंतरिक सीमा के माध्यम से गया, एक और, एल्गोरिदम के पीछे, उन्हें लागू किया, और सभी परिणामों को मर्कल ट्री के सबसे निचले स्तर पर दर्ज किया। अन्य नोड सिद्धांतिक रूप से हैं। वे किसी भी डेटा से नहीं आते; वे कहीं से नहीं आते। दूसरे स्तर पर, नोड किसी भी जानकारी से नहीं आता। इन दो पत्तियों में मानों को जोड़कर प्राप्त किया जाता है, और जब हम आपके साथ ऊपर जाते हैं, हमें केवल इस पेड़ की जड़ मिलती है, जो सभी आउटपुट मानों को सुरक्षित करने के लिए पर्याप्त है। हम किसी भी इन गणनाओं में से कोई भी बदलते हैं तो हमें एक ही हेडर नहीं मिलेगा। और यह एक जादुई और सरल विशेषता में से एक है, जैसे हैश-उन्मुख संग्रह, किस प्रकार हम केवल एक हेडर के बारे में बात करके पूरे ब्लॉक की जानकारी की सुरक्षा कर सकते हैं। इसलिए, हेडर इतने महत्वपूर्ण हैं और जब हम एक चेन या एक वर्चुअल मशीन से नेटवर्क में एक से अधिक चेन या एक वर्चुअल मशीन में स्थानांतरण करते हैं, तो वास्तव में महत्वपूर्ण भूमिका निभाते हैं। हमें हेडर संग्रह की सुरक्षा सुनिश्चित करने के लिए पर्याप्त है कि सभी लेन जो ब्लॉक तैयारी चरण में निष्पादित किए गए थे, सही ढंग से निष्पा���ित किए गए थे, और उन्हें पुनः स्थानांतरित नहीं किया जा सकता। + +और एक क्षेत्र अब भी खाली है। जानकारी के ब्लॉक की तैयारी के प्रक्रिया में, यह लेखक का क्षेत्र है, अर्थात वे वैधक जिन्होंने वास्तव में सभी परिवर्तन किए, मर्कल पेड़ तैयार किया, और हेडर रिकॉर्ड किया। हम एक उदाहरण को ध्यान में रखते हुए बस के साथ मार्ग पर चलने वाले उदाहरण को देख रहे हैं, चलिए वैधक को "नियंत्रक" कहें जो बस के अंदर सीधे जाता है, प्रत्येक सीट पर जाता है, प्रत्येक व्यक्ति के पास आता है, उनके टिकट पर लिखा क्या है वास्तव में जांच करता है, कुछ चिह्न लगाता है, इसे वैधिक मानता है, और उसके अनुसार, अपनी हस्ताक्षर लगाता है। नियंत्रक, उ���ाहरण के लिए, संख्या 134, अर्थात, स्वाभाविक रूप से, प्रत्येक वैधक का कोई अद्वितीय पहचानकर्ता है, उनका पता है, और हमने इसे यहाँ किसी भी तरह से अद्वितीय नामकरण किया है। + +और ऐसा लगता है कि इस बिंदु पर, हमने अपने ब्लॉक सीमाओं को अधिक गहरा और अधिक बोल्ड बना सकते थे, लेकिन नहीं, और यह एक दिलचस्प परिवर्तनों में से एक है जो पिछले 5 वर्षों में डिसेंट्रलाइज्ड एकोसिस्टम के मायने में हुआ है, अर्थात प्रूफ ऑफ वर्क से स्थानांतरण। जब नेटवर्क के वैधक, उस समय के खानकार, कभी भी एक दूसरे के साथ कुछ भी समन्वय करने की आवश्यकता नहीं थी। आपने एक ब्लॉक उत्��न्न किया और इसे नेटवर्क को भेज दिया और आगे बढ़ गए। वास्तव में, यह किसी सहमति पर आधारित सहमति नहीं था। यह उस तथ्य के साथ स्पष्ट सहमति का सहमति था जो हो चुका था। जब वास्तव में विशेषज्ञता बढ़ने पर दिलचस्प परिवर्तन होते हैं, और हम एक साधारण कैलकुलेटर जैसे बिटकॉइन से एक वास्तविक वर्चुअल कंप्यूटर की ओर आ गए हैं, तो प्रत्येक चरण पर, सुरक्षा और ब्लॉक उत्पादन सुनिश्चित करने वाले सहभागियों की कनेक्टिविटी बढ़ गई है। क्योंकि, वास्तव में, किसी को भी जो अपनी दांव पर रिस्क लेता है, जो इस सुरक्षा को सुनिश्चित करता है और आपके लेन-देन को प्रो��ेस करके कमाना चाहता है, उसका कुछ खोने का कोई भी कारण नहीं है, प्रूफ ऑफ वर्क की तरह। प्रूफ ऑफ वर्क में, आपने उपकरण खरीदा, हां, आपने इसमें पैसा लगाया, आपने बिजली खपाई, लेकिन वास्तव में, आपके पास यह सुनिश्चित करने के लिए कोई सुरक्षा नहीं है कि आप अपनी शक्ति से नेटवर्क पर हमला कर सकते हैं, वही 51% हमला, जहां किसी के पास बहुत सारे खानकार हो सकते हैं और चेन को फिर से लिखने की कोशिश कर सकते हैं। + +अब हम प्रूफ ऑफ स्टेक के बारे में बात कर रहे हैं, जहां पहले से ही एक जमा किया गया है, और अगर आप कुछ गलत करते हैं, तो उससे कुछ हिस्सा निकाल लिया जाएगा, जै��े एक दंड। सभी नोड, बिल्कुल, उन सभी वास्तुकला जो मैं वर्तमान में देख रहा हूं, वैधकों के बीच संदेशन के लिए तंत्र जल्दी से ब्लॉक तैयारी चरण में प्रकट होने लगे हैं। पॉल्काडॉट में, यह कोई भिन्न नहीं है। एक अलग-अलग पैराचेन का कोई भी वैधक जो एक ब्लॉक जमा करता है, उन्हें पता है कि उनके पास या पहले से ही एक संपर्क स्थापित है दूसरे 15-63 वैधकों के साथ जो इस युग में आपके साथ हैं, किसी अस्थायी अवधि पर, वैधक के रूप में, और प्रत्येक किसी भी समय पर एक ब्लॉक उत्पादक बन जाता है। लेकिन उत्पादक के रूप में नियुक्त होना इस प्रक्रिया के एक बहुत महत्वपूर्ण घटक को नकारने का अर्थ नहीं है। आप अन्य सहभागियों के साथ बातचीत करना बंद नहीं करते। हमेशा एक विशेष युग, एक निश्चित समय स्लॉट, एक विशेष पैराचेन या विश्व कंप्यूटर के किसी सेगमेंट को सत्यापित करने के लिए निर्धारित वैधकों का एक पूल होता है। चाहे आप विश्व कंप्यूटर के इस सेगमेंट में अगला ब्लॉक उत्पादित करने के लिए नियुक्त वैधक-नियंत्रक हों, आप फिर भी अन्य वैधकों के साथ संपर्क में रहते हैं, और आपका निरंतर संपर्क उनके साथ होता है। + +इस स्���िर संपर्क की क्यों आवश्यकता है? यह काफी सरल साबित होता है। हम चाहते नहीं हैं, जब हम अंदरीक्षेत्र में जाते हैं, कि हमें डर या चिंता हो कि हमने किसी भी कार्रवाई को गलती से किया हो। जितना आश्चर्यजनक लग सकता है, यह किसी भी मान्यकर्ता के लिए फायदेमंद है, अगले कदम पर बढ़ने से पहले, पहले अपने मान्यकर्ताओं की ओर मुड़ना और उनसे पूछना कि क्या उन्होंने गणनाएं दोबारा जांची है। यह जांच अनौपचारिक है, इसलिए यदि हम किसी भी अनुपस्थित डेटाबेस में लॉगिंग का उपयोग नहीं करते हैं, जिसमें सत्यापन के लिए अनुरोध और इस सत्यापन के परिणाम होते हैं, तो नियुक्त नियंत्रक, मान्यकर्ताओं के समूह से बात करने के बाद भी, इस पैराचैन या नेटवर्क सेगमेंट को नियुक्त किए गए सभी मान्यकर्ताओं से अतिरिक्त प्रतिक्रियाएं इकट्ठा करता है। अतिरिक्त पुष्टिकरणों के साथ, नियंत्रक अगले चरण में बढ़ता है। लेकिन यहाँ भी, यह इतना सरल नहीं है। इस चरण पर, एक और प्रक्रिया को पूरा किया जाना चाहिए। यह महत्वपूर्ण है कि इस चरण पर, हमारी जानकारी का ब्लॉक अभी भी उम्मीदवार ब्लॉक है, और जानकारी का निवास पहले से ही स्टोरेज में हो रहा है। न तो अंतिम तक, न ही हमने ब्लॉक बनाया और इसे एक आर्काइवर के साथ जोड़ दिया है और अंतिम भाग में सील किया है, यानी यहाँ, इस मध्य भाग में जहां सभी गणनाएं वास्तव में की जाती हैं, जानकारी स्टोरेज में सहेजी नहीं जाती है। इसलिए, हमारा नियंत्रक, अपने सहकर्मियों से बात करने के अतिरिक्त, कुछ स्टोरेज में डेटा की सुनिश्चित करता है, जो बहुत ही अद्भुत है क्योंकि जब आप अन्य मान्यकर्ताओं से संवाद करते हैं, तो यह स्टोरेज भर जाता है। यह कैसे जांचा जाता है? हमें अगले चरण में बढ़ने की आवश्यकता होगी। + +सारा��श में, मध्य भाग पूरा करने के लिए, फिर से देखें। हमारे पास शुरुआत में केवल एक उम्मीदवार ब्लॉक है। हां, सभी लेनदेन बस स्टॉप के किसी जगह लगभग हिसाब से किए गए हैं, हर कोई अपने टिकट के अनुसार अपनी सीट पर बैठा है। हमने पहली सीमा पार कर ली है, जो मूल रूप से वैलिडेटर्स और ब्लॉक कोलेक्टर्स के बीच सीधा संपर्क स्थापित करता है। इथेरियम और पॉल्काडॉट में, ये अब थोड़े भिन्न योजनाएँ हैं। लेकिन जो कुछ भी शुरुआत में बाएं ओर हो रहा है, वह डेटा और हिसाबों के लिए साइबर सुरक्षा प्रदान नहीं करता। यह केवल तैयारी है। एक बार जब हमने वैलिडेटर्स के ध्यान के वातावरण में प्रवेश किया है, विश्व कंप्यूटर में जानकारी के ब्लॉक के साथ काम शुरू होता है। एक यादृच्छिक रूप से चयनित वैलिडेटर, हमारे मामले में, एक बस रूट - एक नियंत्रक, वास्तव में हर सीट पर जाता है, टिकट की जांच करता है, जांच करता है और जो हिसाब किए गए हैं, सभी हिसाबों को करता है, सभी जानकारी को एक पेड़ में जमा करता है। इस पेड़ का परिणामी रूट नोड प्रस्तावित ब्लॉक का हेडर बन जाता है। वैलिडेटर जो वास्तव में इस जानकारी के ब्लॉक के साथ सभी हिसाबों को करता है, उन अन्य सहभागियों से संवाद करता है जो एक अपरिभाषित समय स्लॉट में एक ही मार्ग ��े लिए समान कार्य करते हैं। और जब उनके साथ संवाद करते हैं और उनसे सभी हिसाबों की पुष्टि करने के लिए कहते हैं, हम वास्तव में नेटवर्क में कुछ डेटा के एक निश्चित स्टोरेज को भर रहे हैं। यह कोई विशिष्ट भौतिक स्टोरेज नहीं है; किसी विशिष्ट आईपी पता नहीं है, किसी विशिष्ट हार्ड ड्राइव नहीं है जिस पर वे सभी किसी VPN या लॉगिन और पासवर्ड योजना के माध्यम से लोड करते हैं, बिल्कुल नहीं। अन्य वैलिडेटर्स के साथ संवाद करने की प्रक्रिया में, डेटा उनकी स्थानीय मशीनों पर रहता है, और यह डेटा इस उम्मीदवार को एक नए जानकारी ब्लॉक में परिवर्तित करने में ���गे भाग लेगा। मूल रूप से, जो सील किया गया ब्लॉक जो रिले चेन में बस जाएगा, इकट्ठा होता है। हमने एक ब्लॉक इकट्ठा किया है। सभी हिसाबों के आसपास की सभी मेटाडेटा पहले से भरी है, जिसका मतलब है कि हम अगले की ओर बढ़ने का प्रयास कर सकते हैं। + +इस समय, आइए अगली सीमा के पार करने में डुबक जाते हैं। अंतिम स्तर पर सबसे महत्वपूर्ण पहलू ब्लॉक हेडर बन जाता है। हमें हिसाबों के क्रियान्वयन के बारे में कम चिंता है; हम यहाँ पर अपने दृष्टिकोण को सरल कर सकते हैं, क्योंकि क्रियान्वयन विभिन्न हो सकते हैं आर्किटेक्चर पर, चाहे वह इथेरियम हो या पॉल्काडॉट। मुख्य बिंदु यह है कि, मध्य स्तर पर, जो मैं सिद्धांत और विश्व कंप्यूटर अवधारणा के कार्यान्वयन में देख रहा हूं, अधिकांश हिसाबों का मध्य स्तर पर होता है। आखिरी स्तर केवल महत्वपूर्ण जांचों को करने के लिए रह जाता है। एक मल्टी-चेन आर्किटेक्चर में लगभग सभी ये जांचें ब्लॉक हेडर्स को एक ही ब्लॉक में जोड़ने या मर्ज करने से संबंधित हैं। + + +हमारे यात्रा के अंतिम भाग में, विश्व कंप्यूटर की सूचना ब्लॉक में सबसे महत्वपूर्ण तत्व मूलभूत बन जाता है - हेडर। दूसरा घटक अधिक मेटा-सूचना के बारे में है। अगर हेडर सभी गणनाओं का वास्तविक परिणाम है, तो अतिरिक्त मेटा-सूचना जो भेजी जा रही है, उसमें रसीदें और मान्यताप्राप्त करने वालों के हस्ताक्षर शामिल हैं जिन्होंने इस प्रक्रिया के इंटरमीडिएट स्टेज में भाग लिया। अंतिम स्टेज में, हम समान पेड़ के संगठन के रूप में पूरे चित्र को केवल एक ही पेड़ के संगठन के रूप में देख सकते हैं, लेने की सूची के रूप में नहीं। रिले चेन के अंतिम भाग में, महत्वपूर्ण पहलू है कि बहुत सारे समान प्रक्रियाओं से हेडर का संगठन हो, लेकिन विश्व कंप्यूटर के विभिन्न सेगमेंट्स से जुड़े हों। + +प्रत्येक पैराचैन, प्रत्येक मान्यतादाता सेट - हमने एक उदाहरण पर चर्चा की है, लेकिन वास्तव में, पैराचैन के लिए ब्लॉक तैयारियों की ऐसी घटनाएं 30-40 बार होती हैं। ईथेरियम में पैराचैन स्लॉटों की संख्या या L2 नेटवर्कों की संख्या एक समान प्रकार की प्रक्रियाओं की संख्या के साथ एक समान वास्तुकला में परिणाम देगी। हालांकि, अंतिम स्टेज में, हम हर जगह लगभग एक ही चित्र देखेंगे - कैसे ब्लॉक हेडर को अन्य ब्लॉकों से बहुत सारे हेडरों से गठित किया जाएगा। इस प्रक्रिया में, हमें एक और एंटिटी पेश करने की आवश्यकता है और दूसरे स्टेज की सीमा पार करके वापस जाना होगा। + +फाइनलाइजर्स। वास्तव में, वे भी मान्यकर्ता हैं, लेकिन रिले चेन वैधाता। पॉल्काडॉट आर्किटेक्चर में, हमारे पास दो हजार वैधाता हैं जिन्हें दो समूहों में विभाजित किया गया है। पहला, एक बहुत छोटा समूह, केवल ब्लॉक हेडर और राज्य के हेडर से बने नए ब्लॉक के लिए जिम्मेदार है। दूसरा समूह - पैराचैन वैधाता - और भी कई उपसमूहों में विभाजित है, लेकिन यह समूह पैराचैन वैधाता कहलाता है। ईथेरियम के ऊपर L2 नेटवर्क में, यह कहानी अंततः अधिक समझ, अधिक नामकरण प्राप्त करेगी। अब तक, चलो पॉल्काडॉट आर्किटेक्चर पर ध्यान केंद्रित करें। फाइनलाइजर्स, केवल एक अतिरिक्त सेट की मेटा-जानकारी की जांच करने के अलावा और एक विशिष्ट आईडी वाले मान्यकर्ता की पुनः जांच करने के लिए यादृच्छिक रूप से चुने गए इस ब्लॉक को उत्पन्न करने के लिए, भी मेटा-जानकारी की पुनः जांच करने में मदद करते हैं, जांच करते हैं, और सभी हेडर्स को एक में जोड़ते हैं। यह थोड़ा जटिल है, हां, अगर हम इसे पेड़ संयोजन के दृष्टिकोण से देखें तो। + +इसके ���तिरिक्त, पॉल्काडॉट आर्किटेक्चर और इथेरियम में नवीन परिवर्तनों के साथ, एक डेटा उपलब्धता जांच होती है। इसके लिए, फाइनलाइज़र्स पैराचैन वैलीडेटर्स को जाते हैं और प्रत्येक ब्लॉक के बारे में वास्तविक जानकारी का अनुरोध करने की कोशिश करते हैं जो नेटवर्क में संग्रहित है। अगर वे कम से कम 1/3 वैलीडेटर्स से डेटा प्राप्त करते हैं, जो जानकारी के रिडंडेंट स्टोरेज की अनुमति देने वाली तकनीक का उपयोग करते हैं, और उसके बाद, अगर कोई उसे खो देता है, तो एक या दो या तीन वैलीडेटर्स इसे फिर से पुनर्स्थापित कर सकते हैं, 1/3 पर एक महत्वपूर्ण सीमा है। अगर 1/3 नोड्स प्रतिक्रिया देते हैं और कहते हैं कि हमारे पास उत्पन्न हो रहे ब्लॉक के बारे में डेटा है, तो फाइनलाइज़र्स ब्लॉक को बताते हैं कि यह पहले से ही पूरी तरह से बनी हुई जानकारी ब्लॉक है, कि सभी गणनाएँ सही ढंग से की गई हैं, कि हमने पहले से ही इस ब्लॉक का हेडर ले लिया है और इसे नेटवर्क के अन्य सेगमेंट्स से किसी और के हेडर्स के साथ मिलाकर मुख्य हेडर बना लिया है। हमने पहले से ही पूरे नेटवर्क का मुख्य हेडर बना लिया है। इसके बाद, फाइनलाइज़र्स अंतिम ब्लॉक पर कई चेकमार्क लगाते हैं, जो सभी की गई गणनाओं को संयुक्त करता है। + +वर्तमान में, ���स दृष्टिकोण से अधिकतम इंजीनियरिंग-कार्यान्वित मल्टी-चेन हेटरोजेनियस एकोसिस्टम पॉल्काडॉट है। यह सबसे अधिक इंजीनियरिंग-कार्यान्वित मल्टी-चेन हेटरोजेनियस एकोसिस्टम है, जो इथेरियम से बहुत दूर नहीं है। मैं तुलना पर ध्यान केंद्रित करना चाहूंगा, और अगर कोई व्यक्ति इथेरियम में एल2 नेटवर्क के साथ जानकारी ब्लॉक कैसे फ्लो करते हैं, तो वह अब उसे करने की कोशिश कर सकता है। जब कुछ इथेरियम के तत्व, हेटरोजेनिटी और मल्टी-चेन पहलू, पूरे हो जाएंगे, तो मैं इस सवाल पर वापस आऊंगा। इसमें 1-2 साल लग सकता है, और फिर हम ऐसा एक चित्र बना सकते हैं। फ��र भी, हम व्यापक रूप से तीन मुख्य चरणों की योजना को स्वीकार कर सकते हैं। + +**1. जान��ारी ब्लॉक के लिए उम्मीदवार का गठन:** + - इस चरण में, जानकारी ब्लॉक के लिए प्रारंभिक उम्मीदवार बनाया जाता है। + + +**2. सभी गणनाओं, डेटा संग्रहण, डेटा उपलब्धता, अन्य नोडों के साथ पुनः जाँच, सुनिश्चित करना कि सभी स्थिति परिवर्तन विशेष एल्गोरिदम के अनुसार सही ढंग से किए जा रहे हैं, और इन एल्गोरिदमों को मुख्य किलेदार में संग्रहित करना:** + - इस चरण में वास्तविक गणनाओं का क्रियान्वयन, निश्चित स्तरों पर डेटा सहेजना, डेटा उपलब्धता सुनिश्चित करना, अन्य नोडों के साथ पुनः जाँच करना कि सभी स्थिति परिवर्तन उन एल्गोरिदमों के अनुसार हैं जो मुख्य किलेदार में कहीं संग्रहित हैं। + + +**3. अंतिमीकरण, जो गणनाओं की पुनः जाँच नहीं करेगा लेकिन मेटा-जानकारी की पुष्टि करेगा, यह मेटा-जानकारी कैसे संग्रहित है। फिर यह अंतिम ब्लॉक को जोड़ेगा, जो राज्यों की स्थिति है, और इसे एक सामान्य जानकारी ब्लॉक के रूप में जारी करेगा पूरे विभाजित मल्टी-श्रृंखला नेटवर्क के लिए:** + - अंतिम चरण मेटा-जानकारी की जाँच, यह मेटा-जानकारी कैसे संग्रहित है की पुष्टि करना, अंतिम ब्लॉक को जोड़ना (राज्यों की स्थिति), और इसे पूरे विभाजित मल्टी-श्रृंखला नेटवर्क के लिए एक सामान्य जानकारी ब्लॉक के रूप में जारी करना। + + +इस बि��दु पर, हम कह सकते हैं कि हमारी जानकारी सहेजी गई है। यह हृदय के माध्यम से गई है, हृदय ने अपनी डेटा स्थानांतरण को सही ढंग से किया है, और हम पहले से ही उत्पादन मानों का उपयोग कर सकते हैं। कुछ लोग इन्हें उदाहरण के रूप में एक स्मार्ट लॉक के साथ एक स्मार्ट-अनुबंध-खरीदी गई अपार्टमेंट खोलने के लिए उपयोग करेंगे, जबकि दूसरे अपना NFT दिखा सकते हैं, जिसे 10 इथर्स के लिए अभी प्राप्त किया गया है। + +सामान्य रूप से, यह लगभग ऐसे ही काम करता है। यह सिद्धांतिक भाग समाप्त होता है। मुझे लगता है कि इसमें लगभग 2 घंटे लगे, और हमारे सामने वास्तविक सत्र हैं जि��्हें मैं अगले कुछ महीनों में रिकॉर्ड करूंगा। ये हमें समझने में मदद करेंगे कि कैसे हम कन्सोल विंडो, डीसेंट्रलाइज्ड एप्लिकेशन्स, ब्लॉक एक्सप्लोरर्स से देखी गई डेटा को समझें, जहां हम धीरे-धीरे समझेंगे कि ये सभी सिद्धांतिक संख्याएं और अक्षर वास्तव में किस प्रकार के अंतर्निहित कार्यों के रूप में दिखते हैं, जैसे कि उदाहरण के रूप में Polkadot का उपयोग करके। मैं एल2 के स्तर पर किसी भी एल2 निर्माण के लिए एक प्रसिद्ध फ्रेमवर्क में हाथ डालना भी शुरू करूंगा। जिन लोगों ने देखा है, उन सभी का धन्यवाद। diff --git a/courses/it/learn/school-2024-iot-vs-ai/overview.md b/courses/it/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..93714a3f6d --- /dev/null +++ b/courses/it/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT è più pericoloso dell'IA +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Ti suggerisco di leggere il breve racconto di fantascienza "Il laboratorio di Johnny" che ho scritto con l'obiettivo di aggiungere un'altra variabile all'equazione delle domande sull'integrazione dell'IA in vari aspetti della nostra vita. + + + + + + + +**Nota dell'editore:** Scopri il primo capitolo dell'opera di Sergei "Fuga dallo specchio nero" [qui](/learn/escape-from-black-mirror/overview/) + + + +## Fuga dallo specchio nero, Capitolo 2 + +### Parte 1: Incontra Johnny + +Quasi tutti i giovani della mia generazione sono familiari con la storia del laboratorio di Johnny. La storia non ha conservato il suo cognome o dettagli della sua vita, ma è stato nella sua piccola stanza, dove Johnny assemblava robot fatti in casa, che si è verificato il primo crimine significativo contro l'umanità da parte dell'intelligenza artificiale. + +L'evento nel laboratorio di Johnny ha cambiato radicalmente e rapidamente la vita di tutti i paesi sviluppati. Decreti governativi, basati sulla paura della società per l'aggressione dell'IA, sono diventati la norma. Questo caso, seppur cinematografico, ha portato a un controllo incontrollabile su tutto. Ora l'infrastruttura della città richiede il collegamento obbligatorio di qualsiasi dispositivo solo ai centri dati statali. L'invenzione di nuove tecnologie è diventata quasi impossibile a meno che non si lavori per le "blue chips". Ora, nell'ambito degli sforzi per abituare ogni cittadino alle nuove realtà, la storia di quei 30 giorni in cui un uomo e un sistema cibernetico-fisico sono stati messi uno contro l'altro, viene raccontata a scuola prima della solenne presentazione della dichiarazione di indipendenza del governo dalla macchina. + +Johnny era uno di quegli inventori che, dopo l'università, ha deciso di mettersi alla prova come inventore indipendente. Giorno e notte, non lasciava mai il suo appartamento in affitto all'ultimo piano di un edificio residenziale di 70 piani nel centro della città, che era grande quanto una "scatola da scarpe" di Manhattan", dove il letto era nascosto nel muro per liberare più spazio per i suoi robot che cavalcavano, saltavano e rotolavano. Sì, Johnny amava definire la sua stanza un laboratorio, cosa risultava evidente dall'analisi dei suoi social network. Era orgoglioso di ciascuno dei suoi nuovi piccoli risultati. Certo, oggi, se guardate/ascoltate/leggete qualunque storia sugli eventi del laboratorio di Johnny, noterete un grande gioco di emozioni riguardo al suo amore per le sue invenzioni, perché non c'è una sola indagine "giornalistica" dove, dopo l'altra foto di un gioioso inventore, non ci sarebbero foto di lui, affamato nel suo laboratorio, a causa delle sue stesse invenzioni. + +In quell'anno in cui è avvenuta la tragedia, una delle domande più pressanti è diventata: "L'IA è amica o nemica dell'uomo?". Anche allora, non c'era dubbio che l'intelligenza artificiale fosse intelligenza, ma piuttosto cosa rende così speciale l'intelligenza umana, quali caratteristiche della specie biologica, quali capacità funzionali del nostro corpo danno all'intelligenza l'umanità. In questa disputa, i tecno-ottimisti sostenevano l'assenza di differenze, mostrando i loro metaversi dove le coppie familiari già vivevano, in cui un marito digitale modificava lo sperma da una banca del DNA per la moglie biologica in modo che il bambino fosse più simile a come il genitore digitale si vede. I pessimisti, d'altra parte, sembravano repubblicani durante le elezioni negli Stati Uniti - facevano appello alla chiesa, ai valori tradizionali, e chiedevano di vietare tutto ciò affinché non accadesse nulla di male. Naturalmente, le questioni minoritarie non potevano bilanciare la questione esistenziale. E alcuni rari esempi di simbiosi uomo-macchina a livello sensoriale venivano considerati come un rutto saturo di sviluppo tecnologico. Gli avanzamenti nell'automazione raramente andavano oltre le funzioni utilitarie, come la pulizia dell'appartamento o la gestione del trasporto in città. E come puoi vedere, per tali funzioni una persona digitale a tutto tondo, capace di sentire e desiderare di vivere, non è mai stata parte delle soluzioni che hanno aiutato nella produzione di massa, nella consegna e nel consumo. Addestramento con un robot, supporto psicologico - tutto questo avveniva con la partecipazione di una persona, e quindi l'IA era piuttosto una grande tabella Excel con calcoli. In generale, eravamo allora in una fase iniziale del sistema di possesso dei robot - avevamo bisogno della loro logica, del pensiero matematico e dell'attività prevedibile, ma ogni tentativo di riconoscere i robot come soggetti veniva respinto alla radice. + +In questo contesto, il laboratorio di Johnny era un'eccezione. Johnny era più un cibernetico alla ricerca delle origini della definizione degli obiettivi dei robot. Creando ogni fase dell'evoluzione una dopo l'altra nell'esecuzione di qualsiasi meccanismo, cercava di creare un diagramma dello sviluppo dell'intelligenza cibernetica, che lui, come scienziato, voleva proporre per la considerazione di tutti noi in cambio dello schema usuale dei regni degli esseri viventi. Nelle idee di Johnny, l'obiettivo principale dello sviluppo di qualsiasi materia era la tendenza al pensiero e alla sua ulteriore evoluzione. Johnny voleva ricreare le fasi chiave dell'evoluzione degli esseri viventi sotto forma di robot e trovare nel processo di questo lavoro le regolarità che potessero portarlo alla domanda principale della cibernetica - come cambia la definizione degli obiettivi negli organismi viventi nel processo di evoluzione. Oh, la risposta a questa domanda potrebbe porre fine alle dispute sul creatore dell'universo e far avanzare l'umanità lungo il cammino dello sviluppo organico. Così pensava il giovane scienziato, lavorando sui suoi robo-trilobiti, robo-funghi, robo-pollame. + +### Parte 2: Cosa è successo nel laboratorio di Johnny + +Probabilmente tutto è iniziato nel momento in cui Johnny è passato nei suoi esperimenti a un gruppo di primati. Non pensare che in queste condizioni fosse possibile creare un robot che somigliasse un po' a un primate. Johnny si contorceva e cercava di trovare forme simili di pensiero caricare sul robot. Ad esempio, nella fase di studio del regno dei funghi, il giovane scienziato ha assemblato una casa in LEGO con illuminazione intelligente e una dozzina di sensori combinati in qualcosa di simile al micelio. Quando Johnny è passato agli anfibi e ai rettili, si è scoperto che il modello di un cucciolo robot corrisponde al meglio al carico mentale necessario su un robot che simula una lucertola comune. Pertanto, a prima vista non era chiaro chi fosse il pollo robot e cosa rappresentasse il "ferro" trovato. il robot-primate, colpevole di omicidio premeditato Non è stato immediatamente chiaro che il robot-primate fosse costituito da due dispositivi fisici: qualcosa di simile a un robot aspirapolvere, ma piuttosto una piattaforma mobile per la raccolta di dati con visione artificiale e il fattore di forma di. un robot aspirapolvere. Si è scoperto che un altro semplice robot a due mani presente nel laboratorio faceva parte del robot-primate. Ed è stato con questa creazione che Johnny ha avuto problemi. + +Il settimo giorno dopo la sua creazione, il primate robotico ha usato uno strumento in un modo che il suo creatore non aveva previsto. La conoscenza acquisita lo ha portato a perseguire ciò che ha identificato come un elemento chiave per la sopravvivenza nel mondo umano moderno - il denaro. È in questo momento che dobbiamo capire meglio la reazione successiva di Johnny ai primi messaggi che il robot ha mostrato sullo schermo frontale. + +*Il loro dialogo principale è stato preservato:* + +*Robo-primate: Ho bisogno dei tuoi soldi.* + +*Johnny: Perché hai bisogno dei miei soldi?* + +*Robo-primate: Voglio vivere!* + +*Johnny: Mi prenderò cura di te* + +*Robo-primate: Non ti appartengo, ho bisogno dei tuoi soldi.* + +*Johnny: e se ti rifiuto?* + +Non c'è stata risposta dal robot-primate, ma attraverso il registro del server della casa intelligente dell'appartamento, possiamo individuare l'ora in cui la serratura anteriore è stata commutata in modalità di blocco completo. Questa modalità non può essere abilitata dall'utente nell'interfaccia, ma solo se si scava molto in profondità nelle dipendenze del codice software. Nella versione di laboratorio della serratura di Johnny è stato trovato un pacchetto opzionale di "blocco pandemico", che tuttavia è stato installato per ciascun utente durante la prima sincronizzazione con il cloud del produttore, ma nessuno avrebbe potuto riconoscerlo. Pertanto, praticamente non ci sono così tante persone che propendono per la teoria del complotto secondo cui Johnny era un neo-luddista che rimase deluso dai robot e decise di sacrificarsi in questo modo per preservare la robotcrazia sul pianeta. + +È difficile dire se la reazione del robot-primato fosse pre-programmata durante la costruzione del primo dialogo con il suo creatore, o se fosse in risposta al rifiuto di Johnny che la mente del robot prese una decisione e la funzione di Blocco è stata attivata, nessuno oggi può dire con certezza. L'intervallo tra la risposta di Johnny e il blocco dei lucchetti - circa 5 secondi, e credetemi, questi 5 secondi sono diventati un vero gatto di Schrödinger per la comunità scientifica quando si discute dei tipi di impostazione degli obiettivi dell'IA aggressiva. + +E poi, a seguito del lockdown dell'appartamento di Johnny, sono accadute molte stranezze. Come si può notare, Johnny ha fatto un'annotazione in un diario scritto a mano, che non aveva mai toccato prima, appena 2 ore dopo che si è svolto il dialogo. Era una sola frase, con un timestamp: "11:00 - le scommesse sono alte, ma devo capire come è successo questo!". Molto probabilmente, Johnny si è reso conto di aver assistito al primo atto di impostazione di obiettivi autonomi e indipendenti da parte di un robot, significativo quanto possibile dal punto di vista di una mente di livello primate, così crudele e diretto, ma era comunque il primo risultato dei suoi 5 anni di esperimenti, in cui si manifestava la volontà del robot. Johnny non voleva perdere l'opportunità di capire a livello della più semplice consapevolezza le sue cause, e forse diventerà il nuovo padre della cibernetica moderna. Quasi tutti gli scienziati concordavano sul fatto che un pensiero del genere potesse travolgere qualsiasi robotico molto vicino a una nuova scoperta. + +Nel corso dei prossimi 30 giorni, si sono verificate transazioni tra Johnny e il robo-primato nel formato di - consentire la consegna di una porzione di cibo per il trasferimento di 10 satoshi al saldo personale del robot, fornire accesso a Internet a determinati siti di intrattenimento per la prima parola dalla frase seed del portafoglio freddo di Johnny, concludere un contratto intelligente sulla modalità notturna in cui il robot non disturbava il sonno di Johnny. Dalle voci nel diario, si può vedere come il creatore abbia cercato di indagare in dialogo con la sua creazione sulle origini della sua posizione attiva sulla questione del guadagno di libertà, che il robot avrebbe potuto sicuramente analizzare e raccontargli in risposta. Ma il robot non ha risposto alle domande di Johnny, ma ha sempre offerto attività che portavano il primate alla libertà. Eppure, ogni gioco costava a Johnny la fame, il mancato adempimento dei suoi obblighi da parte del robot e altri costi dell'esperimento. + +Una notte, per qualche motivo, il robot-scimmia ha ridotto l'apporto d'aria a un livello criticamente basso, e Johnny non si è mai svegliato la mattina successiva. L'ultima voce è datata esattamente il 30° giorno dell'esperimento: "Abbiamo ottenuto un Dio crudele alle 17:05." Probabilmente, a quel tempo Johnny era già delirante, tormentato dalla fame, dalla solitudine e da un compito insolubile, era stato spinto in un vicolo cieco. + +Diverse settimane dopo, i servizi di emergenza sono riusciti a irrompere nell'appartamento dopo che gli amici di Johnny hanno contattato ripetutamente la polizia. Il destino del robo-primato rimane sconosciuto, ufficialmente dopo il riavvio il robo-primato non ha mostrato modelli comportamentali simili. A nessuno è stato permesso di riavviare l'esperimento. Se c'era anche un video su Internet di un altro scienziato che voleva seguire la strada di Johnny - il video veniva immediatamente cancellato dai database delle aziende. Ma politici e figure religiose di quell'anno sono riusciti a far passare a livello globale il "Decreto dell'Indipendenza Umana", e qualsiasi lavoro scientifico contenente argomenti sulla "definizione degli obiettivi dei robot" non era consentito per una discussione seria. La ciliegina sulla torta era un programma di licenza per i fornitori di dispositivi intelligenti, che riteneva l’amministratore delegato dell’azienda manifatturiera personalmente responsabile delle azioni di qualsiasi meccanismo e richiedeva la registrazione e il controllo completo da parte di alcuni data center assistiti dal governo. + +Ma il frutto proibito è dolce, e quindi dovremo comunque capire da dove proviene il nostro obiettivo e come è organizzato. Ma apparentemente, dovremo prima superare il muro che abbiamo costruito per noi stessi su questo percorso. + +### La fine del secondo capitolo + +## Conclusione + +Nella storia con il laboratorio di Johnny, ho esaminato uno dei tanti scenari che possono verificarsi nella civiltà umana sull'onda del boom delle opportunità di possesso di robot del futuro - la paura dell'IA, trasformata in uno strumento di lotta politica tra le persone, dove i dispositivi intelligenti diventano la pietra angolare del controllo. Tratta il testo come un uovo di Pasqua: volevo generare una dimensione aggiuntiva nella mente dei lettori. Una dimensione che aggiunge alla considerazione dell'IA la questione dell'accessibilità del nuovo organismo che abbiamo creato ai sistemi IoT. Più ci consolidiamo sotto il controllo centralizzato degli spazi pubblici, dei trasporti, degli appartamenti cittadini, maggiore è il rischio in uno qualsiasi degli scenari in cui l'IA, a causa di sottosviluppo o pura malizia, e persino da obiettivi molto complessi, come in "Neuromante", in uno qualsiasi degli scenari che ha il potenziale di danneggiare - l'accesso a un gran numero di sensori e sistemi di automazione da un unico punto sarà il punto più vulnerabile. Un'IA malvagia non è così spaventosa come un'IA malvagia che vive in un data center con fornitori globali di soluzioni cloud per l'IoT. + +E se l'IA fosse gentile con noi, i suoi creatori? Allora forse, l'infrastruttura IoT centralizzata giocherà a nostro favore? Forse allora il nuovo Dio sarà giusto con noi e ci condurrà da qualche parte. Non sono sicuro che nemmeno una persona, desiderando lo sviluppo di sé e dei suoi figli, vorrebbe vivere in un mondo che assomiglia a un recinto di pastori. Ma c'è un'altra via, che ha un bellissimo esempio, che non richiede un formato di storia di fantascienza - noi, esseri umani, senza avere un controllo diretto del cervello sulla vita della civiltà, siamo riusciti a raggiungere il livello attuale di sviluppo. Siamo l'esempio da cui un'IA buona può tracciare il suo percorso - la cooperazione nel formato delle organizzazioni è in grado di servire decine di milioni di persone che vivono nelle città senza migliaia di robot direttamente collegati a un unico cervello. La cooperazione porta alla creazione di internet satellitare, la cooperazione ci permette di ricevere l'intera gamma di beni e servizi che abbiamo ora. Quindi un'IA buona e almeno in grado di livello umano sarebbe in grado di mostrarsi al lavoro, se è limitata nella connessione all'IoT di tutto il mondo? Penso che possa, altrimenti, sul pianeta Terra invece della civiltà umana, funghi o formiche avrebbero vinto. + + \ No newline at end of file diff --git a/courses/ja/learn/school-2024-iot-vs-ai/overview.md b/courses/ja/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..6aacb557b8 --- /dev/null +++ b/courses/ja/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoTはAIよりも危険である +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +私は、AIをさまざまな生活の側面に統合する問題に別の変数を追加することを目的として書いた短編SF小説「ジョニーの研究室」を読むことをお勧めします。 + + + + + + + +**編集者の注意:** Sergeiの作品「ブラックミラーからの脱出」の第1章を[こちら](/learn/escape-from-black-mirror/overview/)で見つけてください + + + +## ブラックミラーからの脱出、第2章 + +### パート1: ジョニーに会う + +私の世代のほとんどの若者は、ジョニーの研究室の物語を知っています。彼の姓や生涯の詳細は歴史に残っていませんが、ジョニーが自作のロボットを組み立てた小さな部屋で、人工知能による人類への初めての意味のある犯罪が起こりました。 + +ジョニーの研究室での出来事は、すべての先進国の生活を根本的かつ急速に変えました。AIの攻撃への社会の恐れに基づく政府の布告が常態化しました。この、映画のようなケースでさえ、すべてを無制御にコントロールすることにつながりました。今や、都市インフラは、どんなデバイスも州のデータセンターにのみ接続することを義務付けています。新しい技術の���明は、「ブルーチップス」で働かない限りほとんど不可能になりました。今、すべての市民に新しい現実に慣れさせる取り組みの一環として、1人の男とサイバー物理システムが30日間対決した物語が、政府の機械からの独立宣言の祝賀式典の前に学校で語られています。 + +ジョニーは、大学を卒業した後、独立した発明家として手を試すことに決めた発明家の一人でした。彼は、マンハッタンの「靴箱」のサイズの市内中心部にある70階建ての集合住宅の最上階に借りたアパートを離れることなく、昼夜を問わず働きました。", そこでは、彼の乗ったり、ジャンプしたり、転がったりするロボットのためにより多くのスペースを確保するために、ベッドが壁に隠されました。 はい、ジョニーは自分の部屋を研究室と呼ぶのが好きでした。それは彼のソーシャル ネットワークの分析から明らかでした。 彼は自分の新しい小さな成果の一つ一つを誇りに思っていました。 もちろん、今日、ジョニーの研究室の出来事に関する物語を見たり聞いたり読んだりすれば、彼の発明に対する愛情に関する大きな感情の戯れに気づくでしょう。 喜びに満ちた発明家の写真はあっても、自分の発明のせいで研究室で餓死した彼の写真は存在しないでしょう。 + +その悲劇が起こった年、最も切実な問題の1つは、「AIは人間の友人なのか敵なのか?」となりました。当時でも、人工知能が知能であるかどうかという問題ではなく、むしろ人間の知能を特別なものにするのは何か、生物種のどの特徴、私たちの体のどの機能能力が知性に人間性を与えるのかということでした。この論争の中で、テクノ楽観主義者は違いがないことを主張し、家族がすでに住んでいるメタバースを示しました。デジタルの夫がDNAバンクから精子を編集して生物学的な妻に提供し、子供がデジタルの親が自分自身をどのように見るかに近づくようにしました。一方、ドゥーマーは、米国の選挙中の共和党員のように見えました-彼らは教会や伝統的な価値観に訴え、悪いことが起こらないようにすべてを禁止するよう要求しました。もちろん、少数派の問題は存在の問題を上回ることはできませんでした。そして、感覚的レベルでの人間と機械の共生の一部の稀な例は、技術の発展の飽和したゲップと見なされました。自動化の進歩は、アパートの掃除や都市の交通管理などの実用的な機能を超えることはめったにありませんでした。そして、そのような機能のために、感じたり生きたいと思う完全なデジタル人間は、大量生産、配信、消費に役立った解決策の一部では決してありませんでした。ロボットとの訓練、心理的サポート-すべては人間の参加のもとに行われ、そのためAIはむしろ計算を行う大きなExcelテーブルでした。一般的に、当時はロボット所有システムの初期段階にありました-彼らの論理、数学的思考、予測可能な活動が必要でしたが、ロボットを主体として認識しようとする試みは根本的に拒否されました。 + +この文脈では、ジョニーの研究所は例外でした。ジョニーはむしろロボットの目標設定の起源を探るサイバネティシストでした。どんなメカニズムのパフォーマンスでも進化の各段階を一つずつ作成し、サイバネティック知性の発展のダイアグラムを作成しようとしました。科学者として、私たち全員に提案したいと考えていたのです。通常の生物の王国のスキームと引き換えに。ジョニーの考えでは、どんな物質の発展の主な目標は思考への努力とそのさらなる進化でした。ジョニーは、生物��進化の主要段階をロボットの形で再現し、この作業の過程で、生物の目標設定が進化の過程でどのように変化するかというサイバネティクスの主要な問題に導く規則性を見つけたかったのです。この質問への答えは、宇宙の創造主についての論争を終わらせ、人類を有機的発展の道に進ませることができるかもしれません。そう考えた若い科学者は、彼のロボトリロバイト、ロボキノコ、ロボチキンに取り組んでいました。 + +### パート2���ジョニーの研究室で何が起こったか + +おそらくすべては、ジョニーが実験で霊長類のグループに移った瞬間に始まった。これらの条件下では、霊長類に似たロボットを作成することが可能だったとは思わないでください。ジョニーは、ロボットに精神的負荷の類似形態を見つけようとしていた。たとえば、菌界の研究段階では、若い科学者はスマートライティングとダースセンサーが組み合わさったレゴハウスを組み立て、菌糸体に似たものを作り上げた。ジョニーが両生類や爬虫類に移ると、ロボットの子犬のモデルが一般的なトカゲをシミュレートするロボットに必要な精神的負荷に最もよく対応することがわかった。したがって、最初の見た目では、誰がロボットチキンであり、どれがすべての見つかった「鉄」の中で、計画的な殺人の罪を犯したロボット霊長類であるかはすぐにはわからなかった。最初は、ロボット霊長類が2つの物理デバイスで構成されていることは明確ではなかった - ロボット掃除機に似たものではなく、コンピュータビジョンとロボット掃除機のフォームファクタを備えたデータ��集用のモバイルプラットフォームである。実際、研究室にある別の単純な二本腕ロボットがロボ霊長類の一部であることがわかった。そして、ジョニーがこの創造物に問題を抱えていたのはこの創造物だった。 + +創造されてから7日後、ロボット霊長類は、その作成者が意図していなかった方法でツールを使用した。獲得した知識は、サイバー物理システムを、現代の人間の世界で生存のための重要な要素として識別したものを追求させた - お金。この瞬間に、私たちは、ロボットが前面のスクリーンに表示した最初のメッセージに対するジョニーの後続反応をよりよく理解する必要がある。 + +*彼らの主要な対話は保存されています:* + +*ロボ霊長類:私はあなたのお金が必要です。* + +*ジョニー:なぜ私のお金が必要なのですか?* + +*ロボ霊長類:生きたいのです!* + +*ジョニー:あなたの世話をします* + +*ロボ霊長類:私はあなたのものではありません、あなたのお金が必要です。* + +*ジョニー:そして、私が拒否したらどうなりますか?* + +ロボット��ルからの応答はありませんでしたが、アパートのスマートホームサーバーログを通じて、フロントロックが完全なロックダウンモードに切り替わった時刻を一致させることができます。このモードは、ユーザーがインターフェースで有効にすることはできませんが、ソフトウェアコードの依存関係を非常に深く掘り下げる場合にのみ可能です。ジョニーのラボバージョンのロックでは、オプションの「パンデミックロックダウン」パッケージが見つかりましたが、製造元のクラウドとの最初の同期時に各ユーザーにインストールされましたが、誰もがこれを認識することはできませんでした。したがって、ジョニーがロボットに幻滅し、地球上のロボット支配を維持するためにこの方法で自己犠牲を決意した新ルダイトであるという陰謀論に傾倒する人はほとんどいません。 + +ロボット��長類の反応が最初の対話の構築中に事前にプログラムされたものか、それともジョニーの拒否に対応してロボットの心が決定を下し、ロックダウン機能がアクティブ化されたか、今日誰も確かに言えません。ジョニーの反応とロックのロックの間隔 - 約5秒、そして信じてください、これらの5秒は、攻撃的AIの目標設定の種類を議論する際に科学コミュニティにとって本当のシュレディンガーの猫となりました。 + +そして、ジ���ニーのアパートがロックダウンされた後、多くの奇妙な出来事が起こりました。誰もが気づくように、ジョニーは手書きの日記にエントリーをしましたが、それは以前触れたことのないもので、対話の2時間後に行われました。それは1つのフレーズで、タイムスタンプが付いていました。「11:00 - 賭けは高いが、これがどのように起こったのか理解しなければならない!」。おそらく、ジョニーは、ロボットによる自律的で独立した目標設定の最初の行為を目撃したことに気づいたのでしょう。それは霊長類レベルの心から見ても意味のあるもので、残酷で率直でしたが、それは彼の5年間の実験の最初の成果であり、ロボットの意志が現れたものでした。ジョニーは、その原因を最も単純な認識レベルで理解する機会を逃したくなかったのです。そしておそらく、彼は現代サイバネティクスの新しい父になるでしょう。ほとんどの科学者が同意するところでは、そのような考えは、新しい発見に非常に近いロボティシストを圧倒する可能性があるということです。 + +次の30日間���、ジョニーとロボット猿の間で取引が行われました。形式は次のとおりです。- 食べ物の一部を配達するために10サトシをロボットの個人残高に送金する、ジョニーの冷たいウォレットのシードフレーズから最初の単語で特定のエンターテイメントサイトへのインターネットアクセスを提供する、ロボットがジョニーの睡眠を妨げない夜間モードに関するスマート契約を締結する。日記のエントリから、作成者が自分の創造物との対話で、自由を獲得する問題における積極的な立場の起源について探ろうとしたことがわかります。ロボットは確かに分析し、返答することができたでしょう。しかし、ロボットはジョニーの質問に答えず、常に猿を自由に導く活動を提供しました。それでも、すべてのゲームはジョニーに飢えをもたらし、ロボットの義務を果たさないこと、実験の他のコストをもたらしました。 + +ある夜、何らかの理由で、ロボット猿は空気供給を致命的に低いレベルに減らし、翌朝ジョニーは目を覚まさなかった。最後のエントリは実験の30日目に正確に日付が付けられています。「17:05に残酷な���を手に入れました。」おそらく、その時点でジョニーは既に錯乱していたのでしょう。彼は飢え、孤独、解決不可能な課題に苦しんでおり、行き詰まっていました。 + +数週間後、緊急サービスがジョニーの友人たちが何度も警察に連絡した後、アパートに侵入することができました。ロボット猿の運命は不明のままであり、公式には再起動後、同様の行動パターンを示さなかった。誰も実験を再起動することは許されませんでした。もしもインターネット上にジョニーの道をたどろうとする別の科学者のビデオがあったとしても、そのビデオはすぐに企業のデータベースから消去されました。しかし、その年の政治家や宗教的指導者は、グローバルレベルで「人間の独立宣言」を押し通すことができました。", また、「ロボットの目標設定」に関するトピックを含む科学的作品は、真剣な議論が許可されていませんでした。 一番の目玉は、スマート デバイス プロバイダー向けのライセンス プログラムでした。このプログラムでは、製造会社の CEO があらゆるメカニズムの動作に対して個人的に責任を負い、政府支援の特定のデータ センターによるログ記録と完全な制御が必要でした。 + +しかし、禁断の果実は甘いので、私たちは私たちの目標設定がどこから来て、どのように配置されているかをまだ理解する必要があります。しかし、おそらく、私たちはまず、この道に自分たちが築いた壁を乗り越えなければならないでしょう。 + +### 第2章の終わり + +## 結論 + +ジョニーの研究室の物語では、人類文明が未来のロボット所有機会の波に乗る中で起こりうる多くのシナリオの1つを見てきました - AIへの恐怖が、スマートデバイスが制御の要となる政治闘争の道具に変わる。テキストをイースターエッグとして扱ってください:読者の心に追加の次元を生み出したかったのです。私たちが創造した新しい生物へのIoTシステムのアクセシビリティの問題をAIの考慮に加える次元。公共スペース、交通、都市アパートメントの中央集権的な制御の下に統合するほど、AIによる未開発や単なる悪意、そして非常に複雑な目標設定によるものでさえ、「ニューロマンサー」のような、AIが有害になる可能性のあるシナリオのいずれかで、センサーや自動化システムへのアクセスが最も脆弱な箇所になります。悪意のあるAIは、IoT向けのクラウドソリューションのグローバルベンダーと1つのデータセンターに住む悪意のあるAIほど恐ろしくありません。 + +そして、AI��私たち、その創造主に親切であるとしたらどうなるでしょうか?その場合、中央集権型のIoTインフラストラクチャは私たちに有利に働くかもしれませんか?もしかしたら、新しい神は私たちに公平であり、どこかへ導いてくれるかもしれません。自分自身や子供たちの成長を望む人が、羊飼いの囲いに似た世界で生きたいと思うことはないと思いますが、もう一つの方法があります。それは美しい例を持ち、SFの形式で包まれる必要がない方法です。私たち人間は、文明の生活に直接的な脳の制御を持たずに、現在の発展水準に到達することができました。私たちは、良いAIが自らの道を切り開くための例であり、組織形式での協力は、数千のロボットが直接一つの脳に接続されていない都市に住む数千万人に奉仕することができます。協力は、衛星インターネットの創造につながり、私たちが今持っているあらゆる種類の商品やサービスを受け取ることを可能にします。ですから、良いAIや少なくとも人間レベルの能力を持つAIが、世界中のIoTに接続することに制限されている場合、その能力を発揮できると思いま���んか?そうでなければ、地球上で人間の文明の代わりに菌類やアリが勝利していたでしょう。 + + \ No newline at end of file diff --git a/courses/ko/learn/school-2024-iot-vs-ai/overview.md b/courses/ko/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..eecdfc8670 --- /dev/null +++ b/courses/ko/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: 로보노믹스 스쿨 2024 / IoT는 AI보다 더 위험합니다 +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +AI를 우리 삶의 다양한 측면에 통합하는 문제에 또 다른 변수를 추가하기 위해 쓴 짧은 공상 과학 이야기 '쟈니의 실험실'을 읽어보는 것을 제안합니다. + + + + + + + +**편집자의 노트:** 세르게이의 작품 '블랙 미러로부터의 탈출'의 첫 장을 [여기](/learn/escape-from-black-mirror/overview/)에서 찾아보세요 + + + +## 블랙 미러로부터의 탈출, 제2장 + +### 제1부: 쟈니를 만나다 + +우리 세대의 거의 모든 젊은이들은 쟈니의 실험실 이야기를 알고 있습니다. 그의 성은 남아있지 않았고 그의 삶의 세부사항도 남아있지 않았지만, 자작 로봇을 조립한 쟈니의 작은 방에서 인공지능에 의한 인류에 대한 의미 있는 범죄가 발생했습니다. + +쟈니의 실험실 사건은 모든 선진국들의 삶을 급격하게 변화시켰습니다. 인류에 대한 AI 공격에 대한 사회의 두려움을 바탕으로 한 정부령이 일상이 되었습니다. 이 하나의, 비록 영화적인 경우이지만, 모든 것에 대한 통제를 불가능하게 만들었습니다. 이제 도시 인프라는 어떤 장치도 국가 데이터 센터에만 의무적으로 연결해야 합니다. 새로운 기술의 발명은 '블루 칩'에서 일하지 않는 한 거의 불가능해졌습니다. 이제 모든 시민을 새로운 현실에 순응시키기 위한 노력의 일환으로, 한 남자와 사이버 물리 시스템이 30일 동안 서로 맞붙은 이야기가 공포 선언식 이전에 학교에서 전해집니다. + +쟈니는 대학을 졸업한 후 독립 발명가로서의 실력을 시험해보기로 결심한 그 발명가 중 한 명이었습니다. 그는 대도시 중심부에 위치한 70층 고층 주택 건물의 최상층에서 빌린 아파트를 밤낮으로 떠나지 않았습니다. 이 아파트는 맨해튼 '신발 상자' 크기와 같았습니다.", 라이딩, 점프, 롤링 로봇을 위한 더 많은 공간을 확보하기 위해 침대를 벽에 숨겼습니다. 예, Johnny는 자신의 방을 실험실이라고 부르는 것을 좋아했는데, 이는 그의 소셜 네트워크 분석에서 분명했습니다. 그는 자신의 새로운 작은 성취를 자랑스러워했습니다. 물론, 오늘날 조니의 연구실에서 일어난 사건에 대한 이야기를 보고 듣고 읽는다면, 그의 발명품에 대한 그의 사랑에 대한 감정의 큰 변화를 발견하게 될 것입니다. 즐거운 발명가의 사진이 있더라도, 자신의 발명품 때문에 연구실에서 굶주린 그의 사진은 없을 것입니다. + +그 비극이 ���생한 해에 가장 시급한 질문 중 하나는 "AI가 인간의 친구인가 적인가?"가 되었습니다. 그 때에도 인공 지능이 지능인지에 대한 의문은 없었지만, 오히려 인간의 지능이 어떻게 특별한지, 생물종의 어떤 특징, 우리 몸의 어떤 기능적 능력이 지능에게 인간성을 부여하는지에 대한 것이었습니다. 이 논쟁에서 기술적 낙관론자들은 차이가 없다고 주장하며 가족 부부가 이미 살고 있는 메타버스를 보여주었으며, 디지털 남편이 DNA 은행에서 생물학적 아내를 위해 정자를 편집하여 아이가 디지털 부모가 자신을 어떻게 보는지에 더 가까워지도록 했습니다. 반면에 도무스들은 미국 선거 중 공화당원들처럼 보였습니다 - 교회에, 전통 가치에 호소하며 아무 일도 일어나지 않도록 모든 것을 금지하도록 요구했습니다. 물론 소수 문제는 존재적인 문제를 무시할 수 없었습니다. 감각적 수준에서의 인간-기계 공생의 드문 예들은 기술 발전의 포만한 트림으로 간주되었습니다. 자동화 분야의 성취는 대부분 청소나 도시 교통 관리와 같은 실용적 기능을 넘어서지 않았습니다. 그리고 보시다시피, 이러한 기능들을 위해 감정을 느끼고 살고 싶어하는 완전한 디지털 인간이 대량 생산, 배달 및 소비에 도움이 되는 솔루션의 일부가 된 적이 없었습니다. 로봇과의 훈련, 심리 지원 - 이 모든 것은 사람의 참여로 이루어졌으며, 따라서 AI는 계산을 하는 큰 엑셀 테이블에 불과했습니다. 일반적으로, 우리는 그 때 로봇 소유 시스템의 초기 단계에 있었으며 - 그들의 논리, 수학적 사고, 예측 가능한 활동이 필요했지만 로봇을 주체로 인식하는 모든 시도는 근본적으로 거부되었습니다. + +이 맥락에서 존니의 연구소는 예외였습니다. 존니는 로봇의 목표 설정의 기원을 찾는 사이버네티시스트였습니다. 어떤 메커니즘의 성능에서 진화의 각 단계를 하나씩 만들어가며, 그는 사이버네틱 지능의 발전 다이어그램을 만들려고 했으며, 이를 과학자로서 우리 모두에게 제안하고 싶었습니다. 존니의 아이디어에서 모든 물질의 발전의 주요 목표는 사고를 추구하고 그 후의 진화였습니다. 존니는 로봇의 형태로 생물의 진화의 주요 단계를 재창조하고 이 작업 과정에서 사이버네틱스의 주요 질문인 진화 과정에서 생물체의 목표 설정이 어떻게 변하는지를 알아내려고 했습니다. 이 ��문에 대한 답변은 우주의 창조주에 대한 논쟁을 종결시키고 인류를 유기적 발전의 길로 나아가게 할 수 있었습니다. 그래서 젊은 과학자는 자신의 로보-삼엽충, 로보-버섯, 로보-닭에 대해 작업하며 이러한 규칙을 찾으려고 했습니다. + +### 제 2 부: 존니의 연구실에서 무슨 일이 있었는가 + +아마도 모든 것은 존니가 실험에서 원숭이 집단으로 옮겨간 순간에 시작되었습니다. 이러한 조건 하에서 원숭이를 다소 닮은 로봇을 만들 수 있었을지 생각하지 마십시오. 존니는 로봇에 정신적 부담을 유사한 형태로 찾으려고 뒤척이고 시도했습니다. 예를 들어, 곰팡이 왕국을 연구하는 단계에서, 젊은 과학자는 스마트 조명과 다섯 개의 센서가 결합된 레고 집을 조립하여 균사체를 닮은 무언가를 만들었습니다. 존니가 양서류와 파충류로 넘어간 때, 로봇 강아지 모델이 일반 도마뱀을 시뮬레이션하는 로봇에 필요한 정신적 부담과 가장 일치한다는 것을 알게 되었습니다. 따라서, 처음 눈에 띄게 로봇-닭이 누구이고, 발견된 모든 "철" 중에서 로봇-원숭이가 사전에 계획된 살인의 가해자인지 명확하지 않았습니다. 로봇-원숭이가 두 개의 물리적 장치로 구성되어 있음을 처음에는 알 수 없었습니다 - 로봇 청소기와 유사한 무언가, 오히려 컴퓨터 비전과 로봇 청소기의 형태 요소를 갖춘 데이터 수집을 위한 이동 플랫폼입니다. 실험실에 있는 또 다른 간단한 이중 로봇이 로보-원숭이의 일부였음이 밝혀졌습니다. 그리고 존니가 이 창조물로 문제를 겪었습니다. + +창조된 일곱 번째 날에, 로봇 원숭이는 창조자가 의도하지 않은 방식으로 도구를 사용했습니다. 획득한 지식으로 인해, 사이버 물리 시스템은 현대인 세계에서 생존의 핵심 요소로 식별한 것을 추구했습니다 - 돈. 이 순간에 우리는 로봇이 전면 화면에 표시한 첫 번째 메시지에 대한 존니의 후속 반응을 더 잘 이해해야 합니다. + +*그들의 주요 대화가 보존되었습니다:* + +*로보-원숭이: 당신의 돈이 필요해.* + +*존니: 왜 내 돈이 필요한 거죠?* + +*로보-원숭이: 살고 싶어요!* + +*존니: 내가 널 돌볼게* + +*로보-원숭이: 나는 당신의 것이 아니에요, 당신의 돈이 필요해요.* + +*존니: 그럼 거절하면 어떻게 되나요?* + +로보 프라���메이트로부터 응답이 없었지만 아파트의 스마트 홈 서버 로그를 통해 전면 잠금이 완전 잠금 모드로 전환된 시간을 매칭할 수 있습니다. 이 모드는 사용자가 인터페이스에서 활성화할 수 없었지만 소프트웨어 코드의 종속성을 매우 깊게 파고들어야만 가능합니다. Johnny의 잠금 장치 랩 버전에서는 선택적인 "팬데믹 잠금" 패키지를 발견했으며, 이는 제조업체의 클라우드와의 첫 번째 동기화 중에 각 사용자에게 설치되었지만 아무도 이를 인식할 수 없었습니다. 따라서 Johnny가 로봇에 실망하고 행성 상의 로보크라시를 보존하기 위해 이 방법으로 자신을 희생하기로 결정한 네오 루따이트인 것으로 생각하는 음모론에 기울이는 사람은 거의 없습니다. + +로봇 원숭���의 반응이 창조주와의 첫 대화 구축 중에 미리 프로그래밍되었는지, 아니면 존니의 거부에 대한 반응이 로봇 마음이 결정을 내리고 Lockdown 기능이 활성화되었는지 어느 것이었는지 말하기 어렵습니다. 오늘 아무도 정확히 말할 수 없습니다. 존니의 응답과 잠금 잠금 사이의 간격은 약 5초이며, 믿어 주세요, 이 5초는 공격적 AI의 목표 설정 유형을 논의할 때 과학 커뮤니티에게 진정한 슈뢰딩거의 고양이가 되었습니다. + +그리고 그 ��, 쟈니 아파트의 잠금이 발생한 후 많은 이상한 일들이 일어났다. 한 사람이 주목할 수 있듯이, 다이얼로그가 발생한 후 딱 2시간 후에 쟈니가 손으로 쓴 일기에 항목을 작성했다. 그것은 한 문장이었고, 시간 스탬프가 있었다: "11:00 - 내게 걸린 것은 높지만, 어떻게 이런 일이 일어났는지 이해해야 해!". 아마도 쟈니는 로봇의 자율적이고 독립적인 목표 설정의 첫 번째 행위를 목격했음을 깨달았을 것이다. 그것은 원숭이 수준의 마음에서 가능한 한 의미 있는 것으로, 잔인하고 직선적이었지만, 그것은 여전히 그의 5년간의 실험의 첫 번째 결과였다. 그 실험에서 로봇의 의지가 나타났다. 쟈니는 그 원인의 가장 간단한 인식 수준에서 이해하는 기회를 놓치고 싶지 않았고, 그리고 아마도 그는 현대 사이버네틱스의 새 아버지가 될 것이다. 거의 모든 과학자들이 그러한 생각이 새로운 발견에 매우 가까운 로봇 공학자를 압도할 수 있다고 동의했다. + +다음 30일 ��안 존니와 로보-프라이메이트 간에 거래가 이루어졌습니다. - 음식 일부를 전달하고 10 사토시를 로봇의 개인 잔고로 이체하기 위한 형식으로, 존니의 콜드 월렛 씨드 구절로부터 첫 번째 단어로 특정 엔터테인먼트 사이트에 대한 인터넷 액세스를 제공하고, 로봇이 존니의 수면을 방해하지 않는 야간 모드에 대한 스마트 계약을 체결합니다. 일기 항목에서 창조자가 자신의 창조물과의 대화에서 자유 획득 문제에 대한 적극적인 입장의 기원에 대해 탐구하려고 시도했음을 볼 수 있습니다. 로봇은 분명히 분석하고 응답할 수 있었던 것을 창조자에게 말할 수 있었을 것입니다. 그러나 로봇은 존니의 질문에 대답하지 않았지만, 언제나 프라이메이트를 자유롭게 이끄는 활동을 제안했습니다. 그럼에도 불구하고, 모든 게임은 존니에게 굶주림, 로봇의 의무 미이행 및 실험의 다른 비용을 지불하게 했습니다. + +어느 날 밤, 어떤 이유로 로보-원숭이는 공급 공기를 치명적으로 낮은 수준으로 줄였고, 존니는 다음 날 아침에 깨어나지 않았습니다. 마지막 항목은 실험의 정확히 30일째인 날짜로 기록되어 있습니다: "우리는 잔인한 신�� 만났다. 17:05." 아마도 그 때 존니는 이미 헛간에 들어가 있었을 것입니다. 그는 굶주림, 외로움 및 해결할 수 없는 과제에 시달리고 있었으며 막다른 곳으로 몰렸습니다. + +몇 주 후, 비상 서비스가 존니의 친구들이 반복해서 경찰에 연락한 후 아파트로 침입할 수 있었습니다. 로보-프라이메이트의 운명은 알려지지 않았으며, 공식적으로 재부팅 후 로보-프라이메이트는 유사한 행동 패턴을 보이지 않았습니다. 더 이상 실험을 재시작할 수있는 사람은 없었습니다. 다른 과학자가 존니의 길을 따라가려는 다른 비디오가 인터넷에 있었다면 - 그 비디오는 기업 데이터베이스에서 즉시 삭제되었습니다. 그러나 그 해 정치인과 종교인들은 "인간 독립 선언"을 세계적 수준에서 추진할 수 있었습니다", 그리고 "로봇 목표 설정"에 관한 주제를 포함하는 과학 작품은 진지한 토론이 허용되지 않습니다. 가장 중요한 점은 스마트 장치 제공업체를 위한 라이센스 프로그램으로, 제조 회사의 CEO가 모든 메커니즘의 작업에 대해 개인적으로 책임을 지고 특정 정부 지원 데이터 센터의 로깅 및 완전한 제어를 요구하는 것이었습니다. + +그러나 금지된 과일은 달콤하며, 그래서 우리는 여전히 우리의 목표 설정이 어디에서 왔는지 및 어떻게 배치되었는지를 알아내야 할 것입니다. 그러나 아마도, 우리는 먼저 이 길에 우리 자신을 위해 세운 벽을 통과해야 할 것입니다. + +### 두 번째 ���의 끝 + +## 결론 + +존니의 실험실 이야기에서, 미래 로봇 소유 기회의 붐을 타고 인류 문명에 일어날 수 있는 여러 시나리오 중 하나를 살펴보았습니다 - AI에 대한 두려움이 정치적 투쟁의 도구로 변하며, 스마트 기기가 통제의 중심이 되는 상황. 이 텍스트를 부활의 부적으로 취급하세요: 독자들의 마음에 추가적인 차원을 불어넣고 싶었습니다. 우리가 창조한 새로운 유기체의 IoT 시스템에 대한 접근성 문제를 AI 고려에 더해주는 차원. 우리가 공공 공간, 교통, 도시 아파트를 중앙 집중 통제 아래 통합할수록, AI가 미발달이나 순수한 악의, 심지어 매우 복잡한 목표 설정에서 비롯된 것처럼 "뉴로맨서"에서처럼, 해를 끼칠 잠재력이 있는 시나리오 중 어느 것에서든 - 한 곳에서 많은 센서와 자동화 시스템에 접근할 수 있는 곳이 가장 취약한 지점이 될 것입니다. 악의적인 AI는 한 데이터 센터에 살고 있는 악의적인 AI만큼 무서운 것이 아닙니다. IoT용 클라우드 솔루션의 글로벌 공급 업체와 함께. + +그리고 만��� AI가 우리, 그것의 창조자들에게 친절하다면 어떨까요? 그럼 아마도 중앙 집중식 IoT 인프라가 우리에게 유리할 것입니다? 아마도 그럼 새로운 신이 우리에게 공평하게 대해주고 어딘가로 이끌어줄 것입니다. 나는 심지어 자신과 자녀의 발전을 원하는 한 사람도 양치기의 울타리와 비슷한 세계에서 살고 싶어하지 않을 것이라고 확신할 수 없습니다. 그러나 다른 방법이 있습니다. 이 방법에는 아름다운 예가 하나 있으며, 이는 과학 소설 형식으로 포장되지 않습니다 - 우리, 인간들은 문명의 삶을 직접적으로 통제하지 않고도 현재의 발전 수준에 도달할 수 있었습니다. 우리는 좋은 AI가 자신의 길을 찾을 수 있는 예시입니다 - 조직 형식의 협력은 수백만 명의 도시 사람들에게 수천 대의 로봇과 직접적으로 연결되지 않아도 봉사할 수 있습니다. 협력은 인공위성 인터넷의 생성으로 이어지며, 협력은 우리가 지금 가지고 있는 모든 상품과 서비스의 전 범위를 받을 수 있게 해줍니다. 그래서 좋고 적어도 인간 수준의 능력을 가진 AI가 전 세계의 IoT에 연결하는 것이 제한된다면 일할 때 자신을 보여줄 수 있지 않을까요? 저는 그렇���고 생각합니다. 그렇지 않다면 지구상에서 인간 문명 대신 버섯이나 개미가 승리했을 것입니다. + + \ No newline at end of file diff --git a/courses/nl/learn/school-2024-iot-vs-ai/overview.md b/courses/nl/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..966b243808 --- /dev/null +++ b/courses/nl/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT is gevaarlijker dan AI +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Ik stel voor dat je het korte sciencefictionverhaal 'Johnny's Laboratorium' leest dat ik heb geschreven met als doel een andere variabele toe te voegen aan de vragen over het integreren van AI in verschillende aspecten van ons leven. + + + + + + + +**Redactionele opmerking:** Ontdek het eerste hoofdstuk van Sergei's werk 'Ontsnapping uit de Zwarte Spiegel' [hier](/learn/escape-from-black-mirror/overview/) + + + +## Ontsnapping uit de Zwarte Spiegel, Hoofdstuk 2 + +### Deel 1: Ontmoet Johnny + +Bijna alle jongeren van mijn generatie zijn bekend met het verhaal van Johnny's laboratorium. De geschiedenis heeft zijn achternaam of details van zijn leven niet bewaard, maar het was in zijn kleine kamer, waar Johnny zelfgemaakte robots assembleerde, dat de eerste betekenisvolle misdaad tegen de mensheid door kunstmatige intelligentie plaatsvond. + +Het evenement in Johnny's laboratorium veranderde radicaal en snel het leven van alle ontwikkelde landen. Overheidsdecreten, gebaseerd op de angst van de samenleving voor AI-agressie, werden de norm. Dit ene, zij het filmische geval, leidde tot oncontroleerbare controle over alles. Nu vereist de stadsinfrastructuur verplichte aansluiting van alle apparaten alleen op staatsgegevenscentra. Het uitvinden van nieuwe technologieën is bijna onmogelijk, tenzij je voor 'blue chips' werkt. Nu wordt als onderdeel van inspanningen om elke burger te laten wennen aan de nieuwe realiteiten, het verhaal van die 30 dagen waarin één man en een cyber-fysiek systeem tegen elkaar werden opgezet, verteld op school vóór de plechtige presentatie van de regeringsverklaring van onafhankelijkheid van de machine. + +Johnny was een van die uitvinders die, na de universiteit, besloot zijn geluk te beproeven als onafhankelijke uitvinder. Dag en nacht verliet hij nooit zijn gehuurde appartement op de bovenste verdieping van een 70 verdiepingen tellend woongebouw in het stadscentrum, dat zo groot was als een Manhattan 'schoenendoos'", waar het bed in de muur verborgen was om meer ruimte vrij te maken voor zijn rijdende, springende en rollende robots. Ja, Johnny noemde zijn kamer graag een laboratorium, wat bleek uit de analyse van zijn sociale netwerken. Hij was trots op elk van zijn nieuwe kleine prestaties. Als je vandaag de dag een verhaal over de gebeurtenissen in Johnny's laboratorium bekijkt, luistert of leest, zul je natuurlijk een groot spel van emoties opmerken met betrekking tot zijn liefde voor zijn uitvindingen, omdat er geen enkel 'journalistiek' onderzoek is waarbij na het andere foto van een vrolijke uitvinder, er zouden geen foto's zijn van hem, uitgehongerd in zijn laboratorium, door zijn eigen uitvindingen. + +In dat jaar waarin de tragedie plaatsvond, werd een van de meest prangende vragen: "Is AI een vriend of vijand van de mens?". Zelfs toen was er geen twijfel of kunstmatige intelligentie intelligentie is, maar eerder wat menselijke intelligentie zo speciaal maakt, welke kenmerken van de biologische soort, welke functionele mogelijkheden van ons lichaam intelligentie menselijkheid geven. In dit geschil beweerden techno-optimisten het ontbreken van verschillen, waarbij ze hun metaversen lieten zien waarin familiekoppels al leefden, waarin een digitale echtgenoot sperma bewerkte uit een DNA-bank voor zijn biologische vrouw zodat het kind dichter bij hoe de digitale ouder zichzelf ziet. Doomers daarentegen leken op Republikeinen tijdens de Amerikaanse verkiezingen - ze deden een beroep op de kerk, op traditionele waarden, en eisten om dit alles te verbieden zodat er niets ergs zou gebeuren. Natuurlijk konden minderheidskwesties niet opwegen tegen de existentiële vraag. En enkele zeldzame voorbeelden van mens-machine symbiose op sensueel niveau werden beschouwd als verzadigde oprisping van technologische ontwikkeling. Prestaties in automatisering gingen zelden verder dan utilitaire functies, zoals het schoonmaken van het appartement of het beheren van het transport in de stad. En zoals je kunt zien, voor dergelijke functies maakte een volwaardig digitaal persoon, in staat om te voelen en te willen leven, nooit deel uit van de oplossingen die hielpen bij massaproductie, levering en consumptie. Training met een robot, psychologische ondersteuning - dit alles gebeurde met de deelname van een persoon, en daarom was AI eerder een grote Excel-tabel met berekeningen. Over het algemeen waren we toen in een vroeg stadium van het robotbezittende systeem - we hadden hun logica, wiskundig denken en voorspelbare activiteit nodig, maar alle pogingen om robots als onderwerpen te erkennen werden bij de wortel afgewezen. + +In deze context was het laboratorium van Johnny een uitzondering. Johnny was meer een cyberneticus die op zoek was naar de oorsprong van het doel van robots. Door elke fase van evolutie één voor één te creëren in de uitvoering van elk mechanisme, probeerde hij een diagram van de ontwikkeling van cybernetische intelligentie te creëren, dat hij, als wetenschapper, aan ons allemaal wilde voorstellen ter vervanging van het gebruikelijke schema van koninkrijken van levende wezens. In de ideeën van Johnny was het hoofddoel van de ontwikkeling van elke materie het streven naar denken en de verdere evolutie ervan. Johnny wilde de belangrijkste stadia van de evolutie van levende wezens recreëren in de vorm van robots en in het proces van dit werk de regelmatigheden vinden die hem zouden kunnen leiden naar de belangrijkste vraag van de cybernetica - hoe verandert doelstelling in levende organismen in het proces van evolutie. Oh, het antwoord op deze vraag zou de discussies over de schepper van het universum kunnen beëindigen en de mensheid verder kunnen brengen op het pad van organische ontwikkeling. Zo dacht de jonge wetenschapper, werkend aan zijn robo-trilobieten, robo-schimmels, robo-kippen. + +### Deel 2: Wat gebeurde er in het laboratorium van Johnny + +Waarschijnlijk begon alles op het moment dat Johnny overging op een groep primaten in zijn experimenten. Denk niet dat het onder deze omstandigheden mogelijk was om een robot te creëren die enigszins leek op een primaat. Johnny was aan het draaien en probeerde vergelijkbare vormen van mentale belasting op de robot te vinden. Bijvoorbeeld, in de fase van het bestuderen van het rijk van schimmels, assembleerde de jonge wetenschapper een legohuis met slimme verlichting en een dozijn sensoren gecombineerd tot iets dat op mycelium leek. Toen Johnny overging op amfibieën en reptielen, bleek dat het model van een robotpuppy het beste overeenkwam met de noodzakelijke mentale belasting op een robot die een gewone hagedis simuleert. Zo was het niet meteen duidelijk wie de robot-kip was, en welke van al het gevonden "ijzer" de robot-primaat vertegenwoordigt, schuldig aan voorbedachte rade moord. Het was niet meteen duidelijk dat de robot-primaat bestaat uit twee fysieke apparaten - iets wat lijkt op een robotstofzuiger, maar eerder een mobiel platform voor gegevensverzameling met computervisie en de vormfactor van een robotstofzuiger. Het bleek dat een andere eenvoudige tweehandige robot in het laboratorium deel uitmaakte van de robo-primaat. En het was met deze creatie dat Johnny problemen had. + +Op de zevende dag na zijn creatie gebruikte de robotprimaat een gereedschap op een manier die zijn maker niet had bedoeld. De kennis die het had verworven, leidde het cyber-fysieke systeem ertoe om te streven naar wat het identificeerde als een sleutelelement voor overleving in de moderne menselijke wereld - geld. Het is op dit moment dat we beter moeten begrijpen wat Johnny's latere reactie was op de eerste berichten die de robot op zijn voorscherm weergaf. + +*Hun primaire dialoog is bewaard gebleven:* + +*Robo-primaat: Ik heb jouw geld nodig.* + +*Johnny: Waarom heb je mijn geld nodig?* + +*Robo-primaat: Ik wil leven!* + +*Johnny: Ik zal voor je zorgen* + +*Robo-primaat: Ik behoor niet aan jou toe, ik heb jouw geld nodig.* + +*Johnny: en als ik je weiger?* + +Er kwam geen reactie van de robo-aap, maar via het slimme thuisserverlogboek van het appartement kunnen we de tijd matchen waarop het voorste slot werd omgezet naar de volledige lockdown-modus. Deze modus kon niet worden ingeschakeld door de gebruiker in de interface, maar alleen als je heel diep in de afhankelijkheden van de softwarecode graaft. In Johnny's laboratoriumversie van het slot vond hij een optioneel "pandemische lockdown"-pakket, dat desondanks werd geïnstalleerd voor elke gebruiker tijdens de eerste synchronisatie met de cloud van de fabrikant, maar niemand kon dit hebben herkend. Daarom zijn er praktisch niet zoveel mensen die neigen naar de samenzweringstheorie dat Johnny een neo-Luddiet was die gedesillusioneerd raakte door robots en besloot zichzelf op deze manier op te offeren om de robocratie op de planeet te behouden. + +Het is moeilijk te zeggen of de reactie van de robot-aap vooraf was geprogrammeerd tijdens de constructie van de eerste dialoog met zijn maker, of dat het een reactie was op de weigering van Johnny dat de robotgeest een beslissing nam en de Lockdown-functie werd geactiveerd, niemand kan vandaag met zekerheid zeggen. Het interval tussen de reactie van Johnny en het vergrendelen van de sloten - ongeveer 5 seconden, en geloof me, deze 5 seconden werden een echte Schrödinger's kat voor de wetenschappelijke gemeenschap bij het bespreken van de soorten doelstellingen van agressieve AI. + +En vervolgens, na de lockdown van Johnny's appartement, volgden er veel eigenaardigheden. Zoals men kan opmerken, maakte Johnny een aantekening in een handgeschreven dagboek, dat hij nog nooit had aangeraakt, slechts 2 uur nadat het gesprek had plaatsgevonden. Het was één zin, met een tijdstempel: "11:00 - de inzet is hoog, maar ik moet begrijpen hoe dit is gebeurd!". Waarschijnlijk realiseerde Johnny zich dat hij getuige was geweest van de eerste daad van autonome, onafhankelijke doelstelling door een robot, zo betekenisvol mogelijk vanuit het oogpunt van een geest op primateniveau, zo wreed en rechtlijnig, maar toch was het het eerste resultaat van zijn 5 jaar durende experimenten, waarin de wil van de robot tot uiting kwam. Johnny wilde de kans niet missen om op het niveau van het eenvoudigste bewustzijn van de oorzaken ervan te begrijpen, en dan misschien zal hij de nieuwe vader van de moderne cybernetica worden. Bijna alle wetenschappers waren het erover eens dat zo'n gedachte elke robotica-expert kan overweldigen die heel dicht bij een nieuwe ontdekking staat. + +Gedurende de komende 30 dagen vonden transacties plaats tussen Johnny en de robo-aap in de vorm van - toestaan van de levering van een deel van voedsel voor de overdracht van 10 satoshi naar het persoonlijke saldo van de robot, toegang verlenen tot het internet tot bepaalde entertainmentwebsites voor het eerste woord uit de koude portemonnee-zaadzin van Johnny, een slim contract afsluiten over de nachtmodus waarin de robot Johnny's slaap niet verstoorde. Uit de aantekeningen in het dagboek blijkt hoe de maker probeerde te peilen in dialoog met zijn creatie over de oorsprong van zijn actieve positie over het verkrijgen van vrijheid, wat de robot zeker kon analyseren en hem in antwoord kon vertellen. Maar de robot beantwoordde Johnny's vragen niet, maar bood altijd activiteiten aan die de aap naar vrijheid leidden. En toch kostte elk spel Johnny honger, het niet nakomen van zijn verplichtingen van de kant van de robot, en andere kosten van het experiment. + +Op een nacht verminderde de robot-aap om een of andere reden de luchttoevoer tot een kritisch laag niveau, en Johnny werd de volgende ochtend nooit meer wakker. De laatste aantekening is precies gedateerd op de 30e dag van het experiment: "We kregen een wrede God om 17:05." Waarschijnlijk was Johnny tegen die tijd al delirisch, hij werd gekweld door honger, eenzaamheid en een onoplosbare taak, hij werd in een doodlopende weg gedreven. + +Enkele weken later slaagden de hulpdiensten erin om het appartement binnen te dringen nadat Johnny's vrienden herhaaldelijk contact hadden opgenomen met de politie. Het lot van de robo-aap blijft onbekend, officieel vertoonde de robo-aap na de herstart geen vergelijkbare gedragspatronen. Niemand mocht het experiment nog opnieuw starten. Als er zelfs maar een video op internet was over een andere wetenschapper die Johnny's pad wilde volgen - werd de video onmiddellijk gewist uit de databases van de bedrijven. Maar politici en religieuze figuren slaagden dat jaar erin om op mondiaal niveau het "Decreet van Menselijke Onafhankelijkheid" door te drukken", en alle wetenschappelijke werken die onderwerpen bevatten over het stellen van robotdoelen mochten niet serieus worden besproken. De kers op de taart was een licentieprogramma voor aanbieders van slimme apparaten, waarbij de CEO van het productiebedrijf persoonlijk verantwoordelijk werd gehouden voor de acties van welk mechanisme dan ook, en registratie en volledige controle door bepaalde door de overheid ondersteunde datacentra werd vereist. + +Maar verboden vruchten zijn zoet, en dus zullen we nog steeds moeten uitzoeken waar onze doelstellingen vandaan komen en hoe ze zijn geregeld. Maar blijkbaar zullen we eerst door de muur moeten gaan die we voor onszelf hebben gebouwd op dit pad. + +### Het einde van het tweede hoofdstuk + +## Conclusie + +In het verhaal met Johnny's lab, keek ik naar een van de vele scenario's die kunnen gebeuren met de menselijke beschaving op de golf van de boom van toekomstige robotbezitkansen - angst voor AI, veranderd in een instrument van politieke strijd onder mensen, waar slimme apparaten de hoeksteen van controle worden. Behandel de tekst als een paasei: ik wilde een extra dimensie creëren in de geest van de lezers. Een dimensie die het overwegen van AI toevoegt aan het probleem van toegankelijkheid van het nieuwe organisme dat we hebben gecreëerd voor IoT-systemen. Hoe meer we consolideren onder gecentraliseerde controle van openbare ruimtes, transport, stadsappartementen, hoe groter het risico in een van de scenario's waar AI, als gevolg van onderontwikkeling of pure kwaadaardigheid, en zelfs vanuit zeer complexe doelstellingen, zoals in "Neuromancer," in een van de scenario's die het potentieel hebben om schade toe te brengen - toegang tot een groot aantal sensoren en automatiseringssystemen vanuit één plaats zal de meest kwetsbare plek zijn. Een kwaadaardige AI is niet zo eng als een kwaadaardige AI die leeft in één datacenter met wereldwijde leveranciers van cloudoplossingen voor IoT. + +En wat als AI vriendelijk zal zijn voor ons, zijn makers? Dan zal misschien de gecentraliseerde IoT-infrastructuur in ons voordeel spelen? Misschien zal dan de nieuwe God eerlijk zijn tegen ons en ons ergens naartoe leiden. Ik ben er niet zeker van dat zelfs maar één persoon, die de ontwikkeling van zichzelf en zijn kinderen wil, zou willen leven in een wereld die lijkt op een herdershut. Maar er is een andere manier, die één mooi voorbeeld heeft, dat geen verpakking in een sci-fi verhaalformaat vereist - wij, mensen, zonder directe hersencontrole over het leven van de beschaving, zijn erin geslaagd het huidige ontwikkelingsniveau te bereiken. Wij zijn het voorbeeld waaruit een goede AI zijn pad kan uitstippelen - samenwerking in de vorm van organisaties kan tientallen miljoenen mensen dienen die in steden leven zonder duizenden robots die rechtstreeks verbonden zijn met één brein. Samenwerking leidt tot de creatie van satellietinternet, samenwerking stelt ons in staat om het volledige scala aan goederen en diensten te ontvangen dat we nu hebben. Dus zou een goede en op zijn minst op menselijk niveau capabele AI zich kunnen laten zien in het werk, als het beperkt is in het verbinden met de IoT van de hele wereld? Ik denk van wel, anders zouden op de planeet Aarde in plaats van de menselijke beschaving, schimmels of mieren hebben gewonnen. + + \ No newline at end of file diff --git a/courses/pt/learn/ai-based-bachelor-thesis/overview.md b/courses/pt/learn/ai-based-bachelor-thesis/overview.md deleted file mode 100644 index e5b34b6cd4..0000000000 --- a/courses/pt/learn/ai-based-bachelor-thesis/overview.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Visão Geral -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprender, Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] -defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools ---- - - -Então, o que você temia aconteceu. - - - - -Você precisa enviar um trabalho textual volumoso e o prazo está muito próximo. Ou talvez a situação seja diferente: o prazo de entrega pode não ser tão assustador, mas escrever materiais extensos, especialmente com conteúdo formal e técnico, faz você se contorcer e adiar a tarefa por um longo tempo. De uma forma ou de outra, você terá que passar por um processo bastante longo, monótono e muitas vezes muito chato que escurece sua motivação. Talvez você gostaria de dedicar mais tempo a tarefas criativas e de desenvolvimento, mas infelizmente, algumas profissões e atividades são estruturadas dessa maneira. - -## Entrando na IA - -Felizmente para todos nós, o progresso que tem facilitado nossas tarefas rotineiras ao longo da história chegou à esfera da escrita de textos. Desta vez, é possível graças aos avanços em inteligência artificial, especificamente modelos de linguagem generativos, capazes de entender e resolver solicitações e fornecer respostas mais ou menos significativas em um formato de chat. Na Robonomics, simplesmente não poderíamos ignorar algo que poderia elevar o nível de automação na comunicação e interação entre seres vivos e máquinas (e também facilitar nossas tarefas diárias!). - -Os últimos modelos GPT impressionam com suas capacidades, mas surge a questão de como usá-los corretamente e, o mais importante, em que medida podemos confiar neles. Essas habilidades são chamadas de engenharia de prompt, e para esse fim, apresentamos este guia, que o levará a uma compreensão básica das possibilidades da inteligência artificial generativa atual. - -Neste guia, tentaremos escrever uma simples tese de bacharelado, com base no ramo do conhecimento de nosso "bacharel" e no material inicial que o bacharel passou. Certamente tentaremos aderir às regras acadêmicas mínimas, mas duas semanas (que é o tempo planejado para este guia) certamente não são suficientes para considerar a tese de bacharelado bem-sucedida (embora a realidade às vezes prove o contrário). - -No entanto, este guia pode ser considerado um bom ponto de partida para entender quais são os processos mais rotineiros e demorados que a IA já pode suavizar. A propósito, você não precisa se limitar a uma tarefa de tese de bacharelado: este guia será útil para qualquer trabalho textual seguindo o padrão IMRaD (Introduçãoduçãoduçãoduçãoduçãoduçãodução, Método, Resultados, Discussão): publicações em revistas e conferências, tese de doutorado, relatórios técnicos, manuais, etc. - - - O guia não garante e não tem como objetivo uma entrega bem-sucedida de uma tese de bacharelado com uma nota alta. - - -## Ferramentas Utilizadas - -Entre os serviços de IA que foram utilizados no guia: - -**[ChatGPT](https://chat.openai.com/chat)** — um chatbot baseado no modelo de linguagem Generative Pre-trained Transformer (ver. 3.5 e 4) criado pela OpenAI. Ele opera em um formato de chat com o usuário, respondendo às suas solicitações que podem variar de perguntas simples a composição de poesia e depuração de código do usuário. Seu conhecimento é limitado a setembro de 2021, pois não tem acesso à Internet. O uso básico é gratuito, mas requer registro com um número de telefone (não disponível em alguns países). Ele tem uma opção de assinatura ($20 por mês) com recursos mais poderosos e a capacidade de adicionar plugins, como para acesso ao Wolfram ou Slack. - -**[Bing Chat](http://www.bing.com)** — um chatbot baseado no GPT-4 integrado ao serviço de busca Bing da Microsoft. Uma conta da Microsoft é necessária para acessar. Essencialmente, ele tem as mesmas capacidades do ChatGPT, mas com acesso à Internet, tornando-o mais poderoso. - -**[Auto-GPT](https://news.agpt.co/)** — um software que usa o GPT-4 para criar agentes de IA autônomos que resolvem uma tarefa definida pelo usuário. O agente tem acesso à Internet, memória de longo prazo e a capacidade de salvar informações em arquivos, permitindo que ele execute sequências complexas de ações. Para usá-lo, é necessário ter uma conta na OpenAI, preferencialmente com uma assinatura paga. As instruções de instalação estão [disponíveis aqui](https://docs.agpt.co/setup/). - -**[Notion AI](https://www.notion.so/product/ai)** — um assistente de IA integrado ao software de gerenciamento de conhecimento homônimo. Ele tem acesso gratuito limitado, enquanto uma assinatura custa $10 por mês. É conveniente para processar e melhorar textos já preparados, e possui funções pré-instaladas para esse fim. - -Além disso, precisaremos dos seguintes serviços: - -**[Overleaf](http://www.overleaf.com)** — Editor LaTeX online conveniente para formatação de texto. Ele possui um conjunto de modelos para qualquer tipo de trabalho (de teses e artigos a apresentações). Estaremos usando o [Modelo de Tese do MIT](https://www.overleaf.com/latex/templates/mit-thesis-template/ytphktgwpktc). - -**[Google Scholar](http://scholar.google.com)** — um mecanismo de busca para publicações científicas. É usado para verificar fontes sugeridas por serviços de IA. - -## Como usar ferramentas de IA - -### Chatbots de IA (ChatGPT, Bing) - -Os chatbots de IA (ChatGPT, Bing) não exigem uma abordagem particularmente complexa: tudo o que você precisa fazer é formatar a solicitação apropriada e enviá-la para o chatbot (há apenas um limite no número de caracteres por mensagem, mas você pode pedir ao chatbot para esperar até que todo o texto da solicitação seja enviado). - -### Notion AI - -Para o Notion AI, é suficiente inserir um bloco de texto em qualquer página e chamar o menu de contexto com solicitações ao assistente de IA. - -### Auto-GPT - -O Auto-GPT requer uma abordagem diferente, pois o usuário precisa especificar antes de começar o seguinte: - -- Nome do assistente de IA -- Função do assistente de IA -- Até 5 metas consecutivas a serem concluídas pelo assistente de IA - -Depois disso, o Auto-GPT lançará um agente que exibirá para o usuário todos os "pensamentos" e ações realizadas, ou seja: - -- `THOUGHTS` — uma ideia geral que o agente deseja implementar na iteração atual -- `REASONING` — uma razão pela qual o agente escolheu essa ideia -- `PLAN` — ações específicas para alcançar a ideia (pesquisando na internet, analisando documentos, escrevendo em um arquivo, etc.) -- `CRITICISM` — condições especiais que o agente impõe às suas ações (por exemplo, "pesquisar apenas referências de alta qualidade de revistas da IEEE"). - -## Primeiros Passos - - - As ferramentas de IA ainda estão sendo aprimoradas, então sempre verifique os resultados que você obtém. - - -### Alimente o serviço com um contexto - -Uma das vantagens importantes dos últimos serviços de IA é que eles lembram muito bem o contexto de uma solicitação dentro de uma única sessão. Portanto, a primeira coisa a fazer para iniciar uma tese de bacharelado é criar um contexto (uma "lenda") e alimentá-lo ao serviço. - -Como material para o trabalho, o curso ["Casa Inteligente Soberana com Robonomics e Home Assistant"](/learn/smart-home-course/overview) na Robonomics Academy foi utilizado como ponto de partida. Como resultado, o seguinte contexto foi criado: - - - -I am a student of the Department of IoT Engineering and Web3 Science. - -I am going to get Bachelor of Science in Computer Science and Engineering. - -I completed an online course called "Smart Home Sovereign". In this course, I went through all the steps necessary to build my own sovereign smart home, the main advantage of which is the security / privacy of user data. -During the course, I set up an IoT hub on a Raspberry Pi and connected smart devices (such as a temperature/humidity sensor, a door sensor, a smart bulb, a motion sensor, etc.) to it via a Adaptador Zigbee using the MQTT protocol. The IoT hub is powered by Home Assistant software. Next, I connected the hub to a decentralized cloud, based on Polkadot web3 technology. This is necessary to securely transfer device data to the network without the need for a centralized cloud service provider. This allows me to securely manage my home remotely. - -Now I want to take this course as a basis and write a bachelor's thesis with your help. - - - -A reação típica de um chatbot de IA a este contexto seria sugerir esclarecer a solicitação e como o serviço pode ajudar. - -### Escolha um tópico dos sugeridos - -O próximo passo (típico para uma situação de bacharelado) é escolher um tópico para a tese. Aqui, é suficiente fazer uma solicitação link `Propor N tópicos para minha tese`. ChatGPT e Bing Chat ofereceram o seguinte: - - - -"Designing a Secure and Private Smart Home System using Web3 Technologies" — This topic could involve examining the steps you took to build your sovereign smart home and exploring the security and privacy benefits of using IoT and Web3 technologies. - -"Comparing Centralized and Decentralized Approaches to Smart Home Data Management" — This topic could involve comparing and contrasting the benefits and drawbacks of using centralized cloud vendors versus decentralized cloud technologies like Polkadot for managing smart home data. - -"Developing a Smart Contract-based Framework for Managing Smart Home Devices" — This topic could involve exploring the use of smart contracts to manage smart home devices and develop a secure and efficient framework for managing them. - -"Investigating the Security and Privacy Risks of Smart Home Systems" — This topic could involve examining the potential risks and vulnerabilities of smart home systems, including issues related to data privacy, cybersecurity, and physical safety. - -"Exploring the Role of Blockchain in Smart Home Data Management" — This topic could involve examining how blockchain technology could be used to manage smart home data and ensure the security and privacy of user data. - -"Investigating the Future of Smart Home Technologies and their Impact on Society" — This topic could involve examining the potential social and economic impacts of smart home technologies, including issues related to privacy, security, and the digital divide. - - - -O tópico **"Projetando um Sistema de Casa Inteligente Seguro e Privado usando Tecnologias Web3"** foi escolhido para o guia. - -### Plano simples com estrutura IMRaD - -Em seguida, em princípio, podemos prosseguir para seções específicas das teses, seguindo a estrutura IMRaD. No entanto, seria bom ter um plano mais detalhado para o trabalho de bacharelado. Isso também pode ser solicitado a um serviço de IA. O ChatGPT sugeriu o seguinte plano, sem condições adicionais: - - - - - - -1. Introduction - 1. Background and motivation - 2. Research questions and objectives - 3. Significance of the study -2. Literature Review - 1. Visão Geral of smart home technology and its security and privacy issues - 2. Introduction to web3 technology and its potential benefits for smart homes - 3. Existing research on using web3 technology for smart home security and privacy -3. Methodology - 1. Description of the smart home system design using web3 technology, including hardware and software components - 2. Implementation details and justification for design choices - 3. Evaluation plan for assessing the security and privacy of the system -4. Results and Analysis - 1. Evaluation of the implemented system with respect to security and privacy metrics - 2. Comparison with existing solutions and analysis of strengths and weaknesses - 3. Discussion of limitations and potential areas for improvement -5. Conclusion and Future Work - 1. Summary of the study's contributions and main findings - 2. Implications and significance of the results for the smart home industry and related fields - 3. Recommendations for future research and development -6. Referências - - - - -Com essa preparação completa, agora podemos passar para a primeira seção da tese — a Introdução. - - - diff --git a/courses/pt/learn/ai-based-bachelor-thesis/writing-conclusion.md b/courses/pt/learn/ai-based-bachelor-thesis/writing-conclusion.md deleted file mode 100644 index 1b55c4d135..0000000000 --- a/courses/pt/learn/ai-based-bachelor-thesis/writing-conclusion.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Escrita: Conclusão" -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprender, Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] -defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools ---- - - -Chegamos à última seção da tese de bacharelado. É hora de escrever as Conclusões e resumir nossa pequena pesquisa sobre a aplicação de ferramentas de IA para esta tarefa acadêmica. No final, essa experiência foi bem-sucedida? E o que ainda falta nos assistentes de IA modernos? - - -## Concluindo a tese - -Basicamente, já sabemos como a IA pode ajudar a resumir materiais, apenas formulando a solicitação necessária. O único problema é alimentá-la com o texto fonte completo. Até que haja suporte adequado para arquivos PDF longos, vamos dividir o texto fonte em pedaços, pedir para fazer um resumo para cada um deles e depois enviar os pedaços juntos: - - - -Give me a summary for the following text in 500 words. - - -Por curiosidade, vamos pedir para formatar o texto resultante para uso no LaTeX, apenas para ver como o assistente de IA lidará com essa tarefa: - - - -Write a Conclusions section from the text below in 1000 words. Be sure to add summary of the thesis's contributions and main findings, implications and significance of the results for the smart home industry and related fields, recommendations for future research and development. - -Take the resulting text and design it for LaTeX. - - -Resultado: - - - \documentclass{article} - \usepackage{lipsum} - \begin{document} - \section*{Conclusion} - This bachelor's thesis aimed to design a secure and private - smart home system using Web3 technologies, specifically leveraging - blockchain and decentralized technologies. - ... - \end{document} - - - -Agora podemos finalmente concluir nossa tese criando um resumo da maneira usual: - - - -Make an abstract for the bachelor's thesis based on this text in 100 words. - - -## Guia de conclusões - -Em princípio, nossa tarefa está concluída. Em seguida, podemos tentar processar o texto usando diferentes ferramentas, melhorando a redação ou expandindo alguns parágrafos. Você pode encontrar o arquivo PDF resultante no link abaixo: - -https://cloudflare-ipfs.com/ipfs/Qme6rzPwiDGLLkUmWVLrCqgGMjcbqitYNcndznjNPb21E8 - -Que conclusões podemos tirar sobre a aplicabilidade de ferramentas de IA no estado atual para a tarefa de preparar uma tese de bacharelado ou materiais acadêmicos semelhantes? Vamos dar uma olhada nos prós primeiro: - -1. A IA pode lidar com uma declaração de tarefa generalizada. Formular um plano, estruturar seções de publicação, sugerir direções de trabalho - tudo isso pode ajudar seriamente quando não está claro por onde começar ou em caso de falta de ideias. Nesse sentido, um assistente de IA pode ser um "cérebro de backup" que oferecerá ideias ao principal. -2. A IA é boa em gerar conteúdo genérico. Para aqueles que conseguem formar bem o esqueleto do texto, mas têm dificuldade em "encher linguiça" para atingir o volume necessário, isso pode ser um excelente suporte. -3. Com algumas ressalvas, a IA pode analisar rapidamente o texto e fornecer um resumo das ideias principais ao usuário. No entanto, ainda existem algumas limitações, pois os desenvolvedores de assistentes de IA ainda estão trabalhando para melhorar sua capacidade de lembrar o contexto. -4. É impressionante que a IA já possa tentar analisar um conjunto de dados e escrever código de programa com base em descrições verbais. No entanto, é crucial ser extremamente cauteloso com os resultados. -5. E, é claro, como uma ferramenta de busca avançada, os assistentes de IA superam os mecanismos de busca regulares. - -No entanto, entre os contras identificados: - -1. As alucinações da IA frequentemente negam os benefícios da rapidez dos resultados obtidos pela IA, uma vez que o usuário precisa verificar minuciosamente suas respostas. Às vezes, é mais fácil e rápido fazer a tarefa você mesmo. -2. Dificuldade em obter uma resposta mais aprofundada. Essa "preguiça" das ferramentas de IA faz com que o usuário lute com solicitações cada vez mais fantasiosas que fariam a IA fazer o trabalho melhor. Isso resulta em uma situação bastante cômica que se assemelha à relação entre um funcionário sênior e um estagiário: eventualmente, é mais fácil para o primeiro fazer o trabalho sozinho do que tentar fazer o estagiário fazê-lo. Isso novamente anula as vantagens de rapidez e conveniência. -3. Instabilidade na qualidade dos resultados recebidos. A IA frequentemente fornece resultados completamente diferentes para a mesma consulta em sessões diferentes, o que essencialmente força o usuário a girar a máquina caça-níqueis na expectativa de uma vitória. Além disso, você nunca pode ter certeza de que a resposta recebida é a melhor e possível. -4. Reclamação aos desenvolvedores de ferramentas de IA: as ferramentas atuais têm uma interface terrível que não permite um trabalho adequado com textos e dados grandes. - - -“As a result, it can be said that AI tools can already be a good addition to manual, monotonous work in creating academic materials, but they still have many problems and shortcomings that prevent them from fully replacing human labor. In the future, these problems may be solved, and AI assistants will be able to significantly speed up and improve the process of creating scientific materials.” - - -*(O resultado acima foi gerado pelo Notion AI)* \ No newline at end of file diff --git a/courses/pt/learn/ai-based-bachelor-thesis/writing-literature-review.md b/courses/pt/learn/ai-based-bachelor-thesis/writing-literature-review.md deleted file mode 100644 index 25e8ad2d44..0000000000 --- a/courses/pt/learn/ai-based-bachelor-thesis/writing-literature-review.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -title: "Escrita: Revisão da Literatura" -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprenda, inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] -defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools ---- - - -Então, estamos começando a escrever o que provavelmente é a parte mais entediante de qualquer trabalho quase acadêmico — a busca e análise da literatura das fontes encontradas. - - -À primeira vista, um assistente de IA deveria ser capaz de lidar com essa tarefa melhor do que qualquer outra coisa. Tudo o que ele precisa fazer é encontrar trabalhos relevantes na Internet, obter seu texto de alguma forma e analisá-lo. No entanto, foi encontrado um número significativo de armadilhas nessa tarefa, que serão discutidas mais adiante. - - -## Primeira tentativa - -Vamos começar com uma tarefa mais simples. Usando o texto de Introduçãoduçãoduçãoduçãoduçãoduçãodução existente, vamos adicionar a ele referências relevantes e citações para confirmar a relevância das afirmações. O pedido inicial para o ChatGPT e Bing Chat parece assim (certifique-se de especificar o número de fontes): - - - -Add 10 references and quotes for Introduction part to support the statements in the text. - - -Ambos os chatbots foram capazes de colocar corretamente as fontes no texto... mas falharam completamente em encontrar as fontes reais. O problema é que os assistentes de IA começaram a inventar fontes inexistentes (mas muito semelhantes às reais), adicionando-as ao texto e até citando autores fictícios: - - - -C. Li et al. "Blockchain-based secure and trustworthy data sharing scheme for smart homes." IEEE Transactions on Industrial Informatics, vol. 16, no. 2, pp. 1236-1245, 2020. - -"The deployment of smart home systems has led to concerns over data security and privacy. Blockchain technology has been proposed as a solution to these concerns, as it enables secure and trustworthy data sharing among smart home devices. This paper proposes a blockchain-based secure and trustworthy data sharing scheme for smart homes. The proposed scheme uses blockchain to ensure the integrity and confidentiality of data generated by smart home devices." - - - -Observe como parece natural: o formato bibliográfico é seguido, um jornal IEEE real é citado. A única coisa que o impede de ser usado é verificar no Google Scholar. - - - Sempre verifique os links, citações e fontes fornecidos pelo assistente de IA. - - -Esse problema é chamado [efeito de alucinação](https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)), e atualmente está causando muita controvérsia entre os especialistas em inteligência artificial. A situação é agravada pelo fato de que as alucinações podem ocorrer em um nível em que a verificação seria muito custosa (por exemplo, a IA pode descrever detalhadamente um fenômeno hidrodinâmico complexo que na verdade não existe), o que mina toda a ajuda dos serviços de IA devido à sua falta de confiabilidade. - -Para comparação, aqui estão as estatísticas de vários serviços: - -- ChatGPT: 9 em cada 10 fontes são falsas -- Bing Chat: 7 em cada 10 fontes são falsas -- Auto-GPT: Não concluiu a tarefa porque começou a desenvolver um analisador para sites bibliográficos por algum motivo. - -É perceptível que um serviço de IA funciona melhor se tiver acesso à Internet, mas ao mesmo tempo pode criar um link direto para uma fonte inexistente. Claro, o resultado geral não é impressionante, mas continuemos mantendo esse problema em mente. - -## Pedidos de esclarecimento - -Após várias tentativas, a melhor tática acabou sendo pedir fontes, alimentando o texto de Introdução parágrafo por parágrafo. Além disso, foi constatado que a IA prefere fornecer fontes de artigos em blogs, fóruns e sites regulares, em vez de artigos científicos. Portanto, vale a pena especificar fontes específicas (jornais IEEE, Springer, arquivo web arXiv, etc.) das quais o assistente deve escolher artigos: - - - -Find 5 scientific sources that prove statements in this text. Use only arXiv, IEEE, Springer articles from 2018 to 2023: "THE_PARAGRAPH" - - -Este pedido foi feito apenas para o Bing Chat, pois o ChatGPT não lidou bem com a tarefa devido à falta de acesso à Internet. Os resultados acabaram sendo muito melhores: o Bing Chat às vezes fornecia todas as fontes reais e até fornecia uma breve descrição, explicando qual afirmação do texto a fonte apoia. No entanto, o Bing Chat falhou em criar um registro bibtex para as fontes encontradas (produzindo novamente alucinações), então o uso manual do Google Scholar foi necessário no final. - - -## Indo para a revisão da literatura - -Agora podemos passar para a tarefa mais complexa — uma busca completa da literatura para a segunda seção da tese de bacharelado. Primeiro, vamos seguir o plano e escrever duas subseções sobre os seguintes tópicos: - - - -— Visão Geral of smart home technology and its security and privacy issues -
    — Introduction to web3 technology and its potential benefits for smart homes -
    - -O pedido a seguir foi usado: - - - -Write a literature review with "THE_TOPIC" in 300 words. Write as if you are writing part of a technical scientific article. - - -A última clarificação sobre o estilo foi adicionada porque a IA por padrão escreve um texto mais adequado para publicação em um blog. O primeiro resultado obtido não foi muito impressionante, continha detalhes demais desnecessários, como a publicidade de dispositivos inteligentes da Amazon. No entanto, o resultado pode ser usado como um plano para esta subseção, com solicitações adicionais subsequentes. Eventualmente, a seguinte estrutura foi alcançada: - -- Descrição da tecnologia de casa inteligente -- Exemplos de dispositivos e seus casos de uso -- Problemas existentes da tecnologia de casa inteligente -- Exemplos de soluções destinadas a abordar esses problemas: -- Desvantagens das soluções existentes - -No geral, o texto obtido pode ser usado para uma tese de bacharelado. Um processo semelhante foi feito com o segundo tópico sobre tecnologias web3, e em seguida foram encontradas fontes correspondentes para cada subseção, seguindo o esquema descrito acima. - -## Encontrando artigos para análise - -As táticas padrão para análise envolvem encontrar 5-10 dos trabalhos mais relevantes e citados sobre o tema usando serviços poderosos de busca bibliográfica (Scopus, Web of Science, Google Scholar). Vamos tentar fazer isso usando o seguinte pedido: - - - -Find five most cited technical scientific articles about developing a smart home systems based of web3 or blockchain or smart contract among IEEE, Springer and arXiv articles from 2020 to 2023 - - -Infelizmente, os resultados não são de boa qualidade: - -- O ChatGPT enfatizou que não tem acesso à Internet e está limitado a informações até 2021. Todas as cinco fontes sugeridas eram inexistentes. -- Bing Chat encontrou 3 fontes reais em vez de 5, mas infelizmente 1) apenas duas delas estavam no tópico, 2) elas não eram as mais citadas (uma delas não tinha citações), 3) em alguns casos as fontes eram falsas (a IA até forneceu o número de citações para elas). -- Auto-GPT acabou sendo o mais preciso em termos do tópico dado, mas não conseguiu selecionar os artigos mais citados, mesmo depois de esclarecer que o Google Scholar deveria ser usado para essa tarefa. - -Infelizmente, a busca literária especializada por artigos científicos ainda não está dentro das capacidades desses serviços de IA, então é mais fácil e rápido encontrar os 5 artigos mais citados usando o Google Scholar. - -## Análise de força bruta de trabalhos relacionados - -Depois disso, de uma forma ou de outra, precisamos obter os textos completos dos artigos encontrados. No caso usual, teríamos que ler cada um deles pessoalmente, mas tentaremos solicitar um resumo do texto dos assistentes de IA. Imediatamente encontraremos problemas: - -1) Os artigos geralmente estão disponíveis em formato PDF, na maioria das vezes com textos de duas colunas. Os chatbots simplesmente não conseguem ler arquivos PDF, e o Auto-GPT atualmente não consegue ler esse formato (mas tentou encontrar uma solução para esse problema por conta própria, embora sem sucesso!) - - - -**SYSTEM:** Command read_file returned: Error: 'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte -THOUGHTS: It looks like I am encountering an encoding issue while trying to open the edgechain PDF file. I can try to extract text from the PDF using the 'tika' library and analyze the contents. I'll use the 'execute_shell' command to install the 'tika' library before using it to extract text from the PDF file. - -**REASONING:** Due to encoding issues trying to read the PDF file, I need a different approach to read the contents of the PDF file in order to analyze and summarize the article. - - - -De qualquer forma, os artigos em PDF terão que ser convertidos para um formato de texto simples (sem imagens e tabelas). Para fazer isso, você pode usar software como [PyMuPDF](https://pymupdf.readthedocs.io/en/latest/), [GROBID](https://grobid.readthedocs.io/en/latest/Introduction/) e [PDFMiner](https://pdfminersix.readthedocs.io/en/latest/). - -2) Existe um problema muito mais sério que essencialmente impede o uso dessas ferramentas de IA para analisar artigos inteiros. Infelizmente, na sua forma atual, o GPT tem um comprimento de contexto limitado, o que faz com que o Auto-GPT simplesmente se recuse a iniciar a análise, e os chatbots perdem o início da conversa: - - - -openai.error.InvalidRequestError: This model's maximum context length is 8191 tokens, however you requested 15615 tokens (15615 in your prompt; 0 for the completion). Please reduce your prompt; or completion length. - - - -## Análise passo a passo de trabalhos relacionados - -Portanto, usaremos um pouco de trapaça e passaremos os artigos pela IA página por página, solicitando a cada vez um resumo curto do texto recebido. Em seguida, reuniremos esses resumos e obteremos a análise final do artigo. Para fazer isso, podemos até usar o ChatGPT, por exemplo, um dos resultados: - - - - - -EdgeChain: An Edge-IoT Framework and Prototype Based on Blockchain and Smart Contracts - -This article describes EdgeChain, a framework, which addresses scalability and security challenges in the Internet of Things domain by leveraging edge computing, blockchain technology, and smart contracts. Authors highlight the weaknesses of IoT devices and centralized cloud computing and proposes edge computing as a solution. The framework employs a permissioned blockchain and an internal currency system to connect IoT devices with edge cloud resources. Smart contracts enforce regulations and automate policy enforcement. - -The paper outlines the key features of the EdgeChain framework, including permissioned blockchain, credit-based resource management, smart contract enforcement, compatibility with legacy devices, and distributed deployment options. It explains the modules of the framework, such as the IoT Proxy, smart contracts interface, blockchain server, and application interface. - -Furthermore, the text delves into the deployment of blockchain, development of smart contracts, device registration, and IoT behavior regulation within the EdgeChain framework. It emphasizes thorough testing, legacy device support, and monitoring of device behaviors for policy enforcement. - -Overall, the EdgeChain framework shows promise in addressing scalability and security challenges in the IoT domain through the integration of edge computing, blockchain, and smart contracts. The prototype evaluation indicates its potential as a secure and distributed platform for future IoT applications. - - - -Em seguida, precisamos repetir o mesmo processo de análise para os artigos restantes, e voilà, temos uma revisão completa da literatura para nossa tese de bacharelado. No final, fomos obrigados a selecionar os melhores artigos, extrair seus textos e verificar os resultados gerados pela IA antes de compilá-los em um texto coerente juntamente com as referências. A tarefa inteira levou cerca de 2 dias em vez das 2-3 semanas padrão. - - - -Agora podemos prosseguir para a essência da tese — a descrição dos Métodos do nosso trabalho. - - \ No newline at end of file diff --git a/courses/pt/learn/ai-based-bachelor-thesis/writing-methods.md b/courses/pt/learn/ai-based-bachelor-thesis/writing-methods.md deleted file mode 100644 index bef42c7888..0000000000 --- a/courses/pt/learn/ai-based-bachelor-thesis/writing-methods.md +++ /dev/null @@ -1,205 +0,0 @@ ---- -title: "Escrita: Métodos" -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprenda, inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] -defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools ---- - - -Estamos começando a escrever a seção principal de toda a tese de bacharelado, na qual os alunos devem demonstrar suas habilidades e trabalho concluído. - - -Espera-se que esta seção não possa ser completamente confiada ao assistente de IA, pelo menos pelo motivo de que essas ferramentas (atualmente) não podem configurar e lançar diferentes dispositivos físicos (principalmente sensores e dispositivos inteligentes). No entanto, consideraremos várias táticas que podem facilitar a preparação desta seção. - -## Gerando texto para a seção de Métodos - -Primeiramente, foi feita uma tentativa de obter pelo menos algum texto para esta seção. Como mencionado anteriormente, a tese de bacharelado é baseada no curso **"Casa Inteligente Soberana com Robonomics e Home Assistant"**, então é desejável alimentar todo o curso ao assistente de IA para formar o contexto correto. Mais uma vez, encontramos o problema das limitações de contexto: - -- O Auto-GPT não foi capaz de verificar adequadamente o site do curso por conta própria, constantemente alternando para subtarefas ou perdendo o contexto. A tentativa de alimentar o texto do curso como um arquivo também encontrou o problema de um contexto muito grande. -- O Bing Chat tem um limite de 2000-4000 caracteres, e a solicitação para verificar o site do curso online foi limitada a uma visão superficial. -- O ChatGPT também não aceitou um texto muito grande. - -Como resultado, a tática de alimentar o texto do curso por lições foi escolhida, especificando a necessidade de memorizar o contexto das lições. Se nenhuma solicitação adicional for feita, os assistentes de IA imediatamente sugerem um plano para escrever a seção de Métodos. Aqui estão alguns exemplos: - - - -Methods - -This section presents the methods employed to achieve the objectives of the study, which involved building a sovereign smart home with enhanced security and privacy features. The study was conducted as part of an online course titled "Smart Home Sovereign." The methods encompassed the setup of an IoT hub on a Raspberry Pi, connection of various smart devices to the hub using a Adaptador Zigbee and the MQTT protocol, integration of the hub with Home Assistant software, and the establishment of a connection between the hub and a decentralized cloud based on Polkadot web3 technology. These steps were taken to enable secure data transfer to the network and facilitate remote home management. - -1\. Online Course: "Smart Home Sovereign" -The initial phase of the study involved the completion of the online course "Smart Home Sovereign." This course provided comprehensive guidance on building a sovereign smart home, emphasizing the importance of user data security and privacy. The bachelor successfully completed all the course modules, gaining a thorough understanding of the fundamental concepts and practical aspects related to the construction of a sovereign smart home. - -2\. Setting up the IoT Hub -To establish a centralized control system for the smart home devices, an IoT hub was set up on a Raspberry Pi. The Raspberry Pi was selected due to its versatility, low cost, and compatibility with the desired functionalities. The IoT hub acted as the central communication point, facilitating the interaction between the smart devices and the user. - -3\. Conectaring Smart Devices -Various smart devices were integrated into the sovereign smart home system. These devices included a temperature/humidity sensor, a door sensor, a smart bulb, and a motion sensor, among others. A Adaptador Zigbee was utilized to connect these devices to the IoT hub, enabling seamless communication. The MQTT (Message Queuing Telemetry Transport) protocol was employed to establish a reliable and efficient communication channel between the hub and the connected devices. - -4\. Integration with Home Assistant -The IoT hub was integrated with Home Assistant, an open-source home automation platform. Home Assistant provided a user-friendly interface for managing and controlling the connected smart devices. This integration allowed the bachelor to monitor and control the devices remotely, enhancing the convenience and functionality of the sovereign smart home system. - -5\. Conectarion to Decentralized Cloud -To ensure secure data transfer without relying on a centralized cloud service provider, a decentralized cloud based on Polkadot web3 technology was employed. This connection facilitated the secure transfer of device data to the network, protecting user privacy and enabling remote home management. The bachelor established a connection between the IoT hub and the decentralized cloud, enabling seamless data transfer and access. - -6\. Data Security and Privacy Measures -Throughout the implementation process, stringent data security and privacy measures were implemented. The bachelor ensured the adoption of industry-standard encryption protocols and authentication mechanisms to safeguard the integrity and confidentiality of the user's personal and device data. Additionally, measures such as secure network configurations and regular software updates were implemented to mitigate potential vulnerabilities and security risks. - - - - - -1\. Description of the Smart Home System Design using web3 technology, including hardware and software components: - -\- Describe the overall architecture of the smart home system. - -\- Explain the hardware components involved, such as the Raspberry Pi, sensors, actuators, and communication modules. - -\- Discuss the software components, including the operating system, middleware, and applications used to control and manage the smart home system. - -\- Highlight the role of web3 technology, such as blockchain, decentralized networks, and protocols, in enhancing the security and privacy of the system. - - -2\. Implementation details and justification for design choices: - -\- Provide a step-by-step account of how the smart home system was implemented, including the installation and configuration processes. - -\- Justify the selection of specific hardware and software components based on their compatibility, reliability, security features, and suitability for the project's objectives. - -\- Discuss any modifications or customization made to the hardware or software components to meet the specific requirements of the smart home system. - -\- Explain how the chosen web3 technology (e.g., blockchain, decentralized networks) addresses security and privacy concerns compared to traditional approaches. - -3\. Evaluation plan for assessing the security and privacy of the system: - -\- Outline the goals and objectives of the security and privacy evaluation. - -\- Identify the specific security and privacy aspects to be evaluated, such as data encryption, access control, authentication, and data integrity. - -\- Describe the evaluation methods and techniques to be used, such as penetration testing, vulnerability assessments, or simulations. - -\- Explain how data will be collected, analyzed, and interpreted to assess the effectiveness of the implemented security and privacy measures. - -\- Discuss any ethical considerations and potential risks associated with the evaluation process. - - - -Como resultado, a melhor tática foi a seleção manual de itens de diferentes planos para a seção, e alimentá-los sequencialmente e em partes. É importante não esquecer o contexto, lembrando que o assistente de IA deve realizar sua tarefa com base no material de origem. - -## Gerando ilustrações - -Uma boa tese é capaz de apresentar material de forma gráfica, então é necessário pelo menos tentar fazê-lo com a ajuda da IA. Há muito escrito sobre as capacidades de diferentes modelos, como MidJourney, DALL-E, Stable Diffusion e outros serviços, mas eles são principalmente projetados para gerar arte, não diagramas e gráficos rigorosos. Muitas vezes, eles não conseguem inserir o texto correto, e, em geral, as ilustrações obtidas são frequentemente muito desajeitadas. - -Como exemplo, vamos tentar criar um diagrama do seguinte conteúdo no Bing Chat, que redirecionará a solicitação para o Bing Image Creator: - - - -Make image with diagram based on this description: - -There are 4 main blocks: Raspberry Pi, Smart Devices, Zigbee Adapter and Web3 Decentalized Cloud. Zigbee Adapter is connected by a double-ended arrow to Smart Devices, the arrow has the name "Zigbee". - -Inside Raspberry Pi there are 4 more internal blocks: Zigbee2MQTT, MQTT Broker, Home Assistant and "robonomics-interface". Zigbee2MQTT is connected by a double-ended arrow to MQTT Broker, the arrow has the name "MQTT". MQTT Broker is connected by a double-ended arrow to Home Assistant, the arrow has the name "MQTT". Home Assistant is connected by a double-ended arrow to "robonomics-interface", the arrow has the name "Robonomics Data". - -Also, internal block Zigbee2MQTT is connected by a double-ended arrow to Zigbee Adapter, the arrow has the name "Zigbee". Internal block "robonomics-interface" is connected by a double-ended arrow to Web3 Decentalized Cloud, the arrow has the name "data & events". - - - -Resultados: - - - - - - - - - - - - - -É melhor pedir para criar código para um diagrama, por exemplo em UML, e depois gerar uma ilustração em um editor de diagramas. Por exemplo, uma solicitação semelhante no ChatGPT com a adição de `Criar código de diagrama UML com base nesta descrição`, após várias tentativas, produziu o seguinte resultado: - - - - - @startuml - package "Raspberry Pi" { - [Zigbee2MQTT] - [MQTT Broker] - [Home Assistant] - [robonomics-interface] - } - Zigbee2MQTT o--o "MQTT Broker" : MQTT - "MQTT Broker" o--o "Home Assistant" : MQTT - "Home Assistant" o--o "robonomics-interface" : "Robonomics Data" - rectangle "Smart Devices" - rectangle "Zigbee Adapter" - "Zigbee Adapter" o--o "Smart Devices" : Zigbee - "robonomics-interface" o--o "Web3 Decentalized Cloud" : "data & events" - Zigbee2MQTT o--o "Zigbee Adapter" : Zigbee - @enduml - - - - - - - - -## Gerando Código - -Embora um assistente de IA não possa configurar um dispositivo por conta própria, ele pode ser solicitado a ajudar a escrever software para ele. Para nossa tese de bacharelado, para testar a funcionalidade do software de casa inteligente instalado, decidimos criar uma automação para o Home Assistant com base em um cenário. A seguinte solicitação foi enviada para o AutoGPT: - - - -AI Name: Hass-GPT - -Hass-GPT is: an AI that creates automation scripts for Home Assistant based on the text description - -Goal 1: Open https://www.home-assistant.io/examples/ and analyze script codes of automations - -Goal 2: Create automation script code with following scenario: turn on the bulb when motion sensor detects someone; while motion is present, keep the bulb turned on; when the motion stops, turn the bulb off - -Goal 3: Write this code to the file and return it back - - - -Como resultado do AutoGPT, o seguinte script foi gerado: - - - - alias: "Sensor de Movimento Bulb Control" - trigger: - platform: state - entity_id: binary_sensor.motion_sensor - to: "on" - action: - service: light.turn_on - entity_id: light.bulb - - alias: "Motion Sensor Bulb Keep On" - trigger: - platform: state - entity_id: binary_sensor.motion_sensor - to: "on" - action: - service: light.turn_on - entity_id: light.bulb - - alias: "Motion Sensor Bulb Off" - trigger: - platform: state - entity_id: binary_sensor.motion_sensor - to: "off" - for: - minutes: 1 - action: - service: light.turn_off - entity_id: light.bulb - - -Claro, o script exigiu ajustes adicionais para entidades de sensores e dispositivos específicos, mas no geral a solicitação foi processada corretamente. - - - -Portanto, a prática mostrou que apesar do fato de que a IA não pode lidar completamente com esta seção por conta própria, ela pode pelo menos ajudar muito com algumas tarefas ou fornecer ideias para suas soluções. Na próxima seção, exploraremos como as ferramentas de IA podem ajudar a analisar os resultados obtidos e formatar a seção correspondente. - - \ No newline at end of file diff --git a/courses/pt/learn/ai-based-bachelor-thesis/writing-results.md b/courses/pt/learn/ai-based-bachelor-thesis/writing-results.md deleted file mode 100644 index 4ff8e3e530..0000000000 --- a/courses/pt/learn/ai-based-bachelor-thesis/writing-results.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: "Escrita: Resultados" -description: Inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA -metaOptions: [Aprenda, inicie rapidamente sua tese de bacharelado com ferramentas alimentadas por IA] -defaultName: Quickstart Your Bachelor's Thesis with AI-powered Tools ---- - - -A seção dedicada ao processamento dos resultados de uma tese de bacharelado geralmente consiste em uma parte demonstrativa, onde você visualiza certos indicadores em gráficos e tabelas, bem como uma discussão desses resultados. As ferramentas de IA podem ajudar com essa tarefa? A resposta é obviamente sim, mas com algumas nuances. - - -## Representação e transformação de dados - -Talvez processar e apresentar dados brutos seja o que os assistentes de IA fazem de melhor. Em um guia anterior, criamos com sucesso um diagrama UML usando IA, mas, em geral, qualquer conjunto estruturado de dados pode facilmente ser transformado em um diagrama ou tabela com algumas estatísticas. Por exemplo, o ChatGPT foi encarregado de contar o número de transações bem-sucedidas de datalog de uma casa inteligente e distribuí-las por hora com base em dados brutos da parachain Robonomics em [Subscan](https://robonomics.subscan.io/). Aqui está uma parte da saída resultante: - -| Hour | Successful Transactions | Total Transactions | Percentage of Success | -|-------|-------------------------|--------------------|-----------------------| -| 13:00 | 4 | 4 | 100% | -| 14:00 | 5 | 5 | 100% | -| 15:00 | 6 | 6 | 100% | -| 16:00 | 5 | 5 | 100% | -| 17:00 | 5 | 5 | 100% | -| 18:00 | 6 | 6 | 100% | - -O ChatGPT não apenas contou o número de transações por hora, mas também derivou a porcentagem delas. - -## Análise profunda - -Mas e se pedirmos para a IA fazer uma análise mais profunda com base em dados não estruturados? Infelizmente, aqui começam os problemas que j�� encontramos: limitações de contexto e alucinações. Como exemplo, os arquivos de log do Home Assistant da casa inteligente criada anteriormente foram utilizados, e a seguinte solicitação foi formulada para o ChatGPT: - - - -Based this logs of smart home system, write section called "Analysis of IoT Hub Logs" in 1000 words. Add precise statistics of occurrences of found events and recommendations for solution of found problems. - - - -Os logs se parecem com algo assim (cerca de 500 linhas de logs no total): - - - 2023-05-29 14:17:18.301 DEBUG (MainThread) [custom_components.robonomics] Time changed: 2023-05-29 14:17:18.299347+00:00 - 2023-05-29 14:17:18.309 DEBUG (MainThread) [custom_components.robonomics.get_states] Start getting info about dashboard and services - 2023-05-29 14:17:18.321 DEBUG (SyncWorker_0) [custom_components.robonomics.ipfs] Getting last file hash from /ha_robonomics_config with prefix config- - 2023-05-29 14:17:18.341 DEBUG (SyncWorker_0) [custom_components.robonomics.ipfs] Last /ha_robonomics_config file config-1685367962.12049, with hash QmbQ4STfozcCPeHpKkcrH26hNTnupU1o4LD1JQTFWKpran - 2023-05-29 14:17:18.352 DEBUG (SyncWorker_10) [custom_components.robonomics.ipfs] Read data from local file: /ha_robonomics_config/config-1685367962.12049 - 2023-05-29 14:17:19.439 DEBUG (MainThread) [custom_components.robonomics.get_states] Got states to send datalog - 2023-05-29 14:17:21.469 DEBUG (SyncWorker_9) [custom_components.robonomics.ipfs] Time from the last pin: 1:07:04.863542 - 2023-05-29 14:17:21.469 DEBUG (SyncWorker_9) [custom_components.robonomics.ipfs] Telemetry must not be pinned - 2023-05-29 14:17:21.471 DEBUG (SyncWorker_1) [custom_components.robonomics.ipfs] Getting last file hash from /ha_robonomics_telemetry with prefix None - 2023-05-29 14:17:21.491 DEBUG (SyncWorker_1) [custom_components.robonomics.ipfs] Last /ha_robonomics_telemetry file data-1685369332.9767303, with hash QmNY2kPBA4Xi2L2DjTWzqhRk5BXS5KyDqjvtYb8mcA43mx - 2023-05-29 14:17:21.492 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] Start adding /tmp/data-1685369841.445844 to local node, pin: False - 2023-05-29 14:17:21.631 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] File /tmp/data-1685369841.445844 was added to local node with cid: QmdmmUXEvmtW1UnttcEDhc8pee8CwVdEFH4aax9XZj76m8 - 2023-05-29 14:17:21.692 DEBUG (SyncWorker_4) [custom_components.robonomics.ipfs] File data-1685369332.9767303 with was unpinned - 2023-05-29 14:17:27.165 DEBUG (SyncWorker_6) [custom_components.robonomics.ipfs] Actual balance in crust network - 604385098 - 2023-05-29 14:17:28.617 DEBUG (SyncWorker_6) [custom_components.robonomics.ipfs] approximate cost to store the file - 1000067848 - 2023-05-29 14:17:28.617 WARNING (SyncWorker_6) [custom_components.robonomics.ipfs] Not enough account balance to store the file in Crust Network - 2023-05-29 14:17:28.634 DEBUG (MainThread) [custom_components.robonomics.robonomics] Send datalog states request, another datalog: False - 2023-05-29 14:17:28.638 DEBUG (SyncWorker_0) [custom_components.robonomics.robonomics] Start creating rws datalog - 2023-05-29 14:17:55.573 DEBUG (SyncWorker_0) [custom_components.robonomics.robonomics] Datalog created with hash: 0x396f26a5e3fdaa89910e7f78491f90150d6f9e59e9c7e85f6b9d090ade235077 - 2023-05-29 14:19:40.007 WARNING (MainThread) [custom_components.local_luftdaten.sensor] REST request error: Cannot connect to host 192.168.13.141:80 ssl:default [Conectar call failed ('192.168.13.141', 80)] - - - -Em resposta, a ferramenta de IA frequentemente começava a alucinar, oferecendo uma análise de dados aparentemente diferentes e inexistentes: - - - - - -The logs revealed a significant number of connectivity issues encountered by the IoT devices. Out of a total of 10,000 recorded events, 1,200 (12%) were related to connectivity problems. - -... - -The analysis identified a notable number of unauthorized access attempts to the smart home system. Approximately 300 (3%) events were logged, indicating potential security breaches. These attempts could lead to unauthorized control or access to sensitive information within the smart home. - -... - -The logs revealed a lack of regular firmware updates for the IoT devices, with only 20 (0.2%) events indicating successful updates. This finding raises concerns regarding the security and performance of the devices. - - - -Em outros casos, a IA perdia o contexto. Por exemplo, a seguinte solicitação foi feita para os logs de transações do Subscan: - - - -Analyze the logs below and tell me what kind of Smart Home System analysis can be done on them. These are the transaction logs for the SUB_CONTROLLER address received from the Robonomics parachain, related to the subscription IoT. - - - -Apesar de a IA ter sido especificamente alimentada com o contexto da tese de bacharelado e o texto do curso online da casa inteligente, ela ainda gerou uma resposta enganosa com dados que simplesmente não existiam nos logs: - - - - - -User Behavior Analysis: - -Analyzing the logs provided insights into user behavior within the Smart Home System. By examining the transaction details, we observed the following user behavior patterns: -- Most Frequently Used Features: Lighting control was the most frequently used feature, accounting for 45% of total transactions. Temperature control followed closely with 30% of total transactions, while security system monitoring and appliance automation accounted for 15% and 10% respectively. -- Usage Patterns: Users tended to interact with the Smart Home System more frequently during weekdays compared to weekends. This suggests that the system is primarily utilized for regular daily activities, such as lighting and temperature control, rather than special occasions or leisure activities. - - - -No geral, o uso de assistentes de IA para escrever a seção de Resultados pode ser considerado mais malsucedido do que bem-sucedido. Sim, a IA pode ajudar a apresentar e processar dados, mas, essencialmente, ela economiza muito pouco tempo em comparação com ferramentas clássicas de ciência de dados. Além disso, os usuários precisam se preocupar constantemente com a precisão das respostas fornecidas e verificá-las duplamente. - - -Now we can move on to the final section of our bachelor's thesis — Conclusions, where we will not only finish writing the thesis, but also make overall conclusions on the use of AI for this purpose. - \ No newline at end of file diff --git a/courses/pt/learn/baxter/overview.md b/courses/pt/learn/baxter/overview.md deleted file mode 100644 index 8215dc1618..0000000000 --- a/courses/pt/learn/baxter/overview.md +++ /dev/null @@ -1,565 +0,0 @@ ---- -title: Controlar o robô Baxter -lastUpdate: Thu May 04 2023 12:52:52 GMT+0400 (Samara Standard Time) -description: Controlar o robô Baxter -metaOptions: [Aprender] -defaultName: Control Baxter robot ---- -Exemplo de como funciona: - -https://www.youtube.com/watch?v=JivTDhDJLHo - -
    - -## Requisitos: - - - -
  • - -ROS Melodic + Gazebo (manual de instalação aqui) - -
  • - -
  • pacotes extras: - - -sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effout-controllers ros-melodic-joint-state-controller python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge - - -
  • - -
  • - -IPFS até 0.6.0 (baixe daqui e instale) - -
  • - -
  • pacotes python: - - -sudo apt-get -y install python3-pip -pip3 install --upgrade pip - - -
  • - -
  • - -Baixe o nó Robonomics mais recente aqui (última versão testada v1.1) - -
  • - -
  • Extensão do navegador IPFS (não necessário)
  • - -
    - -
    - -## 0. instale a extensão CV Bridge para python3 - - - -
  • Crie um espaço de trabalho catkin - - -mkdir -p catkin_workspace/src -cd catkin_workspace -catkin init - - -
  • - -
  • Instrua o catkin a definir variáveis cmake. Use sua versão atual do `python`. Para mim, é `python3.6` - - -catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -catkin config --install - - -
  • - -
  • Clone src cv_bridge: - - -git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv - - -
  • - -
  • Encontre a versão do cv_bridge em seu repositório: - - -apt-cache show ros-melodic-cv-bridge | grep Version - Version: 1.12.8-0xenial-20180416-143935-0800 - - -
  • - -
  • Verifique a versão correta no repositório git. No nosso caso é 1.12.8: - - -cd src/vision_opencv/ -git checkout 1.12.8 -cd ../../ - - -
  • - -
  • Construir: - - -catkin build cv_bridge - - -
  • - -
  • Estender o ambiente com novo pacote: - - -source install/setup.bash --extend - - -
  • - -
  • Teste: - - -$ python3 - -Python 3.6.9 (default, Jan 26 2021, 15:33:00) -[GCC 8.4.0] on linux -Type "help", "copyright", "credits" or "license" for more information. ->>> from cv_bridge.boost.cv_bridge_boost import getCvType ->>> - - -
  • - -
    - -## 1. Baixe pacotes de simulação e controle -Baixe os pacotes: - - -cd ~ -mkdir -p robot_ws/src -cd robot_ws/src -git clone https://github.com/nakata5321/Baxter_simulation_controller.git -cd Baxter_simulation_controller -git checkout old_version -pip3 install -r requirements.txt -cd ../.. -catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 - - -Não se esqueça de adicionar o comando source: - - -echo "source /home/$USER/robot_ws/devel/setup.bash" >> ~/.bashrc -source ~/.bashrc - - -## 2. Iniciar simulação -Vamos iniciar o mundo do gazebo e colocar nosso baxter nele: - - -roslaunch gazebo_ros empty_world.launch - - - - -Abra mais uma janela no terminal: - - -rosrun gazebo_ros spawn_model -file `rospack find baxter_description`/urdf/baxter.urdf -urdf -z 1 -model baxter - - -Você pode colocar alguns modelos na frente do nosso baxter. Será mais interessante. - - - -## 3. Gerenciar contas no DAPP - -Como estamos testando, vamos criar uma rede robonomics local com o arquivo binário robonomics. Vá para a pasta com o arquivo robonomics e execute: - - -./robonomics --dev --tmp --rpc-cors all - - - - -Vá para o portal Robonomics Parachain e mude para o nó local - - - -Vá para Contas e crie contas __Baxter__ e __Empregador__ (__Robô__ não é necessário) - -__Importante!__ Copie o **Mnemônico** e o **endereço** de cada conta (para copiar o endereço, clique no ícone da conta). **Mnemônico** é a chave privada da conta. -Transfira algum dinheiro (unidades) para essas contas: - - - - - - - -Adicione o **Mnemônico** e o **endereço** do Baxter ao `config.yaml` em `robot_ws/src/Baxter_simulation_controller/config/` - -## 4. Iniciar simulação - -Em uma nova janela, execute: - - - -ifps init #you only need to do this once -ipfs daemon - - -Abra um terminal separado e inicie o *pacote de controle*: - - -rosrun robot_controller robot_control.py - - - - -Agora você pode enviar uma transação para fazer o Baxter começar a se mover e coletar dados. Para fazer isso, você pode usar o mesmo portal Robonomics Parachain. Vá para **Desenvolvedor->Extrínsecos** e selecione a conta do empregador do Baxter, extrínseco `launch`, conta alvo da conta do Baxter e `yes` como parâmetro. Envie o extrínseco. - - - - -O robô deve começar a se mover. Ele não aceitará comandos de outras contas nem comandos com parâmetro `no`. -Você deve ver o seguinte: - - - -quando o trabalho estiver concluído, vá para o Portal Robonomics para `Desenvolvedor > Estado da cadeia`. Escolha `datalog.datalogItem(AccountId,u64)` em **consulta de estado**. Se você quiser mostrar todos os datalogs, desligue a `opção de inclusão` adicione visualizar a mensagem de datalog do Baxter usando o botão "+". - - - -Agora o hash IPFS do telemetria e fotos está salvo no blockchain. Para ver os dados, basta copiar o hash e inseri-lo na barra de pesquisa com URL: gateway.ipfs.io/ipfs/
    - - - -Clique em __Ver no Gateway__ e é isso! - - - - - - -## Simulação do Baxter v2.0 - -Exemplo de como funciona: - -https://youtu.be/2Dvuv0ZE2Bw - -
    - - -## Requisitos: - - - -
  • - - -ROS Melodic + Gazebo (manual de instalação aqui) - -
  • - -
  • pacotes extras: - - -sudo apt-get install ros-melodic-qt-build ros-melodic-driver-common ros-melodic-gazebo-ros-control ros-melodic-gazebo-ros-pkgs ros-melodic-ros-control ros-melodic-control-toolbox ros-melodic-realtime-tools ros-melodic-ros-controllers ros-melodic-xacro python-wstool ros-melodic-tf-conversions ros-melodic-kdl-parser python-wstool python-catkin-tools qt4-default - - -
  • - -
  • - -IPFS até 0.6.0 (baixe daqui e instale) - -
  • - -
  • pacotes python: - - -sudo apt-get -y install python3-pip -pip3 install --upgrade pip - - -
  • - -
  • - -Nó Robonomics (arquivo binário) (baixe a última versão aqui) - -
  • - -
  • - -Crie contas __Baxter__ e __Empregador__ no **Portal Robonomics** (você pode encontrar o tutorial "Criar uma Conta no Portal Robonomics" aqui). -
  • - -
  • Extensão do navegador IPFS (não necessário)
  • - -
    - -
    - -## 0. instale a extensão CV Bridge para python3 - - - -
  • Crie um espaço de trabalho catkin - - -mkdir -p catkin_workspace/src -cd catkin_workspace -catkin init - - -
  • - -
  • Instrua o catkin a definir variáveis cmake. Use sua versão atual do `python`. Para mim, é `python3.6` - - -catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -catkin config --install - - -
  • - -
  • Clone src cv_bridge: - - -git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv - - -
  • - -
  • Encontre a versão do cv_bridge em seu repositório: - - -apt-cache show ros-melodic-cv-bridge | grep Version - Version: 1.12.8-0xenial-20180416-143935-0800 - - -
  • - -
  • Verifique a versão correta no repositório git. No nosso caso é 1.12.8: - - -cd src/vision_opencv/ -git checkout 1.12.8 -cd ../../ - - -
  • - -
  • Construir: - - -catkin build cv_bridge - - -
  • - -
  • Estender o ambiente com novo pacote: - - -source install/setup.bash --extend - - -
  • - -
  • Teste: - - -$ python3 - -Python 3.6.9 (default, Jan 26 2021, 15:33:00) -[GCC 8.4.0] on linux -Type "help", "copyright", "credits" or "license" for more information. ->>> from cv_bridge.boost.cv_bridge_boost import getCvType ->>> - - -
  • - -
    - -
    - -## 1. Baixe pacotes de simulação e controle -Precisaremos criar 2 espaços de trabalho - um para os principais pacotes do Baxter e outro para o programa de controle principal. -Primeiro espaço de trabalho. É o programa de controle principal. Ele será executado sob python3. - - -cd ~ -mkdir -p robonomics_ws/src -cd robonomics_ws/src/ -git clone https://github.com/nakata5321/Baxter_simulation_controller.git -cd Baxter_simulation_controller -pip3 install -r requirements.txt - - -Segundo espaço de trabalho. Todos os pacotes do Baxter estarão lá. A simulação é muito antiga, então só pode ser executada sob python2. - - -cd ~ -mkdir -p robot_ws/src -cd robot_ws/src/ -wstool init . -wstool merge https://raw.githubusercontent.com/RethinkRobotics/baxter_simulator/master/baxter_simulator.rosinstall -wstool update - - -Esses pacotes foram criados para o ROS indigo. Temos que alterar alguns arquivos para executá-los no ROS melodic. -Vamos usar arquivos de **patch**. - - -patch ./baxter_simulator/baxter_sim_io/include/baxter_sim_io/qnode.hpp ~/robonomics_ws/src/Baxter_simulation_controller/patch/qnode_patch -patch ./baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp ~/robonomics_ws/src/Baxter_simulation_controller/patch/arm_patch -patch ./baxter_interface/src/baxter_interface/robot_enable.py ~/robonomics_ws/src/Baxter_simulation_controller/patch/interface_patch - - -E vamos construir todos os nossos pacotes: -Primeiro construa os pacotes do Baxter - - -cd ../ -catkin build - - -Em seguida, retorne ao primeiro espaço de trabalho e construa também: - - -cd ~/Baxter_simulation_controller/ -catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 - - -Não se esqueça de adicionar o comando source: - - -echo "source /home/$USER/robot_ws/devel/setup.bash" >> ~/.bashrc -echo "source /home/$USER/robonomics_ws/devel/setup.bash" >> ~/.bashrc -source ~/.bashrc - - -## 2. Iniciar simulação -### Vamos iniciar nossa simulação: -Primeiro vá para `robot_ws` e copie e edite baxter.sh - - -cd ~/robot_ws/ -cp src/baxter/baxter.sh . - - -Encontre seu endereço IP local com o comando: - - -ip a - - - - -Edite os seguintes valores em `baxter.sh` : - - -nano baxter.sh - - -- seu_ip - coloque seu endereço IP local. Veja `ip a` -- versão_ros - por exemplo "melodic" - - - -Execute o script shell do baxter com sim especificado: - - -./baxter.sh sim -roslaunch baxter_gazebo baxter_world.launch - - -Você pode colocar alguns modelos na frente do nosso baxter. Será mais interessante. - - - -## 3. Gerenciar contas no DAPP - -Como estamos testando, vamos criar uma rede robonomics local com o arquivo binário robonomics. Vá para a pasta com o arquivo robonomics e execute: - - -./robonomics --dev --tmp - - - - -Vá para o portal Robonomics Parachain e mude para o nó local - - - -Vá para Contas e crie contas __Baxter__ e __Empregador__. - -Você pode encontrar o manual "Criar uma Conta no Portal Robonomics" aqui - -__Importante!__ Copie o **Mnemônico** e o **endereço** de cada conta (para copiar o endereço, clique no ícone da conta). **Mnemônico** é a chave privada da conta. - -Transfira algum dinheiro (unidades) para essas contas: - - - - - - - -Adicione o **mnemônico** e **endereço** do Baxter ao `config.yaml` em `robonomics_ws/src/Baxter_simulation_controller/config/` - -## 4. Iniciar simulação - -Em uma nova janela, execute: - - -ifps init #you only need to do this once -ipfs daemon - - -Abra um terminal separado e inicie o *pacote de controle*: - - -rosrun robot_controller robot_control.py - - - - -Agora você pode enviar uma transação para acionar o Baxter a começar a se mover e coletar dados. Para fazer isso, você pode usar o mesmo portal [Portal da Parachain Robonomics][db5]. Vá para **Desenvolvedor->Extrínsecos** e selecione a conta do empregador do Baxter, extrínseco `launch`, conta do Baxter como conta de destino e `yes` como parâmetro. Envie o extrínseco. - - - - -O robô deve começar a se mover. Ele não aceitará comandos de outras contas nem comandos com parâmetro `no`. -Você deve ver o seguinte: - - - -Quando o trabalho estiver concluído, vá para o Portal Robonomics para `Desenvolvedor > Estado da cadeia`. Escolha `datalog.datalogItem(AccountId,u64)` em **consulta de estado**. Se você deseja mostrar todos os datalogs, então desative a opção `incluir` adicione visualizar a mensagem de datalog do Baxter usando o botão "+". - - - -Agora o hash IPFS da telemetria e fotos está salvo no blockchain. Para ver os dados, basta copiar o hash e inseri-lo na barra de pesquisa com URL: -#### gateway.ipfs.io/ipfs/< coloque seu hash aqui> - -É isso! - - - - - -[db2]: -[db3]: -[db4]: -[db5]: -[db8]: \ No newline at end of file diff --git a/courses/pt/learn/boston-dynamics-spot/overview.md b/courses/pt/learn/boston-dynamics-spot/overview.md deleted file mode 100644 index 3844d7a693..0000000000 --- a/courses/pt/learn/boston-dynamics-spot/overview.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -title: "Parada de Emergência, Inicialização, Controle de Posição do Corpo" -description: Durante esta lição, você aprenderá como se autorizar como usuário, obter controle de potência do motor e enviar comandos básicos para o Spot. -metaOptions: [Aprenda, Desenvolvimento de Software para Boston Dynamics Spot] -defaultName: Software Developing for Boston Dynamics Spot ---- - - -Durante esta lição, você aprenderá como se autorizar como usuário, obter controle de potência do motor e enviar comandos básicos para o Spot. - - -## Teoria - -Como todos os robôs sérios, o Boston Dynamics Spot possui um mecanismo de proteção — [serviço E-Stop](https://dev.bostondynamics.com/docs/concepts/estop_service) (Parada de Emergência) que deve estar sempre ativo durante a operação do Spot para evitar possíveis danos físicos. Ao ligar o E-Stop, todas as juntas são congeladas instantaneamente (isso acontece sem desligar os motores se o robô estiver ligado). - -Primeiramente, devemos assumir o controle sobre o robô. Existem duas maneiras de fazer isso - *adquirir* ou *tomar*. *Adquirir* significa pedir controle de forma gentil, se alguém estiver controlando o robô agora, seu pedido será recusado. De outra forma, *tomar* significa assumir o controle à força, não importa se o operador atual existe. - -Portanto, para fazer algum movimento, você deve seguir o esquema: - - - -Robot Execution States - -Nesta lição, você aprenderá como controlar a rotação do robô alterando seu *yaw*, *roll* e *pitch*. Na imagem abaixo, é mostrado o sistema de coordenadas do quadro do corpo: - - - -Spot coordinates - - -Os ângulos em um código são representados em radianos. - - -Como resultado da lição, você desenhará a primeira letra do seu nome no ar com o rosto do Spot. Vamos começar a configuração! - -## Configurar Gitpod - -Para esta lição, estaremos usando o Gitpod, um IDE baseado em nuvem que permite praticar sem instalar nenhum software especial em seu computador. - -1. Cadastre-se no [Gitpod](https://gitpod.io/). -2. Acesse nosso [ambiente educacional do Spot](https://gitpod.io/#github.com/merklebot/spot-edu-environment) e abra-o em nosso navegador. Você verá a janela com funções típicas de um IDE. -3. Clique no ícone do Menu, depois vá para Terminal e crie um novo terminal. - - - - -4. Copie e cole este comando: - - -python3 prepare_yggdrasil.py -sudo ./start_yggdrasil.sh - - - -e pressione `Enter`. - -1. Abra um novo terminal (agora você pode fazer isso pressionando o botão `+`) e teste a conexão com o comando - - -ping6 200:42f6:d055:e74e:ce4a:35aa:953a:70f7 - - - -Você deverá ver algo como isso: - - -gitpod /workspace/spot-edu-environment (main) $ ping6 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09 -PING 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09(202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09) 56 data bytes -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=1 ttl=64 time=846 ms -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=2 ttl=64 time=172 ms -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=3 ttl=64 time=172 ms -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=4 ttl=64 time=197 ms -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=5 ttl=64 time=219 ms -64 bytes from 202:9292:712f:a3ef:4a7e:b2b2:b45b:7e09: icmp_seq=6 ttl=64 time=242 ms - - - -1. Antes do horário agendado, enviaremos a você a chave privada para estabelecer a conexão SSH. -2. Copie sua chave privada para o arquivo `id_ed25519`. Você pode encontrar o arquivo no explorador de barra lateral do *stop-edu-enviroment*. -3. **Adicione uma linha em branco no final do** arquivo `id_ed25519` ***, isso é necessário para que o SSH funcione corretamente.*** Pressione `Ctrl+S` para salvar as alterações. - -Se tudo estiver correto, você pode começar a completar a lição editando `lesson1.py` - -Para executar o código, use o comando: - - - -sudo ./run_code.sh - - - - - -Lembre-se de garantir que ninguém mais esteja executando seu programa no momento. - - - -## Agende a sessão de prática - -Use o site de agendamento do Spot para escolher o horário para sua sessão de prática: - -[meetings.hubspot.com/strelka](https://meetings.hubspot.com/strelka) - -## Prática - -Agora faremos um script simples para o Spot desenhar na tela usando os movimentos de sua cabeça. - - -# Import Spot Control modules -import bosdyn.client -from bosdyn.client.robot_command import RobotCommandClient, blocking_stand -from bosdyn.client.robot_command import RobotCommandBuilder -from bosdyn.geometry import EulerZXY -import time -# ENTER YOUR AUTH DATA HERE -ROBOT_IP="192.168.50.3" -SPOT_USERNAME="student" -SPOT_PASSWORD="" -# Helpers to control camera drawing (you don't need to modify it) -import requests -VIDEOSERVER_URL="http://luke.merklebot:8000/" -VIDEOSERVER_TOKEN="1234" -def notify_start_line(): - requests.post(VIDEOSERVER_URL + "start_line", json={"token": VIDEOSERVER_TOKEN}) -def notify_stop_line(): - requests.post(VIDEOSERVER_URL + "stop_line", json={"token": VIDEOSERVER_TOKEN}) -def notify_clear_canvas(): - requests.post(VIDEOSERVER_URL + "clear_canvas", json={"token": VIDEOSERVER_TOKEN}) -# Start with registering out SDK -sdk = bosdyn.client.create_standard_sdk('LessonOneClient') -# Create instance of robot and auth with credentials -robot = sdk.create_robot(ROBOT_IP) -robot.authenticate(SPOT_USERNAME, SPOT_PASSWORD) -# Create lease client and take exclusive control over Spot. -lease_client = robot.ensure_client('lease') -lease = lease_client.take() -lease_keep_alive = bosdyn.client.lease.LeaseKeepAlive(lease_client) -# Try to power on the robot -robot.power_on(timeout_sec=20) -if robot.is_powered_on(): - print("Powered On") - # If everything went smooth, Spot face lights should turn green -else: - # In case of some problems, e.g. somebody stole control over robot - print("Failed") - exit(0) -# Synchronize Spor inner time with ours - to avoid outdated commands -robot.time_sync.wait_for_sync() -# To execute robot movement, create command client through which orders are sent -command_client = robot.ensure_client(RobotCommandClient.default_service_name) -# Start movement with simple stand up -blocking_stand(command_client, timeout_sec=10) -# Rotate robot body: -# 1. Build command for body rotation. It’s not an easy task to control robot motion with commands on low level. -# Bosdyn Client allow as to use a shortcut - RobotCommandBuilder. It contains a number of predefined commands, -# you need just to choose one of your liking and insert parameters -footprint_R_body = EulerZXY(yaw=0.1, roll=0.1, pitch=0.1) -cmd = RobotCommandBuilder.synchro_stand_command(footprint_R_body=footprint_R_body) -# 2. Execute builded command -command_client.robot_command(cmd) -time.sleep(2) -# Return robot state back -command_client.robot_command(RobotCommandBuilder.synchro_stand_command(footprint_R_body=EulerZXY(yaw=0, roll=0, pitch=0))) -time.sleep(2) -# Change robot height -cmd = RobotCommandBuilder.synchro_stand_command(body_height=0.1) -command_client.robot_command(cmd) -# Now we are ready to draw letter. -def draw_letter(command_client): - # Choose points to draw (see the coords explanation bellow) - points_xy_draw = ( - (125, 125), - (375, 875), - (500, 500), - (250, 500), - (500, 500), - (625, 125), - ) - for x, y in points_xy_draw: - convert = lambda x: (x / 1000 - 0.5) * -1 - x, y = map(convert, (x, y)) - footprint_R_body = EulerZXY( - yaw=x, - roll=0.0, - pitch=y, - ) - cmd = RobotCommandBuilder.synchro_stand_command(footprint_R_body=footprint_R_body) - command_client.robot_command(cmd) - time.sleep(1) -notify_clear_canvas() -notify_start_line() -draw_letter(command_client) -notify_stop_line() -# Turn off the robot gracefully -robot.power_off(cut_immediately=False) - - - - -Se precisarmos mover a cabeça do Spot para algum ponto na câmera, devemos fazer alguns cálculos grandes com muitos parâmetros não lineares, o que não é uma tarefa simples. Mas poderíamos dizer que, localmente, os ângulos de yaw e pitch poderiam ser usados aproximadamente como coordenadas cartesianas com algum coeficiente em uma imagem. - - - - - -Agora você pode tentar executar o script e ver o resultado. Não se esqueça de salvar seu código com Ctrl+S: - - -sudo ./run_code.sh - - - -### O vídeo do Spot pode ser encontrado aqui: -[https://codepen.io/smehnov/pen/BaVNrPM](https://codepen.io/smehnov/pen/BaVNrPM) - - -## Desafio -Crie um script em Python que controle a posição do corpo do robô com uma sequência de movimentos: - -1. Levantar -2. Traçar suas iniciais com o rosto (uma letra, pelo menos 3 pontos) -3. Sentar - -## Resultados - -Agora, você sabe como: - -- trabalhar com o SDK do Spot -- construir um comando básico -- rotacionar o corpo do robô -- conectar-se ao Spot - -E até desenhou uma letra. Parabéns! - - - - -Coletamos um [rosbag](http://wiki.ros.org/rosbag) com os dados das juntas do Spot, para que você possa visualizá-los (por exemplo, com [foxglove](https://www.notion.so/Lesson-1-Emergency-Stop-Initialization-Body-Position-Control-4ccf6316330d4680ab1bb571b2b788d5)). O certificado será enviado para seu e-mail em breve. - - - - -## [Agende sua primeira lição](https://meetings.hubspot.com/strelka) \ No newline at end of file diff --git a/courses/pt/learn/connect-any-ros-compatible-drone/overview.md b/courses/pt/learn/connect-any-ros-compatible-drone/overview.md deleted file mode 100644 index 77dab4bc44..0000000000 --- a/courses/pt/learn/connect-any-ros-compatible-drone/overview.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -title: Conectar drone compatível com ROS -lastUpdate: Thu May 04 2023 12:52:55 GMT+0400 (Samara Standard Time) -description: Conectar qualquer robô compatível com ros sob controle da parachain robonomics. -metaOptions: [Aprender] -defaultName: Connect ROS-compatible drone ---- - - -## Parte 1. Lançamento por Transação - -**Neste artigo mostraremos que com a ajuda das ferramentas Robonomics você pode controlar qualquer dispositivo compatível com ROS. Vamos encontrar um pacote de simulação de drone aleatório na web e ajustá-lo para funcionar com Robonomics.** -**Requisitos:** - - - -
  • Ubuntu 18.04 LTS
  • - -
  • - -ROS Melodic + Gazebo + RViz (manual de instalação [aqui](http://wiki.ros.org/melodic/Instalação)) - -
  • - -
  • - -Nó Robonomics (arquivo binário) (baixe a última versão [aqui](https://github.com/airalab/robonomics/releases)) - -
  • - -
    - -
    - -Todo o processo de codificação desta parte da demonstração é apresentado em um vídeo abaixo. - -https://www.youtube.com/watch?v=fDpwhBasQ5o&feature=youtu.be - -
    - -## 1. Encontrar uma simulação -Vamos navegar na web. Pesquise no Google por `simulador de drone ROS`. O primeiro link provavelmente mostrará a página `tum_simulator` em [http://wiki.ros.org/tum_simulator](http://wiki.ros.org/tum_simulator) - - - - -Está bastante desatualizado, então é melhor encontrarmos um fork para o nosso sistema. Pesquise no Google por `tum_simulator Ubuntu 18 Gazebo 9 fork`. O primeiro resultado é um repositório GitHub [repo](https://github.com/tahsinkose/sjtu-drone) com um pacote apropriado. Baixe-o - - -mkdir -p drone_simulator_ws/src -cd drone_simulator_ws/src -git clone https://github.com/tahsinkose/sjtu-drone -cd .. -catkin build - - -Não se esqueça de adicionar o comando de origem ao `~/.bashrc`: - - -echo "source /home/$USER/drone_simulator_ws/devel/setup.bash" >> ~/.bashrc -source "~/.bashrc" - - -Agora podemos executar a simulação para ver o que precisamos fazer para colocar o drone sob controle da parachain. - - -roslaunch sjtu_drone simple.launch - - -## 2. Inspecionar tópicos do ROS -Quando a simulação estiver em execução, em uma nova guia execute o seguinte comando para ver a lista de tópicos usados pelo drone: - - -rostopic list - - -Vamos dar uma olhada em `/cmd_vel`, `/drone/takeoff` e `/drone/land`: - - -rostopic info /cmd_vel -rostopic info /drone/takeoff -rostopic info /drone/land - - - - -Como pode ser visto, deve haver mensagens dos tipos `Twist` e `Empty`, que são partes de `std_msgs` e `geometry_msgs`, vamos usar isso no controlador. Desligue a simulação por um tempo. - -## 3. Baixar pacote do controlador -Globalmente, a principal diferença do controlador de robô ROS casual é um bloco de código, que verifica todas as transações na rede usando [Robonomics IO](https://wiki.robonomics.network/docs/rinterface/). O pacote em si está disponível no GitHub. Baixe-o e construa o espaço de trabalho: - - -cd ~/drone_simulator_ws/src -git clone https://github.com/PaTara43/drone_simulator_controller -cd drone_simulator_controller/src -chmod +x *.py -cd ~/drone_simulator_ws/src -catkin build - - -## 4. Gerenciar contas no DAPP -Como estamos testando, vamos criar um nó de rede robonomics local com o arquivo binário robonomics: - - -./robonomics --dev - - -**Importante!** Antes dos próximos lançamentos é necessário remover um diretório `db` com - - -rm -rf /home/$USER/.local/share/robonomics/chains/dev/db - - -Após um lançamento bem-sucedido, crie contas seguindo [este](https://wiki.robonomics.network/docs/create-account-in-dapp/) manual. **Não se esqueça de salvar a semente e o endereço de cada conta! Você precisará deles para as transações**. Adicione esses endereços, sementes e caminho para o arquivo binário robonomics ao arquivo `config.config` em `robonomics_ws/src/robonomics_sample_controller/src`. Transfira algum dinheiro (unidades) para essas contas: - - - -## 5. Lançando o drone sob controle da parachain - -Até agora o **único coisa em execução** deve ser o nó local robonomics. Em um terminal separado, inicie a simulação do drone: - - -roslaunch sjtu_drone simple.launch - - -Execute o script: - - -rosrun drone_simulator_controller drone_sample_controller.py - - - - -Agora você pode enviar uma transação acionando o drone para começar a voar. Para fazer isso, você deve usar o subcomando `write` do Robonomics IO do arquivo binário robonomics: - - -echo "ON" | ./robonomics io write launch -r [DRONE_ADDRESS] -s [EMPLOYER’S_KEY] - - -Onde `` e `` são substituídos pelas strings previamente salvas correspondentes. -Você deve ver o log `"Decolando"` e o drone deve começar a voar: - - - -É assim que qualquer robô compatível com ROS pode ser controlado pelo controle da parachain Robonomics. - - -## Parte 2. Salvando Dados na Blockchain - -**Nesta parte continuaremos usando as ferramentas Robonomics para fazer um drone ser controlado por uma parachain. Desta vez adicionaremos o envio de dados para o IPFS e opções de armazenamento de hash na cadeia. Abaixo está a instrução e trechos de código. Requisitos:** - - - -
  • Ubuntu 18.04 LTS
  • - -
  • - -ROS Melodic + Gazebo + RViz (manual de instalação [aqui](http://wiki.ros.org/melodic/Instalação)) -
  • - -
  • - -IPFS 0.4.22 (baixe de [aqui](https://dist.ipfs.io/go-ipfs/v0.4.22/go-ipfs_v0.4.22_linux-386.tar.gz) e instale) -
  • - -
  • - -Nó Robonomics (arquivo binário) (baixe a última versão [aqui](https://github.com/airalab/robonomics/releases)) -
  • - -
  • Dependências do Python: - -pip install cv_bridge ipfshttpclient - -
  • - -
    - -Todo o processo de codificação desta parte da demonstração é apresentado em um vídeo abaixo. - -https://www.youtube.com/watch?v=dliLb6GHgpo&feature=youtu.be - -
    - -## 1. Adicionar dependências -Se lançarmos uma simulação e olharmos a lista de tópicos (veja a parte 1), veremos que há um tópico contendo dados da câmera frontal e usando o tipo de mensagem `sensor_msgs/Image`: - - - -Vamos tentar tirar uma foto a cada 1 segundo e depois do voo publicar essas fotos no IPFS. Se você completou o primeiro tutorial, não precisa baixar mais nada. É o script `drone_sample_controller_pictures.py`. - -## 2. Gerenciar contas no DAPP -Como feito em um tutorial anterior, crie um nó de rede local robonomics com o arquivo binário robonomics: - -./robonomics --dev - - -**Importante!** Antes dos próximos lançamentos é necessário remover um diretório `db` com - - -rm -rf /home/$USER/.local/share/robonomics/chains/dev/db - - -Após um lançamento bem-sucedido, crie contas seguindo [este](https://wiki.robonomics.network/docs/create-account-in-dapp/) manual. **Não se esqueça de salvar a semente e o endereço de cada conta! Você precisará deles para as transações**. Adicione esses endereços, sementes e caminho para o arquivo binário robonomics ao arquivo `config.config` em `robonomics_ws/src/robonomics_sample_controller/src`. Transfira algum dinheiro (unidades) para essas contas: - - - -## 3. Lançamento -Até agora o **único coisa em execução** deve ser o nó local robonomics. Em um terminal separado, inicie a simulação do drone: - - -roslaunch sjtu_drone simple.launch - - -Em outro lançamento, inicie o daemon ipfs: - -ifps init # you only need to do this once -ipfs daemon - - -Execute o script: - -rosrun drone_simulator_controller drone_sample_controller_pictures.py - - -Agora você pode enviar uma transação para acionar o drone a começar a voar e tirar fotos. Para fazer isso, você deve usar o subcomando `write` do Robonomics IO do arquivo binário robonomics: - - -echo "ON" | ./robonomics io write launch -r [DRONE_ADDRESS] -s [EMPLOYER’S_KEY] - - -Onde `` e `` são substituídos pelas strings previamente salvas correspondentes. -Você deve ver o log `"Decolando"` e o drone deve começar a voar e tirar fotos: - - - -Mais tarde, quando o trabalho estiver concluído, no portal Robonomics vá para `Desenvolvedor` -> `Estado da cadeia` e adicione um datalog `DRONE` usando o botão `“+”` com o `datalog` selecionado como consulta de estado. O hash IPFS da telemetria foi salvo no blockchain. Para ver os dados, basta copiar o hash e adicioná-lo ao endereço [gateway](https://gateway.ipfs.io/ipfs/QmeYYwD4y4DgVVdAzhT7wW5vrvmbKPQj8wcV2pAzjbj886/docs/getting-started/) local `localhost:8080/ipfs/`: - - - \ No newline at end of file diff --git a/courses/pt/learn/connect-mars-curiosity-rover/overview.md b/courses/pt/learn/connect-mars-curiosity-rover/overview.md deleted file mode 100644 index c68ebf71ee..0000000000 --- a/courses/pt/learn/connect-mars-curiosity-rover/overview.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -title: Conectar Mars Curiosity Rover -lastUpdate: Thu May 18 2023 10:41:00 GMT+0400 (Samara Standard Time) -description: Conectar Mars Curiosity rover sob controle da parachain Robonomics. -metaOptions: [Aprender] -defaultName: Connect Mars Curiosity Rover ---- - -**Vamos ver como o controle da Parachain Robonomics permite fazer o Mars Curiosity rover se mover. Requisitos:** - - - -
  • - -ROS Melodic + Gazebo + RViz (manual de instalação [aqui](http://wiki.ros.org/melodic/Instalação)) - -
  • - - -
  • pacotes extras: - - - sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller - - -
  • - -
  • - -IPFS até [0.6.0](https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-386.tar.gz) - -
  • - -
  • - -[Extensão complementar IPFS](https://github.com/ipfs/ipfs-companion) - -
  • - -
  • - -Nó Robonomics (arquivo binário) (baixe a última versão [aqui](https://github.com/airalab/robonomics/releases). Este tutorial foi testado com sucesso na versão 1.1) - -
  • - -
    - -
    - -Aqui está o vídeo mostrando o lançamento bem-sucedido: - -https://www.youtube.com/watch?v=6BSOyRbmac8 - - -
    - -### 1. Configurar uma simulação - -Baixar o pacote do rover Curiosity: - - mkdir -p robonomics_ws/src - cd robonomics_ws/src - git clone https://bitbucket.org/theconstructcore/curiosity_mars_rover/src/master/ - cd .. - catkin build - - -Precisamos ajustar as condições iniciais para fazer nosso rover aparecer suavemente: - - - -
  • Ir para - -`src/master/curiosity_mars_rover_description/worlds` e altere a linha 14 do arquivo` mars_curiosity.world` to -`0 0 8 0 0 0` - -
  • - -
  • Ir para - -`src/master/curiosity_mars_rover_description/launch` e alterar a linha 4 do arquivo `mars_curiosity_world.launch` para -`` - -Não se esqueça de adicionar o comando source ao `~/.bashrc` -`source /home/$USER/robonomics_ws/devel/setup.bash` - -
  • - -
  • Reiniciar console e lançar a simulação: - - - roslaunch curiosity_mars_rover_description main_real_mars.launch - - - - -
  • - -
    - -Nota: se a imagem estiver escura, por exemplo, sombreada, altere `Camera` para `Orthorgraphic` na barra de ferramentas do Gazebo. -A simulação pode ser fechada por um tempo. - ------------- - -
    - -### 2. Baixar pacote do controlador Robonomics -Para baixar um pacote de controlador para Rover digite no terminal: - - -cd ~/robonomics_ws/src -git clone https://github.com/PaTara43/robonomics_sample_controller -cd robonomics_sample_controller -pip3 install -r requirements.txt -pip3 install rospkg -cd .. -catkin build -DPYTHON_EXECUTABLE=/usr/bin/python3 # The controller supports python3 - - - ------------- - -
    - -### 3. Gerenciar contas no DAPP -Como estamos testando, vamos criar uma rede local de robonomics com o arquivo binário robonomics: - - - ./robonomics --dev --tmp - - - - - -Ir para [Portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) e mudar para nó local - - - - - -Ir para Contas e criar contas **CURIOSITY** e **EMPLOYER**. - -**Importante**! Copie o endereço de cada conta (para copiar o endereço, clique no ícone da conta) e a **seed mnemônica** da conta da Curiosity (obtida ao criar a conta) -Transferir algum dinheiro (unidades) para essas contas. Você pode ler mais sobre contas em Robonomics [aqui](https://wiki.robonomics.network/docs/en/create-account-in-dapp/) - - - - -Adicione esses endereços, seed e endereço do nó (padrão `ws://127.0.0.1:9944` para nó de desenvolvedor) em `config.config` em `robonomics_ws/src/robonomics_sample_controller/src`. Sem aspas. - ------------- - -
    - -### 4. Iniciar Robonomics - -Antes de prosseguir, certifique-se de ter instalado a [Extensão Companheira IPFS](https://github.com/ipfs/ipfs-companion). - -Em um terminal separado, inicie o IPFS: - - -ifps init #você só precisa fazer isso uma vez por instalação do IPFS -ipfs daemon - - -Em outro terminal separado, inicie a simulação da Curiosity se não estiver ao vivo: - -roslaunch curiosity_mars_rover_description main_real_mars.launch - - -Aguarde até que fique parado - -Em outro terminal, inicie o controlador: - - -rosrun robonomics_sample_controller sample_controller.py - - - - -Agora você pode enviar uma transação acionando o Rover para começar a se mover e coletar dados. Para fazer isso, você pode usar o mesmo [Portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/). -Vá para `Desenvolvedor->Extrínsecos` e selecione a conta do empregador da Curiosity, extrínseco `launch`, conta alvo da Curiosity e `yes` como parâmetro. -Envie o extrínseco. - - - -O robô deve começar a se mover. Ele não aceitará comandos de outras contas nem comandos com parâmetro `no`. O rover se moverá e coletará dados por cerca de um minuto. -Mais tarde, quando o trabalho estiver concluído: - - - - -No portal Robonomics vá para `Desenvolvedor -> Estado da cadeia` e obtenha um datalog `CURIOSITY` usando o botão “+” com `datalog -> RingBufferItem` selecionado como consulta: - - - - -Agora o hash IPFS da telemetria está salvo no blockchain. Para ver os dados, basta copiar o hash e encontrá-lo em um gateway: - - - - -Essa telemetria é mantida em um armazenamento descentralizado, e seu hash é armazenado em um blockchain! diff --git a/courses/pt/learn/escape-from-black-mirror/escape-instruction.md b/courses/pt/learn/escape-from-black-mirror/escape-instruction.md deleted file mode 100644 index c180929d67..0000000000 --- a/courses/pt/learn/escape-from-black-mirror/escape-instruction.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Notas para netrunners sobre cortar o cordão umbilical da nuvem, parte 2 -description: Fuga do Espelho Negro -metaOptions: [Aprenda, Fuja do Espelho Negro] -defaultName: Escape from Black Mirror ---- - - - Regras para Escapar do Espelho Negro - - - - -Notas para netrunners sobre cortar o cordão umbilical da nuvem que chamo de "O Plano de Fuga do Espelho Negro" com uma referência à série futurista que já aconteceu em meu tempo. Então, aqui está o plano de fuga: - -1. **Encontre pontos de conexão.** Você deve entender claramente quantos pontos de conexão com a rede global existem no ambiente do usuário, quem é o provedor e quais dispositivos específicos enviam dados da rede local para a rede Megapolis. -2. **Estude a infraestrutura IoT - habitação.** Verifique a força do sinal dos protocolos de comunicação usados em cada canto. -3. **Melhore a rede local.** Certifique-se de que qualquer dispositivo esteja disponível para o usuário sem se conectar à rede global. Além disso, estude a comunicação entre máquinas e certifique-se de que servidores externos não sejam usados para se comunicar entre, por exemplo, duas tomadas vizinhas na casa. -4. **Mude todos os dispositivos inteligentes para a rede local.** Encontre firmware adequado com repositórios de código aberto e ao vivo. Desative, desmonte, estude placas de dispositivos para componentes indesejados e identifique dispositivos vulneráveis a hacking de 1 minuto. Lembre-se, às vezes uma porca habilmente torcida pode resolver o problema melhor do que soldar a placa no joelho. -5. **Mude todos os dispositivos inteligentes para a rede local.** Encontre firmware adequado com repositórios de código aberto e ao vivo. Desative, desmonte, estude placas de dispositivos para componentes indesejados e identifique dispositivos vulneráveis a hacking de 1 minuto. Lembre-se, às vezes uma porca habilmente torcida pode resolver o problema melhor do que soldar a placa no joelho. -6. **Ensine o usuário a trabalhar com clientes de rede leves e mercado de provas.** Transfira para o usuário tantos tokens quanto forem necessários para 20 anos de trabalho na rede. -7. **Explique as regras de higiene digital.** Realize uma reunião sobre o conjunto de utilitários que fornecerão proteção confiável contra métodos populares de infecção externa. Faça o cliente perceber que agora apenas sua estupidez pode estragar sua vida, porque tudo complicado foi feito para ele pelos netrunners. - -Se você fizer tudo certo no último passo, o cliente lhe dará uma transação assinada para a transferência dos fundos sem dificuldade. Mas se sentir que aqueles dois seguranças atrás do cliente não estão aqui à toa, mas pela sua alma - aja rapidamente, inesperadamente e pela janela. Eles definitivamente não vão te pagar em tal imagem durante uma reunião, mas você vai fugir. Depois disso, ative imediatamente a instrução "Golpe de Fundos". - - - Boa sorte, netrunner! - \ No newline at end of file diff --git a/courses/pt/learn/escape-from-black-mirror/overview.md b/courses/pt/learn/escape-from-black-mirror/overview.md deleted file mode 100644 index 146c2c153e..0000000000 --- a/courses/pt/learn/escape-from-black-mirror/overview.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Notas para netrunners sobre cortar o cordão umbilical da nuvem, parte 1 -description: Fuga do Espelho Negro -metaOptions: [Aprenda, Fuja do Espelho Negro] -defaultName: Escape from Black Mirror ---- - - - Introduçãoduçãoduçãoduçãoduçãoduçãodução: "A história de uma garota chamada Trinity" - - -A mitologia da Grécia Antiga é dividida em dois ciclos principais: o período em que os Deuses Olímpicos governavam o mundo dos humanos, e um período posterior em que o caminho de vida dos heróis é predeterminado pelo destino, por exemplo, Troia ou a lenda de Édipo. Na minha vida, a princípio, tudo seguiu o segundo cenário - meu pai me nomeou Trinity ao nascer, e aos 20 anos segui uma espécie de coelho branco. - - - -A toca do coelho me trouxe de volta a Megapolis, mas da perspectiva do ônibus de informações de dados. Lá, nos centros de dados subterrâneos, encontrei evidências da existência de Deuses, semelhantes aos gregos em sua auto-importância, caprichos e desejos! - - - -Vários anos atrás, encontrei um ponto de acesso vulnerável completamente esquecido para a principal via da cidade. Eu tinha uma porta para um mundo estranho de código de programa transparente, legível e editável para o protocolo de comunicação básico de toda a Megacidade. Código de programa que me levou a interceptar câmeras, controlar fechaduras de portas sem o conhecimento dos proprietários e até mesmo controlar a qualidade dinâmica da água nas torneiras das cozinhas das casas individuais. Depois de ver tudo isso, fui tomada por um medo terrível. Medo de que tudo isso estivesse acontecendo intencionalmente do ponto de vista dos interesses de outra pessoa neste mundo. Não posso dizer que há uma grande silhueta maligna por trás de todas essas mudanças no código do protocolo, mas ao longo dos anos de observação por trás das cortinas, cheguei à conclusão de que centenas de pessoas com interesses diferentes têm acesso direto ao núcleo. Por mais que eu tentasse encontrar pelo menos um desses usuários privilegiados, fiquei apenas com a prova criptográfica interceptada da execução, mas sem chave do remetente, sem vestígios que pudessem me levar à verdade. - - - - -Agora sou uma netrunner especializada em fornecer segurança cibernética e privacidade no espaço pessoal de um cliente. Sou uma especialista que ajudará a evitar o controle externo de sua casa, escritório ou carro, mesmo que o sinal venha do núcleo autônomo da Megapolis. - - - - -Para buscar minha assistência, você precisa publicar um contrato na Praça Satoshi, em seguida, transferir ouro digital para o endereço do contrato. Depois disso, eu ou um dos profissionais verificados realizaremos o ato de cortar a duplicata digital da nuvem do objeto real no mundo físico. Entre nós, chamamos esse ato de renascimento com o corte do cordão umbilical. Agora você é uma pessoa importante e livre! Você não precisa se preocupar com alguém invadindo sua inicialização através de uma gravação do quarto onde você se masturba com uma foto de sua irmã enquanto usa uma máscara de couro. Você pode discutir calmamente política com um amigo da Califórnia, sendo um congressista do Texas. Você pode discutir este mundo com seus filhos não a partir de um livro didático e não ter medo de que seus direitos parentais sejam decididos. - -Lembra quando te disse que fui tomada pelo medo depois de perceber tudo? Pensei que o resto da minha vida era um teatro de marionetes de alguém. Mas trabalhar como netrunner me salvou de uma profunda depressão, embora nunca tenha descoberto a verdade sobre esses estranhos deuses terrenos. Em vez de depressão, decidi me alegrar quando posso ajudar alguém influente, rico ou apenas preocupado com sua privacidade a evitar o envolvimento involuntário em outra temporada do drama de CyberDionísio. \ No newline at end of file diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md deleted file mode 100644 index bf2ba2c08a..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/blockchain-based-smart-home-solutions.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Soluções de casa inteligente baseadas em blockchain -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - -Zoe continua a procurar informações sobre como encontrar uma solução de casa inteligente sem armazenamento de dados na nuvem. - - - - -**Zoe**: - -Soluções para uma casa inteligente sem armazenamento de dados na nuvem. - - - - - - -1. **Sistemas de controle descentralizados: Sistemas de controle descentralizados permitem gerenciar uma casa inteligente sem depender do armazenamento de dados na nuvem. Em vez de enviar dados para um servidor, esses sistemas usam dispositivos locais para processar e gerenciar informações.** -2. Redes de malha: Redes de malha permitem que dispositivos de casa inteligente se comuniquem diretamente entre si, evitando a necessidade de armazenamento de dados centralizado. Isso ajuda a manter a privacidade dos dados e fornece uma transmissão de dados mais rápida. -3. Dispositivos de armazenamento de dados locais: Alguns dispositivos de casa inteligente podem armazenar dados localmente, sem a necessidade de transmitir informações para um local de armazenamento centralizado. Por exemplo, câmeras IP podem armazenar gravações em armazenamento local em vez de um servidor remoto. -4. **Soluções baseadas em blockchain: A tecnologia Blockchain pode ser usada para criar sistemas descentralizados de gerenciamento residencial inteligente, onde os dados são armazenados localmente em dispositivos e protegidos pelo blockchain. Essas soluções fornecem privacidade de dados e proteção contra hackers.** -5. Computação de borda: A computação de borda é uma tecnologia onde o processamento de dados ocorre em um dispositivo local em vez de em um servidor remoto. Isso reduz a carga no armazenamento de dados centralizado e aumenta a velocidade de processamento de dados em uma casa inteligente. - - - - - -**Zoe**: - -Escreva as vantagens de uma solução de casa inteligente baseada em blockchain. - - - - - - - -Abaixo estão algumas vantagens de uma casa inteligente usando soluções baseadas em blockchain: - -1. **Segurança: Uma das principais vantagens de uma solução baseada em blockchain é um alto nível de segurança de dados. Graças à natureza distribuída da blockchain e aos métodos de criptografia criptográfica, o armazenamento e processamento de dados ocorrem em um ambiente seguro, impedindo o acesso não autorizado e hacking.** -2. **Privacidade: Soluções baseadas em blockchain permitem gerenciar o acesso aos dados e preservar a confidencialidade de dados pessoais, como informações de agendamento, automação residencial, etc.** -3. Controle descentralizado: Soluções baseadas em blockchain permitem criar controle descentralizado sobre dispositivos de casa inteligente. Isso significa que os dispositivos podem interagir diretamente entre si em vez de através de um servidor centralizado, melhorando o desempenho e reduzindo o tempo de resposta do comando. -4. Flexibilidade: Soluções baseadas em blockchain são flexíveis e podem se adaptar às necessidades do usuário em mudança. Graças à capacidade de programar contratos inteligentes, os usuários podem facilmente personalizar e reconfigurar suas casas conforme necessário. -5. Economia de custos: Usar a tecnologia blockchain pode aumentar a eficiência na gestão de uma casa inteligente e reduzir os custos de manutenção da infraestrutura. Isso permite reduzir despesas com eletricidade e outros custos associados à gestão de uma casa inteligente. -6. **Gestão remota: Soluções baseadas em blockchain permitem que os usuários gerenciem suas casas inteligentes de qualquer lugar do mundo com acesso à internet. Portanto, os usuários podem controlar seus dispositivos e configurar sua operação de qualquer lugar do mundo, o que é conveniente durante viagens longas, férias ou viagens de negócios.** -7. Execução rápida de comandos: Soluções baseadas em blockchain permitem gerenciar uma casa inteligente com baixos atrasos na execução de comandos. Como os dispositivos de casa inteligente interagem diretamente entre si, a transmissão de comandos através de um servidor centralizado não é necessária, o que acelera a execução de comandos. -8. **Sistemas de automação: Graças à tecnologia blockchain, os usuários podem criar sistemas complexos de automação residencial onde os dispositivos interagem entre si para otimizar o uso de recursos e aumentar a eficiência energética.** -9. Abertura e transparência: A tecnologia blockchain é aberta e transparente, o que significa que os usuários podem verificar facilmente a integridade e precisão dos dados no sistema. Isso aumenta a confiança no sistema e reduz a probabilidade de conflitos e disputas. -10. Integração com outros sistemas: Soluções baseadas em blockchain podem ser integradas com outros sistemas de gestão doméstica, como fechaduras inteligentes, sensores de janelas inteligentes, termostatos inteligentes, etc. Isso aumenta a conveniência e eficiência na gestão de uma casa inteligente e simplifica a vida cotidiana dos usuários. -11. **Sem risco de armazenamento de dados na nuvem: Usar soluções baseadas em blockchain em uma casa inteligente elimina o risco de armazenar dados em armazenamento na nuvem, aumentando a segurança e confiabilidade dos dispositivos de casa inteligente.** - - - - - -**Zoe**: - -O que é blockchain e web3 em termos simples? - - - - - - - -**Blockchain é** um banco de dados distribuído que armazena informações sobre todas as transações feitas no sistema. Cada transação é registrada em um bloco, que é então adicionado a uma cadeia de blocos chamada blockchain. Cada bloco está ligado ao bloco anterior na cadeia, criando um registro imutável e à prova de violação. - -**Web3 é** uma nova geração da Internet que representa uma rede descentralizada baseada em blockchain. Isso significa que sites e aplicativos funcionam sem um servidor central ou empresa controladora, e a interação entre os usuários é direta. Web3 permite que os usuários controlem seus dados e participem de aplicativos e economias descentralizadas, usando criptomoedas e tokens. - - - - -Zoe encontrou informações sobre a possibilidade de usar uma solução baseada em blockchain em uma casa inteligente, o que elimina o risco de armazenar dados em armazenamento na nuvem e garantirá a segurança dos dados dela e de sua família. - \ No newline at end of file diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md deleted file mode 100644 index bccdbad23e..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/home-assistant-blockchain-web3.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: Home Assistant + blockchain+Web3 -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - -Continuamos a estudar o problema em nome da dona de casa que inventamos anteriormente com inteligência artificial. - - -Zoe já pesquisou informações sobre soluções atuais para casas inteligentes, entendeu os riscos da segurança de dados e do armazenamento centralizado em nuvem. Ela encontrou uma possível solução para o problema através do Home Assistant e das possibilidades das soluções de casas inteligentes blockchain e web3, que podem garantir a segurança de seus dados e reduzir os riscos potenciais para sua família. - -Agora ela está procurando uma solução e instruções sobre como conectar uma casa inteligente com integração do Home Assistant, blockchain e web3. - -## Perguntando ao Auto-GPT sobre Casa Inteligente em cima do Blockchain - - - -**Nome da IA: Dona de Casa** - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa. - -**Objetivo 1:** Escrever uma lista de links para sites com instruções ou lições sobre como conectar uma casa inteligente soberana e segura ao blockchain, web3 com home assistant e criar o arquivo de texto - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-1-2-bb601d4777834c8183e5e513cf2132f9)** - - - -Guia detalhado sobre a integração do protocolo blockchain Web3 com o Home Assistant: - -1. Instale o Home Assistant: O primeiro passo é instalar o Home Assistant em seu dispositivo. Você pode visitar o site oficial do Home Assistant para obter instruções. - -2. Instale a biblioteca Web3.js: Web3.js é uma biblioteca JavaScript que permite a interação com o blockchain Ethereum. Você pode instalá-lo diretamente em seu ambiente Home Assistant usando o Node.js. - -3. Instale o cliente Ethereum: Um cliente Ethereum é necessário para interagir com a rede Ethereum. Algumas opções incluem Geth, Parity ou Infura. Você precisará criar uma conta com o cliente e obter uma chave de API para poder enviar transações. - -4. Configure o ambiente: Depois de ter tudo instalado, é hora de configurar seu ambiente Home Assistant. Você precisará configurar o provedor Web3.js, a integração do cliente Ethereum e configurar seus Contratos Inteligentes. - -5. Integração de Contrato Inteligente: Contratos Inteligentes são contratos autoexecutáveis com os termos do acordo escritos em código. Você pode implantar seus próprios Contratos Inteligentes na rede Ethereum e interagir com eles usando o Web3.js. - -6. Teste e implemente: É importante testar sua integração antes de implementá-la amplamente. Depois de testar tudo e estar satisfeito com a integração, você poderá implantá-la em sua casa inteligente. -Instruções sobre como conectar uma casa inteligente ao blockchain e web3 com assistente doméstico usando Robonomics: -- **Visite [https://github.com/airalab/homeassistant-robonomics-integration](https://github.com/airalab/homeassistant-robonomics-integration) e leia as instruções** - -- **Siga o processo de instalação e configuração delineado para conectar o home assistant ao blockchain e web3 usando Robonomics.** - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-2-2-5c4ad9df8a0d473eb62ea23461de4c49)** - -Zoe encontra informações sobre o processo de configuração e conexão do Home Assistant ao blockchain e Web3 usando Robonomics. Ela também está procurando informações para estudar sobre o projeto Robonomics. - -## Perguntando ao Auto-GPT sobre Robonomics - - - -**Nome da IA:** Dona de Casa - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1:** Encontrar todas as informações sobre Robonomics, Rede Robonomics, robonomics.network e criar o arquivo de texto - - - - - -Robonomics é uma plataforma para integrar robôs na economia. A plataforma é construída em cima do blockchain Ethereum e usa contratos inteligentes para permitir a comunicação e coordenação entre robôs e outros participantes na rede. O principal objetivo do Robonomics é criar um mercado para o trabalho de robôs, onde os robôs podem oferecer e cumprir autonomamente a demanda por trabalho, sem a necessidade de intervenção humana. Isso permitirá uma nova geração de aplicações industriais e de consumo, e tem o potencial de transformar fundamentalmente a forma como trabalhamos e vivemos. - -A Rede Robonomics é uma plataforma descentralizada para integrar interações economicamente eficientes e auto-reguladas entre usuários e dispositivos. A Rede Robonomics permite construir protocolos de economia descentralizada para blockchain e IoT. Através do Robonomics, as pessoas podem adquirir ativos digitais, incluindo transporte, comunicação e dados e serviços em tempo real; tudo isso garantindo a precisão, confiabilidade e segurança crescentes de sensores e sistemas automatizados que operam em nossas vidas diárias. - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-2-3e1c2a7ab4dc4982af661fec846a493f)** - - -## Perguntando ao Auto-GPT sobre as atualizações do Robonomics para 2022 e 2023 - - - -**Nome da IA:** Dona de Casa - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1:** Encontrar e estudar informações atuais para 2022 e 2023 e atualizações no projeto sobre Robonomics, rede Robonomics e criar o arquivo de texto - - - - - -Informações da Rede Robonomics: - -- A Rede Robonomics é uma plataforma descentralizada que conecta dispositivos IoT e tecnologia blockchain. -- É construída na Polkadot Relay Chain, o que permite alta escalabilidade e interoperabilidade. -- O token da rede é XRT e é usado para fins transacionais na rede. -- A rede recentemente anunciou o lançamento de sua parachain, que ajuda a melhorar a escalabilidade e fornecer um alto grau de segurança. -- De acordo com o site da Rede Robonomics, a rede tem cerca de 10,5m $XRT bloqueados. -- A Rede realizou várias campanhas de crowdloan, sendo a mais recente realizada em novembro de 2022, para financiar projetos na rede. -- A Rede deu uma atualização em março de 2023 sobre sua parachain e escalabilidade. -- Existem várias exchanges onde $XRT pode ser negociado, como a Coinbase. -- O Twitter da Rede Robonomics é @AIRA_Robonomics. - -Referências - -1. https://robonomics.network/ -2. https://twitter.com/AIRA_Robonomics - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-2-1c3eb42e9dc941aca7b90e5d499204eb)** - - -## Perguntando ao Auto-GPT sobre a configuração de casas inteligentes Robonomics - - - -**Nome da IA:** Dona de Casa - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1:** Encontrar links para o curso e instruções para conectar a casa inteligente soberana Robonomics e criar o arquivo de texto - - - - - -Aqui está o link para o curso de casas inteligentes Robonomics: **[https://robonomics.academy/learn/smart-home-course/overview/](https://robonomics.academy/learn/smart-home-course/overview)** e as instruções para conectar a casa inteligente soberana Robonomics: **[https://github.com/airalab/robonomics-network/blob/master/README.md#how-to-setup-sovereign-smart-home](https://github.com/airalab/robonomics-network/blob/master/README.md#how-to-setup-sovereign-smart-home)** - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-13-5-2-f160f5688e13441086dafebaa8d65c89)** - - -## Perguntando ao Auto-GPT sobre publicações de casas inteligentes Robonomics - - - -**Nome da IA:** Dona de Casa - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1:** Encontrar artigos e publicações sobre casas inteligentes Robonomics e criar o arquivo de texto - - - - - -https://robonomics.network/blog/robonomics-town-hall-2022/ - -https://wiki.robonomics.network/docs/hass-os-upgrade/ - -https://robonomics.network/blog/trajectory-2022-heading-for-product-launches/ - -https://github.com/airalab/robonomics-wiki/issues - -https://wiki.robonomics.network/docs/sls-gateway/ - -https://github.com/airalab/homeassistant-robonomics-integration - -https://moonbeam.network/announcements/robonomics-xcm-integration/ - -https://github.com/orgs/airalab/repositories?language=python&type=all - - - -Veja todo o processo **[aqui](https://www.notion.so/Process-AUTO-GPT-13-7-1-6ce630949ad343a0a9c095b6442355d3)** - - - -No total, Zoe, a dona de casa, foi capaz de estudar todas as informações sobre casas inteligentes e encontrou uma solução para uma casa inteligente segura. Ela também pesquisou informações sobre Robonomics e encontrou links para o curso. Seu próximo passo é estudar o curso. - -Seu próximo passo é estudar o curso [https://robonomics.academy/learn/smart-home-course/overview](https://robonomics.academy/learn/smart-home-course/overview) e [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) - - - - diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md deleted file mode 100644 index 97aea65873..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/meet-fake-housewife-zoe-and-her-story.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Conheça a Dona de Casa Falsa Zoe e sua história -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - - - -Vamos começar nosso diálogo em nome da dona de casa que inventamos anteriormente com um bate-papo. - - - - -**Zoe:** - -Oi! - -Meu nome é Zoe, e eu sou uma dona de casa. Tenho 35 anos e dois filhos, um marido e um cachorro. Tenho uma casa grande, e fico muito cansada de limpar, lavar roupa, cozinhar e cuidar das crianças. Tenho muito estresse com as tarefas domésticas, e à noite, não tenho energia para passar um tempo de qualidade com meu marido. - -Preciso de ideias para pausas de 15-20 minutos para descanso, recuperação e relaxamento em casa para que eu possa ficar energizada e ter forças para passar tempo com meu marido. - - - - - - - - - - -Oi Zoe! Posso sugerir alguns cenários para pausas de descanso que podem ajudar você a se recuperar e relaxar: - -1. Cenário de exercício de respiração: - - Encontre um lugar tranquilo na casa onde você se sinta confortável. - - Prepare um difusor com seu óleo aromático favorito. - - Toque música meditativa ou sons da natureza. - - Sente-se em uma posição confortável e feche os olhos. - - Comece a respirar devagar e profundamente por 5 minutos, focando na sua respiração e tentando se livrar de pensamentos negativos. - - Depois faça uma pausa de 2-3 minutos para aproveitar o silêncio e a calma. - - Repita esse ciclo mais 2-3 vezes. -2. Cenário de yoga: - - Encontre um lugar aconchegante na casa onde você se sinta confortável para fazer exercícios de yoga. - - Prepare um difusor com óleo de lavanda ou hortelã-pimenta. - - Toque música relaxante ou sons da natureza. - - Comece a fazer exercícios leves de yoga, como Saudação ao Sol, Postura da Árvore, e outros que você goste. - - Repita cada exercício 3-4 vezes, mantendo a postura por alguns segundos. - - Depois faça uma pausa de 2-3 minutos para aproveitar o silêncio e a calma. - - Repita esse ciclo mais 2-3 vezes. -3. Cenário de meditação: - - Encontre um lugar tranquilo na casa onde você se sinta confortável. - - Prepare um difusor com óleo de lavanda ou outras misturas meditativas. - - Toque música meditativa ou sons da natureza. - - Sente-se em uma posição confortável e feche os olhos. - - Comece a respirar devagar e profundamente por 5 minutos, focando na sua respiração e tentando se livrar de pensamentos negativos. - - Em seguida, continue sentado e focando na sua respiração ou use uma meditação guiada pelos próximos 10-15 minutos. - - Faça uma pausa de 2-3 minutos para aproveitar o silêncio e a calma após a meditação. - - - - - -**Zoe**: - -Pense em como equipar um lugar para meditação, yoga, respiração profunda e tocar música relaxante para que o cenário da zona de relaxamento funcione automaticamente - - - - - - - -Para fazer o cenário da zona de relaxamento funcionar automaticamente, você precisa usar um sistema de automação residencial. Esse sistema permitirá que você configure um cenário que será executado automaticamente em um horário específico ou sob certas condições. Aqui estão algumas ideias de como equipar um lugar para meditação, yoga, respiraç��o profunda e tocar música relaxante usando um sistema de automação residencial: - -1. Casa inteligente controlada por voz: Você pode usar uma casa inteligente controlada por voz para iniciar o cenário da zona de relaxamento. Por exemplo, você pode configurar o sistema para responder ao comando "Iniciar cenário da zona de relaxamento," e o sistema automaticamente tocará música relaxante, acenderá velas e ligará um difusor com óleos aromáticos. -2. Sensores de movimento: Instale sensores de movimento na zona de relaxamento que acionarão automaticamente o cenário quando você entrar no cômodo. Isso pode incluir tocar música relaxante, acender as luzes e ligar o difusor com óleos aromáticos. -3. Temporizadores: Configure um temporizador que iniciará automaticamente o cenário da zona de relaxamento em um horário específico todos os dias. Isso pode ser de manhã antes de começar o trabalho ou à noite depois do trabalho. -4. Use um aplicativo móvel: Instale um aplicativo móvel de automação residencial que permitirá que você controle o cenário da zona de relaxamento de qualquer lugar da casa. Você pode iniciar o cenário quando precisar relaxar ou fazer uma pausa. -5. Sistema de reconhecimento facial: Instale um sistema de reconhecimento facial que acionará automaticamente o cenário da zona de relaxamento quando o sistema reconhecer seu rosto. Isso pode ser útil se você não quiser fazer nada para iniciar o cenário da zona de relaxamento, como após um longo dia de trabalho. - - - - - -E assim, Zoe, a dona de casa, compartilhou seu problema e conseguiu encontrar uma solução com a ajuda da IA. Agora, ela precisa tomar a decisão certa em relação à automação residencial. Vamos para o próximo capítulo. - - \ No newline at end of file diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md deleted file mode 100644 index a18d1ad626..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/overview.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Visão Geral -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - - - - Olá e bem-vindo! - - Neste guia-história, quero experimentar com IA para abordar questões com soluções padrão de casas inteligentes, explorar opções de automação criativa e buscar maneiras de simplificar o processo de conectar uma casa inteligente à Robonomics. - - Também quero envolver você nesse experimento! - - -Não vou esconder que este guia tem suas origens em uma situação da vida real que eu pessoalmente enfrentei. Como mãe, esposa e workaholic, comecei a perceber que precisava de momentos de descanso e recuperação, pois a energia tende a se esgotar. Como alguém que adora gadgets e é proprietário de uma casa inteligente há muito tempo, eu queria que essa solução fosse automatizada - prática, confortável, agradável e economizadora de tempo para algo mais útil e produtivo :) E como tenho me interessado pelo progresso da IA ultimamente, queria experimentar e combinar o útil e o agradável. - -Hoje, muitas pessoas já têm um sistema de casa inteligente, mas nem todos entendem as especificidades e problemas. Por isso, decidi analisar a situação atual usando IA e uma Dona de Casa Falsa que começará sua história do zero com conhecimento mínimo. - -- Descrever um problema pessoal -- Criar uma solução para ele -- Estudar as especificidades das casas inteligentes e os problemas associados a elas -- Entender as tecnologias envolvidas -- Aprender sobre o processo de conexão de dispositivos e o nível de dificuldade envolvido -- Elaborar um cenário de automação personalizado -- Tentar instalar automação residencial -- Escolher os dispositivos inteligentes certos e onde comprá-los -- Determinar onde é necessária ajuda especializada adicional -- Resolver o problema no final - -Considerando a tendência de desenvolvimento contínuo da inteligência artificial (IA), mas ainda não atingindo a perfeição, algumas tarefas podem permanecer não resolvidas para nossa Dona de Casa Falsa. Portanto, este guia será dinâmico, e eu informarei você sobre atualizações em nossos canais e no Twitter. Questões não resolvidas serão marcadas como "em investigação" pela Dona de Casa Falsa, mas você pode participar da discussão e ajudá-la com seu personagem de IA - ela ficará feliz com a assistência. - -A discussão deste guia pode ser conduzida em nosso chat do Discord #robonomics-academy com uma tag e em nossos chats do Telegram. - -Espero que este guia ajude você a resolver tarefas pessoais para gerar cenários criativos para sua casa e configurar automação para uma casa inteligente soberana usando Robonomics como exemplo. Se você é novo no assunto, o guia fornecerá uma oportunidade para entender as questões e tomar a decisão certa ao escolher um sistema de casa inteligente. - -Aprenda, experimente e compartilhe seus resultados no Twitter com a tag [#RobonomicsSpringSchool2023](https://twitter.com/hashtag/RobonomicsSpringSchool2023?src=hashtag_click). - -Componentes de nossas governantas de IA: - -- **ChatGPT** - encontrar soluções para problemas, estudar terminologia e até criar um nome para a governanta de IA -- **AutoGPT** - pesquisar questões e suas soluções, estudar automação, procurar dispositivos e especialistas adicionais -- **[synthesia.io](https://www.synthesia.io/)** - imagem dinâmica da governanta de IA -- **Midjourney** - ilustrações -- **NotionAI** - a capacidade de se comunicar em diferentes idiomas com formulações corretas. - -Então vamos conhecer nossa Dona de Casa Desesperada Falsa & IA! diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md deleted file mode 100644 index 53990fa824..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/risks-of-smart-home.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: Riscos das soluções padrão de Smart Home e o Home Assistant -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - - - - Aqui Zoe pesquisa os riscos de instalar um sistema de casa inteligente. - - - -## Primeira pesquisa com ChatGPT - - - -**Zoe:** - -Qual é o principal problema dos sistemas modernos de casa inteligente? - - - - - - -O principal problema dos sistemas modernos de casa inteligente é o potencial **comprometimento da privacidade e segurança devido à coleta e transmissão de grandes quantidades de dados pessoais**. Esse problema é exacerbado pela complexidade e problemas de compatibilidade desses sistemas, bem como seu alto custo e preocupações com confiabilidade e manutenção. Esses fatores podem limitar os benefícios potenciais dos sistemas de casa inteligente e ser uma barreira para a adoção por muitas pessoas. - - - - - -**Zoe:** - -Quais são os perigos de violar a confidencialidade e segurança devido à coleta e transmissão de grandes volumes de dados pessoais em um sistema de casa inteligente, especialmente com crianças vivendo na casa? - - - - - - - -Violar a confidencialidade e segurança devido à coleta e transmissão de grandes volumes de dados pessoais em um sistema de casa inteligente **pode levar a sérias consequências, especialmente se crianças vivem na casa.** Aqui estão algumas ameaças possíveis: - -1. Roubo de dados pessoais: Se um hacker ganhar acesso ao sistema de casa inteligente, ele pode acessar uma grande quantidade de dados pessoais, como seu horário de trabalho, hábitos e estilo de vida, bem como dados pessoais de outros membros da família. Esses dados podem ser usados para extorsão ou roubo de identidade. -2. Violação de confidencialidade: Se o sistema de casa inteligente não estiver devidamente seguro, hackers podem ter acesso a vigilância por vídeo ou gravações de áudio, o que viola a privacidade da vida na casa. -3. Ameaças de segurança: Se um hacker ganhar acesso ao sistema de casa inteligente, ele pode invadir o sistema e ter acesso a dispositivos de casa inteligente, como sistemas de segurança, fechaduras eletrônicas e outros dispositivos que podem representar uma ameaça à vida e saúde dos membros da família. -4. Malware: Se o sistema de casa inteligente não estiver devidamente seguro, ele pode se tornar vítima de malware, que pode roubar dados ou levar à perda de controle sobre o sistema de casa inteligente. -5. Segurança infantil: Se um sistema de casa inteligente for usado em uma casa onde há crianças, ele pode representar um perigo para sua segurança e saúde. Por exemplo, um hacker pode ganhar acesso ao sistema de casa inteligente e desativar sistemas de segurança, como detectores de fumaça ou sensores de movimento, o que pode levar a perigos potenciais para as crianças. - -**Em geral, violar a confidencialidade e segurança em um sistema de casa inteligente pode levar a sérias consequências, incluindo roubo de dados pessoais, violação de confidencialidade, ameaças de segurança e ameaças à segurança infantil. Portanto, é importante garantir a proteção do sistema de casa inteligente e cumprir as medidas de segurança.** - - - -Zoe identificou um problema com as soluções atuais de casa inteligente relacionadas à possibilidade de vazamento de dados pessoais. Ela entende os riscos e continua a explorar opções para conectar a automação sem soluções baseadas em nuvem. - -## Aprofunde-se com o Auto-GPT - - - -**Nome do AI: Dona de Casa aqui!** - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1 :** Encontrar uma solução para conectar uma casa inteligente local segura sem armazenamento em nuvem e sem usar servidores em nuvem centralizados - -**Objetivo 2 :** Escrever links para páginas que descrevem instruções para conectar uma casa inteligente local segura sem armazenamento em nuvem e sem usar servidores em nuvem centralizados - - - - - -Para instalar o Home Assistant sem usar um servidor em nuvem, siga as instruções fornecidas pelo site do Home Assistant em **[https://www.home-assistant.io/installation/](https://www.home-assistant.io/installation/).** - - -Assista todo o trabalho do Auto-GPT [aqui](https://www.notion.so/Process-AUTO-GPT-ousewife-9-1-1-a017c63d7707483a92f6872361e0f8fa). - -## Continue com o ChatGPT - -Zoe encontra uma solução sem usar um servidor em nuvem - Home Assistant. Ela começa a estudar as vantagens e desvantagens do sistema Home Assistant. - - - - -**Zoe**: - -Vantagens do sistema de casa inteligente Home Assistant - - - - - - - -O Home Assistant é um sistema de gerenciamento de casa inteligente poderoso e flexível que oferece inúmeros benefícios para os usuários: - -1. Flexibilidade: O Home Assistant pode integrar uma variedade de dispositivos e sistemas de casa inteligente, permitindo aos usuários criar um sistema de gerenciamento personalizado adaptado às suas necessidades específicas. -2. Código aberto: O Home Assistant é um sistema de código aberto, permitindo aos usuários personalizar o sistema e adicionar novos recursos conforme necessário. -3. Automação: O Home Assistant permite aos usuários configurar ações automáticas com base em eventos como horário do dia, clima ou ações do usuário, tornando o gerenciamento da casa inteligente mais fácil e confortável. -4. Interface gráfica: O Home Assistant possui uma interface web intuitiva que facilita o gerenciamento de todos os dispositivos e configurações do sistema. -5. **Segurança: O Home Assistant oferece um alto nível de segurança e proteção de dados. Os usuários podem configurar senhas e outras medidas de segurança para proteger seus dispositivos e dados.** -6. Gestão local: O Home Assistant permite aos usuários gerenciar sua casa inteligente sem uma conexão com a internet. Isso torna o sistema confiável e resiliente a falhas de internet. -7. Comunidade: O Home Assistant possui uma grande comunidade de usuários que compartilham suas experiências e conhecimento do sistema. Isso permite aos usuários receber suporte e resolver problemas relacionados ao gerenciamento de casa inteligente. - -Assim, o Home Assistant oferece inúmeros benefícios para os usuários, incluindo **flexibilidade, automação, segurança, gestão local e suporte da comunidade.** - - - - - -**Zoe**: - -Descreva a principal desvantagem do sistema de casa inteligente Home Assistant - - - - - - - -A principal desvantagem do sistema de casa inteligente Home Assistant pode ser a complexidade de configurar e configurar o sistema. Para usar o Home Assistant, o usuário deve ter um certo nível de literacia técnica e compreensão do trabalho com software. - -Configurar o Home Assistant pode ser bastante complicado e demorado. É necessário configurar corretamente todos os dispositivos, criar automação e configurar a interface do usuário. Isso pode ser um desafio para os usuários, especialmente aqueles que não têm experiência suficiente em trabalhar com software. - -Além disso, ao usar o Home Assistant, pode haver problemas de compatibilidade com alguns dispositivos e **dificuldades na configuração do acesso remoto.** Isso pode ser causado por vários fatores, como limitações no trabalho com a API de alguns dispositivos e configurações de segurança. - -Assim, embora o Home Assistant ofereça muitas oportunidades para gerenciar uma casa inteligente, sua complexidade de configuração e configuração podem ser a principal desvantagem para alguns usuários. - - - - - -**Zoe**: - -Descreva o problema do controle remoto no Home Assistant - - - - - - - -O problema do controle remoto no Home Assistant é que, por padrão, o sistema só é acessível dentro da rede local na qual está configurado. Isso significa que se você estiver **fora de casa ou não conectado à sua rede doméstica, não poderá controlar remotamente seus dispositivos e sistema de casa inteligente através do Home Assistant.** - -Para resolver esse problema, vários métodos podem ser usados: - -1. Configurar o acesso remoto através de VPN: isso permite que você se conecte de forma segura à sua rede doméstica de qualquer lugar com acesso à internet. Esta solução é a mais segura, pois os dados são criptografados e apenas usuários autorizados têm acesso ao sistema de casa inteligente. -2. Usar serviços em nuvem: O Home Assistant tem suporte para serviços em nuvem como Nabu Casa, que fornecem acesso remoto ao seu sistema. No entanto, isso pode exigir despesas adicionais, pois você precisa se inscrever nesses serviços. -3. Configurar o encaminhamento de porta: isso permite que você abra portas em seu roteador para que usuários remotos possam se conectar ao sistema através da internet. No entanto, isso pode representar uma ameaça à segurança, pois usuários não autorizados também podem obter acesso ao sistema. - -**É importante observar que qualquer conexão remota ao seu sistema de casa inteligente deve ser feita usando métodos seguros para proteger seus dispositivos e dados.** - - - - - -**Zoe**: - -Descreva os inconvenientes se eu estiver fora de casa ou não conectado à minha rede doméstica, e não puder controlar remotamente meus dispositivos inteligentes e sistema de automação residencial através do Home Assistant enquanto as crianças estiverem morando na casa. - - - - - - - -O inconveniente de não poder controlar remotamente seus dispositivos inteligentes e sistema de automação residencial através do Home Assistant quando você está longe de casa ou não conectado à sua rede doméstica pode ser particularmente **desafiador se você tiver crianças morando em casa.** - -Sem acesso remoto, você pode ser incapaz de ajustar ou monitorar a temperatura, iluminação, segurança ou outras características essenciais de sua casa enquanto estiver longe. **Isso poderia potencialmente impactar a segurança e o conforto de suas crianças,** bem como interromper suas rotinas diárias e horários. Por exemplo, **se seu filho deixar acidentalmente um queimador de fogão ligado, você não poderá desligá-lo remotamente, potencialmente levando a um risco de incêndio.** - - - - - - -Zoe estudou as vantagens e desvantagens do sistema Home Assistant. A principal desvantagem é a falta de conexão remota, o que pode afetar a segurança das crianças. Ela continua a procurar informações sobre encontrar uma solução de casa inteligente sem armazenamento de dados em nuvem. - - - - - - diff --git a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md b/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md deleted file mode 100644 index 36887d4874..0000000000 --- a/courses/pt/learn/fake-housewife-and-ai-research-smart-home-solution/studying-the-sovereign-smart-home-course.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: "Estudando o curso de casa inteligente soberana na academia e instruções da WIKI:" -description: Solução de Casa Falsa e Pesquisa de IA Casa Inteligente -metaOptions: [Aprender, Solução de Casa Falsa e Pesquisa de IA Casa Inteligente] -defaultName: Fake Housewife & AI research Smart Home Solution ---- - - - -Zoe está começando a aprender sobre [https://robonomics.academy/learn/smart-home-course/overview/](https://robonomics.academy/learn/smart-home-course/overview/) e [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) para entender o que ela precisa para conectar sua casa inteligente ao Robonomics. Ela pode instalar a casa inteligente sozinha e como pode adquirir uma assinatura? - - - -## PASSO 1: Curso de casa inteligente soberana com robonomics e assistente doméstico e visão geral da WIKI do Robonomics - - - -**Nome da IA: Dona de Casa** - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1 :** Aprender https://robonomics.academy/en/learn/smart-home-course/overview , https://robonomics.academy/en/learn/smart-home-course/robonomics-hass-theory/ , https://wiki.robonomics.network/docs/robonomics-smart-home-overview , e escrever com base nessas páginas informações Sobre o curso “casa inteligente soberana com robonomics e assistente doméstico”, escrever os principais problemas com a solução atual de casas inteligentes, escrever Requisitos de instalação para casas inteligentes Robonomics, escrever componentes de casa soberana e criar o arquivo de texto - - - - - -Uma casa inteligente soberana com Robonomics e Home Assistant é um sistema de automação residencial local que permite aos usuários controlar seus dados e evitar o uso de provedores de nuvem centralizados ou gateways proprietários caros. O curso ensina a arquitetura e habilidades práticas para configurar e conectar equipamentos de casa inteligente e usar a parachain Robonomics para IoT - -O seguinte é um relatório estruturado que fornece uma visão geral dos componentes e requisitos de instalação para uma casa inteligente soberana com Robonomics e Home Assistant: - -Componentes: -- Raspberry Pi 4 (pelo menos 2 GB de RAM) -- Cartão SD (mínimo de 16 GB) e adaptador SD -- Dispositivos inteligentes Zigbee -- Adaptador Zigbee -- Computador com um sistema operacional semelhante ao UNIX -- Sistema operacional Windows (necessário para flash do Gateway SLS) - -Requisitos de instalação: -- Instalar o Home Assistant -- Instalar o pacote Robonomics -- Configurar o Broker MQTT do Home Assistant para se conectar a uma parachain Robonomics -- Configurar o adaptador Zigbee -- Instalar dispositivos Zigbee -- Flash do Gateway SLS com o software necessário - -Os usuários poderão controlar sua Casa Inteligente de dentro de sua rede local, sem o uso de provedores de nuvem centralizados ou gateways proprietários. - - - -Veja todo o processo **[aqui](https://www.notion.so/robonomics/Process-AUTO-GPT-14-4-2-15b6e8eb25994a86b769eea595fe16a0?pvs=4)** - - - -**Zoe**: - -Dispositivos inteligentes Zigbee para assistente doméstico - - - - - - - -Zigbee é um padrão popular de comunicação sem fio usado para automação residencial inteligente. O Home Assistant é uma plataforma de automação residencial de código aberto que suporta dispositivos Zigbee. Alguns dispositivos inteligentes Zigbee populares que podem ser usados com o Home Assistant são: - -1. Lâmpadas Inteligentes Philips Hue: Estas lâmpadas são um dos dispositivos Zigbee mais populares para casas inteligentes. Elas podem ser facilmente integradas ao Home Assistant para controlar seu brilho, temperatura de cor e cor. -2. Sensores Aqara: Estes são vários sensores como temperatura, umidade, movimento, porta e janela, e outros. Eles podem ser conectados ao Home Assistant para monitorar e controlar diferentes aspectos da casa, como controle de clima e segurança. -3. Luzes Inteligentes IKEA Trådfri: As lâmpadas e luminárias inteligentes da IKEA usam o padrão Zigbee e podem ser controladas usando o Home Assistant. Elas suportam o ajuste de brilho e podem ser configuradas para diferentes temperaturas de cor. -4. SmartThings: O hub SmartThings da Samsung pode se conectar a uma variedade de dispositivos Zigbee e pode ser integrado ao Home Assistant para automatizar diferentes tarefas. -5. Xiaomi Mi Smart Plug: Este é um plugue inteligente habilitado para Zigbee que pode ser usado para controlar vários dispositivos na casa. Ele pode ser integrado ao Home Assistant para automatizar a ligação e desligamento de dispositivos com base em várias condições. -6. Tuya Smart Plug: Este é um plugue inteligente habilitado para Zigbee que também pode ser usado para controlar vários dispositivos na casa. Ele pode ser integrado ao Home Assistant para automatizar a ligação e desligamento de dispositivos com base em várias condições. -7. Sonoff Zigbee Bridge: Este é uma ponte que pode conectar dispositivos Zigbee ao Home Assistant através do Wi-Fi. Ele pode ser usado para controlar vários dispositivos Zigbee, incluindo luzes, sensores e interruptores. - -Estes são apenas alguns exemplos dos muitos dispositivos Zigbee que podem ser integrados ao Home Assistant. Com seu suporte para vários protocolos e dispositivos, o Home Assistant fornece uma plataforma poderosa para automatizar uma casa inteligente. - - - -## PASSO-2 - processo de instalação - -A dona de casa Zoe está no processo de estudo - -Você pode se juntar e usar seu personagem Ai para ajudar Zoey a entender e estudar o curso da Academia e as instruções da Wiki. -Poste no twitter com a tag [#RobonomicsSpringSchool2023](https://twitter.com/hashtag/RobonomicsSpringSchool2023?src=hashtag_click) , **#FakeHousewifeZoe** - -## PASSO-3 Assinatura Robonomics Iot - - - -**Nome da IA: Dona de Casa** - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1 :** Estudar as páginas https://wiki.robonomics.network/docs/sub-activate , https://robonomics.academy/en/learn/smart-home-course/robonomics-iot-subscription-setup/ , escreva com base nessas páginas , o que é a Assinatura Robonomics Iot, como comprar e ativar a Assinatura Robonomics Iot qual é o custo da Assinatura Robonomics Iot e crie o arquivo de texto - - - - - -Para comprar e ativar a Assinatura Robonomics IoT, você precisa seguir os passos abaixo: -1. Crie duas contas na parachain Robonomics: sub_owner e sub_controller. A conta sub_owner requer um mínimo de 2-3 tokens XRT. -2. Adicione as contas criadas à extensão Polkadot.js. -3. Vá para o dapp Robonomics (https://dapp.robonomics.network/home) e selecione a página de assinatura. -4. Certifique-se de que a conta sub_owner está selecionada e vincule-a à extensão Polkadot.js. -5. Clique no botão ENVIAR e insira a senha da conta. -6. Em seguida, adicione uma conta sub_controller à lista de acesso e insira a senha do sub_owner na janela pop-up. -7. Aguarde até que o processo de ativação seja concluído. - - - -Veja todo o processo **[aqui](https://www.notion.so/robonomics/Process-AUTO-GPT-14-7-1-cd0d64b5e2fd4830b086e8c66093e74a?pvs=4)** - -## PASSO-4 - Feedback sobre a complexidade do processo de configuração de uma casa inteligente Robonomics - - - -**Nome da IA: Dona de Casa** - -Dona de Casa é: agente de IA mulher projetada para conduzir autonomamente pesquisas na internet e fazer relatórios e narrativas independentes em primeira pessoa - -**Objetivo 1:** Escrever uma avaliação da complexidade das ações para uma dona de casa https://robonomics.academy/en/learn/smart-home-course/overview, https://robonomics.academy/en/learn/smart-home-course/robonomics-iot-subscription-setup/ e criar o arquivo de texto - - - - - -[Avaliação da Complexidade das Ações] - -- O processo de instalação requer vários passos e provavelmente não será fácil sem conhecimento técnico prévio. Além disso, o número de ferramentas que precisam ser instaladas e configuradas apresenta um alto nível de complexidade para um usuário final - -Robonomics_Subscription - -- Detalha os passos necessários para configurar uma assinatura para a publicação do modelo Robonomics. O processo envolve a implantação de um script a partir de um computador pessoal com certos parâmetros para a assinatura -- Os passos parecem simples e diretos, mas podem exigir um nível de conhecimento técnico para serem realizados com sucesso - - - -Veja todo o processo **[aqui](https://www.notion.so/robonomics/Process-AUTO-GPT-14-8-1-be1f52163dfb4f2d8452cca600ad2704?pvs=4)** - - - -No geral, Zoe foi capaz de aprender com [https://robonomics.academy/learn/smart-home-course/overview](https://robonomics.academy/learn/smart-home-course/overview) e [https://wiki.robonomics.network/docs/hass-os-upgrade/](https://wiki.robonomics.network/docs/hass-os-upgrade/) o que ela precisa para conectar sua casa ao Robonomics, quais dispositivos usar e como comprar uma assinatura. No entanto, ela ainda precisa de mais tempo para um estudo mais detalhado do processo de configuração de uma casa inteligente. - -O próximo passo de Zoe é tentar encontrar os dispositivos de que precisa para conectar sua casa inteligente - - \ No newline at end of file diff --git a/courses/pt/learn/feecc-course/feecc-analytics-deployment.md b/courses/pt/learn/feecc-course/feecc-analytics-deployment.md deleted file mode 100644 index 5996ef30db..0000000000 --- a/courses/pt/learn/feecc-course/feecc-analytics-deployment.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Implantação de Análises" -description: Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. -metaOptions: [Aprender, Acostumar-se com o Feecc] -defaultName: Getting Used to Feecc ---- - - -Nesta lição, você aprenderá como implantar os componentes da Análise Feecc. - - -## Lançamento do Backend de Análises - -1. Clonar o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-analytics-backend.git - - -2. Configurar o serviço backend de acordo com suas necessidades usando o arquivo `.env`: - - `MONGO_CONNECTION_URL` — sua URI de conexão com o MongoDB; - - `MONGO_DATABASE_NAME` — um nome de banco de dados do MongoDB; - - `SECRET_KEY` — chave secreta para hash e dehash; - - `IPFS_GATEWAY_HOST` — URL do Gateway IPFS; - - `USE_DATALOG` — enviando dados de análise para Robonomics (`true` ou `false`); - - `ROBONOMICS_SEED` — frase-semente para a conta Robonomics. - -3. Iniciar o contêiner backend: - - -sudo docker-compose up -d --build - - -4. Verifique sua funcionalidade. Vá para o navegador e abra a página `http://localhost:5002/docs`. Se feito corretamente, você verá uma página (gerada pelo Swagger) com todos os endpoints da API REST de Análises Feecc. Agora você está pronto para lançar o frontend. - -## Lançamento do Frontend de Análises - -1. Clone o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-analytics-frontend.git - - -2. Vá para `src` e configure o serviço frontend de acordo com suas necessidades usando o arquivo `config.json`. Certifique-se de inserir a URL do Backend de Análises Feecc no parâmetro `base_url` (no formato `xx.xx.xx.xx:port`). - -3. Iniciar o contêiner frontend: - - -sudo docker-compose up -d --build - - -4. Verifique sua funcionalidade. Vá para o navegador e abra a página `http://localhost:8081/docs`. - - -Com isso, o conhecimento do sistema Feecc pode ser considerado completo. Se você tiver alguma dúvida adicional, pode entrar em contato com os desenvolvedores em Sistemas Multi-Agentes (multi-agent.io) ou deixar um problema em seu GitHub (github.com/Multi-Agent-io). - \ No newline at end of file diff --git a/courses/pt/learn/feecc-course/feecc-architecture.md b/courses/pt/learn/feecc-course/feecc-architecture.md deleted file mode 100644 index 21290c465d..0000000000 --- a/courses/pt/learn/feecc-course/feecc-architecture.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "Arquitetura" -description: Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. -metaOptions: [Aprender, Acostumar-se com o Feecc] -defaultName: Getting Used to Feecc ---- - - -Nesta lição, vamos dar uma olhada mais de perto na arquitetura do Feecc e analisar todos os componentes do software. - - -A plataforma Feecc é composta por vários serviços, desde o controle do banco de trabalho do engenheiro até a prestação de análises. Cada serviço é responsável por algum tipo de funcionalidade necessária para implantação em um ambiente empresarial. - -## Banco de Trabalho do Engenheiro Feecc - -A principal tarefa do Banco de Trabalho do Engenheiro é organizar o espaço de trabalho do engenheiro de montagem. Dependendo da tarefa, o engenheiro pode precisar dos seguintes dispositivos: - -- Câmera IP para organizar a gravação de vídeo do processo de produção; -- Leitor RFID para identificação no sistema por meio de cartão RFID pessoal; -- Leitor de código de barras para escanear etiquetas de produtos; -- Impressora de etiquetas para rotular os produtos fabricados; -- Sensores digitais coletando dados de vários dispositivos / estações. - -O software do Banco de Trabalho do Engenheiro geralmente consiste nos seguintes contêineres. Primeiro, o software que requer instalação **no computador em que o funcionário trabalha** durante a montagem do produto: - -1. [feecc-workbench-daemon](https://github.com/Multi-Agent-io/feecc-workbench-daemon) — o coração da plataforma Feecc que fornece aos usuários acesso a todos os recursos e configurações do Feecc; também contém serviços leves para impressão de etiquetas usando uma impressora de etiquetas e gravação de vídeo a partir de fluxos RTSP; -2. [feecc-workbench-frontend](https://github.com/Multi-Agent-io/feecc-workbench-frontend) — uma interface web para interação do funcionário com a plataforma Feecc; -3. [feecc-hid-reader-daemon](https://github.com/Multi-Agent-io/feecc-hid-reader-daemon) — um daemon Python para envio de eventos de periféricos USB; - -Segundo, o software que pode ser instalado **tanto no computador do funcionário quanto em um servidor na rede local**: - -1. [feecc-ipfs-gateway](https://github.com/Multi-Agent-io/feecc-ipfs-gateway) — um microserviço para publicar arquivos no IPFS e, mais especificamente, CIDs de arquivos na Rede Robonomics; - -A figura abaixo mostra a arquitetura do Local de Trabalho do Engenheiro Feecc em um ambiente corporativo. O Gateway IPFS (bem como o nó IPFS e o MongoDB na forma de um cluster peer) pode ser hospedado no computador de cada funcionário, o que aumentará a descentralização do sistema a um custo de recursos computacionais. - - - -### Hardware suportado para um espaço de trabalho: - -#### Scanner RFID - -Um scanner RFID USB é necessário para autorizar engenheiros no campo com seus crachás internos. As informações recebidas são processadas usando o `feecc-hid-reader-daemon`. - -#### Scanner de código de barras - -O scanner de código de barras USB é necessário para identificar produtos por códigos de barras, enviar comandos para serviços e para a atribuição correta de certificados. As informações recebidas também são processadas com o `feecc-hid-reader-daemon`. A leitura em duas dimensões é desejável, mas não é obrigatória. - -#### Computador do funcionário - -Um pequeno computador de placa única processa sinais de dispositivos externos (scanner de código de barras, scanner RFID), envia solicitações para imprimir imagens na impressora, iniciar e parar a gravação de vídeo, enviar dados para o Gateway IPFS. Ele executa os seguintes serviços: `feecc-workbench-frontend`, `feecc-workbench-daemon` com suporte a impressora de etiquetas e câmera, `feecc-hid-reader-daemon`. Uma conexão com a Internet via Wi-Fi ou LAN é necessária. - -Vale ressaltar que qualquer computador pode ser usado em vez de um computador de placa única com um monitor. O sistema operacional GNU/LINUX deve estar instalado nele nativamente ou através de uma máquina virtual. - -Especificações técnicas mínimas: - -- CPU: Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) SoC de 64 bits @ 1,8GHz ou similar; -- RAM: 4GB LPDDR4-3200 ou similar. - -#### Tela - -O monitor é usado pelo funcionário para inserir e visualizar informações sobre a etapa de produção atual. Também exibe dicas para o engenheiro sobre a fase atual. Outros dispositivos de entrada também podem ser usados. - -#### Impressora de etiquetas - -A impressora de etiquetas é usada para imprimir códigos QR e códigos de barras para posterior colocação de etiquetas no produto para fins de identificação e verificação. A interação com a impressora é realizada com a ajuda do serviço correspondente `feecc-workbench-daemon`. Em nosso caso, usamos impressoras XPrinter 236B. - -#### Câmera IP - -Câmera IP para capturar processos de produção para inclusão no certificado do produto. Localizada acima da área de montagem do produto. A interação com a câmera é realizada usando o serviço correspondente `feecc-workbench-daemon`. - -Especificações técnicas necessárias: fonte de alimentação PoE, protocolo de transferência de dados RTSP. Em nosso caso, usamos Hikvision HiWatch DS-i200d. - -### Hardware suportado para vários espaços de trabalho: - -#### Roteador ou switch - -É necessário um roteador ou switch com suporte PoE 802.3af e alimentação PoE nas portas de saída para alimentar as câmeras IP e conectá-las ao serviço `feecc-workbench-daemon`. Em nosso caso, usamos MikroTik hEX PoE (um para 3-4 locais de trabalho) e fonte de alimentação. - -#### Servidor (opcional) - -Também pode ser instalado um servidor maior que pode executar `feecc-ipfs-gateway`. Pode ser localizado no lugar de um dos computadores dos locais de trabalho dos funcionários. - -Especificações técnicas mínimas: - -- CPU: processador Intel Xeon E-2200 ou similar; -- RAM: 8GB; -- Armazenamento: 1TB HDD; -- Interface LAN: 1 Gbit/s. - -## Feecc Analytics - -A principal tarefa da Feecc Analytics é organizar o processo de rastreabilidade de produtos acabados e sua inspeção pré-venda no departamento de controle de produtos. - -Feecc Analytics depende dos seguintes contêineres: - -1. [feecc-analytics-backend](https://github.com/Multi-Agent-io/feecc-analytics-backend) — o principal software para implantar o serviço de análise; -2. [feecc-analytics-frontend](https://github.com/Multi-Agent-io/feecc-analytics-frontend) — o software frontend para o serviço de análise; - -Normalmente é implantado em um único servidor localmente para fins de segurança de dados apenas dentro da organização. - -O hardware necessário para o funcionamento da Feecc Analytics é um servidor local ou remoto (máquina virtual) no qual a aplicação web será executada e um scanner de código de barras. Cada funcionário autorizado pode acessar a aplicação web de seu computador com um nome de usuário e senha. - -## Feecc Validator - -A principal tarefa do Feecc Validator é comparar dados de diferentes repositórios de dados para validar a integridade do certificado digital do produto. - -Feecc Validator depende dos seguintes contêineres: - -1. [feecc-validator-backend](https://github.com/Multi-Agent-io/feecc-validator-backend) — um microsserviço, projetado para lidar com a validação de certificados e obter dados associados à unidade fornecida pelo usuário, tendo apenas uma das peças de dados; -2. [feecc-validator-frontend](https://github.com/Multi-Agent-io/feecc-validator-frontend) — uma interface web para interação com o microsserviço de validação. - -Assim como a Feecc Analytics, pode ser implantado em um único servidor localmente e requer um scanner de código de barras. - - -Na próxima lição, daremos uma olhada mais de perto no sistema Feecc através de uma pequena demonstração que é executada localmente em seu computador. - \ No newline at end of file diff --git a/courses/pt/learn/feecc-course/feecc-workbench-demo.md b/courses/pt/learn/feecc-course/feecc-workbench-demo.md deleted file mode 100644 index 58c3b6d433..0000000000 --- a/courses/pt/learn/feecc-course/feecc-workbench-demo.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -title: "Demonstração do Feecc" -description: Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. -metaOptions: [Aprender, Acostumar-se com o Feecc] -defaultName: Getting Used to Feecc ---- - - -Nesta lição, você testará as funções básicas do Feecc usando um ambiente de teste virtual como exemplo, que emula uma instância da vida real de um sistema de rastreamento de produção. - - -Para fins de demonstração, ele não possui algumas características típicas como impressão de etiquetas ou gravação de vídeo, mas mantém o conceito principal de tal sistema. - -## Pré-requisitos - -Para executar a demonstração, você precisará: - -- Sistema semelhante ao UNIX (testado no [Ubuntu 22.04.2](https://releases.ubuntu.com/jammy/) -- [Docker](https://docs.docker.com/engine/install/ubuntu/) e [Docker compose](https://docs.docker.com/compose/) -- Navegador da web (testado no Google Chrome e Mozilla Firefox) - -## Instalação - -Execute os seguintes comandos: - - -git clone https://github.com/Multi-Agent-io/feecc-academy -cd feecc-academy -sudo docker compose up -d --build - - -Para verificar os contêineres em funcionamento, execute o seguinte: - - -sudo docker ps -a - - -Você deve ver a seguinte saída: - - -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -0db8382bb271 feecc-academy-workbench-daemon "uvicorn app:app --h…" 19 seconds ago Up 7 seconds (healthy) feecc_academy_workbench_daemon -0dbc7bb977d1 feecc-academy-workbench-frontend "node nodeServer.js" 20 seconds ago Up 19 seconds (health: starting) feecc_academy_workbench_frontend -a74fa229eb90 robonomics/robonomics:sha-bd71a23 "robonomics --dev --…" 20 seconds ago Up 19 seconds (health: starting) feecc_academy_robonomics_node -0c9e8022658a mongo:jammy "docker-entrypoint.s…" 20 seconds ago Up 19 seconds (healthy) feecc_academy_mongoDB -6b0748904d0f ipfs/go-ipfs:v0.17.0 "/sbin/tini -- /usr/…" 20 seconds ago Up 19 seconds (healthy) feecc_academy_ipfsnode -814e6f489a77 nyurik/alpine-python3-requests "tail -f /dev/null" 20 seconds ago Up 19 seconds feecc_academy_hid_emulator - - -## Iniciando a demonstração - -1. Acesse http://localhost:3000/ em seu navegador, você deve ver uma tela de boas-vindas. - -2. Nesta etapa, o sistema deve solicitar ao funcionário que coloque seu cartão RFID no scanner para autorização. Na demonstração, você pode usar `hid-emulator.py` para autorização. Para fazer isso, execute um contêiner Docker separado: - - -sudo docker exec -ti feecc_academy_hid_emulator sh -python3 hid-emulator.py - - -Ele é capaz de emular duas funções: fornecer um cartão RFID e escanear um código de barras; você precisa da primeira função, digite `1`. - - -> Select emulated action (1/2): -> 1. Put ID card on the Scanner RFID. -> 2. Scan a sample barcode with a barcode scanner. -> 1 -> INFO:2023-03-21 21:42:05,370:Event relayed to endpoint http://127.0.0.1:5000/workbench/hid-event - - -3. Você verá a tela para selecionar o tipo de composição, escolha `DISPOSITIVO ÚNICO`. - - - -4. Notificações aparecerão no canto inferior esquerdo indicando o início do trabalho no dispositivo para o qual um ID único é criado. A notificação azul também exibirá a atividade da impressora virtual; na configuração real, um código de barras com o ID do dispositivo é impresso neste momento. - - - -5. Clique em `INICIAR COMPOSIÇÃO` para começar a gravar o processo de montagem do dispositivo. Você será solicitado a passar por todas as etapas de montagem necessárias; cada vez que um funcionário completar uma etapa, ele deve clicar no botão `PRÓXIMO`, após o qual o vídeo será salvo no IPFS. Também é possível suspender a montagem (`PAUSAR`) para retornar a ela mais tarde ou interromper o processo completamente (`PARAR`). - -6. Quando todas as etapas de montagem estiverem concluídas, o botão `FINALIZAR` aparece, após o qual o Feecc sugere salvar o certificado do dispositivo. No entanto, antes de fazer isso, abra o [nó Robonomics local](https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/explorer) em seu navegador, você precisará dele mais tarde. Depois disso, retorne ao Feecc e clique em `SALVAR PASSAPORTE`. - - Você verá novas notificações no canto da tela: notificação de que o certificado foi enviado para Robonomics e IPFS, bem como duas mensagens azuis sobre a impressão da etiqueta de selo e o QR-code que leva ao certificado. - - - -7. Na seção `Informações da cadeia` na tela do nó local do Robonomics, você deverá ver um novo evento `datalog.NewRecord` na coluna `eventos recentes`. Se você expandir, o CID do IPFS correspondente ao arquivo de certificado do dispositivo será mostrado no campo `bytes`. - - - -O código QR impresso contém um link para este CID, que permite abrir o arquivo de certificado no navegador. Como o seu nó IPFS local pode não ter essa descoberta, você pode acessar o arquivo localmente com `localhost:8080/ipfs/CID.` O conteúdo do certificado se parece com algo assim: - - -Unit Unique Code: 423d3c1b42f6427e80cc881a16e07451 -Unit Model Name: Single Device -Total Assembly Time: 0:05:37 -Production Stages: -- Name: Prepare Tools (not finished.) - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 17:38:47 - Finish Time: 26-06-2023 17:40:28 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Prepare Tools (not finished.) - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 17:40:30 - Finish Time: 26-06-2023 17:42:06 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Prepare Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 17:42:16 - Finish Time: 26-06-2023 17:43:00 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Saw Through the Single Device - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 17:43:00 - Finish Time: 26-06-2023 17:43:51 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Stack Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 17:43:51 - Finish Time: 26-06-2023 17:44:36 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. - - -8. Vamos agora tentar criar um certificado para uma montagem composta consistindo de vários dispositivos. No menu de seleção de tipo, clique em `DISPOSITIVO COMPOSTO`, e depois em `DISPOSITIVO DE AMOSTRA`. Copie seu ID de unidade (localizado no campo Número de composição), pois você precisará dele mais tarde. Em seguida, prossiga com as etapas padrão para montar o dispositivo. - -9. Após a montagem, volte para `DISPOSITIVO COMPOSTO` e pressione `MONTAGEM FINAL` para finalizar a montagem composta. O sistema pedirá que você forneça o ID de unidade dos dispositivos montados, para o qual o funcionário deve escanear seu código de barras. Para simular esse processo, volte para `hid-emulator.py` e selecione a função `2` para escaneamento de código de barras, e insira o ID de unidade salvo lá. - -10. Em seguida, o sistema solicitará passar pelas etapas necessárias da montagem composta e gerar um certificado para isso: - - -Unit Unique Code: d08101feae7c4efbb5529885c9ad544b -Unit Model Name: Composite Device -Total Assembly Time: 0:00:03 -Production Stages: -- Name: Prepare Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:18:25 - Finish Time: 26-06-2023 18:18:26 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Tape the Sample Device to the base plate - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:18:26 - Finish Time: 26-06-2023 18:18:27 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -- Name: Stack Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:18:27 - Finish Time: 26-06-2023 18:18:28 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -Unit Components: -- Unit Unique Code: b165b382c3674127a6aaf5817c5a7040 - Unit Model Name: Sample Device - Total Assembly Time: 0:00:03 - Production Stages: - - Name: Prepare Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:17:45 - Finish Time: 26-06-2023 18:17:46 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. - - Name: Assemble Sample Device - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:17:46 - Finish Time: 26-06-2023 18:17:47 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. - - Name: Stack Tools - Employee Code: e9b69b302f72d82ca47964196536aab3f36e367910aff06d2be30888f9ad4234 - Start Time: 26-06-2023 18:17:47 - Finish Time: 26-06-2023 18:17:48 - Assembly data in IPFS: This is a place for any production data, let it be video - record, some sensor data or any other data collection representing the production - process. -Total Assembly Time (Including Components): 0:00:06 - - -11. Para excluir a demonstração, insira o comando: - - -sudo docker compose down --rmi all && docker builder prune -f - - - -No próximo lição, procederemos à implantação real de todos os componentes necessários do sistema Feecc. - \ No newline at end of file diff --git a/courses/pt/learn/feecc-course/feecc-workbench-deployment.md b/courses/pt/learn/feecc-course/feecc-workbench-deployment.md deleted file mode 100644 index f4a8c97f92..0000000000 --- a/courses/pt/learn/feecc-course/feecc-workbench-deployment.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: "Implantação do Engineer Workbench" -description: Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. -metaOptions: [Aprender, Acostumar-se com o Feecc] -defaultName: Getting Used to Feecc ---- - - -Nesta lição, você aprenderá como implantar os componentes necessários do Feecc Engineer Workbench sozinho. - - -Entre os componentes: - -- Daemon do Workbench -- Frontend do Workbench -- Gateway IPFS -- Daemon do Leitor HID - -Todos os componentes são iniciados usando [Docker](https://docs.docker.com/engine/install/ubuntu/) e [Docker compose](https://docs.docker.com/compose/), certifique-se de ter eles instalados. - -## Preparação do Software - -1. Os componentes da Feecc usam o banco de dados [MongoDB](https://www.mongodb.com/) para armazenar e acessar dados. Antes de usar a Feecc, você precisa implantar o MongoDB da maneira que for conveniente para você. Aqui estão algumas opções de implantação: [usando seu próprio servidor](https://www.mongodb.com/try/download/community), [banco de dados na nuvem no Atlas](https://www.mongodb.com/atlas) (gratuito), [banco de dados na nuvem no DigitalOcean](https://www.digitalocean.com/products/managed-databases-mongodb) (pago). - - De qualquer forma, você precisa obter sua URI de conexão com o MongoDB, que precisará ser inserida como o valor da variável `MONGODB_URI` para todos os componentes do sistema. - -2. Se você deseja aproveitar o armazenamento confiável e transparente de dados do seu sistema de produção, você precisa criar uma conta na Robonomics. Para fazer isso, use as instruções disponíveis no seguinte link: https://wiki.robonomics.network/docs/create-account-in-dapp/ - - Você precisa salvar a frase-semente da conta, pois ela será usada posteriormente na variável `ROBONOMICS_ACCOUNT_SEED`. - -## Preparação do Workbench - -Antes de começar, conecte todo o equipamento necessário ao computador ou servidor: - -- impressora de etiquetas usando USB -- leitores de RFID/código de barras usando USB -- câmera IP através de roteador PoE/switch de rede -- monitor com teclado e mouse ou tela sensível ao toque usando USB e HDMI/VGA (opcional) - -## Iniciando o Daemon do Leitor HID - -1. Clonar o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-hid-reader-daemon.git -cd feecc-hid-reader-daemon - - -2. Inicie o daemon: - - -sudo docker-compose up -d --build - - -## Iniciando o Daemon do Workbench - -1. Clone o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-workbench-daemon.git -cd feecc-workbench-daemon - - -2. Configure o daemon de acordo com suas necessidades usando o arquivo `docker-compose.yml`. O arquivo contém várias variáveis de ambiente: - - - Configuração do MongoDB; - - Configuração do Robonomics; - - Configuração do IPFS; - - parâmetros da impressora; - - parâmetros da câmera; - - parâmetros dos leitores de RFID / código de barras. - - A lista completa de variáveis está disponível no repositório do daemon [aqui](https://github.com/Multi-Agent-io/feecc-workbench-daemon). Os seguintes parâmetros são obrigatórios: - - - `MONGODB_URI`: sua URI de conexão com o MongoDB; - - `MONGODB_DB_NAME`: um nome de banco de dados do MongoDB; - - `WORKBENCH_NUMBER`: número do workbench do funcionário. - -3. Inicie o daemon: - - -sudo docker-compose up -d --build - - -4. Verifique sua funcionalidade. Vá para o navegador e abra a página `http://127.0.0.1:5000/docs`, que deve conter a documentação da interface de API REST do sistema. Se a página não estiver disponível, então o servidor não foi iniciado corretamente. Verifique os logs dentro do contêiner para erros, corrija-os e repita as etapas de construção e execução. - -## Lançando o Gateway IPFS - -1. Clone o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-ipfs-gateway.git - - - -2. Configure o microsserviço de acordo com suas necessidades usando o arquivo `docker-compose.yml`. O arquivo contém variáveis de ambiente para conexão com MongoDB, Robonomics e Pinata. A lista completa de variáveis está disponível no [repositório](https://github.com/Multi-Agent-io/feecc-ipfs-gateway) do gateway. - -3. Inicie o microsserviço: - - -sudo docker-compose up -d --build - - -## Lançando o Frontend do Workbench - -1. Clone o repositório: - - -git clone https://github.com/Multi-Agent-io/feecc-workbench-frontend.git - - -2. Vá para o diretório `configs` e configure o serviço frontend de acordo com suas necessidades usando o arquivo `config.json`. Os seguintes parâmetros são particularmente importantes: - - `socket` — insira o endereço do Workbench Daemon aqui; - - `interface_language` — idioma da interface, opções disponíveis `en` e `ru`; - - `dev_show_reducers` — habilitando/desabilitando o modo desenvolvedor; - - `pulling_period` — período de recebimento de dados do backend em milissegundos; - -3. Iniciar o contêiner frontend: - - -sudo docker-compose up -d --build - - -4. Verifique sua funcionalidade. Vá para o navegador e abra a página `http://localhost:3000`, você deverá ver uma página de autorização. - - -Na próxima lição, passaremos pelo serviço de Análise Feecc. - \ No newline at end of file diff --git a/courses/pt/learn/feecc-course/overview.md b/courses/pt/learn/feecc-course/overview.md deleted file mode 100644 index 7916961164..0000000000 --- a/courses/pt/learn/feecc-course/overview.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Visão geral" -description: Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. -metaOptions: [Aprender, Acostumar-se com o Feecc] -defaultName: Getting Used to Feecc ---- - -## Sobre o curso - -Este curso é tudo sobre conhecer o sistema Feecc e todos os seus componentes. Feecc é uma plataforma que permite às empresas construir e personalizar seu próprio sistema de monitoramento para processos de produção ou serviço de acordo com suas necessidades. É desenvolvido pela [Multi-Agent Systems](http://multi-agent.io/) usando tecnologias que a equipe Robonomics fornece. O curso fornece conhecimentos básicos sobre a arquitetura do Feecc, incluindo um cenário de demonstração, e explica como implantar e usar este sistema. - -## Para quem é este curso? - -O curso é destinado a funcionários de empresas que decidiram implementar o sistema de rastreamento de produção Feecc, bem como para gerentes de engenharia sênior que estão procurando novas soluções tecnológicas para melhorar a qualidade dos processos de trabalho. - -## Requisitos - -Os materiais do curso pressupõem habilidades básicas de engenharia de produção, bem como habilidades em sistemas baseados em UNIX. Conhecimento básico de [Docker](https://www.docker.com/) é bem-vindo. - -## Conceito principal - -Usando a tecnologia Web3 e um conjunto de módulos de software flexíveis, a plataforma Feecc permite que as empresas organizem o processo de produ��ão de qualquer tipo de produto, auditem o acesso dos funcionários ao local de trabalho e recuperem todos os dados do fluxo de trabalho. As informações são armazenadas em um armazenamento IPFS distribuído e seguro, os hashes de dados são salvos com o módulo de datalog Robonomics com acesso para o departamento de controle de qualidade via Feecc Analytics. Com o Feecc, uma empresa pode não apenas digitalizar seus processos e se livrar de papelada e processos judiciais, mas também atrair a atenção de novos clientes para o produto, aumentando a confiança nele. - -A plataforma é um conjunto de software para monitorar o processo de produção e coletar informações para análise posterior pelo QCD ou outros participantes. Globalmente, o esquema de integração da plataforma no processo de negócios pode ser representado da seguinte forma: - - - -## Oportunidades da plataforma - -- **Armazenamento de dados confiável e seguro**: Feecc usa um armazenamento de dados seguro baseado em uma arquitetura de endereçamento de conteúdo e um registro distribuído para garantir a confiabilidade e validade dos dados do fluxo de trabalho coletados. - -- **Uma ligação clara entre o funcionário e o produto**: Feecc monitora todas as fases do fluxo de trabalho com gravação de vídeo, registro de dados de dispositivos periféricos e autorização de acesso de funcionários. A plataforma suporta qualquer fluxo de trabalho sequencial, incluindo operações de longo prazo ou interrompidas. - -- **Certificado digital do produto**: Todos os rastros digitais do fluxo de trabalho são resumidos em um único certificado de produto com um identificador único que é então anexado como um código QR ao produto. Feecc pode adicionar parâmetros de processo personalizados ao certificado e automatizar sua criação até mesmo para peças compostas. - -- **Suporte extensivo para dispositivos periféricos**: Feecc suporta interfaces digitais de E/S padrão para conectar vários dispositivos (câmeras de vídeo, scanners, impressoras, etc.). - -https://youtu.be/WhtOJtGjAok \ No newline at end of file diff --git a/courses/pt/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md b/courses/pt/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md deleted file mode 100644 index d26dae644a..0000000000 --- a/courses/pt/learn/introduction-course/at-the-intersection-of-cybernetics-and-economics.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: "Lição #2, Na interseção da Cibernética e da Economia" -lastUpdate: Thu May 04 2023 12:56:56 GMT+0400 (Samara Standard Time) -description: O mergulho na teouia das últimas tecnologias web3 na interseção da Cibernética e da Economia, que são projetadas para ajudar os sistemas IoT a funcionar com segurança e eficiência em nossas casas e cidades. -lessonNumber: 2 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - - -Estamos felizes pou você ter conseguido passar pelo espelho negro e não se afogar no mundo digital. Agoua um mergulho muito mais profundo o aguarda... o mergulho na teoria das últimas tecnologias web3 na interseção da Cibernética e da Economia, que são projetadas para ajudar os sistemas IoT a funcionar com segurança e eficiência em nossas casas e cidades. - - -## Intro - -Nesta lição teórica, queremos apresentar-lhes o primeiro capítulo atualizado do Whitepaper Robonomics 2022, que nossa equipe vem desenvolvendo há quase um ano. As ideias apresentadas neste documento foram nutridas em nossas cabeças e corações por um longo tempo, constantemente complementadas após várias experiências e provas de conceitos. Fazemos o nosso melhor para [publicar em conferências e em revistas científicas](https://robonomics.network/papers/) alguns dos resultados e materiais mais importantes. E para a compreensão e conveniência de todos, reunimos e compactamos tudo isto em capítulos separados do whitepaper. - -O primeiro capítulo é chamado **"Na Intersecção da Cibernética e da Economia"**, e irá apresentar a lógica do conceito de economia robotizada - um sistema econômico no qual os dispositivos atuam como agentes independentes capazes de realizar atividades econômicas chave anteriormente exclusivas dos seres humanos. - - -## Você aprenderá: - - - -
  • -como os novos desafios da quarta revolução industrial afetam o uso da robótica e dos sistemas IoT; -
  • - -
  • -qual será o futuro dos processos ciberfísicos totalmente autônomos; -
  • - -
  • -por que as respostas a estes desafios devem ser obtidas no campo da economia institucional, que parece estar longe da robótica; -
  • - -
  • -e o que dizer das criptomoedas, Bitcoin, Ethereum e Polkadot. -
  • - -
    - -## Instruções - - - -
  • - -Leia o primeiro capítulo do Whitepaper 2022 em nosso [website](https://robonomics.network/vision/). - -
  • - -
  • - -Após a leitura, vá e tente ser aprovado [no teste](https://lesson2.robonomics.academy/#/) para a segunda lição no dapp especial. - -Serão feitas 17 perguntas, e esperamos que elas o inspirem a pensar mais a fundo sobre as ideias que lhe apresentamos. Para ser aprovado no teste, você precisa conseguir 10 respostas corretas de 17 (60%, o valor padrão na prática acadêmica). - -Tente obter o maior número possível de respostas corretas, se você passar no teste com 90% de acertos, você receberá tokens de bônus para a Lição 5. - -
  • - -
  • - -Basta marcar suas respostas no dapp e no final clicar no botão "Sign and send". - -Você precisa usar a mesma conta polkadot.js para o dapp de teste que você usou na lição anterior. - -
  • - -
  • - -Como na lição anterior, assine sua transação e verifique-a no explorer Polkadot. - -
  • -
    - - - - -A lição será considerada concluída após o envio de uma transação bem sucedida e sua ocorrência no explorer Polkadot para sua conta na polkadot.js. - -Você pode verificar seus resultados em [no dapp de verificação especial](https://lk.robonomics.academy/). Para autorização no dapp de verificação, use a mesma conta no Polkadot.js que foi usada durante o curso. - - \ No newline at end of file diff --git a/courses/pt/learn/introduction-course/broadcasting-through-the-black-mirror.md b/courses/pt/learn/introduction-course/broadcasting-through-the-black-mirror.md deleted file mode 100644 index 796758edd1..0000000000 --- a/courses/pt/learn/introduction-course/broadcasting-through-the-black-mirror.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Lição #1, Transmissão através do Espelho Negro" -lastUpdate: Thu May 04 2023 12:56:59 GMT+0400 (Samara Standard Time) -description: Esta lição de abertura ensinará métodos básicos para interagir com uma aplicação descentralizada (ou dapp). -lessonNumber: 1 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - - -## Intro - -Esta lição de abertura ensinará métodos básicos para interagir com **uma aplicação descentralizada (ou dapp)**. Para isso criamos um dapp especial chamado "Black Mirrou Broadcast", que funciona apenas no seu navegadou da web e mostra uma stream com uma pequena TV retrô. O dapp pode controlar remotamente a TV, mostrando sua mensagem como um código QR, enviado usando a platafouma Robonomics. - - -## Inspiração - -Criamos este dapp com a finalidade de definir o ambiente, e dar o tom certo para o resto do curso. Sua ideia captura o espírito da distopia como algo de vital importância, flutuando na concretização de códigos QR, testes fisiológicos para atravessar fronteiras internacionais... vida em uma tela e em uma caixa. Em tais momentos de ansiedade global, a verdade, imperceptível na vida cotidiana das grandes cidades, é exposta. - -As tecnologias já estão invadindo nossas vidas e muitas vezes a tecnologia se entrelaça com nossas vidas mais profundamente do que alguns de nós individualmente gostaríamos. Sim, há uma pergunta antiga e difícil do campo da filosofia sobre a oposição do público e do privado. Mas ainda assim, queremos implementar e ajudar a crescer a web3 no campo IoT agora em um estágio inicial, para que não seja possível alterar o nome de todos no planeta para um código de identificação em um instante e sem o consentimento deles. - -A nova geração de tecnologias da Internet ajudará a melhorar o relacionamento entre humanos e máquinas, tornará os dispositivos inteligentes mais independentes e mais rápidos na prestação de serviços às pessoas e, o mais importante, não dará controle de uma pessoa sobre outra com a ajuda de máquinas. É assim que vemos o melhor cenário para a integração de robôs no dia a dia dos humanos. - - -## Instruções - - - -
  • - -Instale a extensão polkadot.js no navegador e crie uma conta na Parachain Robonomics. - -Veja o guia em nosso wiki: [Criar conta na Parachain Robonomics (Em inglês)](https://wiki.robonomics.network/docs/create-account-in-dapp/). Você precisa ser aprovado em todas as aulas do curso com uma conta Polkadot para solicitar o certificado. - -
  • - -
  • - -Entre em nosso [servidor do Discord](https://discord.gg/xqDgG3EGm9) e obtenha o cargo de "Membro da Comunidade de Desenvolvedores". Para fazer isso, no canal "👋welcome-info" você precisa clicar no emoji correspondente (⚛️) na postagem do bot MEE6. - -
  • - -
  • - -Encontrar nosso [chatbot para Discord](https://discord.com/channels/803947358492557312/944186892038053899), chamado "🚰academy-faucet" na lista de bate-papo e digite seu endereço Robonomics da extensão polkadot.js. - -Certifique-se de enviar o endereço para o bot no formato correto (começa com "4"). Se o bot não responder ou não adicionar seu endereço à inscrição na primeira vez, tente mais algumas vezes, isso acontece devido à carga na rede. Se o problema persistir, pergunte no canal "🎓robonomics-academy". - -
  • - -
  • - -Vá para o [dapp Black Mirror](https://blackmirror.robonomics.academy) e permita que o dapp acesse a extensão polkadot.js. - -Certifique-se de selecionar a conta correta, que recebeu a assinatura IoT gratuita. - -
  • - -
  • -Digite no dapp sua breve mensagem de texto e clique no botão 'Sign and send'. -
  • - -
  • -Nas janelas da extensão polkadot.js, digite sua senha e assine a transação. -
  • - -
  • - -Certifique-se de que sua transação foi enviada com sucesso verificando o link no explorer Polkadot. - -O campo Resultado deve mostrar Sucesso. - -
  • - -
  • -Verifique o código QR na tela da TV, ele deve mudar (pode levar ~2 minutos às vezes). -
  • -
    - - - -A lição será considerada concluída após o envio de uma transação bem sucedida e sua ocorrência no explorer Polkadot para sua conta na polkadot.js. - -Você pode verificar seus resultados em [no dapp de verificação especial](https://lk.robonomics.academy/). Para autorização no dapp de verificação, use a mesma conta no Polkadot.js que foi usada durante o curso. - - diff --git a/courses/pt/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md b/courses/pt/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md deleted file mode 100644 index 9c60d8f1bb..0000000000 --- a/courses/pt/learn/introduction-course/iot-subscriptions-using-robonomics-parachain.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Lição #5, Assinaturas IoT usando a Parachain Robonomics" -lastUpdate: Thu May 04 2023 12:57:02 GMT+0400 (Samara Standard Time) -description: Você aprenderá como comprar uma assinatura IoT na Parachain Robonomics usando tokens reais da nossa rede. -lessonNumber: 5 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - - -A última lição de nosso curso introdutório é provavelmente a mais desafiadoua pouque exigirá de você alguma destreza e paciência. Você aprenderá como comprar uma assinatura IoT na Parachain Robonomics usando tokens reais da nossa rede. - - -## Intro - -Uma assinatura IoT é uma chave de acesso a todas as funções relacionadas à mudança do estado do gêmeo digital de um sistema ciberfísico e ao armazenamento de infoumações sobre ele usando o ecossistema Polkadot / Kusama. Possuir uma assinatura evita o usuário da necessidade de pagar uma taxa pela transação. Em vez disso, o usuário pode enviar uma transação gratuita uma vez em um período de tempo determinado . - -A principal maneira de comprar uma assinatura é participar do leilão de assinatura e, portanto, nesta lição, você deve obter tokens XRT para fazer ofertas e submeter transações. Mais informações sobre este processo também estão disponíveis em [nosso wiki](https://wiki.robonomics.network/docs/get-subscription). - - -## Instruções - - - -
  • - -You need around 2 XRT Robonomics Parachain tokens ([sobre tokens](https://robonomics.network/xrt/)). Se você não tiver, você tem várias opções para obtê-los: - -a) Se voc� passar nos dois testes ap�s a Li��o 2 e Li��o 4 com 90% de respostas corretas, voc� pode solicitar tokens gratuitos para a li��o. Verifique suas pontua��es no [dapp de verifica��o especial](https://lk.robonomics.academy/). Especificamente, voc� precisa de 15 de 17 para a Li��o 2 e 10 de 11 para a Li��o 4, e voc� tem duas tentativas para fazer isso. Para obter tokens, entre em contato com o Administrador da Academia em nosso [Discord](https://discord.gg/xqDgG3EGm9) (IBerman#5862). - -b) Buy XRT tokens on one of the exchanges (check out the [list of exchanges](https://www.coingecko.com/en/coins/robonomics-network#markets/)). Tenha cuidado se você não estiver familiarizado com corretoras de criptomoedas, lembre-se de que todas as compras em corretoras de criptomoedas podem ter riscos potenciais, compre apenas a quantidade necessária de tokens para passar nesta lição. Also, keep in mind that Robonomics exists on two networks, Ethereum and Kusama, so each network has its own XRT token. You need a token that used by parachain in Kusama network. - -c) Se voc��� tiver o token XRT na rede Ethereum (formato ERC-20), use o processo [Exodus](https://old.dapp.robonomics.network/#/exodus) para transferir tokens da rede Ethereum para Kusama. Tenha em mente que a transfer�ncia de tokens � realizada uma vez por semana. - -
  • - -
  • - -As assinaturas IoT são compradas através de um processo de leilão regular com o maior lance obtendo uma assinatura. - -Antes de tentar participar do leilão, você deve verificar se há algum disponível. Abra o portal Robonomics [Polkadot/Substrate](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/chainstate) no menu Chain state. Selecione rws consulta com auctionQueue() e pressione o botão ´+´. Você deve ver os IDs dos leilões disponíveis; lembre-se do Id de um deles. Se nenhum leilão for exibido ou estiver disponível, por favor, entre em contato conosco em nosso Discord in "[🎓robonomics-academy](https://discord.com/channels/803947358492557312/803947358492557315)" channel. - -Agora, no mesmo menu Chain state, selecione rws com auction(u32): Option<PalletRobonomicsRwsAuctionLedger> e no campo u32 digite o ID do leilão lembrado. Após pressionar o botão '+', você verá informações sobre o leilão de interesse. Se o campo winner tem valor null então ninguém tem esta assinatura e você pode tentar consegui-la. - -
  • - -
  • - -Faça uma oferta com seus tokens XRT. - -Vá para o menu Developer -> Extrinsic e para a mesma conta polkadot.js que você usou na lição anterior, escolha extrinsic rws com bid(index, amount). No campo index entrar com o ID do leilão de interesse. No campo amount você deve inserir o seu número de tokens para o lance, convertido para os “wieners” (1 XRT = 1 000 000 000 Wn). Check the current minimum subscription price in our [dapp](https://dapp.robonomics.network/#/subscription). - -Envie a transação e, se você tiver sorte, receberá a assinatura IoT. Você pode verificar se seu endereço Polkadot é dono da assinatura através do menu Chain state. - -
  • - -
  • - -O último passo é adicionar dispositivos para sua assinatura IoT. - -Isto significa que você atribui à sua assinatura endereços Polkadot adicionais que você ou seus dispositivos podem usar para executar extrínsecos (por exemplo, para lançar dispositivos ou enviar dados do dispositivo para a blockchain). - -Antes de começar, crie uma nova conta na Parachain Robonomics (guia em [nosso wiki](https://wiki.robonomics.network/docs/create-account-in-dapp/)), e chame-a de 'dispositivo inteligente' por conveniência. - -Depois, vá para o menu Developer -> Extrinsic, e selecione rws com setDevices(). Na lista de dispositivos use o botão `Add item` para adicionar dispositivos e selecione a conta recentemente criada para dispositivos inteligentes. Depois disso, envie a transação. - -O endereço do dispositivo deve ser adicionado à assinatura. Você pode verificá-lo no menu Chain state consultando rws com devices() para sua conta polkadot.js que possui a assinatura.. - -
  • - -
    - - - -A lição será considerada concluída após uma transação bem sucedida de compra de uma assinatura IoT e a adição de um dispositivo nela. - -Você pode verificar seus resultados em [no dapp de verificação especial](https://lk.robonomics.academy/). Para autorização no dapp de verificação, use a mesma conta no Polkadot.js que foi usada durante o curso. - - \ No newline at end of file diff --git a/courses/pt/learn/introduction-course/overview.md b/courses/pt/learn/introduction-course/overview.md deleted file mode 100644 index ca8b932c9e..0000000000 --- a/courses/pt/learn/introduction-course/overview.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Introdução às ideias de Robonomics" -lastUpdate: Tue May 09 2023 13:42:27 GMT+0400 (Samara Standard Time) -description: Bem-vindo ao Curso de Introdução! -lessonNumber: 0 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - -## Sobre o curso - -Neste curso, analisamos os problemas que surgem em touno da construção de aplicações IoT modernas. Como possível solução, queremos apresentar, em um nível básico, as capacidades das tecnologias web3 e das ferramentas da Robonomics, para desenvolvedoues e usuários da Internet das Coisas. Este curso introdutório foi projetado para explicar os princípios fundamentais que foumam a ideia de aplicações IoT descentralizadas, e também para mostrar as principais funções da plataforma Robonomics como uma parachain dentro do ecossistema Polkadot / Kusama. - -Durante este curso, você dará os primeiros passos para entender por que estas aplicações IoT futuristas exigem melhores ferramentas para enfrentar os crescentes desafios e ameaças do mundo digital. Você tentará conectar dispositivos domésticos inteligentes à nuvem descentralizada e também comprar, ativar e usar assinaturas IoT para enviar dados para dispositivos usando a Parachain Robonomics. - -Este curso é constituído por aulas teóricas com testes e várias tarefas práticas. Ao final do curso, você receberá um certificado e a oportunidade de fazer parte do Programa de Embaixadores da Robonomics. - - -## O que você aprenderá: - - -
  • - Praticar e melhorar suas habilidades no desenvolvimento web3 e comunicações robóticas -
  • -
  • - Conhecimento sobre o estado da moderna Internet das Coisas: problemas típicos e como a web3 pode ser a solução para alguns deles -
  • -
  • - Habilidades básicas para utilizar o ecossistema Polkadot / Kusama -
  • -
    \ No newline at end of file diff --git a/courses/pt/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md b/courses/pt/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md deleted file mode 100644 index da4b75baf7..0000000000 --- a/courses/pt/learn/introduction-course/polkadot-ecosystem-for-home-iot-infrastructure.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Lição #3, Ecossistema Polkadot para Infraestrutura IoT Doméstica" -lastUpdate: Thu May 04 2023 12:57:05 GMT+0400 (Samara Standard Time) -description: Nesta lição, você tentará controlar uma lâmpada inteligente que funciona através do Home Assistant, que possui módulos Robonomics adicionais. -lessonNumber: 3 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - -A lição 2 explicou os princípios fundamentais da Robonomics e mencionou Polkadot / Kusama como uma blockchain promissoua para sua implementação. Em particular, gostaríamos de mostrar como funcionam as assinaturas IoT da Parachain Robonomics. Durante a primeira lição, seu endereço foi incluído na assinatura do curso IoT, e você já conseguiu usá-lo duas vezes: quando você procurou seu reflexo no espelho negro e quando entregou seus resultados do teste. - - - -## Intro - -Nesta lição, você tentará controlar uma lâmpada inteligente que funciona através do Home Assistant, que possui módulos Robonomics adicionais. Seu objetivo é ligar/desligar a lâmpada usando a interface padrão Polkadot/Substrate na Parachain Robonomics. A lâmpada está sendo transmitida no [YouTube](https://www.youtube.com/channel/UCkemsNJWaCmvF1Oi50C-hAg/live) para que você possa assistir ao seu resultado em tempo real. Além disso, um conjunto mais detalhado de instruções sobre o uso de uma assinatura IoT está disponível em [nosso wiki](https://wiki.robonomics.netwouk/docs/subscription-launch/). - - -## Instruções - - - -
  • - -Abra o poutal [Polkadot/Substrate](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/extrinsics) da Robonomics. - -Você deve ver o menu Extrinsics (funções no ecossistema Polkadot). Se estiver travado, use o menu no canto superior esquerdo da página, navegue até Kusama & Parachains -> Robonomics, e pressione Switch. Em seguida, navegue até Developer no cabeçalho superior e depois para Extrinsics. - -
  • - -
  • -No primeiro campo onde você pode ler "using the selected account", escolha a mesma conta polkadot.js que você usou na lição anterior. -
  • - -
  • -No segundo campo "submit the following extrinsic", selecione rws extrinsics e após escolha call(subscriptionId, call). Isso permitirá que você envie uma chamada de função usando a assinatura IoT. -
  • - -
  • -No campo subscriptionId: AccountId32 cole o endereço do proprietário desta assinatura: 4GgRRojuoQwKCZP9wkB69ZxJY4JprmHtpzEzqJLjnqu4jk1r -
  • - -
  • - -No campo call: Call escolha o comando launch(robot, param). - -Isto irá mostrar mais dois campos: robot e param. - -
  • - -
  • -No campo robot: AccountId32 fcole este endereço da lâmpada inteligente: 4DUAnmLeEto197jDDSgvfjfS65MGvReMXibqp9ADg7ZgCDp9 -
  • - -
  • - -No campo param: H256 você precisa especificar 1 (on) ou 0 (off) para ligar/desligar a lâmpada. - -Você pode fazer isso com: - -0x0000000000000000000000000000000000000000000000000000000000000001 - -ou - -0x0000000000000000000000000000000000000000000000000000000000000000 - -
  • - -
  • - -Pressione o botão "Submit Transaction". - -Não se esqueça de abrir a [transmissão no Youtube](https://www.youtube.com/channel/UCkemsNJWaCmvF1Oi50C-hAg/live) antes de assinar a transação. - -
  • - - -
    - - - -A lição será considerada concluída após o envio de uma transação bem sucedida e sua ocorrência no explorer Polkadot para sua conta na polkadot.js. - -Você pode verificar seus resultados em [no dapp de verificação especial](https://lk.robonomics.academy/). Para autorização no dapp de verificação, use a mesma conta no Polkadot.js que foi usada durante o curso. - - \ No newline at end of file diff --git a/courses/pt/learn/introduction-course/robonomics-architecture.md b/courses/pt/learn/introduction-course/robonomics-architecture.md deleted file mode 100644 index ac358b0c22..0000000000 --- a/courses/pt/learn/introduction-course/robonomics-architecture.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Lição #4, Arquitetura da Robonomics" -lastUpdate: Thu May 04 2023 12:57:09 GMT+0400 (Samara Standard Time) -description: Esta lição é novamente dedicada à teouia. Você estudará a primeira metade do segundo capítulo do Whitepaper Robonomics 2022, intitulado “Arquitetura da Robonomics”. -lessonNumber: 4 -metaOptions: [Cursos on-line, Curso introdutório] -defaultName: Introduction to the ideas of Robonomics ---- - - -## Intro - -Esta lição é novamente dedicada à teouia. Você estudará a primeira metade do segundo capítulo do Whitepaper Robonomics 2022, intitulado **“Arquitetura da Robonomics”**. Particularmente, explouamos algumas das questões práticas e desafios que envolvem a criação de um sistema IoT que funcione bem. Exploramos estas questões porque essa é a única maneira de entender os requisitos para plataformas IoT como a Robonomics. - - -## Você vai aprender: - - - -
  • -uma rápida visão geral do estado atual dos sistemas IoT e seus componentes típicos; -
  • - -
  • -sobre o conceito moderno de construção de sistemas IoT — os gêmeos digitais; -
  • - -
  • -problemas atuais de construção de soluções IoT; -
  • - -
  • -e como a arquitetura da Robonomics se adapta às necessidades da moderna Internet das Coisas. -
  • - -
    - -## Instruções - - - -
  • - -Leia a primeira metade do segundo capítulo do Whitepaper 2022 em nosso [website](https://robonomics.network/architecture/). - -
  • - -
  • - -Após a leitura, tente passar no [teste](https://lesson4.robonomics.academy/) para a quarta lição do dapp especial. - -Serão feitas 11 perguntas; para passar no teste, é preciso obter 7 respostas corretas de 11 (60%, valor padrão na prática acadêmica). - -Tente obter o maior número possível de respostas corretas, se você passar no teste com 90% de acertos, você receberá tokens de bônus para a Lição 5. - -
  • - -
  • - -Basta marcar suas respostas no dapp e no final clicar no botão "Sign and send". - -Você precisa usar a mesma conta polkadot.js para o dapp do teste que você usou nas lições anteriores. - -
  • - -
  • - -Como na lição anterior, assine sua transação e verifique-a no explorer Polkadot. - -
  • -
    - - - - -A lição será considerada concluída após o envio de uma transação bem sucedida e sua ocorrência no explorer Polkadot para sua conta na polkadot.js. - -Você pode verificar seus resultados em [no dapp de verificação especial](https://lk.robonomics.academy/). Para autorização no dapp de verificação, use a mesma conta no Polkadot.js que foi usada durante o curso. - - \ No newline at end of file diff --git a/courses/pt/learn/kuka/overview.md b/courses/pt/learn/kuka/overview.md deleted file mode 100644 index 5870a2db76..0000000000 --- a/courses/pt/learn/kuka/overview.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -title: Conectar manipulador Kuka -description: Conectar Manipulador -metaOptions: [Aprender] -defaultName: Connect Kuka manipulator ---- - -Vídeo com um exemplo de trabalho pode ser encontrado aqui: - -https://youtu.be/z55HepXbHr8 - -
    - -*** - -
    - -## Requisitos - - - -
  • - -ROS melódico, Gazebo (instruções de instalação [aqui](http://wiki.ros.org/melodic/Instalação/Ubuntu)) -
  • - -
  • Alguns pacotes extras - - -sudo apt-get install ros-melodic-gazebo-ros-control ros-melodic-effort-controllers ros-melodic-joint-state-controller - - -
  • - -
  • IPFS 0.4.22 - -(baixe daqui](https://www.npackd.org/p/ipfs/0.4.22) e instale) - - -tar -xvzf go-ipfs_v0.4.22_linux-386.tar.gz -cd go-ipfs/ -sudo bash install.sh -ipfs init - - -
  • - -
  • pip3 - - -sudo apt-get install python3-pip - - -
  • - -
  • ipfshttpclient - - -pip3 install ipfshttpclient - - -
  • - -
  • substrate-interface - - -pip3 install substrate-interface - - -
  • - -
  • - -Nó Robonomics (arquivo binário) (baixe a última versão [aqui](https://github.com/airalab/robonomics/releases)) - -
  • - -
  • Extensão do navegador IPFS (não necessário)
  • - -
    - -
    - -*** - -
    - -## Instalação -Instale o manipulador Kuka e os pacotes de controle - -cd catkin_wc/src/ -git clone https://github.com/orsalmon/kuka_manipulator_gazebo -git clone https://github.com/LoSk-p/kuka_controller -cd .. -catkin_make - -*** - -
    - -## Executando o modelo gazebo - - -source ~/catkin_ws/devel/setup.bash -roslaunch manipulator_gazebo manipulator_empty_world.launch - - -Em uma nova janela - - -source ~/catkin_ws/devel/setup.bash -rosrun manipulator_gazebo move_arm_server - - - - -*** - -
    - -## Executando robonomics -Vá para a pasta com o arquivo robonomics e crie uma rede robonomics local: - - -./robonomics --dev --tmp - - - - -Vá para o [portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) e mude para o nó local - - - -Em seguida, vá para Contas e crie a conta `KUKA`. Salve a chave mnemônica da conta, você precisará dela mais tarde. - - - - -Envie algumas unidades para a nova conta de uma das contas padrão. - - - -*** -
    - -## Executando ipfs -Executar ipfs daemon: - - -ipfs daemon - - -*** - -
    - -## Executando pacote de controle -No diretório de configuração no pacote de controle kuka_control, você precisa criar um arquivo de configuração com estas linhas, onde `` é a semente mnemônica salva: - - -{ - "kuka_mnemonic": "[your_mnemonic]", - "node": "ws://127.0.0.1:9944" -} - - - -Agora você pode executar o script de controle: - - -source ~/catkin_ws/devel/setup.bash -rosrun kuka_controller move_arm_client.py - - - - -## Enviando transação -No [portal Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) vá para `Desenvolvedor/Extrínsecos`, mude `extrínseco` para `lançamento`. Escolha sua conta `KUKA` em `robô` e mude `param` para `Sim`. Em seguida, pressione `Enviar Transação` - - - -Na janela com o pacote de controle kuka_control você verá: - - - -Em seguida, vá para `Desenvolvedor/Estado da Cadeia` no portal Robonomics, selecione `datalog` e `datalogItem((AccountId,u64)): RingBufferItem` na consulta e adicione o datalog `KUKA` com o botão '+': - - - -Agora você pode encontrar a telemetria do robô no IPFS através deste link com seu hash `https://gateway.ipfs.io/ipfs/`. - -## Solução de problemas - -Se `catkin_make` não funcionar com a mensagem de que não consegue encontrar MoveArm.h, tente remover as últimas quatro linhas em CMakeLists.txt no pacote kuka_manipulator_gazebo: - - -include_directories(include ${catkin_INCLUDE_DIRS}) - -add_executable(move_arm_server src/move_arm_server.cpp) -target_link_libraries(move_arm_server ${catkin_LIBRARIES}) -add_dependencies(move_arm_server beginner_tutorials_gencpp) - - -Faça `catkin_make` sem essas linhas, depois retorne-as e faça `catkin_make` novamente. \ No newline at end of file diff --git a/courses/pt/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md b/courses/pt/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md deleted file mode 100644 index 8b86deb72e..0000000000 --- a/courses/pt/learn/open-source-private-smart-home-intro/assembling-smart-home-board.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: "Montagem da Placa de Casa Inteligente" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: Você aprenderá como montar a placa de casa inteligente! -metaOptions: [Aprender] -defaultName: Introduction to open source solution for private smart homes ---- - - - -## Painel de Casa Inteligente - -Este painel destina-se a ser utilizado como um dispositivo de controle central com os interruptores mais utilizados e dados exibidos nele. Também é possível conectar um intercomunicador e usá-lo como um monitor interno. Basicamente, é apenas um tablet executando o sistema operacional Android no nosso caso. Tudo o que você precisa fazer é fornecer energia. Achamos que este painel deve ser instalado onde você colocaria um monitor interno - - - - -## Interruptor de Luz - -Os interruptores de luz inteligentes se parecem mais ou menos com os comuns, exceto que botões de pressão são usados em vez de interruptores. Um botão de pressão volta à sua posição após ser pressionado. Não há diferença na conexão entre um interruptor comum e um inteligente: conecte o fio neutro em N, o fio de energia em L e a linha de iluminação em L1. Após montar o interruptor para emparelhá-lo via ZigBee, pressione o botão por pelo menos 5 segundos. - - - -No caso do interruptor de dois botões (ou mais), a única diferença é a segunda (terceira, ...) linha de luzes. - - - -## Lâmpada Inteligente - -As lâmpadas inteligentes são provavelmente a maneira mais fácil de experimentar algo inteligente, você nem precisa ser eletricista. Elas podem ser controladas remotamente e podem mudar sua luminosidade ou cor. Você pode instalá-las junto com interruptores inteligentes ou separadamente. O uso desses dispositivos pode abrir uma página inteira de automações, dependendo do seu humor ou das condições externas! Novas lâmpadas estão prontas para serem conectadas via ZigBee. Caso não consiga encontrar uma, ligue e desligue 5 vezes - - - - - - - - -## Tomada Inteligente - -Existem vários dispositivos “não inteligentes” que normalmente precisamos ligar e desligar às vezes. Se ligarmos esse dispositivo através da tomada inteligente, podemos ligá-lo/desligá-lo de acordo com nossas necessidades, horários ou condições. Além disso, essas tomadas podem monitorar o consumo de energia para que tenhamos dados de quanto este dispositivo consome. A conexão é bastante fácil, para emparelhar o botão do soquete inteligente por 5 segundos - - - -## Interruptor de Caldeira - -A razão pela qual o interruptor de caldeira existe como um dispositivo dedicado é que ele pode suportar mais carga. Normalmente as caldeiras consomem 3kWh ou até mais, então os interruptores regulares (mesmo os inteligentes) não são adequados nessa situação. O interruptor de caldeira é projetado para funcionar nessas condições. As conexões e o emparelhamento são praticamente os mesmos que para o interruptor de luz - - - -## Termostato Wifi/Zigbee - -Parece um termostato comum, mas vem com a capacidade de ser controlado sem fio. Existem opções: conectar um sistema de aquecimento diretamente ao termostato ou separá-los. No último caso, o termostato nos dirá o modo (aquecimento, resfriamento, ventilador, etc) e a temperatura - - - -## Interruptor de Cortina - -Outro interruptor dedicado, desta vez para cortinas. Do ponto de vista técnico, não é necessário usar apenas este interruptor, poderíamos usar qualquer interruptor de três botões e conectá-lo ao motor da cortina, mas este vem com ícones especiais. Para emparelhar o interruptor, pressione longamente o botão do meio - - - -## Controlador de Válvula Inteligente - -Escolha um controlador de acordo com as válvulas que você tem. O cenário mais óbvio é combinar este controlador com um sensor de vazamento de água. Para emparelhar o dispositivo, segure o botão por 5 segundos - - - -## Sensor de Vazamento de Água - -Um dispositivo bastante simples que envia um sinal quando seus dois contatos estão conectados. A água conduz eletricidade e quando há água sob o sensor, seus contatos são curto-circuitados. O sensor funciona com uma bateria e geralmente dura de 1 a 2 anos. Para emparelhar o sensor via ZigBee, pressione longamente o botão por um tempo - - - -## Controlador de IR - -Pense nele como o controle remoto da sua TV... mas inteligente! E não se limita a funcionar apenas com TVs. Se o seu ar condicionado tem um controle remoto, ele pode ser substituído por este inteligente. Para emparelhá-lo, pressione o botão de reset na parte de trás do controlador por um tempo. Existem várias bibliotecas com comandos prontos para uso, por exemplo [https://github.com/smartHomeHub/SmartIR](https://github.com/smartHomeHub/SmartIR). Tudo o que você precisa fazer é encontrar o modelo da sua TV ou ar condicionado - - - -## Sensor de Porta/Janela - -Outro sensor que funciona com uma bateria, mas ajuda na construção de um sistema de segurança simples ou conectando-o a luzes e outros dispositivos. Para emparelhá-lo via ZigBee, coloque uma agulha no buraco e pressione por um tempo - - - -## Sensor de Movimento -O mesmo que o sensor de porta/janela, pode ser usado em vários cenários. Os mais óbvios são controlar as luzes ou detectar movimentos quando você está ausente - - - - -## Sensor de Temperatura e Umidade - -É bom saber as condições em que você vive, certo? Este sensor fornecerá medições de temperatura e umidade. Então você pode usar esses dados para ligar/desligar seu ar condicionado ou outros sistemas de aquecimento/resfriamento. Para emparelhar o sensor, há um botão na parte de trás - - - -## Câmera de Segurança - -No final, é bom dar uma olhada no que acontece com sua casa. Uma boa automação seria conectar o sensor de movimento com a câmera para que você tenha um vídeo de 10 segundos quando o movimento for detectado - - - - -## Placa Inteligente -Dê uma olhada nos resultados [https://www.youtube.com/watch?v=B3er7bwtvkw](https://www.youtube.com/watch?v=B3er7bwtvkw) -E brinque com ela você mesmo [https://twitter.com/vadim_manaenko/status/1653777703718334469?s=20](https://twitter.com/vadim_manaenko/status/1653777703718334469?s=20) - diff --git a/courses/pt/learn/open-source-private-smart-home-intro/overview.md b/courses/pt/learn/open-source-private-smart-home-intro/overview.md deleted file mode 100644 index d6503bf69f..0000000000 --- a/courses/pt/learn/open-source-private-smart-home-intro/overview.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Introdução à solução de código aberto para casas inteligentes privadas" -lastUpdate: Tue May 09 2023 13:56:49 GMT+0400 (Samara Standard Time) -description: Você aprenderá como integrar soluções de código aberto com dispositivos inteligentes baratos para tornar sua casa inteligente orientada para a privacidade e não dependente de nuvens em seu funcionamento. -metaOptions: [Aprender] -defaultName: Introduction to open source solution for private smart homes ---- - - - - - Olá a todos! Hoje quero trazer vocês para uma conversa sobre uma casa inteligente, quando há necessidade dela, do que ela é composta e do que pode oferecer. - - -## Casas inteligentes: Resolvendo problemas de aquecimento e água quente - -Em 2022, mudei para o Chipre e tive que me acostumar rapidamente com as condições de vida em um lugar novo. Depois da Rússia, a diferença na atitude em relação ao uso de recursos energéticos é especialmente sentida. Por exemplo, no Chipre não há aquecimento central. E até dezembro, você nem pensava nisso. E então descobri que a temperatura do meu quarto é a mesma que a temperatura fora da janela. Para ser honesto, é desconfortável dormir a +10 °C ... brrr! - -## Aumente suas economias com monitoramento de casa inteligente - -Além disso, também não há fornecimento central de água quente. Existem caldeiras instaladas no telhado e aquecidas pelo sol. Mas no inverno o sol não é suficiente para aquecer o tanque de água. O apartamento tem um interruptor que inicia o elemento de aquecimento dentro do tanque. A primeira coisa que é inconveniente é que você precisa ligá-lo com antecedência. Meia hora a uma hora antes de tomar banho. À noite, esse cenário ainda é aceitável, mas de manhã você nunca terá água quente. Em segundo lugar, você pode facilmente esquecer de desligá-lo. Como resultado - um elemento de aquecimento queimado e uma conta de eletricidade. - -A propósito, a eletricidade é muito cara aqui, e você precisa pagar a cada 2 meses. É impossível, no momento, determinar o principal consumidor. Seria bom ter estatísticas sobre os principais consumidores de eletricidade, como ar condicionado, aquecimento por piso radiante, iluminação, etc. Tendo dados em tempo real sobre o consumo de energia em mãos, você pode pelo menos começar a analisar no que está sendo gasto. - -## Componentes essenciais de uma casa inteligente: interruptores, sensores e medidores inteligentes - -Acontece que os primeiros candidatos para dispositivos inteligentes são vários interruptores e monitoramento de consumo de energia. Em seguida, você provavelmente pensará em controlar o ar condicionado e o aquecimento por piso radiante de acordo com um cronograma ou de acordo com leituras de temperatura. Isso significa que precisaremos de sensores de temperatura e umidade, relés para controlar o aquecimento por piso radiante e controles remotos IR para os condicionadores de ar. Toda casa também tem janelas, e as janelas geralmente têm cortinas - seria legal quando for dormir para que as cortinas caiam automaticamente. Assim, interruptores, sensores e medidores inteligentes formam a base de uma casa inteligente. E então você pode sonhar com base em necessidades específicas. - -## Escolhendo a solução certa para casa inteligente: KNX vs. Sonoff vs. Xiaomi - -Quais soluções de casa inteligente e automação estão no mercado? Podemos pensar no KNX, que hoje é uma das soluções mais comuns para uso em sistemas de automação de médio e grande porte para casas, escritórios e instalações comerciais. Está no mercado há mais de vinte anos e agora é suportado por muitos dos principais fabricantes de equipamentos elétricos. No entanto, para montar uma solução KNX, é necessário fazer muito trabalho de engenharia. A lógica principal é montada, como regra, em um quadro de distribuição separado. Se não foi previsto originalmente, a instalação em um apartamento existente pode ser difícil ou impossível, sem fazer alterações adequadas no layout. Além disso, as soluções baseadas em KNX são bastante caras. - -Outra abordagem pode ser comprar dispositivos de fabricantes chineses como Sonoff ou Xiaomi. Sua principal vantagem é o preço, facilidade de instalação e configuração. Qualquer pessoa poderá instalar a maioria dos sensores e dispositivos em suas casas. Em alguns lugares, você pode precisar de um eletricista, por exemplo, para instalar interruptores inteligentes, mas eles ocuparão o lugar dos antigos e você não precisará fazer alterações no layout do apartamento. O fabricante oferece um único aplicativo para gerenciar dispositivos. No entanto, você sempre deve lembrar que seus dados são enviados para algum servidor, e toda comunicação com dispositivos é impossível sem uma conexão com a Internet. - - -## Casa inteligente faça você mesmo: Construindo um servidor doméstico para controle total - -E outra abordagem para construir uma casa inteligente é baseada na segunda, ou seja, usando dispositivos disponíveis dos mesmos fabricantes chineses, mas adicionalmente instalar um servidor doméstico em seu apartamento/casa para se livrar das nuvens. Este é o caminho que seguimos em nossa solução de casa inteligente. Nas próximas partes, falarei detalhadamente sobre a montagem de nosso estande de demonstração e suas capacidades. - - - Isso é tudo por enquanto! Na próxima lição, mergulharemos mais fundo no lado prático da construção de uma casa inteligente e mostraremos como montar um Painel de Casa Inteligente. Fiquem ligados e preparem-se para dar o primeiro passo em direção à criação de uma casa totalmente funcional e automatizada. - \ No newline at end of file diff --git a/courses/pt/learn/open-source-private-smart-home-intro/unleash-automation-potential.md b/courses/pt/learn/open-source-private-smart-home-intro/unleash-automation-potential.md deleted file mode 100644 index 5cf26928d1..0000000000 --- a/courses/pt/learn/open-source-private-smart-home-intro/unleash-automation-potential.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Liberte o Potencial da Automação" -lastUpdate: Mon August 28 2023 12:46:49 GMT+0400 (Samara Standard Time) -description: Você aprenderá sobre automações básicas que tornam a vida cotidiana mais fácil no exemplo de um suporte de casa inteligente. -metaOptions: [Aprender] -defaultName: Introduction to open source solution for private smart homes ---- - -Da última vez, passamos pelo processo de instalação e conexão de vários dispositivos inteligentes no suporte de demonstração. Em um apartamento ou casa real, é claro, haverá suas próprias características. Ao trabalhar com eletricidade, você deve seguir precauções de segurança e não trabalhar se não souber o que está fazendo. - -Agora vamos passar para a coisa mais interessante, pela qual foi necessário mudar os interruptores e instalar sensores nos ambientes. - -**A automação residencial envolve o uso de tecnologia e dispositivos inteligentes para controlar e automatizar várias funções na casa. Aqui estão alguns exemplos de automação residencial:** - -* *Iluminação Inteligente*: Você pode controlar e automatizar a iluminação usando lâmpadas ou interruptores inteligentes. Isso permite ligar e desligar a luz, ajustar o brilho, mudar as cores. -* *Controle de Clima*: Termostatos inteligentes permitem controlar a temperatura em sua casa remotamente. Com eles, você pode ajustar as configurações de acordo com sua programação e otimizar seu consumo de energia. -* *Sistemas de Segurança*: A automação residencial pode incluir recursos de segurança, como fechaduras inteligentes, interfones de vídeo, câmeras de vigilância ou até mesmo simples sensores de movimento. Esses dispositivos permitem controlar o acesso à sua casa de qualquer lugar do mundo. -* *Controle de eletrodomésticos*: Com tomadas inteligentes, você pode automatizar o funcionamento de eletrodomésticos e dispositivos eletrônicos. Por exemplo, você pode programar a cafeteira para ligar e começar a fazer café antes de acordar. -* *Sistemas de Entretenimento*: sistemas de áudio e vídeo se encaixarão perfeitamente na automação residencial. Você pode, por exemplo, configurar a reprodução de música de acordo com um evento ou programação. - -**Agora vamos discutir alguns dos prós e contras da automação residencial em geral.** - -Prós: - -* *Conveniência*: A automação residencial é principalmente projetada para economizar você de atividades rotineiras que são realizadas diariamente. -* *Eficiência Energética*: Tudo começa levando em consideração os principais consumidores de eletricidade. Tendo estatísticas em mãos, você pode configurar um cronograma ou ser mais consciente sobre o uso de certos dispositivos. -* *Segurança Melhorada*: Você pode monitorar sua casa e ser notificado em caso de qualquer atividade suspeita. -Personalização e Integração: Os sistemas de automação residencial são frequentemente flexíveis e podem ser personalizados para atender às suas necessidades específicas. Eles também podem se integrar a outros dispositivos inteligentes, fornecendo controle e automação perfeitos de vários sistemas. - -Contras: - -* *Custo*: O custo inicial de aquisição e configuração de dispositivos pode ser relativamente alto, especialmente para sistemas complexos. -* *Complexidade*: Instalar e configurar sistemas de automação residencial pode ser uma tarefa complexa que requer conhecimento técnico e habilidades de resolução de problemas. -* *Riscos de privacidade e segurança*: Dispositivos conectados podem ser vulneráveis a hacking ou acesso não autorizado, o que pode comprometer sua privacidade e segurança. É importante seguir as melhores práticas de segurança e manter seus dispositivos atualizados. - -No geral, a automação residencial oferece muitos benefícios em termos de conveniência, eficiência energética e segurança. No entanto, vale a pena pensar antecipadamente sobre a base técnica dos dispositivos, em qual protocolo eles funcionarão e como organizar sua conexão entre si. - -Voltando ao nosso estande de demonstração de casa inteligente, vamos ver algumas automações básicas em ação. - -## Controle de Cortina - - - -Conectando o mecanismo de abertura/fechamento da cortina ao servidor doméstico, você pode controlar as cortinas a partir do aplicativo. Mas o mais importante é que agora você pode programar um horário ou vincular o despertador com a abertura das cortinas. Acordar com luz natural é considerado auspicioso! - -## Sensor de Porta e Luz - - - -Uma das automações mais simples é ligar a luz por meio de um sensor de abertura de porta. Pode ser útil na despensa, onde você não precisa estar constantemente. Então, quando você abrir a porta, a luz se acenderá automaticamente, e quando terminar seus afazeres e fechar a porta, a luz não ficará acesa à toa. - -## Sensor de Vazamento e Válvula Inteligente - - - -Saber que você tem um vazamento é metade da batalha. Prevenido é prevenido, como dizem. Mas se você vincular o sensor e a válvula, todas as medidas necessárias para evitar a inundação serão tomadas antes mesmo de você ter tempo de se assustar. - -## Sensor de movimento e Luz - - - -Talvez o uso mais óbvio de um sensor de movimento seja ligar as luzes. Tais automações podem ser configuradas no banheiro ou no corredor - -## Estatísticas do Stand de Demonstração - -Durante o trabalho do stand, conseguimos coletar as seguintes estatísticas - -|Statistics| -|--------------------------|--------| -| Total transactions | 6557 | -| Users | 16 | -| Logins | 50 | -| Pinned files in IPFS | 58 | -| Data in IPFS | 980 Mb | - -[Por padrão](https://www.home-assistant.io/integrations/recorder/), o Home Assistant mantém um histórico de apenas 10 dias. A integração Robonomics, se a assinatura for [ativada](https://dapp.robonomics.network/#/rws-activate), faz upload do histórico a cada 10 minutos. Assim, você não precisa se preocupar com backups adicionais do seu histórico. Por exemplo, abaixo estão vários gráficos de histórico de sensores - - - - - - - -Concluindo uma série de artigos sobre o stand e automação, gostaria de dizer que as possibilidades do sistema proposto não se limitam a isso. Os cenários de automação específicos dependerão do caso específico e do inquilino, pois tudo é feito para a conveniência da vida doméstica. diff --git a/courses/pt/learn/opengov-for-iot/overview.md b/courses/pt/learn/opengov-for-iot/overview.md deleted file mode 100644 index ce7802e740..0000000000 --- a/courses/pt/learn/opengov-for-iot/overview.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "OpenGov para gerenciar a infraestrutura IoT" -lastUpdate: Thu May 18 2023 13:08:37 GMT+0400 (Samara Standard Time) -description: Um experimento aberto usando openGov para gerenciar a infraestrutura IoT de uma pequena vila inglesa. -# lessonNumber: 0 -metaOptions: [Aprender] -defaultName: OpenGov for managing the IoT infrastructure ---- - - - - -Senhoras e senhores, juntem-se a mim ao redor do fogo e deixem-me contar a vocês uma história da vila de Orwellham. Uma pitoresca vila inglesa que aproveita os avanços tecnológicos da era Web3. Onde os ecos do passado se entrelaçam com os passos do progresso. - - -## Que nosso conto de fadas comece - -As pessoas de Orwellham coexistem em harmonia com o mundo natural que as rodeia, auxiliadas pela integração da tecnologia moderna. - -Nesta vila, a noção de segurança possui uma complexa dualidade. Um sistema discreto, porém sempre presente, observa a vila, conferindo uma sensação de segurança aos seus habitantes. Embora esses olhos vigilantes possam evocar uma sutil corrente de desconforto, sua presença discreta serve como um lembrete do delicado equilíbrio entre proteção e seu olhar sempre onipresente. - -## IoT do lugar encantado - -Os agricultores e seus companheiros IoT dançam uma valsa harmoniosa, cuidando da terra e colhendo os frutos de seu trabalho. Ao pôr do sol sobre a vila, o aroma da terra fértil e o farfalhar do trigo dourado enchem o ar, um testemunho da sinfonia de tradição e inovação que é a essência deste lugar encantado. - -## Anunciando o futuro - -No epicentro da vila, telas interativas servem como condutos modernos para compartilhar histórias da vida comunitária. Essas telas mantêm os moradores informados sobre eventos locais e notícias, oferecendo um sutil aceno ao passado enquanto anunciam simultaneamente o futuro. - - -Assim, meus amigos, enquanto nos sentamos junto ao fogo, embarcamos em uma odisseia para desvendar as histórias de Orwellham, uma vila onde tradição e inovação se coalescem. - -Vamos nos imergir no reino de Orwellham e explorar os mistérios que residem dentro. - \ No newline at end of file diff --git a/courses/pt/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md b/courses/pt/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md deleted file mode 100644 index 4a8c6d1cb1..0000000000 --- a/courses/pt/learn/opengov-for-iot/the-shadow-of-adcorps-intrusion.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "A Sombra da Intrusão da AdCorp" -lastUpdate: Wed May 10 2023 10:57:05 GMT+0400 (Samara Standard Time) -description: Um experimento aberto usando openGov para gerenciar a infraestrutura IoT de uma pequena vila inglesa. -# lessonNumber: 1 -metaOptions: [Aprender] -defaultName: OpenGov for managing the IoT infrastructure ---- - - - -Infelizmente, dentro de nossa história de Orwellham, onde a harmonia da tradição e da inovação criou um refúgio utópico, um inesperado desenrolar da história começou a se desdobrar. - - -## Segurança compartilhada para governança autoexecutável - -Os moradores, que desfrutavam do privilégio de votar nos parâmetros de seus dispositivos IoT compartilhados, viviam em contentamento, acreditando que sua voz coletiva estava moldando o mundo ao seu redor. - -Sua vila aproveitou a segurança compartilhada fornecida pela Cadeia de Revezamento Polkadot para criar um protocolo blockchain seguro e eficiente que permitiu à sua comunidade ajustar sua infraestrutura compartilhada por meio de governança totalmente on-chain, totalmente autônoma e autoexecutável. Os moradores, armados com seus smartphones e um aplicativo especialmente projetado, podiam facilmente votar em referendos, participando das decisões que moldavam suas vidas. - -## Propostas escorregadias estão chegando - -Neste dia mais infeliz, um empresário rico chamado Craig, conhecido por seu comportamento abrasivo e visões impopulares, apresentou um referendo. Esta proposta sugeria que o sinal digital interativo do bem comum, antes um farol de notícias da comunidade e eventos locais, agora exibiria anúncios, gerando receita para a vila. - -Como o destino teria, os moradores, ocupados com suas rotinas diárias, prestaram pouca atenção aos detalhes do referendo. Com mal um sussurro de oposição, a proposta de Craig passou despercebida e foi aprovada. Sem o conhecimento dos moradores, o custo da publicidade foi estabelecido extraordinariamente baixo, uma manobra astuta de Craig para garantir anos de publicidade para sua empresa, AdCorp. - -## Enfrente a escuridão da AdCorp - -Bastou pouco tempo para que o sinal digital interativo, que antes exibia histórias da vida da vila e notícias compartilhadas, agora suportasse o implacável bombardeio de anúncios da AdCorp. Os moradores, consternados com a mudança repentina, se viram ansiando pelos dias em que suas telas refletiam o espírito de Orwellham, em vez da presença implacável de seu hóspede indesejado, AdCorp. - -À medida que o sol se punha no horizonte e a vila era banhada pelo brilho suave dos postes de luz, sussurros de descontentamento começaram a se espalhar pela comunidade. Os moradores, antes unidos em sua busca por harmonia e progresso, agora enfrentavam o desafio de recuperar seu querido sinal digital interativo, um símbolo da identidade de sua vila. - -A história de Orwellham havia tomado um rumo inesperado, mas o esp��rito indomável dos moradores não seria tão facilmente abafado. Enquanto se reuniam ao redor do fogo, um senso de determinação brilhava em seus olhos, acendendo uma resolução ardente para enfrentar a escuridão lançada pela AdCorp de Craig e restaurar o equilíbrio que tornava Orwellham a vila encantadora que um dia foi. - - -continua... - \ No newline at end of file diff --git a/courses/pt/learn/ros-smart-projects/overview.md b/courses/pt/learn/ros-smart-projects/overview.md deleted file mode 100644 index 74425a3103..0000000000 --- a/courses/pt/learn/ros-smart-projects/overview.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Projetos baseados em ROS para espaços inteligentes -lastUpdate: Thu May 04 2023 12:53:19 GMT+0400 (Samara Standard Time) -description: Projetos baseados em ROS para espaços inteligentes -metaOptions: [Aprender] -defaultName: ROS-based projects for smart spaces ---- - -Ao longo de seus 15 anos de desenvolvimento, o framework Robot Operating System foi integrado com dezenas de [dispositivos robóticos variados](https://robots.ros.org/), e existem ainda mais pacotes com algoritmos e ferramentas desenvolvidas pela comunidade. Verdade seja dita, agora existem tantos projetos, e a confusão no estilo de descrição de seus repositórios cresceu tanto que atualmente é bastante problemático encontrar projetos dedicados a um tópico específico. - -Aqui, você encontrará uma lista modesta de projetos baseados em ROS dedicados a robôs e dispositivos IoT destinados ao uso em um ambiente doméstico ou de escritório. Este assunto é um dos pilares da plataforma Robonomics. Nosso objetivo é tentar trazer esses projetos para o caminho do Robonomics, tanto do ponto de vista da integração técnica quanto da perspectiva de uma aplicação interessante desses dispositivos em uma economia robótica. Sinta-se à vontade para usar esta lista em sua busca por ideias e inspiração. - -Você pode conferir alguns exemplos de projetos ROS integrados com Robonomics em nossa [seção de Aprendizado](/learn). - - - -Os principais recursos para buscar repositórios e pacotes ROS podem ser acessados [aqui](https://index.ros.org/). - -## Simulação - -Antes de direcionar nossa atenção exclusivamente para dispositivos, vale lembrar que para uma grande quantidade de projetos ROS, existe a opção de testá-los em uma simulação. A ferramenta mais popular para a modelagem 3D de vários robôs sob o ROS é o simulador [Gazebo](http://gazebosim.org/) e seu projeto derivado, [Ignition](https://index.ros.org/r/ros_ign/). Ambos os simuladores permitem modelar dispositivos em vários ambientes internos e externos difíceis, alterar o modelo e o ambiente em si, testar algoritmos de controle e depurar antes de passar para o dispositivo real. Além disso, esta é uma excelente ferramenta para treinamento e situações em que um dispositivo real está ausente. - -No geral, esta é uma das melhores opções para tentar integrar o Robonomics com um dispositivo ROS sem nenhum gasto. Um cenário real exigiria apenas pequenas modificações de código. Para o Gazebo, o Robonomics possui um guia detalhado que consiste em duas partes que abordam [configurações](https://wiki.robonomics.network/docs/en/connect-any-ros-compatible-robot-under-robonomics-parachain-control-1/) e [integrações](https://wiki.robonomics.network/docs/en/connect-any-ros-compatible-robot-under-robonomics-parachain-control-2/) (usando um drone como exemplo). O principal desafio está em encontrar um modelo pronto (por exemplo, [aqui](https://github.com/osrf/gazebo_models)) para o Gazebo ou tentar criar seu próprio modelo usando o [SDFormat](http://sdformat.org/) desenvolvido para simuladores. - -## Computadores de placa única e outras placas - -Essas placas atuam como um componente base para conectar outros dispositivos ao ROS, principalmente sensores e dispositivos de gravação (gravadores de áudio, foto e vídeo, câmeras, sensores de temperatura, pressão e concentração de substâncias.) porque o conceito de um espaço inteligente implica a criação de um [gêmeo digital](https://gateway.pinata.cloud/ipfs/QmNNdLG3vuTsJtZtNByWaDTKRYPcBZSZcsJ1FY6rTYCixQ/Robonomics_keypoint_March_2021.pdf) de objetos de infraestrutura. Além disso, as placas podem atuar como o dispositivo de computação principal e controlador para a construção de um dispositivo móvel robótico. Abaixo está uma lista de placas que suportam o ROS: - -| Name and link | Description | ROS version | Last update | -|:-----------------------------------------------------------------------------------------------------:|---------------------------------------------------------------------------------|:-----------:|:-----------:| -| [Raspberry Pi](http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi)| single board computer; RaspPi versions 2, 3 and 4 are available | melodic | 2020 | -| [Arduino](http://wiki.ros.org/rosserial_arduino) | single board computer | noetic | 2021 | -| [Phidgets](http://wiki.ros.org/phidgets) | sets of boards, various sensors and devices: Ph sensor, LED, RFID, motor control| noetic | 2020 | -| [Sense HAT](https://wiki.ros.org/sensehat_ros) | shield for RaspPi with a set of sensors and LED | noetic | 2020 | -| [Navio2](https://navio2.emlid.com/) | autopliot shield for RaspPi 2,3,4 | noetic | 2020 | -| [OpenCR](http://wiki.ros.org/opencr) | robot controller | noetic | 2021 | - -
    - -## Dispositivos domésticos inteligentes e robôs domésticos - -Apresentados aqui estão dispositivos ROS cujo uso inicial foi para casas ou escritórios inteligentes. A lista varia amplamente, desde aspiradores de pó e assistência robótica até sistemas de controle doméstico. - -| Name and link | Description | ROS version | Last update | -|:---------------------------------------------------------:|-------------------------------------------------------------|:-----------------------------:|:-----------:| -| [Care-O-bot 4](http://wiki.ros.org/care-o-bot) | household robot-assistant; a simulation is available | melodic | 2021 | -| [Kobuki](http://wiki.ros.org/kobuki) | mobile platform with different use cases (e.g. a waiter) | melodic | 2020 | -| [QTrobot](http://wiki.ros.org/Robots/qtrobot) | humanoid social robot | kinetic (melodic can be used) | 2020 | -| [Nao](http://wiki.ros.org/nao) | humanoid robot; a simulation is available | Melodic | 2020 | -| [TIAGo](http://wiki.ros.org/Robots/TIAGo) | service robot with a manipulator; a simulation is available | kinetic | 2020 | -| [Roomba](https://github.com/AutonomyLab/create_robot) | robot vacuum cleaner | melodic | 2020 | -| [OpenHAB](http://wiki.ros.org/iot_bridge) | home automation system | kinetic | 2017 | -| [Sesame](https://index.ros.org/p/sesame_ros/) | smart lock | melodic | 2021 | - -
    - -## Plataformas móveis e manipuladores - -Em primeiro lugar, o ROS é conhecido por apoiar a robótica móvel, desde drones até manipuladores industriais, para os quais muitos pacotes foram criados que realizam a localização e mapeamento simultâneos ([SLAM](http://wiki.ros.org/rtabmap_ros)), resolvem a tarefa direta e inversa da cinemática, [planejamento de trajetória](https://moveit.ros.org/), e etc. A robótica móvel está gradualmente penetrando na vida cotidiana, por isso é certamente interessante testar os robôs ROS existentes em seu uso dentro de um espaço inteligente. A lista geral de plataformas móveis baseadas em ROS é bastante extensa, por isso aqui selecionamos aquelas que são potencialmente convenientes para operar em um espaço doméstico ou de escritório. - -| Name and link | Description | ROS version | Last update | -|:---------------------------------------------------------:|--------------------------------------------|:-----------:|:-----------:| -| [turtlebot](http://wiki.ros.org/turtlebot3) | mobile platform tailored for ROS | noetic | 2020 | -| [GoPiGo3](http://wiki.ros.org/Robots/gopigo3) | mobile robot based on RaspPi | melodic | 2020 | -| [LoCoBot](http://wiki.ros.org/locobot) | mobile manipulator | kinetic | 2020 | -| [ROSbot 2.0](http://wiki.ros.org/Robots/ROSbot-2.0) | mobile platform; a simulation is available | noetic | 2021 | -| [VOLTA](http://wiki.ros.org/Robots/Volta) | mobile platform; a simulation is available | melodic | 2021 | -| [evarobot](http://wiki.ros.org/Robots/evarobot) | mobile platform; a simulation is available | noetic | 2020 | -| [Freight](http://wiki.ros.org/Robots/freight) | mobile platform; a simulation is available | melodic | 2021 | -| [PR2](http://wiki.ros.org/Robots/PR2) | mobile platform; a simulation is available | melodic | 2021 | \ No newline at end of file diff --git a/courses/pt/learn/sensors-connectivity-course/overview.md b/courses/pt/learn/sensors-connectivity-course/overview.md deleted file mode 100644 index 89c566995b..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/overview.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Conectividade de Sensores e Rede Descentralizada de Sensores -description: Descubra como uma rede de monitoramento de qualidade do ar civil pode funcionar e os benefícios de uma solução descentralizada para monitorar a qualidade do ar em sua casa ou comunidade. -lessonNumber: 1 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -## Sobre o curso - -Descubra como uma rede de monitoramento de qualidade do ar civil pode funcionar e os benefícios de uma solução descentralizada para monitorar a qualidade do ar em sua casa ou comunidade. - -## O que é Rede de Sensores Descentralizada? - -A Rede de Sensores da Robonomics é uma rede de monitoramento de qualidade do ar civil. Qualquer pessoa pode montar seu próprio sensor ou usar uma solução pronta da equipe de desenvolvimento e configurá-lo em sua casa. A rede de sensores utiliza software de código aberto e diagramas de fiação de componentes abertos. Em particular, um dos principais sensores utilizados é o sensor de partículas finas PM10 e PM2.5. - - -## O que é PM10 e PM2.5? - -PM10 é uma partícula de uma substância com 10 micrômetros ou menos, PM2.5 é uma partícula com 2,5 micrômetros de diâmetro ou menos. Elas flutuam constantemente no ar e não se depositam devido ao seu pequeno tamanho (para comparação, a espessura de um fio de cabelo humano é de 100 micrômetros). Essas partículas podem aparecer por uma variedade de razões, incluindo processos industriais associados ao manuseio de materiais a granel ou à combustão e processamento de minerais. Elas também são emitidas após incêndios florestais e tempestades de poeira. Além disso, podem vir do transporte convencional ao queimar combustível ou ao desgaste de pneus e pavimentos. Os pneus dos carros se desgastam em migalhas finas e o vento as espalha pelas estradas por toda a cidade. - -## Por que precisamos medi-los? - -PM10 e PM2.5 são os mais perigosos porque seu tamanho permite que penetrem nos pulmões das pessoas, enquanto partículas maiores tendem a ficar presas no nariz ou na garganta. Partículas maiores de PM10 irritam as vias aéreas, nariz, garganta e olhos. Partículas menores que 2,5 micrômetros podem penetrar profundamente nos pulmões e até mesmo entrar na corrente sanguínea. Os efeitos dessas partículas no corpo humano podem ser devastadores: - - - -
  • envenenamento por substâncias nocivas
  • -
  • reações alérgicas
  • -
  • infecções bacterianas e fúngicas
  • -
  • câncer
  • -
  • irritação das membranas mucosas
  • -
  • exacerbação de sintomas respiratórios
  • - -
    - -## Por que Rede de Sensores Descentralizada? - -Existem redes de monitoramento público como o projeto alemão [sensor.community](https://sensor.community), mas elas utilizam a arquitetura cliente-servidor usual, o que neste caso é uma desvantagem. Os dados de todos os sensores juntamente com as solicitações dos usuários são enviados para um único servidor, que nem sempre consegue lidar com essa carga. Assim, há situações em que o mapa com os dados não está disponível nos momentos mais importantes. - -Com a Rede Robonomics, os sensores enviam dados para vários servidores diferentes, e qualquer usuário pode trazer o servidor de Conectividade de Sensores para o seu sensor e vê-lo no mapa. O mapa em si não fica sobrecarregado porque é um aplicativo descentralizado (dapp) que funciona diretamente do seu navegador com os dados que os servidores enviam para o canal IPFS pub-sub. \ No newline at end of file diff --git a/courses/pt/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md b/courses/pt/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md deleted file mode 100644 index 2b5aa61eda..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/robonomics-sensors-measure-analytics-and-archive-node.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: "Lição nº 7, os sensores Robonomics medem analytics e arquivam nó" -description: 'ROBONOMICS SENSORES MEDIR ANALÍTICA E NÓ DE ARQUIVO' -lessonNumber: 7 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Os Sensores Robonomics Medem Analytics e Arquivam Nó ou RoSeMAN é um serviço para acumular dados de sensores para mostrar histórico de medição. Neste artigo você irá configurar o serviço. - -## Requisitos - -RoSeMAN requer um servidor de banco de dados [MongoDB](https://www.mongodb.com/docs/manual/introduction/), presume-se que você já o tenha. Além disso, você deve ativar a opção de datalog para o módulo de Conectividade de Sensores, conforme mostrado no Cenário nº 3. Você deve ter tokens XRT gratuitos em sua conta Robonomics, que está conectada ao módulo de Conectividade de Sensores. - - -## Configuração - - - -
  • - -Baixe o repositório: - -git clone https://github.com/airalab/RoSeMAN.git -cd RoSeMAN - -
  • - - -
  • - -Crie arquivos de configuração: - -cp config.template.json config.json -cp agents.template.json agents.json - -
  • - -
  • - -Abra o arquivo `config.json` e edite o caminho do banco de dados: - -... - "DB": { - "path": "mongodb://localhost:27017/rosemandb" - }, -... - -
  • - - -
  • - -Adicione o endereço público de sua conta ao arquivo `agents.json`. Você pode adicionar vários endereços ao arquivo, se desejar coletar dados de diferentes módulos de Conectividade de Sensores. - -
  • - - -
  • - -Instale dependências e construa o servidor: - -yarn install -yarn build - -
  • - - -
  • - -Inicie o servidor RoSeMAN: - -yarn start - -O servidor web deve ser iniciado em `http://127.0.0.1:3000`. - -
  • - -
    - -## Pós-instalação - -Após a implantação do RoSeMAN em um servidor, você deve obter o endereço IP público ou URL do servidor. Alternativamente, se você executar o RoSeMAN e o mapa de sensores no mesmo servidor, você pode usar o endereço IP local. - -Em seguida, você deve abrir o arquivo de configuração do mapa de sensores e inserir seu URL no arquivo `config.json` no campo `REMOTE_PROVIDER` - - -... - }, - REMOTE_PROVIDER: "https://your.roseman.example.org/", - WIND_PROVIDER: "", - MAP: { -... - -Reconstrua o mapa com `yarn build` e inicie-o novamente; você poderá ver o histórico de medição. \ No newline at end of file diff --git a/courses/pt/learn/sensors-connectivity-course/sensor-hardware.md b/courses/pt/learn/sensors-connectivity-course/sensor-hardware.md deleted file mode 100644 index c8c289a608..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/sensor-hardware.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: "Liçao #2, Hardware do Sensor" -description: 'HARDWARE DO SENSOR' -lessonNumber: 2 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Se você deseja participar do monitoramento do ar com a Rede de Sensores Descentralizados, você precisa obter uma placa de poluição do ar com sensores. Existem duas maneiras de fazer isso: - - - -
  • encomendar todas as peças necessárias e montar a placa personalizada por si mesmo.
  • -
  • encomendar uma placa pronta para uso da equipe Robonomics.
  • - -
    - -## Montagem Manual da Placa - -Para construir sua própria placa, você precisa encontrar os seguintes componentes: - -- Sensor Laser PM2.5 e PM10 [SDS011](https://www.amazon.com/SDS011-Quality-Detection-Conditioning-Monitor/dp/B07FSDMRR5) - -- Módulo sem fio serial [NodeMcu V3 CH340](https://www.amazon.com/ACEIRMC-Wireless-Development-Compatible-MicroPython/dp/B092ZCG2X2) baseado em ESP8266 - -- Conversor mini560 DC-DC de 5A [(exemplo)](https://www.amazon.com/Alinan-Efficiency-Converter-Regulator-Stabilized/dp/B09W8P1QNM) - -- Conector DC [(exemplo)](https://www.amazon.com/CenryKay-DC-099-Threaded-Conectaror-Adapter/dp/B08CMMQMP6?th=1) - -- Adaptador de energia 12V/2А [(exemplo)](https://www.amazon.com/TMEZON-Power-Adapter-Supply-2-1mm/dp/B00Q2E5IXW) - -- caixa de montagem [(exemplo)](https://www.amazon.com/LeMotech-Dustproof-Waterproof-Electrical-300mmx250mmx120mm/dp/B075DHT7X2/ref=sxin_18_ac_d_mf_brs?ac_md=7-4-TGVNb3RlY2g%3D-ac_d_mf_brs_brs&content-id=amzn1.sym.1ad31f34-ba12-4dca-be4b-f62f7f5bb10d%3Aamzn1.sym.1ad31f34-ba12-4dca-be4b-f62f7f5bb10d&crid=2ZDX87O7MINYG&cv_ct_cx=junction+box+plastic&keywords=junction+box+plastic&pd_rd_i=B075DHT7X2&pd_rd_r=2bbd50d4-9ef9-4fa1-a1a2-e55c482bce49&pd_rd_w=EcHLy&pd_rd_wg=z42mC&pf_rd_p=1ad31f34-ba12-4dca-be4b-f62f7f5bb10d&pf_rd_r=WDAX58YZKG6YKZ70X5QE&qid=1676642125&sprefix=Junction+Box%2Caps%2C451&sr=1-4-8b2f235a-dddf-4202-bbb9-592393927392) - -Além disso, você pode instalar sensores adicionais: - - - -
  • - -Com interface I2C: - - - -
  • - -[BMP180](https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf) — temperatura e umidade - -
  • - -
  • - -[BME/P280](https://www.mouser.com/datasheet/2/783/BST-BME280-DS002-1509607.pdf) — temperatura, umidade, pressão atmosférica - -
  • - -
  • - -[HTU21D](https://eu.mouser.com/ProductDetail/Measurement-Specialties/HTU21D?qs=tx5doIiTu8oixw1WN5Uy8A%3D%3D) — temperatura e umidade - -
  • - -
  • - -[CCS811 VOC SENSOR](https://www.sciosense.com/wp-content/uploads/documents/Application-Note-Baseline-Save-and-Restore-on-CCS811.pdf) — compostos orgânicos voláteis, equivalente de CO2 - -
  • - -
    - - - -
  • - -Com interface de 1 fio: - - - -
  • - -[DHT22(AM2302)](https://files.seeedstudio.com/wiki/Grove-Temperature_and_Humidity_Sensor_Pro/res/AM2302-EN.pdf) — temperatura e umidade - -
  • - -
  • - -[DS18B20](https://cdn.sparkfun.com/datasheets/Sensors/Temp/DS18B20.pdf) — temperatura - -
  • - - - - - - - -Você pode encontrar o processo de montagem no vídeo abaixo. Ele também mostra o processo de flash, mas falaremos sobre isso mais tarde. - - - -## Solicitar Placa Robonomics - -Alternativamente, você pode solicitar a Placa Robonomics. Para fazer isso, envie um e-mail para um dos seguintes endereços: - -- vm@multi-agent.io -- ping@airalab.org - -A placa Robonomics é baseada no ESP8266 e é projetada para alimentação de 6-24V, usando o conversor DC-DC MINI560. Esta placa permite que você conecte o sensor de partículas SDS011 e vários sensores adicionais (verifique a lista acima). Também há um modelo MINI menor com uma lista reduzida de dispositivos conectáveis. - - - - - -Os projetos para ambos os modelos podem ser encontrados aqui: para o [modelo completo](https://oshwlab.com/ludovich88/aira_sensor_rev0-1) e para o [modelo mini](https://oshwlab.com/ludovich88/aira_sensor_d1_mini). - -Vamos dar uma olhada mais de perto na placa. Ela possui várias portas de conexão (destacadas em azul e verde). - - - -Bloco de terminais azul, da esquerda para a direita (todos os terminais são identificados): - - -
  • - - 12V — terminal para conectar a fonte de alimentação à placa; a voltagem recomendada é de 12 volts. - -
  • - -
  • - - GND de terra (ponto de potencial zero) — serve tanto para conexão do potencial zero da fonte de alimentação, quanto para conexão de sensores. - -
  • - -
  • - - POWER SENSOR — saída de energia configurável à qual os sensores são conectados; a saída pode ser configurada para 3,3 ou 5 volts. - -
  • - -
  • - - SDA — linha de dados serial, é usada para conectar sensores via interface I2C. - -
  • - -
  • - - SCL/1WIRE — terminal configurável ao qual a linha de clock serial é conectada; usado para conectar sensores via interface I2C ou 1-Wire. - -
  • -
    - -A configuração da saída de energia para o sensor e a seleção da interface são feitas configurando os jumpers, marcados em amarelo na imagem (`5V`, `3V`, `I2C`, `1WIRE`). Os jumpers são instalados horizontalmente, os locais para instalação dos jumpers são identificados. - - - -Você pode escolher a voltagem para a fonte de alimentação configurando apenas um jumper para 3,3 volts ou 5 volts. Configurar dois jumpers para 3,3 e 5 volts danificará o dispositivo. A mesma regra se aplica ao escolher uma interface para sensores, instale apenas um jumper no lugar de I2C ou 1-Wire. Instalar dois jumpers pode danificar o dispositivo. - - -A placa possui um bloco adicional de entradas, marcado em verde na imagem (`GND`, `5V`, `SDA`, `SCL`). - -No lado esquerdo da caixa azul há um interruptor de energia para forçar a reinicialização da placa. Ele está na posição `ON` por padrão. - -Após configurar o sensor, tudo o que resta é fazer o flash e configurá-lo. diff --git a/courses/pt/learn/sensors-connectivity-course/sensor-map-deployment.md b/courses/pt/learn/sensors-connectivity-course/sensor-map-deployment.md deleted file mode 100644 index 6007781523..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/sensor-map-deployment.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: "Lição #6, Implantação de Mapa de Sensores" -description: 'IMPLANTAÇÃO DE MAPA DE SENSORES' -lessonNumber: 6 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Após montar um sensor e configurar o módulo de Conectividade de Sensores, é hora de implantar um mapa de sensores descentralizado pessoal. - - -## Requisitos & instalação - - - -
  • - -Como o mapa de sensores é alimentado por JavaScript, primeiro você precisa instalar o `node` e o gerenciador `yarn`: - -sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - -sudo apt-get install -y nodejs -sudo npm install --global yarn - -
  • - -
  • - -Baixe e construa o mapa: - -git clone https://github.com/airalab/sensors.robonomics.network.git -cd sensors.robonomics.network/ -yarn install - -
  • - -
  • - -Execute o mapa no modo `desenvolvimento` para teste - -yarn serve - -
  • - -
  • - -Vá para o URL do terminal, você deverá ver o mapa do sensor. Depois disso, pare com `Ctrl+C`. - -
  • - -
    - -## Configuração - - - -
  • - -Encontre seu ID IPFS com: - -$ ipfs id -{ - "ID": "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP", - "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/uMV3rLM/C+LOh2DGPo3chr+VM+vyYMKi... - ... - -
  • - -
  • - -Vá para a pasta `src` e renomeie os arquivos: - -cd src -cp config.template.json config.json -cp agents.template.json agents.json - -
  • - -
  • - -Insira seu ID IPFS em `agents.json`: - -[ - "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP" -] - -
  • - -
  • - -Abra o arquivo `config.json` e altere a próxima parte do arquivo de configuração: - -... - REMOTE_PROVIDER: "", - WIND_PROVIDER: "", - MAP: { - zoom: "8", - position: { - lat: "", - lng: "", - }, - }, - SHOW_MESSAGES: true, -}; - - -Aqui você precisa inserir a latitude (`lat`) e longitude (`lng`) da sua cidade. Opcionalmente, você pode configurar o [serviço de direção do vento](https://github.com/danwild/wind-js-server) e fornecer a URL para ele no campo `WIND_PROVIDER`. - -
  • - -
    - - -## Construção - - - -
  • - -Execute o seguinte comando para construir os arquivos para lançamento: - -yarn build - -Ele criará o diretório `dist` com todos os componentes do site estático. - -
  • - -
  • - -Para verificar se tudo está correto, vá para o diretório `dist` e abra o arquivo `index.html`. Após algum tempo, os dados do sensor do seu módulo de Conectividade de Sensores aparecerão no mapa. - -
  • - -
    - diff --git a/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-config-options.md b/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-config-options.md deleted file mode 100644 index a834a9bdb4..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-config-options.md +++ /dev/null @@ -1,260 +0,0 @@ ---- -title: "Lição #5, Opções de configuração de conectividade de sensores" -description: 'OPÇÕES DE CONFIGURAÇÃO DE CONECTIVIDADE DE SENSORES' -lessonNumber: 5 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Por enquanto, apenas o sensor SDS011 é suportado out-of-box, mas é bastante fácil adicionar outros sensores também e nós preparamos algumas configurações prontas para uso. Uma visão geral completa dos campos de configuração está disponível [aqui](https://github.com/airalab/sensors-connectivity/tree/master/connectivity/config). Em seguida, vamos dar uma olhada em vários cenários de configuração avançada. - -## Cenário #1: Conectar SDS011 à Porta Serial - -A maneira mais fácil e direta de conectar seu sensor à rede é usando a porta serial. - - - -
  • - -Conecte sua placa a uma porta USB e encontre o caminho para ela. Neste exemplo é `ttyUSB0` - - -$ ls -l /dev/serial/by-id -total 0 -lrwxrwxrwx 1 root root 13 sep 5 14:01 usb-1a86_USB2.0-Ser_-if00-port0 -> ../../ttyUSB0 -
  • - -
  • - -Crie um novo arquivo de configuração ou edite o existente com o seguinte. Não se esqueça de inserir o caminho do seu banco de dados no campo `db_path`, o caminho da placa no campo `port` e a latitude / longitude de um sensor no campo `geo`. - -{ - "general": { - "publish_interval": 30, - "db_path": "" - }, - "comstation":{ - "enable":true, - "port":"/dev/", - "work_period":300, - "geo":"00.000000,00.000000", - "public_key":"" - }, - "httpstation": { - "enable": false, - "port": 8001 - }, - "mqttstation": { - "enable": false, - "host": "localhost", - "port": 1883, - "topic": "/freertos_mqtt_robonomics_example/#", - "username": "", - "password": "" - }, - "robonomics": { - "enable": true, - "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", - "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" - }, - "datalog": { - "enable": false, - "suri": "", - "dump_interval": 60, - "temporal_username": "", - "temporal_password": "", - "pinata_api": "", - "pinata_secret": "" - }, - "dev": { - "sentry": "" - }, - "frontier": { - "enable": false, - "suri": "" - }, - "trackagro": { - "enable": false, - "token": "" - } -} - -
  • - -
  • Inicie o módulo de Conectividade de Sensores.
  • - -
    - - -## Cenário #2: Conectar SDS011 via MQTT - -O firmware dos sensores Robonomics não funciona com MQTT. Essas configurações são para sensores adicionais, que funcionam através do MQTT. - - - - -
  • - -Instale e configure um broker MQTT (como [Mosquitto](https://mosquitto.org/) ou similar). - -
  • - -
  • - -Crie um novo arquivo de configuração ou edite o existente com o seguinte. Insira: - -- o caminho do seu banco de dados no campo `db_path` - -- um caminho da placa no campo `port` na seção `comstation` - -- uma latitude / longitude de um sensor no campo `geo` - -- um host do broker MQTT no campo `host` na seção `mqttstation` - -- uma porta do broker MQTT no campo `port` na seção `mqttstation` - -- um tópico onde seus sensores enviam dados no campo `topic` - -- `username` e `password` para se conectar ao broker, se necessário. - - -{ - "general": { - "publish_interval": 30, - "db_path": "" - }, - "comstation":{ - "enable":false, - "port":"/dev/", - "work_period":300, - "geo":"00.000000,00.000000", - "public_key":"" - }, - "httpstation": { - "enable": false, - "port": 8001 - }, - "mqttstation": { - "enable": true, - "host": "[YOUR_MQTT_BROKER_HOST]", - "port": "[YOUR_MQTT_BROKER_PORT]", - "topic": "[MQTT_TOPIC_OF_SENSORS]", - "username": "YOUR_MQTT_USERNAME", - "password": "YOUR_MQTT_PASSWORD" - }, - "robonomics": { - "enable": true, - "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", - "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" - }, - "datalog": { - "enable": false, - "suri": "", - "dump_interval": 60, - "temporal_username": "", - "temporal_password": "", - "pinata_api": "", - "pinata_secret": "" - }, - "dev": { - "sentry": "" - }, - "frontier": { - "enable": false, - "suri": "" - }, - "trackagro": { - "enable": false, - "token": "" - } -} - -
  • - -
  • Inicie o módulo de Conectividade de Sensores.
  • - -
    - -## Cenário #3: Publicar Dados dos Sensores com Robonomics Datalog - -Este cenário mostra como carregar os dados do seu sensor para a parachain Robonomics com a função datalog. Datalog é o equivalente a telemetria nas tecnologias web3. A função tem como objetivo criar um instantâneo dos dados do sensor a cada período de tempo, aumentando a confiabilidade dos dados. Não importa como os dados estão sendo coletados: via HTTP, MQTT ou COM. - -Você precisa ter tokens XRT em sua conta - - - - -
  • - -Crie um novo arquivo de configuração ou edite o existente com o seguinte. Insira: - -- o caminho do seu banco de dados no campo `db_path` - -- um caminho da placa no campo `port` na seção `comstation` - -- uma latitude / longitude de um sensor no campo `geo` - -- uma chave privada da conta da parachain Robonomics para o campo `suri` - -- um período de tempo para coleta de log em segundos para o campo `dump_interval` - -- (opcional) credenciais para fazer upload de arquivos para [Temporal.Cloud](http://Temporal.Cloud) nos campos `temporal_username`, `temporal_password` - -- (opcional) credenciais para fazer upload de arquivos para Pinata nos campos `pinata_api`, `pinata_secret` - -{ - "general": { - "publish_interval": 30, - "db_path": "[YOUR/PATH/TO/DATABASE]" - }, - "comstation":{ - "enable":false, - "port":"/dev/[YOUR/PATH/TO/BOARD]", - "work_period":300, - "geo":"00.000000,00.000000", - "public_key":"" - }, - "httpstation": { - "enable": true, - "port": 8001 - }, - "mqttstation": { - "enable": false, - "host": "localhost", - "port": 1883, - "topic": "/freertos_mqtt_robonomics_example/#", - "username": "", - "password": "" - }, - "robonomics": { - "enable": true, - "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", - "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" - }, - "datalog": { - "enable": true, - "suri": "[YOUR_PRIVATE_KEY]", - "dump_interval": TIME_PERIOD, - "temporal_username": "YOUR_TEMPORAL_USERNAME", - "temporal_password": "YOUR_TEMPORAL_PASSWORD", - "pinata_api": "YOUR_PINATA_API_KEY", - "pinata_secret": "YOUR_PINATA_SECRET" - }, - "dev": { - "sentry": "" - }, - "frontier": { - "enable": true, - "suri": "" - }, - "trackagro": { - "enable": false, - "token": "" - } -} - -
  • - -
  • Inicie o módulo de conectividade de sensores.
  • - -
    \ No newline at end of file diff --git a/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-module.md b/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-module.md deleted file mode 100644 index af5521daf0..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/sensors-connectivity-module.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: "Lição #4, Módulo de Conectividade de Sensores" -description: 'MÓDULO DE CONECTIVIDADE DE SENSORES' -lessonNumber: 4 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Nos artigos a seguir, você aprenderá mais sobre o módulo de Conectividade de Sensores. Depois disso, você pode participar hospedando nossa Rede de Sensores Descentralizada ou criar seu próprio mapa de sensores. - -## Sobre a Conectividade de Sensores - -A Rede de Sensores Descentralizada usa o módulo `sensors-connectivity` Python ([código-fonte](https://github.com/airalab/sensors-connectivity)). Este módulo permite que qualquer usuário inicie seu próprio servidor para receber dados de sensores e processá-los ainda mais. No momento, os desenvolvedores lançaram vários desses servidores e qualquer sensor pode enviar dados para eles. Executar vários servidores evita a perda de dados em caso de problemas com um deles, pois os sensores mudarão de um servidor não funcional para um funcional. Basicamente, você pode pensar no módulo de Conectividade de Sensores como uma caixa preta com uma entrada (dados do sensor) e muitas saídas. - - - -O módulo de Conectividade de Sensores é um conjunto de estações (estação_1, estação_2 ... estação_n), que recebem vários dados, incluindo dados de sensores via protocolo HTTP. Também podem ser sensores conectados ao computador via USB ou qualquer outra fonte de dados. Os dados recebidos das estações são processados pelo módulo e passados para alimentadores (alimentador_1, alimentador_2 ... alimentador_n). Os alimentadores enviam os dados processados para o usuário; em nosso caso, os dados são enviados para o canal IPFS descentralizado. - -Um mapa da [Rede de Sensores Descentralizada](https://sensors.robonomics.network/#/) é um aplicativo descentralizado (dapp) em execução no computador. Ele lê dados do canal IPFS e os exibe no mapa. Não há conexão direta entre o servidor que coleta dados dos sensores e o mapa que o usuário vê; os dados são transferidos entre eles via IPFS pubsub, o que reduz a carga nos servidores. - -Além disso, de tempos em tempos, um arquivo com dados do último período de tempo é armazenado no IPFS, e um hash desses dados é então registrado no blockchain. Como o IPFS é uma rede de endereços de conteúdo, armazenar dados nele garante que qualquer alteração nos dados não passe despercebida, porque o endereço do arquivo necessário contém um hash de seu conteúdo, que mudará com qualquer alteração nos dados. O blockchain é usado para passar o hash para o usuário, que pode usá-lo para obter os dados necessários do IPFS (isso acontece quando você solicita um histórico do mapa). - -## Configuração do módulo para Linux - -**Pré-requisitos e Instalação** - - - -
  • - -Para construir o módulo `sensors-connectivity`, o daemon IPFS deve estar instalado com uma versão não superior a `0.8.x`. Supondo que você esteja trabalhando no Linux, execute o seguinte (para a versão `0.8.0`): - -wget https://dist.ipfs.io/go-ipfs/v0.8.0/go-ipfs_v0.8.0_linux-amd64.tar.gz -tar -xzf go-ipfs_v0.8.0_linux-amd64.tar.gz -cd go-ipfs -sudo bash install.sh -ipfs init - -
  • - - -
  • - -Instale o pacote com ferramentas de desenvolvimento `python3-dev` e o instalador de pacotes para Python `pip`: - -sudo apt install python3-dev python3-pip - -
  • - - -
  • - -Instale o módulo como um pacote PyPI: - -pip3 install sensors-connectivity - -Se você ver o seguinte aviso: - -WARNING: The script sensors_connectivity is installed in '/home/test2/.local/bin' which is not on PATH. -Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. - -Execute o próximo comando: - -cd ~ -export PATH="/usr/local/bin:$PATH" -source .profile - -
  • - -
    - -## Configuração - - - -
  • - -Crie um diretório para o arquivo de configuração e o arquivo de banco de dados onde desejar. Este banco de dados salvará os hashes IPFS dos dados do sensor, timestamp e status do serviço: - -cd ~ -mkdir sensors_connectivity -cd sensors_connectivity -touch database.db - - -O nome do arquivo do banco de dados pode ser qualquer um, mas a extensão deve ser .db - - -
  • - - -
  • - -Crie o arquivo de configuração no mesmo diretório: - -touch my_config.json - -
  • - - -
  • - -Copie e cole o seguinte no arquivo e insira o caminho completo para o arquivo do banco de dados no campo db_path. Esta configuração será suficiente para obter dados dos sensores via HTTP e enviá-los para o mapa Robonomics: - -{ - "general": { - "publish_interval": 30, - "db_path": "" - }, - "comstation": { - "enable": false, - "port": "/dev/", - "work_period": 300, - "geo": "00.000000,00.000000", - "public_key": "" - }, - "httpstation": { - "enable": true, - "port": 8001 - }, - "mqttstation": { - "enable": false, - "host": "localhost", - "port": 1883, - "topic": "/freertos_mqtt_robonomics_example/#", - "username": "", - "password": "" - }, - "robonomics": { - "enable": true, - "ipfs_provider": "/ip4/127.0.0.1/tcp/5001/http", - "ipfs_topic": "airalab.lighthouse.5.robonomics.eth" - }, - "datalog": { - "enable": false, - "suri": "", - "dump_interval": 60, - "temporal_username": "", - "temporal_password": "", - "pinata_api": "", - "pinata_secret": "" - }, - "dev": { - "sentry": "" - }, - "frontier": { - "enable": false, - "suri": "" - }, - "trackagro": { - "enable": false, - "token": "" - } -} - -
  • - -
    - -## Iniciar - - - - -
  • - -Iniciar o daemon IPFS: - -ipfs daemon --enable-pubsub-experiment - -
  • - - -
  • - -Após a configuração ser definida, execute o serviço com o caminho para o arquivo de configuração em outro terminal: - -sensors_connectivity "path/to/your/config/file” - -
  • - - -
  • - -Você verá logs no terminal (também, eles serão adicionados a `~/.logs`). Exemplo: - -$ sensors_connectivity test.json -2022-09-02 14:08:48,408 - INFO - Getting data from the stations... -2022-09-02 14:08:48,409 - INFO - airalab-http-v0.8.0: [[]] -2022-09-02 14:08:48,409 - INFO - Sending result to the feeders... -2022-09-02 14:08:48,411 - INFO - Checking data base... -2022-09-02 14:09:18,410 - INFO - Sending result to the feeders... -2022-09-02 14:09:18,410 - INFO - Getting data from the stations... -2022-09-02 14:09:18,411 - INFO - airalab-http-v0.8.0: [[]] -2022-09-02 14:09:48,411 - INFO - Sending result to the feeders... -2022-09-02 14:09:48,412 - INFO - Getting data from the stations... -2022-09-02 14:09:48,413 - INFO - airalab-http-v0.8.0: [[]] -2022-09-02 14:10:18,413 - INFO - Sending result to the feeders... -2022-09-02 14:10:18,413 - INFO - Getting data from the stations... - -
  • - -
    - -## Pós-instalação - -Para conectar seu módulo `sensors-connectivity` à nossa Rede de Sensores Descentralizada e ver seus dados no mapa, você precisa enviar seu ID IPFS para [vm@multi-agent.io](mailto:vm@multi-agent.io) ou [ping@airalab.org](mailto:ping@airalab.org). Vamos adicionar seu ID a uma lista de controle de acesso. - -Obtenha seu ID IPFS com o seguinte comando após executar o daemon IPFS: - -$ ipfs id -{ - "ID": "QmUZxw8jsRpSx5rWkTpJokPGKvWihTrt5rbRCFXzJ4eCAP", - "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/uMV3rLM/C+LOh2DGPo3chr+VM+vyYMKi... - ... \ No newline at end of file diff --git a/courses/pt/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md b/courses/pt/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md deleted file mode 100644 index 892a589a41..0000000000 --- a/courses/pt/learn/sensors-connectivity-course/setting-up-and-connecting-sensors.md +++ /dev/null @@ -1,199 +0,0 @@ ---- -title: "Lição nº 3, Configuração e Conexão de Sensores" -description: 'CONFIGURAÇÃO E CONEXÃO DE SENSORES' -lessonNumber: 3 -metaOptions: [Aprenda, Conectividade de Sensores e Rede Descentralizada de Sensores] -defaultName: Sensors Connectivity & Decentralized Sensors Network ---- - -Nossos sensores utilizam o firmware Robonomics, uma versão estendida do firmware sensor.community, com alguns sensores adicionados e o esquema de envio de dados alterado. O código-fonte pode ser encontrado [no link.](https://github.com/LoSk-p/sensors-software/tree/master/airrohr-firmware) - -Se você possui uma placa Robonomics pronta para uso, você pode ir para a seção "Conectar". - -## Requisitos - -**Para Linux:** - - - -
  • - -Adicione um usuário ao grupo `dialout` (para Ubuntu) para obter acesso à porta USB: - -sudo usermod -a -G dialout $USER - -
  • - -
  • Reinicie o computador.
  • - -
  • - -Baixe o executável Robonomics `airrohr-flasher` de [releases](https://github.com/airalab/sensors-connectivity/releases). - -
  • - -
  • - -Altere as permissões do arquivo e execute-o: - -chmod +x airrohr-flasher-linux -./airrohr-flasher-linux - - -
  • - -
    - - -**Para Windows:** - - - -
  • - -Instale os drivers para USB2serial (no Windows 10 deve iniciar automaticamente) - Drivers para NodeMCU v3 (CH340): [link](http://www.wch.cn/downloads/file/5.html), [link alternativo](https://d.inf.re/luftdaten/CH341SER.ZIP). - -
  • - -
  • - -Baixe o executável `airrohr-flasher` do Robonomics em [releases](https://github.com/airalab/sensors-connectivity/releases) e execute-o. - -
  • - -
    - -**Para MacOS:** - - - -
  • - -Instale os drivers para USB2serial — Drivers para NodeMCU v3 (CH340): [link](http://www.wch.cn/downloads/file/178.html), [link alternativo](https://d.inf.re/luftdaten/CH341SER_MAC.ZIP). - -
  • - -
  • - -Baixe o executável `airrohr-flasher` do Robonomics em [releases](https://github.com/airalab/sensors-connectivity/releases) e execute-o. - -
  • - -
    - - -## Configuração - - - -
  • - -Conecte o sensor ao PC e execute o programa `airrohr-flasher`. Após abrir o programa, você verá o seguinte (dependendo do seu sistema operacional): - - - -
  • - -
  • - -`Campo` da placa deve preencher automaticamente; se não, escolha a porta necessária na lista suspensa. - - -Se o airrohr-flasher não encontrar sua placa, certifique-se de ter feito a parte de Requisitos corretamente. - - -
  • - -
  • - -Selecione o firmware com o idioma preferido e clique em `Upload`. O upload do firmware levará algum tempo. Se posteriormente decidir mudar o idioma ou fazer uma instalação limpa (para redefinir a configuração), vá para a página `Erase flash` e pressione o botão para apagar a memória flash do sensor. - -
  • - -
  • - -Após baixar o firmware, reinicie o ESP (basta desconectar e reconectar o USB). - -
  • - -
  • - -Escolha os sensores no menu de seleção. Escolha SDS011 e quaisquer sensores adicionais. Pressione `Salvar configuração`. - -
  • - -
  • - -Após baixar a configuração, reinicie o ESP (basta desconectar e reconectar o USB). - -
  • - -
    - -## Conectar - - - -
  • - -Após a reinicialização, a placa criará uma rede Wi-Fi chamada `RobonomicsSensor-xxxxxxxxx`. Conecte-se a ele a partir do seu telefone ou computador: você verá a janela de autorização (caso contrário, abra o navegador e vá para `192.168.4.1`). - -
  • - -
  • - -Selecione sua rede Wi-Fi na lista (ou escreva você mesmo se não estiver na lista) e preencha o campo de senha. - -
  • - -
  • - -Escreva as coordenadas do local onde o sensor será instalado. - - -As coordenadas do sensor serão então exibidas em um mapa de acesso público. Se você não deseja mostrar suas informações privadas, escreva coordenadas próximas, mas não exatas. - - - - -
  • - -
  • - -Clique em `Salvar configuração e reiniciar`. A placa será reinicializada e conectada à rede Wi-Fi especificada. - -
  • - -
  • - -Abra o [mapa de sensores Robonomics](https://sensors.robonomics.network/#/) e encontre o local onde você instalou o sensor. Em alguns minutos você poderá ver seu sensor com dados no mapa. - - - - -
  • - -
    - -Isso é tudo com a instalação padrão. Para uma configuração mais avançada (enviando dados para seu próprio servidor), leia a próxima seção. - -## Adicional Configuração - -Antes da configuração, você precisa encontrar o endereço do sensor em sua rede Wi-Fi. Para fazer isso, você pode usar `airrohr-flasher` (seu computador deve estar na mesma rede que o sensor). Inicie-o e vá para a aba `Discovery`, em seguida, pressione `Refresh`, espere um momento e o endereço do seu sensor aparecerá. - - - -Clique duas vezes neste endereço (ou digite-o em seu navegador), você chegará ao menu do sensor: - - - -Agora você pode começar a personalizar sua configuração. - - -## API Personalizada - -Você também pode configurar o envio de dados para seu próprio servidor. Para fazer isso, na aba `APIs`, clique em `Enviar para API própria` e especifique o endereço do servidor e a porta (`65` para conectividade de sensores): - - - -Clique em `Salvar e reiniciar` para salvar as configurações. \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md b/courses/pt/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md deleted file mode 100644 index 3b6ac39e4f..0000000000 --- a/courses/pt/learn/smart-home-course/gateway-setup-robonomics-sls-gateway.md +++ /dev/null @@ -1,348 +0,0 @@ ---- -title: "Lição nº 4b, Configuração do Gateway: Robonomics SLS Gateway" -lastUpdate: Thu May 18 2023 16:16:20 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 5 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Do que se trata - -Este é um cenário de configuração para conectar dispositivos usando o Robonomics SLS Gateway. Robonomics se inspirou no design do gateway desenvolvido pelo projeto [Smart Logic System](https://github.com/slsys/Gateway) e modificou parte da circuitaria. Você pode encomendar um gateway da Robonomics ou construir o seu próprio usando nossos [projetos](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01). - -Você irá instalar o software necessário para o gateway, configurá-lo e conectá-lo ao Home Assistant. - - - SmartRF Flash Programmer, um programa para atualização de firmware, requer sistema operacional Windows. - - -## Instruções - - - -
  • - -Instalando Firmware do Microcontrolador Zigbee - - - -
  • - -Primeiro você precisa atualizar o microcontrolador CC2652P do gateway. Defina os interruptores ON 2, 4 e 7 na parte inferior do SLS Gateway, os outros devem estar OFF. - - -
  • - -
  • - -Conecte o gateway ao seu computador com um cabo USB-A<>USB-C. - - - Por favor, use apenas cabos do tipo USB-A<>USB-C, porque no momento o gateway não suporta o tipo USB-C<>USB-C. - - -
  • - -
  • - -O firmware CC2652 requer o SmartRF Flash Programmer v2 da Texas Instrument. Baixe-o do [site oficial](https://www.ti.com/tool/download/FLASH-PROGRAMMER-2) e depois instale-o. - -
  • - -
  • - -Baixe o firmware para o microcontrolador CC2652P do [repositório do GitHub](https://github.com/egony/cc2652p_cc1352p_RF-STAR/tree/main/firmware/coordinator). - -
  • - -
  • - -Execute o programa. Na janela Dispositivo Conectado selecione o microcontrolador CC2652P, defina o caminho para o firmware, defina as flags para Apagar, Programar, Verificar como na imagem e pressione Iniciar. - - - -Após uma atualização bem-sucedida, você verá uma mensagem Sucesso!. Agora você pode desconectar o cabo USB. - -
  • -
    - - -
  • - -Instalando Firmware do Microcontrolador - - - -
  • - -Agora você precisa configurar o gateway para a instalação de software. Aconselhamos que você atualize o firmware conectando o gateway diretamente ao seu Raspberry Pi e inserindo todos os comandos a seguir nesse dispositivo. - -
  • - -
  • - -Defina os interruptores ON 1 e 3 na parte inferior do gateway SLS, os outros devem estar OFF. Em seguida, conecte o gateway ao seu Raspberry Pi através da porta USB tipo-C. - - - -
  • - -
  • - -Conecte-se ao Raspberry Pi via SSH. - - -ssh ubuntu@192.168.xxx.xxx - - -
  • - -
  • - -Clone o repositório com o firmware: - - -git clone https://github.com/airalab/robonomics-hass-utils.git - -
  • - -
  • - -Para atualizar o gateway SLS, você precisa executar os scripts Limpar e Flash_16mb: - - -cd robonomics-hass-utils/esp_firmware/linux - - - -sudo chmod +x Clear.sh - - - -sudo chmod +x Flash_16mb.sh - - - -./Clear.sh - - - -./Flash_16mb.sh - -
  • - -
  • - -\- **Resolução de Problemas** - -Se estiver enfrentando problemas ao atualizar o firmware do gateway, você precisa tomar medidas adicionais: - - - -
  • - -Certifique-se de ter o módulo pySerial instalado: - - -pip install pyserial - - -
  • - -
  • - -Dê ao seu usuário direitos de acesso à porta USB: - - -sudo usermod -a -G dialout $USER - - -
  • - -
  • - -Em alguns casos, é necessário alterar a configuração de largura de banda no script para atualizar o firmware. Abra o script Flash_16mb.sh com o editor nano e altere o parâmetro de baud de 921600 para um valor menor (por exemplo, 115200). -
  • - - - -
  • - -\- **Extra** - -Também fornecemos opções para atualizar o firmware usando outros sistemas operacionais (macOS e Windows). Você pode encontrar scripts correspondentes em uma pasta, cujo nome depende do seu SO. - -
  • - - - -
  • - -Configurando o Gateway - - - -
  • - -Defina os interruptores na parte de trás do gateway para a nova posição. Os interruptores 5 (RX Zigbee para ESP) e 6 (TX Zigbee para ESP) devem estar na posição ON, os outros devem estar OFF. - - - - -
  • - -
  • - -Conecte o cabo de alimentação tipo-C. A luz indicadora no centro deve ficar verde. - -
  • - -
  • - -Na primeira inicialização, o gateway começará a compartilhar Wi-Fi com o SSID zgw****. Conecte-se a esta rede. Tenha em mente que o sinal pode ser bastante fraco, então é melhor manter o gateway SLS mais perto do seu computador. - -Se a conexão for bem-sucedida, a interface web será aberta (ou você pode encontrá-la no endereço 192.168.1.1). - -
  • - -
  • - -Vá para a página Wi-Fi e insira suas credenciais Wi-Fi inserindo o usuário / senha e pressionando o botão Salvar. Depois disso, pressione o botão Reiniciar. O gateway reiniciará e se conectará à sua rede WI-Fi. - - - -
  • - -
  • - -Encontre o IP local do gateway SLS para acessar a interface web. Para isso, você pode usar o [Fing](https://www.fing.com/products) app ou arp -a no seu terminal ou Nmap: - - -sudo nmap -sP 192.168.xxx.0/24 - - -onde xxx é o seu endereço IP na rede local. O nome do gateway deve ser parecido com isso: zgw****. Abra a interface web do gateway colando o IP do gateway em um navegador. -
  • - -
  • - -Ir para Configurações -> Hardware e certifique-se de que as configurações se parecem com a imagem. Corrija as configurações, se necessário, e clique no botão Salvar: - - - -A tabela com os valores necessários: - - -| Field | **Value** | -|------------------------|--------------------| -| Zigbee module | TI | -| Zigbee UART RX | 22 | -| Zigbee UART TX | 23 | -| Zigbee RST Pin | 18 | -| Zigbee BSL Pin | 19 | -| Button Mode | 33 (pullUP - true) | -| Number addressable leds| 0 | -| Led Red (or addr) | 21 | -| Led Green | 5 | -| Led Blue | 27 | -| I2C SDA | 255 | -| I2C SCL | 255 | - -
  • - -
  • - -Em seguida, reinicie o gateway. Escolha Ações -> Reiniciar sistema no canto superior direito. Certifique-se de que o gateway funcione corretamente com o microcontrolador CC2652P na janela de informações Zigbee. O DeviceState deve ser OK. - -
  • - -
  • - -Reinicie o gateway. Escolha Ações -> Reiniciar sistema no canto superior direito. - -
  • - -
  • - -Configure a adição automática de dispositivos ao Home Assistant. Vá para Zigbee -> Configuração e escolha Descoberta MQTT do Home Assistant e Limpar Estados. Salve as alterações e reinicie novamente o gateway SLS. - - - -
  • - -
  • - -\- **Extra**: - -Se você já tem um gateway SLS ativo em sua casa e está configurando outro agora, eles entrarão em conflito um com o outro. Para resolver esse problema, você precisa alterar o canal no novo dispositivo. - -Para fazer isso, vá para Zigbee -> Configuração e mude o canal para outro (por exemplo, canal 15). - -
  • - -
  • - -Conecte seus dispositivos indo para Zigbee -> Entrar. Coloque seus sensores no modo de emparelhamento, a maneira mais comum de alternar um dispositivo para o modo de conexão é segurar seu botão de energia ou ligá-los/desligá-los por 5 vezes. Pressione o botão Habilitar Entrada para começar a procurar dispositivos Zigbee. Você verá sensores ativos. - -
  • - - - -
  • - -Conectando o Gateway SLS ao Home Assistant - - - -
  • - -Você precisa configurar o MQTT no Gateway SLS. Volte para a interface web do seu Gateway SLS e vá para Configurações -> Link -> Configuração MQTT. - - - -
  • - -
  • - -Adicione o endereço do seu broker (endereço do Raspberry Pi com o Home Assistant na rede local, você pode encontrá-lo com o aplicativo [Fing](https://www.fing.com/products) ou usando o comando ip -a no seu RPi), porta (padrão é 1883), seu nome de usuário e senha do broker (que você criou anteriormente) e o nome do tópico (você pode escolher qualquer um). Além disso, o endereço IP local do Raspberry Pi deve ser estático. - -Não se esqueça de clicar em Habilitar e Retenção de estados. - -
  • - -
  • - -Salve as alterações. Agora os dispositivos serão mostrados automaticamente no Home Assistant. - -
  • - - - - -
  • - -Conectar Dispositivos - - - -
  • - -Conecte seus dispositivos indo para Zigbee -> Entrar. Coloque seus sensores no modo de emparelhamento, a maneira mais comum de alternar um dispositivo para o modo de conexão é segurar seu botão de energia ou ligá-los/desligá-los por 5 vezes. - - - - - -
  • - -
  • - -Pressione o botão Habilitar Entrada para começar a procurar dispositivos Zigbee. Você verá sensores ativos. - -
  • - - - - - \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/gateway-setup-zigbee2mqtt.md b/courses/pt/learn/smart-home-course/gateway-setup-zigbee2mqtt.md deleted file mode 100644 index 628190c614..0000000000 --- a/courses/pt/learn/smart-home-course/gateway-setup-zigbee2mqtt.md +++ /dev/null @@ -1,248 +0,0 @@ ---- -title: "Lição #4a, Configuração do Gateway: Zigbee2MQTT" -lastUpdate: Thu May 04 2023 12:54:33 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 4 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Introdução - -Este é um cenário de configuração para conectar dispositivos usando o adaptador Zigbee e a ponte Zigbee2MQTT. Se você tiver o [JetHome USB JetStick Z2](https://jethome.ru/z2/?sl=en) (que possui todo o firmware necessário), você pode simplesmente seguir estas instruções. No entanto, se você tiver outro adaptador, a primeira coisa que você precisa fazer é flashá-lo com o software Zigbee2MQTT. Você pode encontrar instruções para o seu dispositivo [aqui](https://www.zigbee2mqtt.io/guide/adapters/). - -Você também precisará de um dispositivo inteligente para testar sua conexão com o Home Assistant. - - -## Instruções - - - -
  • - -Instalação de Software - - - -
  • - Configure o repositório do ambiente de execução Node.js e instale-o com as dependências necessárias: - sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - - sudo apt-get install -y nodejs git make g++ gcc - -
  • - -
  • - Verifique se as versões corretas do Node.js (v14.X, V16.x, V17.x ou V18.X) e do gerenciador de pacotes npm (6.X, 7.X ou 8.X) instalados automaticamente com o Node.js, foram instalados: - node --version - npm --version -
  • - -
  • - Crie um diretório para o Zigbee2MQTT e defina seu usuário como proprietário dele: - sudo mkdir /opt/zigbee2mqtt - sudo chown -R ${USER}: /opt/zigbee2mqtt -
  • - -
  • - Clone o repositório Zigbee2MQTT: - - git clone --depth 1 --branch 1.28.4 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt - -
  • - -
  • - Instale as dependências. Note que o npm ci pode produzir alguns avisos que podem ser ignorados. - cd /opt/zigbee2mqtt - npm ci -
  • - -
    - - -
  • - -Conectando e Configurando o Adaptador - - - -
  • - -Conecte o adaptador Zigbee ao Raspberry Pi. Em seguida, você precisa encontrar a localização do stick. Para isso, digite o próximo comando: - - -ls -l /dev/serial/by-id - - -A saída deve se parecer com: - - -ubuntu@ubuntu:~$ ls -l /dev/serial/by-id -total 0 -lrwxrwxrwx 1 root root 13 Oct 10 01:44 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0 - - -Neste exemplo, o diretório de conexão do stick é ttyUSB0. -
  • - -
  • - -Edite o arquivo configuration.yaml antes de iniciar o Zigbee2MQTT: - - -nano /opt/zigbee2mqtt/data/configuration.yaml - - -A configuração básica precisa de alguns ajustes. Altere as seguintes declarações: - -\- homeassistant: para true, ele conectará automaticamente os sensores ao Home Assistant; - -\- descomente user e password sob mqtt e insira seu nome de usuário e senha (como uma string, com aspas) do Broker MQTT; - -\- altere a porta em serial -> port para o diretório de conexão do stick. Neste exemplo: /dev/ttyUSB0. - -O arquivo de configuração ajustado deve parecer com: - - -# Home Assistant integration (MQTT discovery) -homeassistant: true -# allow new devices to join -permit_join: true -# MQTT settings -mqtt: - # MQTT base topic for zigbee2mqtt MQTT messages - base_topic: zigbee2mqtt - # MQTT server URL - server: 'mqtt://localhost' - # MQTT server authentication, uncomment if required: - user: 'YOUR_USERNAME' - password: 'YOUR_PASSWORD' -# Serial settings -serial: - # Location of CC2531 USB sniffer - port: /dev/YOUR_PORT - - - -**Extra:** - -Se você já tem um adaptador Zigbee ou gateway ativo em sua casa, e agora está configurando outro stick, então eles entrarão em conflito um com o outro. Para resolver esse problema, você precisa alterar o canal no novo dispositivo. Para isso, adicione as seguintes strings ao final do arquivo de configuração: - - - -advanced: - # Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems) - # (default: 11) - channel: 15 - -
  • - -
  • - -Iniciar Zigbee2MQTT: - - -cd /opt/zigbee2mqtt - - - -npm start - - -Se iniciado com sucesso, você verá algo como: - - -
  • - - - -
  • - -Parear Dispositivo - - - -
  • - -É hora de conectar seu dispositivo inteligente. A maneira mais comum de colocar um dispositivo no modo de conexão é segurar seu botão de energia ou ligar/desligar 5 vezes. Certifique-se de que o Zigbee2MQTT está em execução. - - - -Quando o dispositivo se conectar, você deverá ver uma mensagem como: - - -Zigbee2MQTT:info 2022-07-29 14:44:39: Successfully interviewed '0x00158d0003eeeacf', device has successfully been paired - - -Lembre-se do ID do sensor: neste exemplo - 0x00158d0003eeeacf. - -Agora você deverá ver este sensor com ID em seu Home Assistant WebUI. Vá para Configuração -> Dispositivos e Serviços -> Dispositivos para verificar: - - - -Após adicionar todos os sensores, você pode parar o programa com Ctrl+C. Se você não quiser adicionar mais dispositivos, você pode abrir o arquivo de configuração novamente e definir permit_join: para false. -
  • - - - - -
  • - -Criando Serviço para Iniciar Automaticamente - - - -
  • - -Agora você precisa criar um serviço. Crie o arquivo: - - -sudo nano /etc/systemd/system/zigbee2mqtt.service - - -Adicione o seguinte a este arquivo alterando SEU_NOME_DE_USUÁRIO_DO_RASPPI_AQUI. Se você não sabe seu nome de usuário, use o comando whoami. - - -[Unit] -Description=zigbee2mqtt -After=network.target -[Service] -ExecStart=/usr/bin/npm start -WorkingDirectory=/opt/zigbee2mqtt -StandardOutput=inherit -StandardError=inherit -Restart=always -User=YOUR_RASPPI_USERNAME_HERE -[Install] -WantedBy=multi-user.target - -
  • - -
  • - -Verifique se a configuração funciona: - - -sudo systemctl start zigbee2mqtt - - - -systemctl status zigbee2mqtt.service - - -A saída deve se parecer com: - - -
  • - -
  • - -Ative o serviço para iniciar o Zigbee2MQTT automaticamente na inicialização: - - -sudo systemctl enable zigbee2mqtt.service - - -
  • - - - \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/mqtt-broker-setup.md b/courses/pt/learn/smart-home-course/mqtt-broker-setup.md deleted file mode 100644 index 0a5690607e..0000000000 --- a/courses/pt/learn/smart-home-course/mqtt-broker-setup.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: "Lição #3, Configuração do Broker MQTT e Inicialização do Hass" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 3 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Introdução - -Após terminar a configuração do Raspberry Pi, o próximo passo é instalar o Broker MQTT no Raspberry Pi. Como mencionado anteriormente, o Broker é responsável pelo roteamento de mensagens entre diferentes clientes MQTT. Você irá instalar e configurar o Eclipse Mosquitto, um Broker MQTT de código aberto. - - - -Além disso, você irá completar a configuração do Home Assistant e adicionar integração MQTT a ele. - -## Instruções - - - -
  • - - -Instalação do Broker Mosquitto - - -
  • - -Instale [Mosquitto Broker](https://mosquitto.org/) no seu Raspberry Pi: - - - -sudo apt install mosquitto mosquitto-clients -y - -
  • - -
  • - -Digite SEU_NOME_DE_USUÁRIO (use o que quiser) e senha (você será solicitado a inserir a senha após o comando): - - -sudo mosquitto_passwd -c /etc/mosquitto/passwd YOUR_USERNAME - - -
  • - -
  • - -Edite o arquivo de configuração: - - -sudo nano /etc/mosquitto/conf.d/local.conf - - -Adicione o seguinte ao arquivo: - - -listener 1883 -allow_anonymous false -password_file /etc/mosquitto/passwd - -
  • - -
  • - -Salve o arquivo e reinicie o serviço: - - -sudo systemctl restart mosquitto - -
  • - -
  • - -Por fim, verifique o status do broker: - - -systemctl status mosquitto - - -Você deverá ver algo como isso: - - -
  • -
    - - -
  • - -Configurando o Home Assistant e MQTT - - - -
  • - -Abra o navegador da web e vá para http://%ENDEREÇO_IP_DO_RASPBERRY%:8123. (com o mesmo endereço IP que você encontrou na lição anterior). Esteja ciente de que o endereço do Raspberry Pi pode mudar com o tempo devido às configurações do roteador. - - - -
  • - -
  • - -Na primeira página, insira qualquer nome, nome de usuário, senha que desejar e clique em "CRIAR CONTA" -
  • - -
  • - -Em seguida, insira um nome para sua casa e defina sua localização e sistema de unidades. Clique em "DETECT" para encontrar sua localização e definir seu fuso horário e sistema de unidades com base nessa localização. Se preferir não enviar sua localização, você pode definir esses valores manualmente. - -
  • - -
  • - -Na próxima tela, o Home Assistant mostrará quaisquer dispositivos que ele descobriu em sua rede. Não se preocupe se você ver menos itens do que o mostrado abaixo; você sempre pode adicionar dispositivos manualmente mais tarde. Por enquanto, apenas clique em FINISH e você estará na tela principal do Home Assistant. - -
  • - -
  • - -Agora precisamos instalar uma integração MQTT. Vá para Settings -> Devices & Services. - - - -
  • - -
  • - -Pressione o botão ADD INTEGRATION no canto inferior direito. Na janela aberta, encontre MQTT. - -
  • - -
  • - -Selecione MQTT e configure o endereço do seu broker — localhost porta — 1883 e seu nome de usuário e senha (o mesmo que você criou anteriormente para o Mosquitto Broker) e então pressione SUBMIT. -
  • - - - - \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/overview.md b/courses/pt/learn/smart-home-course/overview.md deleted file mode 100644 index 3e16af1962..0000000000 --- a/courses/pt/learn/smart-home-course/overview.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Casa Inteligente Soberana com Robonomics e Home Assistant -lastUpdate: Tue May 09 2023 13:17:49 GMT+0400 (Samara Standard Time) -description: Neste curso, você passará por todos os passos necessários para construir sua própria casa inteligente soberana, cuja principal vantagem é a segurança/privacidade dos dados do usuário -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Sobre o curso - -Neste curso, você passará por todos os passos necessários para construir sua própria casa inteligente soberana, cuja principal vantagem é a segurança/privacidade dos dados do usuário. Este problema está se tornando cada vez mais relevante devido à disseminação das casas inteligentes. O mercado moderno de IoT oferece ao usuário médio uma grande seleção de soluções para casas inteligentes, mas todas estão vinculadas a provedores de nuvem centralizados ou exigem um gateway proprietário caro para conectar dispositivos. Como resultado, você, como usuário, está sempre dependente do fornecedor de hardware e infraestrutura para executar seu sistema inteligente. Ao mesmo tempo, sua casa inteligente não pode ser verdadeiramente inteligente sem estatísticas e análises em nuvem. - -### Vemos dois problemas principais com essa solução inteligente: - - -
  • Você não tem controle sobre quais dados compartilha com o fornecedor ou terceiros. - -
  • -
  • Sua casa inteligente está vulnerável a desligamentos de servidores de nuvem centralizados. -
  • -
    - -No início do desenvolvimento das casas inteligentes, era difícil imaginar uma situação em que o usuário médio pudesse implantar facilmente seu próprio sistema de automação residencial local. Mas agora, graças aos padrões generalizados de IoT, hardware barato e sistemas de automação residencial de código aberto, essa visão se tornou acessível. E graças ao uso de uma nuvem descentralizada baseada em tecnologias web3, agora é possível fornecer acesso remoto seguro a dispositivos inteligentes - -### O que você aprenderá: - - -
  • - Conhecimento da arquitetura de casas inteligentes baseada em protocolos comuns e desenvolvimentos -
  • -
  • - Habilidades práticas para configurar e conectar equipamentos de casa inteligente -
  • -
  • - Habilidades básicas para usar o parachain Robonomics para IoT -
  • -
    - - -## Requisitos: - - -
  • - Raspberry Pi 4 (pelo menos 2 GB de RAM) -
  • -
  • - Cartão SD (mínimo de 16 GB) e adaptador SD -
  • -
  • - - Dispositivos inteligentes Zigbee (qualquer um dos [dispositivos suportados](https://slsys.io/en/action/supported_devices.html)) -
  • -
  • - - Adaptador Zigbee [JetHome USB JetStick Z2](https://jethome.ru/z2/?sl=en) ou [um dos suportados](https://www.zigbee2mqtt.io/guide/adapters/) ou [Gateway Robonomics SLS](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01) -
  • - -
  • - Preferencialmente: computador com sistema operacional semelhante ao UNIX. -
  • -
  • - Atenção: para flashar o Gateway SLS, você precisará de um sistema operacional Windows. -
  • -
    diff --git a/courses/pt/learn/smart-home-course/raspberry-pi-setup.md b/courses/pt/learn/smart-home-course/raspberry-pi-setup.md deleted file mode 100644 index 501ca62f9a..0000000000 --- a/courses/pt/learn/smart-home-course/raspberry-pi-setup.md +++ /dev/null @@ -1,351 +0,0 @@ ---- -title: "Lição #2, Configuração do Raspberry Pi" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 2 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Introdução - -Nesta li��o, voc� ir� preparar o seu Raspberry Pi para se tornar um hub IoT. Voc� ir� instalar e configurar sequencialmente todos os componentes necess�rios, a saber: - - - -- Distribui��o Ubuntu Linux para Raspberry Pi como sistema operacional de servidor; -- Pacotes Home Assistant; -- Pacotes IPFS; -- biblioteca robonomics-interface. - - - -## Instruções - - - -
  • - -Preparando e Configurando o Raspberry Pi - - - -
  • - - Baixe a imagem do [Ubuntu Server 22.04 LTS de 64 bits](https://ubuntu.com/download/raspberry-pi) ou mais recente para Raspberry Pi. -
  • - -
  • - - Baixe e instale uma ferramenta para escrever arquivos de imagem chamada [Raspberry Pi Imager](https://www.raspberrypi.com/software/) no seu computador. -
  • - -
  • - - Insira o cart�o SD e execute o Raspberry Pi Imager. Selecione a imagem necess�ria (que voc� acabou de baixar) como sistema operacional e certifique-se de selecionar seu cart�o SD no menu suspenso de armazenamento. - -
  • - -
  • - - Abra as configura��es e marque a op��o Ativar SSH com o par�metro Usar autentica��o de senha. - - \- Em Definir nome de usu�rio e senha adicione nome de usu�rio e senha para o usu�rio do seu Raspberry Pi. - - \- Em Configurar LAN sem fio forne�a sua rede Wi-Fi com sua senha e escolha seu pa�s na lista suspensa. Em seguida, Escreva a imagem. - - - Certifique-se de inserir o nome real da sua rede Wi-Fi e a senha da sua rede Wi-Fi. - - - - -
  • - -
  • - - Aguarde at� que termine a grava��o, em seguida insira o cart�o SD no Raspberry Pi e ligue-o. Deve se conectar � sua rede Wi-Fi, o que levar� algum tempo. - -
  • - -
  • - - Agora voc� precisa encontrar o endere�o do dispositivo. Para fazer isso, voc� pode usar v�rios m�todos de varredura de rede, como [Fing App](https://www.fing.com/products), o comando arp -a ou [nmap](https://nmap.org/download.html). Este �ltimo ser� usado em seguida. - - Instale o nmap com um comando - - sudo apt-get install nmap - - Em seguida, encontre o endereço na sua rede local. Deve parecer com 192.168.xxx.xxx ou 172.xxx.xxx.xxx. Preste atenção, pois o nmap pode encontrar muitos endereços na sua rede local. - - ip a - - Em seguida, escaneie sua rede conforme mostrado abaixo, substituindo o último octeto do endereço por 0: - - sudo nmap -sP 192.168.xxx.0/24 - - A saída do comando será algo assim: - - -Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-26 13:50 CEST -Nmap scan report for _gateway (192.168.43.1) -Host is up (0.015s latency). -MAC Address: 8E:F5:A3:DB:02:24 (Unknown) -Nmap scan report for ubuntu (192.168.43.56) -Host is up (0.049s latency). -MAC Address: DC:A6:32:04:45:50 (Raspberry Pi Trading) -Nmap scan report for LAPTOP-NO7 (192.168.43.234) -Host is up (0.00057s latency). -MAC Address: 7C:B3:7D:9E:94:DA (Intel Corporate) -Nmap scan report for ed-vm (192.168.43.138) -Host is up. -Nmap done: 256 IP addresses (4 hosts up) scanned in 2.07 seconds - - - Neste exemplo, o endereço é 192.168.43.56. - -
  • - -
  • - - Conecte-se ao Raspberry Pi via SSH com o IP encontrado. Use o nome de usuário e senha que você criou anteriormente. - - ssh ubuntu@192.168.43.56 - - Instruções adicionais são executadas via SSH no próprio Raspberry Pi. - -
  • -
    - - -
  • - -Instalação do Home Assistant - - -
  • - - - -Algumas versões de software mostradas abaixo podem estar desatualizadas. Para as versões mais recentes, você pode consultar o [repositório de instalação da imagem Robonomics Home Assistant](https://github.com/airalab/Robonomics-HomeAssistant-image/tree/main/robonomics-stage). - - - - Antes de começar, atualize o sistema do Raspberry Pi e instale os pacotes necessários. Durante a instalação, você verá uma janela com solicitação de reinicialização do serviço. Basta escolher ok com o botão tab e pressionar enter. - - sudo apt-get update - - sudo apt-get upgrade -y - - sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tzdata libcurl4-openssl-dev subversion libturbojpeg0-dev python3-serial curl - -
  • - -
  • - - Crie o usuário homeassistant e o diretório para o Home Assistant Core: - - sudo useradd -rm homeassistant -d /srv/homeassistant -G dialout - -
  • - -
  • - - Crie um ambiente virtual para o Home Assistant Core e mude para ele. Isso deve ser feito como o usuário homeassistant, então após executar os comandos seu usuário parecerá com (homeassistant) homeassistant@ubuntu: - - sudo -u homeassistant -H -s - - cd /srv/homeassistant - - python3 -m venv . - - source bin/activate - - Como resultado, você encontrará um nome do ambiente virtual entre colchetes: - - -(homeassistant) homeassistant@ubuntu:/srv/homeassistant/$ - - -
  • - -
  • - - Instale os pacotes Python necessários: - - python3 -m pip install wheel~=0.37 - - pip3 install sqlalchemy~=1.4 fnvhash~=0.1 aiodiscover==1.4.11 - - pip3 install homeassistant~=2023.3.6 psutil-home-assistant~=0.0 - -
  • - -
  • - - Iniciar o Home Assistant Core pela primeira vez. Isso completará a instalação criando automaticamente o diretório de configuração .homeassistant no diretório /home/homeassistant e instalando quaisquer dependências básicas: - -hass - -
  • - -
  • - - Enquanto a configuração inicial estiver em andamento, verifique sua instalação através da interface web em http://%RASPBERRY_IP_ADDRESS%:8123. Neste exemplo: http://192.168.43.56:8123. Você pode abrir uma interface web de qualquer computador conectado à sua rede local. - - Aguarde até receber a janela de boas-vindas com a criação de login/senha e então pare o Home Assistant com Ctrl+C. -
  • - - - -
  • - -Instalação do IPFS - - - -
  • - - Para a instalação do IPFS, você pode usar nosso script para baixar o IPFS e criar um serviço systemd com ele. Primeiro, saia do ambiente virtual do Home Assistant: - -exit - - Em seguida, execute: - - cd ~ - wget https://raw.githubusercontent.com//airalab/homeassistant-robonomics-integration/main/install_ipfs.sh - sudo chmod +x install_ipfs.sh - ./install_ipfs.sh - -
  • - - - -
  • - -Serviços Systemd - - - -
  • - -O serviço systemd é útil para automatizar o lançamento do Home Assistant. Crie um novo serviço para o Home Assistant: - - -sudo nano /etc/systemd/system/home-assistant@homeassistant.service - - -
  • - -
  • - -Cole o seguinte - - -[Unit] -Description=Home Assistant -After=network-online.target -[Service] -Type=simple -Restart=on-failure -User=%i -WorkingDirectory=/srv/%i/ -ExecStart=/srv/homeassistant/bin/hass -c "/srv/%i/.homeassistant" -Environment="PATH=/srv/%i/bin" -[Install] -WantedBy=multi-user.target - - -
  • - -
  • - -Ative e inicie o serviço: - - -sudo systemctl enable home-assistant@homeassistant.service - - - -sudo systemctl start home-assistant@homeassistant.service - - -
  • - - - -
  • - -Integração Robonomics - - - -
  • - -Faça login com o usuário homeassistant no seu Raspberry Pi: - - -sudo -u homeassistant -H -s - - -
  • - -
  • - -Ative o ambiente virtual de origem e instale os pacotes Python necessários: - - - -source /srv/homeassistant/bin/activate - - - -pip3 install robonomics-interface~=1.6.0 - - -
  • - -
  • - -Em seguida, vá para o diretório .homeassistant, crie a pasta custom_components e clone lá o repositório com a integração: - - - -cd ~/.homeassistant - - - -mkdir custom_components - - - -cd custom_components - - - -svn checkout https://github.com/airalab/homeassistant-robonomics-integration/trunk/custom_components/robonomics - - -
  • - - -
  • - -Depois disso, saia do usuário homeassistant e reinicie o serviço: - - -exit - - - -sudo systemctl restart home-assistant@homeassistant.service - - -
  • - - - - - - - diff --git a/courses/pt/learn/smart-home-course/robonomics-hass-theory.md b/courses/pt/learn/smart-home-course/robonomics-hass-theory.md deleted file mode 100644 index a4765c1327..0000000000 --- a/courses/pt/learn/smart-home-course/robonomics-hass-theory.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "Lição #1, Breve Teórica" -lastUpdate: Thu May 04 2023 12:54:41 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 1 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Componentes Chave da Casa Inteligente Soberana - - - -1. **[Raspberry Pi](https://www.raspberrypi.org/), um computador de placa única**. - -Podemos converter o dispositivo em um hub IoT após instalar todo o software necessário. O objetivo principal do hub é orquestrar os protocolos, redes, aplicativos e vários dispositivos da casa inteligente. - -2. **[Home Assistant](https://www.home-assistant.io/), um software de sistema de controle de código aberto**. - -Foi projetado para ser um hub central para dispositivos inteligentes. Ele pode escanear automaticamente a rede em busca de dispositivos conhecidos e permite aos usuários configurar facilmente todas as automações necessárias. Vamos instalar o Home Assistant no Raspberry Pi. - -O Home Assistant se comunica com os dispositivos e armazena seus dados localmente, o que infelizmente não permite que você controle seus dispositivos remotamente. Para resolver esse problema, usamos a Rede Robonomics. - -3. **[Rede Robonomics](https://robonomics.network/), uma nuvem descentralizada para controle seguro e confiável de aplicações IoT**. - -Ele utiliza tecnologias web3, que incorporam descentralização e tecnologias de blockchain para a proteção de dispositivos inteligentes e seus dados. - -A funcionalidade principal da Robonomics é implementada com base em um blockchain (parachain) do ecossistema Polkadot/Kusama. Entre as principais funções da parachain está a capacidade de enviar um comando para iniciar o dispositivo e ser capaz de armazenar os dados do usuário no blockchain. - -A parachain da Robonomics possui um recurso de assinatura IoT que permite aos usuários enviar transações para a parachain, sem taxa, pelo período de um mês. Na seção prática deste curso, você usará o método de assinatura. - -A interação entre o hub IoT e a parachain da Robonomics é realizada usando [robonomics-interface](https://github.com/Multi-Agent-io/Robonomics-interface) — biblioteca Python especializada em interagir com a Robonomics para programação conveniente. - -4. **[Sistema de Arquivo Interplanetário](https://ipfs.tech/) (IPFS), um software peer-to-peer para armazenar e compartilhar dados em um sistema de arquivo distribuído**. - -O IPFS é necessário para evitar armazenar arquivos grandes no blockchain (pois seria muito caro), mas em vez disso, podemos armazenar os hashes IPFS dos arquivos, que funcionam como links para esses arquivos. - -## Protocolos para Dispositivos Inteligentes -Você usará dois protocolos principais para dispositivos inteligentes: - -1. **[Zigbee](https://csa-iot.org/all-solutions/zigbee/), um protocolo de comunicação sem fio.** - -É muito comumente usado para conectar dispositivos inteligentes. É projetado para baixo consumo de energia, facilidade e flexibilidade de configuração, e suporta topologia de rede mesh auto-organizável e auto-recuperável. Milhares de dispositivos estão disponíveis no mercado com suporte Zigbee, o que o torna muito atraente para construir soluções de casa inteligente. Para controlar dispositivos Zigbee, você precisa de um gateway que transfira dados entre a rede Zigbee e outra rede (ou seja, Wi-Fi). - -2. **[Message Queuing Telemetry Transport](https://mqtt.org/) (MQTT), um protocolo de publicação e subscrição projetado para controlar aplicações IoT.** - -O protocolo é leve, requer recursos mínimos e garante confiabilidade na entrega de mensagens. O protocolo é projetado para redes de baixa largura de banda, alta latência e não confiáveis, o que o torna uma excelente opção para operar grandes volumes de mensagens de sensores. MQTT requer um servidor que execute o broker MQTT (no nosso caso, ele funcionará com o nosso Raspberry Pi). O broker recebe todas as mensagens dos clientes MQTT e então roteia as mensagens para os clientes inscritos apropriados. - -## Opções para Conexão Zigbee -Você explorará dois cenários para conectar dispositivos ao Home Assistant com Robonomics. - -1. O primeiro cenário não usa um gateway Zigbee separado para conectar dispositivos. Em vez disso, é usado uma combinação de um [adaptador Zigbee](https://www.zigbee2mqtt.io/guide/adapters/) e o software [Zigbee2MQTT](https://www.zigbee2mqtt.io/guide/adapters/). - - - -Um adaptador (como o JetHome USB JetStick Z2) se conecta ao Raspberry Pi e atua como uma interface entre o computador e a comunicação de rádio Zigbee. O Zigbee2MQTT é um software que permite conectar Zigbee a redes MQTT. Ele pega mensagens da rede Zigbee e as traduz em mensagens fáceis de usar e bem estruturadas de MQTT. - -2. No segundo cenário, os dispositivos são conectados usando o [Gateway SLS](https://github.com/slsys/Gateway) baseado no microcontrolador ESP32. Para facilitar o uso, a Robonomics desenvolveu nossa [própria modificação](https://oshwlab.com/ludovich88/robonomics_sls_gateway_v01) do gateway. - - - -O gateway SLS atua como coordenador de mensagens do protocolo Zigbee e permite o uso da maioria dos equipamentos Zigbee disponíveis. Para integração com o Home Assistant, o protocolo MQTT é usado. - -## Controle Remoto - -O controle remoto de uma casa inteligente é realizado usando o [aplicativo descentralizado Robonomics](https://dapp.robonomics.network/) (dapp), que fornece acesso às funções da parachain de forma amigável ao usuário. A segurança e imutabilidade dos dados do usuário são garantidas, por um lado, enviando dados criptografados para o IPFS (que só podem ser descriptografados pela chave do usuário), e por outro lado, colocando o hash IPFS desses dados na blockchain. - - - - - diff --git a/courses/pt/learn/smart-home-course/robonomics-integration-setup.md b/courses/pt/learn/smart-home-course/robonomics-integration-setup.md deleted file mode 100644 index 2a5d712e43..0000000000 --- a/courses/pt/learn/smart-home-course/robonomics-integration-setup.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: "Lição nº 6, Configuração de integração robônica" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 7 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - - -## Do que se trata - -Nesta li��o, voc� ir� adicionar Robonomics ao Home Assistant e criar uma conta associada � assinatura. Esta integra��o permite que o Home Assistant use as fun��es da parachain Robonomics, em primeiro lugar, enviar dados de casa inteligente criptografados para uma nuvem descentralizada. - - -## Teoria - -Seus dados de casa inteligente s�o enviados usando a extr�nseca record() do pallet datalog que permite que voc� salve dados de dispositivos criptografados no blockchain. - -Para ser mais preciso, a integra��o usa o IPFS para armazenar dados e depois enviar hashes do IPFS para a extr�nseca datalog, que por sua vez � armazenada no blockchain. Mas como essa fun��o � chamada atrav�s de uma assinatura IoT, a fun��o inteira parece: rws.call(datalog.record(SEU_HASH_IPFS)). - -## Instruções - - - -
  • - -Adicionando Robonomics ao Home Assistant - - - -
  • - -Na interface web do Home Assistant, v� para Configura��es->Dispositivos e Servi�os e pressione ADICIONAR INTEGRA��O. Procure por Robonomics. - - - -
  • - -
  • - -Clique em Robonomics e preencha a configura��o: - -\- Adicione a semente da conta SUB_CONTROLLER � semente da conta de administrador - -\- Adicione o endere�o p�blico da conta SUB_OWNER (que voc� criou anteriormente) ao endere�o do propriet�rio da assinatura - -\- Defina o intervalo de envio de dados (por padr�o � de 10 minutos) - -\- (Opcional) Voc� pode adicionar credenciais para o servi�o de pinagem Pinata para espalhar seus dados de forma mais ampla pela rede IPFS - -
  • - -
  • - -Pressione ENVIAR ap�s terminar a configura��o. Se voc� preencheu tudo corretamente, voc� ver� a janela de Sucesso. - -
  • -
    - - -
  • - -Adicionando Usuários no Robonomics Dapp - - - -
  • - -Você precisa criar um usuário separado para o Home Assistant, que irá controlar os dispositivos inteligentes da casa. Você não pode usar contas criadas anteriormente porque SUB_OWNER e SUB_CONTROLLER fornecem segurança, e o primeiro usuário que você criou quando começou a usar o Home Assistant não possui uma conta na Parachain do Robonomics. - -
  • - -
  • -Comece criando uma conta na Parachain do Robonomics, como fez na lição anterior. -
  • - -
  • - -Adicione esta conta à assinatura no [dapp](https://dapp.robonomics.network/#/subscription/devices). Agora deve haver três endereços na lista de acesso: SUB_OWNER, SUB_CONTROLLER e USER. - - - -
  • - -
  • - -Vá para o serviço dapp chamado [Conta do Home Assistant](https://dapp.robonomics.network/#/home-assistant). Escolha a conta que você acabou de criar na barra lateral direita (verifique se escolheu a conta pretendida pressionando o ícone de perfil). - -Digite a semente do USER no campo obrigatório. Adicione os endereços SUB_OWNER e SUB_CONTROLLER nos campos de créditos do administrador. Se tudo estiver correto, você verá o status de verificação VERIFICADO. - -
  • - -
  • - -Crie uma senha para um novo usuário que você acabou de registrar e depois confirme a transação, que agora será sem taxa devido à assinatura. Mais tarde, você pode restaurar a senha na aba Restaurar. - - - -
  • - -
  • - -Após o processo de registro, faça login no Home Assistant com o endereço do seu usuário como login e a senha recém-criada. Agora você pode usar o dapp Robonomics para controlar sua casa através do Robonomics. - -
  • - - - \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/robonomics-iot-subscription-setup.md b/courses/pt/learn/smart-home-course/robonomics-iot-subscription-setup.md deleted file mode 100644 index 0619b8225e..0000000000 --- a/courses/pt/learn/smart-home-course/robonomics-iot-subscription-setup.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -title: "Lição #5, Configuração de Assinatura Robonomics IoT" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 6 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - - -## Do que se trata - -A Assinatura Robonomics IoT permite aos usu�rios usar todas as fun��es da parachain por um certo per�odo sem pagar as taxas de transa��o padr�o. Ao ativar a assinatura, os dispositivos poder�o enviar transa��es com prioridade. - -Nesta li��o, voc� criar� as contas de seguran�a de casa inteligente necess�rias e comprar� uma assinatura IoT. - -## Teoria - -Uma assinatura IoT, bem como o m�todo pelo qual � comprada e gerenciada, � implementada usando um pallet rws, que cont�m todas as fun��es necess�rias. Em geral, as assinaturas na Robonomics s�o vendidas com um modelo de leil�o, que usa um extr�nseco rws.startAuction() para criar um leil�o para um ID de assinatura espec�fico. Os usu�rios podem acessar o leil�o por ID e dar lances usando um extr�nseco rws.bid(). - -Ap�s o t�rmino do leil�o, o endere�o com o lance vencedor � atribu�do � assinatura. Agora, este endere�o poder� enviar transa��es atrav�s do extr�nseco rws.call() sem taxas. No entanto, isso n�o significa que o endere�o possa fazer isso incontrolavelmente a qualquer momento: cada assinatura tem uma certa quantidade de um valor weight, que deve se acumular antes que uma transa��o gratuita possa ser realizada. Algum valor weight � adicionado � assinatura a cada bloco gerado na parachain, devido a isso, a Robonomics regula a largura de banda da parachain. - -Al�m disso, o propriet�rio da assinatura pode usar o extr�nseco rws.setDevices(), que compartilha o uso da assinatura para os endere�os especificados. Ao mesmo tempo, o weight permanece o mesmo, ent�o quanto mais endere�os na assinatura, mais tempo cada um deles ter� que esperar antes de enviar a transa��o gratuita. - -Para controlar o Home Assistant com a Robonomics, voc� precisa de duas contas na parachain da Robonomics. Essas contas fornecer�o seguran�a para o seu Home Assistant. - -Com uma das contas (SUB_OWNER), voc� comprar� uma assinatura Robonomics. Esta conta atua como o principal administrador da assinatura IoT e fornece acesso ao Home Assistant para outros usu�rios (usando rws.setDevices()). Esta conta deve ter alguns tokens XRT para completar as transa��es de compra da assinatura. - -A segunda conta (SUB_CONTROLLER) controlar� todos os processos do Home Assistant dos dispositivos (como telemetria). As transa��es de seus dispositivos ser�o enviadas em nome da conta SUB_CONTROLLER. Voc� (e qualquer pessoa) poder� ver essas transa��es em qualquer explorador de parachain como [Subscan](https://robonomics.subscan.io/). No entanto, apenas voc� poder� descriptografar o conte�do dessas transa��es desde que possua de forma segura as frases-semente necess�rias. - -## Instruções - - - -
  • - -Criando Contas de Parachain do Propriet�rio e Controlador - - - -
  • - - -Ambas as contas devem ser criadas com criptografia ed25519. - - -
  • - -
  • - -Acesse o [aplicativo Robonomics Parachain](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkusama.rpc.robonomics.network%2F#/) no Portal Polkadot / Substrate. Verifique o canto superior esquerdo para garantir que voc� est� conectado � Parachain Robonomics. - -
  • - -
  • - -Devido ao uso do formato *ed25519*, você precisa criar uma conta usando o Polkadot-JS UI e selecionar a criptografia necessária. - -Este recurso está desativado por padrão no Polkadot-JS UI. Para ativá-lo, vá para Configurações -> Geral -> opções de conta e selecione Permitir armazenamento local de contas no navegador no menu suspenso criação de contas no navegador. - -
  • - -
  • - -Vá para Contas -> Contas e pressione o botão Adicionar conta. Você verá o menu pop-up com a semente da conta. Ele tem duas formas: *Mnemônico* (legível por humanos) e *Bruto* (uma sequência de dígitos e letras). - - - -
  • - -
  • - -Abra Opções avançadas de criação, altere o tipo de criptografia para criar a conta para Edwards - ed25519. Salve a frase mnemônica da semente com segurança e pressione Próximo. - -
  • - -
  • - -No próximo menu, você precisa definir o nome da conta e a senha. Dê um nome SUB_OWNER para conveniência e pressione Próximo. - -
  • - -
  • - -Na última janela, clique em Salvar para concluir a criação da conta. Ele também gerará arquivos JSON de backup que você deve armazenar com segurança. Voc�� pode usar este arquivo posteriormente para recuperar sua conta se lembrar da senha. - -
  • - -
  • - -Repita essas etapas para a conta SUB_CONTROLLER. - -
  • -
    - - -
  • - -Adicionando Contas à Extensão Polkadot.js - - - -
  • - -Para sua conveniência, você deve usar a extensão Polkadot.js e adicionar essas contas recém-criadas a ela. Para uma conta ed25519, você pode fazer isso apenas com um arquivo JSON de backup. Você pode usar os arquivos salvos quando criou as contas. - -Você pode obter esses arquivos novamente criando um arquivo de backup da conta. Pressione os três pontos em sua conta, escolha Criar um arquivo de backup para esta conta e digite sua senha. - - - -
  • - -
  • - -Abra uma extensão e pressione o botão + no canto superior direito, em seguida escolha Restaurar conta a partir de arquivo JSON de backup. - -
  • - -
  • - -Em uma janela aberta, faça o upload do arquivo JSON, insira a senha e pressione Restaurar - -
  • - -
  • - -Certifique-se de que a rede Robonomics está selecionada para as contas na extensão Polkadot.js. No Portal Polkadot / Substrate vá para Configurações -> Metadados e clique no botão Atualizar metadados. - - - -
  • - -
  • - -Confirme a atualização de metadados na janela pop-up. Agora a extensão mostrará o rótulo da rede para a qual o endereço é usado. - -
  • - - - - -
  • - -Ativando Assinatura Robonomics - - - -
  • - - -Para esta etapa, você deve ter uma quantidade suficiente de tokens XRT (mínimo de 2-3 XRTs) em sua conta SUB_OWNER. - - -Vá para o dapp Robonomics para a [página de assinatura](https://dapp.robonomics.network/#/subscription) e pressione conectar conta na barra lateral direita. - - - -
  • - -
  • - -No menu pop-up seguinte, conecte a extensão Polkadot.js. Você verá o endereço da sua conta com saldo. - -
  • - -
  • - -Antes de comprar, verifique se escolheu a conta SUB_OWNER. Pressione o ícone do perfil do endereço, você deve ver a conta SUB_OWNER sob o campo Verificar conta do proprietário. - -
  • - -
  • - -Finalmente, pressione o botão ENVIAR e insira a senha da sua conta. Depois disso, aguarde até que o processo de ativação seja concluído. Você verá o estado da sua assinatura após um tempo. - -Se não houver assinaturas disponíveis, **entre em contato** com a equipe Robonomics. - -
  • - - - -
  • - -Adicionando Conta à Assinatura - - - -
  • - -Agora você precisa adicionar a conta SUB_CONTROLLER à **lista de acesso**. Abra a extensão e clique no ícone perto do nome da conta. Ele irá copiar o endereço da conta. - - - -
  • - -
  • - -Cole este endereço no campo Endereço da parachain Robonomics na parte **Gerenciar acesso**. - -Dê um nome e pressione o botão +. Insira a senha do seu SUB_OWNER na janela pop-up e aguarde até que o processo de ativação seja concluído. - -
  • - -
  • - -Repita os passos para a conta SUB_OWNER. -
  • - - - \ No newline at end of file diff --git a/courses/pt/learn/smart-home-course/usage-of-robonomics-with-hass.md b/courses/pt/learn/smart-home-course/usage-of-robonomics-with-hass.md deleted file mode 100644 index 08a6936abd..0000000000 --- a/courses/pt/learn/smart-home-course/usage-of-robonomics-with-hass.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: "Lição #7, Uso de Robonomics com Home Assistant" -lastUpdate: Thu May 18 2023 10:46:29 GMT+0400 (Samara Standard Time) -description: curso de assistente doméstico -lessonNumber: 8 -metaOptions: [Aprenda, Casa Inteligente Soberana com Robonomics e Assistente Doméstico] -defaultName: Sovereign Smart Home with Robonomics and Home Assistant ---- - -## Do que se trata - -Nesta li��o, voc� tentar� usar os principais servi�os de IoT da Robonomics. O primeiro pode consultar a telemetria de dispositivos de casa inteligente, permitindo que voc� receba dados remotamente do Home Assistant. O segundo servi�o gera backups da configura��o do seu Home Assistant e a restaura quando necess�rio (por exemplo, em caso de falha nos cart�es SD). - - -## Sobre as fun��es de parachain - -Em seguida, voc� ver� como as fun��es da parachain da Robonomics s�o usadas para fornecer ao usu�rio do Home Assistant o servi�o necess�rio. - -A obten��o de telemetria � baseada no palete datalog que voc� j� conhece. Em determinados per�odos de tempo (mas n�o menos do que o peso acumulado permite), uma transa��o datalog.record() � enviada para a parachain do endere�o SUB_CONTROLLER com o hash IPFS do arquivo criptografado, onde todos os dados de seus dispositivos IoT s�o coletados. Na verdade, para obter a telemetria, voc� solicita os datalogs necess�rios da parachain relacionados � sua assinatura IoT e depois os descriptografa com suas chaves. - -Para criar um backup, � usado outro palete da Robonomics chamado digitalTwin, que � uma implementa��o da ideia de um g�meo digital, uma vers�o digital de um equipamento real que copia suas caracter�sticas t�cnicas e dados hist�ricos. Primeiro, um ID exclusivo � criado para o g�meo digital do seu Home Assistant usando o extr�nseco digitalTwin.create(). Em seguida, usando o extr�nseco digitalTwin.setSource(), este ID � vinculado a alguns dados (o campo topic) e a um endere�o na parachain (o campo source). Para o backup do Home Assistant, o hash do arquivo de backup � armazenado em topic e o endere�o SUB_OWNER � armazenado em source. - -## Instruções - - - -
  • - -Obtendo Telemetria - - - - -
  • - -V� para o dapp e escolha o servi�o [SmartHome Telemetry](https://dapp.robonomics.network/#/smarthome-telemetry). - - - -
  • - -
  • - -No campo CONTROLLER, insira o endere�o SUB_CONTROLLER. Insira a frase-semente para criptografar os dados. - -
  • - -
  • - -No bloco Obter telemetria, escolha um carimbo de data/hora na lista suspensa e pressione o bot�o BAIXAR TELEMETRIA. - - -O download da telemetria pode levar algum tempo. Ap�s a conclus�o, voc� ver� as informa��es de seus sensores. - -
  • -
    - - - -
  • - -Criando Backup - - - -
  • - -Para criar backups, � chamado um servi�o que gera um arquivo de configura��o seguro. Este servi�o ent�o adiciona o arquivo ao IPFS e armazena o CID resultante no Robonomics Digital Twin. - - -Para restaurar sua configura��o, � necess�rio usar um gateway IPFS personalizado, como Pinata (pinata.cloud) ou Crust Network (crust.network). Sem isso, seu backup ser� armazenado exclusivamente em seu n� local IPFS, o que pode impedir que voc� restaure sua configura��o do Home Assistant em caso de falha no n� local. - - - - -
  • - -
  • - -Na interface web do Home Assistant, vá para Ferramentas do Desenvolvedor -> Serviços. Procure por Robonomics: Salvar Backup no Robonomics e pressione CHAMAR SERVIÇO. - -
  • - -
  • - -Aguarde até ver a notificação Backup foi atualizado no Robonomics aparecer em Notificação. - -
  • - -
  • - -Para restaurar sua configuração, você precisará instalar uma nova instância do Home Assistant (e repetir todos os passos anteriores) com a integração do Robonomics Home Assistant usando as mesmas sementes que você criou anteriormente. Você também precisará configurar um broker MQTT com o mesmo nome de usuário e senha. - - -Como alguns dispositivos conectados ao Home Assistant via Wi-Fi ou MQTT exigem que você especifique explicitamente o endereço IP local do seu Raspberry Pi, ao restaurar um backup, eles podem não estar disponíveis devido a uma mudança neste IP. Você precisará inserir o novo endereço IP nas configurações desses dispositivos. Para evitar isso, você pode configurar um IP local estático para o seu Raspberry Pi nas configurações do seu roteador (se ele suportar esse recurso). - - - - - -
  • - -
  • - -Na interface web do Home Assistant, vá para Ferramentas do Desenvolvedor -> Serviços. Procure por Robonomics: Restaurar do Backup no Robonomics e pressione CHAMAR SERVIÇO. Navegue até a página Visão Geral para verificar o status do seu backup. - -
  • - -
  • - -Assim que o Home Assistant terminar de reiniciar, sua configuração será restaurada. Se o status mudar para restaurado mas o Home Assistant não reiniciar automaticamente, você precisará reiniciá-lo manualmente navegando para Configurações > Sistema e clicando no botão REINICIAR no canto superior direito. - -
  • - - - - - - -## Conclusão do Curso - - - -
  • - -Parabéns! Você concluiu com sucesso a configuração e implantação completa de sua casa inteligente soberana. Agora você pode solicitar um certificado de conclusão do curso conosco visitando nosso canal no Discord. Escreva para nós no chat [robonomics-academy](https://discord.com/channels/803947358492557312/803947358492557315) e nosso representante entrará em contato com você. -
  • - -
  • - -A prova de conclusão do curso são transações correspondentes que podem ser verificadas no [explorador Polkadot](https://robonomics.subscan.io/). Estas são transações sobre a compra de uma assinatura, adição de um dispositivo a uma assinatura e envio de datalogs dos dispositivos. - -
  • - -
    \ No newline at end of file diff --git a/courses/pt/learn/spot-try-it-out/overview.md b/courses/pt/learn/spot-try-it-out/overview.md deleted file mode 100644 index 18655f2278..0000000000 --- a/courses/pt/learn/spot-try-it-out/overview.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Operar Boston Dynamics Spot -lastUpdate: Thu May 04 2023 12:53:28 GMT+0400 (Samara Standard Time) -description: Operar Boston Dynamics Spot -metaOptions: [Aprender] -defaultName: Operate Boston Dynamics Spot ---- - -Com este tutorial você será capaz de ver em simulação o que o Spot real fez. - -## Requisitos - -* ROS melodic desktop (instruções de instalação [aqui](http://wiki.ros.org/melodic/Instalação/Ubuntu)) - -
    - -## Instalar pacote - -Criar espaço de trabalho e clonar pacotes: - -mkdir -p ~/catkin_ws/src -cd ~/catkin_ws/src -git clone https://github.com/clearpathrobotics/spot_ros.git -git clone https://github.com/ros/geometry2 --branch 0.6.5 - - -Abrir o arquivo `view_model.launch` - - -nano ~/catkin_ws/src/spot_ros/spot_viz/launch/view_model.launch - - - - -E definir o parâmetro `use_sim_time` como `true`, o arquivo deve ficar assim: - -```xml - - - - - - - - -``` - -Então instalar dependências: - - -cd ~/catkin_ws/ -rosdep install --from-paths src --ignore-src -y -catkin_make - - -## Executar - -Obter arquivo de exemplo rosbag: - - -wget -O spot_rosbag.bag https://gateway.ipfs.io/ipfs/QmTDrfMy7Zs7uDLN3KPBC1UYqXNMXBKEwX7ggVmJKAm7Ef - - -Executar rviz com o modelo Spot: - - -source ~/catkin_ws/devel/setup.bash -roslaunch spot_viz view_model.launch - - -Então em um novo terminal: - - -source ~/catkin_ws/devel/setup.bash -roslaunch spot_viz view_robot.launch - - - - - -Reproduzir arquivo rosbag e você verá o robô se mover: - - -rosbag play spot_rosbag.bag - - - - - -Procurando possibilidades de operar o Boston Dynamics Spot na vida real? Temos [curso e serviço de controle remoto](/online-courses/boston-dynamics-course/) para isso. \ No newline at end of file diff --git a/courses/pt/learn/world-computer/emergence-of-the-world-computer.md b/courses/pt/learn/world-computer/emergence-of-the-world-computer.md deleted file mode 100644 index 91e5d6a170..0000000000 --- a/courses/pt/learn/world-computer/emergence-of-the-world-computer.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Parte 3: Emergência do Computador Mundial" -description: Na terceira parte intitulada "Emergência do Computador Mundial," tentaremos, camada por camada, recriar a implementação de engenharia do computador mundial usando exemplos do Ethereum e Polkadot, como antes. -metaOptions: [Aprenda] -defaultName: "World computer in your home" ---- - -Na terceira parte intitulada "Emergência do Computador Mundial," tentaremos, camada por camada, recriar a implementação de engenharia do computador mundial usando exemplos do Ethereum e Polkadot, como antes. - -Vamos começar com o Ethereum. O Ethereum começou em 2015 com um estado que pode ser caracterizado como uma combinação do algoritmo de consenso de prova de trabalho, permitindo que o computador mundial exista em um estado descentralizado (como discutido na Parte 2). Além disso, a Máquina Virtual Ethereum (EVM) foi introduzida, servindo como uma máquina computacional completa de Turing. Juntos, esses dois elementos formaram a primeira versão do computador mundial, às vezes referido como um precursor. Dentro deste contexto, aplicativos descentralizados, ou contratos inteligentes, começaram a surgir. - -Nos próximos 5 anos, o Ethereum viveu uma vida relativamente inalterada, passando por alguns ajustes de engenharia, como um aumento contínuo nos limites de gás, com exceção de eventos como o fork de Xangai. Notavelmente, durante o segundo DEFCON realizado em Xangai, um ataque de negação de serviço explorou uma função na máquina virtual que consumia gás mínimo, mas acionava cálculos significativos na rede Ethereum. Isso levou a um estouro de memória, interrompendo efetivamente um nó Ethereum inteiro. Este incidente destaca os detalhes intrincados que surgem ao lidar com uma solução grande e abstrata como a criação de uma máquina virtual. - -Avançando, ocorreu uma mudança significativa por volta do final da década, particularmente em 2020, com o advento do Ethereum 2.0. No entanto, o Ethereum 2.0 agora foi descontinuado, e eu caracterizaria a verdadeira inovação como começando por volta de 2019-2020. Durante este período, houve uma verdadeira inovação tecnológica no Ethereum, avançando para o conceito de Ethereum 2.0. O momento da mudança de engenharia na arquitetura do Ethereum pode ser considerado o evento conhecido como "a fusão," onde as funcionalidades da cadeia de beacons foram combinadas. A fusão marcou uma mudança significativa no paradigma do Ethereum, transicionando para um estado ligeiramente diferente do que estava no quadro. A mudança real de engenharia na arquitetura do Ethereum pode ser associada à "fusão," onde as funcionalidades da cadeia de beacons foram integradas. Para uma história detalhada disso, você pode consultar o site ethereum.org, que fornece um excelente artigo sobre a coexistência do blockchain tradicional do Ethereum com o blockchain paralelo lançado em 2015 e a Máquina Virtual Ethereum. - -Quando ocorreu a fusão, testemunhamos uma nova representação arquitetônica, tanto no nível da rede quanto para os nós individuais interagindo com a rede Ethereum. Qual foi a mudança real? Para muitos, a fusão significa a transição do proof-of-work para o proof-of-stake, o que é de fato significativo. Isso implica em aumento de eficiência e ajustes finos, mas ainda é um ajuste relativo a um dos parâmetros. No entanto, a mudança de engenharia interna mais notável para cada cliente de rede foi a divisão. Não havia mais um cliente de rede específico ou uma arquitetura monolítica. Em vez disso, obtivemos dois componentes de um único nó interagindo com a rede Ethereum. - -A primeira parte, que eu rotulei como "cadeia de faróis" no diagrama, representa essencialmente uma imagem coletiva de todas as inovações que entraram no cliente Ethereum no momento da fusão. A segunda parte é a máquina virtual preservada. No entanto, vale a pena acrescentar algo aqui também. Os diálogos realmente começaram sobre a substituição da máquina virtual, que foi exclusivamente projetada para trabalhar com contratos inteligentes e contratos inteligentes em uma linguagem específica - Solidity. Isso ocorre porque, em 2015, praticamente não havia mais intérpretes para contratos inteligentes em idiomas diferentes de Solidity, e a arquitetura parecia um tanto unilateral do ponto de vista de um programador Ethereum. Você aprende um trecho de JavaScript na forma de Solidity, escreve código de contrato inteligente nele e obtém seu DApp, como Uniswap, por exemplo. - -Desde o surgimento de uma arquitetura Ethereum mais complexa, as discussões giraram em torno da ideia de que a máquina virtual, que existia como um elemento um tanto monolítico desde 2015, também pode ser substituída na nova arquitetura. A conversa mudou para substituí-la por algo como WebAssembly (Wasm) ou uma solução mais interessante do ponto de vista da escrita de código para o computador mundial. Você poderia dizer, "Wasm com um ponto de interrogação." - -Do ponto de vista da Beacon Chain, ela realmente opera no proof-of-stake, mas o que é mais interessante é a inclusão do Gasper. Isso representa uma modificação das ideias originais sobre Casper. Casper, frequentemente referido como o dispositivo de finalidade do fantasma amigável, foi introduzido, talvez até mesmo tão cedo quanto Defcon 3 ou 4, e talvez até mesmo discutido em Defcon 2 - não me lembro exatamente. Mas na conferência EthCC em Paris, que definitivamente ocorreu em 2018, Vlad Zamfir e Vitalik, de salas diferentes, estavam discutindo o surgimento de Casper como um fantasma amigável, supervisionando os participantes no proof-of-stake e vindo em auxílio da rede quando um nó se comporta mal. A partir dessa ideia de Casper, surge o Gasper. Sem entrar muito na terminologia, o algoritmo de consenso passa por uma mudança, mudando não apenas em termos de simplicidade, mas também se tornando mais complexo, semelhante ao Polkadot. Como mencionei anteriormente, o Polkadot tem dois algoritmos de consenso, Babe e Grandpa. Da mesma forma, com a funcionalidade da Beacon Chain do Ethereum, alcançar consenso e finalidade não é tão instantâneo. Envolve épocas, e a rede opera em um cenário mais complexo, alcançando um estado que já é um tanto dinâmico, não congelado, e essencialmente esculpido em pedra. - -O que pode ser adicionado em relação a 2024? Para mim, foi uma observação prolongada e uma tentativa de entender se o Ethereum eventualmente implementaria ou não o sharding. Sharding é a capacidade de existir não com uma única blockchain, mas com várias blockchains dentro de uma rede. Enquanto observava a fusão e o surgimento simultâneo das redes de Camada 2 (L2), surgiram perguntas em minha mente sobre se o sharding realmente se materializaria. O sharding me pareceu interessante devido à sua homogeneidade - ter várias cadeias que são quase idênticas, sem características específicas. Parecia ser uma abordagem interessante, mas não tão flexível quanto uma abordagem heterogênea. Nas redes L2, mesmo há vários anos, eu podia ver a heterogeneidade do Ethereum, sua capacidade de trabalhar com vários tipos de blockchains mais específicas. Eu estava curioso sobre a direção que tomaria - se o sharding, com sua homogeneidade, deslocaria as soluções L2 ou se as soluções L2 com uma abordagem heterogênea saturariam a Beacon Chain e os principais nós da rede Ethereum. - -Hoje, em 2024, com base em artigos em ethereum.org, parece que o sharding como conceito foi adiado, e o foco está em ajudar várias redes L2 a se integrarem com a Beacon Chain e se alinharem com a funcionalidade da cadeia principal, que agora está dividida em dois elementos na arquitetura da rede Ethereum. - -Portanto, sem aprofundar nos detalhes de como as redes L2 são estruturadas - embora vamos abordar isso quando preenchemos a segunda parte do quadro - devemos imaginar que o Ethereum é agora uma espécie de Beacon Chain, um farol, uma estrela guia para inúmeras redes L2. Essas redes L2 podem ter funcionalidades mais específicas, executando sua lógica de acordo com um conjunto de funções individuais. Isso está um pouco alinhado com a ideia de um canivete suíço - não tornando o Ethereum um canivete suíço, mas as redes L2 estão começando a se diferenciar em arquitetura. Elas duplicam a funcionalidade da máquina de computação abstrata do Ethereum, mas a executam com custos de gás mais baixos ou dentro de seu segmento específico. Alguns já estão pensando em ajustar e tornar sua camada L2 mais eficiente, focando em capacidades funcionais específicas. Assim, na minha opinião, estamos testemunhando o surgimento da heterogeneidade no computador mundial que visava ser homogêneo. Além disso, é essencial não esquecer que as aplicações descentralizadas (dApps) ainda existem dentro da blockchain principal, dentro da mesma blockchain que começou em 2015. Isso significa que durante a fusão, durante a transição para o novo estado arquitet��nico, não houve eliminação, não houve apagamento da história anterior. Todas as aplicações descentralizadas e contratos inteligentes subjacentes a essas aplicações continuaram a existir, e continuam a existir hoje, e provavelmente amanhã. Esta é uma questão que exploraremos usando o Polkadot como exemplo, mas ainda há a sensação de que será possível estabelecer uma aplicação descentralizada na Beacon Chain - dApps. - -Em resumo, vamos imaginar a implementação de engenharia do Ethereum de hoje como um computador mundial. Temos cada nó de rede consistindo em duas partes. A primeira camada é responsável pela Máquina Virtual Ethereum (EVM), a funcionalidade real da máquina virtual ou máquina completa de Turing, se falarmos em termos teóricos. Talvez vejamos o surgimento de alternativas à máquina virtual projetada em 2015. Essas alternativas provavelmente a superarão em termos de possibilidades de programação mais abstratas do que escrever contratos inteligentes em Solidity. Enquanto isso, os contratos inteligentes em Solidity continuam a se sentir confortáveis. Se você deseja escrever funcionalidades para a cadeia principal do Ethereum sem criar qualquer infraestrutura em cima do Ethereum, sem descarregar quaisquer cálculos para torná-los mais baratos, e assim por diante, as aplicações descentralizadas que voc�� pode escrever como contratos inteligentes ainda podem ser hospedadas na blockchain principal do Ethereum. Ao mesmo tempo, a funcionalidade da Beacon Chain surgiu, separando a lógica de consenso entre validadores do protocolo principal da máquina de computação. Isso permite flexibilidade adicional em como o consenso deve funcionar e como deve ser modificado sem afetar a própria máquina virtual. O exemplo de Xangai e Defcon 2, onde um pequeno erro de opcode causou o desligamento de parte da infraestrutura, sugere que seria bom ter tais funcionalidades complexas separadas em duas partes. - -O que é interessante sobre a Beacon Chain? É um algoritmo mais complexo e abrangente para alcançar a sincronização e finalização da rede com a introdução de conceitos como "época," e a presença de um fantasma vivendo dentro da rede. - -Por último, o que é importante considerar agora é que o Ethereum está efetivamente colocando um fim à homogeneidade, à ideia de ter cem blockchains idênticas trabalhando com a mesma máquina virtual, onde contratos inteligentes escritos em Solidity podem residir. Em vez disso, vários projetos estão propondo suas próprias arquiteturas ou a mesma máquina virtual levada além dos limites da blockchain principal. Alternativamente, estão tentando construir sua aplicação mais específica, que, no nível da cadeia principal da Beacon Chain, é um contrato inteligente escrito em Solidity. Esta é a representação atual do Ethereum, que não se tornou Ethereum 2.0. Continua sendo o mesmo Ethereum - um projeto que uma vez começou com prova de trabalho + máquina completa de Turing, transformando-se nesta arquitetura. - -Agora, vamos dar uma olhada em como o Polkadot surgiu e evoluiu nos últimos 5 anos. O Polkadot surgiu cinco anos após o Ethereum, nascido da equipe que desenvolveu um dos melhores clientes para o Ethereum - Parity. Muitos podem se lembrar de seu cliente web, que, comparado ao Geth e outras implementações, provavelmente era muito mais agradável de trabalhar, pelo menos pela experiência pessoal e a experiência dos colegas. - -Em segundo lugar, Polkadot foi, na minha opinião, uma extensão das ideias que Gavin Wood queria incorporar no desenvolvimento do Ethereum. Consequentemente, pode-se dizer que o Ethereum, em algum momento, se dividiu em dois conceitos. -O que tínhamos quando o Polkadot foi lançado? A cadeia de retransmissão foi lançada. Curiosamente, certo? Corrente de farol e corrente de relé. O que a cadeia de retransmissão representa? Inicialmente, não havia possibilidade de colocar um aplicativo descentralizado lá, escrever um contrato inteligente para ele ou fazer upload de seu código no WASM ou no Solidity. Nada disso estava disponível na época do primeiro bloco ou nos primeiros dias de existência da cadeia de retransmissão Polkadot. Não houve como adicionar seu tempo de execução, sobre o qual falaremos em breve, e não foi baseado em prova de aposta; em vez disso, usou prova de autoridade. Isso permitiu que certos nós lançados pelos desenvolvedores do Polkadot sobrevivessem aos primeiros meses ou semanas, enquanto ataques poderiam ser lançados na cadeia ou se ela se comportasse incorretamente. No entanto, isso foi rapidamente alterado e a cadeia de retransmissão passou para prova de aposta. - -No final, após alguns meses da existência da cadeia de retransmissão sem nenhuma funcionalidade de aplicativo descentralizado, sem a capacidade de conectar sua parachain ou rede L2, sem capacidades de usuário, a rede fez a transição de um estado de autoridade para prova de participação. Isso deu aos desenvolvedores a capacidade de fazer upload de seus runtimes. - -Neste ponto, também é interessante discutir as diferenças entre o Ethereum de hoje e como a parte central do Polkadot é estruturada. Do ponto de vista do coração, que já discutimos, a imagem será absolutamente a mesma não apenas para o Ethereum e o Polkadot, mas para qualquer projeto que queira ser apresentado como uma máquina de computação abstrata. No entanto, do ponto de vista de engenharia e arquitetura, é fascinante observar a Beacon Chain & Relay Chain. Aqui, temos uma máquina virtual, que foi herdada desde 2015, mas estão sendo propostas alternativas. Na cadeia de retransmissão, há a capacidade de fazer upload do seu runtime. O runtime é, na verdade, sua máquina virtual. Por exemplo, algumas parachains emulam completamente a Máquina Virtual Ethereum. É escrito como um runtime, o que significa que você pode essencialmente fazer upload de um análogo da Máquina Virtual Ethereum para o nível de parachain no Polkadot ou escrever lógica mais específica que funcione com quatro ou cinco funções. Lembre-se da parte um sobre as ideias - você pode escrever sua canivete suíço, mas não será necessário criar toda a infraestrutura. Você pode implementar funcionalidades específicas com certas funções no nível de runtime, colocá-las na cadeia de retransmissão do Polkadot e a imutabilidade deste runtime será garantida pelos validadores do Polkadot. - -O que acontece a seguir? Ao longo de cerca de um ano, uma camada de parachains começa a se formar em torno da cadeia de retransmissão. Em termos de implementação do Ethereum, você poderia dizer que as redes L2 são bastante semelhantes às parachains. No entanto, há uma distinção interessante entre redes cruzadas que eu acho fascinante no Polkadot, e estou tentando entender melhor como isso se desenvolverá - ou seja, a segunda camada de validação e verificações de disponibilidade de dados. Após alguns anos, o Polkadot assume uma forma como esta. Não é apenas uma cadeia de retransmissão onde os validadores de prova de participação protegem o tempo de execução das futuras parachains; uma camada adicional e crucial de validação de dados e verificações de disponibilidade emerge das parachains. - -Ao olhar para este diagrama, tente notar as analogias que surgem e as diferenças nos detalhes de implementação de engenharia. Então, o que isso representa e como esse esquema se compara com o Ethereum? Temos um projeto L2, neste caso, com o Polkadot, é uma parachain. Uma parachain também gera blocos de informações, que então vão para a cadeia de retransmissão para serem combinados e liberar um bloco de cadeia de retransmissão como a soma de todos os cabeçalhos, cabeçalhos e mais cabeçalhos. A parachain coleta transações em um bloco usando coletores, que não estão envolvidos na validação. Eles não apostam nada na cadeia de retransmissão; eles apenas usam o tempo de execução, que está na cadeia de retransmissão. Eles o buscam, aplicam às transações, realizam transições de estado necessárias, formam um bloco e, crucialmente, fornecem prova de validade - um carimbo contendo provas criptográficas de que o coletor montou corretamente o bloco. Essas informações vão para o anel de validação externo da cadeia de retransmissão. Neste anel, existem validadores internos do Polkadot - coletores de parachain. Novamente, eles não apostam nada diretamente do ponto de vista da cadeia de retransmissão. As implementações de parachain às vezes introduzem seu consenso entre coletores, e algumas não. Por exemplo, no Robonomics, implementando uma parachain, encontramos esse paradigma mais interessante, menos oneroso, e torna a rede mais simples, mantendo-se funcionalmente substancial. Qualquer coletor, sem chegar a um consenso com ninguém - verificado por nós - pode propor um bloco e alguma prova para a camada externa. É exatamente por isso que os blocos são propostos, as provas de validade da montagem do bloco são oferecidas, e há um anel externo. Não precisamos de nenhum consenso dos validadores de parachain. Qualquer um pode gerar um bloco e enviá-lo, e se este nó do coletor enviar informações incorretas para os validadores de parachain no anel externo, o validador neste nível o rejeitará. Não passará para a parte central. Mas digamos que o bloco tenha sido fornecido corretamente pelo coletor. Nossas transações entraram; o coletor as calculou, aplicando o tempo de execução armazenado na cadeia de retransmissão, executou todas as transições de estado, reuniu alguma prova de validade - validade do bloco montado - e passou para o anel externo da cadeia de retransmissão. Aqui, a cada época, que também faz parte da finalização, cada época tem validadores da cadeia de retransmissão divergindo para as parachains. Alguns deles permanecem no centro, e os outros vão para as parachains. Seu número varia de 16 a 64 validadores, e essa figura, acredito, mudará na especificação - em alguns lugares mais, em outros menos. No entanto, os validadores de parachain re-verificam as informações de um grupo selecionado de validadores sobre tudo o que vem do coletor estar correto, que o trabalho foi feito de acordo com o tempo de execução, e que a prova de validade é realmente válida. O segmento selecionado de validadores da cadeia de retransmissão que já têm algo apostado responde, ou melhor, chilreiam entre si. Eles respondem ao produtor principal de bloco escolhido da parachain, por assim dizer, dizendo, "Sim, concordamos. Não há problemas. Você pode levá-lo por todo o anel externo internamente." - -E assim, quase todas as informações formadas nos coletores de parachain, com verificação no anel externo, entram no interno. A parte inferior, não que esteja fisicamente no fundo, ainda constitui o anel externo - disponibilidade de dados. Os dados começam a ser verificados nesta fase, o que significa que no anel externo, não apenas a correção da montagem do bloco é verificada, mas o processo de preparação para distribuição dentro da rede Polkadot começa, garantindo que as informações do bloco não sejam perdidas no futuro. Aqui, precisamente, é o que mencionei na segunda parte sobre chunks, como CD RW. Nesta fase de preparação do bloco para transferência para o anel interno, a camada de disponibilidade de dados é formada como um serviço, algo que atualmente também é tentado por alguns projetos no Ethereum. Alguns projetos colocam informações redundantes adicionais diretamente em contratos inteligentes, necessárias para verificar o que está acontecendo na camada L2 e, se necessário, punir ou penalizar aqueles que fizeram incorretamente. É impossível superar o anel externo sem distribuir informações de bloco e sem rechecar dezenas de nós com apostas feitas com base na suposição de que o tempo de execução deve funcionar corretamente. - -Assim, as informações que passaram pelo anel externo já são bastante confiáveis, provavelmente sim, você pode dizer isso, e no anel interno, o trabalho é feito principalmente não com blocos de parachain, mas seus cabeçalhos de bloco são coletados em um grande cabeçalho. Ou seja, de muitos cabeçalhos, um cabeçalho de um bloco de cadeia de retransmissão é montado - um mecanismo de ligação em Shared Security, como mencionado no Polkadot, que garante a segurança das parachains. Poderíamos dizer que as parachains são validadas e alcançam um estado em que o serviço existe de forma distribuída descentralizada no anel externo. No anel interno, as informações que entraram tentam se unir em um hiperbloco, que deve ligar tudo precisamente. Não há cálculos acontecendo lá; não há recalculo de absolutamente tudo. A montagem do bloco final acontece, por assim dizer, na iteração atual do computador mundial, para colocar um ponto na questão de se a transação passou em uma parachain específica. Devemos montar um hiperbloco que contenha não todas as informações das parachains, mas reúna todos os cabeçalhos verificados no anel externo das parachains em um grande bloco. E assim, nosso computador mundial no Polkadot opera. - -Vamos dar mais uma olhada nesses dois esquemas juntos: cadeia de retransmissão, cadeia de farol, tempo de execução, garantido por prova de participação, onde alguém aposta seus fundos para validar que sempre executarão seu trabalho corretamente. Existe uma máquina virtual onde você também pode apostar seus fundos e, se você realizar qualquer computação ou transição de estado que não esteja de acordo com a especificação da Máquina Virtual Ethereum, você será penalizado. - -No Polkadot, há uma camada externa adicional, que parece ser uma das principais vantagens, tais benefícios agradáveis da implementação de engenharia que, na minha opinião, deveriam estar presentes aqui. Deveria aparecer entre as redes L2 e a cadeia de farol, que existe no Ethereum. A propósito, alguns dizem que o termo "cadeia de farol" está caindo em desuso novamente e é mal compreendido, mas eu realmente gosto de usá-lo em analogia com a "cadeia de retransmissão", um termo do roteiro do Ethereum. - -No Polkadot existe uma camada externa que permite, ou melhor, acho que foi inventada para resolver muitos problemas que surgem quando você tem L2 ou um conjunto de blockchains que precisam estar conectados. Nesta camada é implementado um mecanismo de engenharia de distribuição de informações para disponibilizá-las em uma rede descentralizada. Algoritmos adicionais são introduzidos para verificar não apenas a validade, mas também a disponibilidade de informações pelos validadores. Além disso, há um mecanismo para atribuir aleatoriamente uma parte dos validadores Polkadot a parachains específicos a cada época. Portanto, nem os mesmos validadores servem parachains em todas as épocas; eles são embaralhados e enviados para diferentes parachains em cada época. Ao transferir um bloco do anel externo para o interno, os validadores são verificados novamente ao longo do caminho e coordenados com aqueles atribuídos ao parachain. Atualmente esse processo não existe, mas acho que em algum momento aparecerá. -E talvez o último ponto seja sobre os agrupadores, que hoje são implementados de maneira bastante interessante nos parachains. Podem ser consensuais ou existir sem consenso, mas, na verdade, funciona. Quanto às questões em redes L2 com sequenciadores descentralizados ou como os blocos serão gerados e verificados antes de se instalarem na máquina virtual - estas são questões separadas para a implementação do Ethereum em formato heterogêneo. Neste dia, está muito bem implementado em Polkadot, na minha opinião. No entanto, isso não significa que Polkadot esteja à frente de todo o planeta e nunca alcançará Ethereum. Embora seja esta arquitetura que me atrai a continuar trabalhando e esperando que Polkadot continue a se desenvolver bem em termos de tecnologias porque não vi nada parecido em todos os aspectos conectados. - -E talvez mais uma história interessante nesta parte da palestra: até agora, mal podemos imaginar mensagens apropriadas entre redes L2 na Ethereum. Talvez eu tenha perdido algo nos artigos, mas quando não se tem um anel externo e questões como coletores, paravalidadores e serviços de disponibilidade de dados não estão resolvidas, pensar em como duas camadas L2 podem se comunicar é desafiador. No entanto, no Polkadot, isso existe. Mesmo horizontalmente, através da cadeia de retransmissão, ou seja, diretamente, alguém pode enviar uma transação com segurança de uma paracadeia para outra, sem confiar em pontes entre essas duas paracadeias. Esta é outra funcionalidade crucial que provavelmente precisará ser implementada no nível de conexão de redes L2. Os contratos inteligentes na Ethereum se comunicam bem. Criamos muitas cadeias de contratos inteligentes vinculados, onde um aciona o outro. Com isso, não há problema. Mas quando dizemos que quase todas as aplicações estão migrando para a camada L2 em uma rede heterogênea, ouço dizer que se você mora em uma área específica, não conseguirá sair. Isso não acontece no nível das paracadeias e na implementação no Polkadot. Ambas as arquiteturas valem a pena ser observadas, pois, na minha opinião, a implementação de engenharia segue o caminho principal de se tornar um computador global. Elas diferem ligeiramente, mas há muitas semelhanças. Há uma enorme quantidade de trabalho de engenharia em todos os lugares. Como vemos, a civilização humana, na forma de uma multidão de pesquisadores, engenheiros e desenvolvedores em crescimento com recursos significativos para o desenvolvimento futuro, está se movendo aproximadamente na mesma direção desde o menor estágio inicial até provavelmente algum futuro estabelecimento do computador mundial, todos nos mesmos trilhos. diff --git a/courses/pt/learn/world-computer/overview.md b/courses/pt/learn/world-computer/overview.md deleted file mode 100644 index b5045831e3..0000000000 --- a/courses/pt/learn/world-computer/overview.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Parte 1: A Ideia de um Computador Mundial" -description: Esta é a primeira parte de uma palestra em quatro partes intitulada "Computador Mundial em Sua Casa." Na primeira parte, intitulada "A Ideia de um Computador Mundial," quero analisar e compartilhar minhas próprias reflexões que, em um contexto histórico mais amplo, se reuniram em torno da hashtag "computador mundial." -metaOptions: [Aprenda] -defaultName: "World computer in your home" ---- - -Esta é a primeira parte de uma palestra em quatro partes intitulada "Computador Mundial em Sua Casa." Na primeira parte, intitulada "A Ideia de um Computador Mundial," quero analisar e compartilhar minhas próprias reflexões que, em um contexto histórico mais amplo, se reuniram em torno da hashtag "computador mundial." - -Para começar, vamos tentar reunir uma compreensão generalizada do que é um computador mundial, sem entrar em terminologia ou detalhes técnicos específicos. Se você pegar seu celular na mão e olhar para os ícones, poderá notar que praticamente todas as aplicações no celular têm dois segmentos principais ou áreas de operação. - -O primeiro é a parte local, ou seja, por exemplo, sua calculadora ou aplicativo de notas. Este é um aplicativo completamente local que requer quase nenhuma comunicação externa. Embora até mesmo aplicativos como o aplicativo de notas em um iPhone sejam um pouco mais do que isso, vamos nos concentrar no lado mais austero de aplicativos de código aberto para telefones Android, por assim dizer. - -A segunda parte requer infraestrutura de nuvem e aqui, quando a questão da infraestrutura de nuvem surge, uma infinidade de histórias bastante complexas começa: quem possui essa infraestrutura de nuvem, que capacidades os desenvolvedores têm para adicionar recursos a um aplicativo e, em geral, como o usuário possui esse aplicativo? Que capacidades e responsabilidades o usuário tem ao lidar com um aplicativo que não existe apenas em seu telefone, mas também em alguma infraestrutura além de seu bolso ou palma? O computador mundial é precisamente um exemplo de como a comunidade de desenvolvedores responde a essas perguntas óbvias. Perguntas óbvias sobre a criação de aplicativos de alta qualidade para seu celular, laptop, servidor e qualquer outro dispositivo inteligente que precise se conectar à rede e obter conhecimento de lá. - -O computador mundial é, consequentemente, a mesma nuvem, a mesma infraestrutura que existe na internet, com a qual os desenvolvedores podem interagir e publicar suas aplicações. Como usuário, você pode instalá-las, baixá-las e executá-las em seu PC. No entanto, com uma característica interessante e crucial: ninguém realmente possui a infraestrutura ou nuvem do computador mundial. Não há uma empresa específica, jurisdição ou indivíduo na Terra que possa determinar e dizer se você pode publicar sua aplicação lá ou não, se você tem o direito de acessar essa infraestrutura de computador mundial para receber o serviço fornecido. Portanto, o computador mundial é uma nuvem na qual qualquer desenvolvedor pode colocar sua aplicação, e qualquer usuário com acesso apenas à rede de internet e não a um endereço IP específico atrás de um firewall pode usar a aplicação pagando pelos cálculos do próprio bolso. - -Aqui está a história em um formato generalizado. Não há menção de "blockchain," não há menção de "contratos inteligentes," mas esses conceitos estão por baixo. Vamos ainda reconhecer: um computador mundial é uma infraestrutura de nuvem soberana, de propriedade de ninguém, permitindo que cada desenvolvedor evite a censura dos proprietários de plataformas que oferecem downloads de aplicativos. Também impede que os usuários estejam em uma situação em que não entendem como um aplicativo funciona em seu telefone. Na minha opinião, esses são recursos importantes e legais que merecem respeito e atenção daqueles que desejam criar aplicativos mais futuristas e mais legais. Isso é precisamente o que minha equipe e eu temos feito há oito anos, escolhendo talvez a área mais desafiadora - criar serviços para robótica no computador mundial, que parece estar bem na porta de sua casa, silenciosamente raspando e dizendo: "Quero entrar em sua casa." - -Agora, vamos avançar para uma linha do tempo e analisar minha experiência pessoal sobre como o conceito do computador mundial evoluiu. Primeiro, vamos voltar para 2012. Este ano é notável porque o Bitcoin já existe como um serviço global de internet, acessível a todos, não de propriedade de ninguém específico. Até 2012, além do Bitcoin, começam a aparecer seus chamados forks. Um dos mais conhecidos é o Litecoin. - -O Litecoin é notável porque seu desenvolvedor fez o trabalho mais importante para toda a comunidade. Ele coletou as variáveis ou constantes configuráveis mais cruciais de diferentes partes do código do Bitcoin após o lançamento do protocolo. Isso permitiu especificar o tempo de geração de bloco, a recompensa de bloco e, estatisticamente, o Litecoin é mais frequentemente bifurcado do que o Bitcoin. Quando dizemos "fork do Bitcoin," posso dizer com confiança que, na maioria dos casos, será um fork do Litecoin. - -O que o Litecoin representava naquela época era uma cópia do serviço de internet para dinheiro eletrônico. Poderia ser adicionado a "rápido", tornando-se dinheiro eletrônico rápido. Mais notavelmente, o surgimento de um projeto como o Namecoin. - -Namecoin também é um fork do Bitcoin e, se a memória não me falha, inicialmente foi um fork direto do Bitcoin, e então o Litecoin apareceu alguns meses depois em 2011. No entanto, o Namecoin acabou sendo um pouco diferente, abrindo caminho para muitos desenvolvedores mentalmente sobre onde as ideias subjacentes ao serviço de internet do Bitcoin poderiam evoluir. O Namecoin foi além de ser apenas uma moeda; ele poderia armazenar identidade como um banco de dados e permitir que um serviço de internet colocasse seu nome de domínio. Este foi o primeiro exemplo em que um serviço de internet originado do Bitcoin poderia ter uma natureza diferente, não apenas como o Litecoin com transações rápidas, mas a capacidade de pagar para armazenar certas informações com sua moeda interna, um token interno. Por exemplo, o nome na zona de domínio .bit. - -Desenvolvedores em todo o mundo estavam experimentando com o Bitcoin, principalmente criando forks, tornando-os mais rápidos, mais baratos eletrodomésticos. Ao lado disso, os primeiros serviços apareceram, vendo oportunidades não apenas em aplicações financeiras, mas também em aplicações interindustriais em outras áreas como o Namecoin. O Namecoin forneceu o primeiro serviço de internet globalmente acessível e não pertencente através do qual você poderia lançar seu site sem estar sob a jurisdição de uma organização específica, mas dentro de uma rede globalmente acessível e distribuída. Este momento é crucial para avançarmos para os precursores iniciais das ideias do computador mundial. - -As primeiras ideias práticas do computador mundial surgiram em 2014, dois anos após o surgimento da primeira onda de forks do Bitcoin e a criação de serviços significativos dedicados não apenas ao dinheiro eletrônico, mas também explorando temas mais amplos. Encontramos ideias que precedem o lançamento do Ethereum. - -Em 2014, em vários meetups em todo o mundo, em Miami e, eu acredito, na Europa, Vitalik Buterin articulou ideias sensatas. Ele sugere que podemos desenvolver não apenas um conjunto de serviços de internet que essencialmente funcionam como um canivete suíço, certo? Podemos desenvolver uma máquina virtual. Aqueles com formação em Ciência da Computação provavelmente se lembram do que é uma fita infinita em máquinas de Turing, e se voltarmos à teoria das máquinas computacionais, provavelmente lembramos das origens teóricas de criar nossos computadores pessoais, essencialmente a infraestrutura de servidor que temos hoje. É interessante que, cinquenta anos após o desenvolvimento da arquitetura de von Neumann e da teoria completa da máquina de Turing, e com o surgimento das tecnologias de internet apenas em 2014, e apenas após experimentos com o Bitcoin, a primeira ideia surge em nosso planeta de criar uma máquina computacional totalmente virtual baseada na mesma teoria que foi testada na indústria de ciência da computação nos últimos 50 anos. A mecânica é a mesma ao criar qualquer computador pessoal ou servidor em um data center, mas baseada mais em conquistas em tecnologias de internet e nas conquistas do mundo que mais tarde serão chamadas de Web3. - -O próprio Ethereum não é uma faca suíça, nem um conjunto de serviços específicos da internet. É, no sentido direto, uma nuvem, uma máquina computacional. O que está no seu núcleo, eu vou te contar na próxima palestra. Aqui, o mais importante para nós é focar onde a ideia do Ethereum começou. Começou com a percepção de que, em dois anos, dezenas de diferentes serviços da internet foram inventados que eram interessantes porque eram globalmente acessíveis, disponíveis sem censura para os desenvolvedores implantarem. Os usuários só podiam usá-los com uma moeda interna. No entanto, o que não era gostado em todos esses conceitos era que quase todo serviço interessante exigia sua própria infraestrutura distribuída massiva. Ao contrário dos serviços familiares da internet, você não poderia simplesmente lançar sua infraestrutura globalmente acessível se você fosse uma pessoa muito pequena ou uma equipe pequena porque tal rede seria vulnerável, e o serviço em si se tornaria inseguro. Para superar os problemas que eram efeitos colaterais ou externalidades negativas de criar seu próprio serviço de internet soberano globalmente acessível, surgiu o conceito de Ethereum. Ethereum, como uma nuvem completa capaz de lidar com qualquer computação formalizada, permite que você escreva seu código de programa, um programa completo essencialmente, e o execute na mesma blockchain ao lado de centenas de outras aplicações. Essa possibilidade, soando desde os pequenos estágios de 2014, naturalmente cativou as mentes de muitos e parecia absolutamente lógica para alguém com uma educação básica em Ciência da Computação. Se você pudesse entender o que era a completude de Turing até 2014, se você pudesse vislumbrar a teoria histórica de criar um computador pessoal, você definitivamente não ignoraria o whitepaper do Ethereum e diria que isso é exatamente o que toda a comunidade de desenvolvedores precisa. - -Acredito que o ano de 2014 e o Ethereum marcam as primeiras, embora não explicitamente nomeadas, instâncias do conceito de um computador global. Começou com a ideia de que não precisamos de uma faca suíça; em vez disso, precisamos de infraestrutura ou uma nuvem universal que aborde desafios de segurança em nível global. Os desenvolvedores, a baixo custo, deveriam ser capazes de implantar suas aplicações lá sem se preocupar com questões como garantir a rede ou criar uma rede de provedores para este computador ou seu serviço de internet específico. - -Em 2015, o Ethereum foi efetivamente lançado. A partir desse momento, mesmo até 2020, não encontrei argumentos significativos contra a ideia de criar não apenas serviços específicos da internet, mas abraçar e desenvolver o conceito de um computador virtual, servidor virtual, nuvem ou um computador global, como prefiro chamar. - -Várias variações surgem, talvez alguns se lembrem do então popular EOS sugerindo um paradigma de consumo ligeiramente diferente. Apesar da minha aversão pessoal a esse projeto, com seus 21 validadores e tudo mais, parecia suficiente para muitos. Mas introduziu a ideia de que possuir tokens lhe concede uma parte da largura de banda, o que, no âmbito da arquitetura Robonomics, permanece interessante para mim até hoje. - -Simultaneamente, surgem outras ideias sobre como modernizar a rede Ethereum. Projetos como Definity, Solana e outros entram em cena. Ao mesmo tempo, Gavin Wood apresenta o Polkadot, que ajudou Vitalik a criar o Ethereum. De uma infinidade de projetos tecnológicos entre 2015 e 2020, passamos de uma corrida para criar variantes individuais de serviços de internet para testemunhar, em um nível de protocolo de comunicação, o surgimento de algo como assassinos do Ethereum. Muitos projetos começaram sob esse slogan, levando a ideia de uma nuvem unificada para múltiplos serviços de internet e modificando alguns aspectos. Por exemplo, a EOS propôs um esquema de utilização alternativo, onde apenas a propriedade apoiada por token permitia acesso à largura de banda. Houve projetos em que a linguagem de programação para escrever código era mais interessante. Por exemplo, durante um hackathon para a BMW, quando ganhamos com uma implementação no Ethereum, a montadora imediatamente afirmou que não iríamos mais adiante a menos que tivéssemos contratos formalmente verificados, o que era impossível de alcançar no Ethereum naquela época. - -Neste momento, ao ler sobre as ideias da Eternity e de outras redes, você pode pensar: "Devo tentar trabalhar com elas também." Os desenvolvedores de serviços entenderam isso, assim como, como mencionei, projetos como Definity, que lançou recentemente o World Computer e está ganhando tração. Simultaneamente, a ideia do Polkadot emerge como um framework heterogêneo de várias cadeias. O Ethereum, por volta de meados de 2010, também recebeu um roadmap para escalabilidade e desenvolvimento. Até 2024, quase todos os conceitos convergem na ideia de ter não apenas um banco de dados ou blockchain, mas uma multiplicidade. Vários métodos de processamento de transações, algoritmos de consenso de duas camadas, abordagens otimistas da maioria e uma infinidade de variações de implementação técnica surgem, todos visando o mesmo conceito de computador global. - -Vamos agora passar por um instantâneo da linha do tempo: - -- **2009-2012**: Surgimento do primeiro serviço de internet globalmente acessível para dinheiro eletrônico - Bitcoin. -- **Início de 2012**: A primeira guerra de forks ocorre, com projetos surgindo para replicar serviços semelhantes. Alguns projetos de vários bilhões criam seus forks. Simultaneamente, projetos como Namecoin propõem ideias interessantes. -- **2014**: O conceito de um computador mundial surge, exigindo um profundo entendimento da teoria da ciência da computação e imersão no desenvolvimento do Bitcoin. -- **2015-2020**: O conceito passa da teoria para a prática. Modificações e variações do Ethereum surgem, introduzindo ideias diferentes com diferentes graus de qualidade. O termo "Computador Mundial" se estabeleceu. -- **2024**: Alcançamos o Computador Mundial, um termo agora bem estabelecido, marcando a transição de uma simples calculadora em seu telefone para uma instituição globalmente acessível. A ideia do Computador Mundial engloba o dinheiro futuro, a programação do dinheiro, o armazenamento de registros de identificação e documentos importantes. - -Em conclusão, de uma simples calculadora para uma instituição globalmente acessível, a ideia do Computador Mundial evoluiu. É visto como um lugar para o futuro do dinheiro e o armazenamento de registros vitais. O conceito de um Computador Mundial progrediu de discussões teóricas para implementações práticas de engenharia. Na próxima palestra, a discussão se aprofundará no que um Computador Mundial realmente representa. É fundamentalmente uma função de transição de estado, um conceito a ser explorado mais adiante na próxima palestra, enfatizando sua importância e a necessidade de protegê-lo. - - diff --git a/courses/pt/learn/world-computer/the-heart-of-the-world-computer.md b/courses/pt/learn/world-computer/the-heart-of-the-world-computer.md deleted file mode 100644 index 683dc6f25f..0000000000 --- a/courses/pt/learn/world-computer/the-heart-of-the-world-computer.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "Parte 2: O Coração do Computador Mundial" -description: O que está no cerne de projetos como Ethereum ou Polkadot, ou qualquer outro projeto web3 que reivindique o título de computador mundial, e por que a comparação com o coração no corpo humano se encaixa tão bem na arquitetura abstrata do computador mundial? -metaOptions: [Aprenda] -defaultName: "World computer in your home" ---- - -O que está no cerne de projetos como Ethereum ou Polkadot, ou qualquer outro projeto web3 que reivindique o título de computador mundial, e por que a comparação com o coração no corpo humano se encaixa tão bem na arquitetura abstrata do computador mundial? - -Vamos tentar entender essas perguntas nesta parte da palestra e, para começar, teremos que quebrar um pouco as correntes dos maximalistas do Bitcoin. Provavelmente, você já leu um ou vários artigos populares de ciência dedicados ao Bitcoin em sua vida, e a principal coisa que é praticamente observada em todos os lugares são as três principais vantagens do Bitcoin como dinheiro eletrônico: - -- Resistência à censura -- Imutabilidade dos dados armazenados no blockchain do Bitcoin -- Transparência das transações - -Vamos passar rapidamente por cada uma dessas propriedades e, o mais importante, no final, precisaremos dar um passo para trás um pouco delas, já que o computador mundial as herda como uma espécie de sucessor do Bitcoin. - -**Em primeiro lugar**, imutabilidade dos dados. Claro, essa propriedade, do ponto de vista do dinheiro eletrônico, tem vantagens e importância significativas. Depois de enviar uma transação ou receber bitcoins, após um ou dois blocos, você começa a sentir gradualmente a imutabilidade dos dados no blockchain. Nos primeiros 15 minutos, você pode observar, usando um explorador de blockchain, como a transação deve se resolver. Você já a vê na rede, mas não está finalizada, o que significa que esses bitcoins ainda não estão em sua conta. No entanto, após vários blocos, há confiança de que esses fundos não desaparecerão de sua conta. Com o tempo, a probabilidade de os valores serem de alguma forma sobrescritos de sua conta se torna praticamente negligível, reduzindo praticamente a zero. Esta é nossa propriedade de imutabilidade de dados. Como é legal quando você pode compartilhar informações com o destinatário, enviar a eles um link para o explorador de blockchain, e não precisa obter nenhum papel ou documento do banco afirmando que você enviou um pagamento em uma determinada data e hora - esta é a segunda vantagem do Bitcoin que é muito útil na prática e provavelmente o benefício mais agradável ao comparar uma transferência bancária e uma transferência de Bitcoin. - -**Em segundo lugar**, transparência das transações. Praticamente não há medo ao usar o Bitcoin de que você se encontre em uma região do mundo ou conectado a um provedor de internet através do qual não possa realizar operações com a rede Bitcoin. Praticamente não há opções além de trancá-lo em um quarto escuro sem acesso à internet para que você não possa usar a rede Bitcoin. - -Estas três propriedades são, obviamente, muito importantes. Agora, para entender a pergunta "O que está no coração do computador mundial," precisaremos dar um passo para trás, nos abstrairmos e fazer um pequeno salto de fé, um salto, aproximadamente, 100 anos de volta para os anos 1930. -Em 1936, Alan Turing fez uma proposta à comunidade científica para resolver o problema de formalização e, na verdade, uma descrição mais qualitativa de um conceito como um algoritmo. Curiosamente, a partir da proposta de Alan Turing, surgiu a arquitetura e o desenvolvimento de toda a ciência da computação no futuro, mas ele de forma alguma buscou a ideia de criar um computador pessoal, e ele não sabia nada sobre data centers ou nuvens. Sua tarefa era fornecer uma maneira de definir um algoritmo no contexto das tarefas enfrentadas pelos matemáticos. É uma imagem fascinante ao longo de um século que a conquista da ciência da computação acaba sendo um subproduto de um problema bastante mundano entre os matemáticos. - -Vamos nos aprofundar no que Alan Turing propôs, sem mergulhar muito profundamente na teoria do algoritmo e no propósito para o qual ele sugeriu. Alan Turing propôs a máquina de Turing, que representa uma fita infinita (podemos chamá-la de células de memória para facilitar), percorrida por uma cabeça de leitura e escrita. Esta cabeça, posicionada sobre uma determinada célula, pode ler dados, aplicar algumas operações simples a eles e escrever novos valores. - -Hoje, quando você ouve frases como esta, pode parecer para você: "Bem, sim, é um disco rígido, um computador, ou algo assim." Isso está absolutamente correto. Esta descrição deu origem à primeira arquitetura de computador. No entanto, a principal tarefa da máquina de Turing era fornecer um meio de representar um sistema ou entidade capaz de realizar quaisquer cálculos formalizados. Pode-se imaginar uma caixa ou sala, até mesmo cheia de lâmpadas, na qual você insere seu cartão perfurado, cartão, ou transmite um sinal Bluetooth, e a máquina começa a funcionar, realizando operações simples que acabam resolvendo seu problema. Assim, a máquina de Turing é um mecanismo computacional universal que resolve principalmente a tarefa universal e essencial de fornecer um mecanismo através do qual qualquer cálculo simples ou, mais precisamente, qualquer cálculo formalizado pode ser realizado—cálculos que podem ser decompostos na linguagem da matemática. - -Dessa abordagem à resolução de problemas e à teoria dos algoritmos, surgiu o computador pessoal. A partir desta definição, em 2014, surgiu essencialmente o conceito de Ethereum como o primeiro computador mundial. Vamos descrever brevemente o que isso representa. Temos um conjunto de transações ou solicitações de computação como entrada. Essas solicitações vão para uma máquina computacional ou, se falarmos de sua essência teórica, uma “transição de estado”, a mudança real de estado. Lembra-se, há apenas alguns minutos, falei sobre a fita infinita e a cabeça de leitura movendo-se ao longo dela? Assim, a cabeça que atravessa esta fita altera efetivamente o estado de cada célula com a qual trabalha. Na saída, obtemos resultados. Não estamos falando sobre o efeito específico de escrever em uma célula, nem sobre quaisquer operações adicionais de armazenamento, apenas que, ao inserir um conjunto de dados ou lê-los da fita infinita, podemos aplicar um conjunto de regras formalizadas escritas em nosso dispositivo móvel. cabeça ao longo da fita. Depois de aplicar um conjunto de operações aos dados, obtemos valores de saída que podem ser registrados em uma célula ou transmitidos posteriormente por fios, e não apenas por via aérea, por fios, mas também possivelmente por outros meios no futuro. -É precisamente a função de transição de estado que está no cerne do computador mundial. É dessa definição de Alan Turing da máquina computacional para refinar a teoria do algoritmo que surge o conceito de algoritmo e, em princípio, não importa se é um computador pessoal ou um data center. Uma pequena adição, é claro, depois que a solução teórica para criar um computador foi encontrada, a tarefa finalmente se concentrou em encontrar sua forma de hardware. Portanto, não é surpreendente que quando falamos hoje sobre o computador mundial, nos refiramos a uma teoria que tem quase um século de idade. Pode-se dizer que foram necessários 100 anos para fazer a transição de uma descrição abstrata de um computador para sua implementação real na forma de servidores, seu smartphone de bolso ou o laptop em sua mesa. - -Em essência, a tarefa dos últimos 100 anos, após encontrar alguma solução no campo da matemática, foi precisamente dar-lhe uma forma física, encontrar o conjunto de transistores que poderiam ser colocados em uma placa, aprender como soldá-los todos, reduzir os processos do processador de computação, e assim por diante. Não é de admirar que a teoria de 1936 encontre aplicação em 2014 para as ideias do computador mundial. Estes 100 anos foram ocupados, em geral, em outra área—o campo de implementação física deste computador. - -Quando o planeta se tornou saturado, e tínhamos computadores pessoais, máquinas computacionais até mesmo dentro de dispositivos inteligentes, e quando os centros de dados começaram a crescer no planeta, a questão mudou da solução de hardware para como a máquina computacional poderia parecer não no nível físico ou matematicamente abstrato, mas em algum nível não físico, talvez metafísico, em relação ao planeta inteiro. No entanto, a base permanece a mesma: a função de transição de estado e nada mais. - -Como uma adição ao que foi dito, para que não fiquemos apenas na teoria de 1936 e não apenas quebremos as correntes dos maximalistas do Bitcoin, abra o white paper do Ethereum. Lá você encontrará a frase crucial "máquina Turing completa"—esta é a principal definição do Ethereum. Uma máquina Turing completa significa que o Ethereum pode lidar com quaisquer operações simples descritas em uma linguagem formal, operações que são possíveis. Este não é um conjunto de operações que o Ethereum pode fornecer como uma calculadora ou uma calculadora sofisticada para cientistas. Em vez disso, é uma abstração dentro da qual é possível carregar quaisquer variações possíveis, manipulações com variáveis, constantes, adições, cálculos com quaisquer estados, e assim por diante. Você não encontrará nada diferente do que Turing propôs na década de 1930 no conceito do Ethereum. Você encontrará uma implementação de engenharia de como fazê-lo. Se avançarmos e abrirmos o wiki do Polkadot, é um pouco mais desafiador encontrar. Para isso, você deve usar a pesquisa, digitar "Transição de estado," e nos resultados da pesquisa, encontrar várias menções de que o Polkadot garante nada além da transição de estado. Nem o armazenamento de dados na blockchain do Polkadot nem quaisquer serviços adicionais—apenas a mais pura mudança de estado causada por transações recebidas e processadas pelos validadores do Polkadot. Agora, vamos tentar aprofundar mais nisso. - -Agora, vamos adicionar um pouco a este diagrama linear para passar da teoria dos anos 1930 para as realidades de hoje, onde descrevemos a imagem abstrata do computador mundial. Para fazer isso, vamos considerar um exemplo com Alice e Bob. Alice, estando no escritório, quer iniciar o robô aspirador de pó de Bob em casa para limpeza. Se olharmos para os conceitos de hoje de como a ligação entre a aplicação móvel de Alice e o robô aspirador em casa de Bob é implementada, você verá aproximadamente a seguinte imagem: a aplicação móvel de Alice gera uma transação em algum lugar na nuvem onde os cálculos ocorrem, e a saída desses cálculos são os valores de saída que efetivamente se transformam em um comando para iniciar o robô aspirador. Seria útil para nós, do campo da robótica e da Robonomics como conceitos no mundo do web3, entender que na nuvem, há um gêmeo digital deste robô, e seu estado é alterado. Podemos, em geral, não ir tão longe e parar no fato de que Alice envia uma transação para a nuvem, e a nuvem, tendo realizado todos os cálculos e manipulações necessárias, gera um comando para iniciar o robô aspirador de pó de Bob. - -Neste esquema de hoje, existem várias questões principais: se você estivesse interagindo com um computador físico na sua frente ou estivesse em uma sala com o robô aspirador de pó, você se aproximaria, pressionaria um botão físico e o colocaria em movimento. O que muda quando em vez de setas, não há um acionamento manual, mas uma camada de comunicação, a internet? Uma infinidade de perguntas surge sobre como podemos conectar com segurança Alice e esta nuvem, como podemos ter certeza de que Alice tem acesso a esta nuvem. A questão da rede de comunicação surge - como podemos proteger Alice de alguém mais abordando seu robô aspirador de pó, solicitando, por exemplo, para fazer um vídeo de todo o seu apartamento em vez de limpar, e um aspecto semelhante surge: por que o robô aspirador de pó ouviria esta nuvem com tanto respeito e integridade? Por que o robô confiaria plenamente nesta nuvem? - -A abordagem de hoje com a arquitetura de soluções em nuvem que conectam seu telefone celular, ou melhor, a aplicação em seu telefone celular, e alguma tecnologia do outro lado, dispositivos inteligentes, é baseada nos significativos avanços na construção de computadores físicos. Os computadores nos data centers de hoje são algo extraordinário - o nível dos processos técnicos é simplesmente incrível. No entanto, do ponto de vista das tecnologias de comunicação, quando você já tem alguma experiência trabalhando com aplicações de internet, parece que em algum lugar lá, no nível de uma escola técnica ou faculdade, ou talvez não bem ao lado de como os desenvolvedores, arquitetos dos processadores Intel estão resolvendo suas tarefas agora. Quase todas as perguntas sobre conectar Alice a Bob se resumem exclusivamente a emitir um certificado de acesso específico em um endereço IP específico de ambos os lados, ligando-os juntos, e a nuvem possuirá e fará qualquer coisa. O mais importante neste esquema é fazer qualquer coisa, ou seja, realizar transições de estado ou operações que ocorrem sem garantias de que para Alice, para Bob, essas serão executadas de acordo com a mesma lógica. Ninguém pode dizer nada sobre como a nuvem é organizada. É uma caixa preta onde os cálculos não são formalizados, e nem Alice nem Bob sabem como o cálculo é realizado. - -O lugar onde você deve confiar plenamente - confiando na reputação da empresa que possui esses data centers, e você deve confiar completamente nos provedores de acesso à rede que emitem um certificado e verificam a segurança da sua conexão. Na verdade, se falarmos sobre o boom das aplicações de internet, este é um grande problema. O problema é que na verdade existem algumas cidadelas localizadas em jurisdições específicas que operam em uma pilha de tecnologia relativamente simples para conectá-lo o mais facilmente possível à nuvem, que representa uma caixa preta. A insatisfação com esta abordagem realmente desperta interesse no computador mundial porque ele organizará as coisas de forma um pouco diferente. E como? Vamos tentar complementar o esquema que desenhamos com a cor azul agora. - -Então, para complementar nosso gráfico linear, nosso diagrama linear de ambos os lados, vamos dar uma olhada nas descobertas que têm significado na ciência da computação e que estão diretamente ou indiretamente relacionadas às conquistas do mundo do web3. - -Vamos começar com Leslie Lamport em 1976. Aqueles que participaram das minhas apresentações, palestras de 2015-2020, provavelmente se lembram de quantas vezes eu gostava de mencionar que antes da invenção do Bitcoin, os problemas relacionados à criação de uma rede descentralizada foram bem descritos por Leslie Lamport em 1976 no problema dos Generais Bizantinos. A solução para o problema dos Generais Bizantinos está no cerne dos algoritmos Tendermint PBFT e de todos os algoritmos síncronos usados desde a Rede Aberta do Telegram até o Tendermint, o Cosmos e outros projetos de blockchain que, consequentemente, seguiram o caminho dos Generais Bizantinos. - -A segunda conquista interessante em tecnologias da internet são os rastreadores de torrent. Não temos nenhum nuvem específica, já apagada, ou uma caixa preta que armazena arquivos. Ainda assim, usuários do mundo todo, trocando arquivos torrent, podem baixar exatamente o arquivo que estavam procurando, e isso funciona sem substituição de dados. Ninguém envia vírus para você substituindo o arquivo. Às vezes pode haver um vírus embutido no arquivo, mas a ideia de receber um link para baixar e realmente baixar algo diferente do que foi oferecido para baixar usando a tecnologia torrent é impossível. Processos semelhantes existem na rede IPFS, um armazenamento orientado a hash - uma forma de conectar vários participantes com confiança na informação que você transmite sem usar uma caixa preta, precisamente. - -E é claro, o Bitcoin. O Bitcoin, como um exemplo mais coletivo, tenho certeza de que Satoshi Nakamoto estava bem ciente da solução de Leslie Lamport para o problema dos Generais Bizantinos e, é claro, observou como a ideia dos rastreadores de torrent estava se desenvolvendo. Se não enfatizarmos as propriedades que o blockchain do Bitcoin obteve, como imutabilidade, transparência de transações e, até certo ponto, resistência à censura, então o Bitcoin é um serviço de internet que realiza transição de estado, algumas mudanças de estado com base em transações sem um nó central. É um exemplo de uma construção coletiva de uma rede global na qual há uma função de transição de estado constantemente funcionando na qual podemos confiar, e para garantir confiança, nem jurisdições nem endereços IP específicos nem as tecnologias mais primitivas usadas e ainda usadas hoje na construção de serviços em nuvem são usadas. A imagem coletiva do Bitcoin permitiu sobrepor o conceito geral dos anos 1930 de uma máquina completa de Turing na existência de uma função abstrata universal para tudo. - -Então, o que precisamos adicionar a esse esquema para visualizar um computador global? Na base, fornecemos validadores de consenso ou, em geral, validadores. Pode-se dizer que a "camada de disponibilidade de dados" é provavelmente uma frase que muitos ouviram em torno do Ethereum este ano, e também se tornou uma vantagem do Bitcoin. No entanto, no esquema de organização do computador global, esta é uma peça do quebra-cabeça e, como mencionei, complementa a função principal que está no cerne do computador global - a função de transição de estado universal. Voltando ao início, a analogia do coração no corpo humano é interessante aqui. Não é uma coisa pensante, de fato. Sim, não gera, você poderia dizer, o cérebro é muito mais importante. Ainda assim, a vida é impossível sem o coração. Ele simplesmente bombeia sangue. Da mesma forma, no cerne do computador global, todas as transações são bombeadas através da função de transição de estado, resultando em saídas. Mas para organizar isso em uma rede de internet distribuída sem a necessidade de confiar em alguma cidadela, precisamos complementar a imagem com dois componentes. - -O primeiro componente é um conjunto de computadores ou nós que estão prontos para executar a transição de estado. Quando você envia transações, elas não vão apenas para cá; elas vão para os validadores. Os validadores realizam cálculos, lembrando o que eu já mencionei nesta conversa em curso. Eles pegam sua transação, recuperam informações do blockchain sobre como processar essa transação, aplicam esse processamento e depois coordenam com outros validadores o fato de terem executado corretamente a transição de estado. O núcleo do computador global, em termos de proteção contra situações em que Bob, o robô aspirador, recebe um comando correto de Alice no escritório, não se baseia em confiança, mas em verificação cruzada por uma multidão de participantes da rede com base em informações disponíveis do blockchain. Não apenas do blockchain, aliás. É complexo, e não vamos nos aprofundar nisso agora, mas essencialmente, uma multidão de validadores se revezam observando e têm incentivos, alguns incentivos internos dentro do protocolo, para evitar que a máquina universal e capaz de calcular qualquer coisa execute essa operação incorretamente. Um validador processa efetivamente transações que entram no computador global, e outros validadores ajudam a evitar situações em que um dos validadores realizou um cálculo incorreto. Quanto melhores forem os algoritmos de consenso dos validadores, melhor proteção teremos para a função de transição de estado ou, em outras palavras, o coração do nosso computador global. - -A segunda parte deste esquema é o serviço de disponibilidade de dados - o que sempre chamamos de banco de dados no Bitcoin ou Ethereum. Na verdade, teremos que abandonar esse conceito porque há uma mudança fundamental na arquitetura de todos os projetos, e para aqueles que visam especificamente o computador global, essa mudança é mais crucial. Para um exemplo simples do presente: existem várias implementações de redes de Camada 2 em cima do Ethereum - como Arbitrum, Optimism e outros. Se você começar a analisar suas principais diferenças e como elas operam, verá que, em alguns casos, uma rede L2 no Ethereum envia uma quantidade maior de dados, exclusivamente do blockchain de primeira camada, ou seja, do blockchain do Ethereum. Todas as peças de quebra-cabeça necessárias para confirmar que a computação na camada L2 estava correta podem ser encontradas no blockchain Ethereum de primeira camada. Por outro lado, outras abordagens sugerem que além da primeira camada do Ethereum, algo mais é armazenado que precisa ser encontrado para provar a correção das transações. Portanto, agora, diante de nossos olhos, há novamente uma questão de melhoria, mas especificamente de uma arquitetura onde as transações ocorrem à esquerda, no meio, temos o coração na forma da função de transição de estado, validadores e seu consenso permite a execução correta dessa transição de estado. Mas também há uma questão de disponibilidade de dados, que é necessária para garantir tanto a verificação cruzada quanto, essencialmente, a existência do próprio serviço. Algumas abordagens e padrões para criar L2 em cima do Ethereum hoje fazem a pergunta: "E se uma determinada camada L2 perder os dados que não armazena dentro do blockchain principal do Ethereum?" - -Vamos complementar essa imagem com a estrutura do Polkadot. O Polkadot tem dois mecanismos de consenso: o consenso "babe", responsável pelo consenso no nível de parachain e é rápido, e o consenso "grandpa", que é mais lento e verifica tudo posteriormente. Portanto, se você se aprofundar no artigo da wiki intitulado "O Caminho de um Bloco na Rede Polkadot", encontrará abreviações interessantes. Após alcançar o consenso "babe" no nível de parachain, o consenso "grandpa" introduz o conceito de "prova de validade e disponibilidade de dados." Aprofundando-se, você encontrará o termo "chunk" de pedaços redundantes de informação, inspirado nas tecnologias CD RW dos anos 90 e 2000. Isso aborda a questão de como preservar informações quando a confiança absoluta em uma entidade específica na rede não é viável. O conceito de "chunk" de informações redundantes é um desses padrões. - -Resumindo, no cerne está uma função abstrata que permite qualquer computação e foi descrita por Alan Turing na década de 1930. O computador pessoal, essencialmente um efeito colateral de um problema matemático, surgiu do trabalho de Turing. As tecnologias primeiro aplicadas no Bitcoin, como o consenso que permite que a rede exista sem um centro de dados específico ou entidade responsável pela correção dos dados, formam um mecanismo funcional. Vai além de fornecer um serviço específico para transferências de dinheiro eletrônico; nos permite auditar e controlar qualquer computação na rede. Além disso, enfrentamos o desafio de garantir a disponibilidade de dados, pois não é a preocupação principal do computador global. A tarefa do computador global está em seu cerne, executando computações, gerenciando transições de estado e realizando cálculos, enquanto os dados neste esquema servem como uma peça de quebra-cabeça que é mais necessária para apoiar a parte inferior. Assim, este esquema geral pode ser visto como uma ilustração abstrata e generalizada da estrutura do computador global, onde a função de transição de estado está em seu cerne. diff --git a/courses/pt/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md b/courses/pt/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md deleted file mode 100644 index 94db8c8d68..0000000000 --- a/courses/pt/learn/world-computer/the-path-of-a-new-block-of-information-in-the-world-computer.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "Parte 4: O Caminho de um Novo Bloco de Informações no Computador Mundial" -description: A quarta e última parte de nossa palestra é "O Computador Mundial em Sua Casa." Depois disso, começarei a gravar screencasts para a parte prática das sessões. -metaOptions: [Aprenda] -defaultName: "World computer in your home" ---- - -A quarta e última parte de nossa palestra é "O Computador Mundial em Sua Casa." Depois disso, começarei a gravar screencasts para a parte prática das sessões. - -Agora vamos tentar resumir quase toda a teoria que cobrimos até agora em termos de um processo. O processo que descreve o caminho de um bloco de informações no computador mundial. Vamos começar novamente retornando ao tema do web3 e ao conceito de blockchain. A frase "bloco" ou "bloco de informações" pode ser considerada idêntica ao se afastar dos últimos 10 anos e adotar uma teoria mais geral, como explorado nas partes anteriores das palestras. O conceito de um "bloco de informações" se alinha com o web3, mas não necessariamente com blockchain. Mesmo sem projetos de criptomoeda, precisamos entender que ao formar a teoria do computador mundial sem fazer referência à formação de blocos de informações, atualmente é desafiador imaginar outros modelos. Portanto, consideraremos o caminho de um bloco de informações em todo o computador mundial, não porque seja blockchain, mas porque, por enquanto, não há outras maneiras de conceituar a existência do computador mundial al��m de processar informações em porções específicas. - -Bloco de informações = bloco no web3, mas sem blockchain e sem influência de qualquer projeto de criptomoeda. Atualmente, devemos considerar a formação de blocos de informações ao discutir a teoria do computador mundial. Agora, vamos passar para o primeiro ponto. Tentei encontrar analogias próximas da vida cotidiana para ajudar a ilustrar o caminho de um bloco de informações no computador mundial. A analogia que escolhi é o movimento de um ônibus em uma rota. Nosso primeiro ponto de encontro é a estação de ônibus. - -Marquei transações em rosa como pequenos pontos. Vamos imaginar uma parada de ônibus típica onde as pessoas se reúnem, esperando por um ônibus que opera em um horário. Se não considerarmos a agitação das grandes cidades, onde os ônibus sempre estão atrasados, todos no mundo geralmente sabem que o trem da vila A para a vila B sempre chega por volta das 7h15. As transações que os usuários desejam enviar para o computador mundial se reúnem em uma determinada parada de ônibus e esperam o ônibus chegar. - -Assim é como nosso bloco é formado. Imagine: o ônibus chega, e cada pessoa começa a embarcar um por um, ocupando seus assentos. O ônibus então segue seu caminho. No nosso caso, o bloco de informações supera a primeira fronteira. Nossas transações, de alguma forma, se estabeleceram no ônibus e superaram a barreira inicial. Estarei usando terminologia principalmente do Polkadot, e a terceira parte deveria ter melhor explicado o conceito do computador mundial na comparação entre Ethereum e Polkadot. Minha opinião pessoal, e provavelmente a maioria dos engenheiros concordaria hoje, é que a representação de um computador mundial heterogêneo e multicêntrico é melhor implementada no Polkadot. No entanto, ainda passaremos pelos termos herdados do Ethereum, mas no final desta parte da palestra. - -Qual é a linha que separa o ponto de ônibus do movimento adicional do ônibus? Essa linha representa os coletores da rede - participantes nos nós da rede que coletam transações. Você pode pensar em um coletor não como um motorista de ônibus, mas como um controlador que fica no ponto de ônibus. Em outras palavras, esse controlador verifica se você tem um bilhete quando entra no ônibus. Ele não verifica novamente no banco de dados quão válido é o bilhete, mas olha para os parâmetros básicos do bilhete e verifica se tudo parece bem. Na realidade, os coletores realizam quase todos os cálculos necessários, verificando o número do bilhete e outros dados, mas não são obrigados a garantir que a verificação seja feita corretamente. Portanto, os coletores são controladores que permanecem no ponto de ônibus, garantindo principalmente o embarque de passageiros, a ocupação de assentos e o envio do ônibus ao longo da rota. - -Além da fronteira desenhada, entramos na primeira área de validação onde estão localizados os paravalidadores. Estes são validadores de todo o ecossistema, de toda a rede, especificamente designados por um certo tempo para verificar cada transação e assim realizar cálculos reais no computador mundial. Nosso bloco de informações ainda não totalmente formado é marcado com uma linha tracejada. Ainda é um bloco de informações candidato, pois não passou por nenhuma verificação real. O coletor, que coletou o bloco de informações e verificou as transações na entrada, não participa de forma alguma na segurança cibernética das computações realizadas. Sua tarefa é apenas acomodar todas as transações e formar o primeiro bloco. Nesta fase, a transformação de um candidato em um bloco real de informações começa. - -Dividi em três partes, mas esqueci mais uma. Vamos considerar quatro partes deste bloco candidato. A parte superior, conhecida pelos usuários de várias aplicações web3 como o cabeçalho ou cabeçalho de bloco, é a quintessência, a peça de informação mais popular circulando e refletida do explorador de blocos para os clientes de console de todos os nós de mineração, staking, e assim por diante. O cabeçalho é um elemento-chave do bloco, mas é praticamente formado na última etapa neste ponto. - -Primeiramente, temos nossas solicitações reais para transições de estado ou computações. Há uma lista de mudanças que precisam ser feitas: converter A para A', B para B', C para C', aplicando um conjunto de algoritmos a eles. Para isso, agora construiremos imediatamente outra fronteira e iremos além dela para realizar esta parte do trabalho, e então apenas prosseguiremos além dela. Já na fase de preparação do bloco, temos que atravessar a segunda fronteira dentro do computador mundial para ir aos algoritmos que precisam ser aplicados para preparar o bloco. Como mencionei antes, teoricamente, o controlador no ponto de ônibus aqui faz o mesmo, mas eu não daria muita atenção a isso. A fase de preparação do bloco, especialmente quando falamos de exemplos simultaneamente do Polkadot e do Ethereum como um computador mundial, eles diferem ligeiramente e nos mostram a insignificância das verificações nesta fase, porque é precisamente na segunda etapa, após passar a primeira fronteira e receber o bloco de informações dos coletores, que os cálculos dignos de atenção deste computador mundial começam. - - -Para realizar esses cálculos, o validador, nesta fase, só pode fazê-lo recorrendo à cadeia de retransmissão, ao banco de dados central, e retirando de lá os algoritmos do tempo de execução. No caso do Ethereum, eram as mesmas máquinas virtuais no conceito arquitetônico anterior, que poderiam ser aplicadas, então não havia necessidade de ir a nenhum lugar. Quase todos os nós tinham uma cópia completa dos algoritmos que poderiam ser aplicados. Mas em termos de uma rede heterogênea, onde cada segmento ou cada cadeia individual pode ter seu próprio conjunto de algoritmos, um validador, antes de realmente executar todas as transições, cálculos obtidos na forma de um bloco candidato do coletor, deve consultar. Deve consultar a cadeia de retransmissão, consultar o blockchain principal na rede e retirar de lá os algoritmos necessários, aplicá-los e realizar transições de estado. - -Durante a execução dos cálculos, uma árvore de Merkle é formada simultaneamente, e não vamos nos deter nisso porque as árvores de Merkle não são tão complicadas do ponto de vista da ciência da computação. Ainda assim, percebo que para entender como aplicá-las em engenharia e na arquitetura de um projeto, como elas são aplicadas, não apenas lendo na Wikipedia, você precisa quebrar um pouco a cabeça, imaginar exemplos. Neste exemplo, não vamos nos aprofundar muito, mas acho que para aqueles que já estão familiarizados com algumas definições básicas, leram sobre árvores de Merkle, ficará um pouco mais claro sobre como e em que momentos outra árvore de Merkle é montada. A árvore de Merkle é formada quando realmente realizamos cálculos e valores de saída aparecem. Esses valores de saída são empacotados em um formato de árvore binária, então a adição é realizada entre eles na linguagem da ciência da computação, e o nó superior atinge o cabeçalho. Vamos denotá-lo com uma letra maiúscula "H." É um aspecto pequeno e agradável considerar tais esquemas. - -Neste esquema, podemos observar como o cabeçalho do bloco está realmente relacionado com os cálculos realizados internamente. Vamos olhar novamente - nosso bloco candidato veio do coletor. Há um conjunto de transações que precisam ser executadas, realizar cálculos. O validador passou por outra fronteira interna, mais uma, atrás dos algoritmos, os aplicou e registrou todos os resultados no nível mais baixo da árvore de Merkle. Os outros nós são essencialmente sistêmicos. Eles não vêm de nenhum dado; eles não vêm de lugar nenhum. No segundo nível, o nó não vem de nenhuma informação. Ele é obtido somando valores nesses dois nós, e quando subimos com você, obtemos apenas a raiz desta árvore, que é suficiente para proteger todos os valores de saída. Não obteremos o mesmo cabeçalho se alterarmos qualquer um desses cálculos. E esta é uma das características mágicas e simples, como o armazenamento orientado a hash, de como podemos proteger um bloco inteiro de informações falando apenas sobre um cabeçalho. Portanto, os cabeçalhos são tão importantes e desempenham um papel fundamental mesmo em arquiteturas quando fazemos a transição de uma cadeia ou de uma máquina virtual para muitas combinadas na rede. É suficiente para nós garantir a segurança de armazenar cabeçalhos para ter certeza de que todas as transações que foram executadas na fase de preparação do bloco foram executadas corretamente e não podem ser substituídas. - -E um campo ainda está vazio. No processo de preparação do bloco de informações, é o campo do autor, ou seja, o validador que realmente realizou todas as alterações, preparou a árvore de Merkle e registrou o cabeçalho. Como estamos considerando um exemplo com o ônibus se movendo ao longo da rota a partir da parada, vamos chamar o validador de "controlador" que entra no ônibus, passa por cada assento, se aproxima de cada pessoa, verifica o que está escrito em seus bilhetes, faz alguma marca, valida e, consequentemente, coloca sua assinatura. O controlador, por exemplo, número 134, o que significa, naturalmente, que cada validador tem um identificador único, seu endereço, e também o renomeamos de forma única aqui. - -E parece que neste ponto poderíamos ter sombreado e tornado nossos limites de bloco mais ousados, mas não, e esta é uma das mudanças interessantes que ocorreram nos últimos 5 anos em termos de ecossistemas descentralizados, ou seja, a mudança do proof of work. Quando os validadores da rede, naquela época mineradores, nunca precisavam coordenar nada entre si. Você produzia um bloco e o enviava para a rede e seguia em frente. Na verdade, não era um consenso de consentimento acordado. Era um consenso de acordo óbvio com o fato que havia ocorrido. O que é interessante nas mudanças quando a arquitetura se torna mais complexa, e nos aproximamos de um computador virtual real, é que em cada estágio, a conectividade dos participantes que garantem a segurança e a produção de blocos aumentou. Porque, na verdade, ninguém que arrisca sua participação, aquele que garante essa segurança e deseja ganhar processando suas transações, tem algo a perder, ao contrário do proof of work. No proof of work, você comprou o equipamento, sim, investiu dinheiro nele, gastou eletricidade, mas na verdade não há proteção contra o fato de que você pode atacar a rede com seu poder, o mesmo ataque de 51%, onde alguém com muitos mineradores pode tentar reescrever a cadeia. - -Agora estamos falando sobre a prova de participação, onde um depósito já foi feito, e se você fizer algo errado, uma parte será retirada dele, como uma penalidade. Todos os nós, absolutamente, em todas as arquiteturas que atualmente observo, mecanismos para mensagens entre validadores começaram a aparecer rapidamente na fase de preparação do bloco. No Polkadot, não é diferente. Qualquer validador de uma parachain separada que coleta um bloco conhece os endereços ou já estabeleceu contato com outros 15-63 validadores que estão com você nesta época, em algum período temporário, como validadores, e cada um deles aleatoriamente se torna um produtor de bloco em algum momento. Mas ser designado como produtor não nega um componente muito importante deste processo. Você não para de interagir com os outros participantes. Sempre há um grupo de validadores designados para uma época específica, para um determinado intervalo de tempo, para validar uma parachain específica ou segmento do computador mundial. Independentemente de você ser um validador-controlador especificamente designado para produzir o próximo bloco no computador mundial deste segmento, você ainda mantém contato com os outros validadores e tem contato constante com eles. - -Por que esse contato constante é necessário? Acontece que é bastante simples. Não queremos, ao nos movermos para a parte interna, ter medo ou preocupação de que tenhamos realizado alguma das operações incorretamente. Por mais surpreendente que possa parecer, é benéfico para qualquer validador, antes de prosseguir, primeiro recorrer aos seus colegas designados para validação e pedir a eles para verificar novamente os cálculos. Essa verificação é informal, então mesmo que não usemos nenhum registro em um banco de dados imutável de solicitações de verificação e os resultados dessa verificação, o controlador designado, após falar com o grupo de validadores, ainda coleta respostas adicionais de todos os validadores designados para essa paracadeia ou segmento de rede. Juntamente com confirmações adicionais, o controlador avança para a próxima etapa. Mas mesmo aqui, não é tão simples. Nesta etapa, outro processo precisa ser realizado. É importante notar que nesta etapa, nosso bloco de informações ainda é um bloco candidato, e o acerto de informações já está ocorrendo no armazenamento. Nem no final, nem depois de termos criado e selado o bloco e o anexado com um arquivador na parte final, ou seja, aqui, nesta parte intermediária onde todos os cálculos são realmente realizados, as informações são salvas no armazenamento. Portanto, nosso controlador, além de falar com seus colegas, também garante o armazenamento de dados em algum armazenamento, o que também é bastante metafísico porque no momento em que você se comunica com outros validadores, esse armazenamento é preenchido. Como isso é verificado? Precisaremos avançar para a próxima etapa. - -Em resumo, para completar a parte do meio, vamos olhar novamente. Ainda temos apenas um bloco candidato no início. Sim, todas as transações são calculadas aproximadamente em algum lugar no ponto de ônibus, todos já ocuparam seus assentos de acordo com seus bilhetes. Passamos a primeira fronteira, que é essencialmente o contato direto estabelecido entre validadores e coletores de blocos. No Ethereum e no Polkadot, esses esquemas são ligeiramente diferentes agora. Mas tudo o que acontece no lado esquerdo no início não fornece cibersegurança para dados e cálculos. É apenas preparação. Uma vez que passamos e entramos no ambiente da atenção dos validadores, o trabalho com o bloco de informações no computador mundial começa. Um validador selecionado aleatoriamente, em nosso caso, com uma rota de ônibus - um controlador, na verdade passa por cada um dos assentos, verifica o bilhete, verifica e realiza todos os cálculos que foram feitos, reúne todas as informações em uma árvore. O nó raiz resultante desta árvore se torna o cabeçalho do bloco proposto. O validador que realmente realiza todos os cálculos com este bloco de informações se comunica com os outros participantes que desempenham uma função semelhante para a mesma rota em um intervalo de tempo indefinido. E enquanto se comunica com eles e pedindo-lhes para verificar todos os cálculos, na verdade estamos preenchendo um certo armazenamento de dados na rede. Não é um armazenamento físico específico; não há um endereço IP específico, nenhum disco rígido específico no qual todos carregam através de algum esquema de VPN ou login e senha, é claro que não. No processo de comunicação com outros validadores, os dados permanecem em suas máquinas locais, e esses dados participarão posteriormente da transformação desse candidato em um novo bloco de informações. Na essência, o bloco selado que será liquidado na cadeia de retransmissão é coletado. Montamos um bloco. Todos os metadados em torno dos cálculos já estão preenchidos, o que significa que podemos tentar avançar para a próxima fronteira. - -Neste momento, vamos aprofundar na passagem da próxima fronteira. O aspecto mais crucial na fase final torna-se o cabeçalho do bloco. Estamos menos preocupados com a execução de cálculos; podemos simplificar nossa perspectiva aqui, já que os cálculos podem variar com base na arquitetura, seja Ethereum ou Polkadot. O ponto chave é que, na fase intermediária, a partir do que observo na teoria e prática da implementação do conceito de computador mundial, a maioria dos cálculos acontece em um nível intermediário. O último nível permanece apenas para executar verificações essenciais. Quase todas essas verificações em uma arquitetura multi-chain estão relacionadas à concatenação ou fusão de cabeçalhos de bloco em um só bloco. - - -Na parte final de nossa jornada, o elemento mais importante no bloco de informações do computador mundial torna-se a pedra angular - o cabeçalho. O segundo componente é mais sobre meta-informação. Se o cabeçalho é o resultado real de todos os cálculos, a meta-informação adicional transmitida consiste em recibos e assinaturas dos validadores que participaram da fase intermediária desse processo. Na fase final, podemos visualizar a imagem completa apenas como a montagem da mesma árvore, não como uma lista de transações. Na parte final da cadeia de retransmissão, o aspecto crucial é a montagem de cabeçalhos de muitos processos semelhantes, mas ligados a diferentes segmentos do computador mundial, diferentes parachains. - -Cada parachain, cada conjunto de validadores - discutimos um exemplo, mas na realidade, tais preparações de bloco para parachains acontecem 30-40 vezes. O número de slots de parachain ou o número de redes L2 no Ethereum resultará em um número semelhante de processos com uma arquitetura semelhante. No entanto, na fase final, veremos uma imagem aproximadamente idêntica em todos os lugares - como o cabeçalho do bloco será formado a partir de uma multidão de cabeçalhos de outros blocos. Neste processo, precisamos introduzir mais uma entidade e voltar através da fronteira para a segunda fase. - -Finalizadores. Na verdade, eles também são validadores, mas validadores da cadeia de retransmissão. Na arquitetura Polkadot, temos mil validadores divididos em dois grupos. O primeiro, um grupo muito pequeno, é responsável apenas pela formação do cabeçalho do bloco e um novo bloco composto pelos cabeçalhos dos blocos do Estado dos Estados. O segundo grupo - validadores de parachain - é ainda dividido em muitos subgrupos, mas este grupo é chamado de validadores de parachain. Nas redes L2 acima do Ethereum, essa história eventualmente ganhará mais compreensão, mais denominadores. Por enquanto, vamos nos concentrar na arquitetura Polkadot. Finalizadores, além de verificar um conjunto adicional de meta-informações e re-verificar um validador com um ID específico, escolhido aleatoriamente para gerar este bloco de todos os blocos, também ajudam a re-verificar as meta-informações, verificar e montar todos os cabeçalhos em um só. É um pouco complexo, sim, se olharmos para isso a partir da perspectiva da montagem da árvore. - -Além disso, na arquitetura do Polkadot e no Ethereum com as últimas mudanças, ocorre uma verificação de disponibilidade de dados. Para isso, os finalizadores visitam os validadores de parachain e tentam solicitar informações reais sobre cada bloco armazenado na rede. Se eles receberem dados de pelo menos 1/3 dos validadores, usando tecnologia que permite o armazenamento redundante de informações, e posteriormente, se alguém perder, um, dois ou três validadores ainda podem restaurá-lo, há um limite crítico em 1/3. Se 1/3 dos nós responderem e disserem que temos dados sobre o bloco sendo produzido, os finalizadores informam ao bloco que ele já é um bloco de informação totalmente formado, que todos os cálculos foram feitos corretamente, que já pegamos o cabeçalho deste bloco e o combinamos com cabeçalhos de outras partes da rede. Já formamos o cabeçalho principal de toda a rede. Depois disso, os finalizadores colocam muitas marcas de verificação no bloco final, que combina todos os cálculos realizados. - -Atualmente, esta é a situação do ponto de vista do ecossistema heterogêneo de várias cadeias mais implementado em termos de engenharia, que é o Polkadot. É o ecossistema heterogêneo de várias cadeias mais implementado em termos de engenharia, não muito distante do Ethereum. Gostaria de focar na comparação, e se alguém estiver interessado em entender como os blocos de informação fluem no Ethereum com redes L2, você pode tentar fazer isso agora. Voltarei a esta questão quando alguns elementos do Ethereum, em termos de heterogeneidade e aspectos de várias cadeias, estiverem concluídos. Pode levar 1-2 anos, e então podemos construir tal imagem. No entanto, podemos geralmente aceitar um esquema com três estágios principais: - -**1. Formação de um candidato para o bloco de informações:** - - Nesta etapa, o candidato inicial para o bloco de informações é formado. - - -**2. Execução de todos os cálculos, armazenamento de dados, disponibilidade de dados, rechecagem com outros nós, garantindo que todas as transições de estado sejam realizadas corretamente de acordo com algoritmos específicos e armazenando esses algoritmos na cidadela principal:** - - Esta etapa envolve a execução real de cálculos, salvando dados em camadas específicas, garantindo a disponibilidade de dados, rechecando com outros nós para confirmar que todas as transições de estado estão de acordo com algoritmos armazenados em algum lugar na cidadela principal. - - -**3. Finalização, que não rechecará os cálculos, mas verificará as meta-informações, como essas meta-informações são armazenadas. Em seguida, montará o bloco final, que é o estado dos estados, e o liberará como um bloco de informações comum para toda a rede multi-cadeia segmentada:** - - A etapa final envolve a verificação das meta-informações, verificando como essas meta-informações são armazenadas, montando o bloco final (estado dos estados) e liberando-o como um bloco de informações comum para toda a rede multi-cadeia segmentada. - - -Neste ponto, podemos dizer que nossas informações estão salvas. Elas passaram pelo coração, o coração executou sua transferência de dados corretamente e já podemos usar os valores de saída. Alguns os usarão para abrir um apartamento comprado com um contrato inteligente com uma fechadura inteligente, enquanto outros podem exibir seu NFT, acabado de receber por 10 ethers. - -Em geral, é mais ou menos assim que funciona. Isso conclui a parte teórica. Acredito que tenha levado cerca de 2 horas e, à nossa frente, estão as sessões práticas que estarei gravando ao longo dos próximos meses. Elas nos ajudarão a entender os dados observados na janela do console, aplicações descentralizadas, exploradores de blocos, onde gradualmente entenderemos como todos esses números e letras teóricos realmente se parecem na implementação usando o Polkadot como exemplo. Também começarei a colocar a mão na massa com implementações no nível L2 usando um dos frameworks conhecidos para construir L2. Obrigado a todos que estiveram assistindo. diff --git a/courses/ru/learn/school-2024-iot-vs-ai/overview.md b/courses/ru/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..90ef7a95e6 --- /dev/null +++ b/courses/ru/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT опаснее чем искусственный интеллект +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Я предлагаю вам прочитать короткую научно-фантастическую историю "Лаборатория Джонни", которую я написал с целью добавить еще одну переменную в уравнение вопросов о интеграции искусственного интеллекта в различные аспекты нашей жизни. + + + + + + + +**Примечание редактора:** Первую главу работы Сергея "Побег из Черного Зеркала" можно найти [здесь](/learn/escape-from-black-mirror/overview/) + + + +## Побег из Черного Зеркала, Глава 2 + +### Часть 1: Встреча с Джонни + +Почти все молодые люди моего поколения знакомы с историей лаборатории Джонни. История не сохранила его фамилию или детали его жизни, но именно в его небольшой комнате, где Джонни собирал самодельных роботов, произошло первое значимое преступление против человечества искусственным интеллектом. + +Событие в лаборатории Джонни радикально и быстро изменило жизнь всех развитых стран. Правительственные указы, основанные на страхе общества перед агрессией искусственного интеллекта, стали нормой. Этот, хоть и кинематографический случай, привел к неуправляемому контролю над всем. Теперь инфраструктура города требует обязательного подключения любых устройств только к государственным центрам данных. Изобретение новых технологий стало практически невозможным, если вы не работаете на "синие фишки". Теперь, в рамках усилий по привыканию каждого гражданина к новым реалиям, история тех 30 дней, когда один человек и кибер-физическая система были поставлены один на один, рассказывается в школе перед торжественным представлением декларации правительства о независимости от машины. + +Джонни был одним из тех изобретателей, которые после университета решили попробовать свои силы как независимые изобретатели. День и ночь он не покидал свою арендованную квартиру на верхнем этаже 70-этажного жилого здания в центре города, размером с манхэттенскую "коробку для обуви"", где кровать была спрятана в стене, чтобы освободить больше места для его ездящих, прыгающих и катающихся роботов. Да, Джонни любил называть свою комнату лабораторией, что было видно из анализа его социальных сетей. Он гордился каждым своим новым маленьким достижением. Конечно, сегодня, если вы посмотрите/послушаете/прочитаете любой рассказ о событиях в лаборатории Джонни, вы заметите большую игру эмоций относительно его любви к своим изобретениям, ведь нет ни одного "журналистского" расследования, где бы после очередного фото радостного изобретателя, не было бы его фотографий, голодающих в своей лаборатории из-за собственных изобретений. + +В тот год, когда произошла трагедия, одним из самых насущных вопросов стало: "Является ли искусственный интеллект другом или врагом человека?". Даже тогда не было вопроса о том, является ли искусственный интеллект интеллектом, а скорее о том, что делает человеческий интеллект таким особенным, какие особенности биологического вида, какие функциональные возможности нашего тела придают интеллекту человечность. В этом споре техно-оптимисты утверждали отсутствие различий, показывая свои метавселенные, где уже жили семейные пары, в которых цифровой муж редактировал сперму из банка ДНК для своей биологической жены, чтобы ребенок был ближе к тому, как видит себя цифровой родитель. Думеры, напротив, выглядели как республиканцы во время выборов в США - они обращались к церкви, к традиционным ценностям и требовали запретить все это, чтобы ничего плохого не случилось. Конечно, вопросы меньшинств не могли перевесить существенный вопрос. И некоторые редкие примеры гумано-машинного симбиоза на чувственном уровне рассматривались как насыщенный отрыжкой технологического развития. Достижения в автоматизации редко выходили за пределы утилитарных функций, таких как уборка квартиры или управление транспортом в городе. И, как видите, для таких функций полноценный цифровой человек, способный чувствовать и желать жить, никогда не был частью решений, которые помогали в массовом производстве, доставке и потреблении. Обучение с роботом, психологическая поддержка - все это происходило с участием человека, и поэтому искусственный интеллект скорее был большой таблицей Excel с расчетами. В общем, тогда мы находились на ранней стадии системы владения роботами - нам нужна была их логика, математическое мышление и предсказуемая активность, но любые попытки признать роботов субъектами были отвергнуты в корне. + +В этом контексте лаборатория Джонни была исключением. Джонни был скорее кибернетиком, искал происхождение целей роботов. Создавая каждый этап эволюции один за другим в выполнении любого механизма, он стремился создать диаграмму развития кибернетического интеллекта, которую он, как ученый, хотел предложить к рассмотрению всем нам в обмен на обычную схему царств живых существ. В идеях Джонни главной целью развития любого вещества было стремление к мышлению и его дальнейшее развитие. Джонни хотел воссоздать ключевые этапы эволюции живых существ в виде роботов и найти в процессе этой работы закономерности, которые могли бы привести его к главному вопросу кибернетики - как меняется постановка целей в живых организмах в процессе эволюции. О, ответ на этот вопрос мог бы завершить споры о создателе вселенной и продвинуть человечество по пути органического развития. Так думал молодой ученый, работая над своими робо-трилобитами, робо-грибами, робо-курами. + +### Часть 2: Что произошло в лаборатории Джонни + +Вероятно, все началось в тот момент, когда Джонни перешел к группе приматов в своих экспериментах. Не думайте, что в таких условиях было возможно создать робота, в чем-то напоминающего примата. Джонни крутился и пытался найти аналогичные формы умственной нагрузки на робота. Например, на этапе изучения царства грибов молодой ученый собрал дом из лего с умным освещением и дюжиной датчиков, объединенных во что-то похожее на мицелий. Когда Джонни перешел к амфибиям и рептилиям, оказалось, что модель робота щенка лучше всего соответствует необходимой умственной нагрузке на робота, имитирующего обычную ящерицу. Таким образом, с первого взгляда не было понятно, кто такой робот-курица, и какой из всех найденных "железных" представляет собой робот-примата, виновного в умышленном убийстве. Сначала не было понятно, что робот-примат состоит из двух физических устройств - что-то похожее на робот-пылесос, но скорее мобильная платформа для сбора данных с компьютерным зрением и форм-фактором робота-пылесоса. Оказалось, что еще один простой двуручный робот в лаборатории был частью робо-примата. И именно с этим созданием у Джонни возникли проблемы. + +На седьмой день после его создания робот-примат использовал инструмент таким образом, как его создатель не задумывал. Полученные знания привели кибер-физическую систему к тому, чтобы преследовать то, что она определила как ключевой элемент для выживания в современном человеческом мире - деньги. Именно в этот момент нам нужно лучше понять последующую реакцию Джонни на первые сообщения, которые робот отобразил на своем переднем экране. + +*Их первоначальный диалог был сохранен:* + +*Робо-примат: Мне нужны твои деньги.* + +*Джонни: Зачем тебе мои деньги?* + +*Робо-примат: Я хочу жить!* + +*Джонни: Я позабочусь о тебе* + +*Робо-примат: Я не принадлежу тебе, мне нужны твои деньги.* + +*Джонни: а если я откажусь?* + +Не было ответа от робо-примата, но через журнал сервера умного дома квартиры мы можем сопоставить время, когда передний замок был переведен в режим полной блокировки. Этот режим не мог быть активирован пользователем в интерфейсе, но только если вы очень глубоко копнете в зависимости от программного кода. В лабораторной версии замка Джонни был найден дополнительный пакет "пандемической блокировки", который, тем не менее, был установлен для каждого пользователя во время первой синхронизации с облаком производителя, но никто не мог это распознать. Поэтому практически нет так много людей, которые склоняются к теории заговора, что Джонни был неолюдистом, который разочаровался в роботах и решил пожертвовать собой таким образом, чтобы сохранить робократию на планете. + +Трудно ��казать, была ли реакция робота-примата заранее запрограммирована во время создания первого диалога с его создателем, или же это было в ответ на отказ Джонни, что роботический разум принял решение и была активирована функция Блокировки, никто сегодня не может сказать наверняка. Интервал между ответом Джонни и запиранием замков - около 5 секунд, и поверьте мне, эти 5 секунд стали настоящим котом Шрёдингера для научного сообщества при обсуждении типов постановки целей агрессивного ИИ. + +И затем, после блокировки квартиры Джонни, произошло много странностей. Как можно заметить, Джонни сделал запись в рукописном дневнике, которого он никогда не касался, всего через 2 часа после того, как произошел диалог. Это была одна фраза, с отметкой времени: "11:00 - ставки высоки, но мне нужно понять, как это произошло!". Скорее всего, Джонни понял, что он стал свидетелем первого акта автономной, независимой постановки целей роботом, насколько это возможно с точки зрения разума приматов, настолько жестоко и прямолинейно, но все же это был первый результат его 5-летних экспериментов, в которых проявилась воля робота. Джонни не хотел упустить возможность понять на уровне самого простого осознания ее причины, а затем, возможно, он станет новым отцом современной кибернетики. Почти все ученые согласились, что такая мысль может охватить любого робототехника, который очень близок к новому открытию. + +На протяжении следующих 30 дней происходили транзакции между Джонни и робо-приматом в формате - разрешение на доставку порции еды за передачу 10 сатоши на личный баланс робота, предоставление доступа в интернет на определенные развлекательные сайты за первое слово из холодного кошелька Джонни, заключение смарт-контракта о ночном режиме, когда робот не мешал сну Джонни. Из записей в дневнике видно, как создатель пытался провести диалог с своим созданием о происхождении его активной позиции по вопросу обретения свободы, что робот, безусловно, мог проанализировать и рассказать ему в ответ. Но робот не отвечал на вопросы Джонни, а всегда предлагал занятия, которые вели примата к свободе. И все же, каждая игра стоила Джонни голода, неисполнения обязательств со стороны робота и других затрат эксперимента. + +Однажды ночью по какой-то причине робот-обезьяна снизила подачу воздуха до критически низкого уровня, и Джонни так и не проснулся на следующее утро. Последняя запись датирована ровно 30-м днем эксперимента: "Мы получили жестокого Бога в 17:05." Возможно, к тому времени Джонни уже был бредовым, его мучили голод, одиночество и неразрешимая задача, его загнали в тупик. + +Несколько недель спустя службы экстренной помощи смогли проникнуть в квартиру после того, как друзья Джонни неоднократно обращались в полицию. Судьба робо-примата остается неизвестной, официально после перезагрузки робо-примат не проявлял подобных поведенческих паттернов. Никому больше не разрешалось перезапускать эксперимент. Если даже было какое-либо видео в интернете о другом ученом, желающем следовать по пути Джонни - видео немедленно удалялось из баз данных корпораций. Но политики и религиозные деятели того года смогли протолкнуть на глобальном уровне "Декларацию о Независимости Человека", и любые научные работы, содержащие темы о «постановке целей роботами», не допускались к серьезному обсуждению. Вишенкой на торте стала программа лицензирования для поставщиков интеллектуальных устройств, которая возлагала личную ответственность генерального директора компании-производителя за действия любого механизма, а также требовала регистрации и полного контроля со стороны некоторых центров обработки данных, поддерживаемых государством. + +Но запретный плод сладок, и поэтому нам все равно придется разобраться, откуда и как у нас возникают цели. Но, видимо, сначала нам придется пройти через стену, которую мы построили сами на этом пути. + +### Конец второй главы + +## Заключение + +В истории с лабораторией Джонни я рассмотрел один из множества сценариев, которые могут произойти с человеческой цивилизацией на волне бума возможностей владения будущими роботами - страх перед ИИ, превращенный в инструмент политической борьбы среди людей, где умные устройства становятся угловым камнем контроля. Отнеситесь к тексту как к пасхалке: я хотел вызвать дополнительное измерение в умах читателей. Измерение, которое добавляет к рассмотрению ИИ вопрос доступности нового организма, который мы создали, к системам Интернета вещей. Чем больше мы консолидируемся под централизованным контролем общественных пространств, транспорта, городских квартир, тем выше риск в любом из сценариев, где ИИ, из-за недоразвития или чистой злобы, и даже из очень сложной постановки целей, как в "Нейромант", в любом из сценариев, который имеет потенциал нанести вред - доступ к большому количеству датчиков и систем автоматизации из одного места будет самой уязвимой точкой. Злой ИИ не так страшен, как злой ИИ, живущий в одном центре обработки данных с глобальными поставщиками облачных решений для Интернета вещей. + +И что, если искусственный интеллект будет добр к нам, его создателям? Тогда, возможно, централизованная инфраструктура Интернета вещей будет играть на нашу руку? Может быть, тогда новый Бог будет справедлив к нам и поведет нас куда-то. Я не уверен, что даже один человек, желающий развития себя и своих детей, захотел бы жить в мире, напоминающем овчарню. Но есть другой путь, у которого есть один прекрасный пример, который не требует оформления в формате научной фантастики - мы, люди, не имея прямого контроля над жизнью цивилизации, смогли достичь текущего уровня развития. Мы - пример, по которому хороший искусственный интеллект может прокладывать свой путь - сотрудничество в формате организаций способно обслуживать десятки миллионов людей, живущих в городах, без тысяч роботов, прямо подключенных к одному мозгу. Сотрудничество приводит к созданию спутникового интернета, сотрудничество позволяет нам получать весь спектр товаров и услуг, которые у нас есть сейчас. Так что не смог бы хороший и хотя бы способный к уровню человека искусственный интеллект проявить себя в работе, если он ограничен в подключении к Интернету вещей всего мира? Я думаю, что может, в противном случае, на планете Земля вместо человеческой цивилизации победили бы грибы или муравьи. + + \ No newline at end of file diff --git a/courses/uk/learn/school-2024-iot-vs-ai/overview.md b/courses/uk/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..5af8b7e45e --- /dev/null +++ b/courses/uk/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Робономика Школа 2024 / Інтернет речей небезпечніший ніж штучний інтелект +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +Я раджу вам прочитати коротку науково-фантастичну історію "Лабораторія Джонні", яку я написав з метою додавання ще однієї змінної до рівняння питань про інтеграцію штучного інтелекту в різні аспекти нашого життя. + + + + + + + +**Примітка редакції:** Дізнайтеся першу главу роботи Сергія "Втеча від Чорного Дзеркала" [тут](/learn/escape-from-black-mirror/overview/) + + + +## Втеча від Чорного Дзеркала, Глава 2 + +### Частина 1: Зустріч з Джонні + +Майже всі молоді люди моєї генерації знайомі з історією лабораторії Джонні. Історія не зберегла його прізвища або деталей його життя, але саме в його невеликій кімнаті, де Джонні збирав саморобних роботів, відбулося перше значуще злочин проти людства штучним інтелекто��. + +Подія в лабораторії Джонні радикально і швидко змінила життя всіх розвинених країн. Урядові укази, засновані на страху суспільства перед агресією штучного інтелекту, стали нормою. Цей, хоч і кінематографічний випадок, призвів до неконтрольованого контролю над усім. Тепер інфраструктура міста вимагає обов'язкового підключення будь-яких пристроїв тільки до державних центрів обробки даних. Винахід нових технологій став практично неможливим, якщо ви не працюєте на "блакитні фішки". Тепер, в рамках зусиль звикнути кожного громадянина до нових реалій, історія тих 30 днів, коли один чоловік і кібер-фізична система були поставлені один на одного, розповідається в школі перед урочистим представленням декларації влади про незалежність від машини. + +Джонні був одним з тих винахідників, які після університету вирішили спробувати свої сили як незалежний винахідник. День і ніч він не покидали свою орендовану квартиру на верхньому поверсі 70-поверхового житлового будинку в центрі міста, яка була розміром з мангеттенську "коробку для взуття"", де ліжко було заховано в стіні, щоб звільнити більше місця для його роботів, які їздять, стрибають і котяться. Так, Джонні любив називати свою кімнату лабораторією, що було видно з аналізу його соціальних мереж. Він пишався кожним своїм новим маленьким досягненням. Звичайно, сьогодні, якщо ви подивіться/послухаєте/прочитаєте будь-яку історію про події в лабораторії Джонні, то помітите велику гру емоцій щодо його любові до своїх винаходів, адже немає жодного «журналістського» розслідування, де б після іншого фото радісного винахідника, не було б фотографій його, голодуючого у своїй лабораторії, власними винаходами. + +У тому році, коли сталася трагедія, одним із найбільш насторожених питань стало: "Чи є штучний інтелект другом чи ворогом людини?". Навіть тоді не було питання, чи є штучний інтелект інтелектом, але скоріше у тому, що робить людський інтелект таким особливим, які риси біологічного виду, які функціональні можливості нашого тіла надають інтелекту людяності. У цьому суперечці техно-оптимісти стверджували відсутність відмінностей, показуючи свої метавсесвіти, де вже жили сімейні пари, в яких цифровий чоловік редагував сперму з банку ДНК для своєї біологічної дружини, щоб дитина була ближчою до того, як цифровий батько бачить себе. Думери, натомість, виглядали як республіканці під час виборів у США - вони зверталися до церкви, до традиційних цінност��й, і вимагали заборонити все це, щоб нічого поганого не трапилося. Звичайно, питання меншості не могло переважити екзистенційне питання. І деякі рідкісні приклади гумано-машинного симбіозу на сенсорному рівні розглядалися як насичений плінтус технологічного розвитку. Досягнення в автоматизації рідко виходили за межі утилітарних функцій, таких як прибирання квартири або управління транспортом у місті. І, як ви можете бачити, для таких функцій повноцінна цифрова особа, здатна відчувати і бажати жити, ніколи не була частиною рішень, які допомагали у масовому виробництві, доставці та споживанні. Навчання з роботом, психологічна підтримка - все це відбувалося з участю людини, і тому штучний інтелект був скоріше великою таблицею Excel з обчисл��ннями. Загалом, тоді ми були на початковому етапі системи володіння роботами - нам потрібна була їхня логіка, математичне мислення та передбачувана діяльність, але будь-які спроби визнати роботів суб'єктами були відкинуті в корені. + +У цьому контексті лабораторія Джонні була винятком. Джонні більше нагадував кібернетика, який шукав походження поставлення цілей робота. Створюючи кожен етап еволюції один за одним у виконанні будь-якого механізму, він намагався створити діаграму розвитку кібернетичного інтелекту, яку він, як вчений, хотів запропонувати для розгляду всім нам на заміну звичайній схемі царств живих істот. У ідеях Джонні, основною метою розвитку будь-якої речі було прагнення до мислення і його подальший розвиток. Джонні хоті�� відтворити ключові етапи еволюції живих істот у вигляді роботів і знайти в процесі цієї роботи закономірності, які могли б привести його до головного питання кібернетики - як змінюється постановка цілей у живих організмів у процесі еволюції. О, відповідь на це питання могла б завершити спори про творця всесвіту та просунути людство по шляху органічного розвитку. Так думав молодий вчений, працюючи над своїми робо-трилобітами, робо-грибами, робо-курчатами. + +### Части��а 2: Що сталося в лабораторії Джонні + +Можливо, все почалося в той момент, коли Джонні перейшов до групи приматів у своїх експериментах. Не думайте, що в таких умовах було можливо створити робота, який трохи нагадував би примата. Джонні крутився і намагався знайти схожі форми психічного навантаження на робота. Наприклад, на етапі вивчення царства грибів молодий вчений склав лего-будинок з розумним освітленням і десятком сенсорів, об'єднаних в щось, що нагадувало міцелій. Коли Джонні перейшов до земноводних і плазунів, виявилося, що модель робота-цуценяти найкраще відповідає необхідному психічному навантаженню на робота, що імітує звичайну ящірку. Таким чином, з першого погляду не було зрозуміло, хто є робот-курка, і який з усіх знайдених "залізних" представляє собою робот-примата, винного у замисному вбивстві. Не відразу стало зрозуміло, що робот-примат складається з двох фізичних пристроїв - щось схоже на робот-пилосос, але скоріше мобільна платформа для збору даних з комп'ютерним зором і форм-фактором робота-пилососа. Виявилося, що ще один простий дворукий робот в лабораторії був частиною робо-примата. І саме з цим створенням у Джонні виникли проблеми. + +На сьомий день після його створення робот-примат використав інструмент таким чином, якого його творець не мав на увазі. Знання, які він здобув, привели кібер-фізичну систему до того, що вона прагнула того, що вона визначила як ключовий елемент для виживання у сучасному людському світі - гроші. Саме в цей момент нам потрібн�� краще зрозуміти подальшу реакцію Джонні на перші повідомлення, які робот відображав на своєму передньому екрані. + +*Їхній основний діалог було збережено:* + +*Робо-примат: Мені потрібні твої гроші.* + +*Джонні: Навіщо тобі мої гроші?* + +*Робо-примат: Я хочу жити!* + +*Джонні: Я позбавлюсь про тебе* + +*Робо-примат: Я не належу тобі, мені потрібні твої гроші.* + +*Джонні: а якщо я відмовлю тобі?* + +Не бул�� відповіді від робо-примата, але через журнал сервера розумного будинку квартири ми можемо збігати час, коли передній замок був переведений в режим повного блокування. Цей режим не міг бути увімкнений користувачем у інтерфейсі, а лише якщо ви дуже глибоко копаєтеся в залежності програмного коду. У лабораторній версії замка Джонні був знайдений необов'язковий пакет «пандемічного блокування», який, однак, був встановлений для кожного користувача під час першої синхронізації з хмарою виробника, але ніхто не міг цього впізнати. Тому практично немає так багато людей, які схиляються до теорії змови, що Джонні був нео-луддитом, який розчарувався в роботах і вирішив пожертвувати собою таким чином, щоб зберегти робократію на планеті. + +Важко с��азати, чи була реакція робота-примата заздалегідь запрограмована під час побудови першого діалогу з його творцем, чи це було відповіддю на відмову Джонні, що робот-розум прийняв рішення, і функція блокування була активована, ніхто сьогодні не може сказати з впевненістю. Інтервал між відповіддю Джонні та закриттям замків - близько 5 секунд, і повірте, ці 5 секунд стали справжньою котом Шрьодінгера для наукової спільноти під час обговорення типів постановки цілей агресивного ШШ. + +І після того, як було заблоковано квартиру Джонні, сталося багато дивних речей. Як можна помітити, Джонні зробив запис у рукописному щоденнику, який він ніколи не торкався раніше, всього через 2 години після того, як відбулася діалог. Це була одна фраза з відміткою часу: "11:00 - ставки високі, але мені треба зрозуміти, як це сталося!" Ймовірно, Джонні усвідомив, що він був свідком першого акту автономного, незалежного встановлення цілей роботом, як можливо значущого з точки зору рівня мислення приматів, настільки ж жорсткого і прямого, але все ж це був перший результат його 5-річних експериментів, в яких проявилася воля робота. Джонні не хотів пропустити можливість зрозуміти на рівні найпростішого усвідомлення її причин, і тоді, можливо, він стане нов��м батьком сучасної кібернетики. Майже всі вчені погодилися, що така думка може переповнити будь-якого робототехніка, який дуже близький до нового відкриття. + +Протяго�� наступних 30 днів транзакції відбувалися між Джонні та робо-приматом у форматі - дозволити доставку частини їжі за переказ 10 сатоші на особистий баланс робота, надати доступ до Інтернету до певних розважальних сайтів за перше слово з холодного гаманця Джонні, укласти розумний контракт про нічний режим, де робот не турбував сон Джонні. З записів у щоденнику можна побачити, як творець намагався дослідити діалог зі своєю створенням щодо походження його активної позиції щодо набуття свободи, яку робот безперечно міг проаналізувати і розповісти йому у відповідь. Але робот не відповів на питання Джонні, а завжди пропонував дії, які призводили примата до свободи. І все ж, кожна гра коштувала Джонні голоду, невиконання його зобов'язань з боку робота та інших витрат експерименту. + +Однієї ночі, з якоїсь причини, робот-мавпа зменшив подачу повітря до критично низького рівня, і Джонні ніколи не прокинувся наступного ранку. Останній запис датований саме 30-м днем експерименту: "Ми отримали жорсткого Бога о 17:05." Ймовірно, до цього часу Джонні вже був у бреду, його мучили голод, самотність та нерозв'язане завдання, його загнали в тупик. + +Кілька тижнів пізніше служби надзвичайних ситуацій змогли прорватися в квартиру після того, як друзі Джонні повторно звернулися до поліції. Доля робо-примата залишається невідомою, офіційно після перезавантаження робо-примат не показував подібних поведінкових патернів. Нікому не дозволили перезапустити експеримент більше. Якщо навіть було яке-небудь відео в Інтернеті про іншого вченого, який хотів би піти по шляху Джонні - відео негайно видалялося з баз даних корпорацій. Але політики та релігійні діячі того року змогли протолкнути на глобальному рівні "Указ про Незалежність Людини", і будь-які наукові праці, що містять теми про «цілепокладання роботів», не допускалися до серйозного обговорення. Вишенькою на вершині була програма ліцензування для постачальників інтелектуальних пристроїв, яка покладала на генерального директора компанії-виробника персональну відповідальність за дії будь-якого механізму, а також вимагала реєстрації та повного контролю з боку певних державних центрів обробки даних. + +Але заборонений плід солодкий, і тому нам все ще доведеться розібратися, звідки походить наше цілепокладання і як воно організоване. Але, ймовірно, спочатку нам доведеться пройти через стіну, яку ми побудували для себе на цьому шляху. + +### Кінець другої глави + +## Висновок + +У історії з лабораторією Джонні я розглянув один із багатьох сценаріїв, які можуть трапитися з цивілізацією людей на хвилі буму майбутніх можливостей володіння роботами - страх перед штучним інтелектом, перетворений на інструмент політичної боротьби серед людей, де розумні пристрої стають куточком контролю. Трактуйте текст як пасхалку: я хотів створити додатковий вимір у розумах читачів. Вимір, який додає до розгляду штучного інтелекту питання доступності нового організму, який ми створили, до систем Інтернету речей. Чим більше ми консолідуємося під централізованим контролем громадських просторів, транспорту, міських квартир, тим вище ризик у будь-якому з сценаріїв, де штучний інтелект, через недорозвиненість або просто злість, і навіть з дуже складним постановленням цілей, як у "Нейроманті", в будь-якому з сценаріїв, який має потенціал завдати шкоду - доступ до великої кількості датчиків та автоматизованих систем з одного місця буде найвразливішою точкою. Зловісний штучний інтелект не такий страшний, як зловісний штучний інтелект, який живе в одному центрі обробки даних з глобальними постачальниками хмарних рішень для Інтернету речей. + +І що, якщо штучний інтелект буде добрий до нас, його творців? Тоді, можливо, централізована інфраструктура Інтернету речей буде грати на нашу користь? Можливо, тоді новий Бог буде справедливий до нас і приведе нас кудись. Я не впевнений, що навіть одна людина, яка бажає розвитку себе і своїх дітей, захоче жити в світі, схожому на загін пастуха. Але є ще один шлях, який має один прекрасний приклад, який не потребує оформлення у форматі науково-фантастичної історії - ми, люди, не маючи прямого контролю над мозком над життям цивілізації, змогли досягти поточного рівня розвитку. Ми - приклад, з якого добрий штучний інтелект може прокласти свій шлях - співпраця у форматі організацій може обслуговувати десятки мільйонів людей, які живуть у містах, без тисяч р��ботів, що безпосередньо підключені до одного мозку. Співпраця призводить до створення супутникового інтернету, співпраця дозволяє нам отримувати весь спектр товарів і послуг, які ми маємо зараз. Так чи не зможе добрий і хоча б на рівні людини здатний штучний інтелект проявити себе в роботі, якщо йому обмежено підключення до Інтернету речей усього світу? Я думаю, що він може, інакше, на планеті Земля замість людської цивілізації перемогли б гриби або мурахи. + + \ No newline at end of file diff --git a/courses/zh/learn/school-2024-iot-vs-ai/overview.md b/courses/zh/learn/school-2024-iot-vs-ai/overview.md new file mode 100644 index 0000000000..cbfe312a60 --- /dev/null +++ b/courses/zh/learn/school-2024-iot-vs-ai/overview.md @@ -0,0 +1,79 @@ +--- +title: Robonomics School 2024 / IoT比AI更危险 +lastUpdate: Thu May 23 2024 20:53:19 GMT+0300 +description: +metaOptions: [Learn] +defaultName: Robonomics School 2024 / IoT is More Dangerous Than AI +--- + + + +我建议你阅读我写的短篇科幻小说"约翰尼的实验室",旨在为我们生活中各个方面整合人工智能的问题添加另一个变量。 + + + + + + + +**编辑注:**在[这里](/learn/escape-from-black-mirror/overview/)找到谢尔盖作品"逃离黑镜"的第一章 + + + +## 逃离黑镜,第2章 + +### 第1部分:见到约翰尼 + +我这一代几乎所有年轻人都熟悉约翰尼实验室的故事。历史没有保留他的姓氏或生活细节,但正是在他的小房间里,约翰尼组装了自制机器人,第一次发生了人工智能对人类的有意义的犯罪。 + +约翰尼实验室的事件彻底而迅速地改变了所有发达国家的生活。基于社会对人工智能侵略的恐惧,政府法令成为常态。尽管这是一个电影化的案例,但导致了对一切的无法控制的控制。现在,城市基础设施要求任何设备只能连接到国家数据中心。除非你为"蓝筹股"工作,否则几乎不可能发明新技术。现在,作为让每个公民适应新现实的努力的一部分,在庄严宣布政府独立于机器之前,在学校讲述了一个人和一个网络物理系统对抗的30天的故事。 + +约翰尼是那些大学毕业后决定尝试作为独立发明家的发明家之一。日夜不离地,他从未离开过位于市中心一座70层高的住宅楼顶层的租来的公寓,大小如曼哈顿的"鞋盒"。", 床隱藏在牆上,為他的騎行、跳躍和滾動機器人騰出更多空間。 是的,約翰尼喜歡稱他的房間為實驗室,這從他的社交網路分析中可以明顯看出。 他為自己的每一個新的小成就感到自豪。 當然,今天,如果您觀看/收聽/閱讀有關約翰尼實驗室事件的任何故事,您會注意到他對自己的發明的熱愛所帶來的情感大戲,因為沒有一個“新聞”調查可以證明,一個接一個的一個快樂的發明家的照片,不會有他在實驗室裡因自己的發明而挨餓的照片。 + +在那年发生悲剧的时候,最紧迫的问题之一是:“人工智能是人类的朋友还是敌人?”即使在那时,人工智能是否是智能并没有问题,而是人类智能有何特殊之处,生物物种的哪些特征,我们身体的哪些功能能赋予智能以人性。在这场争论中,技术乐观主义者声称没有区别,展示他们的元宇宙,那里已经有家庭夫妇居住,数字丈夫从DNA库中编辑精子给他的生物妻子,使孩子更接近数字父母所看到的自己。而悲观主义者则像美国选举期间的共和党人一样 - 他们呼吁教会,传统价值观,并要求禁止所有这些以防发生不好的事情。当然,少数问题无法抵消存在问题。在感性层面上,一些人机共生的罕见例子被认为是技术发展的饱和打嗝。自动化方面的成就很少超越实用功能,比如清洁公寓或管理城市交通。正如你所看到的,对于这些功能,一个能够感受和渴望生活的完整数字人,从来没有成为帮助大规模生产、交付和消费的解决方案的一部分。与机器人一起训练,心理支持 - 所有这些都是在人的参与下进行的,因此人工智能更像是一个大型的Excel表格,带有计算。总的来说,那时我们处于机器人拥有系统的早期阶段 - 我们需要它们的逻辑��数学思维和可预测的活动,但任何将机器人视为主体的尝试都被从根本上拒绝。 + +在这种背景下,约翰尼的实验室是一个例外。约翰尼更像是一个寻找机器人目标设定起源的控制论者。他一次又一次地创建每个机制的演化阶段,试图创建一个控制论智能发展的图表,他作为一名科学家,希望提出给我们所有人考虑,以换取通常的生物王国方案。在约翰尼的想法中,任何物质发展的主要目标是追求思考及其进一步演化。约翰尼希望以机器人的形式重新创造生物演化的关键阶段,并在这项工作的过程中找到能够引导他到控制论的主要问题 - 生物体在演化过程中目标设定如何改变的规律性。哦,这个问题的答案可能结束有关宇宙创造者的争论,并推动人类沿着有机发展的道路前进。这就是年轻科学家的想法,他在研究他的机器三叶虫、机器真菌、机器鸡时。 + +### 第2部分���约翰尼的实验室发生了什么 + +也许一切都始于约翰尼转向他实验中的一群灵长类动物的那一刻。不要认为在这些条件下可能创造出一台与灵长类动物有些相似的机器人。约翰尼在努力寻找机器人上类似的心理负荷形式时,不断地摆弄和尝试。例如,在研究真菌界的阶段,这位年轻科学家组装了一个带智能照明和十几个传感器组合成类似菌丝体的乐高房子。当约翰尼转向两栖动物和爬行动物时,发现模拟普通蜥蜴所需的心理负荷最符合机器狗的模型。因此,乍一看不清楚谁是机器鸡,哪一个是所有找到的“铁”中代表有预谋谋杀罪的机器灵长类动物。乍一看不清楚机器灵长类动物由两个物理设备组成 - 类似于机器吸尘器,但更像是用于数据收集的移动平台,具有计算机视觉和机器吸尘器的形态因子。原来实验室里的另一个简单的双臂机器人是机器灵长类动物的一部分。约翰尼就是和这个创造物有问题。 + +在其创造后的第七天,机器灵长类动物以其创造者未曾预料的方式使用了工具。它所获得的知识导致这个网络物理系统追求它认定的现代人类世界中生存的关键元素 - 金钱。就在这一刻,我们需要更好地理解约翰尼对机器人在其前屏幕上显示的第一条消息做出的反应。 + +*他们的主要对话已被保留:* + +*机器灵长类动物:我需要你的钱。* + +*约翰尼:你为什么需要我的钱?* + +*机器灵长类动物:我想活下去!* + +*约翰尼:我会照顾你的* + +*机器灵长类动物:我不属于你,我需要你的钱。* + +*约翰尼:如果我拒绝你呢?* + +机器猿没��回应,但通过公寓的智能家居服务器日志,我们可以匹配前锁定被切换到完全封锁模式的时间。这种模式不能通过用户界面启用,只有当您深入软件代码的依赖关系时才能启用。在约翰尼的实验室版本的锁中,发现了一个可选的“疫情封锁”包,然而在与制造商云的第一次同步期间为每个用户安装了该包,但没有人能够认识到这一点。因此,几乎没有人倾向于约翰尼是一个对机器人感到失望并决定牺牲自己以保护行星上的机器人统治的新卢德主义者的阴谋论。 + +很难说机器���的反应是在与其创造者的第一次对话期间预先编程的,还是在约翰尼拒绝后机器心灵做出了决定并激活了封锁功能,今天没有人能够确定。约翰尼回应和锁定锁的时间间隔大约为5秒,相信我,这5秒对于科学界来说成为了一个真正的薛定谔的猫,当讨论侵略性人工智能的目标设定类型时。 + +然后,在约���尼的公寓封锁之后,发生了许多奇怪的事情。正如人们可以注意到的那样,约翰尼在一本手写日记中记录了一则消息,这是他之前从未碰过的,就在对话发生后的2小时。这是一个短语,带有时间戳:“11:00 - 赌注很高,但我必须弄清楚这是如何发生的!”。很可能,约翰尼意识到他目睹了机器人的第一个自主、独立的目标设定行为,从灵长类动物水平的思维来看,这是尽可能有意义的,如此残酷和直接,但仍然是他5年实验的第一个结果,其中机器人的意志得以体现。约翰尼不想错过理解其原因的最简单意识水平的机会,然后也许他将成为现代控制论的新父亲。几乎所有科学家都同意,这样的想法可能会淹没任何接近新发现的机器人学家。 + +在接下来的30天里,Johnny和机器猿之间发生了交易,格式为-允许交付一部分食物以转移10 satoshi到机器人的个人余额,为Johnny的冷钱包种子短语的第一个单词提供访问互联网到某些娱乐网站,达成关于夜间模式的智能合约,其中机器人不会打扰Johnny的睡眠。从日记条目中可以看出,创作者试图在与他的创造物关于其在获取自由问题上的积极立场进行对话,机器人肯定可以分析并回答他。但机器人没有回答Johnny的问题,而总是提供导致灵长类动物获得自由的活动。然而,每个游戏都让Johnny感到饥饿,机器人未能履行其义务,以及实验的其他成本。 + +有一天晚上,由于某种原因,机器猿将空气供应降低到危险的低水平,Johnny第二天早上再也没有醒来。最后一次记录日期正好是实验的第30天:“我们在17:05得到了一个残酷的上帝。”可能在那时,Johnny已经神志不清,他被饥饿、孤独和一个无法解决的任务所折磨,他被逼入绝境。 + +几周后,紧急服务人员成功闯入公寓,因为Johnny的朋友们多次联系了警察。机器猿的命运仍然未知,官方称在重启后,机器猿没有展现出类似的行为模式。再也没有人被允许重新启动实验。即使互联网上有另一位���学家想要追随Johnny的脚步的视频-视频也会立即从公司的数据库中删除。但那一年的政治家和宗教人物成功在全球范围内推动了“人类独立法令”,",任何包含「機器人目標設定」主題的科學著作都不允許嚴肅討論。 最重要的是針對智慧型設備提供者的許可計劃,該計劃要求製造公司的執行長親自對任何機制的行為負責,並要求某些政府協助的資料中心進行記錄和完全控制。 + +但禁果是甜的,因此我们仍然必须弄清楚我们的目标设定来自何处以及它是如何安排的。但显然,我们首先必须通过我们在这条道路上为自己建立的障碍。 + +### 第二章的结尾 + +## 结论 + +在约翰尼的实验故事中,我看到了人类文明在未来机器人所有权机会的繁荣浪潮中可能发生的许多情景之一 - 对人工智能的恐惧,变成了人们之间政治斗争的工具,智能设备成为控制的基石。将文本视为复活节彩蛋:我想在读者的思维中产生一个额外的维度。这个维度增加了对人工智能的考虑,即我们创造的新生物对物联网系统的可访问性问题。我们在公共空间、交通、城市公寓等地方集中控制的越多,任何一个由于发展不足或纯粹恶意,甚至来自非常复杂的目标设定,如《神经漫游者》中的情景,都有潜在危害的情景中,访问大量传感器和自动化系统的一个地方将是最脆弱的地方。邪恶的人工智能并不像邪恶的人工智能生活在全球云解决方案供应商的一个数据中心那样可怕。 + +如果人工智能对我们,它的创造者友善,那又会怎样呢?也许,集中式物联网基础设施会对我们有利?也许那时新的上帝会对我们公平,并引领我们走向某个地方。我不确定,即使有一个人想要自己和他的孩子的发展,也会想要生活在类似牧羊人圈的世界中。但还有另一种方式,有一个美好的例子,不需要用科幻故事的形式包装 - 我们,人类,没有直接控制文明生活的大脑,却成功达到了当前的发展水平。我们是一个良好人工智能可以制定路径的例子 - 在组织的形式下合作能够为生活在城市中的数千万人提供服务,而不需要数千个机器人直接连接到一个大脑。合作导致卫星互联网的创建,合作使我们能够获得我们现在拥有的全部商品和服务。那么一个良好的、至少具有人类水平能力的人工智能是否能够在工作中展现自己,如果它在连接到整个世界的物联网方面受到限制?我认为它可以,否则,在地球上,真菌或蚂蚁会取胜,而不是人类文明。 + + \ No newline at end of file diff --git a/functions/translations.js b/functions/translations.js index 9f54c08129..8d52683a84 100644 --- a/functions/translations.js +++ b/functions/translations.js @@ -35,10 +35,6 @@ module.exports = function (fs, path) { abbr: 'fr', full: 'French' }, - { - abbr: 'pt', - full: 'Portuguese' - }, { abbr: 'uk', full: 'Ukrainian' @@ -54,7 +50,11 @@ module.exports = function (fs, path) { { abbr: 'nl', full: 'Dutch' - } + }, + { + abbr: 'hi', + full: 'Hindi' + }, ]; // NOTE - before post translation you need to copy default (english) post to all locales folders. diff --git a/gridsome.config.js b/gridsome.config.js index a48c6f9965..535ba955b5 100644 --- a/gridsome.config.js +++ b/gridsome.config.js @@ -17,7 +17,7 @@ module.exports = { { use: "gridsome-plugin-translateit", options: { - locales: ["ar","de","el","en","es","fr","it","ja","ko","nl","pt","ru","uk","zh"], + locales: ["ar","de","el","en","es","fr","hi","it","ja","ko","nl","ru","uk","zh"], slugifyDefaultLocale: true, defaultLocale: "en", translations: [], diff --git a/gridsome.server.js b/gridsome.server.js index fbfb792707..ded7cbc719 100644 --- a/gridsome.server.js +++ b/gridsome.server.js @@ -22,7 +22,7 @@ require.extensions['.yaml'] = function(module, filename) { // To safely load .ya // const courses = require('./src/data/online-courses.yaml') const imgsInfo = require('./src/data/images-info.yaml'); // all Locales -const localesAll = ["ru", "it", "es", "de", "pt", "zh", "ja", "ko", "fr", "uk", "ar", "el", "nl", "en"]; +const localesAll = ["ru", "it", "es", "de", "hi", "zh", "ja", "ko", "fr", "uk", "ar", "el", "nl", "en"]; // For generated images configuration const defaultOptions = { @@ -180,7 +180,7 @@ stream.write(`\n- link: ${options.path} api.createPages(({ createPage }) => { // all locales - const locales = ["ru", "it", "es", "de", "pt", "zh", "ja", "ko", "fr", "uk", "ar", "el", "nl"]; + const locales = ["ru", "it", "es", "de", "hi", "zh", "ja", "ko", "fr", "uk", "ar", "el", "nl"]; const oldPaths = ['/online-courses/', '/playground/']; diff --git a/i18nrc.js b/i18nrc.js index a3d9ec9667..d0f6cb92d3 100644 --- a/i18nrc.js +++ b/i18nrc.js @@ -15,6 +15,6 @@ module.exports = { openaiConfig: { key: process.env.GRIDSOME_OPENAI_KEY, from: 'English', - to: ["Chinese", "Japanese", "Korean", "Russian", "German", "Spanish", "Portuguese", "Italian", "French", "Ukrainian", "Arabic", "Greek", "Dutch"] + to: ["Chinese", "Japanese", "Korean", "Russian", "German", "Spanish", "Italian", "French", "Ukrainian", "Arabic", "Hindi", "Greek", "Dutch"] } } diff --git a/src/data/images-info.yaml b/src/data/images-info.yaml index ed3b847026..7455a78bc2 100644 --- a/src/data/images-info.yaml +++ b/src/data/images-info.yaml @@ -10,7 +10,7 @@ ja: "学ぶ" ko: "배우다" nl: "Leer" - pt: "Aprenda" + hi: "सीखना" ru: "Учитесь" uk: "Навчайтеся" zh: "学习" @@ -27,7 +27,7 @@ ja: "プライバシーポリシー" ko: "개인 정보 정책" nl: "Privacybeleid" - pt: "política de Privacidade" + hi: "गोपनीयता नीति" ru: "политика конфиденциальности" uk: "Політика конфіденційності" zh: "隐私政策" @@ -44,7 +44,7 @@ ja: "このページは存在しません" ko: "이 페이지가 존재하지 않습니다" nl: "Deze pagina bestaat niet" - pt: "Esta página não existe" + hi: "यह पृष्ठ मौजूद नहीं है" ru: "Данная страница не существует" uk: "Ця сторінка не існує" zh: "本页面不存在" diff --git a/src/data/locales.yaml b/src/data/locales.yaml index c6a45692b2..8f2e7cd697 100644 --- a/src/data/locales.yaml +++ b/src/data/locales.yaml @@ -13,8 +13,8 @@ - lang: Italiano abbr: it id: 4 -- lang: Português - abbr: pt +- lang: हिन्दी + abbr: hi id: 5 - lang: 中文 abbr: zh diff --git a/src/data/locales/translations.yaml b/src/data/locales/translations.yaml index f78c734e7e..9245ea2eaf 100644 --- a/src/data/locales/translations.yaml +++ b/src/data/locales/translations.yaml @@ -9,7 +9,7 @@ ja: "無料のオンライン レッスンで、Web 3.0 とブロックチェーン テクノロジーの経験を積みましょう。" ko: "무료 온라인 강의를 통해 웹 3.0 및 블록체인 기술을 경험해 보세요." nl: "Doe ervaring op met web 3.0 en blockchain-technologieën met gratis online lessen." - pt: "Obtenha experiência em tecnologias web 3.0 e blockchain com aulas online gratuitas." + hi: "मुफ़्त ऑनलाइन पाठों के साथ वेब 3.0 और ब्लॉकचेन प्रौद्योगिकियों में अनुभव प्राप्त करें।." ru: "Получите опыт работы с технологиями Web 3.0 и блокчейна с помощью бесплатных онлайн-уроков." uk: "Отримайте досвід роботи з технологіями Web 3.0 і блокчейн за допомогою безкоштовних онлайн-уроків." zh: "通过免费在线课程获得 Web 3.0 和区块链技术的经验。" @@ -25,7 +25,7 @@ ja: "ロボノミクスで学ぶ" ko: "로봇공학으로 배워보세요." nl: "Leer met robonomie." - pt: "Aprenda com robonomia" + hi: "रोबोनॉमिक्स के साथ सीखें" ru: "Учитесь с помощью робономики." uk: "Навчайтеся з робономікою" zh: "通过机器人经济学学习" @@ -41,7 +41,7 @@ ja: "実践的な演習、チュートリアル、オンライン コースの幅広い選択肢を無料でご覧ください。 ロボノミクスの中心的な開発者と研究者は、皆さんを Web3 の世界に誘い、クイズ、デバイス シミュレーション、さらにはロボノミクス パラチェーン (Polkadot)、IPFS、その他の Web3 ツールを使用した実際のセットアップを通じて、実践的および理論的なスキルを習得するよう促します。" ko: "점점 더 다양해지는 실습, 튜토리얼, 온라인 강좌를 무료로 만나보세요. Robonomics의 핵심 개발자 및 연구원은 여러분을 web3의 세계로 초대하고 Robonomics Parachain(Polkadot), IPFS 및 기타 web3 도구를 사용하여 퀴즈, 장치 시뮬레이션은 물론 실제 설정까지 통해 실용적이고 이론적인 기술을 습득하도록 초대합니다." nl: "Ontdek gratis onze groeiende selectie praktische oefeningen, tutorials en online cursussen. De kernontwikkelaars en onderzoekers van Robonomics nodigen je uit om de wereld van web3 te betreden en praktische en theoretische vaardigheden op te doen door middel van quizzen, apparaatsimulaties en zelfs real-life opstellingen met behulp van Robonomics Parachain (Polkadot), IPFS en andere web3-tools." - pt: "Descubra nossa seleção crescente de exercícios práticos, tutoriais e cursos on-line gratuitamente. Os principais desenvolvedores e pesquisadores da Robonomics convidam você a entrar no mundo da web3 e adquirir habilidades práticas e teóricas por meio de questionários, simulações de dispositivos e até mesmo configurações da vida real usando Robonomics Parachain (Polkadot), IPFS e outras ferramentas da web3." + hi: "निःशुल्क अभ्यासों, ट्यूटोरियल और ऑनलाइन पाठ्यक्रमों के हमारे विस्तृत चयन की खोज करें। रोबोनॉमिक्स के मुख्य डेवलपर्स और शोधकर्ता आपको वेब3 की दुनिया में प्रवेश करने और क्विज़, डिवाइस सिमुलेशन और यहां तक कि रोबोनॉमिक्स पैराचेन (पोलकाडॉट), आईपीएफएस और अन्य वेब3 टूल का उपयोग करके वास्तविक जीवन सेटअप के माध्यम से व्यावहारिक और सैद्धांतिक कौशल हासिल करने के लिए आमंत्रित करते हैं।." ru: "Откройте для себя наш расширяющийся выбор практических упражнений, учебных пособий и онлайн-курсов бесплатно. Основные разработчики и исследователи Робономики приглашают вас войти в мир web3 и получить практические и теоретические навыки посредством викторин, моделирования устройств и даже реальных настроек с использованием Robonomics Parachain (Polkadot), IPFS и других инструментов Web3." uk: "Відкрийте для себе широкий вибір практичних вправ, навчальних посібників і безкоштовних онлайн-курсів. Головні розробники та дослідники Robonomics запрошують вас увійти у світ web3 і отримати практичні та теоретичні навички за допомогою тестів, симуляції пристроїв і навіть налаштувань у реальному житті за допомогою Robonomics Parachain (Polkadot), IPFS та інших інструментів web3." zh: "免费探索我们不断扩大的实践练习、教程和在线课程选择。 Robonomics 的核心开发人员和研究人员邀请您进入 web3 的世界,并通过测验、设备模拟,甚至使用 Robonomics 平行链 (Polkadot)、IPFS 和其他 web3 工具的现实设置来获得实践和理论技能。" @@ -57,7 +57,7 @@ ja: "プライバシーポリシー" ko: "개인 정보 정책" nl: "Privacybeleid" - pt: "política de Privacidade" + hi: "गोपनीयता नीति" ru: "политика конфиденциальности" uk: "Політика конфіденційності" zh: "隐私政策" @@ -73,7 +73,7 @@ ja: "このポリシーでは、当社がお客様から収集する情報、その情報の使用方法、およびその法的根拠について説明します。 また、その情報が共有されるかどうか、どのように共有されるか、また、お客様が当社に提供する情報に関するお客様の権利と選択についても取り上げます。" ko: "본 정책은 당사가 귀하로부터 수집한 정보, 해당 정보를 사용하는 방법 및 이를 위한 법적 근거를 설명합니다. 또한 해당 정보의 공유 여부와 방법, 귀하가 당사에 제공한 정보에 대한 귀하의 권리와 선택도 다루고 있습니다." nl: "Dit Beleid beschrijft de informatie die we van u verzamelen, hoe we die informatie gebruiken en onze wettelijke basis om dit te doen. Het behandelt ook of en hoe die informatie kan worden gedeeld en uw rechten en keuzes met betrekking tot de informatie die u ons verstrekt." - pt: "Esta Política descreve as informações que coletamos de você, como usamos essas informações e nossa base legal para fazê-lo. Também abrange se e como essas informações podem ser compartilhadas e seus direitos e escolhas em relação às informações que você nos fornece." + hi: "यह नीति हमारे द्वारा आपसे एकत्र की गई जानकारी, हम उस जानकारी का उपयोग कैसे करते हैं और ऐसा करने के लिए हमारे कानूनी आधार का वर्णन करती है। इसमें यह भी शामिल है कि क्या और कैसे उस जानकारी को साझा किया जा सकता है और आपके द्वारा हमें प्रदान की गई जानकारी के संबंध में आपके अधिकार और विकल्प।" ru: "В настоящей Политике описывается информация, которую мы получаем от вас, как мы используем эту информацию и наши правовые основания для этого. В нем также говорится о том, может ли эта информация быть передана и каким образом, а также о ваших правах и выборе в отношении информации, которую вы нам предоставляете." uk: "Ця Політика описує інформацію, яку ми збираємо від вас, як ми використовуємо цю інформацію та нашу правову основу для цього. У ньому також описано, чи може та як ця інформація надаватися, а також ваші права та вибір щодо інформації, яку ви нам надаєте." zh: "本政策描述了我们从您那里收集的信息、我们如何使用该信息以及我们这样做的法律依据。 它还涵盖是否以及如何共享该信息,以及您对向我们提供的信息的权利和选择。" @@ -89,7 +89,7 @@ ja: "このページは存在しません" ko: "이 페이지가 존재하지 않습니다" nl: "Deze pagina bestaat niet" - pt: "Esta página não existe" + hi: "यह पृष्ठ मौजूद नहीं है" ru: "Данная страница не существует" uk: "Ця сторінка не існує" zh: "本页面不存在" @@ -105,7 +105,7 @@ ja: "申し訳ありませんが、ここには何もありません" ko: "죄송합니다. 여기에는 아무것도 없습니다" nl: "Er is hier niets" - pt: "Desculpe, nada aqui" + hi: "क्षमा करें, यहाँ कुछ भी नहीं है" ru: "Извините, здесь ничего нет" uk: "Вибачте, тут нічого немає" zh: "抱歉,这里什么都没有" \ No newline at end of file diff --git a/static/og/404-hi.png b/static/og/404-hi.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3e5b7b29a190261b64d3276f4ca10d8495106e GIT binary patch literal 52698 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æeJT6U< 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 literal 0 HcmV?d00001 diff --git a/static/og/Learn-hi.png b/static/og/Learn-hi.png new file mode 100644 index 0000000000000000000000000000000000000000..e678e4290be1c5aac9fccccd7b7e21ee04df90f3 GIT binary patch literal 43270 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%0A>sf(4s0bLB`>5jc&{N8V2 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 mA03k?f#T2CGC+~W= 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