From 628cf78873d4c93b1da9b189b1ed81374eca832f Mon Sep 17 00:00:00 2001 From: Kuppannagari Yudhista <33824488+yudhista-k@users.noreply.github.com> Date: Wed, 16 Sep 2020 00:30:48 +0530 Subject: [PATCH] Updated Certification instruction and get started template folders --- .../images/3_3_1_01.png | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_03.png | Bin .../images/3_3_1_04.png | Bin .../images/3_3_1_05.png | Bin .../images/3_3_1_06.png | Bin .../images/3_3_1_07.png | Bin .../images/3_3_2_01.png | Bin .../images/3_3_2_02.png | Bin .../images/3_3_2_03.png | Bin .../images/3_3_2_04.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iot_certification_android_nodejs.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin ...roidmonitor_logcat_receivemessage_http.png | Bin ...roidmonitor_logcat_receivemessage_mqtt.png | Bin ...ndroidmonitor_logcat_sendmessages_http.png | Bin ...ndroidmonitor_logcat_sendmessages_mqtt.png | Bin .../images/de_monitordevice.png | Bin .../images/de_receivemessage.png | Bin .../images/de_sendmessages_http.png | Bin .../images/de_sendmessages_mqtt.png | Bin .../iot_certification_android_java.md | 0 .../images/3_3_1_01.png | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_04.png | Bin .../images/3_3_1_06.png | Bin .../images/3_3_1_07.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/python_modified_output.PNG | Bin .../iot_certification_linux_c.md | 0 .../Dockerfile | 0 .../images/3_3_1_01.png | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_04.png | Bin .../images/3_3_1_06.png | Bin .../images/3_3_1_07.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin ...evice_message_receive_from_device_amqp.png | Bin ...evice_message_receive_from_device_http.png | Bin ...evice_message_receive_from_device_mqtt.png | Bin .../device_message_send_from_device_amqp.png | Bin .../device_message_send_from_device_http.png | Bin .../device_message_send_from_device_mqtt.png | Bin .../images/python_modified_output.PNG | Bin ...minal_message_receive_from_device_amqp.png | Bin ...minal_message_receive_from_device_http.png | Bin ...minal_message_receive_from_device_mqtt.png | Bin ...terminal_message_send_from_device_amqp.png | Bin ...terminal_message_send_from_device_http.png | Bin ...terminal_message_send_from_device_mqtt.png | Bin .../iot_certification_linux_csharp_docker.md | 0 .../images/3_3_1_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../device_explorer_amqp_message_received.PNG | Bin ...vice_explorer_amqp_ws_message_received.png | Bin .../device_explorer_http_message_received.PNG | Bin .../images/device_explorer_message_send.PNG | Bin .../device_explorer_mqtt_message_received.png | Bin .../images/python_modified_output.PNG | Bin .../images/terminal_amqp_message_received.PNG | Bin .../images/terminal_amqp_send_event.PNG | Bin .../terminal_amqp_ws_message_received.png | Bin .../images/terminal_amqps_ws_send_event.png | Bin .../images/terminal_http_message_received.PNG | Bin .../images/terminal_http_send_event.PNG | Bin .../images/terminal_mqtt_message_received.png | Bin .../images/terminal_mqtt_send_event.png | Bin .../iot_certification_linux_java.md | 0 .../images/3_3_1_01.png | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_03.png | Bin .../images/3_3_2_01.png | Bin .../images/3_3_2_02.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/python_modified_output.PNG | Bin .../iot_certification_linux_nodejs.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../python_amqp_receive_message_device.png | Bin ...n_amqp_receive_message_device_explorer.png | Bin .../python_amqp_send_message_device.png | Bin ...thon_amqp_send_message_device_explorer.png | Bin .../python_http_receive_message_device.png | Bin ...n_http_receive_message_device_explorer.png | Bin .../python_http_send_message_device.png | Bin ...thon_http_send_message_device_explorer.png | Bin .../images/python_modified_output.PNG | Bin .../python_mqtt_receive_message_device.png | Bin ...n_mqtt_receive_message_device_explorer.png | Bin .../python_mqtt_send_message_device.png | Bin ...thon_mqtt_send_message_device_explorer.png | Bin .../iot_certification_linux_python.md | 0 .../images/3_2_01.png | Bin .../images/3_2_01_a.png | Bin .../images/3_2_02.png | Bin .../images/3_2_03.png | Bin .../images/3_2_04.png | Bin .../images/3_2_05.png | Bin .../images/3_2_06.png | Bin .../images/3_3_1_01.PNG | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_03.png | Bin .../images/3_3_1_04.png | Bin .../images/3_3_1_05.PNG | Bin .../images/3_3_2_01.PNG | Bin .../images/3_3_2_02.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iot_certification_mbed_c.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iot_certification_openwrt-arduino_c.md | 0 .../images/3_2_1_01.png | Bin .../images/3_2_2_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin ...cation_port_c_libraries_other_platforms.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iot_certification_ti_cc3200_c.md | 0 .../images/3_3_1_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin ...evice_message_receive_from_device_amqp.png | Bin ...evice_message_receive_from_device_http.png | Bin ...evice_message_receive_from_device_mqtt.png | Bin .../device_message_send_from_device_amqp.png | Bin .../device_message_send_from_device_http.png | Bin .../device_message_send_from_device_mqtt.png | Bin .../images/navigation_1.png | Bin .../images/navigation_2.png | Bin ...minal_message_receive_from_device_amqp.png | Bin ...minal_message_receive_from_device_http.png | Bin ...minal_message_receive_from_device_mqtt.png | Bin ...terminal_message_send_from_device_amqp.png | Bin ...terminal_message_send_from_device_http.png | Bin ...terminal_message_send_from_device_mqtt.png | Bin .../iot_certification_windows10_csharp.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin .../device_explorer_message_received.PNG | Bin .../images/device_explorer_monitor.png | Bin .../device_explorer_notification_send.png | Bin .../images/vs_install_tools_for_windows10.png | Bin .../images/vs_properties_debug.png | Bin .../images/vs_select_arch.png | Bin ...certification_windows10_iot_core_csharp.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/Delete_old_files.PNG | Bin .../images/Include_In_Project.PNG | Bin .../images/Remove_extra_package.PNG | Bin .../images/copy_files.PNG | Bin .../images/device_configuration.png | Bin .../device_explorer_message_received.PNG | Bin .../images/device_explorer_monitor.png | Bin .../device_explorer_notification_send.png | Bin .../images/install-missing-npm-packages.PNG | Bin .../images/nodejs_project.png | Bin .../images/open_project_in_file_explorer.PNG | Bin .../images/project_file_explorer.PNG | Bin .../images/show_all_files.PNG | Bin .../images/vs_install_tools_for_windows10.png | Bin .../vs_project_template_for_nodejs_uwp.png | Bin .../images/vs_properties_debug.png | Bin .../images/vs_select_arch.png | Bin ...certification_windows10_iot_core_nodejs.md | 0 .../images/3_3_1_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin .../device_message_send_from_device_amqp.png | Bin .../device_message_send_from_device_http.png | Bin .../device_message_send_from_device_mqtt.png | Bin .../explorer_send_message_to_device.png | Bin .../images/navigate_simplesampleamqp.png | Bin .../images/project_amqp_config.png | Bin .../images/project_amqp_debug.png | Bin ...minal_message_receive_from_device_amqp.png | Bin ...minal_message_receive_from_device_http.png | Bin ...minal_message_receive_from_device_mqtt.png | Bin ...terminal_message_send_from_device_amqp.png | Bin ...terminal_message_send_from_device_http.png | Bin ...terminal_message_send_from_device_mqtt.png | Bin .../iot_certification_windows_c.md | 0 .../images/3_3_1_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin .../device_explorer_amqp_message_received.PNG | Bin ...vice_explorer_amqp_ws_message_received.png | Bin .../device_explorer_http_message_received.PNG | Bin .../images/device_explorer_message_send.PNG | Bin .../device_explorer_mqtt_message_received.png | Bin .../images/terminal_amqp_message_received.PNG | Bin .../images/terminal_amqp_send_event.PNG | Bin .../terminal_amqp_ws_message_received.png | Bin .../images/terminal_amqps_ws_send_event.png | Bin .../images/terminal_http_message_received.PNG | Bin .../images/terminal_http_send_event.PNG | Bin .../images/terminal_mqtt_message_received.png | Bin .../images/terminal_mqtt_send_event.png | Bin .../iot_certification_windows_java.md | 0 .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin .../device_explorer_message_received.PNG | Bin .../images/device_explorer_monitor.png | Bin .../device_explorer_notification_send.png | Bin ...device_explorer_notification_send_view.png | Bin .../images/navigation.png | Bin .../images/vs_install_tools.png | Bin .../images/vs_install_tools_menu.png | Bin .../images/vs_properties_netmf.PNG | Bin .../iot_certification_windows_netmf_csharp.md | 0 .../images/3_3_1_01.png | Bin .../images/3_3_1_02.png | Bin .../images/3_3_1_03.png | Bin .../images/3_3_2_01.png | Bin .../images/3_3_2_02.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/device_configuration.png | Bin .../iot_certification_windows_nodejs.md | 0 .../images/3_3_1_01.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/build_path_1.png | Bin .../images/build_path_2.png | Bin ...evice_message_receive_from_device_amqp.png | Bin ...evice_message_receive_from_device_http.png | Bin ...evice_message_receive_from_device_mqtt.png | Bin .../device_message_send_from_device_amqp.png | Bin .../device_message_send_from_device_http.png | Bin .../device_message_send_from_device_mqtt.png | Bin .../images/deviceexplorer_recieve_amqp.PNG | Bin ...minal_message_receive_from_device_amqp.png | Bin ...minal_message_receive_from_device_http.png | Bin ...minal_message_receive_from_device_mqtt.png | Bin ...terminal_message_send_from_device_amqp.png | Bin ...terminal_message_send_from_device_http.png | Bin ...terminal_message_send_from_device_mqtt.png | Bin .../iot_certification_windows_python.md | 0 .../template-linux-c.md | 0 .../template-linux-java.md | 0 .../template-linux-nodejs.md | 0 .../template-linux-python.md | 0 .../template-windows-c.md | 0 .../template-windows-csharp.md | 0 .../template-windows-iotcore-csharp.md | 0 .../template-windows-java.md | 0 .../template-windows-netmf-csharp.md | 0 .../template-windows-nodejs.md | 0 .../template-windows-python.md | 0 .../Edge-Managed}/images/-f.png | Bin .../Edge-Managed}/images/Capture.png | Bin .../Edge-Managed}/images/azure_results.PNG | Bin .../Edge-Managed}/images/devicetwin.png | Bin .../images/devicetwinmessage.png | Bin .../Edge-Managed}/images/edgemodule_logs.PNG | Bin .../images/edgemodule_status.PNG | Bin .../Edge-Managed}/images/firmware.png | Bin .../Edge-Managed}/images/iotedgedaemon.png | Bin .../Edge-Managed}/images/reboot.png | Bin .../Edge-Managed}/images/tempSensor.png | Bin .../Edge-Managed}/template-linux-for-edge.md | 338 ++++++------ .../template-windows-for-edge.md | 216 ++++---- .../template-plug-and-play-getstarted.md | 202 +++---- .../Archive/iotedge_getstarted.md | 118 ++-- .../images/1.PNG | Bin .../images/2.PNG | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iotedge_certification_linux.md | 516 +++++++++--------- .../images/4_2_01.png | Bin .../images/4_2_02.png | Bin .../iotedge_certification_windows.md | 486 ++++++++--------- .../iotedge_getstarted.md | 0 289 files changed, 938 insertions(+), 938 deletions(-) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_05.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_06.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_1_07.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_2_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/3_3_2_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot-certification_android_nodejs/iot_certification_android_nodejs.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/de_monitordevice.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/de_receivemessage.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/de_sendmessages_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/images/de_sendmessages_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_android_java/iot_certification_android_java.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/3_3_1_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/3_3_1_06.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/3_3_1_07.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/images/python_modified_output.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_c/iot_certification_linux_c.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/Dockerfile (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/3_3_1_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/3_3_1_06.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/3_3_1_07.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/device_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/python_modified_output.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_csharp_docker/iot_certification_linux_csharp_docker.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/device_explorer_amqp_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/device_explorer_amqp_ws_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/device_explorer_http_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/device_explorer_message_send.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/device_explorer_mqtt_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/python_modified_output.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_amqp_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_amqp_send_event.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_amqp_ws_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_amqps_ws_send_event.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_http_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_http_send_event.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_mqtt_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/images/terminal_mqtt_send_event.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_java/iot_certification_linux_java.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/3_3_1_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/3_3_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/3_3_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/images/python_modified_output.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_nodejs/iot_certification_linux_nodejs.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_amqp_receive_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_amqp_receive_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_amqp_send_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_amqp_send_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_http_receive_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_http_receive_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_http_send_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_http_send_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_modified_output.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_mqtt_receive_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_mqtt_receive_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_mqtt_send_message_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/images/python_mqtt_send_message_device_explorer.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_linux_python/iot_certification_linux_python.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_01_a.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_05.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_2_06.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_1_01.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_1_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_1_04.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_1_05.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_2_01.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/3_3_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_mbed_c/iot_certification_mbed_c.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_openwrt-arduino_c/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_openwrt-arduino_c/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_openwrt-arduino_c/iot_certification_openwrt-arduino_c.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_port_c_libraries_other_platforms/images/3_2_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_port_c_libraries_other_platforms/images/3_2_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_port_c_libraries_other_platforms/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_port_c_libraries_other_platforms/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_port_c_libraries_other_platforms/iot_certification_port_c_libraries_other_platforms.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_ti_cc3200_c/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_ti_cc3200_c/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_ti_cc3200_c/iot_certification_ti_cc3200_c.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/device_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/navigation_1.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/navigation_2.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/images/terminal_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_csharp/iot_certification_windows10_csharp.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/device_explorer_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/device_explorer_monitor.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/device_explorer_notification_send.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/vs_install_tools_for_windows10.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/vs_properties_debug.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/images/vs_select_arch.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_csharp/iot_certification_windows10_iot_core_csharp.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/Delete_old_files.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/Include_In_Project.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/Remove_extra_package.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/copy_files.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/device_explorer_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/device_explorer_monitor.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/device_explorer_notification_send.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/install-missing-npm-packages.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/nodejs_project.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/open_project_in_file_explorer.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/project_file_explorer.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/show_all_files.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/vs_install_tools_for_windows10.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/vs_project_template_for_nodejs_uwp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/vs_properties_debug.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/images/vs_select_arch.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows10_iot_core_nodejs/iot_certification_windows10_iot_core_nodejs.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/device_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/device_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/device_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/explorer_send_message_to_device.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/navigate_simplesampleamqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/project_amqp_config.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/project_amqp_debug.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/images/terminal_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_c/iot_certification_windows_c.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_explorer_amqp_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_explorer_amqp_ws_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_explorer_http_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_explorer_message_send.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/device_explorer_mqtt_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_amqp_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_amqp_send_event.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_amqp_ws_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_amqps_ws_send_event.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_http_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_http_send_event.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_mqtt_message_received.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/images/terminal_mqtt_send_event.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_java/iot_certification_windows_java.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/device_explorer_message_received.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/device_explorer_monitor.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send_view.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/navigation.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/vs_install_tools.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/vs_install_tools_menu.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/images/vs_properties_netmf.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_netmf_csharp/iot_certification_windows_netmf_csharp.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/3_3_1_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/3_3_1_03.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/3_3_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/3_3_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/images/device_configuration.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_nodejs/iot_certification_windows_nodejs.md (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/3_3_1_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/4_2_01.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/4_2_02.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/build_path_1.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/build_path_2.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/device_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/deviceexplorer_recieve_amqp.PNG (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_receive_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_receive_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_receive_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_send_from_device_amqp.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_send_from_device_http.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/images/terminal_message_send_from_device_mqtt.png (100%) rename iotcertification/{ => Archive Certification Instructions}/iot_certification_windows_python/iot_certification_windows_python.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-linux-c.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-linux-java.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-linux-nodejs.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-linux-python.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-c.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-csharp.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-iotcore-csharp.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-java.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-netmf-csharp.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-nodejs.md (100%) rename iotcertification/{templates => Get_Started_Templates/Azure-Certified-Device}/template-windows-python.md (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/-f.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/Capture.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/azure_results.PNG (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/devicetwin.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/devicetwinmessage.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/edgemodule_logs.PNG (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/edgemodule_status.PNG (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/firmware.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/iotedgedaemon.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/reboot.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/images/tempSensor.png (100%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/template-linux-for-edge.md (97%) rename iotcertification/{iotedge/iotedge_get_started_template => Get_Started_Templates/Edge-Managed}/template-windows-for-edge.md (97%) rename iotcertification/{templates => Get_Started_Templates/IoT-Plug-and-Play}/template-plug-and-play-getstarted.md (97%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/Archive/iotedge_getstarted.md (98%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/images/1.PNG (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/images/2.PNG (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/images/4_2_01.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/images/4_2_02.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_linux/images/4_2_01.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_linux/images/4_2_02.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_linux/iotedge_certification_linux.md (97%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_windows/images/4_2_01.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_windows/images/4_2_02.png (100%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_certification_windows/iotedge_certification_windows.md (97%) rename iotcertification/{iotedge => IoT_Edge_Certification_Instructions}/iotedge_getstarted.md (100%) diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_01.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_02.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_03.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_03.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_03.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_03.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_04.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_04.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_04.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_04.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_05.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_05.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_05.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_05.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_06.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_06.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_06.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_06.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_1_07.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_07.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_1_07.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_1_07.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_2_01.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_01.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_2_01.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_01.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_2_02.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_02.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_2_02.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_02.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_2_03.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_03.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_2_03.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_03.png diff --git a/iotcertification/iot-certification_android_nodejs/images/3_3_2_04.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_04.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/3_3_2_04.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/3_3_2_04.png diff --git a/iotcertification/iot-certification_android_nodejs/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/4_2_01.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/4_2_01.png diff --git a/iotcertification/iot-certification_android_nodejs/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/4_2_02.png similarity index 100% rename from iotcertification/iot-certification_android_nodejs/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/images/4_2_02.png diff --git a/iotcertification/iot-certification_android_nodejs/iot_certification_android_nodejs.md b/iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/iot_certification_android_nodejs.md similarity index 100% rename from iotcertification/iot-certification_android_nodejs/iot_certification_android_nodejs.md rename to iotcertification/Archive Certification Instructions/iot-certification_android_nodejs/iot_certification_android_nodejs.md diff --git a/iotcertification/iot_certification_android_java/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/4_2_01.png diff --git a/iotcertification/iot_certification_android_java/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/4_2_02.png diff --git a/iotcertification/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_http.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_http.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_http.png diff --git a/iotcertification/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_mqtt.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_receivemessage_mqtt.png diff --git a/iotcertification/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_http.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_http.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_http.png diff --git a/iotcertification/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_mqtt.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/androidmonitor_logcat_sendmessages_mqtt.png diff --git a/iotcertification/iot_certification_android_java/images/de_monitordevice.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_monitordevice.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/de_monitordevice.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_monitordevice.png diff --git a/iotcertification/iot_certification_android_java/images/de_receivemessage.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_receivemessage.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/de_receivemessage.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_receivemessage.png diff --git a/iotcertification/iot_certification_android_java/images/de_sendmessages_http.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_sendmessages_http.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/de_sendmessages_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_sendmessages_http.png diff --git a/iotcertification/iot_certification_android_java/images/de_sendmessages_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_sendmessages_mqtt.png similarity index 100% rename from iotcertification/iot_certification_android_java/images/de_sendmessages_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/images/de_sendmessages_mqtt.png diff --git a/iotcertification/iot_certification_android_java/iot_certification_android_java.md b/iotcertification/Archive Certification Instructions/iot_certification_android_java/iot_certification_android_java.md similarity index 100% rename from iotcertification/iot_certification_android_java/iot_certification_android_java.md rename to iotcertification/Archive Certification Instructions/iot_certification_android_java/iot_certification_android_java.md diff --git a/iotcertification/iot_certification_linux_c/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_linux_c/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_02.png diff --git a/iotcertification/iot_certification_linux_c/images/3_3_1_04.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_04.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/3_3_1_04.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_04.png diff --git a/iotcertification/iot_certification_linux_c/images/3_3_1_06.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_06.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/3_3_1_06.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_06.png diff --git a/iotcertification/iot_certification_linux_c/images/3_3_1_07.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_07.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/3_3_1_07.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/3_3_1_07.png diff --git a/iotcertification/iot_certification_linux_c/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/4_2_01.png diff --git a/iotcertification/iot_certification_linux_c/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_c/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/4_2_02.png diff --git a/iotcertification/iot_certification_linux_c/images/python_modified_output.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/python_modified_output.PNG similarity index 100% rename from iotcertification/iot_certification_linux_c/images/python_modified_output.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/images/python_modified_output.PNG diff --git a/iotcertification/iot_certification_linux_c/iot_certification_linux_c.md b/iotcertification/Archive Certification Instructions/iot_certification_linux_c/iot_certification_linux_c.md similarity index 100% rename from iotcertification/iot_certification_linux_c/iot_certification_linux_c.md rename to iotcertification/Archive Certification Instructions/iot_certification_linux_c/iot_certification_linux_c.md diff --git a/iotcertification/iot_certification_linux_csharp_docker/Dockerfile b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/Dockerfile similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/Dockerfile rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/Dockerfile diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_02.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_04.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_04.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_04.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_04.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_06.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_06.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_06.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_06.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_07.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_07.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/3_3_1_07.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/3_3_1_07.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/4_2_01.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/4_2_02.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/device_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/device_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/python_modified_output.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/python_modified_output.PNG similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/python_modified_output.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/python_modified_output.PNG diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/images/terminal_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_linux_csharp_docker/iot_certification_linux_csharp_docker.md b/iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/iot_certification_linux_csharp_docker.md similarity index 100% rename from iotcertification/iot_certification_linux_csharp_docker/iot_certification_linux_csharp_docker.md rename to iotcertification/Archive Certification Instructions/iot_certification_linux_csharp_docker/iot_certification_linux_csharp_docker.md diff --git a/iotcertification/iot_certification_linux_java/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_linux_java/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/4_2_01.png diff --git a/iotcertification/iot_certification_linux_java/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/4_2_02.png diff --git a/iotcertification/iot_certification_linux_java/images/device_explorer_amqp_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_amqp_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/device_explorer_amqp_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_amqp_message_received.PNG diff --git a/iotcertification/iot_certification_linux_java/images/device_explorer_amqp_ws_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_amqp_ws_message_received.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/device_explorer_amqp_ws_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_amqp_ws_message_received.png diff --git a/iotcertification/iot_certification_linux_java/images/device_explorer_http_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_http_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/device_explorer_http_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_http_message_received.PNG diff --git a/iotcertification/iot_certification_linux_java/images/device_explorer_message_send.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_message_send.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/device_explorer_message_send.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_message_send.PNG diff --git a/iotcertification/iot_certification_linux_java/images/device_explorer_mqtt_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_mqtt_message_received.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/device_explorer_mqtt_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/device_explorer_mqtt_message_received.png diff --git a/iotcertification/iot_certification_linux_java/images/python_modified_output.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/python_modified_output.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/python_modified_output.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/python_modified_output.PNG diff --git a/iotcertification/iot_certification_linux_java/images/terminal_amqp_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_amqp_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_message_received.PNG diff --git a/iotcertification/iot_certification_linux_java/images/terminal_amqp_send_event.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_send_event.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_amqp_send_event.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_send_event.PNG diff --git a/iotcertification/iot_certification_linux_java/images/terminal_amqp_ws_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_ws_message_received.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_amqp_ws_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqp_ws_message_received.png diff --git a/iotcertification/iot_certification_linux_java/images/terminal_amqps_ws_send_event.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqps_ws_send_event.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_amqps_ws_send_event.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_amqps_ws_send_event.png diff --git a/iotcertification/iot_certification_linux_java/images/terminal_http_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_http_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_http_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_http_message_received.PNG diff --git a/iotcertification/iot_certification_linux_java/images/terminal_http_send_event.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_http_send_event.PNG similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_http_send_event.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_http_send_event.PNG diff --git a/iotcertification/iot_certification_linux_java/images/terminal_mqtt_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_mqtt_message_received.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_mqtt_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_mqtt_message_received.png diff --git a/iotcertification/iot_certification_linux_java/images/terminal_mqtt_send_event.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_mqtt_send_event.png similarity index 100% rename from iotcertification/iot_certification_linux_java/images/terminal_mqtt_send_event.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/images/terminal_mqtt_send_event.png diff --git a/iotcertification/iot_certification_linux_java/iot_certification_linux_java.md b/iotcertification/Archive Certification Instructions/iot_certification_linux_java/iot_certification_linux_java.md similarity index 100% rename from iotcertification/iot_certification_linux_java/iot_certification_linux_java.md rename to iotcertification/Archive Certification Instructions/iot_certification_linux_java/iot_certification_linux_java.md diff --git a/iotcertification/iot_certification_linux_nodejs/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_02.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/3_3_1_03.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_03.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/3_3_1_03.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_1_03.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/3_3_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/3_3_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_2_01.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/3_3_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/3_3_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/3_3_2_02.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/4_2_01.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/4_2_02.png diff --git a/iotcertification/iot_certification_linux_nodejs/images/python_modified_output.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/python_modified_output.PNG similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/images/python_modified_output.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/images/python_modified_output.PNG diff --git a/iotcertification/iot_certification_linux_nodejs/iot_certification_linux_nodejs.md b/iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/iot_certification_linux_nodejs.md similarity index 100% rename from iotcertification/iot_certification_linux_nodejs/iot_certification_linux_nodejs.md rename to iotcertification/Archive Certification Instructions/iot_certification_linux_nodejs/iot_certification_linux_nodejs.md diff --git a/iotcertification/iot_certification_linux_python/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/4_2_01.png diff --git a/iotcertification/iot_certification_linux_python/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/4_2_02.png diff --git a/iotcertification/iot_certification_linux_python/images/python_amqp_receive_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_receive_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_amqp_receive_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_receive_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_amqp_receive_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_receive_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_amqp_receive_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_receive_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/images/python_amqp_send_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_send_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_amqp_send_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_send_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_amqp_send_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_send_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_amqp_send_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_amqp_send_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/images/python_http_receive_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_receive_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_http_receive_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_receive_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_http_receive_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_receive_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_http_receive_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_receive_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/images/python_http_send_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_send_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_http_send_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_send_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_http_send_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_send_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_http_send_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_http_send_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/images/python_modified_output.PNG b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_modified_output.PNG similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_modified_output.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_modified_output.PNG diff --git a/iotcertification/iot_certification_linux_python/images/python_mqtt_receive_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_receive_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_mqtt_receive_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_receive_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_mqtt_receive_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_receive_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_mqtt_receive_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_receive_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/images/python_mqtt_send_message_device.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_send_message_device.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_mqtt_send_message_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_send_message_device.png diff --git a/iotcertification/iot_certification_linux_python/images/python_mqtt_send_message_device_explorer.png b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_send_message_device_explorer.png similarity index 100% rename from iotcertification/iot_certification_linux_python/images/python_mqtt_send_message_device_explorer.png rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/images/python_mqtt_send_message_device_explorer.png diff --git a/iotcertification/iot_certification_linux_python/iot_certification_linux_python.md b/iotcertification/Archive Certification Instructions/iot_certification_linux_python/iot_certification_linux_python.md similarity index 100% rename from iotcertification/iot_certification_linux_python/iot_certification_linux_python.md rename to iotcertification/Archive Certification Instructions/iot_certification_linux_python/iot_certification_linux_python.md diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_01.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_01.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_01_a.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_01_a.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_01_a.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_01_a.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_02.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_02.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_03.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_03.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_03.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_03.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_04.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_04.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_04.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_04.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_05.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_05.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_05.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_05.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_2_06.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_06.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_2_06.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_2_06.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_1_01.PNG b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_01.PNG similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_1_01.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_01.PNG diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_02.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_1_03.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_03.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_1_03.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_03.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_1_04.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_04.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_1_04.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_04.png diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_1_05.PNG b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_05.PNG similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_1_05.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_1_05.PNG diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_2_01.PNG b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_2_01.PNG similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_2_01.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_2_01.PNG diff --git a/iotcertification/iot_certification_mbed_c/images/3_3_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_2_02.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/3_3_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/3_3_2_02.png diff --git a/iotcertification/iot_certification_mbed_c/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/4_2_01.png diff --git a/iotcertification/iot_certification_mbed_c/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_mbed_c/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/images/4_2_02.png diff --git a/iotcertification/iot_certification_mbed_c/iot_certification_mbed_c.md b/iotcertification/Archive Certification Instructions/iot_certification_mbed_c/iot_certification_mbed_c.md similarity index 100% rename from iotcertification/iot_certification_mbed_c/iot_certification_mbed_c.md rename to iotcertification/Archive Certification Instructions/iot_certification_mbed_c/iot_certification_mbed_c.md diff --git a/iotcertification/iot_certification_openwrt-arduino_c/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_openwrt-arduino_c/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/images/4_2_01.png diff --git a/iotcertification/iot_certification_openwrt-arduino_c/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_openwrt-arduino_c/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/images/4_2_02.png diff --git a/iotcertification/iot_certification_openwrt-arduino_c/iot_certification_openwrt-arduino_c.md b/iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/iot_certification_openwrt-arduino_c.md similarity index 100% rename from iotcertification/iot_certification_openwrt-arduino_c/iot_certification_openwrt-arduino_c.md rename to iotcertification/Archive Certification Instructions/iot_certification_openwrt-arduino_c/iot_certification_openwrt-arduino_c.md diff --git a/iotcertification/iot_certification_port_c_libraries_other_platforms/images/3_2_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/3_2_1_01.png similarity index 100% rename from iotcertification/iot_certification_port_c_libraries_other_platforms/images/3_2_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/3_2_1_01.png diff --git a/iotcertification/iot_certification_port_c_libraries_other_platforms/images/3_2_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/3_2_2_01.png similarity index 100% rename from iotcertification/iot_certification_port_c_libraries_other_platforms/images/3_2_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/3_2_2_01.png diff --git a/iotcertification/iot_certification_port_c_libraries_other_platforms/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_port_c_libraries_other_platforms/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/4_2_01.png diff --git a/iotcertification/iot_certification_port_c_libraries_other_platforms/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_port_c_libraries_other_platforms/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/images/4_2_02.png diff --git a/iotcertification/iot_certification_port_c_libraries_other_platforms/iot_certification_port_c_libraries_other_platforms.md b/iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/iot_certification_port_c_libraries_other_platforms.md similarity index 100% rename from iotcertification/iot_certification_port_c_libraries_other_platforms/iot_certification_port_c_libraries_other_platforms.md rename to iotcertification/Archive Certification Instructions/iot_certification_port_c_libraries_other_platforms/iot_certification_port_c_libraries_other_platforms.md diff --git a/iotcertification/iot_certification_ti_cc3200_c/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_ti_cc3200_c/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/images/4_2_01.png diff --git a/iotcertification/iot_certification_ti_cc3200_c/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_ti_cc3200_c/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/images/4_2_02.png diff --git a/iotcertification/iot_certification_ti_cc3200_c/iot_certification_ti_cc3200_c.md b/iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/iot_certification_ti_cc3200_c.md similarity index 100% rename from iotcertification/iot_certification_ti_cc3200_c/iot_certification_ti_cc3200_c.md rename to iotcertification/Archive Certification Instructions/iot_certification_ti_cc3200_c/iot_certification_ti_cc3200_c.md diff --git a/iotcertification/iot_certification_windows10_csharp/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/device_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/device_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/navigation_1.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/navigation_1.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/navigation_1.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/navigation_1.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/navigation_2.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/navigation_2.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/navigation_2.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/navigation_2.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/images/terminal_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/images/terminal_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows10_csharp/iot_certification_windows10_csharp.md b/iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/iot_certification_windows10_csharp.md similarity index 100% rename from iotcertification/iot_certification_windows10_csharp/iot_certification_windows10_csharp.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_csharp/iot_certification_windows10_csharp.md diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_message_received.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_monitor.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_monitor.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_monitor.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_monitor.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_notification_send.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_notification_send.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/device_explorer_notification_send.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/device_explorer_notification_send.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_install_tools_for_windows10.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_install_tools_for_windows10.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_install_tools_for_windows10.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_install_tools_for_windows10.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_properties_debug.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_properties_debug.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_properties_debug.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_properties_debug.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_select_arch.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_select_arch.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/images/vs_select_arch.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/images/vs_select_arch.png diff --git a/iotcertification/iot_certification_windows10_iot_core_csharp/iot_certification_windows10_iot_core_csharp.md b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/iot_certification_windows10_iot_core_csharp.md similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_csharp/iot_certification_windows10_iot_core_csharp.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_csharp/iot_certification_windows10_iot_core_csharp.md diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/Delete_old_files.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Delete_old_files.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/Delete_old_files.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Delete_old_files.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/Include_In_Project.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Include_In_Project.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/Include_In_Project.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Include_In_Project.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/Remove_extra_package.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Remove_extra_package.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/Remove_extra_package.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/Remove_extra_package.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/copy_files.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/copy_files.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/copy_files.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/copy_files.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_message_received.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_monitor.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_monitor.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_monitor.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_monitor.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_notification_send.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_notification_send.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/device_explorer_notification_send.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/device_explorer_notification_send.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/install-missing-npm-packages.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/install-missing-npm-packages.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/install-missing-npm-packages.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/install-missing-npm-packages.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/nodejs_project.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/nodejs_project.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/nodejs_project.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/nodejs_project.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/open_project_in_file_explorer.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/open_project_in_file_explorer.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/open_project_in_file_explorer.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/open_project_in_file_explorer.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/project_file_explorer.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/project_file_explorer.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/project_file_explorer.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/project_file_explorer.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/show_all_files.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/show_all_files.PNG similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/show_all_files.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/show_all_files.PNG diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_install_tools_for_windows10.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_install_tools_for_windows10.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_install_tools_for_windows10.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_install_tools_for_windows10.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_project_template_for_nodejs_uwp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_project_template_for_nodejs_uwp.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_project_template_for_nodejs_uwp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_project_template_for_nodejs_uwp.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_properties_debug.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_properties_debug.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_properties_debug.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_properties_debug.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_select_arch.png b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_select_arch.png similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/images/vs_select_arch.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/images/vs_select_arch.png diff --git a/iotcertification/iot_certification_windows10_iot_core_nodejs/iot_certification_windows10_iot_core_nodejs.md b/iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/iot_certification_windows10_iot_core_nodejs.md similarity index 100% rename from iotcertification/iot_certification_windows10_iot_core_nodejs/iot_certification_windows10_iot_core_nodejs.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows10_iot_core_nodejs/iot_certification_windows10_iot_core_nodejs.md diff --git a/iotcertification/iot_certification_windows_c/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_windows_c/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows_c/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows_c/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows_c/images/device_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/device_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_c/images/device_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/device_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows_c/images/device_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/device_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/device_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_c/images/explorer_send_message_to_device.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/explorer_send_message_to_device.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/explorer_send_message_to_device.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/explorer_send_message_to_device.png diff --git a/iotcertification/iot_certification_windows_c/images/navigate_simplesampleamqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/navigate_simplesampleamqp.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/navigate_simplesampleamqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/navigate_simplesampleamqp.png diff --git a/iotcertification/iot_certification_windows_c/images/project_amqp_config.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/project_amqp_config.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/project_amqp_config.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/project_amqp_config.png diff --git a/iotcertification/iot_certification_windows_c/images/project_amqp_debug.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/project_amqp_debug.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/project_amqp_debug.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/project_amqp_debug.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_c/images/terminal_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/images/terminal_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_c/iot_certification_windows_c.md b/iotcertification/Archive Certification Instructions/iot_certification_windows_c/iot_certification_windows_c.md similarity index 100% rename from iotcertification/iot_certification_windows_c/iot_certification_windows_c.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows_c/iot_certification_windows_c.md diff --git a/iotcertification/iot_certification_windows_java/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_windows_java/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows_java/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows_java/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows_java/images/device_explorer_amqp_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_amqp_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_explorer_amqp_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_amqp_message_received.PNG diff --git a/iotcertification/iot_certification_windows_java/images/device_explorer_amqp_ws_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_amqp_ws_message_received.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_explorer_amqp_ws_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_amqp_ws_message_received.png diff --git a/iotcertification/iot_certification_windows_java/images/device_explorer_http_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_http_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_explorer_http_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_http_message_received.PNG diff --git a/iotcertification/iot_certification_windows_java/images/device_explorer_message_send.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_message_send.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_explorer_message_send.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_message_send.PNG diff --git a/iotcertification/iot_certification_windows_java/images/device_explorer_mqtt_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_mqtt_message_received.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/device_explorer_mqtt_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/device_explorer_mqtt_message_received.png diff --git a/iotcertification/iot_certification_windows_java/images/terminal_amqp_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_amqp_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_message_received.PNG diff --git a/iotcertification/iot_certification_windows_java/images/terminal_amqp_send_event.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_send_event.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_amqp_send_event.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_send_event.PNG diff --git a/iotcertification/iot_certification_windows_java/images/terminal_amqp_ws_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_ws_message_received.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_amqp_ws_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqp_ws_message_received.png diff --git a/iotcertification/iot_certification_windows_java/images/terminal_amqps_ws_send_event.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqps_ws_send_event.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_amqps_ws_send_event.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_amqps_ws_send_event.png diff --git a/iotcertification/iot_certification_windows_java/images/terminal_http_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_http_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_http_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_http_message_received.PNG diff --git a/iotcertification/iot_certification_windows_java/images/terminal_http_send_event.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_http_send_event.PNG similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_http_send_event.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_http_send_event.PNG diff --git a/iotcertification/iot_certification_windows_java/images/terminal_mqtt_message_received.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_mqtt_message_received.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_mqtt_message_received.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_mqtt_message_received.png diff --git a/iotcertification/iot_certification_windows_java/images/terminal_mqtt_send_event.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_mqtt_send_event.png similarity index 100% rename from iotcertification/iot_certification_windows_java/images/terminal_mqtt_send_event.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/images/terminal_mqtt_send_event.png diff --git a/iotcertification/iot_certification_windows_java/iot_certification_windows_java.md b/iotcertification/Archive Certification Instructions/iot_certification_windows_java/iot_certification_windows_java.md similarity index 100% rename from iotcertification/iot_certification_windows_java/iot_certification_windows_java.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows_java/iot_certification_windows_java.md diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_message_received.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_message_received.PNG similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_message_received.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_message_received.PNG diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_monitor.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_monitor.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_monitor.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_monitor.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send_view.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send_view.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send_view.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/device_explorer_notification_send_view.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/navigation.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/navigation.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/navigation.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/navigation.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/vs_install_tools.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_install_tools.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/vs_install_tools.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_install_tools.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/vs_install_tools_menu.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_install_tools_menu.png similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/vs_install_tools_menu.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_install_tools_menu.png diff --git a/iotcertification/iot_certification_windows_netmf_csharp/images/vs_properties_netmf.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_properties_netmf.PNG similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/images/vs_properties_netmf.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/images/vs_properties_netmf.PNG diff --git a/iotcertification/iot_certification_windows_netmf_csharp/iot_certification_windows_netmf_csharp.md b/iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/iot_certification_windows_netmf_csharp.md similarity index 100% rename from iotcertification/iot_certification_windows_netmf_csharp/iot_certification_windows_netmf_csharp.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows_netmf_csharp/iot_certification_windows_netmf_csharp.md diff --git a/iotcertification/iot_certification_windows_nodejs/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/3_3_1_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_02.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/3_3_1_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_02.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/3_3_1_03.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_03.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/3_3_1_03.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_1_03.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/3_3_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/3_3_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_2_01.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/3_3_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/3_3_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/3_3_2_02.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows_nodejs/images/device_configuration.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/device_configuration.png similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/images/device_configuration.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/images/device_configuration.png diff --git a/iotcertification/iot_certification_windows_nodejs/iot_certification_windows_nodejs.md b/iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/iot_certification_windows_nodejs.md similarity index 100% rename from iotcertification/iot_certification_windows_nodejs/iot_certification_windows_nodejs.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows_nodejs/iot_certification_windows_nodejs.md diff --git a/iotcertification/iot_certification_windows_python/images/3_3_1_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/3_3_1_01.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/3_3_1_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/3_3_1_01.png diff --git a/iotcertification/iot_certification_windows_python/images/4_2_01.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/4_2_01.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/4_2_01.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/4_2_01.png diff --git a/iotcertification/iot_certification_windows_python/images/4_2_02.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/4_2_02.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/4_2_02.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/4_2_02.png diff --git a/iotcertification/iot_certification_windows_python/images/build_path_1.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/build_path_1.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/build_path_1.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/build_path_1.png diff --git a/iotcertification/iot_certification_windows_python/images/build_path_2.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/build_path_2.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/build_path_2.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/build_path_2.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows_python/images/device_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/device_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/device_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_python/images/deviceexplorer_recieve_amqp.PNG b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/deviceexplorer_recieve_amqp.PNG similarity index 100% rename from iotcertification/iot_certification_windows_python/images/deviceexplorer_recieve_amqp.PNG rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/deviceexplorer_recieve_amqp.PNG diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_http.png diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_receive_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_receive_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_amqp.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_amqp.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_amqp.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_amqp.png diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_http.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_http.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_http.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_http.png diff --git a/iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_mqtt.png b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_mqtt.png similarity index 100% rename from iotcertification/iot_certification_windows_python/images/terminal_message_send_from_device_mqtt.png rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/images/terminal_message_send_from_device_mqtt.png diff --git a/iotcertification/iot_certification_windows_python/iot_certification_windows_python.md b/iotcertification/Archive Certification Instructions/iot_certification_windows_python/iot_certification_windows_python.md similarity index 100% rename from iotcertification/iot_certification_windows_python/iot_certification_windows_python.md rename to iotcertification/Archive Certification Instructions/iot_certification_windows_python/iot_certification_windows_python.md diff --git a/iotcertification/templates/template-linux-c.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-c.md similarity index 100% rename from iotcertification/templates/template-linux-c.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-c.md diff --git a/iotcertification/templates/template-linux-java.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-java.md similarity index 100% rename from iotcertification/templates/template-linux-java.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-java.md diff --git a/iotcertification/templates/template-linux-nodejs.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-nodejs.md similarity index 100% rename from iotcertification/templates/template-linux-nodejs.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-nodejs.md diff --git a/iotcertification/templates/template-linux-python.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-python.md similarity index 100% rename from iotcertification/templates/template-linux-python.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-linux-python.md diff --git a/iotcertification/templates/template-windows-c.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-c.md similarity index 100% rename from iotcertification/templates/template-windows-c.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-c.md diff --git a/iotcertification/templates/template-windows-csharp.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-csharp.md similarity index 100% rename from iotcertification/templates/template-windows-csharp.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-csharp.md diff --git a/iotcertification/templates/template-windows-iotcore-csharp.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-iotcore-csharp.md similarity index 100% rename from iotcertification/templates/template-windows-iotcore-csharp.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-iotcore-csharp.md diff --git a/iotcertification/templates/template-windows-java.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-java.md similarity index 100% rename from iotcertification/templates/template-windows-java.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-java.md diff --git a/iotcertification/templates/template-windows-netmf-csharp.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-netmf-csharp.md similarity index 100% rename from iotcertification/templates/template-windows-netmf-csharp.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-netmf-csharp.md diff --git a/iotcertification/templates/template-windows-nodejs.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-nodejs.md similarity index 100% rename from iotcertification/templates/template-windows-nodejs.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-nodejs.md diff --git a/iotcertification/templates/template-windows-python.md b/iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-python.md similarity index 100% rename from iotcertification/templates/template-windows-python.md rename to iotcertification/Get_Started_Templates/Azure-Certified-Device/template-windows-python.md diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/-f.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/-f.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/-f.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/-f.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/Capture.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/Capture.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/Capture.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/Capture.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/azure_results.PNG b/iotcertification/Get_Started_Templates/Edge-Managed/images/azure_results.PNG similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/azure_results.PNG rename to iotcertification/Get_Started_Templates/Edge-Managed/images/azure_results.PNG diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/devicetwin.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/devicetwin.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/devicetwin.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/devicetwin.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/devicetwinmessage.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/devicetwinmessage.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/devicetwinmessage.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/devicetwinmessage.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/edgemodule_logs.PNG b/iotcertification/Get_Started_Templates/Edge-Managed/images/edgemodule_logs.PNG similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/edgemodule_logs.PNG rename to iotcertification/Get_Started_Templates/Edge-Managed/images/edgemodule_logs.PNG diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/edgemodule_status.PNG b/iotcertification/Get_Started_Templates/Edge-Managed/images/edgemodule_status.PNG similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/edgemodule_status.PNG rename to iotcertification/Get_Started_Templates/Edge-Managed/images/edgemodule_status.PNG diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/firmware.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/firmware.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/firmware.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/firmware.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/iotedgedaemon.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/iotedgedaemon.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/iotedgedaemon.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/iotedgedaemon.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/reboot.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/reboot.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/reboot.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/reboot.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/images/tempSensor.png b/iotcertification/Get_Started_Templates/Edge-Managed/images/tempSensor.png similarity index 100% rename from iotcertification/iotedge/iotedge_get_started_template/images/tempSensor.png rename to iotcertification/Get_Started_Templates/Edge-Managed/images/tempSensor.png diff --git a/iotcertification/iotedge/iotedge_get_started_template/template-linux-for-edge.md b/iotcertification/Get_Started_Templates/Edge-Managed/template-linux-for-edge.md similarity index 97% rename from iotcertification/iotedge/iotedge_get_started_template/template-linux-for-edge.md rename to iotcertification/Get_Started_Templates/Edge-Managed/template-linux-for-edge.md index 975ff59..0a75633 100644 --- a/iotcertification/iotedge/iotedge_get_started_template/template-linux-for-edge.md +++ b/iotcertification/Get_Started_Templates/Edge-Managed/template-linux-for-edge.md @@ -1,169 +1,169 @@ ---- -platform: {enter the OS name running on edge device} -device: {enter your device name here} -language: {enter the language used to you edge device} ---- - -*We highly recommend keeping this document current, and Microsoft reserves a right to remove devices and documents from the Azure IoT Device Catalog if document contains broken URL links, incorrect information etc.* - -Run a simple {enter the language used to you edge device} sample on {enter your device name here} device running {enter the OS name running on edge device. Specify distribution or Windows SKU information. Ex: Ubuntu Sever 16.04, Windows 10 IoT Core. Only [Tier 1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) is allowed} -=== ---- - -# Table of Contents - -- [Introduction](#Introduction) -- [Step 1: Prerequisites](#Prerequisites) -- [Step 2: Prepare your Device](#PrepareDevice) -- [Step 3: Manual Test for Azure IoT Edge on device](#Manual) -- [Step 4: Next Steps](#NextSteps) -- [Step 5: Troubleshooting](#Step-5-Troubleshooting) - -# Instructions for using this template - -- Replace the text in {placeholders} with correct values. -- Delete the lines {{enclosed}} after following the instructions enclosed between them. -- It is advisable to use external links, wherever possible. -- Remove this section from final document. - - -# Introduction - -**About this document** - -This document describes how to connect {enter your device name here} device running {enter the OS name running on edge device} with Azure IoT Edge Runtime pre-installed and Device Management. This multi-step process includes: - -- Configuring Azure IoT Hub -- Registering your IoT device -- Build and Deploy client component to test device management capability - - -# Step 1: Prerequisites - -You should have the following items ready before beginning the process: - -- [Prepare your development environment][setup-devbox-linux] -- [Setup your IoT hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) -- [Provision your device and get its credentials](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md) -- [Sign up to IOT Hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) -- [Add the Edge Device](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux) -- [Add the Edge Modules](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux#deploy-a-module) -- {enter your device name here} device. -- {{Please specify if any other software(s) or hardware(s) are required.}} - - -# Step 2: Prepare your Device - -- {{Write down the instructions required to setup, configure and connect your device. Please use external links when possible pointing to your own page with device preparation steps.}} - - -# Step 3: Manual Test for Azure IoT Edge on device - -This section walks you through the test to be performed on the Edge devices running the Linux operating system such that it can qualify for Azure IoT Edge certification. - - -## 3.1 Edge RuntimeEnabled (Mandatory) - -**Details of the requirement:** - -The following components come pre-installed or at the point of distribution on the device to customer(s): - -- Azure IoT Edge Security Daemon -- Daemon configuration file -- Moby container management system -- A version of `hsmlib` - -*Edge Runtime Enabled:* - -**Check the iotedge daemon command:** - -Open the command prompt on your IoT Edge device , confirm that the Azure IoT edge Daemon is under running state - - systemctl status iotedge - - ![](./images/Capture.png) - -Open the command prompt on your IoT Edge device, confirm that the module deployed from the cloud is running on your IoT Edge device - - sudo iotedge list - - ![](./images/iotedgedaemon.png) - -On the device details page of the Azure, you should see the runtime modules - edgeAgent, edgeHub and tempSensor modueles are under running status - - ![](./images/tempSensor.png) - - -## 3.2 Device Management (Optional) - -**Pre-requisites:** Device Connectivity. - -**Description:** A device that can perform basic device management operations (Reboot and Firmware update) triggered by messages from IoT Hub. - -## 3.2.1 Firmware Update (Using Microsoft SDK Samples): - -Specify the path {{enter the path}} where the firmwareupdate client components are installed. - -To run the simulated device application, open a shell or command prompt window and navigate to the **iot-hub/Tutorials/FirmwareUpdate** folder in the Node.js project you downloaded. Then run the following commands: - - npm install - node SimulatedDevice.js "{your device connection string}" - -To run the back-end application, open another shell or command prompt window. Then navigate to the **iot-hub/Tutorials/FirmwareUpdate** folder in the Node.js project you downloaded. Then run the following commands: - - npm install - node ServiceClient.js "{your service connection string}" - -IoT device client will get the message and report the status to the device twin. - - ![](./images/devicetwin.png) - -**Update firmware** - -Confirm the IoT hub, Device ID, method name and method payload as below: - -- Press “call Method” button -- Check the returning status as below: - - ![](./images/firmware.png) - - -## 3.2.2 Reboot (Using Microsoft SDK Samples): - -Specify the path {{enter the path}} where the components are installed - -Confirm the IoT hub, Device ID, method name as below: - -- Press “call Method” button -- Check the returning status as below: - - ![](./images/reboot.png) - - -IoT device client will get the message and report the status to the device twin. - - ![](./images/devicetwinmessage.png) - -## 3.3.3 Firmware Update (Modified SDK samples/Custom made application): - -If the Client components are custom made please add the steps to execute the Firmware Update through Device Twin. - -**Note**: Client Components must be shipped with the device - -## 3.3.4 Reboot (Modified SDK samples/Custom made application): - -If the Client components are custom made please add the steps to execute the Device Reboot through Direct Methods - -**Note**: Client Components must be shipped with the device - - -# Step 4: Next steps - -Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. - - -# Step 5: Troubleshooting - -Please contact engineering support on **** for help with troubleshooting. - -[setup-devbox-linux]: https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/devbox_setup.md +--- +platform: {enter the OS name running on edge device} +device: {enter your device name here} +language: {enter the language used to you edge device} +--- + +*We highly recommend keeping this document current, and Microsoft reserves a right to remove devices and documents from the Azure IoT Device Catalog if document contains broken URL links, incorrect information etc.* + +Run a simple {enter the language used to you edge device} sample on {enter your device name here} device running {enter the OS name running on edge device. Specify distribution or Windows SKU information. Ex: Ubuntu Sever 16.04, Windows 10 IoT Core. Only [Tier 1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) is allowed} +=== +--- + +# Table of Contents + +- [Introduction](#Introduction) +- [Step 1: Prerequisites](#Prerequisites) +- [Step 2: Prepare your Device](#PrepareDevice) +- [Step 3: Manual Test for Azure IoT Edge on device](#Manual) +- [Step 4: Next Steps](#NextSteps) +- [Step 5: Troubleshooting](#Step-5-Troubleshooting) + +# Instructions for using this template + +- Replace the text in {placeholders} with correct values. +- Delete the lines {{enclosed}} after following the instructions enclosed between them. +- It is advisable to use external links, wherever possible. +- Remove this section from final document. + + +# Introduction + +**About this document** + +This document describes how to connect {enter your device name here} device running {enter the OS name running on edge device} with Azure IoT Edge Runtime pre-installed and Device Management. This multi-step process includes: + +- Configuring Azure IoT Hub +- Registering your IoT device +- Build and Deploy client component to test device management capability + + +# Step 1: Prerequisites + +You should have the following items ready before beginning the process: + +- [Prepare your development environment][setup-devbox-linux] +- [Setup your IoT hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) +- [Provision your device and get its credentials](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md) +- [Sign up to IOT Hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) +- [Add the Edge Device](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux) +- [Add the Edge Modules](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux#deploy-a-module) +- {enter your device name here} device. +- {{Please specify if any other software(s) or hardware(s) are required.}} + + +# Step 2: Prepare your Device + +- {{Write down the instructions required to setup, configure and connect your device. Please use external links when possible pointing to your own page with device preparation steps.}} + + +# Step 3: Manual Test for Azure IoT Edge on device + +This section walks you through the test to be performed on the Edge devices running the Linux operating system such that it can qualify for Azure IoT Edge certification. + + +## 3.1 Edge RuntimeEnabled (Mandatory) + +**Details of the requirement:** + +The following components come pre-installed or at the point of distribution on the device to customer(s): + +- Azure IoT Edge Security Daemon +- Daemon configuration file +- Moby container management system +- A version of `hsmlib` + +*Edge Runtime Enabled:* + +**Check the iotedge daemon command:** + +Open the command prompt on your IoT Edge device , confirm that the Azure IoT edge Daemon is under running state + + systemctl status iotedge + + ![](./images/Capture.png) + +Open the command prompt on your IoT Edge device, confirm that the module deployed from the cloud is running on your IoT Edge device + + sudo iotedge list + + ![](./images/iotedgedaemon.png) + +On the device details page of the Azure, you should see the runtime modules - edgeAgent, edgeHub and tempSensor modueles are under running status + + ![](./images/tempSensor.png) + + +## 3.2 Device Management (Optional) + +**Pre-requisites:** Device Connectivity. + +**Description:** A device that can perform basic device management operations (Reboot and Firmware update) triggered by messages from IoT Hub. + +## 3.2.1 Firmware Update (Using Microsoft SDK Samples): + +Specify the path {{enter the path}} where the firmwareupdate client components are installed. + +To run the simulated device application, open a shell or command prompt window and navigate to the **iot-hub/Tutorials/FirmwareUpdate** folder in the Node.js project you downloaded. Then run the following commands: + + npm install + node SimulatedDevice.js "{your device connection string}" + +To run the back-end application, open another shell or command prompt window. Then navigate to the **iot-hub/Tutorials/FirmwareUpdate** folder in the Node.js project you downloaded. Then run the following commands: + + npm install + node ServiceClient.js "{your service connection string}" + +IoT device client will get the message and report the status to the device twin. + + ![](./images/devicetwin.png) + +**Update firmware** + +Confirm the IoT hub, Device ID, method name and method payload as below: + +- Press “call Method” button +- Check the returning status as below: + + ![](./images/firmware.png) + + +## 3.2.2 Reboot (Using Microsoft SDK Samples): + +Specify the path {{enter the path}} where the components are installed + +Confirm the IoT hub, Device ID, method name as below: + +- Press “call Method” button +- Check the returning status as below: + + ![](./images/reboot.png) + + +IoT device client will get the message and report the status to the device twin. + + ![](./images/devicetwinmessage.png) + +## 3.3.3 Firmware Update (Modified SDK samples/Custom made application): + +If the Client components are custom made please add the steps to execute the Firmware Update through Device Twin. + +**Note**: Client Components must be shipped with the device + +## 3.3.4 Reboot (Modified SDK samples/Custom made application): + +If the Client components are custom made please add the steps to execute the Device Reboot through Direct Methods + +**Note**: Client Components must be shipped with the device + + +# Step 4: Next steps + +Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. + + +# Step 5: Troubleshooting + +Please contact engineering support on **** for help with troubleshooting. + +[setup-devbox-linux]: https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/devbox_setup.md diff --git a/iotcertification/iotedge/iotedge_get_started_template/template-windows-for-edge.md b/iotcertification/Get_Started_Templates/Edge-Managed/template-windows-for-edge.md similarity index 97% rename from iotcertification/iotedge/iotedge_get_started_template/template-windows-for-edge.md rename to iotcertification/Get_Started_Templates/Edge-Managed/template-windows-for-edge.md index 26abd0f..27c5f0d 100644 --- a/iotcertification/iotedge/iotedge_get_started_template/template-windows-for-edge.md +++ b/iotcertification/Get_Started_Templates/Edge-Managed/template-windows-for-edge.md @@ -1,108 +1,108 @@ ---- -platform: {enter the OS name running on edge device} -device: {enter your device name here} -language: {enter the language used to you edge device} ---- - -*We highly recommend keeping this document current, and Microsoft reserves a right to remove devices and documents from the Azure IoT Device Catalog if document contains broken URL links, incorrect information etc.* - -Run a simple {enter the language used to you edge device} sample on {enter your device name here} device running {enter the OS name running on edge device. Specify distribution or Windows SKU information. Ex: Ubuntu Sever 16.04, Windows 10 IoT Core. Only [Tier 1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) is allowed} -=== ---- - -# Table of Contents - -- [Introduction](#Introduction) -- [Step 1: Prerequisites](#Prerequisites) -- [Step 2: Prepare your Device](#PrepareDevice) -- [Step 3: Manual Test for Azure IoT Edge on device](#Manual) -- [Step 4: Next Steps](#NextSteps) -- [Step 5: Troubleshooting](#Step-5-Troubleshooting) - -# Instructions for using this template - -- Replace the text in {placeholders} with correct values. -- Delete the lines {{enclosed}} after following the instructions enclosed between them. -- It is advisable to use external links, wherever possible. -- Remove this section from final document. - - -# Introduction - -**About this document** - -This document describes how to connect {enter your device name here} device running {enter the OS name running on edge device} with Azure IoT Edge Runtime pre-installed and Device Management. This multi-step process includes: - -- Configuring Azure IoT Hub -- Registering your IoT device -- Build and Deploy client component to test device management capability - - -# Step 1: Prerequisites - -You should have the following items ready before beginning the process: - -- [Prepare your development environment][setup-devbox-windows] -- [Setup your IoT hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) -- [Provision your device and get its credentials](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md) -- [Sign up to IOT Hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) -- [Add the Edge Device](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart) -- [Add the Edge Modules](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart#deploy-a-module) -- {enter your device name here} device. -- {{Please specify if any other software(s) or hardware(s) are required.}} - - -# Step 2: Prepare your Device - -- {{Write down the instructions required to setup, configure and connect your device. Please use external links when possible pointing to your own page with device preparation steps.}} - - -# Step 3: Manual Test for Azure IoT Edge on device - -This section walks you through the test to be performed on the Edge devices running the Windows operating system such that it can qualify for Azure IoT Edge certification. - - -## 3.1 Edge RuntimeEnabled (Mandatory) - -**Details of the requirement:** - -The following components come pre-installed or at the point of distribution on the device to customer(s): - -- Azure IoT Edge Security Daemon -- Daemon configuration file -- Moby container management system -- A version of `hsmlib` - -*Edge Runtime Enabled:* - -Open the powershell on your IoT Edge device , confirm the status of the IoT Edge service. - - Get-Service iotedge - -Examine service logs from the last 5 minutes. If you just finished installing the IoT Edge runtime, you may see a list of errors from the time between running **Deploy-IoTEdge** and **Initialize-IoTEdge**. These errors are expected, as the service is trying to start before being configured. - - . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog - -List running modules. After a new installation, the only module you should see running is **edgeAgent**. After you [deploy IoT Edge modules](https://docs.microsoft.com/en-us/azure/iot-edge/how-to-deploy-modules-portal), you will see others. - - iotedge list - -![](images/edgemodule_status.PNG) - -View the messages being sent from the module you created to the cloud. - - iotedge logs {module name} - -![](images/edgemodule_logs.PNG) - - -# Step 4: Next steps - -Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. - - -# Step 5: Troubleshooting - -Please contact engineering support on **** for help with troubleshooting. - -[setup-devbox-windows]: https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/devbox_setup.md +--- +platform: {enter the OS name running on edge device} +device: {enter your device name here} +language: {enter the language used to you edge device} +--- + +*We highly recommend keeping this document current, and Microsoft reserves a right to remove devices and documents from the Azure IoT Device Catalog if document contains broken URL links, incorrect information etc.* + +Run a simple {enter the language used to you edge device} sample on {enter your device name here} device running {enter the OS name running on edge device. Specify distribution or Windows SKU information. Ex: Ubuntu Sever 16.04, Windows 10 IoT Core. Only [Tier 1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) is allowed} +=== +--- + +# Table of Contents + +- [Introduction](#Introduction) +- [Step 1: Prerequisites](#Prerequisites) +- [Step 2: Prepare your Device](#PrepareDevice) +- [Step 3: Manual Test for Azure IoT Edge on device](#Manual) +- [Step 4: Next Steps](#NextSteps) +- [Step 5: Troubleshooting](#Step-5-Troubleshooting) + +# Instructions for using this template + +- Replace the text in {placeholders} with correct values. +- Delete the lines {{enclosed}} after following the instructions enclosed between them. +- It is advisable to use external links, wherever possible. +- Remove this section from final document. + + +# Introduction + +**About this document** + +This document describes how to connect {enter your device name here} device running {enter the OS name running on edge device} with Azure IoT Edge Runtime pre-installed and Device Management. This multi-step process includes: + +- Configuring Azure IoT Hub +- Registering your IoT device +- Build and Deploy client component to test device management capability + + +# Step 1: Prerequisites + +You should have the following items ready before beginning the process: + +- [Prepare your development environment][setup-devbox-windows] +- [Setup your IoT hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) +- [Provision your device and get its credentials](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/manage_iot_hub.md) +- [Sign up to IOT Hub](https://account.windowsazure.com/signup?offer=ms-azr-0044p) +- [Add the Edge Device](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart) +- [Add the Edge Modules](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart#deploy-a-module) +- {enter your device name here} device. +- {{Please specify if any other software(s) or hardware(s) are required.}} + + +# Step 2: Prepare your Device + +- {{Write down the instructions required to setup, configure and connect your device. Please use external links when possible pointing to your own page with device preparation steps.}} + + +# Step 3: Manual Test for Azure IoT Edge on device + +This section walks you through the test to be performed on the Edge devices running the Windows operating system such that it can qualify for Azure IoT Edge certification. + + +## 3.1 Edge RuntimeEnabled (Mandatory) + +**Details of the requirement:** + +The following components come pre-installed or at the point of distribution on the device to customer(s): + +- Azure IoT Edge Security Daemon +- Daemon configuration file +- Moby container management system +- A version of `hsmlib` + +*Edge Runtime Enabled:* + +Open the powershell on your IoT Edge device , confirm the status of the IoT Edge service. + + Get-Service iotedge + +Examine service logs from the last 5 minutes. If you just finished installing the IoT Edge runtime, you may see a list of errors from the time between running **Deploy-IoTEdge** and **Initialize-IoTEdge**. These errors are expected, as the service is trying to start before being configured. + + . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog + +List running modules. After a new installation, the only module you should see running is **edgeAgent**. After you [deploy IoT Edge modules](https://docs.microsoft.com/en-us/azure/iot-edge/how-to-deploy-modules-portal), you will see others. + + iotedge list + +![](images/edgemodule_status.PNG) + +View the messages being sent from the module you created to the cloud. + + iotedge logs {module name} + +![](images/edgemodule_logs.PNG) + + +# Step 4: Next steps + +Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. + + +# Step 5: Troubleshooting + +Please contact engineering support on **** for help with troubleshooting. + +[setup-devbox-windows]: https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/devbox_setup.md diff --git a/iotcertification/templates/template-plug-and-play-getstarted.md b/iotcertification/Get_Started_Templates/IoT-Plug-and-Play/template-plug-and-play-getstarted.md similarity index 97% rename from iotcertification/templates/template-plug-and-play-getstarted.md rename to iotcertification/Get_Started_Templates/IoT-Plug-and-Play/template-plug-and-play-getstarted.md index 86bcee2..91ae523 100644 --- a/iotcertification/templates/template-plug-and-play-getstarted.md +++ b/iotcertification/Get_Started_Templates/IoT-Plug-and-Play/template-plug-and-play-getstarted.md @@ -1,101 +1,101 @@ ---- -platform: {enter the OS name running on device} -device: {enter your device name here} -language: c ---- - -Connect {enter your device name here} device to your Azure IoT Central Application -=== - ---- -# Table of Contents - -- [Introduction](#Introduction) -- [Prerequisites](#Prerequisites) -- [Create Azure IoT Central application](#Create_AICA) -- [Device Connection Details](#DeviceConnectionDetails) -- [Prepare the Device](#preparethedevice) -- [Integration with IoT Central](#IntegrationwithIoTCentral) -- [Additional Links](#AdditionalLinks) - -# Instructions for using this template - -- Replace the text in {placeholders} with correct values. -- Delete the lines {{enclosed}} after following the instructions enclosed between them. -- It is advisable to use external links, wherever possible. -- Remove this section from final document. - - - -# Introduction - -**About this document** - -This document describes how to connect {enter your device name here} to Azure IoT Central application using the IoT plug and Play model. Plug and Play simplifies IoT by allowing solution developers to integrate devices without writing any device code. Using Plug and Play, device manufacturers will provide a model of their device to cloud developers to be integrated quickly into IoT Central or any solution built on the Azure IoT platform. IoT Plug and Play will be open to the community by way of a definition language and SDKs. - -{Please provide introduction and features of your device here} - - -# Prerequisites - -You should have the following items ready before beginning the process: - -- [Azure Account](https://portal.azure.com) -- [Azure IoT Hub Instance](https://docs.microsoft.com/en-us/azure/iot-hub/about-iot-hub) -- [Azure IoT Hub Device Provisioning Service](https://docs.microsoft.com/en-us/azure/iot-dps/about-iot-dps) -- Provide Network connectivity (Wifi, LAN) supported by the device -- Its mandatory that the device code/software image is preinstalled in device to enable Plug and Play -- {Provide URL here to setup guide of development environment} - -**Note:** If the device code is not preinstalled following are the [options](#preparethedevice) to choose to enable the plug and play device. - - -# Prepare the Device. - -**Hardware Environmental setup** - -- Please include how to setup and connect the device. Include external links for any software required for Hardware setup - -**Software Environmental Setup** - -- Please include the prerequisite required to setup the device. Please use external links when possible pointing to your own page with device preparation steps. - -### Option 1 - -- If device code not pre-installed on your device, please provide us the URL of your repository. - -- Specify the steps on how to flash the image on device and provide required URL's to download the flash-able image and necessary tools. **Please add the screenshots where ever necessary.** - -### Option 2 - -- For the partners using the Microsoft PnP SDK samples - -- If recompilation of code is not required, please provide config file here, such that it can be copied in the C sdk environment to enable Plug and Play on device - -- Please include instruction on how to compile the code, tools and environment required to compile etc. **Please add the screenshots where ever necessary** - -### Option 3 - -- If recompilation is required, then please provide the link for GitHub repo for anyone to modify. - -- Please include instruction on how to compile the code , tools and environment required to compile etc. **Please add the screenshots where ever necessary** - - -# Integration with IoT Central - -- Include the steps on how to connect the Device to IoT Central -- Include the steps by step process on how the devices use the DPS configuration (ID Scope, SAS Key, Device ID, Registration ID) to provision to IoT Central. -- Include screenshots and comments on how IoT Central shows/visualize telemetry coming from your PnP device. -- Use this [Get started]( https://aka.ms/AA66he8) doc as an example - - -# Additional Links - -Please refer to the below link for additional information for Plug and Play - -- [Blog](https://azure.microsoft.com/en-us/blog/iot-plug-and-play-is-now-available-in-preview/) -- [FAQ](TBD) -- [Plug and Play C SDK](https://github.com/Azure/azure-iot-sdk-c/tree/public-preview) -- [Plug and Play Node SDK](https://github.com/Azure/azure-iot-sdk-node/tree/digitaltwins-preview) -- [Plug and Play Definitions](https://github.com/Azure/IoTPlugandPlay) - +--- +platform: {enter the OS name running on device} +device: {enter your device name here} +language: c +--- + +Connect {enter your device name here} device to your Azure IoT Central Application +=== + +--- +# Table of Contents + +- [Introduction](#Introduction) +- [Prerequisites](#Prerequisites) +- [Create Azure IoT Central application](#Create_AICA) +- [Device Connection Details](#DeviceConnectionDetails) +- [Prepare the Device](#preparethedevice) +- [Integration with IoT Central](#IntegrationwithIoTCentral) +- [Additional Links](#AdditionalLinks) + +# Instructions for using this template + +- Replace the text in {placeholders} with correct values. +- Delete the lines {{enclosed}} after following the instructions enclosed between them. +- It is advisable to use external links, wherever possible. +- Remove this section from final document. + + + +# Introduction + +**About this document** + +This document describes how to connect {enter your device name here} to Azure IoT Central application using the IoT plug and Play model. Plug and Play simplifies IoT by allowing solution developers to integrate devices without writing any device code. Using Plug and Play, device manufacturers will provide a model of their device to cloud developers to be integrated quickly into IoT Central or any solution built on the Azure IoT platform. IoT Plug and Play will be open to the community by way of a definition language and SDKs. + +{Please provide introduction and features of your device here} + + +# Prerequisites + +You should have the following items ready before beginning the process: + +- [Azure Account](https://portal.azure.com) +- [Azure IoT Hub Instance](https://docs.microsoft.com/en-us/azure/iot-hub/about-iot-hub) +- [Azure IoT Hub Device Provisioning Service](https://docs.microsoft.com/en-us/azure/iot-dps/about-iot-dps) +- Provide Network connectivity (Wifi, LAN) supported by the device +- Its mandatory that the device code/software image is preinstalled in device to enable Plug and Play +- {Provide URL here to setup guide of development environment} + +**Note:** If the device code is not preinstalled following are the [options](#preparethedevice) to choose to enable the plug and play device. + + +# Prepare the Device. + +**Hardware Environmental setup** + +- Please include how to setup and connect the device. Include external links for any software required for Hardware setup + +**Software Environmental Setup** + +- Please include the prerequisite required to setup the device. Please use external links when possible pointing to your own page with device preparation steps. + +### Option 1 + +- If device code not pre-installed on your device, please provide us the URL of your repository. + +- Specify the steps on how to flash the image on device and provide required URL's to download the flash-able image and necessary tools. **Please add the screenshots where ever necessary.** + +### Option 2 + +- For the partners using the Microsoft PnP SDK samples + +- If recompilation of code is not required, please provide config file here, such that it can be copied in the C sdk environment to enable Plug and Play on device + +- Please include instruction on how to compile the code, tools and environment required to compile etc. **Please add the screenshots where ever necessary** + +### Option 3 + +- If recompilation is required, then please provide the link for GitHub repo for anyone to modify. + +- Please include instruction on how to compile the code , tools and environment required to compile etc. **Please add the screenshots where ever necessary** + + +# Integration with IoT Central + +- Include the steps on how to connect the Device to IoT Central +- Include the steps by step process on how the devices use the DPS configuration (ID Scope, SAS Key, Device ID, Registration ID) to provision to IoT Central. +- Include screenshots and comments on how IoT Central shows/visualize telemetry coming from your PnP device. +- Use this [Get started]( https://aka.ms/AA66he8) doc as an example + + +# Additional Links + +Please refer to the below link for additional information for Plug and Play + +- [Blog](https://azure.microsoft.com/en-us/blog/iot-plug-and-play-is-now-available-in-preview/) +- [FAQ](TBD) +- [Plug and Play C SDK](https://github.com/Azure/azure-iot-sdk-c/tree/public-preview) +- [Plug and Play Node SDK](https://github.com/Azure/azure-iot-sdk-node/tree/digitaltwins-preview) +- [Plug and Play Definitions](https://github.com/Azure/IoTPlugandPlay) + diff --git a/iotcertification/iotedge/Archive/iotedge_getstarted.md b/iotcertification/IoT_Edge_Certification_Instructions/Archive/iotedge_getstarted.md similarity index 98% rename from iotcertification/iotedge/Archive/iotedge_getstarted.md rename to iotcertification/IoT_Edge_Certification_Instructions/Archive/iotedge_getstarted.md index 518f0ac..8d7814e 100644 --- a/iotcertification/iotedge/Archive/iotedge_getstarted.md +++ b/iotcertification/IoT_Edge_Certification_Instructions/Archive/iotedge_getstarted.md @@ -1,59 +1,59 @@ -# Introduction - -**About this document** - -Thank you for your interest in certifying your Microsoft Azure IoT Edge device. This document provides an overview of **Microsoft Azure IoT Edge device** certification, which is part of the Azure Certified for IoT program. - -Azure Certified for IoT program continues to support the existing certification requirements for [IoT devices](https://github.com/Azure/azure-iot-device-ecosystem/tree/master/iotcertification) and [Starter kits](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/kits/iotcertification/iot_certification_kit.md). The program is extending to support a new device type named **Azure IoT Edge** device which provides higher quality standards than the other IoT devices and Starter kits. - -# Device Prerequisites - -Your IoT Edge device is required to pre-install [Azure IoT Edge](https://github.com/Azure/iot-edge/blob/master/README.md) runtime to be certified as Azure IoT Edge device. Pre-installing IoT Edge runtime in your device can occur at multiple stages in value chain. - -- Pre-install IoT Edge runtime at the OEM or ODM manufacturing facility. -- Pre-install IoT Edge runtime that is supplied by OEM at the point of distribution. This is the scenario where any channels such as distributor(s), value-added reseller(s) etc. installs OEM supplied IoT Edge runtime. -- If the channel takes OEM Edge device, and installs the channel specific IoT Edge runtime, the program accepts the submission as a different submission entity. In this case, the channel and OEM needs to agree on specifics on branding, device names etc that are shown in [device catalog](https://catalog.azureiotsolutions.com/). - -IoT devices like Raspberry Pi3 etc can continue to run IoT Edge runtime. Azure Certified for IoT program is certifying against the pre-installed Edge runtime in the device controlled by either OEMs or channels to provide the best out-of-the-box experience on IoT Edge devices. - -# IoT Edge Device certification program overview - -IoT Edge certification program has the capability-based certification concept. Each capability has its own level to provide granularity of the IoT Edge device that device seekers are looking for, and allows the Azure Certified for IoT program to evolve in the future. - -Each capability contains its own leveling with **Level 1** being the lowest. - -For the device to be certified as IoT Edge device, the device needs to pass all mandatory requirements: - -- [Mandatory] Edge runtime (Level 1 only) -- [Mandatory] Device management (Level 1 only) -- [Optional] Security (4 levels: Level 1 – 4) - -# Certification Criteria: Description of capabilities and levels - -Below describes the IoT Edge device certification criteria and associated capabilities for each level: - -**Note:** Currently we only certify against [T1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) - -- Azure IoT Edge Runtime: Device should be capable of running IoT Edge Runtime. - -- Device management: Basic device management operations (reboot, FW/OS upgrades) triggered by messages from IoT Hub. - -- Security: Azure IoT Edge is secure from the ground up. However, additional threats with operating at the edge demands security enforcements using secure hardware. This certification aims to communicate diligence to security above and beyond that provided by Azure IoT Edge as in deployment using HSM secured devices. -The below capabilities describe the risks within the devices mitigation capabilities. It is neither a security guarantee nor a statement of the strength of security. - - ![](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/iotedge/images/1.PNG) - - - ![](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/iotedge/images/2.PNG) - -Read Microsoft’s approach to deliver a secure platform for Azure IoT Edge devices in [Securing the intelligent edge](https://azure.microsoft.com/en-us/blog/securing-the-intelligent-edge/) blog. Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. - -Please click [here](https://github.com/Azure/azure-iotedge/blob/master/LICENSE) for MICROSOFT SOFTWARE LICENSE TERMS for IoT Edge runtime - -# Next steps - -You have now learned about the overview of Azure Certified for IoT program extending to support Azure IoT Edge devices. - -Read more details about specific requirements and validation process to be certified as Azure IoT Edge devices. - -If you have any questions, please contact Azure Certified for IoT [iotcert@microsoft.com](mailto:iotcert@microsoft.com). +# Introduction + +**About this document** + +Thank you for your interest in certifying your Microsoft Azure IoT Edge device. This document provides an overview of **Microsoft Azure IoT Edge device** certification, which is part of the Azure Certified for IoT program. + +Azure Certified for IoT program continues to support the existing certification requirements for [IoT devices](https://github.com/Azure/azure-iot-device-ecosystem/tree/master/iotcertification) and [Starter kits](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/kits/iotcertification/iot_certification_kit.md). The program is extending to support a new device type named **Azure IoT Edge** device which provides higher quality standards than the other IoT devices and Starter kits. + +# Device Prerequisites + +Your IoT Edge device is required to pre-install [Azure IoT Edge](https://github.com/Azure/iot-edge/blob/master/README.md) runtime to be certified as Azure IoT Edge device. Pre-installing IoT Edge runtime in your device can occur at multiple stages in value chain. + +- Pre-install IoT Edge runtime at the OEM or ODM manufacturing facility. +- Pre-install IoT Edge runtime that is supplied by OEM at the point of distribution. This is the scenario where any channels such as distributor(s), value-added reseller(s) etc. installs OEM supplied IoT Edge runtime. +- If the channel takes OEM Edge device, and installs the channel specific IoT Edge runtime, the program accepts the submission as a different submission entity. In this case, the channel and OEM needs to agree on specifics on branding, device names etc that are shown in [device catalog](https://catalog.azureiotsolutions.com/). + +IoT devices like Raspberry Pi3 etc can continue to run IoT Edge runtime. Azure Certified for IoT program is certifying against the pre-installed Edge runtime in the device controlled by either OEMs or channels to provide the best out-of-the-box experience on IoT Edge devices. + +# IoT Edge Device certification program overview + +IoT Edge certification program has the capability-based certification concept. Each capability has its own level to provide granularity of the IoT Edge device that device seekers are looking for, and allows the Azure Certified for IoT program to evolve in the future. + +Each capability contains its own leveling with **Level 1** being the lowest. + +For the device to be certified as IoT Edge device, the device needs to pass all mandatory requirements: + +- [Mandatory] Edge runtime (Level 1 only) +- [Mandatory] Device management (Level 1 only) +- [Optional] Security (4 levels: Level 1 – 4) + +# Certification Criteria: Description of capabilities and levels + +Below describes the IoT Edge device certification criteria and associated capabilities for each level: + +**Note:** Currently we only certify against [T1 OS](https://docs.microsoft.com/en-us/azure/iot-edge/support) + +- Azure IoT Edge Runtime: Device should be capable of running IoT Edge Runtime. + +- Device management: Basic device management operations (reboot, FW/OS upgrades) triggered by messages from IoT Hub. + +- Security: Azure IoT Edge is secure from the ground up. However, additional threats with operating at the edge demands security enforcements using secure hardware. This certification aims to communicate diligence to security above and beyond that provided by Azure IoT Edge as in deployment using HSM secured devices. +The below capabilities describe the risks within the devices mitigation capabilities. It is neither a security guarantee nor a statement of the strength of security. + + ![](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/iotedge/images/1.PNG) + + + ![](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/iotcertification/iotedge/images/2.PNG) + +Read Microsoft’s approach to deliver a secure platform for Azure IoT Edge devices in [Securing the intelligent edge](https://azure.microsoft.com/en-us/blog/securing-the-intelligent-edge/) blog. Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. + +Please click [here](https://github.com/Azure/azure-iotedge/blob/master/LICENSE) for MICROSOFT SOFTWARE LICENSE TERMS for IoT Edge runtime + +# Next steps + +You have now learned about the overview of Azure Certified for IoT program extending to support Azure IoT Edge devices. + +Read more details about specific requirements and validation process to be certified as Azure IoT Edge devices. + +If you have any questions, please contact Azure Certified for IoT [iotcert@microsoft.com](mailto:iotcert@microsoft.com). diff --git a/iotcertification/iotedge/images/1.PNG b/iotcertification/IoT_Edge_Certification_Instructions/images/1.PNG similarity index 100% rename from iotcertification/iotedge/images/1.PNG rename to iotcertification/IoT_Edge_Certification_Instructions/images/1.PNG diff --git a/iotcertification/iotedge/images/2.PNG b/iotcertification/IoT_Edge_Certification_Instructions/images/2.PNG similarity index 100% rename from iotcertification/iotedge/images/2.PNG rename to iotcertification/IoT_Edge_Certification_Instructions/images/2.PNG diff --git a/iotcertification/iotedge/images/4_2_01.png b/iotcertification/IoT_Edge_Certification_Instructions/images/4_2_01.png similarity index 100% rename from iotcertification/iotedge/images/4_2_01.png rename to iotcertification/IoT_Edge_Certification_Instructions/images/4_2_01.png diff --git a/iotcertification/iotedge/images/4_2_02.png b/iotcertification/IoT_Edge_Certification_Instructions/images/4_2_02.png similarity index 100% rename from iotcertification/iotedge/images/4_2_02.png rename to iotcertification/IoT_Edge_Certification_Instructions/images/4_2_02.png diff --git a/iotcertification/iotedge/iotedge_certification_linux/images/4_2_01.png b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/images/4_2_01.png similarity index 100% rename from iotcertification/iotedge/iotedge_certification_linux/images/4_2_01.png rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/images/4_2_01.png diff --git a/iotcertification/iotedge/iotedge_certification_linux/images/4_2_02.png b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/images/4_2_02.png similarity index 100% rename from iotcertification/iotedge/iotedge_certification_linux/images/4_2_02.png rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/images/4_2_02.png diff --git a/iotcertification/iotedge/iotedge_certification_linux/iotedge_certification_linux.md b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/iotedge_certification_linux.md similarity index 97% rename from iotcertification/iotedge/iotedge_certification_linux/iotedge_certification_linux.md rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/iotedge_certification_linux.md index 2a886c5..8a45e9d 100644 --- a/iotcertification/iotedge/iotedge_certification_linux/iotedge_certification_linux.md +++ b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_linux/iotedge_certification_linux.md @@ -1,258 +1,258 @@ -How to certify IoT Edge devices running Linux -=== ---- - -# Table of Contents - -- [Introduction](#Introduction) -- [Step 1: Configure Azure IoT Edge](#Step-1-Configure) -- [Step 2: Register Device](#Step-2-Register) -- [Step 3: Manual Test for Azure IoT Edge on device](#Step-3-Manual) - - [3.1 IoT Edge Runtime](#Step-3-1-IoTEdgeRunTime) - - [3.2 Device Management](#Step-3-2-DeviceManagement) - - [3.3 Security ](#Step-3-3-Security) -- [Step 4: Package and Share](#Step-4-Package_Share) - - [4.1 Package build logs and Device in original box](#Step-4-1-Package-build) - - [4.2 Share package with Microsoft Azure IoT team](#Step-4-2-Share-Package) - - [4.3 Next steps](#Step-4-3-Next-Step) -- [Step 5: Troubleshooting](#Step-5-Troubleshooting) - - -# Introduction - -**About this document** - -This document provides step-by-step guidance to IoT hardware publishers on how to certify an IoT Edge enabled hardware with Azure IoT SDK. This multi-step process includes: - -- Configuring Azure IoT Edge -- Registering your IoT Edge device -- Manual Test for Azure IoT Edge on device -- Packaging and sharing the files and device - -**Prepare:** - -Before executing any of the steps below, read through each steps to ensure end to end understanding. - -You should have the following items ready before beginning the process: - -- Computer with GitHub installed and access to the [azure-iot-sdk](https://github.com/Azure/azure-iot-sdks) GitHub public repository. -- SSH client, such as [PuTTY](https://www.putty.org/), so you can access the command line. -- Required hardware to certify. - -Note: If you haven't contacted Microsoft about being an Azure Certified for IoT partner, please submit this [form](https://catalog.azureiotsolutions.com/) first to request it and then follow these instructions. - - -# Step 1: Sign Up To Azure IoT Hub - -[Sign up](https://account.windowsazure.com/signup?offer=ms-azr-0044p) to the Azure IoT Hub service and follow the instructions mentioned [here](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux). As part of the sign up process, you will receive the connection string. - -- **IoT Hub Connection String**: An example of IoT hub Connection String is as below: - - HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey] - - -# Step 2: Register Device - -In this section, you will register your Edge device using DeviceExplorer. The DeviceExplorer is a Windows application that interfaces with Azure IoT Hub and can perform the following operations: - -- Device management - - Create new devices - - List existing devices and expose device properties stored on Device Hub - - Provides ability to update device keys - - Provides ability to delete a device -- Monitoring events from your device -- Sending messages to your device - -To run DeviceExplorer tool, use following configuration string as described in -[Step1](#Step-1-Configure): - -- IoT Hub Connection String - -**Steps:** -1. Click [here]() to download and install DeviceExplorer. - -2. Add connection information under the Configuration tab and click the **Update** button. - -3. Create and register the device with your IoT Hub using instructions as below. - - a. Click the **Management** tab. - - b. Your registered devices will be displayed in the list. In case your device is not there in the list, click **Refresh** button. If this is your first time, then you shouldn't retrieve anything. - - c. Click **Create** button to create a device ID and key. - - d. Once created successfully, device will be listed in DeviceExplorer. - - e. Right click the device and from context menu select "**Copy connection - string for selected device**". - - f. Save this information in Notepad. You will need this information in - later steps. - -***Not running Windows on your PC?*** - Please follow the instructions [here]() to provision your device and get its credentials. - - -# Step 3: Manual Test for Azure IoT Edge on device - -This section walks you through the test to be performed on the Edge devices running the Linux operating system such that it can qualify for Azure IoT Edge certification - - -## 3.1 Edge RuntimeEnabled (Mandatory) -*Total number of Level : 1* - -**Description:** A device which includes the Azure IoT Edge runtime and dependencies.Download the Azure IoT Edge Runtime from the following path: - -For Linux (ARM32V7/armhf), install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-linux-arm.md). - -For Linux x64 (Intel/AMD), install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-linux.md). - -**Details of the requirement:** - -The following components come pre-installed or at the point of distribution on the device to customer(s): - -- Azure IoT Edge Security Daemon -- Daemon configuration file -- Moby container management system -- A version of `hsmlib` - -The IoT Edge runtime becomes functional at boot via DPS integration or by the user entering device credentials into the **config** file. - -**Test steps:** - -- Company must send the edge device to Microsoft for additional validation. We will send detail instructions and information we need when the company submit the device for Azure IoT edge certification. -- Company needs to ensure sure that the edge device comes both Azure IoT Edge Security daemon and Moby container management system pre-installed - - Microsoft will check that the edge device comes with Azure IoT Edge Security Daemon - - Microsoft will check that the edge device comes with Moby container management system -- Company needs to provide Microsoft the instruction on how to connect to IoT Hub via email - - Config file to connect - - How the device is provisioned - - Other important information -- Please allow some time to process and complete the certification process. Microsoft will ship back the edge device upon approval. - - -## 3.2 Device Management (Optional) -*Total number of Level : 1* - -**Pre-requisites:** Device Connectivity. - -**Description:** A device that can perform basic device management operations triggered by messages from IoT Hub. - -**Details of the requirement:** - -The device must have components that are capable of the following: - -1. Supports the use of device twins to trigger a firmware or operating system update and to report status including error messages or details -2. Supports the use of direct methods to trigger a reboot and uses device twin to report last boot time. - -The component may come pre-installed or at the point of distribution to the customer.The following Manual test applies to Linux distributions that support updates either through package managers like dpkg or apt, or by updating as an atomic image. - -**Manual test 1:** - -1. If the component comes at the point of distribution of the device, put the step-by-step instructions for installing the components into a readme.md file and include with your submission. If you are using Microsoft SDK samples please use the [link](https://docs.microsoft.com/en-us/azure/iot-hub/tutorial-firmware-update#run-the-sample) -2. Connect the device to Azure IoT Hub -3. Use Windows 10 Problem Steps Recorder (or equivalent) to capture the following steps - - a. Using the Azure Portal, set the device twin desired properties that will initiate the device to install new updates. - - **Note:** You may perform this step pro-grammatically instead of using the portal, if preferred. - - b. Allow the device to update and report status through the device twin reported properties. - - c. Capture entire device twin JSON content for each state change. -4. Include the .zip file saved from the Problem Steps Recorder as part of your submission. - -**Manual test 2:** - -1. If the component comes at the point of distribution of the device, put the step-by-step instructions for installing the components into a readme.md file and include with your submission. If you are using Microsoft SDK samples please use the [link](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-node-node-device-management-get-started) -2. Connect the device to Azure IoT Hub -3. Use Windows 10 Problem Steps Recorder (or equivalent) to capture the following steps - - a. Using the Azure Portal, send a direct method to the device. Capture the direct method name, payload, and result into a .txt file. - - **Note:** You may perform this step pro-grammatically instead of using the portal, if preferred. - - b. Capture the entire device twin JSON content. It should include a reported property that shows the last reboot time. -4. Include the .zip file saved from the Problem Steps Recorder as part of your submission. - - -## 3.3 Security (Optional) -Total number of Levels: 4 - - **Note:** Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. - -#### 3.3.1 Device Security.Level1 - -**Description:** Device is certified as Level 1 , if device has custom implementation of security protocols other than use of Azure IoT Device SDK. - -**Details of the requirement:** - -- Minimum security level -- IoT Edge devices without usage of Azure IoT Device SDK -- There is no test step for this requirement. Edge Runtime and connectivity to IoT Hub automatically make devices eligible for this level - -#### 3.3.2 Device Security.Level2 - -**Description:** Device is certified as Level 2 , if device can use Azure IoT Device SDKs to implement device security protocols. - -**Details of the requirement:** - -- Validates the usage of Azure IoT Device SDK - -#### 3.3.3 Device Security.Level 3 - -**Description:** Device is certified as Level 3 , if device use hardware secure modules for security hardening. Its validated through security certifications. - -**Details of the requirement:** - -This level require below Security certification requirement : - -- FIPS 140-2 Level 2 or higher -- Common Criteria EAL 3+ - -#### 3.3.4 Device Security.Level 4 - -**Description:** Device is certified as Level 4 , if device use hardware secure modules for security hardening. Its validated through security certifications. - -**Details of the requirement:** -This level require below Security certification requirement : - -- FIPS 140-2 Level 3 or higher -- Common Criteria EAL 4+ - - -# Step 4: Package and Share - -## 4.1 Package build logs and Device in original box -Package following artifacts from your device: - -1. Zip files recorded by Problem Steps recorder as stated in Device Management manual tests. -2. Text file as stated in manual test 2 -3. Device with IoT Azure Runtime installed and shipped to Microsoft for further validation. - - -## 4.2 Share package with Microsoft Azure IoT team - -1. Go to [Partner Dashboard](https://catalog.azureiotsolutions.com/devices) -2. Click on Upload icon at top-right corner of device. - - ![Share\_Results\_upload\_icon](images/4_2_01.png) - -3. This will open an upload dialog. Browse your file(s) by clicking Upload button. - - ![Share\_Results\_upload\_dialog](images/4_2_02.png) - - You can upload multiple files for same device. - -4. Once you have uploaded all the files, click on **Submit for Review** button. - - ***Note:*** *Please contact iotcert team to change/remove the files once you submit them for review.* - - -## 4.3 Next steps - -Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. - - -# Step 5: Troubleshooting - -Please contact engineering support on for help with troubleshooting. +How to certify IoT Edge devices running Linux +=== +--- + +# Table of Contents + +- [Introduction](#Introduction) +- [Step 1: Configure Azure IoT Edge](#Step-1-Configure) +- [Step 2: Register Device](#Step-2-Register) +- [Step 3: Manual Test for Azure IoT Edge on device](#Step-3-Manual) + - [3.1 IoT Edge Runtime](#Step-3-1-IoTEdgeRunTime) + - [3.2 Device Management](#Step-3-2-DeviceManagement) + - [3.3 Security ](#Step-3-3-Security) +- [Step 4: Package and Share](#Step-4-Package_Share) + - [4.1 Package build logs and Device in original box](#Step-4-1-Package-build) + - [4.2 Share package with Microsoft Azure IoT team](#Step-4-2-Share-Package) + - [4.3 Next steps](#Step-4-3-Next-Step) +- [Step 5: Troubleshooting](#Step-5-Troubleshooting) + + +# Introduction + +**About this document** + +This document provides step-by-step guidance to IoT hardware publishers on how to certify an IoT Edge enabled hardware with Azure IoT SDK. This multi-step process includes: + +- Configuring Azure IoT Edge +- Registering your IoT Edge device +- Manual Test for Azure IoT Edge on device +- Packaging and sharing the files and device + +**Prepare:** + +Before executing any of the steps below, read through each steps to ensure end to end understanding. + +You should have the following items ready before beginning the process: + +- Computer with GitHub installed and access to the [azure-iot-sdk](https://github.com/Azure/azure-iot-sdks) GitHub public repository. +- SSH client, such as [PuTTY](https://www.putty.org/), so you can access the command line. +- Required hardware to certify. + +Note: If you haven't contacted Microsoft about being an Azure Certified for IoT partner, please submit this [form](https://catalog.azureiotsolutions.com/) first to request it and then follow these instructions. + + +# Step 1: Sign Up To Azure IoT Hub + +[Sign up](https://account.windowsazure.com/signup?offer=ms-azr-0044p) to the Azure IoT Hub service and follow the instructions mentioned [here](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux). As part of the sign up process, you will receive the connection string. + +- **IoT Hub Connection String**: An example of IoT hub Connection String is as below: + + HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey] + + +# Step 2: Register Device + +In this section, you will register your Edge device using DeviceExplorer. The DeviceExplorer is a Windows application that interfaces with Azure IoT Hub and can perform the following operations: + +- Device management + - Create new devices + - List existing devices and expose device properties stored on Device Hub + - Provides ability to update device keys + - Provides ability to delete a device +- Monitoring events from your device +- Sending messages to your device + +To run DeviceExplorer tool, use following configuration string as described in +[Step1](#Step-1-Configure): + +- IoT Hub Connection String + +**Steps:** +1. Click [here]() to download and install DeviceExplorer. + +2. Add connection information under the Configuration tab and click the **Update** button. + +3. Create and register the device with your IoT Hub using instructions as below. + + a. Click the **Management** tab. + + b. Your registered devices will be displayed in the list. In case your device is not there in the list, click **Refresh** button. If this is your first time, then you shouldn't retrieve anything. + + c. Click **Create** button to create a device ID and key. + + d. Once created successfully, device will be listed in DeviceExplorer. + + e. Right click the device and from context menu select "**Copy connection + string for selected device**". + + f. Save this information in Notepad. You will need this information in + later steps. + +***Not running Windows on your PC?*** - Please follow the instructions [here]() to provision your device and get its credentials. + + +# Step 3: Manual Test for Azure IoT Edge on device + +This section walks you through the test to be performed on the Edge devices running the Linux operating system such that it can qualify for Azure IoT Edge certification + + +## 3.1 Edge RuntimeEnabled (Mandatory) +*Total number of Level : 1* + +**Description:** A device which includes the Azure IoT Edge runtime and dependencies.Download the Azure IoT Edge Runtime from the following path: + +For Linux (ARM32V7/armhf), install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-linux-arm.md). + +For Linux x64 (Intel/AMD), install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-linux.md). + +**Details of the requirement:** + +The following components come pre-installed or at the point of distribution on the device to customer(s): + +- Azure IoT Edge Security Daemon +- Daemon configuration file +- Moby container management system +- A version of `hsmlib` + +The IoT Edge runtime becomes functional at boot via DPS integration or by the user entering device credentials into the **config** file. + +**Test steps:** + +- Company must send the edge device to Microsoft for additional validation. We will send detail instructions and information we need when the company submit the device for Azure IoT edge certification. +- Company needs to ensure sure that the edge device comes both Azure IoT Edge Security daemon and Moby container management system pre-installed + - Microsoft will check that the edge device comes with Azure IoT Edge Security Daemon + - Microsoft will check that the edge device comes with Moby container management system +- Company needs to provide Microsoft the instruction on how to connect to IoT Hub via email + - Config file to connect + - How the device is provisioned + - Other important information +- Please allow some time to process and complete the certification process. Microsoft will ship back the edge device upon approval. + + +## 3.2 Device Management (Optional) +*Total number of Level : 1* + +**Pre-requisites:** Device Connectivity. + +**Description:** A device that can perform basic device management operations triggered by messages from IoT Hub. + +**Details of the requirement:** + +The device must have components that are capable of the following: + +1. Supports the use of device twins to trigger a firmware or operating system update and to report status including error messages or details +2. Supports the use of direct methods to trigger a reboot and uses device twin to report last boot time. + +The component may come pre-installed or at the point of distribution to the customer.The following Manual test applies to Linux distributions that support updates either through package managers like dpkg or apt, or by updating as an atomic image. + +**Manual test 1:** + +1. If the component comes at the point of distribution of the device, put the step-by-step instructions for installing the components into a readme.md file and include with your submission. If you are using Microsoft SDK samples please use the [link](https://docs.microsoft.com/en-us/azure/iot-hub/tutorial-firmware-update#run-the-sample) +2. Connect the device to Azure IoT Hub +3. Use Windows 10 Problem Steps Recorder (or equivalent) to capture the following steps + + a. Using the Azure Portal, set the device twin desired properties that will initiate the device to install new updates. + + **Note:** You may perform this step pro-grammatically instead of using the portal, if preferred. + + b. Allow the device to update and report status through the device twin reported properties. + + c. Capture entire device twin JSON content for each state change. +4. Include the .zip file saved from the Problem Steps Recorder as part of your submission. + +**Manual test 2:** + +1. If the component comes at the point of distribution of the device, put the step-by-step instructions for installing the components into a readme.md file and include with your submission. If you are using Microsoft SDK samples please use the [link](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-node-node-device-management-get-started) +2. Connect the device to Azure IoT Hub +3. Use Windows 10 Problem Steps Recorder (or equivalent) to capture the following steps + + a. Using the Azure Portal, send a direct method to the device. Capture the direct method name, payload, and result into a .txt file. + + **Note:** You may perform this step pro-grammatically instead of using the portal, if preferred. + + b. Capture the entire device twin JSON content. It should include a reported property that shows the last reboot time. +4. Include the .zip file saved from the Problem Steps Recorder as part of your submission. + + +## 3.3 Security (Optional) +Total number of Levels: 4 + + **Note:** Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. + +#### 3.3.1 Device Security.Level1 + +**Description:** Device is certified as Level 1 , if device has custom implementation of security protocols other than use of Azure IoT Device SDK. + +**Details of the requirement:** + +- Minimum security level +- IoT Edge devices without usage of Azure IoT Device SDK +- There is no test step for this requirement. Edge Runtime and connectivity to IoT Hub automatically make devices eligible for this level + +#### 3.3.2 Device Security.Level2 + +**Description:** Device is certified as Level 2 , if device can use Azure IoT Device SDKs to implement device security protocols. + +**Details of the requirement:** + +- Validates the usage of Azure IoT Device SDK + +#### 3.3.3 Device Security.Level 3 + +**Description:** Device is certified as Level 3 , if device use hardware secure modules for security hardening. Its validated through security certifications. + +**Details of the requirement:** + +This level require below Security certification requirement : + +- FIPS 140-2 Level 2 or higher +- Common Criteria EAL 3+ + +#### 3.3.4 Device Security.Level 4 + +**Description:** Device is certified as Level 4 , if device use hardware secure modules for security hardening. Its validated through security certifications. + +**Details of the requirement:** +This level require below Security certification requirement : + +- FIPS 140-2 Level 3 or higher +- Common Criteria EAL 4+ + + +# Step 4: Package and Share + +## 4.1 Package build logs and Device in original box +Package following artifacts from your device: + +1. Zip files recorded by Problem Steps recorder as stated in Device Management manual tests. +2. Text file as stated in manual test 2 +3. Device with IoT Azure Runtime installed and shipped to Microsoft for further validation. + + +## 4.2 Share package with Microsoft Azure IoT team + +1. Go to [Partner Dashboard](https://catalog.azureiotsolutions.com/devices) +2. Click on Upload icon at top-right corner of device. + + ![Share\_Results\_upload\_icon](images/4_2_01.png) + +3. This will open an upload dialog. Browse your file(s) by clicking Upload button. + + ![Share\_Results\_upload\_dialog](images/4_2_02.png) + + You can upload multiple files for same device. + +4. Once you have uploaded all the files, click on **Submit for Review** button. + + ***Note:*** *Please contact iotcert team to change/remove the files once you submit them for review.* + + +## 4.3 Next steps + +Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. + + +# Step 5: Troubleshooting + +Please contact engineering support on for help with troubleshooting. diff --git a/iotcertification/iotedge/iotedge_certification_windows/images/4_2_01.png b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/images/4_2_01.png similarity index 100% rename from iotcertification/iotedge/iotedge_certification_windows/images/4_2_01.png rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/images/4_2_01.png diff --git a/iotcertification/iotedge/iotedge_certification_windows/images/4_2_02.png b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/images/4_2_02.png similarity index 100% rename from iotcertification/iotedge/iotedge_certification_windows/images/4_2_02.png rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/images/4_2_02.png diff --git a/iotcertification/iotedge/iotedge_certification_windows/iotedge_certification_windows.md b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/iotedge_certification_windows.md similarity index 97% rename from iotcertification/iotedge/iotedge_certification_windows/iotedge_certification_windows.md rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/iotedge_certification_windows.md index 55433e9..fb1365b 100644 --- a/iotcertification/iotedge/iotedge_certification_windows/iotedge_certification_windows.md +++ b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_certification_windows/iotedge_certification_windows.md @@ -1,243 +1,243 @@ -How to certify IoT Edge devices running Windows -=== ---- - -# Table of Contents - -- [Introduction](#Introduction) -- [Step 1: Configure Azure IoT Edge](#Step-1-Configure) -- [Step 2: Register Device](#Step-2-Register) -- [Step 3: Manual Test for Azure IoT Edge on device](#Step-3-Manual) - - [3.1 IoT Edge Runtime](#Step-3-1-IoTEdgeRunTime) - - [3.2 Device Management](#Step-3-2-DeviceManagement) - - [3.3 Security ](#Step-3-3-Security) -- [Step 4: Package and Share](#Step-4-Package_Share) - - [4.1 Package build logs and Device in original box](#Step-4-1-Package-build) - - [4.2 Share package with Microsoft Azure IoT team](#Step-4-2-Share-Package) - - [4.3 Next steps](#Step-4-3-Next-Step) -- [Step 5: Troubleshooting](#Step-5-Troubleshooting) - - -# Introduction - -**About this document** - -This document provides step-by-step guidance to IoT hardware publishers on how to certify an IoT Edge enabled hardware with Azure IoT SDK. This multi-step process includes: - -- Configuring Azure IoT Edge -- Registering your IoT Edge device -- Manual Test for Azure IoT Edge on device -- Packaging and sharing the logs - -**Prepare:** - -Before executing any of the steps below, read through each steps to ensure end to end understanding. - -You should have the following items ready before beginning the process: - -- Computer with GitHub installed and access to the [azure-iot-sdk](https://github.com/Azure/azure-iot-sdks) GitHub public repository. -- Install [Visual Studio 2017](https://visualstudio.microsoft.com/downloads/) and necessary packages as stated in [System requirement](https://github.com/ms-iot/iot-core-azure-dm-client). You can install any edition of Visual Studio, including the free Community edition. - -Note: If you haven't contacted Microsoft about being an Azure Certified for IoT partner, please submit this [form](https://catalog.azureiotsolutions.com/) first to request it and then follow these instructions. - - -# Step 1: Sign Up To Azure IoT Hub - -[Sign up](https://account.windowsazure.com/signup?offer=ms-azr-0044p) to the Azure IoT Hub service and follow the instructions mentioned [here](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart). As part of the sign up process, you will receive the connection string. - -- **IoT Hub Connection String**: An example of IoT hub Connection String is as below: - - HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey] - - -# Step 2: Register Device - -In this section, you will register your Edge device using DeviceExplorer. The DeviceExplorer is a Windows application that interfaces with Azure IoT Hub and can perform the following operations: - -- Device management - - Create new devices - - List existing devices and expose device properties stored on Device Hub - - Provides ability to update device keys - - Provides ability to delete a device -- Monitoring events from your device -- Sending messages to your device - -To run DeviceExplorer tool, use following configuration string as described in -[Step1](#Step-1-Configure): - -- IoT Hub Connection String - -**Steps:** -1. Click [here]() to download and install DeviceExplorer. - -2. Add connection information under the Configuration tab and click the **Update** button. - -3. Create and register the device with your IoT Hub using instructions as below. - - a. Click the **Management** tab. - - b. Your registered devices will be displayed in the list. In case your device is not there in the list, click **Refresh** button. If this is your first time, then you shouldn't retrieve anything. - - c. Click **Create** button to create a device ID and key. - - d. Once created successfully, device will be listed in DeviceExplorer. - - e. Right click the device and from context menu select "**Copy connection - string for selected device**". - - f. Save this information in Notepad. You will need this information in - later steps. - -***Not running Windows on your PC?*** - Please follow the instructions [here]() to provision your device and get its credentials. - -# Step 3: Manual Test for Azure IoT Edge on device - -This section walks you through the test to be performed on the Edge devices running the Windows operating system such that it can qualify for Azure IoT Edge certification - - -## 3.1 Edge RuntimeEnabled (Mandatory) - -*Total number of Level : 1* - -**Description:** A device which includes the Azure IoT Edge runtime and dependencies.Download the Azure IoT Edge Runtime from the following path: - -Install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-windows.md). - -**Details of the requirement:** - -The following components come pre-installed or at the point of distribution on the device to customer(s): - -- Azure IoT Edge Security Daemon -- Daemon configuration file -- Moby container management system -- A version of `hsmlib` - -The IoT Edge runtime becomes functional at boot via DPS integration or by the user entering device credentials into the **config** file. - -**Test steps:** - -- Company must send the edge device to Microsoft for additional validation. We will send detail instructions and information we need when the company submit the device for Azure IoT edge certification. - - Note: Certified for Windows Server 2019 devices are exempt from sending the device to Microsoft for additional validation. Microsoft reserves the right to remove devices from the Azure IoT Device Catalog if the Windows Server 2019 device is not in compliance with the Azure IoT Edge certification program requirements. See [the program agreement](https://catalogstorageprod.blob.core.windows.net/devicecatalogimageserver/Program%20Agreement.pdf) in details. -- Company needs to ensure sure that the edge device comes both Azure IoT Edge Security daemon and Moby container management system pre-installed - - Microsoft will check that the edge device comes with Azure IoT Edge Security Daemon - - Microsoft will check that the edge device comes with Moby container management system -- Company needs to provide Microsoft the instruction on how to connect to IoT Hub via email - - Config file to connect - - How the device is provisioned - - Other important information -- Please allow some time to process and complete the certification process. Microsoft will ship back the edge device upon approval. - - -## 3.2 Device Management (Optional) -*Total number of Level : 1* - -**Pre-requisites:** Device Connectivity. - -**Description:** A device that can perform basic device management operations triggered by messages from IoT Hub. - -**Details of the requirement:** - -The device must have components that are capable of the following: - -1. Supports the use of device twins to trigger a firmware or operating system update and to report status including error messages or details -2. Supports the use of direct methods to trigger a reboot and uses device twin to report last boot time. - -The component may come pre-installed or at the point of distribution to the customer.. - -**Manual test:** - -The following test will validate that the Windows IoT Core device management client in installed and set to run as service - -1. Follow the steps for running the Azure certification steps for the Windows IoT [Device Management](https://github.com/ms-iot/iot-core-azure-dm-client/blob/master/docs/azure-dm-certification.md) Client. -2. Send the logfiles as part of your submission - - -## 3.3 Security (Optional) -*Total number of Levels : 4* - - **Note:** Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. - -#### 3.3.1 Device Security.Level1 - -**Description:** - -Device is certified as Level 1 , if device has custom implementation of security protocols other than use of Azure IoT Device SDK. - -**Details of the requirement:** - -- Minimum security level -- IoT Edge devices without usage of Azure IoT Device SDK -- There is no test step for this requirement. Edge Runtime and connectivity to IoT Hub automatically make devices eligible for this level - -#### 3.3.2 Device Security.Level2 - -**Description:** - -Device is certified as Level 2 , if device can use Azure IoT Device SDKs to implement device security protocols. - -**Details of the requirement:** - -- Validates the usage of Azure IoT Device SDK - -#### 3.3.3 Device Security.Level 3 - -**Description:** - - Device is certified as Level 3 , if device use hardware secure modules for security hardening. Its validated through security certifications. - -**Details of the requirement:** - -This level require below Security certification requirement : - -- FIPS 140-2 Level 2 or higher -- Common Criteria EAL 3+ - -#### 3.3.4 Device Security.Level 4 - -**Description:** - - Device is certified as Level 4 , if device use hardware secure modules for security hardening. Its validated through security certifications. - -**Details of the requirement:** - -This level require below Security certification requirement : - -- FIPS 140-2 Level 3 or higher -- Common Criteria EAL 4+ - - -# Step 4: Package and Share - -## 4.1 Package build logs and Device in original box -Package following artifacts from your device: - -1. Log files as stated in Device management manual test. -2. Device with IoT Azure Runtime installed and shipped to Microsoft for further validation - - -## 4.2 Share package with Microsoft Azure IoT team - -1. Go to [Partner Dashboard](https://catalog.azureiotsolutions.com/devices) -2. Click on Upload icon at top-right corner of device. - - ![Share\_Results\_upload\_icon](images/4_2_01.png) - -3. This will open an upload dialog. Browse your file(s) by clicking Upload button. - - ![Share\_Results\_upload\_dialog](images/4_2_02.png) - - You can upload multiple files for same device. - -4. Once you have uploaded all the files, click on **Submit for Review** button. - - ***Note:*** *Please contact iotcert team to change/remove the files once you submit them for review.* - - -## 4.3 Next steps - -Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. - - -# Step 5: Troubleshooting - -Please contact engineering support on for help with troubleshooting. +How to certify IoT Edge devices running Windows +=== +--- + +# Table of Contents + +- [Introduction](#Introduction) +- [Step 1: Configure Azure IoT Edge](#Step-1-Configure) +- [Step 2: Register Device](#Step-2-Register) +- [Step 3: Manual Test for Azure IoT Edge on device](#Step-3-Manual) + - [3.1 IoT Edge Runtime](#Step-3-1-IoTEdgeRunTime) + - [3.2 Device Management](#Step-3-2-DeviceManagement) + - [3.3 Security ](#Step-3-3-Security) +- [Step 4: Package and Share](#Step-4-Package_Share) + - [4.1 Package build logs and Device in original box](#Step-4-1-Package-build) + - [4.2 Share package with Microsoft Azure IoT team](#Step-4-2-Share-Package) + - [4.3 Next steps](#Step-4-3-Next-Step) +- [Step 5: Troubleshooting](#Step-5-Troubleshooting) + + +# Introduction + +**About this document** + +This document provides step-by-step guidance to IoT hardware publishers on how to certify an IoT Edge enabled hardware with Azure IoT SDK. This multi-step process includes: + +- Configuring Azure IoT Edge +- Registering your IoT Edge device +- Manual Test for Azure IoT Edge on device +- Packaging and sharing the logs + +**Prepare:** + +Before executing any of the steps below, read through each steps to ensure end to end understanding. + +You should have the following items ready before beginning the process: + +- Computer with GitHub installed and access to the [azure-iot-sdk](https://github.com/Azure/azure-iot-sdks) GitHub public repository. +- Install [Visual Studio 2017](https://visualstudio.microsoft.com/downloads/) and necessary packages as stated in [System requirement](https://github.com/ms-iot/iot-core-azure-dm-client). You can install any edition of Visual Studio, including the free Community edition. + +Note: If you haven't contacted Microsoft about being an Azure Certified for IoT partner, please submit this [form](https://catalog.azureiotsolutions.com/) first to request it and then follow these instructions. + + +# Step 1: Sign Up To Azure IoT Hub + +[Sign up](https://account.windowsazure.com/signup?offer=ms-azr-0044p) to the Azure IoT Hub service and follow the instructions mentioned [here](https://docs.microsoft.com/en-us/azure/iot-edge/quickstart). As part of the sign up process, you will receive the connection string. + +- **IoT Hub Connection String**: An example of IoT hub Connection String is as below: + + HostName=[YourIoTHubName];SharedAccessKeyName=[YourAccessKeyName];SharedAccessKey=[YourAccessKey] + + +# Step 2: Register Device + +In this section, you will register your Edge device using DeviceExplorer. The DeviceExplorer is a Windows application that interfaces with Azure IoT Hub and can perform the following operations: + +- Device management + - Create new devices + - List existing devices and expose device properties stored on Device Hub + - Provides ability to update device keys + - Provides ability to delete a device +- Monitoring events from your device +- Sending messages to your device + +To run DeviceExplorer tool, use following configuration string as described in +[Step1](#Step-1-Configure): + +- IoT Hub Connection String + +**Steps:** +1. Click [here]() to download and install DeviceExplorer. + +2. Add connection information under the Configuration tab and click the **Update** button. + +3. Create and register the device with your IoT Hub using instructions as below. + + a. Click the **Management** tab. + + b. Your registered devices will be displayed in the list. In case your device is not there in the list, click **Refresh** button. If this is your first time, then you shouldn't retrieve anything. + + c. Click **Create** button to create a device ID and key. + + d. Once created successfully, device will be listed in DeviceExplorer. + + e. Right click the device and from context menu select "**Copy connection + string for selected device**". + + f. Save this information in Notepad. You will need this information in + later steps. + +***Not running Windows on your PC?*** - Please follow the instructions [here]() to provision your device and get its credentials. + +# Step 3: Manual Test for Azure IoT Edge on device + +This section walks you through the test to be performed on the Edge devices running the Windows operating system such that it can qualify for Azure IoT Edge certification + + +## 3.1 Edge RuntimeEnabled (Mandatory) + +*Total number of Level : 1* + +**Description:** A device which includes the Azure IoT Edge runtime and dependencies.Download the Azure IoT Edge Runtime from the following path: + +Install runtime from the [link](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/how-to-install-iot-edge-windows.md). + +**Details of the requirement:** + +The following components come pre-installed or at the point of distribution on the device to customer(s): + +- Azure IoT Edge Security Daemon +- Daemon configuration file +- Moby container management system +- A version of `hsmlib` + +The IoT Edge runtime becomes functional at boot via DPS integration or by the user entering device credentials into the **config** file. + +**Test steps:** + +- Company must send the edge device to Microsoft for additional validation. We will send detail instructions and information we need when the company submit the device for Azure IoT edge certification. + - Note: Certified for Windows Server 2019 devices are exempt from sending the device to Microsoft for additional validation. Microsoft reserves the right to remove devices from the Azure IoT Device Catalog if the Windows Server 2019 device is not in compliance with the Azure IoT Edge certification program requirements. See [the program agreement](https://catalogstorageprod.blob.core.windows.net/devicecatalogimageserver/Program%20Agreement.pdf) in details. +- Company needs to ensure sure that the edge device comes both Azure IoT Edge Security daemon and Moby container management system pre-installed + - Microsoft will check that the edge device comes with Azure IoT Edge Security Daemon + - Microsoft will check that the edge device comes with Moby container management system +- Company needs to provide Microsoft the instruction on how to connect to IoT Hub via email + - Config file to connect + - How the device is provisioned + - Other important information +- Please allow some time to process and complete the certification process. Microsoft will ship back the edge device upon approval. + + +## 3.2 Device Management (Optional) +*Total number of Level : 1* + +**Pre-requisites:** Device Connectivity. + +**Description:** A device that can perform basic device management operations triggered by messages from IoT Hub. + +**Details of the requirement:** + +The device must have components that are capable of the following: + +1. Supports the use of device twins to trigger a firmware or operating system update and to report status including error messages or details +2. Supports the use of direct methods to trigger a reboot and uses device twin to report last boot time. + +The component may come pre-installed or at the point of distribution to the customer.. + +**Manual test:** + +The following test will validate that the Windows IoT Core device management client in installed and set to run as service + +1. Follow the steps for running the Azure certification steps for the Windows IoT [Device Management](https://github.com/ms-iot/iot-core-azure-dm-client/blob/master/docs/azure-dm-certification.md) Client. +2. Send the logfiles as part of your submission + + +## 3.3 Security (Optional) +*Total number of Levels : 4* + + **Note:** Microsoft is working on to define validation process for security requirement including exploration of leveraging 3rd party validation labs. + +#### 3.3.1 Device Security.Level1 + +**Description:** + +Device is certified as Level 1 , if device has custom implementation of security protocols other than use of Azure IoT Device SDK. + +**Details of the requirement:** + +- Minimum security level +- IoT Edge devices without usage of Azure IoT Device SDK +- There is no test step for this requirement. Edge Runtime and connectivity to IoT Hub automatically make devices eligible for this level + +#### 3.3.2 Device Security.Level2 + +**Description:** + +Device is certified as Level 2 , if device can use Azure IoT Device SDKs to implement device security protocols. + +**Details of the requirement:** + +- Validates the usage of Azure IoT Device SDK + +#### 3.3.3 Device Security.Level 3 + +**Description:** + + Device is certified as Level 3 , if device use hardware secure modules for security hardening. Its validated through security certifications. + +**Details of the requirement:** + +This level require below Security certification requirement : + +- FIPS 140-2 Level 2 or higher +- Common Criteria EAL 3+ + +#### 3.3.4 Device Security.Level 4 + +**Description:** + + Device is certified as Level 4 , if device use hardware secure modules for security hardening. Its validated through security certifications. + +**Details of the requirement:** + +This level require below Security certification requirement : + +- FIPS 140-2 Level 3 or higher +- Common Criteria EAL 4+ + + +# Step 4: Package and Share + +## 4.1 Package build logs and Device in original box +Package following artifacts from your device: + +1. Log files as stated in Device management manual test. +2. Device with IoT Azure Runtime installed and shipped to Microsoft for further validation + + +## 4.2 Share package with Microsoft Azure IoT team + +1. Go to [Partner Dashboard](https://catalog.azureiotsolutions.com/devices) +2. Click on Upload icon at top-right corner of device. + + ![Share\_Results\_upload\_icon](images/4_2_01.png) + +3. This will open an upload dialog. Browse your file(s) by clicking Upload button. + + ![Share\_Results\_upload\_dialog](images/4_2_02.png) + + You can upload multiple files for same device. + +4. Once you have uploaded all the files, click on **Submit for Review** button. + + ***Note:*** *Please contact iotcert team to change/remove the files once you submit them for review.* + + +## 4.3 Next steps + +Once you shared the documents with us, we will contact you in the following 48 to 72 business hours with next steps. + + +# Step 5: Troubleshooting + +Please contact engineering support on for help with troubleshooting. diff --git a/iotcertification/iotedge/iotedge_getstarted.md b/iotcertification/IoT_Edge_Certification_Instructions/iotedge_getstarted.md similarity index 100% rename from iotcertification/iotedge/iotedge_getstarted.md rename to iotcertification/IoT_Edge_Certification_Instructions/iotedge_getstarted.md