산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

MKR OTA + Goodies 프로그램:음성 제어 등

구성품 및 소모품

Arduino MKR1000
모든 OTA 프로젝트에 필요합니다. 아래 구성 요소는 사용 사례/샘플인 실내 온도 조절기에만 필요합니다.
× 1
DHT11 온도 및 습도 센서(4핀)
× 1
릴레이(일반)
× 1
브레드보드(일반)
× 1

앱 및 온라인 서비스

Arduino IDE
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Visual Studio 2015
UWP(유니버설 Windows 플랫폼) 사용
Microsoft Azure
Microsoft Project Oxford(음성 인식 API)

이 프로젝트 정보

개요

우리의 기여는 두 부분으로 구성되어 있습니다.

1부: 재사용 가능한 구성요소 모음. 유용한 기능을 활용하는 다양한 IoT 프로젝트를 구축하기 위한 프레임워크 역할을 할 수 있습니다.

<울>
  • 무선(OTA) 프로그래밍 Arduino MKR1000(즉, 컴파일된 바이너리 코드 업로드). 여러 가지 방법을 사용할 수 있습니다. LAN 내에서 또는 인터넷에서 Microsoft Azure IoT Hub를 통해 안전하게
  • 유니버설 Windows 플랫폼(UWP) 클라이언트 앱 , 멋진 사용자 인터페이스와 함께. Azure IoT Hub를 통해 보드와 안전하게 통신합니다.
  • 음성 인식 (클라이언트 앱에서) Microsoft Project Oxford에서 제공하는 음성 인식 API를 통해. 음성 명령을 사용하여 Azure IoT Hub를 통해 보드를 제어할 수 있습니다.
  • 파트 2: 전화(UWP 앱)를 통해 제어되는 실내 온도 조절기 위의 구성요소로 구축된 사용 사례/샘플. 우리는 구성 요소를 사용하는 방법의 예를 제공하기 위해 구축했습니다. 그리고 더 나아가 사무실에 설치했으며 이 라인을 작성하는 동안 사무실 난방 시스템은 바로 이 프로젝트에 의해 제어됩니다.

    1부:OTA를 위한 재사용 가능한 구성요소

    OTA 작동 원리

    다음 구성 요소를 개발했습니다.

    Arduino IDE의 경우:

    <울>
  • 런타임 라이브러리 . 펌웨어 업로드 및 복사 메커니즘을 처리합니다.
  • 맞춤 "보드" 패키지 . 라이브러리에 필요한 몇 가지 링커 관련 설정이 있습니다.
  • Arduino IDE 플러그인 . 다운로드 신호와 컴파일된 바이너리 스케치(펌웨어라고도 함)를 보냅니다. 보드, Azure IoT Hub, IoT 디스패처 서버 앱(아래 참조)과 통신합니다.
  • 타사 서버(예:Microsoft Azure 웹 사이트)에 설치:

    <울>
  • IoT 디스패처 , 펌웨어를 저장하고 제공하는 PHP + MySQL 애플리케이션.
  • UWP 앱 작동 원리

    우리는 다음을 개발했습니다:

    <울>
  • C#으로 작성된 UWP 클라이언트 앱. Azure IoT Hub를 통해 보드와 통신하고 Microsoft Project Oxford를 통해 음성 명령을 인식합니다. 다양한 프로젝트의 출발점으로 사용할 수 있습니다.
  • 오타 데모

    파트 2:사용 사례 / 샘플:실내 온도 조절기

    앞에서 언급했듯이 우리는 실제 프로젝트를 구축하기 위해 구성 요소를 결합하는 방법을 보여주기 위해 실내 온도 조절기를 개발했습니다. 우리의 경우 사무실 난방을 제어하기 위해 생산에 투입하기도 했습니다.

    논리는 간단합니다.

    <울>
  • 온도가 설정 온도 이하로 떨어지면 => 릴레이(예:가열)가 켜집니다.
  • 온도가 설정 온도 이상일 때 => 릴레이/히팅이 꺼집니다
  • 사용자 인터페이스/UWP 클라이언트:상태 표시 및 사전 설정 온도 설정(텍스트 상자 또는 음성 사용)
  • 1. 프로젝트 만들기(하드웨어)

    Beta MKR1000을 사용하므로 Fritzing 다이어그램을 제공하지 않습니다. 핀 레이아웃은 향후 변경될 수 있습니다.

    2. OTA 및 Azure IoT Hub용 개발 환경 설정

    <울>
  • Arduino IDE 버전 1.6.7 이상 설치
  • Arduino SAMD 보드를 설치합니다. Arduino IDE에서:도구> 보드:...> 보드 관리자 ...> "Arduino SAMD 보드" 선택
  • 다음 위치에서 일부 라이브러리 다운로드 및 압축 해제:SKETCHBOOK_DIR(예:Documents/Arduino)/libraries :WiFi101, AzureIoT, RTCZero.
  • 이제 우리의 구성 요소:

    <울>
  • OTA 런타임 라이브러리 다운로드 및 압축 풀기 in:SKETCHBOOK_DIR(예:Documents/Arduino)/libraries.
  • 맞춤 "보드" 패키지 다운로드 . 디렉토리 생성:SKETCHBOOK_DIR(예:Documents/Arduino)/hardware/flower-platform . 여기에서 다운로드한 파일의 압축을 풉니다.
  • Arduino IDE 플러그인 다운로드 . 디렉토리 생성:SKETCHBOOK_DIR(예:Documents/Arduino)/tools. 여기에서 다운로드한 파일의 압축을 풉니다.
  • 인터넷/HTTPS를 통한 보안 OTA:

    <울>
  • IoT Dispatcher 다운로드 PHP + MySQL 서버에 설치합니다. 예를 들어 Microsoft Azure 클라우드에 배포하는 방법에 대한 지침이 있습니다.
  • 3. OTA 시승

    OTA 업로드 방법은 3가지가 있습니다.

    1) LAN을 통해 OTA 시도: 파일> 예제> Arduino-FlowerOTA> WiFiOTA . "// CHANGE ME"로 주석 처리된 줄 변경 따라서 IP 주소, WiFi 매개변수, plain/ssl, 서버 서명을 구성하기 위해. 그런 다음 Flower Platform> OTA 업로드 ...

    다음을 사용해야 합니다.

    WiFiClient 클라이언트, 

    (팝업 창의 "서버 서명" 참조).

    ota.begin(&udp, &client, "1hvtdliHzKLjMykvfW1MfPwsFthUU/YfjN8fOZJ3Qhc="); 

    참고 :3가지 방법 모두 USB를 통한 초기 업로드가 필요합니다. 그 후에는 선택한 방법으로 OTA를 계속 사용할 수 있습니다.

    2) 보안 디스패처를 통해 OTA 시도 , 동일한 파일 사용:

    다음을 사용해야 합니다.

    WiFiSSLClient 클라이언트, 

    그리고

    ota.begin(&udp, &client, "my-iot-dispatcher-upload-key"); // 참조. IoT Dispatcher(PHP) 내에서 구성 

    3) 보안 디스패처 + Azure IoT Hub를 통해 OTA 사용해 보기 . 파일> 예제> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. 다시:"// CHANGE ME로 주석 처리된 줄을 조정하는 것을 잊지 마십시오. ".

    4) 사용 사례/샘플:실내 온도 조절기를 사용해 보세요. 여기에서 구할 수 있습니다.

    4. 사용자 인터페이스 테스트 드라이브(UWP 앱 w/ Azure IoT Hub 및 음성 인식)

    UWP 프로젝트는 여기에서 사용할 수 있습니다. Visual Studio 2015 및 Windows 10이 필요합니다.

    연결 매개변수를 변경했는지 확인하십시오(참조). 귀하의 Azure 계정:

    SendCloudToDevice.cs

     class SendCloudToDevice { // 변경:아래 상수를 실제 값(Azure Portal에서 가져옴)으로 바꾸십시오. private const string HOST ="???.azure-devices.net"; 개인 const 문자열 DEVICE_ID ="???"; 개인 const 문자열 DEVICE_KEY ="???"; 정적 문자열 sharedAccessKeyName ="???"; 정적 문자열 sharedAccessKey ="???"; 

    ReadDeviceToCloud.cs

     class ReadDeviceToCloud { // 아래 상수를 실제 값(Azure Portal에서 가져옴)으로 바꾸십시오. private static string ConnectionString ="???"; 개인 정적 문자열 eventHubEntity ="???"; 

    이 코드는 다양한 프로젝트를 위한 클라이언트 앱의 시작점 역할을 할 수 있습니다. 프로젝트에 따라 사용자 인터페이스만 조정하면 됩니다.

    향후 단계

    합리적인 처리 능력과 SSL 통신 기능을 갖춘 Arduino MKR1000과 같은 보드는 제조업체 커뮤니티에 큰 발전을 의미합니다.

    IoT 프로젝트를 엄청나게 가속화할 온라인 서비스인 Flower Platform IoT를 개발하기 위해 이 프로젝트에서 시작된 작업을 계속하고 있습니다.

    <울>
  • 개발:OOP 구성요소 및 그래픽 프로그래밍 언어(손으로 작성한 코드와 혼합 가능) 사용
  • 배포:OTA 사용.
  • 플라워 플랫폼을 활용하여 어린 아이들에게 IoT 프로젝트를 만들고 프로그래밍하는 방법을 가르치는 데 중점을 둘 기반을 만들 계획입니다.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    펌웨어 업로드 및 복사 메커니즘을 처리하는 런타임 라이브러리(C++)
    https://github.com/flower-platform/Arduino-FlowerOTA
    라이브러리에 필요한 몇 가지 링커 관련 설정이 있는 사용자 지정 "보드" 패키지(링커 스크립트)
    https://github.com/flower-platform/ArduinoCore-samd-OTA
    Arduino IDE 플러그인. 보드, 디스패처 및 IoT Hub(자바)와 통신
    https://github.com/flower-platform/flower-platform-arduino-ide-plugin
    IoT 디스패처. OTA(PHP + MySQL) 중에 필요한 펌웨어를 저장하고 제공합니다.
    https://github.com/flower-platform/flower-platform-iot-dispatcher
    실내 온도 조절기 사용 사례/샘플(C++)
    https://github.com/flower-platform/ThermostatIoT
    UWP 클라이언트, 실내 온도 조절기 사용 사례/샘플(C#, HTML, JavaScript)
    https://github.com/flower-platform/thermostat-uwp-ui

    회로도

    Beta MKR1000을 사용하므로 Fritzing 다이어그램을 제공하지 않습니다. 핀 레이아웃은 향후 변경될 수 있습니다.

    제조공정

    1. Microsoft 공인 Azure 관리자가 되려면 어떻게 해야 합니까?
    2. 직업 선택으로서 하늘빛이 얼마나 좋은지
    3. Microsoft Azure' 블록체인 토큰 및 데이터 관리 서비스
    4. Microsoft Azure 치트 시트 2020
    5. Azure를 Power BI에 연결:종합 가이드
    6. 피임약
    7. 음성 제어의 알고리즘 및 하드웨어 성능 향상
    8. 수영장 채우기 제어
    9. Microsoft, 5G 애플리케이션을 위한 Azure Edge Zone 출시
    10. 클라우드 제어 플랫폼을 통한 Emerson의 지속 가능성 추진