Wio Node를 Arduino로 사용할 때의 메모

MobileHackerz의 miro가 Wio Node 편리하다고 말했습니다. 생각했기 때문에 시험에 사용해 보았을 때의 메모.

Wio Node란?



Wio Node은 Seeed Studio의 Grove 시스템을 지원하는 WiFi 모듈입니다. 배터리의 충전 회로까지 탑재하고 있으므로 연결하는 것만으로 간단하게 배터리 구동도 할 수 있습니다(대단한).
  • 아키즈키 1100엔 htp // 아키즈키덴시. 코 m/분 g/g/gM-10631/
  • 아마존 (스위치 과학) 1231 엔 htps //w w. 아마존. 이. jp/dp/B01HT253 4

  • 이번에는, Wio Node다운 사용법은 하지 않기 때문에 Wio Node 자체의 설명은 생략합니다.

    Grove 시스템은 시리얼의 커넥터에 센서등의 모듈을 접속하는 것만으로 간단하게 사용할 수 있는 편리한 시리즈입니다만, 다양한 모듈이나 킷을 간편하게 입수할 수 있으므로, Grove 시스템에 흥미가 없는 경우도 알아 두어 손해 아니야.

    Wio Node를 Arduino로 사용



    Wio Node의 WiFi는 저렴하고 기술 적당하고 Arduino IDE도 사용할 수있는 것으로 유명한 ESP-WROOM-02를 사용하고 있습니다. 즉, 펌웨어를 다시 쓰면 Arduino로 사용할 수 있습니다.

    쓰기



    사전에 Arduino의 개발 환경과 ESP-WROOM-02를 Arduino로 사용하기위한 환경을 정돈해 둡니다.
  • Arduino IDE + ESP-WROOM-02에서 L 치카 ぃ tp // 이 m/hw/이고 ms/df6f62584909f426df55

  • 우선, Wio Node의 PORT0에 시리얼로 PC와 접속합니다(TX, RX, GND를 연결한다). 적당한 커넥터가 없었기 때문에 2mm 피치의 핀 소켓으로 대용했습니다. 전원은 통신용의 커넥터로부터는 잡히지 않으므로 별도 USB등으로 공급할 필요가 있습니다.



    FUNC 버튼을 누른 상태에서 리셋하면 쓰기 모드가됩니다. 다음 페이지를 참고했습니다.
  • htp : //에서 v- 콩나물. 하테나 bぉg. 코m/엔트리/2016/09/08/185933
  • htp : // bg.もびぇ c r ... jp / 2016 / 09 / pc ぁ을 l. HTML

  • 펌웨어는 OSS로 개발되었기 때문에 원래 상태로 되돌릴 수도 있습니다 (시도하지 않음)
  • htps : // 기주 b. 코 m / 세에 d-S Tsuo / U U O - K / U U / / D d U Sen d % 20 우세 r % 20

  • IO 핀 등



    회로도도 공개되어 있으므로 어디에 무엇이 연결되어 있는지 확인했습니다.



    Arduino의 스케치에는 다음과 같이 쓰면 좋을 것 같습니다.
    const uint8_t PORT0A = 1;
    const uint8_t PORT0B = 3;
    const uint8_t PORT1A = 4;
    const uint8_t PORT1B = 5;
    const uint8_t PORT_POWER = 15; // (common with RED_LED)
    
    const uint8_t FUNC_BTN = 0;
    const uint8_t BLUE_LED = 2;
    const uint8_t RED_LED = PORT_POWER;
    
    const uint8_t UART_TX = PORT0A;
    const uint8_t UART_RX = PORT0B;
    const uint8_t I2C_SDA = PORT1A;
    const uint8_t I2C_SCL = PORT1B;
    
  • 자유롭게 사용할 수 있는 GPIO는 4개(IO1,3,4,5)
  • ※ PORT_POWER (IO15)를 HIGH로하지 않으면 Grove 커넥터의 포트에 전원 3.3V가 공급되지 않는다
  • 적색 LED는 PORT_POWER로 연결되어 있으므로 커넥터에 전원 공급이 필요한 경우 단독으로 ON/OFF는 할 수 없다(덧붙여 녹색 LED는 전원 상태를 나타내므로 제어할 수 없다)
  • I2C도 Wire 라이브러리에서 쉽게 사용할 수 있습니다

  • 예를 들어 Wio Node의 PORT0을 UART, PORT1을 I2C로 사용하는 경우 setup 함수는 다음과 같습니다.
    #include <Wire.h>
    void setup() {
      pinMode(FUNC_BTN, INPUT);
      pinMode(BLUE_LED, OUTPUT);
      pinMode(PORT_POWER, OUTPUT);
      digitalWrite(PORT_POWER, HIGH);
      Serial.begin(115200);
      Wire.begin(I2C_SDA,I2C_SCL);
      // ...
    }
    

    다양한



    HDC1000 (I2C로 연결되는 온도/습도 센서)을 사용하여 온도와 습도를 정기적으로 서버에 전송하도록했습니다.
    (BME280을 사용하면 Arduino로 사용하지 않아도 표준으로 대응하고 있던 것은 나중에 깨달았지만 ...)
  • HDC1000 htp // 아키즈키덴시. 코 m/분 g/g/gM-08775/
  • BME280 htp // 아키즈키덴시. 코 m/타타 g/g/gK-09421/

  • Wio Node는 밖에 나와 있는 IO핀이 적기 때문에 조금 부족한 생각도 했습니다만, 컴팩트하고 전원 주위의 회로도 붙어 있어 편해서, 다음부터는 적극적으로 이쪽을 사용하려고 생각했습니다.

    좋은 웹페이지 즐겨찾기